งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

วิชา วิศวกรรมซอฟต์แวร์ COMP342

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "วิชา วิศวกรรมซอฟต์แวร์ COMP342"— ใบสำเนางานนำเสนอ:

1 วิชา วิศวกรรมซอฟต์แวร์ COMP342
อาจารย์ผู้สอน อ. รติวัฒน์ ปารีศรี วท.ม. (เทคโนโลยีสารสนเทศ) สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง วท.บ. (คอมพิวเตอร์ศาสตร์) ม.รามคำแหง Web site :

2 วงจรการพัฒนาระบบ (SDLC)
System Development Life Cycle (SDLC) เป็นวงจรที่แสดงถึงกิจกรรมต่าง ๆ ในแต่ละขั้นตอนในการวิเคราะห์และพัฒนาระบบ ตั้งแต่เริ่มต้นจนกระทั้งสิ้นสุดการพัฒนาระบบ ซึ่งแต่ละขั้นตอนสามารถย้อนกลับได้หากเกิดข้อบกพร่อง หรือความไม่สมบูรณ์เกิดขึ้น Never Die Cycle เป็นวงจรที่ไม่หยุดนิ่ง เพราะระบบจะต้องมีการปรับปรุงและพัฒนาอยู่ตลอดเวลา (เพราะความต้องการใหม่ที่เพิ่มขึ้นของผู้ใช้ระบบ)

3 วงจรการพัฒนาระบบ

4 1. การกำหนดปัญหา (Problem Definition)
เป็นขั้นตอนสำหรับการกำหนดขอบเขตของปัญหา สาเหตุของปัญหาในการดำเนินงาน (Problem) ความเป็นไปได้กับการสร้างระบบใหม่ (Feasibility Study) ความต้องการ (Requirement) ซึ่งข้อมูลทั้งหมดสามารถรวบรวมได้โดยวิธีต่าง ๆ สัมภาษณ์ สังเกตการณ์ แบบสอบถาม เอกสารประกอบระบบ เมื่อศึกษาข้อมูลทั้งหมดแล้วก็จะสรุปออกมาเป็น Requirement Specification (สรุปข้อตกลงร่วมกัน)

5 ปัจจัยที่ส่งผลต่อความต้องการเพื่อพัฒนาระบบใหม่
ผู้ใช้งานร้องขอให้ปรับปรุงระบบใหม่ ผู้บริหารระดับสูงต้องการพัฒนาระบบใหม่ ปัญหาและข้อผิดพลาดในงานปัจจุบัน แรงผลักดันจากภายนอก ส่งเสริมให้ต้องมีการปรับปรุงระบบ ส่วนงานบริการสารสนเทศแนะนำให้มีการปรับปรุงระบบ

6 การกำหนดปัญหา (Problem Definition)
วิธีการตรวจสอบปัญหา ตรวจสอบปัญหาจากการปฏิบัติงาน สังเกตพฤติกรรมของพนักงาน

7 Problem Statement การนำเสนอรูปแบบของปัญหาด้วย Problem Statement จะทำให้เห็นรายละเอียดชัดเจนยิ่งขึ้น โดยรายละเอียดในถ้อยแถลงปัญหามักจะเป็นข้อความแบบย่อ ด้วยการมุ่งเน้นที่ความกระชับและชัดเจน สำหรับรายละเอียดภายในถ้อยแถลงปัญหาควรประกอบด้วย รายละเอียดของปัญหา วัตถุประสงค์ ขอบเขตของระบบงาน ผลประโยชน์ที่จะได้รับ ความสามารถของระบบใหม่

8 บทสรุปสำหรับผู้บริหาร
รายละเอียดปัญหาต่างๆ ที่เกิดจากการดำเนินงาน นักวิเคราะห์ระบบสามารถรับรู้ได้จากการรวบรวมข้อมูลและทำการปรึกษาระหว่างกัน จากนั้นจึงดำเนินการจัดทำเอกสารเพื่อยื่นเสนอแก่ฝ่ายบริหารหรือเจ้าของธุรกิจเพื่อพิจารณา โดยจะต้องตอบข้อซักถามเหล่านี้ได้ ปัญหาที่มีอยู่และความเป็นไปได้ในการพัฒนาระบบงานใหม่ ขนาดของระบบ และระยะเวลาในการพัฒนาระบบ ทางเลือกที่เป็นไปได้ในการแก้ไขปัญหา ต้นทุนและผลประโยชน์ที่ได้รับของแต่ละทางเลือก

9 การศึกษาความเป็นไปได้ (Feasibility Study)
การศึกษาความเป็นไปได้ เป็นการค้นหาข้อสรุป และขอบเขตของปัญหา โดยจะมีการศึกษาความเป็นได้ได้เกี่ยวกับ 5 ประเด็นหลักๆ ด้วยกัน ซึ่งประกอบด้วย ความเป็นไปได้ทางเทคนิค (Technical Feasibility) ความเป็นไปได้ทางเศรษฐศาสตร์ (Economic Feasibility) ความเป็นไปได้ทางด้านการปฏิบัติงาน (Operational Feasibility) ความเป็นไปได้ทางด้านกำหนดเวลา (Time Feasibility) ความเป็นไปได้ทางด้านกลยุทธ์ขององค์กร (Strategy Feasibility)

