1 / 109

การพัฒนาและบริหารโครงการ (ซอฟต์แวร์)

การพัฒนาและบริหารโครงการ (ซอฟต์แวร์). 1. วิศวกรรมระบบ (System Engineering) การบริหารโครงการผลิตซอฟต์แวร์ การประมาณการซอฟต์แวร์ ( Software Estimation ). วิศวกรรมระบบ (System Engineering). 2. วิศวกรรมระบบ ไม่ได้มุ่งเน้นในเรื่องของซอฟต์แวร์อย่างเดียว แต่ให้ความสำคัญกับส่วนประกอบอื่นๆ ด้วย

Download Presentation

การพัฒนาและบริหารโครงการ (ซอฟต์แวร์)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. การพัฒนาและบริหารโครงการ (ซอฟต์แวร์) 1 วิศวกรรมระบบ (System Engineering) การบริหารโครงการผลิตซอฟต์แวร์ การประมาณการซอฟต์แวร์ (Software Estimation)

  2. วิศวกรรมระบบ (System Engineering) 2 • วิศวกรรมระบบ ไม่ได้มุ่งเน้นในเรื่องของซอฟต์แวร์อย่างเดียว แต่ให้ความสำคัญกับส่วนประกอบอื่นๆ ด้วย • วิศวกรรมระบบ หมายถึง กระบวนการศึกษาและวิเคราะห์ของระบบที่มีความสลับซับซ้อน เพื่อสนับสนุนการทำงานในส่วนของวิศวกรรมซอฟต์แวร์ กิจกรรมของวิศวกรรมระบบ จะถูกดำเนินการไปพร้อมๆ กับกิจกรรมของวิศวกรรมซอฟต์แวร์

  3. วิศวกรรมระบบ (System Engineering) 3 กิจกรรมของวิศวกรรมระบบ มีดังนี้ • กำหนดวัตถุประสงค์ของระบบ • กำหนดขอบเขตของระบบ • แบ่งระบบออกเป็นส่วนๆ ตามฟังก์ชันงานหรือคุณสมบัติระบบ • พิจารณาความสัมพันธ์ของส่วนประกอบต่างๆ ที่เกี่ยวข้องทั้งหมด • กำหนดความสัมพันธ์ของปัจจัยนำเข้า ประมวลผล และผลลัพธ์

  4. วิศวกรรมระบบ (System Engineering) 4 • พิจารณาปัจจัยที่มีส่วนเกี่ยวข้องในระบบ • กำหนดความต้องการในส่วนของการดำเนินการและฟังก์ชันงานทั้งระบบ • สร้างแบบจำลอง เพื่อใช้วิเคราะห์และพัฒนาให้สอดคล้องกับแบบจำลองซอฟต์แวร์ที่สร้างขึ้น • นำเสนอและแลกเปลี่ยนข้อคิดเห็นกับผู้ใช้ระบบ

  5. วิศวกรรมระบบ (System Engineering) 5 กระบวนการวิศวกรรระบบ ประกอบไปด้วยขั้นตอน 7 เฟส ดังนี้ • การกำหนดความต้องการ (Requirement Definition) • การออกแบบระบบ (System Design) • การพัฒนาระบบย่อย (Sub-system Development) • การผนวกรวมระบบ (System Integration) • การติดตั้งระบบ (System Installation) • การเปลี่ยนแปลงระบบ (System Evolution) • การปลดระวางระบบ (System Decommission)

  6. วิศวกรรมระบบ (System Engineering) 6

  7. วิศวกรรมระบบ (System Engineering) 7 • การกำหนดความต้องการ (Requirement Definition) • เพื่อกำหนดนิยามความต้องการของระบบให้ชัดเจน กำหนดหน้าที่ว่าระบบควรจะทำอะไรได้บ้าง เป็นเพียงข้อกำหนดเบื้องต้น • การออกแบบระบบ (System Design) • เป็นการกำหนดรายละเอียดของฟังก์ชันในแต่ละส่วนประกอบของระบบ มีดังนี้ • แบ่งส่วนความต้องการ • กำหนดระบบย่อย • กำหนดความต้องการในแต่ละระบบย่อย • กำหนดฟังก์ชันของแต่ละระบบย่อย • กำหนดส่วนประสานของระบบย่อย

  8. วิศวกรรมระบบ (System Engineering) 8 • การออกแบบระบบ (System Design)

  9. วิศวกรรมระบบ (System Engineering) 9 • การพัฒนาระบบย่อย (Sub-system Development) • เป็นการนำเอาระบบย่อยที่ถูกกำหนดรายละเอียดไว้ในระยะออกแบบ มาสร้างด้วยกระบวนการที่เหมาะสม • การผนวกรวมระบบ (System Integration) • ระบบย่อยที่พัฒนาเสร็จแล้ว จะนำมาผนวกรวมเข้าด้วยกันจนเป็นระบบที่สมบูรณ์ หลังจากรวมระบบแล้ว ทีมงานต้องทำการทดสอบการทำงานของระบบอีกครั้ง

  10. วิศวกรรมระบบ (System Engineering) 10 • การติดตั้งระบบ (System Installation) • นำระบบที่พัฒนาเรียบร้อยแล้วมาติดตั้ง เพื่อใช้งาน • การเปลี่ยนแปลงระบบ (System Evolution) • ในช่วงการใช้งานระบบ อาจเกิดการเปลี่ยนแปลงต่างๆ อาจต้องการการแก้ไขข้อผิดพลาดต่างๆ • การปลดระวางระบบ (System Decommission) • หมายถึง การเลิกใช้งานหลังจากพบว่าระบบไม่สามารถใช้ประโยชน์ได้อีกต่อไป

  11. การบริหารโครงการผลิตซอฟต์แวร์การบริหารโครงการผลิตซอฟต์แวร์ 11 • การบริหารโครงการ (Project management) • การประยุกต์ใช้องค์ความรู้ ทักษะ เครื่องมือ และเทคนิค เพื่อดำเนินกิจกรรมตามความต้องการของโครงการให้บรรลุวัตถุประสงค์ที่กำหนดไว้ • วงจรชีวิตของโครงการ โครงการทุกประเภท จะมีทั้งหมด 4 ระยะ ได้แก่ • ระยะเริ่มต้นโครงการ (Project Initiation) • ระยะวางแผนโครงการ (Project Planning) • ระยะดำเนินโครงการ (Project Execution) • ระยะปิดโครงการ (Project Closing)

  12. การบริหารโครงการผลิตซอฟต์แวร์การบริหารโครงการผลิตซอฟต์แวร์ 12 • การจัดตารางงานโครงการ • Gantt Chart • PERT/CPM

  13. Gantt Chart 13

  14. PERT/CPM 14 • มีการแสดงงานในลักษณะของ Node และความเกี่ยวเนื่อง (Dependency) ของงานแต่ละอันที่เกิดขึ้นอย่างชัดเจน • จุดเด่นของ PERT/CRM คือ การคำนวณหาเส้นทางวิกฤติในการดำเนินกิจกรรม ทำให้ผู้บริหารโครงการคำนวณหาเวลาได้

  15. PERT/CPM 15 • PERT = Program Evaluation and Review Technique • CPM = Critical Path Method เป็นเทคนิคการวิเคราะห์เชิงปริมาณสองประเภทที่ได้รับความนิยมอย่างมาก ในการช่วยผู้บริหารการวางแผน จัดทำตารางตรวจสอบ ติดตาม และควบคุมโครงการขนาดใหญ่ และซับซ้อน

  16. 16 • PERT ได้รับการพัฒนาขึ้นมาในปีค.ศ.1958 โดยกองทัพเรือสหรัฐอเมริกาเพื่อใช้ในการวางแผนและควบคุมโครงการสร้างขีปนาวุธโปลารีส เพราะโครงการนี้เกี่ยวข้องกับการประสานงานกับผู้รับเหมาตามสัญญาต่างๆจำนวนมาก • CPM ได้รับการพัฒนาขึ้นมาในเวลาใกล้เคียงกัน ประมาณปีค.ศ.1957 โดย J.E. Kelly ของ บริษัท Remington Rand จำกัดและ M.R.Walker ของ บริษัท du Pont จำกัด เพื่อช่วยในการก่อสร้างและงานบำรุงรักษาโรงงานเคมีของ du Pont

  17. โครงสร้างของ PERT & CPM 17 • PERT & CPM ขั้นตอนการสร้างเหมือนกันคือ • ขั้นที่1.กำหนดโครงการ และกิจกรรมหรืองานที่มีระดับนัยสำคัญมากของโครงการนั้น • ขั้นที่2.สร้างความสัมพันธ์ระหว่างกิจกรรมแล้วตัดสินใจว่ากิจกรรมใดต้องทำก่อนและทำต่อจากกิจกรรมอื่น • ขั้นที่3.เขียนข่ายงาน(network)เชื่อมต่อกิจกรรมเหล่านั้นทั้งหมด

  18. โครงสร้างของ PERT & CPM (ต่อ) 18 • ขั้นที่4.กำหนดเวลาและ/หรือประมาณค่าต้นทุน ของแต่ละกิจกรรม • ขั้นที่5.คำนวณหาเส้นทางที่ใช้เวลานานที่สุด ในการผ่านข่ายงานนั้น และเรียกเส้นทางนั้นว่า เส้นทางวิกฤต (Critical Path) • ขั้นที่6.ใช้ข่ายงานช่วยในการวางแผนจัดทำตาราง ติดตามตรวจสอบ และควบคุมโครงการนั้น

  19. 19 • การหาเส้นทางวิกฤตเป็นส่วนที่สำคัญมากของการควบคุมโครงการ กิจกรรมบนเส้นทางวิกฤตนั้นเป็นงานที่จะทำช้ากว่ากำหนดไม่ได้ เพราะจะทำให้เวลาโครงการนั้นล่าช้าตามไปด้วย ผู้บริหารจะมีความยืดหยุ่นได้โดยการระบุหากิจกรรมไม่วิกฤตออกมา แล้วทบทวนการวางแผน ทบทวนตาราง และทำการจัดสรรทรัพยากรโครงการใหม่ เช่น ทางการเงินหรือบุคลากร • ถึงแม้ว่า PERT & CPM จะคล้ายกันในวิธีพื้นฐานก็ตาม แต่จะมีความแตกต่างกันในวิธีการประมาณค่าเวลากิจกรรม

  20. 20 • สำหรับทุกกิจกรรมของ PERT นั้น จะมีประมาณค่าเวลาสามค่า คือ เวลามองโลกแง่ดี เวลาน่าจะเป็นมากที่สุด และเวลามองโลกแง่ร้าย จากนั้นจึงหาเวลาคาดคะเนของกิจกรรมและความแปรปรวนเวลากิจกรรม ดังนั้น PERT จึงเป็นเทคนิคเชิงความน่าจะเป็นที่(probabilistic approach) จะยอมให้คำนวณหาความน่าจะเป็นที่โครงการจะสำเร็จตามเวลาที่กำหนดไว้ได้

  21. 21 • สำหรับ CPM เป็นเทคนิคเชิงการกำหนด(deterministic approach) โดยมีประมาณเวลาสำหรับแต่ละกิจกรรมสองค่าได้แก่ • เวลาปกติ(normal time) คือ เวลาที่จะทำกิจกรรมนั้นให้สำเร็จได้ภายใต้สภาวะปกติ • เวลาเร่งรัด (crash time) คือเวลาสั้นที่สุดที่จะทำให้กิจกรรมนั้นสำเร็จได้โดยการเพิ่มทรัพยากรและเงินทุน

  22. ตัวอย่างการใช้งาน PERT&CPM 22 • การเขียนข่ายงาน(network)ข่ายงานคือหัวใจสำคัญของการศึกษาทั้ง PERT & CPM ข่ายงานใช้ลูกศร แทน กิจกรรมที่ต้องการเวลาและทรัพยากรและใช้ วงกลม O แทนจุดเริ่มต้นและสิ้นสุดของกิจกรรมและบนลูกศรเราจะเขียนชื่อกิจกรรมและเวลากิจกรรมกำกับไว้

  23. 23 • ในการเขียนข่ายงานบางครั้งเพื่อให้ข่ายงานเป็นจริงได้เราจะใช้ กิจกรรมดัมมี(dummy activity)ช่วยและกำหนดให้เวลาของกิจกรรมดัมมีเป็นศูนย์ กิจกรรมดัมมีแทนด้วยเส้นประ

  24. 24 • ตัวอย่างคำแนะนำการเขียนข่ายงาน กิจกรรม A ใช้เวลา 3 สัปดาห์

  25. 25 • กิจกรรม B และ C จะทำได้ก็ต่อเมื่อ A ทำเสร็จแล้ว

  26. 26 • กิจกรรม D จะทำได้ ก็ต่อเมื่อ C ทำเสร็จแล้วและ E จะทำได้เมื่อ Dและ B ทำเสร็จแล้ว

  27. 27 • กิจกรรม D จะทำได้ ก็ต่อเมื่อ B ทำเสร็จแล้วและ E จะทำได้เมื่อ C และ D ทำเสร็จแล้ว

  28. 28 • กิจกรรม D จะทำได้ ก็ต่อเมื่อ B และ C ทำเสร็จแล้ว และ E จะทำได้ก็ต่อเมื่อ C เสร็จแล้วเท่านั้น

  29. 29 • กิจกรรม D จะทำได้ ก็ต่อเมื่อ Bทำเสร็จแล้ว สำหรับ E นั้น B และ C เสร็จแล้วเท่านั้น

  30. 30 • กิจกรรม D จะทำได้ ก็ต่อเมื่อ B และ C ทำเสร็จ แล้ว • แบบนี้ผิดห้ามเขียน

  31. 31 • กิจกรรม D จะทำได้ ก็ต่อเมื่อ B และ C ทำเสร็จแล้ว • เขียนแบบนี้ถูกต้อง

  32. 32 • ตัวอย่างที่ 1 โครงการหนึ่งประกอบด้วยกิจกรรม เวลากิจกรรม ดังต่อไปนี้ จงเขียนข่ายงาน

  33. 33 • เริ่มที่กิจกรรม A • กิจกรรม B และCทำต่อจาก A

  34. 34 • DและE ทำต่อจาก B

  35. 35 • F ทำต่อจาก C

  36. 36 • G ทำต่อจาก D

  37. 37 • ปรับ EและF ให้สิ้นสุดที่จุดเดียวกัน เพื่อเริ่มต้น H

  38. 38 • ไม่มีกิจกรรมอีก ให้ปรับ GและHให้สิ้นสุดที่จุดเดียวกัน เพื่อเป็นจุดสิ้นสุดโครงการ

  39. การกำหนดหาเวลาโครงการและเส้นทางวิกฤตการกำหนดหาเวลาโครงการและเส้นทางวิกฤต 39 • ขั้นที่1.บนข่ายงานให้คำนวณหาเวลา ES และ EFของแต่ละกิจกรรม • ES คือ Earliest Start Time (เวลาเริ่มต้นเร็วที่สุด) หมายถึง เวลาเร็วที่สุดที่เราจะ ทำกิจกรรมนั้นได้ เมื่อกิจกรรมทำก่อนทำสำเร็จแล้ว • EF คือ Earliest Finish Time (เวลาเสร็จเร็วที่สุด) หมายถึง เวลาเร็วที่สุดที่กิจกรรมนั้นจะเสร็จเมื่อเริ่มต้นที่เวลา ES และ กิจกรรมนั้นใช้เวลา t

  40. การกำหนดหาเวลาโครงการและเส้นทางวิกฤต (ต่อ) 40 • การคำนวณเวลา ES และ EF นั้นคำนวณจากซ้ายไปขวา เริ่มจากจุดเริ่มต้นข่ายงานไปสิ้นสุดที่จุดสุดท้ายของข่ายงาน โดยที่เวลาตรงหัวลูกศรคือ EF จากนั้นให้บันทึกเวลาที่คำนวณได้ลง ตารางคำนวณในช่อง ES และ EF ตามลำดับ เวลาโครงการคือ เวลา EF ที่จุดปลายโครงการ ถ้ามีเวลา EF หลายค่าให้ใช้ค่าที่มากที่สุด

  41. ตัวอย่างที่ 2 41 • ตัวอย่างที่ 2 จงคำนวณเวลา ESและEFของตัวอย่างที่ 1

  42. 42 • ตัวอย่างที่ 2 จงคำนวณเวลา ESและEFของตัวอย่างที่ 1(ต่อ)

  43. 43

  44. 44

  45. 45

  46. 46

  47. 47

  48. 48 • ขั้นที่ 2.บนข่ายงานให้คำนวณหาเวลา LS และ LF ของแต่ละกิจกรรม เมื่อ • LS คือ Latest Start Time (เวลาเริ่มต้นช้าที่สุด) หมายถึง เวลาช้าที่สุดที่เราจะ ทำกิจกรรมนั้นได้ โดยไม่ทำให้เวลาโครงการที่ได้จาก (1) ล่าช้าออกไป • LF คือ Latest Finish Time (เวลาเสร็จช้าที่สุด) หมายถึง เวลาช้าที่สุดที่กิจกรรมนั้นจะเสร็จโดยไม่ทำให้โตรงการนั้นล่าช้าออกไปกว่ากำหนด

  49. 49 • การคำนวณเวลา LS และ LF นั้นคำนวณจากขวาไปซ้าย เริ่มจากจุดสุดท้ายต้นข่ายงาน ที่เวลาโครงการ แล้วไปสิ้นสุดที่จุดเริ่มต้นของข่ายงาน โดยที่เวลาตรงหัวลูกศรคือ LF จากนั้น ให้บันทึกเวลาที่คำนวณได้ลง ตารางคำนวณในช่อง LSและ LF ตามลำดับ

  50. ตัวอย่างที่ 3 50 • ตัวอย่างที่ 3 จงคำนวณเวลา ESและEFของตัวอย่างที่ 1

More Related