แบบจำลองกระบวนการซอฟต์แวร์

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
รายละเอียดวิชา ง การงานพื้นฐาน4(คอมพิวเตอร์2)
Advertisements

เรื่อง การแก้ไขปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
Chapter 11 : System Implementation
วงจรพัฒนาระบบ (System Development Life Cycle)
OpenProject รุ่นที่ มกราคม 2553 การเคหะแห่งชาติ อ
Chapter 1 : Introduction of System ข้อมูล และ สารสนเทศ
การวิเคราะห์ระบบและวิธีปฏิบัติงาน
หน่วย 6 การพัฒนาสารสนเทศ
หลักการออกแบบของ ADDIE model ADDIE model
ระบบธุรกิจการป้องกันอัคคีภัย...!!!
ความสามารถในการใช้งาน
Business System Analyst
Object-Oriented Analysis and Design
Information System Project Management
เนื้อหา ประเภทของโปรแกรมภาษา ขั้นตอนการพัฒนาโปรแกรม
การพัฒนากิจกรรม การเรียนรู้ โดยโครงงาน
การออกแบบและพัฒนาซอฟต์แวร์ (Software design and development) 4 (3-2-6)
วิชา การออกแบบและพัฒนาซอฟต์แวร์
ระบบฐานข้อมูล ข้อมูลมีความสำคัญมากต่อองค์การ ดังนั้นจะต้องมีการจัดเก็บที่เป็นระบบ สามารถค้นหาได้ง่าย เพื่อที่นำมาใช้ให้ทันเวลา ในการตัดสินใจของผู้บริหาร.
การวิเคราะห์ความต้องการด้านระบบ
การจัดหา การติดตั้ง และการบำรุงรักษาระบบ
นวัตกรรม Innovation สุทธินันท์ สระทองหน.
การวางแผน IT และการพัฒนาระบบขององค์กร
Surachai Wachirahatthapong
SCC - Suthida Chaichomchuen
Software Process Models
บทที่ 2 การพัฒนาระบบ (System Development)
Waterfall model แบบจำลองน้ำตก
สัมมนาคอมพิวเตอร์ธุรกิจ
บทที่ 15 Start การซ่อมบำรุงระบบ (System Maintenance) Next.
บทที่ 2 การพัฒนาระบบสารสนเทศ
การพัฒนาระบบสารสนเทศ (Information System Development)
วิธีการทางคอมพิวเตอร์
ส่วนที่ 1 Introduction to System Development
System Development Lift Cycle
3. การพัฒนาระบบสารสนเทศ
การวัดประเมินผลแบบดั้งเดิม
Chapter 6 Project Management
บทที่ 4 Plan การวางแผน.
Chapter 2 Software Process.
ที่ใช้ใน Object-Oriented Design
เอกสารเรียนการบริหารการผลิตวันที่ 18 พ.ย.54
ทบทวนการออกแบบสื่อ multimedia Powerpoint Templates.
II > วงจรการพัฒนาระบบ (System Development Life Cycle)
2.1 วิธีแก้ปัญหาด้วยคอมพิวเตอร์ (Computer problem solving methods)
บทที่ 6 การเปลี่ยนแปลงเข้าสู่การออกแบบระบบ การประเมินทางเลือกซอฟท์แวร์
chatper 2 Software Requirement
โปรแกรมฐานข้อมูลที่นิยมใช้
โครงสร้างขององค์การ.
หลักการแก้ปัญหา.
การควบคุมผลกาปฏิบัติงาน
การออกแบบการสอน รูปแบบ ADDIE Model
การวิจัยการบริหาร ทรัพยากรมนุษย์ ดร. สุจิตรา ธนานันท์
Modeling and Activity Diagram
การวิเคราะห์และออกแบบระบบ System Analysis and Design
ADDIE Model.
Lesson 10 Software Evolution
Chapter 1 Introduction to Software Engineering – Software Engineering Chaichan Kusoljittakorn 1.
การบริหารคุณภาพทั่วทั้งองค์กร Total Quality control : QCC
การออกแบบสื่อเพื่อการศึกษา ADDIE Model
Computer Program คือ ขั้นตอนการทำงาน ของคอมพิวเตอร์
Information Systems Development
กระบวนการพัฒนาซอฟต์แวร์
2 การพัฒนาระบบสารสนเทศ (Information System Development)
Software Evolution แบบจำลองกระบวนการพัฒนา/ผลิตซอฟต์แวร์ (Process Model) แบบจำลองใช้สำหรับชี้นำถึงกิจกรรมหลัก (key Activities) ในการพัฒนาซอฟต์แวร์ ด้วยการกำหนดรายละเอียดหรือข้อบัญญัติไว้ในแต่ละกิจกรรมในแต่ละขั้นตอนที่มีลำดับขั้นตอนการพัฒนาที่ชัดเจน.
การพัฒนาระบบสารสนเทศ
วิศวกรรมซอฟต์แวร์ (Software Engineering)
การออกแบบบทเรียนคอมพิวเตอร์
บทที่ 3 กระบวนการผลิตซอฟต์แวร์ (Software Process)
ใบสำเนางานนำเสนอ:

แบบจำลองกระบวนการซอฟต์แวร์ Software Process Model

Software Process Model Softwae Process Model คือ แบบจำลองกระบวนการพัฒนาซอฟต์แวร์ แบ่งเป็น 4 ประเภท ได้แก่ Linear Model Iterative Model Incremental Model Evolutionary Model

The Linear Model หรือ Classic Life Cycle , Waterfall Model จาก Roger s. Pressman . Software Engineering a Practitioner’s Approach

Waterfall Model

Waterfall Model

คุณลักษณะของ Waterfall Model เป็น Seriesของขั้นตอนการทำงาน คล้ายสายงานการผลิต (Product Line) แต่ละขั้น หน้าที่และProduct ถูกกำหนดอย่างชัดเจน Product ส่วนใหญ่เป็นเอกสาร (Document) Productที่ผลิตในแต่ละขั้นจะเป็นพื้นฐานสำหรับงานขั้นต่อไป สามารถตรวจสอบความถูกต้องของงานในแต่ละขั้นได้

ข้อดีของ Waterfall Model แบ่งงานยากให้เป็นงานที่เล็ก ง่ายต่อการจัดการ มีการกำหนดProductที่ต้องส่งมอบในแต่ละงาน อย่างชัดเจน

ข้อจำกัดของ Waterfall Model ถ้า ค้นพบข้อผิดพลาดของขั้นที่เสร็จสิ้นแล้ว ไม่สามารถแก้ไขได้ การแก้ไขจำเป็นต้องเริ่มรอบ (Iteration) ใหม่ ระหว่างการทำCoding เจอข้อผิดพลาดในงานออกแบบ ในความเป็นจริง หลังการทำงานในแต่ละขั้นควรสามารถย้อนไปแก้ไขความผิดพลาดในขั้นใดใดก็ได้ก่อนหน้า ดังนั้นในทางปฏิบัติ ขั้นตอนการทำงานใน Waterfall จึงไม่เป็นเชิงเส้น (Linear) ข้อเสียหลักคือ ลูกค้าเห็นและทดลองใช้Software ก็ต่อเมื่อถึงขั้นตอนสุดท้าย หากมีบางอย่างที่ไม่ตรงกับความต้องการของลูกค้า การแก้ไขยาก แพง เสียเวลา

Waterfall Model Requirement Analysis V & V Design V & V Implementation Testing V & V Maintenance V & V

WHAT ????? V & V

Verification การตรวจสอบว่า ระบบทำงานตามที่กำหนดไว้หรือไม่ ? Are we building the system right ? Boehm

Are we building the right system ? Validation การตรวจสอบว่า ระบบสามารถทำงานตามความต้องการของผู้ใช้หรือไม่ ? Are we building the right system ? Boehm

Prototyping Model วิธีการหนึ่งที่ประกันว่าลูกค้าจะได้ในสิ่งที่ต้องการ และอย่างพึงพอใจ Prototype คือระบบที่สมบูรณ์หรือเป็นส่วนหนึ่งของระบบที่ส่งมอบแก่ลูกค้าได้ทดลองใช้ เพื่อให้ลูกค้าติชมตั้งแต่เนิ่นๆ ลูกค้าบอกความพอใจหรือบอกจุดที่ต้องแก้ไข Analyst และ Designer สามารถแสดงคุณสมบัติของระบบแก่ลูกค้าได้ ช่วยลูกค้ารู้ความต้องการที่แท้จริง

Prototyping Model

Prototyping Model

Prototyping Model

Specification Development Validation Initial Version Outline Description Intermediate Versions Final Version

หลักเกณฑ์การทำ Prototype Prototype มีเฉพาะ Features ที่สำคัญของระบบ (ละเลยเรื่องNetwork connection, Error Handling) Prototype ต่างกับ ระบบจริง ที่ Performance และ ปริมาณของข้อมูลที่ใช้ ต้นทุนการทำ Prototype ต้องถูก การทำ Prototype หนึ่งครั้งต้องใช้เวลาน้อย

Prototyping Model แบ่งเป็น 2 ตระกูลขึ้นอยู่กับการนำPrototypeไปใช้ Throwaway (ดอกไม้ริมทาง) เป็นต้นแบบสำหรับการสร้างระบบจริง การImplementระบบจริงอาจต่างจากImplementationของPrototype Evolutionary (ปั้นมากับมือ) ค่อยๆ ขยายขีดความสามารถของ Prototype จนเป็นระบบที่สมบูรณ์ที่ส่งมอบ วิธีการImplementของระบบจริงกับPrototypeเหมือนกัน

หลักเกณฑ์การทำ Throwaway Prototype (ดอกไม้ริมทาง) จุดหมายการทำ = Specification ที่ชัดเจน เริ่มสร้าง Prototype จากความต้องการที่ไม่ชัดเจน ค่อยๆ เพิ่มความต้องการเข้าไป Prototypeอาจจะ implement ความต้องการที่ชัดเจนอยู่แล้วก็ได้ ตัวอย่าง เขียน Functions ต่างๆที่สำคัญด้วย Lisp เมื่อได้Prototypeสุดท้าย Implement ระบบจริง ด้วย C++

