การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 2...

21
กกกกกกกกกกกกกกกกก กกกกกกกกก กกกกก 2 กกกกกกกกกกกก กกกก (SDLC : System Development Life Cycle) ปปปปปป ปปปปปปปปปป ปปปปปปปปปปปปปปปปปปปปปปปปปปป ปปป ปปปปปปปปปปปปปปปปปปปปปปป ปปปปปปปปปปปปปปปปปปปปปปปปปปปปป V.1806201301

description

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

Transcript of การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 2...

การออกแบบและพัฒนาซอฟต์�แวร�

บทท�� 2 วงจรการพัฒนาระบบ (SDLC : System

Development Life Cycle)ปริ�ญญา น้�อยดอน้ไพริสาขาวิ�ชาวิ�ทยาการิคอมพ�วิเตอริ� คณะวิ�ทยาศาสตริ�

และเทคโน้โลย�มหาวิ�ทยาล!ยริาชภั!ฏส$ริาษฎริ�ธาน้�

V.1806201301

วิ!ตถุ$ปริะสงค�

นกศึ�กษาสามารถ• อธิ�บายวงจรการพัฒนาซอฟต์�แวร�• อธิ�บายเทคน�คการออกแบบซอฟต์�แวร�

ข!*น้ตอน้การิวิ�เคริาะห�ริะบบ

