541 likes | 1.57k Views
บทที่ 2 วงจรการพัฒนาระบบ. อาจารย์เอกบดินทร์ เกตุขาว. Topic. - The System Development Life Cycle (SDLC) - Methedologies, Models, Tools, and Techniques - Tools to Support System Development. โค้งการเรียนรู้ (Learning Curve). ความสนใจของผู้เรียน. ขั้นท้อแท้ เหนื่อยหน่าย
E N D
บทที่ 2 วงจรการพัฒนาระบบ อาจารย์เอกบดินทร์ เกตุขาว
Topic - The System Development Life Cycle (SDLC) - Methedologies, Models, Tools, and Techniques - Tools to Support System Development
โค้งการเรียนรู้ (Learning Curve) ความสนใจของผู้เรียน ขั้นท้อแท้ เหนื่อยหน่าย 1 st Discouraging First stage ขั้นหวนพัฒนา 2 nd Improved returns ขั้นเรียนที่ ราบสูง 3 rd False plateau ขั้นโด่ง แคล่วคล่อง 4 th Peak proficiency ขั้นพ้น การเรียนรู้ 5th Overlearning period Timing
The System Development Life Cycle (SDLC) • System Development managed project • SDLC คือ โครงสร้าง (framework) ของการบริหารโครงงาน (project) ภายในประกอบด้วย Pharse and activity • Project Manager aids to help them Introduced System Development Life Cycle (SDLC) Concepts for help including methedologies , models, tools, and techniques in details
The System Development Life Cycle (SDLC) SDLC Pharse Activity
Concept System Development • การสร้างบ้าน : System Development • แผนการสร้างบ้าน (System Development Life Cycle : SDLC) • 2. วิธีสร้างบ้าน : (methedology : Traditional approach,OO approach) • model : Entity-Relationship Diagram (ERD),Data Flow Diagram (DFD) • ,Use Case System Sequence Diagram(SSD),etc. • Tools : Computer-aid System Enginerring (CASE Tool) • Techniques : User interviewing techniques,Project management techniques)
Concept System Development System Development SDLC Water Fall Concept Methedology - แบบจำลอง (Model) - ซอฟต์แวร์ที่ช่วยสร้างแบบจำลอง(Tools) - แนวทางที่นำมาช่วยในการพัฒนาให้เกิดประสิทธิภาพ (Techniques)
The System Development Life Cycle (SDLC) Methedology Techniques Models Tools Relationships among components of a methedology
The System Development Life Cycle (SDLC) 2 Analysis Phase 1 Project Planning Phase 3 Design Phase SDLC 4 Implementation Phase 5 Maintenance/Support Phase
The System Development Life Cycle (SDLC) Project Planning Analysis Design Implementation Maintenance/Support ระบุขอบเขตของระบบใหม่ ความเป็นไปได้(แผนงานต่างๆ เช่น แผนการเงินและการใช้ทรัพยากร,ตารางเวลา) ทำความเข้าใจเอกสารและรายละเอียดต่างๆ ออกแบบการแก้ปัญหาของระบบ สร้างการทดสอบ,Trained users บำรุงรักษาการทำงานของเพื่อให้ทำงานคงที่
The System Development Life Cycle (SDLC) • วงจรชีวิตการพัฒนาระบบ (SDLC) แบ่งออกเป็น 5 ระยะ (Phase) ดังนี้ ระยะที่ 1 : การวางแผนโครงการ (Project Planning Phase) ระยะที่ 2 : การวิเคราะห์ (Analysis Phase) ระยะที่ 3 : การออกแบบ (Design Phase) ระยะที่ 4 : การทดสอบ/นำไปใช้ (Implementation Phase) ระยะที่ 5 : การบำรุงรักษา (Maintenance/Support Phase)
The System Development Life Cycle (SDLC) ระยะที่ 1 :การวางแผนโครงการ (Project Planning Phase) - กำหนดปัญหา (Problem Definition) - ศึกษาความเป็นไปได้ของโครงการ (Feasibility Study) - จัดทำตารางกำหนดเวลาโครงการ (Project scheduling) - จัดตั้งทีมงานโครงการ (Staff the project) - ดำเนินการโครงการ (Launch the project) Flowchart
The System Development Life Cycle (SDLC) ระยะที่ 2 :การวิเคราะห์ (Analysis Phase) มุ่งเน้นการแก้ปัญหาอะไร :What วัตถุประสงค์หลักของระยะการวิเคราะห์ คือ การรวบรวมความต้องการ (Requirements Gathering) * การรวบรวมข้อมูลหรือความต้องการในด้านต่างๆ เพื่อสรุปเป็นข้อกำหนด Business Process …………………… …………………… …………………… …………………… …………………… Requirements Gathering And Analysis Business Information Business Rules
The System Development Life Cycle (SDLC) ระยะที่ 2 :การวิเคราะห์ (Analysis Phase) ขั้นตอนต่อไป คือ การนำข้อกำหนดเหล่านั้นไปพัฒนาเป็นความต้องการของระบบใหม่ โดยใช้การพัฒนาแบบจำลองกระบวนการ ซึ่งเป็นแผนภาพที่ใช้อธิบายถึงกระบวนการที่ต้องทำในระบบว่ามีอะไรบ้าง และพัฒนาแบบจำลองข้อมูล (Data Model) …………………… …………………… …………………… …………………… …………………… Analysis Requirements Specification ขั้นตอนการนำข้อกำหนดมาวิเคราะห์ในรายละเอียดเพื่อสร้างเป็นแบบจำลองกระบวนการของระบบใหม่
The System Development Life Cycle (SDLC) ระยะที่ 2 :การวิเคราะห์ (Analysis Phase) - วิเคราะห์ระบบงานปัจจุบัน - รวบรวมความต้องการในด้านต่างๆ และนำมาวิเคราะห์เพื่อสรุปเป็นข้อกำหนดที่ชัดเจน - นำข้อกำหนดมาพัฒนาออกมาเป็นความต้องการของระบบใหม่ - สร้างแบบจำลองกระบวนการของระบบใหม่ด้วยการวาดแผนภาพกระแสข้อมูล (Data Flow Diagram : DFD) - สร้างแบบจำลองข้อมูล ด้วยการวาดอีอาร์ไดอะแกรม (Entity Relationship Diagram : ERD)
The System Development Life Cycle (SDLC) ระยะที่ 3 :การออกแบบ (Design Phase) (มุ่งเน้นการแก้ปัญหาอย่างไร : How) Design Physical Model Logical Model ขั้นตอนการนำแบบจำลองลอจิคัลมาผ่านการออกแบบเพื่อพัฒนาเป็นแบบจำลองทางฟิสิคัล - สถาปัตยกรรมระบบ (Architecture Design) ที่เกี่ยวข้องกับอุปกรณ์ , ฮาร์ดแวร์ , ซอฟต์แวร์ , เครือข่าย , การออกแบบรายงาน (Output Design) , การออกแบบจอภาพเพื่อปฎิสัมพันธ์กับผู้ใช้ (User Interface) , ฐานข้อมูล (Database) , ไฟล์ (File)
The System Development Life Cycle (SDLC) ระยะที่ 4 :การนำไปใช้ (Implementation Phase) - สร้างระบบขึ้นมาด้วยการเขียนโปรแกรม - ตรวจสอบความถูกต้องทั้งทางด้านตรวจสอบความถูกต้องและดำเนินการทดสอบระบบ - แปลงข้อมูล (Convert Data) - ติดตั้งระบบ (System Installation) และจัดทำคู่มือเอกสาร - ฝึกอบรมผู้ใช้ และประเมินผลระบบใหม่
The System Development Life Cycle (SDLC) Coding/Testing ระยะที่ 4 :การนำไปใช้ (Implementation Phase) Implement Implement Model Physical Model การเขียนโปรแกรม ทดสอบ และนำไปใช้ (Coding/Testing and Implement)
The System Development Life Cycle (SDLC) ระยะที่ 5 :การบำรุงรักษา (Maintenance Phase) - การบำรุงรักษาระบบ (System Maintenance) - การเพิ่มเติมคุณสมบัติใหม่ๆ เข้าไปในระบบ (Enhance the System) - การสนับสนุนงานของผู้ใช้ (Support the Users)
SDLC :Water Fall โมเดลการพัฒนาซอฟต์แวร์ คือ แบบจำลองที่ใช้สำหรับเป็นตัวชี้นำถึงกิจกรรมหลักในการพัฒนาซอฟต์แวร์ ด้วยการกำหนดรายละเอียดหรือข้อบัญญัติไว้ในแต่ละขั้นตอน สาเหตุที่ต้องใช้โมเดล - โมเดลการพัฒนาซอฟต์แวร์จะมีการแตกขั้นตอนของกระบวนการพัฒนาในแต่ละเฟส (Phase) - ซอฟต์แวร์ที่พัฒนามีความซับซ้อน - การแบ่งกระบวนการเป็นเฟสหรือระยะ จะทำให้ง่ายต่อการจัดการ - แต่ละเฟสมีแนวทางต่างๆ ให้เลือกปฎิบัติ
SDLC :Water Fall Water Fall - เกิดขึ้นราว ค.ศ. 1970 ยังได้รับความนิยม - ง่ายต่อการนำไปประยุกต์ใช้
SDLC :Water Fall Requirements Analysis Design Coding Testing Maintenance Water Fall แบบดั้งเดิม
SDLC :Water Fall Requirements Water Fall ที่ผ่านการปรับปรุงด้วยการเพิ่มคุณสมบัติการทวนซ้ำเป็นรอบ (Iteration) Analysis Design Coding Testing Maintenance
กรรมวิธีการพัฒนาระบบ (System Development Methodology) Methedology คือ กระบวนการนำแนวคิด SDLC มาปฎิบัติจนสามารถใช้การได้ ในการปฎิบัตินี้จะใช้สิ่งเหล่านี้ช่วยในการทำงานโมเดล (Model) , เครื่องมือ (Tools) และเทคนิค (Techniques) ต่างๆ มาใช้กับการพัฒนาซอฟต์แวร์ Model ได้แก่ - ผังงาน (Flowchart) - แผนภาพกระแสข้อมูล (Data Flow Diagram) - อีอาร์ไดอะแกรม (ER Diagram) - ยูสเคสไดอะแกรม (Use Case Diagram) , Class Diagram , Sequence Diagram
กรรมวิธีการพัฒนาระบบ (System Development Methodology) Methedology Traditional approach - - - - OO approach - - - - -
กรรมวิธีการพัฒนาระบบ (System Development Methodoloby) วิธีการพัฒนาระบบแบบดั้งเดิม (The Traditional Approach) ตั้งอยู่บนพื้นฐานของการพัฒนาระบบด้วยวิธีโครงสร้างและการโปรแกรมแบบโมดูล เรียกว่า การพัฒนาระบบเชิงโครงสร้าง (Structured Approach) โดยอาศัยการเขียนโปรแกรมเชิงโครงสร้าง (Structure Programming) ซึ่งประกอบด้วย 1. ชุดคำสั่งที่เรียงเป็นลำดับ (Sequence) 2. ชุดคำสั่งที่มีการตัดสินใจ (Decision)
กรรมวิธีการพัฒนาระบบ (System Development Methodoloby) วิธีการพัฒนาระบบ ประกอบด้วย 2 วิธี คือ 3. ชุดคำสั่งที่มีการทำงานเป็นลูป (Loop) หรือการทำซ้ำ (Repetition) แนวคิดโปรแกรมเชิงโครงสร้างที่เรียกว่า Top-Down Programming หรือการโปรแกรมแบบโมดูล (Modular Programming) Control Module Start Call module 1 Call module 2 Call module 3 stop Module 3 Begin If x the y Else q Do abc return Module 1 Begin Do 1 Do 2 Do 3 return Module 2 Begin Do x Do y Do z return
Model แสดงให้เห็นถึงความสัมพันธ์ระหว่างข้อมูลเป็นสำคัญเรียกว่า แผนภาพอีอาร์ (Entity-Relationship Diagram : ERD) รายการลงทะเบียน std_no* Course_no grade คอร์สวิชาที่เปิดสอน Course_no* Name credit นักศึกษา std_no* name Faculty_code Major_code ตัวอย่างแผนภาพอีอาร์ (ER-Diagram)
Model Flow Chart
Model แสดงให้เห็นถึงข้อมูลที่ไหลไปยังกระบวนการต่างๆ (Data and Process) เรียกว่า แผนภาพกระแสข้อมูล (Data Flow Diagram : DFD)
Model Use Case Diagram
TOOL - โปรแกรมจัดการฐานข้อมูล - โปรแกรมประมวลผลคำสั่ง - โปรแกรมจัดการโครงการ - CASE TOOLS - Integrated Data Environments (IDE)
TOOL CASE Toolเป็นซอฟต์แวร์ที่จะช่วยผู้พัฒนาระบบในการดำเนินกิจกรรมพัฒนาซอฟต์แวร์ เช่น ออกแบบ สร้างข้อกำหนดทดสอบ ซอฟต์แวร์ เคสทูลส์แบ่งเป็น 2 ประเภท 1. อัปเปอร์เคสทูลส์ (Upper CASE Tools)เป็นเครื่องมือที่สนับสนุนด้านการวิเคราะห์ในระหว่างขั้นตอนของวิเคราะห์และออกแบบ เช่น การสร้าง การตรวจสอบโมเดลที่สร้าง เช่น Visible Analyst,Power Designer 2. โลเวอร์เคสทูลส์ (Lower CASE Tools)เป็นเครื่องมือที่สนับสนุน ด้านการนำไปใช้ (Implementation)เช่น สามารถทำการแปลง (Generate) ให้เป็นรหัสโปรแกรม เช่น Rational Rose
Techniques เทคนิค (Techniques) - เทคนิคการเขียนโปรแกรม - เทคนิคการทดสอบซอฟต์แวร์ - เทคนิคการวิเคราะห์และออกแบบระบบเชิงวัตถุ - User Interview Technique
Quiz • วงจรการพัฒนาระบบ หรือ SDLC คืออะไร ประกอบด้วยอะไรบ้าง? • รายละเอียดกิจกรรมต่างๆ ของแต่ละระยะใน SDLC ประกอบด้วยกิจกรรมใดบ้าง จงสรุปมาให้พอเข้าใจ? • กรรมวิธีการพัฒนาระบบ จะมีการนำอะไรเข้ามาช่วยในการพัฒนา? • วิธีการพัฒนาระบบ มีกี่วิธี อะไรบ้าง จงอธิบาย? • จงอธิบายขั้นตอน SDLC ที่ชื่อว่า Water Fall? • ทำไมจึงต้องใช้ CASE Tools ช่วยในการพัฒนาซอฟต์แวร์ จงสรุปมาให้พอเข้าใจ?