หลักเกณฑ์การทำ Evolutionary Prototype (ปั้นมากับมือ) จุดหมายการทำ = ระบบที่สมบูรณ์ ส่งมอบได้ เริ่มสร้างPrototype จากความต้องการที่ชัดเจน ค่อยๆ เพิ่มความต้องการที่ไม่ชัดเจนเข้าไป ตัวอย่าง เขียน Features ต่างๆที่สำคัญ เมื่อลูกค้าตรวจสอบว่าถูก จึงเพิ่ม Featuresจนได้ระบบสุดท้าย

ข้อดีอื่นๆของPrototype ใช้ Train การใช้Software แก่ผู้ใช้พร้อมกับงาน Development ใช้แสดงความก้าวหน้า และความสำเร็จแก่ Project Manager

ข้อเสียของPrototyping Model การทำPrototypeจะต้องมีบุคลากรที่มีความสามารถด้าน Developmentสูงเพื่อพัฒนา Prototype ได้เร็ว การเปลี่ยนแปลงหรือการเพิ่มRequirementsเพื่อสร้างPrototypeหลายVersionทำให้ได้Software Structure ที่ไม่ดี การผลิตDocumentสำหรับ Prototype ในแต่ละVersion จะเป็นการสิ้นเปลืองงบประมาณ

ข้อแนะนำการใช้Prototyping Model เป็นที่ยอมรับว่าการสร้างSoftwareโดยใช้Prototype จะมีประสิทธิภาพดีกว่าการใช้ Waterfall Modelอย่างเดียว แต่จากข้อเสียด้านบน แนะนำให้ใช้Prototypingเพื่อวิเคราะห์หาRequirementsที่ชัดเจนของลูกค้าและค่อยพัฒนาSoftwareตามขั้นตอนในWaterfall Model

เครื่องมือสร้างPrototype Formal, Mathematical language: LOTOS ทำ Animationได้ แต่ขาด Use Interface Prototype Very High-Level Languages: C++, Java โดยเฉพาะ Smalltalk Logic Programming: Prolog Fourth-Generation Language (4GL): คล้ายdatabase query language เช่น SQL ภาษา Script ทั้งหลาย Tcl/Tk, JavaScript Visual Basic: พัฒนาUIด้วยวิธี Drag and Drop

Evolutionary or Spiral Model Customer Communication Planning Risk Analysis Engineering Construction and Release Customer Evaluation Roger s. Pressman

Evolutionary or Spiral Model

Evolutionary or Spiral Model

Evolutionary or Spiral Model

The Spiral Model พัฒนาโดย Boehm ในค.ศ 1988 แบบจำลองบันไดเวียนเป็นแบบจำลองที่รวมกระบวนการทำซ้ำของการสร้างต้นแบบ เข้ากับ Linear sequential model โดยมีการพัฒนาอย่างรวดเร็ว

The Spiral Model แบบจำลองบันไดเวียน แบ่งออกได้เป็นส่วนย่อยๆ โดยปกติจะแบ่งเป็น 3 ส่วน หรือ 6 ส่วนงานเช่น การติดต่อสื่อสารกันระหว่างผู้ใช้ และผู้พัฒนาระบบ การวางแผน การวิเคราะห์ความเสี่ยง วิศวกรรม การสร้างและนำไปใช้ การประเมินผลจากผู้ใช้

The Spiral Model (cont.) แต่ละรอบของการทำซ้ำ วิเคราะห์ความเสี่ยง พัฒนาต้นแบบสำหรับตรวจสอบความเป็นไปได้และความต้องการ เมื่อพบความเสี่ยงผู้จัดการโครงการจะต้องตัดสินใจทีจะกำจัดหรือลดความเสี่ยง

The Spiral Model (cont.) ปัญหาของการใช้แบบจำลองบันไดเวียน ในการพัฒนาซอฟต์แวร์ คือการโน้มน้าวให้ผู้ใช้ระบบเห็นชอบกับวิธีการที่เป็นกระบวนทำซ้ำแบบมีวิวัฒนาการ ความสำเร็จของการใช้ แบบจำลองบันไดเวียน ผู้พัฒนาจะต้องมีความเชี่ยวชาญในด้านการประเมินผลความเสี่ยง

Evolutionary or Spiral Model เป็น model ที่ใช้ความเสี่ยงเป็นเครื่องตัดสินใจว่าจะกระทำอะไรต่อไป (risk-driven) ขั้นตอนในแต่ละรอบ วิเคราะห์เป้าหมาย แนวทางเลือกต่างๆ เงื่อนไขต่างๆ วิเคราะห์ความเสี่ยง พยายามลดความเสี่ยงนั้น เช่น ทำ Prototype เพื่อทดสอบ พัฒนา product นำ product ให้ลูกค้าทดสอบ