220 likes | 637 Views
V.1806201301. ซอฟต์แวร์พัฒนาระบบฐานข้อมูล บทที่ 2 วงจรการพัฒนาระบบ ( SDLC : System Development Life Cycle). ปริญญา น้อยดอนไพร สาขาวิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยราช ภัฏ สุราษฎร์ธานี. วัตถุประสงค์. นักศึกษาสามารถ อธิบาย วงจรการพัฒนาซอฟต์แวร์
E N D
V.1806201301 ซอฟต์แวร์พัฒนาระบบฐานข้อมูลบทที่ 2 วงจรการพัฒนาระบบ (SDLC : System Development Life Cycle) ปริญญา น้อยดอนไพร สาขาวิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยราชภัฏสุราษฎร์ธานี
วัตถุประสงค์ นักศึกษาสามารถ • อธิบายวงจรการพัฒนาซอฟต์แวร์ • อธิบายเทคนิคการออกแบบซอฟต์แวร์
ขั้นตอนการวิเคราะห์ระบบขั้นตอนการวิเคราะห์ระบบ • ในการวิเคราะห์ระบบ เริ่มต้นจากการค้นหาและเข้าใจปัญหา ซึ่งถ้างานที่กำลังจะทำนั้นไม่มีปัญหา ก็ไม่มีความจำเป็นที่จะต้องไปวิเคราะห์ในเสียเวลา • เมื่อทราบปัญหาแล้ว ทำความเข้าใจปัญหา จากนั้นจะทำการประเมินความคุ้มค่าในการแก้ปัญหา • ถ้าหากประเมินแล้วคุ้มค่าที่จะลงทุนในการพัฒนาระบบ ก็จะกำหนดความต้องการที่จะแก้ปัญหา หรือเรียกว่าข้อกำหนด (Term of Reference: TOR)
ขั้นตอนการวิเคราะห์ระบบ (ต่อ) • หลังจากนั้นจะนำข้อกำหนดนี้ไปให้กับผู้พัฒนาระบบ เพื่อทำการวิเคราะห์วิธีการแก้ปัญหา หรือเรียกว่าข้อเสนอโครงการ (Proposal) • ดำเนินการพัฒนาระบบตามวงจรการพัฒนาระบบ (System Development life Cycle: SDLC) • ผลการติดตามและประเมินผลระบบที่พัฒนาขึ้นจะทำให้ทราบถึงประสิทธิภาพของระบบ เพื่อนำไปปรับปรุงระบบต่อไป
วงจรการพัฒนาระบบ (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)