10 ความเป็นไปได้ทางเทคนิค (Technical Feasibility)
ความสำคัญของการศึกษาความเป็นไปได้ทางด้านเทคนิคก็คือ การวิเคราะห์ความเสี่ยงด้านเทคนิค เพื่อให้ได้มาซึ่งคำตอบของคำถามที่ว่า “Can we build it” ซึ่งหมายความว่าพวกเราสามารถพัฒนาได้หรือไม่ ? จะมีการวิเคราะห์ถึงความพร้อมของผู้ใช้ที่จะร่วมกันเรียนรู้ระบบงานใหม่ ความพร้อมที่จะเรียนรู้เทคโนโลยี และขนาดของโครงการ ซึ่งโครงการยิ่งมีขนาดใหญ่ ย่อมมีความเสี่ยงสูง

11 ความเป็นไปได้ทางเทคนิค (Technical Feasibility)
ความเป็นไปได้ทางด้านเทคนิคจะข้องเกี่ยวกับรายละเอียดต่อไปนี้ จำเป็นต้องจัดหาอุปกรณ์ใหม่หรือไม่ อุปกรณ์ที่มีอยู่สามารถนำมาใช้กับระบบใหม่ได้อย่างพอเพียงหรือไม่ หากจำเป็นต้องจัดหาอุปกรณ์ใหม่ สามารถดำเนินการจัดหาได้ทันทีหรือไม่ อุปกรณ์ที่จัดหามาเพื่อพัฒนาระบบใหม่นี้สามารถรองรับเทคโนโลยีในอนาคตได้หรือไม่ ความเข้ากันได้ของอุปกรณ์ฮาร์ดแวร์และซอฟต์แวร์มีประสิทธิภาพที่ดีเพียงพอหรือไม่ หากจำเป็นต้องระบุสเป็คหรือรายละเอียดของอุปกรณ์ ก็ควรระบุรายละเอียดให้ชัดเจนและถูกต้อง ระบบสามารถรองรับการขยายตัวของธุรกิจในอนาคตได้หรือไม่

12 ความเป็นไปได้ทางเศรษฐศาสตร์ (Economic Feasibility)
คือ ความเป็นไปได้ในเชิงเศรษฐศาสตร์ ซึ่งโดยมักเรียกว่าการวิเคราะห์ต้นทุนและผลกำไร (Cost-Benefit Analysis) ด้วยการกำหนดต้นทุนทางการเงินและผลตอบแทนที่ได้จากโครงการ ดังนั้น การศึกษาความเป็นไปได้ทางเศรษฐศาสตร์จึงคำนึงถึงต้นทุนค่าใช้จ่ายและผลตอบแทนที่ได้รับจากระบบ ด้วยการกำหนดมูลค่าและทำการวิเคราะห์กระแสเงินสด (Cash Flow Analysis)

13 ความเป็นไปได้ทางเศรษฐศาสตร์ (Economic Feasibility)
ความเป็นไปได้ทางด้านเศรษฐศาสตร์ จะประเมินได้จากผลกระทบทางการเงิน 4 ประเภทด้วยกัน คือ ต้นทุนการพัฒนาระบบ (Development Costs) ต้นทุนการปฏิบัติงาน (Operational Costs) ผลตอบแทนที่สามารถประเมินค่าได้ (Tangible Benefits) ผลตอบแทนที่ไม่สามารถประเมินค่าได้ (Intangible Benefits)

14 ความเป็นไปได้ทางด้านกำหนดเวลา (Time Feasibility)
เป็นการศึกษาว่าการจัดทำ หรือการจัดหาระบบสารสนเทศมาใช้จะสามารถทำได้ทันตามกำหนดเวลาหรือไม่

15 ความเป็นไปได้ทางด้านกลยุทธ์ขององค์กร (Strategy Feasibility)
องค์กรสมัยใหม่จะพิจารณาด้านกลยุทธ์ธุรกิจ ซึ่งจะสนับสนุนความได้เปรียบของการแข่งขัน ช่วยให้มีผลผลิตและบริการใหม่ ๆ ช่วยการบริหารจัดการและการตัดสินใจ

16 ตัวอย่างต้นทุนต่างๆ ในด้านการศึกษาความเป็นไปได้ทางด้านเศรษฐศาสตร์
ต้นทุนการพัฒนาระบบ ต้นทุนการปฏิบัติงาน ต้นทุนเงินเดือนทีมงานพัฒนาระบบ ต้นทุนเกี่ยวกับการอัพเกรดซอฟต์แวร์ ต้นทุนเกี่ยวกับค่าที่ปรึกษา ต้นทุนเกี่ยวกับค่าลิขสิทธ์ซอฟต์แวร์ ต้นทุนเกี่ยวกับการฝึกอบรมทีมพัฒนา ต้นทุนการซ่อมแซมอุปกรณ์ฮาร์ดแวร์ ต้นทุนเกี่ยวกับอุปกรณ์ฮาร์ดแวร์และซอฟต์แวร์ ต้นทุนการอัปเกรดอุปกรณ์ฮาร์ดแวร์ ต้นทุนการติดตั้งระบบ (Installation) ต้นทุนเงินเดือนของทีมงานปฏิบัติการ ต้นทุนเกี่ยวกับพื้นที่สำนักงานและอุปกรณ์สำนักงาน ต้นทุนเกี่ยวกับระบบการสื่อสาร ต้นทุนเกี่ยวกับการแปลงข้อมูล (Conversion) ต้นทุนเกี่ยวกับการฝึกอบรมของผู้ใช้งาน

