การพัฒนาระบบ

Download Report

Transcript การพัฒนาระบบ

บทที่ 2 การพัฒนาระบบสารสนเทศ
Information System Development
วัตถุประสงค์
1. อธิบายขั้นตอนการพัฒนาระบบได้
2. อธิบายวิธีการนาวิศวกรรมซอฟต์แวร์มา
ปรับปรุ งคุณภาพการพัฒนาระบบได้
3. บอกข้อดีขอ้ จากัดของกลยุทธ์ในการพัฒนา
ระบบแต่ละวิธีได้
2
วงจรการพัฒนาระบบ
(System Development Life Cycle : SDLC)
1.
2.
3.
4.
5.
การวางแผนโครงการ (Planning)
การวิเคราะห์ระบบ (Analysis)
การออกแบบระบบ (Design)
การพัฒนาระบบ (Implementation)
การบารุ งรักษาระบบ (Maintenance)
3
การวางแผนโครงการ (Project Planning Phase)
• เป็ นขั้นตอนในการพิจารณาว่าเหตุใดต้องสร้างระบบงานใหม่ (Project
Initiate) และทาการศึกษาปัญหา และหาแนวทางในการแก้ปัญหา โดย
ศึกษาถึงความคุม้ ค่าต่อการลงทุน และความเป็ นไปได้ดา้ นต่าง ๆ แล้วจึง
เลือกหนทางในการแก้ปัญหา และวางแผนการดาเนินโครงการ
• สรุ ปกิจกรรมในขั้นตอนการวางแผนโครงการ





กาหนดปั ญหา (Problem definition)
ศึกษาความเป็ นไปได้ของโครงการ (Feasibility analysis)
จัดทาตารางกาหนดเวลาโครงการ (Project scheduling)
จัดตั้งทีมงานโครงการ (Staff the project)
ดาเนินโครงการ (Launch the project)
4
การวิเคราะห์ ระบบ (Analysis Phase)
• เป็ นการศึกษาให้เข้าใจถึงระบบงานปัจจุบนั และ
นามาพัฒนาเป็ นระบบงานใหม่ โดยเก็บรวบรวม
ความต้องการ (Requirement Gathering) ของผูใ้ ช้
ระบบ เช่นจากการสังเกต สัมภาษณ์ แบบสอบถาม
เอกสารการปฏิบตั ิงาน ระเบียบข้อบังคับ แล้วสรุ ป
เป็ นข้อกาหนดของระบบ (Requirement
Specification) จากนั้นนามาพัฒนาเป็ นระบบใหม่
โดยแสดงแบบจาลองกระบวนการทางาน (Process
Model) และแบบจาลองข้อมูล (Data Model)
5
กิจกรรมในขั้นตอนการวิเคราะห์ ระบบ
1. รวบรวมความต้องการระบบ
2. ออกแบบระบบงานใหม่
3. สร้างแบบจาลองกระบวนการทางานด้วย
การวาดแผนภาพกระแสข้อมูล
(Data Flow Diagram)
4. สร้างแบบจาลองข้อมูล (ER Diagram)
6
การรวบรวมความต้ องการระบบ
Business Process
Business
Information
Business Rules
Business Process
…………...
…………..
…………..
………….
Requirements Specification
7
ภาพการวิเคราะห์ เพือ่ สร้ างแบบจาลองกระบวนการทางาน
…………...
…………..
…………..
………….
Requirements
Specification
Analysis
Logical Model
8
การออกแบบ (Design Phase)
• เกี่ยวข้องกับการออกแบบ






ฐานข้อมูล (Database)
ผลลัพธ์ (Output design)
การนาข้อมูลเข้า (Input design)
ส่ วนติดต่อกับผูใ้ ช้ (User Interface)
สถาปัตยกรรมระบบ (Architecture design)
ออกแบบโปรแกรม (Software design)
9
การวิเคราะห์ และออกแบบระบบ
• การวิเคราะห์ มุ่งเน้นการแก้ปัญหาอะไร
(What)
• การออกแบบ มุ่งเน้นการแก้ปัญหาอย่างไร
(How)
10
การพัฒนาระบบ (Implementation Phase)
• ประกอบด้วยกิจกรรม






การเขียนโปรแกรม
การทดสอบโปรแกรม
การแปลงข้อมูล
การติดตั้งระบบ
การจัดทาเอกสารคู่มือ
การฝึ กอบรม และประเมินผลระบบ
11
การบารุงรักษาระบบ (Maintenance Phase)
• ประกอบด้วยกิจกรรม



การบารุ งรักษาระบบ
การเพิ่มเติมคุณสมบัติใหม่ๆ
การสนับสนุนการใช้งานของผูใ้ ช้
12
กรรมวิธีการพัฒนาระบบ
(System Development Methodology)
• Methodology หมายถึง แนวทางการพัฒนา
ระบบที่นาเอาโมเดล เครื่ องมือ และเทคนิค
ต่าง ๆ มาพัฒนาซอฟต์แวร์
13
โมเดล (Model)
• โมเดล หมายถึงแบบจาลองอธิบายกระบวนการ
ทางานของระบบ โดยนาเสนอในรู ปแผนภาพ
ต่าง ๆ เช่น
Flow Chart
 Data Flow Diagram
 ER-Diagram
 Structure Chart
 ฯลฯ

