Post on 08-Sep-2019
การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 2 วงจรการพัฒนาระบบ
(SDLC : System Development Life Cycle) ปริญญา น้อยดอนไพร
สาขาวชิาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
มหาวิทยาลัยราชภัฏสุราษฎร์ธานี
V.1806201301
ขั้นตอนการวิเคราะห์ระบบ
• ในการวิเคราะห์ระบบ เริ่มต้นจากการค้นหาและเข้าใจปัญหา ซึ่งถ้างานที่ก าลังจะท านั้นไม่มีปัญหา ก็ไม่มีความจ าเป็นที่จะต้องไปวิเคราะห์ในเสียเวลา
• เมื่อทราบปัญหาแล้ว ท าความเข้าใจปัญหา จากนั้นจะท าการประเมินความคุ้มค่าในการแก้ปัญหา
• ถ้าหากประเมินแล้วคุ้มค่าที่จะลงทุนในการพัฒนาระบบ ก็จะก าหนดความต้องการที่จะแก้ปัญหา หรือเรียกว่าข้อก าหนด (Term of Reference: TOR)
ขั้นตอนการวิเคราะห์ระบบ (ต่อ)
• หลังจากนั้นจะน าข้อก าหนดนี้ไปให้กับผู้พัฒนาระบบ เพื่อท าการวิเคราะห์วิธีการแก้ปัญหา หรือเรียกว่าข้อเสนอโครงการ (Proposal)
• ด า เ นิ นก า รพัฒนาระบบตามว งจรการพัฒนาระบบ (System Development life Cycle: SDLC)
• ผลการติดตามและประเมินผลระบบที่พัฒนาขึ้นจะท าให้ทราบถึงประสิทธิภาพของระบบ เพ่ือน าไปปรับปรุงระบบต่อไป
วงจรการพัฒนาระบบ (SDLC) 1.วิเคราะห์ปัญหา (Problem Analysis)
2.วิเคราะห์และออกแบบระบบ (System Analysis and Design)
3.การเขียนโปรแกรม (Coding / Programming)
4.การทดสอบและแก้ไขโปรแกรม (Program Testing and Debugging)
5.การจัดท าเอกสารเกี่ยวกับโปรแกรม (Program Documentation)
6.การติดตั้งและใช้งานระบบ (System Installation and Implement)
7.ปรับปรุงและพัฒนาโปรแกรม (Program Maintain)
วงจรการพัฒนาระบบ (SDLC)
• วิเคราะห์ปัญหา (Problem Analysis) เพื่อท าความเข้าใจกับปัญหาที่เกิดขึ้น และค้นหาจุดมุ่งหมายหรือสิ่งที่
ต้องการ มี 3 องค์ประกอบที่ช่วยในการวิเคราะห์ปัญหา ได้แก่
ระบุข้อมูลเข้า (Input Specification) : ข้อมูลอะไรบ้างที่ต้องป้อนเข้าสู่คอมพิวเตอร์ เพื่อให้โปรแกรมท าการประมวลผลและออกผลลัพธ์
ระบุข้อมูลออก (Output Specification) : งานที่ท ามีเป้าหมายหรือวัตถุประสงค์อะไร ต้องการผลลัพธ์รูปร่างหน้าตาอย่างไร โดยค านึงถึงผู้ใช้เป็นหลักในการออกแบบผลลัพธ์
ก าหนดวิธีการ (Process Specification) : หาวิธีการประมวลผลเพื่อให้ได้ผลลัพธ์ตามต้องการ
วงจรการพัฒนาระบบ (SDLC)
• วิเคราะห์ปัญหา (Problem Analysis) ต่อ
ความเป็นมาและสภาพปัญญา
ก าหนดวัตถุประสงค์ของการพัฒนา
ก าหนดขอบเขต (จ าแนกตามผู้ใช้งานที่เกี่ยวข้องกับระบบ) เช่น
พนักงาน
1.สามารถเพิ่ม ลบ แก้ไข สืบค้น ข้อมูลสมาชิกได ้
2.สามารถเรียกดูรายงานข้อมูลสมาชิกได ้
ระบุผลที่คาดว่าจะได้รับจากระบบที่พัฒนา
วงจรการพัฒนาระบบ (SDLC)
• การวิเคราะห์และออกแบบระบบ (System Analysis and Design)
–ช่วยให้การเขยีนโปรแกรมท าได้ง่ายขึ้น
–การเขียนโปรแกรมมีข้อผิดพลาดน้อยลง
–ช่วยในการตรวจสอบการท างานของโปรแกรม
วงจรการพัฒนาระบบ (SDLC)
• การวิเคราะห์และออกแบบระบบ (System Analysis and Design) ต่อ – ผังงาน (Flowchart) หรือ แผนภาพการท างานของระบบงานใหม่ (Work
Flow Diagram) : ใช้รูปภาพแสดงขั้นตอนการแก้ปัญหา สามารถอ่านและเข้าใจได้ง่าย หรือน าเสนอในรูปแบบ
– แผนภูมิโครงสร้าง (Structure chart) : เป็นการแบ่งงานใหญ่ออกเป็นโมดูลย่อยๆ เรียกว่าการออกแบบจากบนลงล่าง (Top-Down Design)
– แผนภาพบริบท (Context Diagram) – แผนภาพกระแสข้อมูล (DFD : Data Flow Diagram) – แผนภาพแสดงความสัมพันธ์ของข้อมูล (ERD : Entity Relation Diagram) – พจนานุกรมข้อมูล (Data Dictionary) : การแปลความหมายของ ERD
ก าหนดชนิดข้อมูล ความกว้าง คีย์ เป็นต้น (Entity => Table) – ออกแบบส่วนน าเข้าและส่งออก (Input and Output Design)
วงจรการพัฒนาระบบ (SDLC)
• การเขียนโปรแกรม (Coding / Programming)
– เป็นการน าสิ่งที่ได้จากขั้นตอนการออกแบบมาเป็นโปรแกรมคอมพิวเตอร ์
– เลือกใช้ภาษาส าหรับการพัฒนาซอฟต์แวร ์
วงจรการพัฒนาระบบ (SDLC)
• การทดสอบและแก้ไขข้อผิดพลาดของโปรแกรม (Program Testing and Debugging)
• โดยทั่วไปมีวิธีการตรวจสอบข้อผิดพลาดของโปรแกรม 2 ขั้นตอน ได้แก ่
การตรวจสอบด้วยตนเอง (Self Checking) เป็นการตรวจสอบการท างานของโปรแกรมทีละขั้นตอนด้วยตนเอง ว่าโปรแกรมท างานได้ผลลัพธ์ถูกต้องตามความเป็นจริงหรือไม่ เป็นความผิดพลาดจากการตีความหมายของปัญหาผิด (Logical Error)
วงจรการพัฒนาระบบ (SDLC)
• การทดสอบและแก้ไขข้อผิดพลาดของโปรแกรม (Program Testing and Debugging) ต่อ
การตรวจสอบด้วยการแปลโปรแกรม (Translating) การป้อนโปรแกรมคอมพิวเตอร์เข้าสู่ เครื่องเพื่อท าการแปลโปรแกรม โดยเรียกใช้ตัวแปลภาษาโปรแกรม (Compiler/Interpreter) ถ้ามีข้อผิดพลาด เครื่องจะแสดงข้อผิดพลาดบนหน้าจอ ความผิดพลาดดังกล่าวนี้ จัดเป็นความผิดพลาดทางไวยากรณ์ของภาษา (Syntax Error) ผู้เขียนโปรแกรมจะต้องแก้ไขให้ถูกต้องจึงจะใช้งานโปรแกรมได้
วงจรการพัฒนาระบบ (SDLC)
• การทดสอบและแก้ไขข้อผิดพลาดของโปรแกรม (Program Testing and Debugging) ต่อ
• ความผิดพลาดแบบ Logical Error เป็นความผิดพลาดที่ไม่มีการแจ้งข้อผิดพลาดออกมา ดังนั้นจึงต้องมีขั้นตอนการตรวจสอบความถูกต้องของข้อมูลดังน้ี
• ใส่ข้อมูลที่ถูกต้อง (Valid case) : ใส่ข้อมูลที่ถูกต้องแล้วดูว่าผลลัพธ์ที่ได้ถูกต้องหรือไม่
• ใช้ขอบเขตและความถูกต้องของข้อมูล (Rang check and Completeness check) : ทดสอบโดยตรวจสอบขอบเขตข้อมูลที่ป้อนเข้าสู่โปรแกรม เช่น ถ้ามีการให้ป้อนวันที่ ต้องตรวจสอบว่าวันที่ไม่เกิน 31 เป็นต้น
วงจรการพัฒนาระบบ (SDLC)
• การทดสอบและแก้ไขข้อผิดพลาดของโปรแกรม (Program Testing and Debugging) ต่อ
• การใช้ความสมเหตุสมผล (Consistency Check) : เช่น ถ้าเลือกว่าเป็นเพศชาย ค าน าหน้าช่ือต้องเลือก “นาย” ได้เท่านั้น
• ข้อมูลที่เป็นตัวเลขและตัวอักษร : เช่น ข้อมูลที่เป็นชื่อ ควรจะรับได้เฉพาะตัวอักษรเท่าน้ัน
• ข้อมูลที่เป็นไปตามข้อก าหนด : เช่น ต้องการให้ป้อนตัวเลข 1 - 5 เท่านั้น ถ้าป้อนตัวเลขอื่นไม่รับ
วงจรการพัฒนาระบบ (SDLC)
• การจัดท าเอกสารเกี่ยวกับโปรแกรม (Program Documentation)
• เป็นการอธิบายรายละเอียดของโปรแกรมว่า จุดประสงค์ของโปรแกรมคืออะไร สามารถท าอะไรได้บ้าง และมีขั้นตอนการท างานของโปรแกรมเป็นอย่างไร
• โปรแกรมเมอร์ที่ดีควรจัดท าเอกสารประกอบโปรแกรมทุกขั้นตอน
• ช่วยให้เกิดความสะดวกในการแก้ไขเปลี่ยนแปลงโปรแกรม
• สะดวกต่อผู้ที่จะเข้ามารับช่วงงานต่อในภายหลัง
วงจรการพัฒนาระบบ (SDLC)
• การจัดท าเอกสารเกี่ยวกับโปรแกรม (Program Documentation) ต่อ
เอกสารประกอบโปรแกรม โดยทั่วไปมี 2 ส่วน คือ
– เอกสารประกอบโปรแกรมส าหรับผู้ใช้
– เอกสารประกอบโปรแกรมส าหรับผู้เขียนโปรแกรม
วงจรการพัฒนาระบบ (SDLC)
• ปรับปรุงและพัฒนาโปรแกรม (Program Maintain)
–แก้ไขโปรแกรมหลังจากการใช้งานแล้ว
• เมื่อมีปัญหา (Bug)
•การเปลี่ยนแปลงของโครงสร้างองค์กร หรือธุรกิจ
แผนภาพการท างานของระบบงานใหม่ (Work Flow Diagram)
• สัญลักษณ์ที่ใช้เหมือนกับ Flowchart • เป็นสัญลักษณ์ที่ใช้จ าลองข้อเท็จจริงต่างๆ ที่เกิดขึ้นในระบบ
• เพื่อแสดงให้เห็นแต่ละมุมมองของระบบ
• ช่วยให้การสื่อสารระหว่างทุกฝ่ายมีความถูกต้องตรงกัน
• สะท้อนให้เห็นหน้าที่การท างานของระบบในด้านต่างๆ