17 ความเป็นไปได้ทางเศรษฐศาสตร์ (Economic Feasibility)
การศึกษาความเป็นไปได้ทางเศรษฐศาสตร์ ด้วยการวิเคราะห์กระแสเงินสด (Cash Flow) ซึ่งปกติจะประกอบด้วยต้นทุนและผลตอบแทนที่มีการนำเสนอเป็นรายปี (ปกติจะประมาณ 3 – 5 ปี) การวิเคราะห์แสเงินสดนี้เป็นการวิเคราะห์เพื่อหาทิศทาง ขนาด และรูปแบบของเงินลงทุนที่นำมาใช้กับการพัฒนาระบบว่าในแต่ละปีได้มีการลงทุนไปแล้วจำนวนเท่าไร และได้รับผลตอบแทนกลับมาเป็นจำนวนเงินเท่าไร

18

19 ความเป็นไปได้ทางเศรษฐศาสตร์ (Economic Feasibility)
ผลการวิเคราะห์กระแสเงินสดทำให้นักวิเคราะห์สามารถนำข้อมูลดังกล่าวมาทำการวิเคราะห์ผลตอบแทนหรือระยะเวลาคืนทุน (Payback Analysis) เพราะเป็นวิธีการที่ง่ายต่อการทำความเข้าใจ และเป็นวิธีที่มักนำมาใช้ ซึ่งจะพิจารณาผลตอบแทนที่ได้รับคืนมาภายหลังการลงทุนสร้างระบบไปแล้ว ผลตอบแทนที่ได้จะแบ่งออกเป็นสองแนวทางด้วยกันคือรายได้จากการประกอบการที่เพิ่มขึ้นและรายได้ที่เกิดจากการลดค่าใช้จ่ายลง

20 ความเป็นไปได้ทางด้านการปฏิบัติงาน (Operational Feasibility)
คือ ความเป็นไปได้ของระบบใหม่ที่นำเสนอสารสนเทศได้อย่างถูกต้อง และตรงตามความต้องการของผู้ใช้ การคำนึงถึงทัศนคติของผู้ใช้ รวมทั้งทักษะของผู้ใช้กับระบบงานใหม่ที่ได้รับการปรับเปลี่ยนโครงสร้างไปจากเดิมว่าเป็นที่ยอมรับหรือไม่

21 ความเป็นไปได้ทางด้านการปฏิบัติงาน (Operational Feasibility)
รายละเอียดในการศึกษาความเป็นไปได้ทางด้านการปฏิบัติงาน ผู้ใช้งานเข้าใจถึงความจำเป็นต่อการปรับเปลี่ยนระบบหรือไม่ สนับสนุนระบบใหม่หรือไม่ อย่างไร ต้องจัดเตรียมอะไรบ้าง กับการฝึกอบรมการใช้งานระบบใหม่ให้กับพนักงาน ระบบใหม่ที่พัฒนาขึ้นมา ส่งผลกระทบต่อการลดจำนวนพนักงานหรือไม่ และจะเกิดผลกระทบต่อพนักงานที่ถูกปลดออกไปเหล่านั้นอย่างไร และจะต้องดำเนินการอย่างไรกับผลกระทบดังกล่าว จะให้ผู้ใช้งานมีส่วนร่วมกับการวางแผนระบบใหม่ตั้งแต่ริเริ่มโครงการหรือไม่ ขั้นตอนการปฏิบัติงานมีการเปลี่ยนแปลงไปจากเดิมหรือไม่ ผลกระทบจะส่งผลต่อลูกค้าที่เข้ามาใช้บริการหรือไม่ มีความเสี่ยงต่อภาพพจน์ของบริษัทด้านใดบ้าง ใช้ระยะเวลาในการพัฒนาระบบใหม่ยาวนานเท่าไร

22 ความเป็นไปได้ทางด้านการปฏิบัติงาน (Operational Feasibility)
ระบบใหม่ควรมีการสนับสนุนยุทธศาสตร์องค์กร 3 ด้านด้วยกัน คือ ด้านผลผลิต (Productivity) เป็นการสนับสนุนด้านการเพิ่มผลผลิต และลดต้นทุนการผลิต ด้านความแตกต่าง (Differentiation) ระบบใหม่ที่พัฒนา ก่อให้เกิดความแตกต่างด้วยการเปรียบเทียบกับระบบงานเดิมหรือจากคู่แข่งขัน เช่น มีข้อแตกต่างที่ดีกว่าระบบเดิม ทำให้เกิดผลผลิตที่ดีกว่า มีการบริการที่ดีกว่า เป็นต้น ด้านการจัดการ (Management) ระบบใหม่ช่วยสนับสนุนผู้บริหารสามารถทำงานได้อย่างมีประสิทธิภาพ เช่น มีระบบสารสนเทศที่ทำให้การวางแผน การตัดสินใจ และการควบคุม สามารถดำเนินงานด้วยความสะดวกยิ่งขึ้น

23 การจัดทำรายงานข้อเสนอ (Proposal)