14
เครื่องมือ (Tools)
• เครื่ องมือ หมายถึง โปรแกรมที่ใช้สนับสนุนการ
พัฒนาระบบ เช่น






โปรแกรมการจัดการโครงการ
โปรแกรมวาด Diagram
โปรแกรมประมวลผลคา
CASE TOOLS
โปรแกรมจัดการฐานข้อมูล
ฯลฯ
15
เทคนิค (Techniques)
• เทคนิค คือวิธีการแนะนาที่ช่วย
นักวิเคราะห์ระบบในกระบวนการพัฒนา
ระบบให้เกิดความสมบูรณ์ยงิ่ ขึ้น เช่น




เทคนิคการบริ หารโครงการ
เทคนิคการสัมภาษณ์
เทคนิคการสร้างแบบจาลอง
ฯลฯ
16
วิธีการพัฒนาระบบ
• ประกอบด้วย 2 วิธี คือ
วิธีการพัฒนาระบบแบบดั้งเดิม
(The Traditional Approach)
 วิธีการพัฒนาระบบเชิ งวัตถุ
(The Object-Oriented Approach)

17
วิธีการพัฒนาระบบแบบดั้งเดิม
(The Traditional Approach)
• มักเรี ยกว่า การพัฒนาระบบเชิงโครงสร้าง (Structure
System Development) ประกอบด้วย
การวิเคราะห์เชิงโครงสร้าง (Structure Analysis)
 การออกแบบเชิ งโครงสร้าง (Structure Design)
 การโปรแกรมเชิ งโครงสร้าง (Structure Programming)

18
วิธีการพัฒนาระบบเชิงวัตถุ
(The Object-Oriented Approach)
• ประกอบด้วย
การวิเคราะห์เชิงวัตถุ (Object-Oriented Analysis: OOA)
 การออกแบบเชิ งวัตถุ (Object-Oriented Design: OOD)
 การโปรแกรมเชิ งวัตถุ (Object-Oriented Programming: OOP)

19
วิศวกรรมซอฟต์ แวร์ (Software Engineering)
• การนาหลักวิทยาศาสตร์มาประยุกต์ใช้
เพื่อให้การพัฒนาซอฟต์แวร์มีมาตรฐาน
และมีคุณภาพ
20
กิจกรรมพืน้ ฐานของกระบวนการทางวิศวกรรมซอฟต์ แวร์
1. ข้อกาหนดซอฟต์แวร์ (Software Specification) มี
กิจกรรมหลัก คือ




ศึกษาความเป็ นไปได้
วิเคราะห์ความต้องการ
สรุ ปเป็ นข้อกาหนด
ตรวจสอบความต้องการ
2. การพัฒนาซอฟต์แวร์ (Software Development)
3. การตรวจสอบความถูกต้อง (Software Validation)
4. วิวฒั นาการของซอฟต์แวร์ (Software Evolution)
21
คุณสมบัตซิ อฟต์ แวร์ ทมี่ ปี ระสิ ทธิภาพ
1.
2.
3.
4.
5.
6.
7.
8.
9.
มีความถูกต้องตรงตามความต้องการ (Correctness)
ผลลัพธ์มีความน่าเชื่อถือ (Reliability)
ใช้งานง่าย (User Friendliness)
ปรับเปลี่ยนง่าย (Adaptability)
สามารถนากลับมาใช้ใหม่ได้ (Reusability)
เข้ากันได้กบั ระบบอื่นๆ (Interoperability)
มีประสิ ทธิภาพ (Efficiency)
เคลื่อนย้ายสะดวก (Portability)
มีความปลอดภัย (Security)
22
โมเดลการพัฒนาซอฟต์ แวร์
• Water Fall Model
• Incremental Model
• Spiral Model
• Rapid Application Development
• Joint Application Development (JAD)
• Ration Unified Process
23
Water Fall Model
24
เครื่องมือทีใ่ ช้ สนับสนุนการพัฒนาระบบ
(CASE Tools)
• Computer-aided Software Engineering
(CASE TOOS)
 เครื่ องมืออัตโนมัติที่นก
ั วิเคราะห์ระบบ
นามาใช้เพื่อพัฒนาระบบสารสนเทศ
 วัตถุประสงค์ คือ ช่วยเพิม
่ ความสามารถในการ
ผลิตและปรับปรุ งคุณภาพของระบบโดยรวม
25
เครื่องมือของโปรแกรมเคส
 เครื่ องมือในการสร้างแผนภาพ
 เครื่ องมือจัดทาคาอธิ บาย
 เครื่ องมือสร้างหรื อจัดทาต้นฉบับ
 เครื่ องมือจัดการด้านคุณภาพ
 เครื่ องมือจัดทาเอกสาร
 เครื่ องมือออกแบบและแปลงรหัส
26
ประเภทของ CASE Tools
• Upper CASE – สนับสนุนการทางานขั้นตอน
กาหนดและเลือกโครงการ
 เริ่ มต้นและวางแผนโครงการ
 การวิเคราะห์ระบบ
 การออกแบบระบบ

• Lower CASE – สนับสนุนการทางานขั้นตอน
พัฒนาและติดตั้ง
 บารุ งรักษา

27
ตัวอย่ างโปรแกรมประเภท CASE Tools
• Microsoft Visio
• Visible Analysis
• Rational Rose
• Power Designer
28