• ในการว�เคราะห์�ระบบ เร��มต์%นจากการค%นห์าและเข้%าใจปั(ญห์า ซ��งถ%างานท��ก*าลงจะท*าน+นไม-ม�ปั(ญห์า ก.ไม-ม�ความจ*าเปั/นท��จะต์%องไปัว�เคราะห์�ในเส�ยเวลา

• เม0�อทราบปั(ญห์าแล%ว ท*าความเข้%าใจปั(ญห์า จากน+นจะท*าการปัระเม�นความค1%มค-าในการแก%ปั(ญห์า

• ถ%าห์ากปัระเม�นแล%วค1%มค-าท��จะลงท1นในการพัฒนาระบบ ก.จะก*าห์นดความต์%องการท��จะแก%ปั(ญห์า ห์ร0อเร�ยกว-าข้%อก*าห์นด (Term of Reference: TOR)

ข!*น้ตอน้การิวิ�เคริาะห�ริะบบ (ต,อ)

• ห์ลงจากน+นจะน*าข้%อก*าห์นดน�+ไปัให์%กบผู้4%พัฒนาระบบ เพั0�อท*าการว�เคราะห์�ว�ธิ�การแก%ปั(ญห์า ห์ร0อเร�ยกว-าข้%อเสนอโครงการ (Proposal)

• ด*าเน�นการพัฒนาระบบต์ามวงจรการพัฒนาระบบ (System Development life Cycle: SDLC)

• ผู้ลการต์�ดต์ามและปัระเม�นผู้ลระบบท��พัฒนาข้�+นจะท*าให์%ทราบถ�งปัระส�ทธิ�ภาพัข้องระบบ เพั0�อน*าไปัปัรบปัร1งระบบต์-อไปั

วิงจริการิพ!ฒน้าริะบบ (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.ปัรบปัร1งและพัฒนาโปัรแกรม

(Program Maintain)

วิงจริการิพ!ฒน้าริะบบ (SDLC)

• วิ�เคริาะห�ป/ญหา (Problem Analysis) เพั0�อท*าความเข้%าใจกบปั(ญห์าท��เก�ดข้�+น และค%นห์าจ1ดม1-งห์มาย

ห์ร0อส��งท��ต์%องการ ม� 3 องค�ปัระกอบท��ช้-วยในการว�เคราะห์�ปั(ญห์า ได%แก-

ริะบ$ข�อม0ลเข�า (Input Specification) : ข้%อม4ลอะไรบ%างท��ต์%องปั8อนเข้%าส4-คอมพั�วเต์อร� เพั0�อให์%โปัรแกรมท*าการปัระมวลผู้ลและออกผู้ลลพัธิ�

ริะบ$ข�อม0ลออก (Output Specification) : งานท��ท*าม�เปั8าห์มายห์ร0อวต์ถ1ปัระสงค�อะไร ต์%องการผู้ลลพัธิ�ร4ปัร-างห์น%าต์าอย-างไร โดยค*าน�งถ�งผู้4%ใช้%เปั/นห์ลกในการออกแบบผู้ลลพัธิ�

ก1าหน้ดวิ�ธ�การิ (Process Specification) : ห์าว�ธิ�การปัระมวลผู้ลเพั0�อให์%ได%ผู้ลลพัธิ�ต์ามต์%องการ

วิงจริการิพ!ฒน้าริะบบ (SDLC)

• วิ�เคริาะห�ป/ญหา (Problem Analysis) ต์-อ ความเปั/นมาและสภาพัปั(ญญา ก*าห์นดวต์ถ1ปัระสงค�ข้องการพัฒนา ก*าห์นดข้อบเข้ต์ (จ*าแนกต์ามผู้4%ใช้%งานท��

เก��ยวข้%องกบระบบ) เช้-นพันกงาน1.สามารถเพั��ม ลบ แก%ไข้ ส0บค%น ข้%อม4ลสมาช้�กได%2.สามารถเร�ยกด4รายงานข้%อม4ลสมาช้�กได%

ระบ1ผู้ลท��คาดว-าจะได%รบจากระบบท��พัฒนา

วิงจริการิพ!ฒน้าริะบบ (SDLC)

• การิวิ�เคริาะห�และออกแบบริะบบ (System Analysis and Design)–ช้-วยให์%การเข้�ยนโปัรแกรมท*าได%ง-ายข้�+น–การเข้�ยนโปัรแกรมม�ข้%อผู้�ดพัลาดน%อยลง–ช้-วยในการต์รวจสอบการท*างานข้อง

โปัรแกรม

วิงจริการิพ!ฒน้าริะบบ (SDLC)• การิวิ�เคริาะห�และออกแบบริะบบ (System Analysis and Design)

ต์-อ–ผั!งงาน้ (Flowchart) ห์ร0อ แผัน้ภัาพการิท1างาน้ของริะบบงาน้

ใหม, (Work Flow Diagram) : ใช้%ร4ปัภาพัแสดงข้+นต์อนการแก%ปั(ญห์า สามารถอ-านและเข้%าใจได%ง-าย ห์ร0อน*าเสนอในร4ปัแบบ

– แผัน้ภั0ม�โคริงสริ�าง (Structure chart) : เปั/นการแบ-งงานให์ญ-ออกเปั/นโมด4ลย-อยๆ เร�ยกว-าการออกแบบจากบนลงล-าง (Top-Down Design)

– แผัน้ภัาพบริ�บท (Context Diagram) – แผัน้ภัาพกริะแสข�อม0ล (DFD : Data Flow Diagram)– แผัน้ภัาพแสดงควิามส!มพ!น้ธ�ของข�อม0ล (ERD : Entity

Relation Diagram) –พจน้าน้$กริมข�อม0ล (Data Dictionary) : การแปัลความห์มายข้อง

ERD ก*าห์นดช้น�ดข้%อม4ล ความกว%าง ค�ย� เปั/นต์%น (Entity => Table)– ออกแบบส,วิน้น้1าเข�าและส,งออก (Input and Output Design)

วิงจริการิพ!ฒน้าริะบบ (SDLC)

• การิเข�ยน้โปริแกริม (Coding / Programming)– เปั/นการน*าส��งท��ได%จากข้+นต์อนการออกแบบมา

เปั/นโปัรแกรมคอมพั�วเต์อร�– เล0อกใช้%ภาษาส*าห์รบการพัฒนาซอฟต์�แวร�

วิงจริการิพ!ฒน้าริะบบ (SDLC)

• การิทดสอบและแก�ไขข�อผั�ดพลาดของโปริแกริม (Program Testing and Debugging)

• โดยท�วไปัม�ว�ธิ�การต์รวจสอบข้%อผู้�ดพัลาดข้องโปัรแกรม 2 ข้+นต์อน ได%แก-การต์รวจสอบด%วยต์นเอง (Self Checking) เปั/นการต์รวจสอบการท*างานข้องโปัรแกรมท�ละข้+นต์อนด%วยต์นเอง ว-าโปัรแกรมท*างานได%ผู้ลลพัธิ�ถ4กต์%องต์ามความเปั/นจร�งห์ร0อไม- เปั/นความผู้�ดพัลาดจากการต์�ความห์มายข้องปั(ญห์าผู้�ด (Logical Error)

วิงจริการิพ!ฒน้าริะบบ (SDLC)

• การิทดสอบและแก�ไขข�อผั�ดพลาดของโปริแกริม (Program Testing and Debugging) ต์-อการต์รวจสอบด%วยการแปัลโปัรแกรม (Translating) การปั8อนโปัรแกรมคอมพั�วเต์อร�เข้%าส4-เคร0�องเพั0�อท*าการแปัลโปัรแกรม โดยเร�ยกใช้%ต์วแปัลภาษาโปัรแกรม (Compiler/Interpreter) ถ%าม�ข้%อผู้�ดพัลาด เคร0�องจะแสดงข้%อผู้�ดพัลาดบนห์น%าจอ ความผู้�ดพัลาดดงกล-าวน�+ จดเปั/นความผู้�ดพัลาดทางไวยากรณ์�ข้องภาษา (Syntax Error) ผู้4%เข้�ยนโปัรแกรมจะต์%องแก%ไข้ให์%ถ4กต์%องจ�งจะใช้%งานโปัรแกรมได%

วิงจริการิพ!ฒน้าริะบบ (SDLC)

• การิทดสอบและแก�ไขข�อผั�ดพลาดของโปริแกริม (Program Testing and Debugging) ต์-อ

• ความผู้�ดพัลาดแบบ Logical Error เปั/นความผู้�ดพัลาดท��ไม-ม�การแจ%งข้%อผู้�ดพัลาดออกมา ดงน+นจ�งต์%องม�ข้ +นต์อนการต์รวจสอบความถ4กต์%องข้องข้%อม4ลดงน�+

• ใส-ข้%อม4ลท��ถ4กต์%อง (Valid case) : ใส-ข้%อม4ลท��ถ4กต์%องแล%วด4ว-าผู้ลลพัธิ�ท��ได%ถ4กต์%องห์ร0อไม-

• ใช้%ข้อบเข้ต์และความถ4กต์%องข้องข้%อม4ล (Rang check and Completeness check) : ทดสอบโดยต์รวจสอบข้อบเข้ต์ข้%อม4ลท��ปั8อนเข้%าส4-โปัรแกรม เช้-น ถ%าม�การให์%ปั8อนวนท�� ต์%องต์รวจสอบว-าวนท��ไม-เก�น 31 เปั/นต์%น

วิงจริการิพ!ฒน้าริะบบ (SDLC)

• การิทดสอบและแก�ไขข�อผั�ดพลาดของโปริแกริม (Program Testing and Debugging) ต์-อ

• การใช้%ความสมเห์ต์1สมผู้ล (Consistency Check) : เช้-น ถ%าเล0อกว-าเปั/นเพัศึช้าย ค*าน*าห์น%าช้0�อต์%องเล0อก นาย ได%เท-าน+น“ ”

• ข้%อม4ลท��เปั/นต์วเลข้และต์วอกษร : เช้-น ข้%อม4ลท��เปั/นช้0�อ ควรจะรบได%เฉพัาะต์วอกษรเท-าน+น

• ข้%อม4ลท��เปั/นไปัต์ามข้%อก*าห์นด : เช้-น ต์%องการให์%ปั8อนต์วเลข้ 1 - 5 เท-าน+น ถ%าปั8อนต์วเลข้อ0�นไม-รบ

วิงจริการิพ!ฒน้าริะบบ (SDLC)

• การิจ!ดท1าเอกสาริเก�4ยวิก!บโปริแกริม (Program Documentation)

• เปั/นการอธิ�บายรายละเอ�ยดข้องโปัรแกรมว-า จ1ดปัระสงค�ข้องโปัรแกรมค0ออะไร สามารถท*าอะไรได%บ%าง และม�ข้ +นต์อนการท*างานข้องโปัรแกรมเปั/นอย-างไร

• โปัรแกรมเมอร�ท��ด�ควรจดท*าเอกสารปัระกอบโปัรแกรมท1กข้+นต์อน

• ช้-วยให์%เก�ดความสะดวกในการแก%ไข้เปัล��ยนแปัลงโปัรแกรม

• สะดวกต์-อผู้4%ท��จะเข้%ามารบช้-วงงานต์-อในภายห์ลง

วิงจริการิพ!ฒน้าริะบบ (SDLC)

• การิจ!ดท1าเอกสาริเก�4ยวิก!บโปริแกริม (Program Documentation) ต์-อเอกสารปัระกอบโปัรแกรม โดยท�วไปัม� 2 ส-วน ค0อ– เอกสารปัระกอบโปัรแกรมส*าห์รบผู้4%ใช้%– เอกสารปัระกอบโปัรแกรมส*าห์รบผู้4%เข้�ยน

โปัรแกรม

วิงจริการิพ!ฒน้าริะบบ (SDLC)

• ปริ!บปริ$งและพ!ฒน้าโปริแกริม (Program Maintain)

–แก%ไข้โปัรแกรมห์ลงจากการใช้%งานแล%ว• เม0�อม�ปั(ญห์า (Bug)•การเปัล��ยนแปัลงข้องโครงสร%างองค�กร ห์ร0อธิ1รก�จ

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

Design)

แผัน้ภัาพการิท1างาน้ของริะบบงาน้ใหม,(Work Flow Diagram)

• สญลกษณ์�ท��ใช้%เห์ม0อนกบ Flowchart• เปั/นสญลกษณ์�ท��ใช้%จ*าลองข้%อเท.จจร�งต์-างๆ

ท��เก�ดข้�+นในระบบ • เพั0�อแสดงให์%เห์.นแต์-ละม1มมองข้องระบบ • ช้-วยให์%การส0�อสารระห์ว-างท1กฝ่=ายม�ความถ4ก

ต์%องต์รงกน• สะท%อนให์%เห์.นห์น%าท��การท*างานข้องระบบใน

ด%านต์-างๆ

แผู้นภาพัการท*างานข้องระบบงานให์ม- (Work Flow Diagram)

ต!วิอย,าง Work Flow