24 การจัดทำรายงานข้อเสนอ (Proposal) (ต่อ)
หน้าปก รายละเอียดของหน้าปกต้องมีชื่อโครงการหรือชื่อรายงาน ชื่อผู้วิเคราะห์ วันที่จัดทำ สารบัญ ภายในสารบัญจะประกอบไปด้วยหัวเรื่อง (Content) ต่างๆ พร้อมระบบหน้าเริ่มต้นของหัวเรื่องนั้นๆ บทสรุปถึงผู้บริหาร สรุปโครงการที่ได้ศึกษาความเป็นไปได้อย่างย่อๆ เพียง 1 – 2 หน้า ด้วยการกล่าวถึงผลการศึกษา ข้อเสนอแนะ โดยเน้นที่การวิเคราะห์ค่าใช้จ่าย และผลตอบแทน รวมทั้งข้อจำกัดต่างๆ และเวลา สรุปปัญหา ให้กล่าวถึงปัญหาที่ศึกษาอย่างย่อๆ และชัดเจน ไม่กำกวม แนวทางการศึกษา กล่าวถึงวิธีที่ใช้ในการศึกษาความเหมาะสม แหล่งข้อมูล เอกสารอ้างอิง และบุคคลที่ให้รายละเอียด พร้อมทั้งรายละเอียดของระบบงานปัจจุบันอย่างย่อๆ

25 การจัดทำรายงานข้อเสนอ (Proposal) (ต่อ)
วิเคราะห์ กล่าวถึงแนวความคิดของระบบใหม่ และวิเคราะห์ให้ได้ว่าระบบใหม่นี้สามารถทำอะไรได้บ้าง รวมถึงความสัมพันธ์ที่มีต่อระบบอื่นๆ ด้วย แนวทางการแก้ไขปัญหา ระบุแนวทางแก้ไขปัญหา ซึ่งอาจามีแนวทางการแก้ไขปัญหามากกว่าหนึ่งทาง และทำการเปรียบเทียบความเหมาะสมในด้านต่างๆ ของแนวทางแก้ไขปัญหาในแต่ละวิธี ข้อเสนอแนะ กล่าวถึงข้อเสนอแนะในการปฏิบัติให้ชัดเจน พร้อมกับให้เหตุผลว่าทำไม จึงเสนอแนะแนวทางนั้นๆ แผนงาน กล่าวถึงแผนงานและกำหนดงานที่ควรทำในขั้นตอนอะไรบ้าง และต้องใช้ค่าใช้จ่าย จำนวนเท่าใด ภาคผนวก หากเป็นไปได้ ควรมีแบบสอบถามหรือรายละเอียดต่างๆ ประกอบการใช้เพื่อการศึกษาความเหมาะสม ข้อมูล แผนภูมิ กราฟสถิติ รายละเอียดการสัมภาษณ์ และเอกสารอื่นๆ ที่เกี่ยวข้องรวมถึงอุปกรณ์เครื่องมือ และซอฟต์แวร์ที่ใช้

26 การวางแผนและการควบคุมกิจกรรม (Activity Planning and Control)

27 การวางแผนและการควบคุมกิจกรรม (Activity Planning and Control)
การกำหนดเวลาโครงการ (Project Scheduling) สามารถจัดทำขึ้นได้ด้วยการใช้เทคนิค แกนต์ชาร์ต (Gantt Charts) ซึ่งเป็นแผนภูมิอย่างง่ายที่ใช้สำหรับวางแผนและกำหนดเวลาในการทำงานของโครงการ แกนต์ชาร์ตหรือแผนภูมิแกนต์ มักนำมาใช้เป็นเทคนิคการวางแผนโครงการ เนื่องจากง่ายต่อความเข้าใจและสร้างง่าย รายละเอียดสำคัญของแกนต์ชาร์ต จะประกอบด้วยแท่งหรือแถบที่แสดงถึงแต่ละกิจกรรม โดยความกว้างของแต่ละแถบนั้นจะบ่งบอกถึงระยะเวลาที่ใช้ของแต่ละงาน แกนต์ชาร์ตยังมีข้อเสียตรงที่ไม่ได้แสดงถึงความสัมพันธ์ระหว่างงานให้เห็นอย่างชัดเจน และไม่สามารถกำหนดได้ว่างานที่ปฏิบัติการล่าช้าจะส่งผลกระทบต่อโครงการด้วย

28

29 การบริหารโครงการ (Project Management)

30 สาเหตุสำคัญที่ส่งผลต่อความล้มเหลวในโครงการซอฟต์แวร์
ขาดการศึกษาความเป็นไปได้ (Feasibility Study) ที่ดีพอ ข้อกำหนดหรือความต้องการต่างๆ (Requirement) ที่รวบรวมมาไม่มีความชัดเจน หรือไม่สมบูรณ์ ขาดการประสานงานที่ดีระหว่างผู้ใช้กับนักวิเคราะห์ระบบ เช่น การขาดความร่วมมือ การไม่เข้าใจในรายละเอียดของระบบงานเดิม ขาดการควบคุมที่ดี เช่น ไม่มีการกำหนดหน้าที่การทำงาน ขั้นตอนการทำงาน รวมทั้งองค์ประกอบต่างๆ ที่เกี่ยวข้อง

