Más contenido relacionado
La actualidad más candente (20)
2
- 6. วงจรชีวิตแบบน้าตก(Waterfall life cycle model)
กำรกำหนดควำมต้องกำร
กำรวิเครำะห์
กำรสร้ำง
กำรทดสอบ
กำรนำไปใช้
กำรบำรุงรักษำ
กำรออกแบบ
➢ เป็นวงจรชีวิตที่สร้างขึ้น ในปี 1970 โดย Winston W.
Royce
➢ เป็นรูปแบบวงจรชีวิตที่มีขั้นตอนการพัฒนาที่ชัดเจน มี
การออกแบบกระบวนการทางานเป็นลาดับขั้นตอน
➢ การทางานจะทางานทีละขั้นตอน แต่ละขั้นตอนต้อง
ดาเนินการให้เสร็จก่อนจึงจะทาขั้นตอนต่อไปได้
➢ แต่ละขั้นตอนจะมีการทาเอกสารประกอบ
➢ ข้อเสียคือ ผู้ใช้จะไม่เห็นผลลัพธ์หรือตัวซอฟต์แวร์
จนกว่าจะส่งมอบ ซึ่งอาจต้องใช้เวลานาน และหากไม่
เป็นไปตามความต้องการ อาจเสียเวลาและค่าใช้จ่าย
ในการแก้ไขมากขึ้น
- 7. วงจรชีวิตแบบเพิ่ม (Incremental life cycle model)
วิเครำะห์ ออกแบบ สร้ำง ทดสอบ
งำนส่วนที่ 1
ส่งมอบส่วนที่ 1
วิเครำะห์ ออกแบบ สร้ำง ทดสอบ
วิเครำะห์ ออกแบบ สร้ำง ทดสอบ
วิเครำะห์ ออกแบบ สร้ำง ทดสอบ
งำนส่วนที่ 2 ส่งมอบส่วนที่ 2
งำนส่วนที่ 3
งำนส่วนที่ 4
ส่งมอบส่วนที่ 3
ส่งมอบส่วนที่ 4
ระยะเวลำ
➢ เน้นการพัฒนาทีละส่วน โดยแต่ละ
ส่วนประกอบด้วยขั้นตอนหลัก ได้แก่
การวิเคราะห์ การออกแบบ การสร้าง
หรือเขียนโปรแกรม และการทดสอบ
➢ มีการส่งมอบงานทีละส่วนแล้วค่อย ๆ
เพิ่มความสามารถของระบบเข้าไปเรื่อย
ๆ จนได้ระบบที่มีความสมบูรณ์
➢ ข้อดี คือ สามารถส่งมอบงานได้เร็ว ตรง
ตามความต้องการของลูกค้า การที่
ลูกค้าค่อย ๆ ได้รับผลงาน จะเป็นการ
สร้างความคุ้นเคยกับงานมากขึ้น
➢ นอกจากนี้การแบ่งงานออกเป็นส่วน ๆ
จะสามารถหยุดได้โดยไม่มีผลกระทบอื่น
- 8. วงจรชีวิตแบบก้นหอย(Spiral life cycle model)
➢พัฒนาโดย Barry Boehm
➢วงจรชีวิตรูปแบบนี้พัฒนามาจากวงจรชีวิตแบบน้าตก
➢วงจรชีวิตจะเป็นการทางานแบบซ้า ๆ หรือก้นหอย โดยแต่
ละงานจะประกอบด้วยการวางแผน การวิเคราะห์ การ
จัดการความเสี่ยงและการพัฒนางาน
➢เหมาะกับการพัฒนาซอฟต์แวร์ที่มีขนาดใหญ่
➢มีการวิเคราะห์ความเสี่ยงทุกขั้นตอน
- 9. วงจรชีวิตแบบต้นแบบ(Prototyping life cycle model)
กำรกำหนดควำมต้องกำร
กำรออกแบบอย่ำงเร็ว
ผู้ใช้ประเมินต้นแบบ
ปรับปรุงตำม
คำแนะนำของผู้ใช้
ออกแบบ
กำรบำรุงรักษำ
กำรสร้ำงต้นแบบ
สร้ำง
ทดสอบ
ยอมรับ
กำรพัฒนำต้นแบบ
➢เป็นการพัฒนาโดยใช้ต้นแบบเพื่อ
หาความต้องการของผู้ใช้ที่ชัดเจน
➢ข้อดี คือ ผู้ใช้จะเห็นผลลัพธ์ที่
ต้องการเร็ว
➢เป็นวิธีการในการหาความ
ต้องการที่ดีที่สุด
➢ ข้อเสียคือ ต้องมีการพัฒนา
ต้นแบบ ซึ่งอาจจะใช้เวลานาน
- 11. วงจรชีวิตการพัฒนาระบบงานแบบรวดเร็ว (Rapid application
development (RAD) life cycle model)
วำงแผน
ประสำนงำน ออกแบบโมดูลงำน
ทีมที่ n
ทีมที่ 1
ทีมที่ 2
สร้ำงและทดสอบ
สร้ำงและทดสอบ
สร้ำงและทดสอบ
รวมระบบและ
ส่งมอบออกแบบโมดูลงำน
ออกแบบโมดูลงำน
60-90วัน
➢เป็นวงจรการพัฒนาระบบแบบค่อยเพิ่มขึ้น
➢เน้นวงจรพัฒนาสั้นๆ
➢มีการแบ่งงานเป็นโมดูล แต่ละโมดูลจะใช้
เวลาภายในประมาณ 2-3 เดือน
➢มีกิจกรรมการสื่อสารเพื่อให้เข้าใจปัญหา มี
การวางแผน มีทีมงานหลายทีมงานที่จะทา
การพัฒนาในแต่ละโมดูล เสร็จแล้วจึงนามา
รวมกัน
➢ข้อดี คือ ความรวดเร็วในการพัฒนา
➢ข้อเสีย คือ จาเป็นต้องใช้ทรัพยากรบุคคลมาก
นอกจากนี้ระบบที่ไม่สามารถแบ่งโมดูลได้จะ
มีปัญหาในการสร้างคอมโพเนนท์ที่จะใช้
- 13. ➢นอกจากนี้ยังมีมาตรฐาน ISO / IEC 29110 หรือ มาตรฐานวิศวกรรมซอฟต์แวร์สาหรับองค์กรขนาดกลางและเล็ก
(Software life cycle profiles and guidelines for very small entities (VSEs)
standards)
➢มุ่งเน้นให้การรับรองคุณภาพการบริหารงานหรือผลิตภัณฑ์ซอฟต์แวร์ให้แก่หน่วยงานหรือผู้ประกอบการที่มีขนาดเล็กโดยมี
ผู้ร่วมงานไม่เกิน 25 คน
➢ประยุกต์มาจากมาตรฐาน ISO / IEC 12207 ซึ่งเป็นมาตรฐานซอฟต์แวร์ระดับสากลที่เหมาะกับการปฏิบัติงานของ
องค์กรขนาดใหญ่
➢พัฒนาขึ้นมาเพื่อสนับสนุนองค์กรขนาดเล็กให้มีโอกาสในการปรับปรุงกระบวนการและรับรองคุณภาพในระดับสากล
➢ตัวมาตรฐานได้ถูกกาหนดมาเพื่อสร้างบทบาทควบคุมคุณภาพกระบวนการผลิตซอฟต์แวร์ทั้งทางด้านการบริหารงานและ
ทางด้านเทคนิคให้กับผู้ประกอบการขนาดเล็ก
➢เป็นมาตรฐานที่สามารถลดต้นทุนในการบริหารและจัดการกระบวนการควบคุมคุณภาพการผลิตที่ยังไม่สูงมากเมื่อ
เปรียบเทียบกับมาตรฐานอื่น
➢ให้ความสาคัญในกระบวนการที่ต้องการปรับให้เป็นระบบสากล 2 กระบวนการหลัก คือ กระบวนการด้านการบริหาร
โครงการและกระบวนการด้านการสร้างซอฟต์แวร์
- 14. การพัฒนาซอฟต์แวร์แบบอาไจล
➢อาไจล (Agile) เป็นเทคนิคหนึ่งที่ช่วยในการพัฒนาซอฟต์แวร์แบบใหม่
➢เหมาะกับระบบงานที่ต้องการความรวดเร็ว มีการเตรียมความพร้อมเพื่อตอบสนองต่อความเปลี่ยนแปลง
ที่อาจเกิดขึ้นได้ โดยเฉพาะการเปลี่ยนแปลงความต้องการของผู้ใช้
➢การพัฒนาซอฟต์แวร์ภายใต้รูปแบบกระบวนการพัฒนาแบบเดิมที่มีขั้นตอนการพัฒนาที่ชัดเจน เช่น
รูปแบบการพัฒนาแบบน้าตก รูปแบบการพัฒนาโดยการสร้างต้นแบบ ยังไม่สามารถดาเนินการโครงการ
ซอฟต์แวร์ให้สาเร็จสมบูรณ์ตามระยะเวลาได้
➢ ในปี ค.ศ. 1990 นักพัฒนาซอฟต์แวร์จึงคิดค้นวิธีการพัฒนาซอฟต์แวร์แบบใหม่ที่มีอิสระและมีความ
คล่องตัวในการทางานสูง วิธีการนี้เรียกว่า “Agile method” ซึ่งมีรายละเอียดที่จะกล่าวถึงดังนี้
- 16. หลักการพัฒนาซอฟต์แวร์แบบอาไจล(กฎ12ข้อของอาไจล)
1. มุ่งสร้างความพึงพอใจให้กับลูกค้า โดยการส่งมอบซอฟต์แวร์ให้ลูกค้าอย่างต่อเนื่อง
2. ยอมรับการเปลี่ยนแปลงที่เกิดขึ้นจากความต้องการของลูกค้าที่เปลี่ยนไป ถึงแม้ว่าโครงการได้ดาเนินการมามากแล้ว แต่อาไจล
จะยอมรับการเปลี่ยนแปลงเพื่อประโยชน์ของลูกค้า
3. ส่งมอบงานที่ใช้ได้จริงบ่อยๆ ตั้งแต่ทุก 2 สัปดาห์ ถึง ทุก 2 เดือน
4. นักธุรกิจและนักพัฒนาจะทางานร่วมกันทุกวันตลอดโครงการ
5. สร้างแรงจูงใจให้ทีมงาน สร้างความเชื่อมั่นว่าทีมงานจะทางานได้สาเร็จ โดยสร้างสภาพแวดล้อมเพื่อสนับสนุนงานตามที่
ต้องการ
6. วิธีการสื่อสารที่ดีที่สุดคือการสื่อสารแบบซึ่งหน้า หลีกเลี่ยงการสื่อสารวิธีการอื่น เช่น โทรศัพท์ อีเมลล์
7. ซอฟต์แวร์ที่ใช้งานได้จริง จะเป็นตัววัดความก้าวหน้าของโครงการ
8. ผู้สนับสนุน ผู้พัฒนาและผู้ใช้งานจะร่วมกันพัฒนาโครงการอย่างค่อยเป็นค่อยไปเพื่อให้งานมีความก้าวหน้าขึ้นเรื่อยๆ
9. ความสนใจของทีมงานในการติดตามเทคโนโลยีจะช่วยในการนามาปรับใช้ในการออกแบบให้ดียิ่งขึ้น
10.เน้นความเรียบง่าย การลดงานที่ไม่จาเป็นเป็นเรื่องที่สาคัญ
11.สถาปัตยกรรม ความต้องการ การออกแบบ เกิดจากทีมงานบริหารจัดการเอง
12.ทีมงานต้องสะท้อนภาพตัวเองในการทางานเพื่อให้ได้ผลลัพธ์ดีขึ้น รวมทั้งการปรับพฤติกรรมตามสถานการณ์ที่เปลี่ยนแปลงไป
- 17. ➢การพัฒนาซอฟต์แวร์แบบอาไจล
➢จุดเด่น คือ ส่งมอบงานได้เร็ว รองรับการเปลี่ยนแปลงที่อาจเกิดขึ้นได้ตลอดเวลาทาให้
กระบวนการพัฒนามีความยืดหยุ่น ลูกค้ามีความพึงพอใจเพราะได้ผลิตภัณฑ์ที่ตรงตามความต้องการใน
ตลอดทุกขั้นตอนการทางาน
➢ข้อจากัดของการพัฒนาซอฟต์แวร์แบบบอาไจล ซึ่งมีลักษณะวิธีการแบบทาซ้า เช่น ต้องมีการส่งมอบ
งานหลายครั้ง มีการปรับเปลี่ยนตามความต้องการหลายครั้ง อาจทาให้ขอบเขตของโครงการกว้างไม่มีที่
สิ้นสุด นอกจากนี้ทีมงานอาไจลต้องมีทักษะในการปฏิสัมพันธ์ที่ดีเพราะต้องติดต่อกับลูกค้าเสมอ
➢การพัฒนาซอฟต์แวร์แบบอาไจล จะเหมาะสาหรับโครงการที่มีทีมพัฒนาขนาดเล็ก ไม่เกิน 20-40 คน
เพราะหากโครงการมีขนาดใหญ่ มีทีมงานมากจะทาให้ยากในการสื่อสารปฏิสัมพันธ์กัน การพัฒนา
ซอฟต์แวร์แบบอาไจลไม่ได้นามาทดแทนวิธีการแบบเก่า แต่เป็นทางเลือกสาหรับนักพัฒนาระบบ ซึ่งอาจ
ต้องพิจารณาตามความเหมาะสม และสภาพแวดล้อมขององค์กรด้วย
- 19. เอ็กซ์ทรีมโปรแกรมมิ่ง (Extreme programming : XP)
➢เป็นแบบจาลองกระบวนการอาไจลที่ได้รับความนิยม คิดค้นโดย Kent Beck ในปี ค.ศ. 1996
➢เป็นแบบจาลองกระบวนการผลิตซอฟต์แวร์ที่มีการพัฒนาตามรูปแบบการทาซ้าและแบบเพิ่ม (Iteration and
Incremental) โดยพัฒนาแบบทาซ้าและค่อย ๆ เพิ่มทีละส่วนจนได้ซอฟต์แวร์ที่สมบูรณ์และเป็นไปตามความต้องการของลูกค้า
➢มีขั้นตอนการพัฒนา 4 ขั้นตอน ได้แก่
➢การวางแผน ในโครงการพัฒนาซอฟต์แวร์ จะมีการแบ่งงานออกเป็นส่วน ๆ มีการกาหนดการส่งมอบงานทีละส่วน มีการวิเคราะห์และเขียน
รายละเอียดงานตามความต้องการของลูกค้า (User stories) และจัดทาแผนงานในแต่ละส่วนงาน
➢การออกแบบ จะเน้นการออกแบบที่ง่าย ไม่ซับซ้อน ไม่ใส่ฟังก์ชันการทางานที่ยังไม่จาเป็น
➢การเขียนโปรแกรม จะเน้นการเขียนโปรแกรมแบบจับคู่ (Pair programming) เป็นการใช้โปรแกรมเมอร์ 2 คนสลับกันเป็นคนเขียน
โปรแกรมและตรวจสอบโปรแกรม นอกจากนี้จะต้องทาการรวมโค้ดโปรแกรมอย่างสม่าเสมอ
➢การทดสอบ จะทดสอบการทางานทีละส่วน (Unit test) ก่อนส่งมอบงาน และทดสอบระบบโดยผู้ใช้งานจริงเพื่อที่จะดูความสมบูรณ์ของ
ระบบว่าเป็นไปตามที่ผู้ใช้ต้องการหรือไม่ (Acceptance test)
- 21. การพัฒนาซอฟต์แวร์แบบปรับตัว (Adaptive software
development: ASD)
➢เป็นแบบจาลองที่นาเสนอโดย Jim Highsmith
➢เป็นเทคนิคสาหรับการสร้างระบบที่ซับซ้อน เน้นการทางานร่วมกันระหว่างบุคคลและการจัดระเบียบ
ทีมงานด้วยตนเอง มีการแบ่งงานอย่างเป็นระบบและชัดเจน
➢การพัฒนาซอฟต์แวร์รูปแบบนี้มีการทางานหลัก ๆ 3 ส่วน คือ
▪ส่วนของการคาดเดา เป็นส่วนเริ่มต้นโครงการ มีการทาแผนวงจรการปรับตัว
▪ส่วนการร่วมมือ เป็นการกาหนดให้บุคคลมีส่วนร่วมในการทางาน มีการจูงใจให้ทีมงานและผู้เกี่ยวข้อง
ร่วมกันทางานเพื่อสร้างสรรค์ผลงาน
▪ส่วนการเรียนรู้ ทีมงานต้องเรียนรู้ตั้งแต่เริ่มต้นพัฒนาจนกระทั่งเสร็จสิ้นวงจร โดยการเรียนรู้ จะมี 3 วิธี
ได้แก่ การกาหนดกลุ่มเฉพาะ การทบทวนเทคนิคอย่างเป็นทางการ และการตรวจสอบ
- 23. การพัฒนาระบบไม่หยุดนิ่ง (Dynamic system
development method: DSDM)
➢การพัฒนาระบบไม่หยุดนิ่ง (Dynamic system development method : DSDM)
➢เป็นวิธีการพัฒนาซอฟต์แวร์ที่มีการกาหนดกรอบงานในการสร้างและบารุงรักษาระบบ โดยมีข้อจากัดด้านเวลา ใช้การสร้าง
ต้นแบบอย่างค่อยเพิ่มขึ้น
➢การพัฒนารูปแบบนี้จะมีการทาวนซ้า แต่ละรอบของวงจรจะเป็นไปตามกฎร้อยละ 80 คือ ร้อยละ 80 ของแอพลิเคชั่นจะทา
สาเร็จภายในเวลาร้อยละ 20 ของเวลาทั้งหมดที่พัฒนา จะทางานให้เพียงพอในแต่ละรุ่น เพื่อเคลื่อนไปสู่รุ่นต่อไป ส่วน
รายละเอียดที่เหลือสามารถทาให้เสร็จในภายหลังเมื่อรู้ความต้องการเพิ่มเติมหรือได้รับการร้องขอให้เปลี่ยนแปลง
➢กระบวนการพัฒนาเริ่มจากการศึกษาความเป็นไปได้ การศึกษาด้านธุรกิจ การทาวนซ้าแบบจาลองเชิงหน้าที่ ซึ่งเป็นการ
รวบรวมความต้องการของลูกค้าหรือผู้ใช้งานเพิ่มเติมจากการใช้งานต้นแบบ โดยต้นแบบจะค่อย ๆ พัฒนาไปจนสามารถส่ง
มอบได้ นอกจากนี้ยังมีการทาวนซ้าการออกแบบและการสร้างและการนาไปใช้งาน
- 25. สครัม(Scrum)
➢เป็นกระบวนการอาไจลที่พัฒนาโดย Jeff Sutherland ในช่วงต้นทศวรรษที่ 1990 และได้พัฒนาต่อโดย Schwaber และ
Beedle
➢ในการพัฒนาสครัม ผู้ใช้งานระบบจะทางานร่วมกันกับทีมงานอย่างใกล้ชิด
➢ทีมงานจะเป็นกลุ่มบุคคลที่ปฏิบัติงานจริงประมาณ 5-9 คน แต่ละคนสามารถทางานทดแทนกันได้
➢วิธีสครัม จะมีการสร้างแบ็คล็อก (Backlog) ซึ่งเป็นข้อมูลความต้องการของระบบ โดยผู้ใช้จะต้องระบุหน้าที่และจัดลาดับ
ความสาคัญของหน้าที่ของระบบที่ต้องการ
➢หลังจากนั้นทีมงานจะวางแผนสรุปเพื่อให้ได้สปริ้นแบ็คล็อก (Sprint Backlog) ซึ่งเป็นเอกสารข้อกาหนดที่ทีมงานต้องพัฒนา
เพื่อให้เป็นซอฟต์แวร์ที่ใช้งานได้จริง
➢ ในระหว่างการพัฒนาแต่ละวันทีมงานต้องคุยกันถึงความก้าวหน้าของงานซึ่งอาจใช้เวลาประมาณ 2-4 ชั่วโมง
➢การส่งมอบงานจะส่งมอบงานบางส่วน เนื่องจากสครัมจะแบ่งงานทั้งหมดออกเป็นส่วนย่อย ๆ ระยะเวลาการส่งมอบงานแต่ละช่วง
ประมาณ 1-4 สัปดาห์
➢หลังส่งมอบแล้วจะทาการแก้ไขข้อผิดพลาด และเลือกแบ็คล็อกที่มีลาดับความสาคัญถัดไป และทาซ้าจนกระทั่งเสร็จสิ้นโครงการ
- 29. กระบวนการบริหารโครงการซอฟต์แวร์
กระบวนการบริหารโครงการซอฟต์แวร์ซึ่งประกอบด้วย 5 ขั้นตอนที่ต้องดาเนินการต่อเนื่อง ดังนี้
1.การเริ่มต้นโครงการซอฟต์แวร์
การเริ่มต้นโครงการซอฟต์แวร์ (Software project initiation) เป็นขั้นตอนแรกที่จะต้องดาเนินการ ในขั้นตอนนี้มี
กิจกรรมหลัก ได้แก่ การกาหนดรายละเอียดงานเบื้องต้น การพัฒนาโปรเจ็คชาร์เตอร์ การกาหนดขอบเขตโครงการ การ
กาหนดวัตถุประสงค์ การประมาณการแรงงานเบื้องต้นและการประมาณการค่าใช้จ่ายเบื้องต้น
กิจกรรมหลักของกำรเริ่มต้นโครงกำร
กำรประมำณ
กำรตำรำงงำน
เบื้องต้น
กำหนด
โปรเจ็ค
ชำร์เตอร์
กำหนด
ขอบเขต
โครงกำร
กำหนด
วัตถุประสงค์
ประมำณกำร
แรงงำน
เบื้องต้น
ประมำณกำร
ค่ำใช้จ่ำย
เบื้องต้น