21
การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 2 วงจรการพัฒนาระบบ (SDLC : System Development Life Cycle) ปริญญา น้อยดอนไพร สาขาวิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยราชภัฏสุราษฎร์ธานี V.1806201301

การออกแบบและพัฒนาซอฟต์แวร์ · วงจรการพัฒนาระบบ (sdlc) •การวิเคราะห์และออกแบบระบบ

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 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)

•การเปลี่ยนแปลงของโครงสร้างองค์กร หรือธุรกิจ

การวิเคราะห์และออกแบบระบบ (System Analysis and Design)

แผนภาพการท างานของระบบงานใหม่ (Work Flow Diagram)

• สัญลักษณ์ที่ใช้เหมือนกับ Flowchart • เป็นสัญลักษณ์ที่ใช้จ าลองข้อเท็จจริงต่างๆ ที่เกิดขึ้นในระบบ

• เพื่อแสดงให้เห็นแต่ละมุมมองของระบบ

• ช่วยให้การสื่อสารระหว่างทุกฝ่ายมีความถูกต้องตรงกัน

• สะท้อนให้เห็นหน้าที่การท างานของระบบในด้านต่างๆ

แผนภาพการท างานของระบบงานใหม่ (Work Flow Diagram)

ตัวอย่าง Work Flow