31 สาเหตุสำคัญที่ส่งผลต่อความล้มเหลวในโครงการซอฟต์แวร์
ไม่มีมาตรการรองรับความเปลี่ยนแปลง (Change Management) การเปลี่ยนแปลงความต้องการเพียงน้อยนิด ก็อาจส่งผลกระทบต่อระบบโดยรวม ผู้ใช้ไม่ยอมรับในระบบ เนื่องจากระบบไม่สามารถปฏิบัติได้ตรงตามวัตถุประสงค์ของการใช้งานที่แท้จริง ระบบทำงานผิดพลาดบ่อยครั้ง ก่อให้เกิดความไม่น่าเชื่อถือในระบบใหม่ อันเนื่องมาจากความบกพร่องในการทดสอบที่มีความละเอียดไม่เพียงพอ ความไม่ชำนาญงาน หรือประสบการณ์ของตัวนักวิเคราะห์ระบบมีน้อย ระดับผู้บริหารไม่มีความชัดเจนในนโยบาย ซึ่งก่อให้เกิดการเปลี่ยนแปลงในความต้องการตลอดเวลาหรือผู้บริหารระดับสูงไม่สนับสนุน

32 แผนภูมิแกนต์ (Gantt Chart)
แผนภูมิแกนต์ (Gantt Chart) เป็นแผนภูมิชนิดหนึ่งที่มีการใช้งานมายาวนาน แผนภูมิแกนต์เป็นเครื่องมือที่ใช้ในการวางแผนและกำหนดเวลาในการทำงานของโครงการ เป็นแผนภูมิที่ใช้งานง่าย ไม่สลับซับซ้อน ซึ่งในปัจจุบันก็ยังนิยมนำแผนภูมิแกนต์นี้มาใช้เพื่อวางแผนโครงการ แต่อย่างไรก็ตาม แผนภูมิแกนต์นี้จะไม่ได้แสดงความสัมพันธ์ระหว่างงานให้เห็นได้อย่างชัดเจน และไม่สามารถบอกได้ว่างานที่ปฎิบัติการล่าช้าจะมีผลกระทบต่อโครงการอย่างไร ดังนั้น โครงการขนาดใหญ่ที่มีระบบงานที่การกระจายเป็นระบบย่อยๆ และมีจำนวนมากรวมถึงขั้นตอนการดำเนินงานที่ซับซ้อน จึงมักนำเทคนิคของเพิร์ต (PERT) และซีพีเอ็ม (CPM) มาประยุกต์การใช้งานมากกว่า

33

34

35 เพิร์ตและซีพีเอ็ม (PERT and CPM)
การบริหารโครงการด้วยการวางแผน ควบคุม โดยใช้เทคนิค PERT (Program Evaluation and Review Technique) และ CPM (Critical Path Method) เป็นการวิเคราะห์ข่ายงานที่มักนำมาใช้ในการบริหารโครงการที่มีจุดเริ่มต้นของโครงการจนถึงการปิดโครงการที่แน่นอน มีส่วนงานย่อยต่างๆ ที่มีการกระจายโดยมีความสัมพันธ์กันซึ่งกันและกัน

36 เพิร์ตและซีพีเอ็ม (PERT and CPM)
วัตถุประสงค์และหลักการของ PERT และ CPM มีพื้นฐานที่คล้ายคลึงกัน PERT จะเน้นด้านเวลาในการดำเนินโครงการ CPM จะเน้นด้านค่าใช้จ่ายของโครงการ ในปัจจุบันได้มีการนำมาใช้งานร่วมกัน โดยคำว่า PERT เพียงคำเดียว อาจหมายถึงการนำเทคนิคของ CPM มาใช้งานร่วมด้วย

37 วัตถุประสงค์ของ PERT วางแผนโครงการ (Project Planning)
มีการคำนวณระยะเวลาการทำงาน และแสดงถึงกิจกรรมแต่ละกิจกรรมว่าควรเริ่มเมื่อใด แล้วเสร็จเมื่อใด และยังมีความสามารถในการกำหนดได้ว่ากิจกรรมใดเป็นกิจกรรมสำคัญ ทำงานล่าช้าได้ไม่เกินระยะเวลาเท่าไร ควบคุมโครงการ (Project Control) สามารถควบคุมการทำงานตามแผนที่ได้วางไว้ และควบคุมการทำงานไม่ให้ล่าช้ากว่ากำหนด

38 วัตถุประสงค์ของ PERT (ต่อ)
บริหารทรัพยากร (Resource) สามารถใช้ทรัพยากรต่างๆ เช่น เงินลงทุน บุคลากร เครื่องมือ อุปกรณ์ และอื่นๆ ได้อย่างมีประสิทธิภาพและใช้ประโยชน์ได้อย่างเต็มที่ บริหารโครงการ (Project Management) ในบางครั้ง อาจมีความจำเป็นต้องเร่งการดำเนินการเพื่อให้โครงการเสร็จเร็วกว่ากำหนด ซึ่งก็สามารถทำได้ด้วยการเร่งกิจกรรมบางกิจกรรมที่ต้องการ เพื่อให้โครงการเสร็จเร็วขึ้น

39

40

41

42

43

44

45 สายงานวิกฤต (Critical Paths)
สายงานวิกฤต เป็นสายงานที่มีระยะเวลายาวนานที่สุด ซึ่งโครงการหนึ่งๆ อาจมีสายงานวิกฤตมากกว่าหนึ่งสายงานก็เป็นได้

