More Related Content
PDF
Chapter 4 ERP and related technologies PDF
สื่อการเรียน เรื่อง ชนิดของเครือข่ายคอมพิวเตอร์และเทคโนโลยี DOC
PDF
PDF
PDF
PDF
โครงงานคอมพิวเตอร์เรื่อง การออกแบบอาคาร บ้าน เรือน ด้วยโปรแกรม 3 มิติ PDF
แผนการจัดการเรียนรู้อินเตอร์เน็ต What's hot
PDF
DOCX
PDF
PDF
PDF
กิจกรรมที่ 2 ประเภทของโครงงานคอมพิวเตอร์ PDF
แบบเสนอโครงการวิจัย ว-สอศ.-2 PDF
PDF
DOCX
โครงงานงานประดิษฐ์จากใบตอง DOC
คู่มือ Ulead video studio 11 PDF
Week 2 ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์ PDF
ผลกระทบทางจริยธรรม และประเด็นทางสังคมที่เกี่ยวข้องกับการใช้เทคโนโลยีสารสนเทศ PDF
PDF
ตัวอย่างวิทยานิพนธ์บทที่ 1-2 E-learning PPT
PDF
ตัวอย่างแบบประเมินการฝึกอบรม PDF
หนังสือแจ้งให้เข้ารับการอบรม จ.ขอนแก่น PDF
ใบงานที่ 1.1 คอมพิวเตอร์กราฟิก PDF
การสร้าง Apps for Android ด้วย MIT App Inventor PDF
Similar to 2
PPTX
PDF
แนวทางการพัฒนาซอฟต์แวร์คุณภาพ PPT
Introduction to software engineering principles PDF
PDF
Software Engineering Process PDF
System Development Life Cycle PDF
PDF
PDF
PDF
PPT
01 process and software development PDF
DOC
PDF
PPTX
Chapter 6 system development PPT
PPT
PDF
PDF
PPT
More from pop Jaturong
PDF
PDF
PDF
บทที่ 7 ท้องถิ่นไทยกับการเปลี่ยนแปลง PDF
บทที่ 5 ท้องถิ่นไทยภูมิภาคต่างๆ PDF
บทที่ 6-2-ศักยภาพเชิงพื้นที่ กับ แผนยุทธศาสตร์จังหวัด PDF
บทที่ 4-2-คุณธรรมและจริยธรรม PDF
PDF
บทที่ 3 ข้อมูลพื้นฐานของประเทศไทย PDF
บทที่ 2 โบราณคดีและประวัติศาสตร์ไทย3 PDF
บทที่ 2 โบราณคดีและประวัติศาสตร์ไทย2 PDF
บทที่ 2 โบราณคดีและประวัติศาสตร์ไทย PDF
บทที่ 1-หลักการความหมายของท้องถิ่นศึกษา PDF
PDF
PDF
306325 unit9-ec-policy&law PDF
PDF
306325 unit7-product-delivery-for-ec PDF
PDF
306325 unit5-ec-advertising PDF
2
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
วงจรชีวิตแบบน้าตก(Waterfall life cyclemodel)
กำรกำหนดควำมต้องกำร
กำรวิเครำะห์
กำรสร้ำง
กำรทดสอบ
กำรนำไปใช้
กำรบำรุงรักษำ
กำรออกแบบ
➢ เป็นวงจรชีวิตที่สร้างขึ้น ในปี 1970 โดย Winston W.
Royce
➢ เป็นรูปแบบวงจรชีวิตที่มีขั้นตอนการพัฒนาที่ชัดเจน มี
การออกแบบกระบวนการทางานเป็นลาดับขั้นตอน
➢ การทางานจะทางานทีละขั้นตอน แต่ละขั้นตอนต้อง
ดาเนินการให้เสร็จก่อนจึงจะทาขั้นตอนต่อไปได้
➢ แต่ละขั้นตอนจะมีการทาเอกสารประกอบ
➢ ข้อเสียคือ ผู้ใช้จะไม่เห็นผลลัพธ์หรือตัวซอฟต์แวร์
จนกว่าจะส่งมอบ ซึ่งอาจต้องใช้เวลานาน และหากไม่
เป็นไปตามความต้องการ อาจเสียเวลาและค่าใช้จ่าย
ในการแก้ไขมากขึ้น
- 7.
วงจรชีวิตแบบเพิ่ม (Incremental lifecycle model)
วิเครำะห์ ออกแบบ สร้ำง ทดสอบ
งำนส่วนที่ 1
ส่งมอบส่วนที่ 1
วิเครำะห์ ออกแบบ สร้ำง ทดสอบ
วิเครำะห์ ออกแบบ สร้ำง ทดสอบ
วิเครำะห์ ออกแบบ สร้ำง ทดสอบ
งำนส่วนที่ 2 ส่งมอบส่วนที่ 2
งำนส่วนที่ 3
งำนส่วนที่ 4
ส่งมอบส่วนที่ 3
ส่งมอบส่วนที่ 4
ระยะเวลำ
➢ เน้นการพัฒนาทีละส่วน โดยแต่ละ
ส่วนประกอบด้วยขั้นตอนหลัก ได้แก่
การวิเคราะห์ การออกแบบ การสร้าง
หรือเขียนโปรแกรม และการทดสอบ
➢ มีการส่งมอบงานทีละส่วนแล้วค่อย ๆ
เพิ่มความสามารถของระบบเข้าไปเรื่อย
ๆ จนได้ระบบที่มีความสมบูรณ์
➢ ข้อดี คือ สามารถส่งมอบงานได้เร็ว ตรง
ตามความต้องการของลูกค้า การที่
ลูกค้าค่อย ๆ ได้รับผลงาน จะเป็นการ
สร้างความคุ้นเคยกับงานมากขึ้น
➢ นอกจากนี้การแบ่งงานออกเป็นส่วน ๆ
จะสามารถหยุดได้โดยไม่มีผลกระทบอื่น
- 8.
วงจรชีวิตแบบก้นหอย(Spiral life cyclemodel)
➢พัฒนาโดย Barry Boehm
➢วงจรชีวิตรูปแบบนี้พัฒนามาจากวงจรชีวิตแบบน้าตก
➢วงจรชีวิตจะเป็นการทางานแบบซ้า ๆ หรือก้นหอย โดยแต่
ละงานจะประกอบด้วยการวางแผน การวิเคราะห์ การ
จัดการความเสี่ยงและการพัฒนางาน
➢เหมาะกับการพัฒนาซอฟต์แวร์ที่มีขนาดใหญ่
➢มีการวิเคราะห์ความเสี่ยงทุกขั้นตอน
- 9.
วงจรชีวิตแบบต้นแบบ(Prototyping life cyclemodel)
กำรกำหนดควำมต้องกำร
กำรออกแบบอย่ำงเร็ว
ผู้ใช้ประเมินต้นแบบ
ปรับปรุงตำม
คำแนะนำของผู้ใช้
ออกแบบ
กำรบำรุงรักษำ
กำรสร้ำงต้นแบบ
สร้ำง
ทดสอบ
ยอมรับ
กำรพัฒนำต้นแบบ
➢เป็นการพัฒนาโดยใช้ต้นแบบเพื่อ
หาความต้องการของผู้ใช้ที่ชัดเจน
➢ข้อดี คือ ผู้ใช้จะเห็นผลลัพธ์ที่
ต้องการเร็ว
➢เป็นวิธีการในการหาความ
ต้องการที่ดีที่สุด
➢ ข้อเสียคือ ต้องมีการพัฒนา
ต้นแบบ ซึ่งอาจจะใช้เวลานาน
- 10.
- 11.
วงจรชีวิตการพัฒนาระบบงานแบบรวดเร็ว (Rapid application
development(RAD) life cycle model)
วำงแผน
ประสำนงำน ออกแบบโมดูลงำน
ทีมที่ n
ทีมที่ 1
ทีมที่ 2
สร้ำงและทดสอบ
สร้ำงและทดสอบ
สร้ำงและทดสอบ
รวมระบบและ
ส่งมอบออกแบบโมดูลงำน
ออกแบบโมดูลงำน
60-90วัน
➢เป็นวงจรการพัฒนาระบบแบบค่อยเพิ่มขึ้น
➢เน้นวงจรพัฒนาสั้นๆ
➢มีการแบ่งงานเป็นโมดูล แต่ละโมดูลจะใช้
เวลาภายในประมาณ 2-3 เดือน
➢มีกิจกรรมการสื่อสารเพื่อให้เข้าใจปัญหา มี
การวางแผน มีทีมงานหลายทีมงานที่จะทา
การพัฒนาในแต่ละโมดูล เสร็จแล้วจึงนามา
รวมกัน
➢ข้อดี คือ ความรวดเร็วในการพัฒนา
➢ข้อเสีย คือ จาเป็นต้องใช้ทรัพยากรบุคคลมาก
นอกจากนี้ระบบที่ไม่สามารถแบ่งโมดูลได้จะ
มีปัญหาในการสร้างคอมโพเนนท์ที่จะใช้
- 12.
- 13.
➢นอกจากนี้ยังมีมาตรฐาน ISO /IEC 29110 หรือ มาตรฐานวิศวกรรมซอฟต์แวร์สาหรับองค์กรขนาดกลางและเล็ก
(Software life cycle profiles and guidelines for very small entities (VSEs)
standards)
➢มุ่งเน้นให้การรับรองคุณภาพการบริหารงานหรือผลิตภัณฑ์ซอฟต์แวร์ให้แก่หน่วยงานหรือผู้ประกอบการที่มีขนาดเล็กโดยมี
ผู้ร่วมงานไม่เกิน 25 คน
➢ประยุกต์มาจากมาตรฐาน ISO / IEC 12207 ซึ่งเป็นมาตรฐานซอฟต์แวร์ระดับสากลที่เหมาะกับการปฏิบัติงานของ
องค์กรขนาดใหญ่
➢พัฒนาขึ้นมาเพื่อสนับสนุนองค์กรขนาดเล็กให้มีโอกาสในการปรับปรุงกระบวนการและรับรองคุณภาพในระดับสากล
➢ตัวมาตรฐานได้ถูกกาหนดมาเพื่อสร้างบทบาทควบคุมคุณภาพกระบวนการผลิตซอฟต์แวร์ทั้งทางด้านการบริหารงานและ
ทางด้านเทคนิคให้กับผู้ประกอบการขนาดเล็ก
➢เป็นมาตรฐานที่สามารถลดต้นทุนในการบริหารและจัดการกระบวนการควบคุมคุณภาพการผลิตที่ยังไม่สูงมากเมื่อ
เปรียบเทียบกับมาตรฐานอื่น
➢ให้ความสาคัญในกระบวนการที่ต้องการปรับให้เป็นระบบสากล 2 กระบวนการหลัก คือ กระบวนการด้านการบริหาร
โครงการและกระบวนการด้านการสร้างซอฟต์แวร์
- 14.
- 15.
- 16.
หลักการพัฒนาซอฟต์แวร์แบบอาไจล(กฎ12ข้อของอาไจล)
1. มุ่งสร้างความพึงพอใจให้กับลูกค้า โดยการส่งมอบซอฟต์แวร์ให้ลูกค้าอย่างต่อเนื่อง
2.ยอมรับการเปลี่ยนแปลงที่เกิดขึ้นจากความต้องการของลูกค้าที่เปลี่ยนไป ถึงแม้ว่าโครงการได้ดาเนินการมามากแล้ว แต่อาไจล
จะยอมรับการเปลี่ยนแปลงเพื่อประโยชน์ของลูกค้า
3. ส่งมอบงานที่ใช้ได้จริงบ่อยๆ ตั้งแต่ทุก 2 สัปดาห์ ถึง ทุก 2 เดือน
4. นักธุรกิจและนักพัฒนาจะทางานร่วมกันทุกวันตลอดโครงการ
5. สร้างแรงจูงใจให้ทีมงาน สร้างความเชื่อมั่นว่าทีมงานจะทางานได้สาเร็จ โดยสร้างสภาพแวดล้อมเพื่อสนับสนุนงานตามที่
ต้องการ
6. วิธีการสื่อสารที่ดีที่สุดคือการสื่อสารแบบซึ่งหน้า หลีกเลี่ยงการสื่อสารวิธีการอื่น เช่น โทรศัพท์ อีเมลล์
7. ซอฟต์แวร์ที่ใช้งานได้จริง จะเป็นตัววัดความก้าวหน้าของโครงการ
8. ผู้สนับสนุน ผู้พัฒนาและผู้ใช้งานจะร่วมกันพัฒนาโครงการอย่างค่อยเป็นค่อยไปเพื่อให้งานมีความก้าวหน้าขึ้นเรื่อยๆ
9. ความสนใจของทีมงานในการติดตามเทคโนโลยีจะช่วยในการนามาปรับใช้ในการออกแบบให้ดียิ่งขึ้น
10.เน้นความเรียบง่าย การลดงานที่ไม่จาเป็นเป็นเรื่องที่สาคัญ
11.สถาปัตยกรรม ความต้องการ การออกแบบ เกิดจากทีมงานบริหารจัดการเอง
12.ทีมงานต้องสะท้อนภาพตัวเองในการทางานเพื่อให้ได้ผลลัพธ์ดีขึ้น รวมทั้งการปรับพฤติกรรมตามสถานการณ์ที่เปลี่ยนแปลงไป
- 17.
➢การพัฒนาซอฟต์แวร์แบบอาไจล
➢จุดเด่น คือ ส่งมอบงานได้เร็วรองรับการเปลี่ยนแปลงที่อาจเกิดขึ้นได้ตลอดเวลาทาให้
กระบวนการพัฒนามีความยืดหยุ่น ลูกค้ามีความพึงพอใจเพราะได้ผลิตภัณฑ์ที่ตรงตามความต้องการใน
ตลอดทุกขั้นตอนการทางาน
➢ข้อจากัดของการพัฒนาซอฟต์แวร์แบบบอาไจล ซึ่งมีลักษณะวิธีการแบบทาซ้า เช่น ต้องมีการส่งมอบ
งานหลายครั้ง มีการปรับเปลี่ยนตามความต้องการหลายครั้ง อาจทาให้ขอบเขตของโครงการกว้างไม่มีที่
สิ้นสุด นอกจากนี้ทีมงานอาไจลต้องมีทักษะในการปฏิสัมพันธ์ที่ดีเพราะต้องติดต่อกับลูกค้าเสมอ
➢การพัฒนาซอฟต์แวร์แบบอาไจล จะเหมาะสาหรับโครงการที่มีทีมพัฒนาขนาดเล็ก ไม่เกิน 20-40 คน
เพราะหากโครงการมีขนาดใหญ่ มีทีมงานมากจะทาให้ยากในการสื่อสารปฏิสัมพันธ์กัน การพัฒนา
ซอฟต์แวร์แบบอาไจลไม่ได้นามาทดแทนวิธีการแบบเก่า แต่เป็นทางเลือกสาหรับนักพัฒนาระบบ ซึ่งอาจ
ต้องพิจารณาตามความเหมาะสม และสภาพแวดล้อมขององค์กรด้วย
- 18.
- 19.
เอ็กซ์ทรีมโปรแกรมมิ่ง (Extreme programming: XP)
➢เป็นแบบจาลองกระบวนการอาไจลที่ได้รับความนิยม คิดค้นโดย Kent Beck ในปี ค.ศ. 1996
➢เป็นแบบจาลองกระบวนการผลิตซอฟต์แวร์ที่มีการพัฒนาตามรูปแบบการทาซ้าและแบบเพิ่ม (Iteration and
Incremental) โดยพัฒนาแบบทาซ้าและค่อย ๆ เพิ่มทีละส่วนจนได้ซอฟต์แวร์ที่สมบูรณ์และเป็นไปตามความต้องการของลูกค้า
➢มีขั้นตอนการพัฒนา 4 ขั้นตอน ได้แก่
➢การวางแผน ในโครงการพัฒนาซอฟต์แวร์ จะมีการแบ่งงานออกเป็นส่วน ๆ มีการกาหนดการส่งมอบงานทีละส่วน มีการวิเคราะห์และเขียน
รายละเอียดงานตามความต้องการของลูกค้า (User stories) และจัดทาแผนงานในแต่ละส่วนงาน
➢การออกแบบ จะเน้นการออกแบบที่ง่าย ไม่ซับซ้อน ไม่ใส่ฟังก์ชันการทางานที่ยังไม่จาเป็น
➢การเขียนโปรแกรม จะเน้นการเขียนโปรแกรมแบบจับคู่ (Pair programming) เป็นการใช้โปรแกรมเมอร์ 2 คนสลับกันเป็นคนเขียน
โปรแกรมและตรวจสอบโปรแกรม นอกจากนี้จะต้องทาการรวมโค้ดโปรแกรมอย่างสม่าเสมอ
➢การทดสอบ จะทดสอบการทางานทีละส่วน (Unit test) ก่อนส่งมอบงาน และทดสอบระบบโดยผู้ใช้งานจริงเพื่อที่จะดูความสมบูรณ์ของ
ระบบว่าเป็นไปตามที่ผู้ใช้ต้องการหรือไม่ (Acceptance test)
- 20.
- 21.
การพัฒนาซอฟต์แวร์แบบปรับตัว (Adaptive software
development:ASD)
➢เป็นแบบจาลองที่นาเสนอโดย Jim Highsmith
➢เป็นเทคนิคสาหรับการสร้างระบบที่ซับซ้อน เน้นการทางานร่วมกันระหว่างบุคคลและการจัดระเบียบ
ทีมงานด้วยตนเอง มีการแบ่งงานอย่างเป็นระบบและชัดเจน
➢การพัฒนาซอฟต์แวร์รูปแบบนี้มีการทางานหลัก ๆ 3 ส่วน คือ
▪ส่วนของการคาดเดา เป็นส่วนเริ่มต้นโครงการ มีการทาแผนวงจรการปรับตัว
▪ส่วนการร่วมมือ เป็นการกาหนดให้บุคคลมีส่วนร่วมในการทางาน มีการจูงใจให้ทีมงานและผู้เกี่ยวข้อง
ร่วมกันทางานเพื่อสร้างสรรค์ผลงาน
▪ส่วนการเรียนรู้ ทีมงานต้องเรียนรู้ตั้งแต่เริ่มต้นพัฒนาจนกระทั่งเสร็จสิ้นวงจร โดยการเรียนรู้ จะมี 3 วิธี
ได้แก่ การกาหนดกลุ่มเฉพาะ การทบทวนเทคนิคอย่างเป็นทางการ และการตรวจสอบ
- 22.
- 23.
การพัฒนาระบบไม่หยุดนิ่ง (Dynamic system
developmentmethod: DSDM)
➢การพัฒนาระบบไม่หยุดนิ่ง (Dynamic system development method : DSDM)
➢เป็นวิธีการพัฒนาซอฟต์แวร์ที่มีการกาหนดกรอบงานในการสร้างและบารุงรักษาระบบ โดยมีข้อจากัดด้านเวลา ใช้การสร้าง
ต้นแบบอย่างค่อยเพิ่มขึ้น
➢การพัฒนารูปแบบนี้จะมีการทาวนซ้า แต่ละรอบของวงจรจะเป็นไปตามกฎร้อยละ 80 คือ ร้อยละ 80 ของแอพลิเคชั่นจะทา
สาเร็จภายในเวลาร้อยละ 20 ของเวลาทั้งหมดที่พัฒนา จะทางานให้เพียงพอในแต่ละรุ่น เพื่อเคลื่อนไปสู่รุ่นต่อไป ส่วน
รายละเอียดที่เหลือสามารถทาให้เสร็จในภายหลังเมื่อรู้ความต้องการเพิ่มเติมหรือได้รับการร้องขอให้เปลี่ยนแปลง
➢กระบวนการพัฒนาเริ่มจากการศึกษาความเป็นไปได้ การศึกษาด้านธุรกิจ การทาวนซ้าแบบจาลองเชิงหน้าที่ ซึ่งเป็นการ
รวบรวมความต้องการของลูกค้าหรือผู้ใช้งานเพิ่มเติมจากการใช้งานต้นแบบ โดยต้นแบบจะค่อย ๆ พัฒนาไปจนสามารถส่ง
มอบได้ นอกจากนี้ยังมีการทาวนซ้าการออกแบบและการสร้างและการนาไปใช้งาน
- 24.
- 25.
สครัม(Scrum)
➢เป็นกระบวนการอาไจลที่พัฒนาโดย Jeff Sutherlandในช่วงต้นทศวรรษที่ 1990 และได้พัฒนาต่อโดย Schwaber และ
Beedle
➢ในการพัฒนาสครัม ผู้ใช้งานระบบจะทางานร่วมกันกับทีมงานอย่างใกล้ชิด
➢ทีมงานจะเป็นกลุ่มบุคคลที่ปฏิบัติงานจริงประมาณ 5-9 คน แต่ละคนสามารถทางานทดแทนกันได้
➢วิธีสครัม จะมีการสร้างแบ็คล็อก (Backlog) ซึ่งเป็นข้อมูลความต้องการของระบบ โดยผู้ใช้จะต้องระบุหน้าที่และจัดลาดับ
ความสาคัญของหน้าที่ของระบบที่ต้องการ
➢หลังจากนั้นทีมงานจะวางแผนสรุปเพื่อให้ได้สปริ้นแบ็คล็อก (Sprint Backlog) ซึ่งเป็นเอกสารข้อกาหนดที่ทีมงานต้องพัฒนา
เพื่อให้เป็นซอฟต์แวร์ที่ใช้งานได้จริง
➢ ในระหว่างการพัฒนาแต่ละวันทีมงานต้องคุยกันถึงความก้าวหน้าของงานซึ่งอาจใช้เวลาประมาณ 2-4 ชั่วโมง
➢การส่งมอบงานจะส่งมอบงานบางส่วน เนื่องจากสครัมจะแบ่งงานทั้งหมดออกเป็นส่วนย่อย ๆ ระยะเวลาการส่งมอบงานแต่ละช่วง
ประมาณ 1-4 สัปดาห์
➢หลังส่งมอบแล้วจะทาการแก้ไขข้อผิดพลาด และเลือกแบ็คล็อกที่มีลาดับความสาคัญถัดไป และทาซ้าจนกระทั่งเสร็จสิ้นโครงการ
- 27.
- 28.
- 29.
กระบวนการบริหารโครงการซอฟต์แวร์
กระบวนการบริหารโครงการซอฟต์แวร์ซึ่งประกอบด้วย 5 ขั้นตอนที่ต้องดาเนินการต่อเนื่องดังนี้
1.การเริ่มต้นโครงการซอฟต์แวร์
การเริ่มต้นโครงการซอฟต์แวร์ (Software project initiation) เป็นขั้นตอนแรกที่จะต้องดาเนินการ ในขั้นตอนนี้มี
กิจกรรมหลัก ได้แก่ การกาหนดรายละเอียดงานเบื้องต้น การพัฒนาโปรเจ็คชาร์เตอร์ การกาหนดขอบเขตโครงการ การ
กาหนดวัตถุประสงค์ การประมาณการแรงงานเบื้องต้นและการประมาณการค่าใช้จ่ายเบื้องต้น
กิจกรรมหลักของกำรเริ่มต้นโครงกำร
กำรประมำณ
กำรตำรำงงำน
เบื้องต้น
กำหนด
โปรเจ็ค
ชำร์เตอร์
กำหนด
ขอบเขต
โครงกำร
กำหนด
วัตถุประสงค์
ประมำณกำร
แรงงำน
เบื้องต้น
ประมำณกำร
ค่ำใช้จ่ำย
เบื้องต้น
- 30.
- 31.
- 32.