46 การเร่งโครงการ สายงานวิกฤต คือสายงานที่มีระยะยาวนานที่สุด ซึ่งถือเป็นสายงานที่มีความสำคัญ หากงานหรือกิจกรรมภายในสายงานวิกฤตเสร็จล่าช้ากว่าที่กำหนดไว้ในโครงการ นั่นหมายถึง โครงการโดยรวมก็จะเสร็จล่าช้าไปด้วย ดังนั้น การควบคุมโครงการให้สำเร็จตามเวลาที่ได้กำหนดไว้ จำเป็นต้องมีการควบคุมกิจกรรมในสายงานวิกฤตให้เป็นไปตามที่ได้วางแผนไว้ และถ้าหากมีความต้องการเร่งโครงการให้เสร็จเร็วขึ้น ก็สามารถทำได้ด้วยการเร่งกิจกรรมภายในสายงานวิกฤตนั่นเอง

47

48 สายงานที่ 1 1 – 2 – 4 – 8 = 29 สายงานที่ 2 1 – 2 – 5 – 8 = 31 สายงานที่ 3 1 – 3 – 6 – 8 = 29 สายงานที่ 4 1 – 3 – 7 – 8 = = สายงานวิกฤต

49 การเร่งโครงการ (ต่อ) จากการคำนวณระยะเวลา สายงานวิกฤตคือ 1 – 3 – 7 – 8 ซึ่งใช้เวลารวม 32 วัน และหากมีความจำเป็นต้องการเร่งโครงการให้เสร็จสิ้นเร็วขึ้น จึงต้องจัดการกับสายงานนี้ โดยสมมุติว่าถ้าต้องการให้โครงการเสร็จภายใน 28 วัน ดังนั้น ในการเร่งโครงการแต่ละวันจะเกิดค่าใช้จ่าย และควรให้เสียค่าใช้จ่ายน้อยที่สุด พิจารณาจากสายงานที่ 1 – 3 – 7 – 8 ประกอบด้วยกิจกรรม B, F, I ปรากฏว่ากิจกรรม B มีค่าใช้จ่ายต่อวันต่ำที่สุดเมื่อเทียบกับกิจกรรมอื่นๆ ดังนั้น จึงทำการเร่งกิจกรรม B จาก 8 วัน เหลือ 6 วัน

50 สายงานที่ 1 1 – 2 – 4 – 8 = = 29 สายงานที่ 2 1 – 2 – 5 – 8 = = 31 สายงานวิกฤต สายงานที่ 3 1 – 3 – 7 – 8 = = 27 สายงานที่ 4 1 – 3 – 7 – 8 = = 30

51 การเร่งโครงการ (ต่อ) หลังจากที่ได้ทำการเร่งกิจกรรม B แล้ว ก็ยังไม่ได้ทำให้โครงการเสร็จลงได้ตามเวลาที่กำหนดไว้ ดังนั้นจึงทำเป็นต้องเร่งกิจกรรมอื่นๆ อีก โดยสายงานวิกฤตที่ได้หลังจากมีการเร่งกิจกรรม B แล้วคือสายงาน 1 – 2 – 5 – 8 ซึ่งประกอบด้วยกิจกรรม A, D และ H โดยค่าใช้จ่ายของกิจกรรม H จะมีค่าใช้จ่ายต่ำสุดเมื่อเทียบกับกิจกรรมอื่นๆ คือวันละ 100 บาท ดังนั้น จึงเลือกเร่งกิจกรรม H ด้วยการเร่งเวลาจาก 13 วัน ลดเป็น 12 วัน

52 สายงานที่ 1 1 – 2 – 4 – 8 = = 29 สายงานที่ 2 1 – 2 – 5 – 8 = = สายงานวิกฤต สายงานที่ 3 1 – 3 – 6 – 8 = = 26 สายงานที่ 4 1 – 3 – 7 – 8 = = สายงานวิกฤต

53 การเร่งโครงการ (ต่อ) หลังจากที่ได้ทำการเร่งกิจกรรม H ก็แล้ว แต่ก็ยังไม่ได้ทำให้โครงการเสร็จลงได้ตามเวลาที่กำหนดไว้ ดังนั้น จึงต้องเร่งกิจกรรมอื่น โดยสายงานวิกฤตในที่นี้มีอยู่สองสายงานคือ 1 – 2 – 5 – 8 ซึ่งประกอบด้วยกิจกรรม A, D, H และสายงาน 1 – 3 – 7 – 8 ซึ่งประกอบด้วยกิจกรรม B, F, I โดยเส้นทางที่หนึ่งจะมีกิจกรรม D ที่มีค่าใช้จ่ายต่ำสุด คือ 125 บาทต่อวัน และสามารถเร่งได้เร็วขึ้น 2 วัน ส่วนเส้นทางที่สอง จะมีกิจกรรม F ที่มีค่าใช้จ่ายต่ำสุด คือ 100 บาทต่อวัน และสามารถเร่งได้เร็วขึ้น 3 วัน โดยหลังจากที่ได้พิจารณาแล้ว จึงทำการตัดสินใจเร่งกิจกรรม D และ F ลง 2 วัน ซึ่งถึงแม้ว่ากิจกรรม F นั้นสามารถเร่งได้เร็วขึ้น 3 วันก็ตาม แต่การเร่งกิจกรรม F ให้เร็วขึ้น 3 วันนั้น ก็ไม่ได้ทำให้โครงการสามารถเสร็จเร็วขึ้นแต่อย่างใด ซึ่งหากดำเนินการเร่งกิจกรรม F เป็น 3 วัน กลับทำให้ต้องเสียค่าใช้จ่ายเพิ่มขึ้นโดยใช่เหตุ

54 สายงานที่ 1 1 – 2 – 4 – 8 = 7 + 9 + 13 = 29 สายงานวิกฤต
สายงานที่ 2 1 – 2 – 5 – 8 = = 28 สายงานที่ 3 1 – 3 – 6 – 8 = = 26 สายงานที่ 4 1 – 3 – 7 – 8 = = 28

55 การเร่งโครงการ (ต่อ) หลังจากที่ได้ทำการเร่งกิจกรรม D และ F ก็แล้ว แต่ก็ยังไม่ได้ทำให้โครงการเสร็จลงได้ตามเวลาที่กำหนดไว้ได้อีก ดังนั้น จึงต้องเร่งกิจกรรมอื่นต่อไป โดยสายงานวิกฤตที่ได้ในที่นี้คือ 1 – 2 – 4 – 8 ซึ่งประกอบด้วยกิจกรรม A, C, G โดยค่าใช้จ่ายในการเร่งโครงการของกิจกรรม A มีต่ำสุดคือวันละ 150 บาท ดังนั้น จึงเลือกกิจกรรม A ด้วยการเร่งเวลาจาก 7 วัน เป็น 6 วัน

56 สายงานที่ 1 1 – 2 – 4 – 8 = 6 + 9 + 13 = 28 สายงานวิกฤต
สายงานที่ 2 1 – 2 – 5 – 8 = = 27 สายงานที่ 3 1 – 3 – 6 – 8 = = 26 สายงานที่ 4 1 – 3 – 7 – 8 = = สายงานวิกฤต

57 การเร่งโครงการ (ต่อ) จากการลดกิจกรรม A, B, D, F และ H จึงทำให้โครงการสามารถเร่งให้เสร็จเร็วขึ้นได้ภายใน 28 วัน ตามแผนงานที่ได้วางแผนไว้ โดยจะได้สายงานวิกฤตอยู่สองสายงานด้วยกัน มีระยะเวลายาวนานที่สุดคือ 28 วัน และค่าใช้จ่ายที่ต้องเพิ่มขึ้นจากการเร่งงานให้เสร็จเร็วขึ้น

58

59 สรุปขั้นตอนที่ 1 รวบรวมปัญหาและความต้องการ (Requirement Gathering)
ทราบปัญหาและความต้องการที่เกิดจากการดำเนินงาน ศึกษาความเป็นไปได้ (Feasibility Study) Technical Operational Economical Time Strategy สรุปสาเหตุของปัญหา และข้อมูลทั้งหมดที่ได้จากการศึกษาแล้วยื่นแก่ผู้บริหารเพื่อพิจารณา (Requirement Specification)

60 ขั้นตอนที่ 1

61 2. การวิเคราะห์ (Analysis)
เป็นการวิเคราะห์ขั้นตอนการดำเนินงานในปัจจุบัน โดยการนำ Requirement Specification มาทำการวิเคราะห์ เพื่อนำสิ่งที่วิเคราะห์มาทำแบบจำลอง Logical Model (DFD, ER, System Flow chart) เพื่อแสดงถึงรายละเอียดขันตอนการดำเนินงานว่าประกอบไปด้วยขั้นตอนอย่างไรบ้าง

62 สรุปขั้นตอนที่ 2 นำ Requirement Specification มาทำการวิเคราะห์
นำสิ่งที่วิเคราะห์มาทำแบบจำลอง Logical Model Data Flow Diagram (DFD Diagram) ER - Diagram System Flow Chart

63 ขั้นตอนที่ 2

64 3. การออกแบบ (Design) เป็นการนำเอา Logical Model มาพัฒนาเป็น Physical Model โดยจะมีความสอดคล้องกัน จะทำให้เห็นระบบที่กำลังศึกษาเป็นรูปธรรมมากยิ่งขึ้น ขั้นตอนนี้ จะนำเอาเทคโนโลยีต่าง ๆ และ Program ทางคอมพิวเตอร์เข้ามาช่วยพัฒนา ซึ่งการวิเคราะห์และออกแบบต่างกันดังนี้ การวิเคราะห์ : มุ่งเน้นการแก้ปัญหาอะไร การออกแบบ : มุ่งเน้นการแก้ปัญอย่างไร

65 สรุปขั้นตอนที่ 3 การออกแบบรายงาน (Output Design)
การออกแบบจอภาพ (Input Design) การออกแบบข้อมูลนำเข้า และรูปแบบการรับข้อมูล (Input/Output Format) การออกแบบผังระบบ (System Flowchart) การออกแบบฐานข้อมูล (Database Design) การสร้างต้นแบบ (Prototype)

66 ขั้นตอนที่ 3

67 4. การพัฒนา (Development)
เป็นขั้นตอนของการพัฒนาระบบ หรือ โปรแกรมที่จะนำมาใช้ ซึ่งเป็นการสร้างชุดคำสั่ง (Coding) โดยพิจารณาถึงความเหมาะสมกับเทคโนโลยีที่กำลังใช้อยู่ พร้อมทั้งอาจจำเป็นต้อง HW ที่สนับสนุนการสร้างโปรแกรมที่มีประสิทธิภาพกับงานนั้น ๆ ด้วย

68 สรุปขั้นตอนที่ 4 พัฒนาโปรแกรมที่ได้จากการวิเคราะห์แบบออกแบบไว้
โดยเลือกจากภาษาที่เหมาะสม และถนัด ง่ายแก่การทำความเข้าใจ ซึ่งบางครั้งอาจจะนำ CASE Tools เข้ามาช่วยพัฒนา (เพื่อเพิ่มความสะดวก ช่วยตรวจสอบความผิดพลาด และการแก้ไขที่รวดเร็วยิ่งขึ้น) พร้อมกับสร้างเอกสารประกอบโปรแกรม

69 ขั้นตอนที่ 4

70 5. การทดสอบ (Testing) เป็นขั้นตอนของการทดสอบระบบก่อนที่จะนำไปใช้งานจริง โดยนำเอาระบบหรือโปรแกรมที่สร้างมาทดสอบกับข้อมูลเบื้องต้นเสียก่อน ซึ่งถ้าหากเกิดข้อผิดพลาดจะต้องย้อนกลับไปขั้นที่ 4 อีกครั้ง การตรวจสอบระบบทั้ง 2 ประเภท ตรวจสอบ Syntax ตรวจสอบ Objective

71 สรุปขั้นตอนที่ 5 ระหว่างพัฒนาจะต้องมีการทดสอบระบบไปด้วย
โดยทำการทดสอบด้วยข้อมูลที่จำลองขึ้น ทดสอบระบบด้วยการตรวจสอบทั้ง Verification และ Validation Verification = การตรวจสอบความถูกต้องโดยรายละเอียดงาน Validation = การตรวจสอบความถูกต้องโดยความต้องการของผู้ใช้งาน

72 6. การติดตั้ง (Implementation)
เมื่อระบบได้ทำการสร้างจนเสร็จสมบูรณ์แล้ว (ทดสอบแล้ว) จึงต้องมีการติดตั้งระบบเพื่อให้ระบบได้มีการใช้งานจริงต่อไป

73 สรุปขั้นตอนที่ 6 ควรศึกษาและสังเกตสิ่งแวดล้อมของระบบก่อนติดตั้ง
เตรียมความพร้อมของ SW, HW, Network System ในบางขั้นตอนอาจจำเป็นต้องใช้ผู้เชี่ยวชาญระบบ ควรมีคู่มือการใช้งานระบบ และการอบรมการใช้ระบบงานควบคู่กันไปหลังการติดตั้งระบบ เพื่อการใช้ระบบได้อย่างมีประสิทธิภาพมากขึ้น

74 7. การบำรุงรักษา (Maintenance)
ระบบที่สร้างขึ้นทุก ๆ ระบบ ไม่มีระบบใดที่เสถียรตลอดเวลา เพราะต้องเปลี่ยนแปลงไปตามสิ่งแวดล้อมและความต้องการของผู้ใช้ หรือข้อผิดพลาดที่เกิดขึ้นด้วยสาเหตุใดใดก็ตาม โปรแกรมเมอร์หรือผู้พัฒนาต้องรีบปรับปรุงแก้ไขให้ถูกต้อง ทั้งนี้และทั้งนั้นก็ขึ้นอยู่กับข้อตกลงและ Requirement Specification ด้วย

75 สรุปขั้นตอนที่ 7 ในการบำรุงรักษาอาจจะเกิดขึ้นได้จากสาเหตุดังต่อไปนี้
ข้อผิดพลาดบางประการจากการเขียนคำสั่ง (Coding) การเพิ่มคุณสมบัติบางอย่าง (New Requirement) การบำรุงรักษาอาจหมายถึงทั้งในทาง Software, Hardware

76 Software Engineering การพัฒนา Software มีลักษณะคล้ายกับการสร้างสิ่งก่อสร้าง บ้านเรือน คือ การมีกระบวนการทางวิศวกรรมเข้ามาช่วย ในการจัดวางโครงสร้าง และพัฒนา Software ในแต่ละขั้นตอน ทำให้การพัฒนา Software มีความเป็นระบบระเบียบมากขึ้น สามารถตรวจสอบและติดตามผลได้ มีประสิทธิภาพ ใช้ทรัพยากรน้อยแต่ผลงานมีคุณภาพ คงทนและสามารถใช้ได้ในระยะยาว

77 เปรียบเทียบ บ้าน VS ระบบ

78 คุณสมบัติของ Software ที่มีคุณภาพ
มีความถูกต้อง (Correctness) มีความน่าเชื่อถือ (Reliability) ใช้งานง่าย (User friendliness) มีความง่ายต่อการปรับเปลี่ยน (Adaptability) สามารถนำกลับมาใช้งานใหม่ได้ (Reusability) มีความเข้ากันได้กับระบบที่แตกต่าง (Interoperability) มีประสิทธิภาพ (Efficiency) มีความสะดวกในการเคลื่อนย้าย (Portability) มีความปลอดภัย (Security)

79 ขั้นตอนการพัฒนาที่มีคุณภาพ

80 การตรวจสอบ 2 ระดับ Verification คือ การตรวจสอบความถูกต้องหลังจากยอมรับในรายละเอียด (Specification) Validation คือ การตรวจสอบความถูกต้องโดยพิจารณาความต้องการของผู้ใช้งาน


ดาวน์โหลด ppt วิชา วิศวกรรมซอฟต์แวร์ COMP342

งานนำเสนอที่คล้ายกัน


Ads by Google