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

แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

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

Software Process Model

Page 2: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

กระบวนการซอฟตแวร• กระบวนการ หมายถง ขนตอนตาง ๆ ทเกยวของกน และน าไปปฏบตเพอใหบรรลวตถประสงคทก าหนดไว

• กระบวนการมความหมายรวมถง ทรพยากร เชน คน , วธการ และเครองมอทจ าเปนส าหรบน าไปใชปฏบตตามขนตอนวธการทก าหนดไวในกระบวนการดวย

• กระบวนการทดยอมสามารถปฏบตซ า และไดผลลพธแบบเดยวกนเสมอ

Page 3: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

ความส าคญของกระบวนการซอฟตแวร

• กระบวนการซอฟตแวร ชวยใหเหนกจกรรมตาง ๆทจ าเปนส าหรบการพฒนา SW ทก าหนดให ตงแตตนจนจบและประสบผลส าเรจด

• กระบวนการ SW ไมใช SDLC (System Development Life Cycle) ทนกพฒนารจก เพราะ SDLC มแตเพยงเฟส (phase)ส าคณเทานน และ SDLC กเนนแตเพยงกจกรรมทเกยวของกบการพฒนาเทานน ไมไดกลาวถงกจกรรมอน ๆ เชน การวางแผน , การประมาณการ , การสอบทานผลงาน เปนตน

Page 4: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

พจารณาตวอยาง ชางตดสท• ชางตดสทตองรจกกระบวนการทกอยางตงแต

– รจกลกษณะของผา– รจกลกษณะของสททลกคาตองการ– รจกการประมาณราคาและเวลาทจะท าส าเรจ– รจกการวดตว– รจกการสรางแบบสททพอดกบขนาดรปรางของลกคา– รจการตดผาออกเปนชนสวนตาง ๆ– รจกการเยบชนสวนของผาใหเปนชด– รจกการประมาณเวลาทลกคามาลองสวมใส และ สามารถแกไขได– รจกการเยบทกขนตอนจนส าเรจ

Page 5: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

กจกรรมทประกอบเปน Software Process• Requirement Engineering• Architectural Design• Detailed Design• Coding• System Integration• Validation & Verification• Operation & Maintenance

Page 6: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

Software Process Model• Softwae Process Model คอ แบบจ าลองกระบวนการพฒนาซอฟตแวร แบงเปน 4 ประเภท ไดแก– Linear Model – Iterative Model– Incremental Model– Evolutionary Model

Page 7: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

The Linear Model

หรอ Classic Life Cycle , Waterfall Model

จาก Roger s. Pressman . Software Engineering a Practitioner’s Approach

Page 8: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

Waterfall Model

Page 9: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

Waterfall Model

Page 10: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

คณลกษณะของ Waterfall Model• เปน Seriesของขนตอนการท างาน คลายสายงานการผลต (Product Line)

• แตละขน หนาทและProduct ถกก าหนดอยางชดเจน• Product สวนใหญเปนเอกสาร (Document)• Productทผลตในแตละขนจะเปนพนฐานส าหรบงานขนตอไป

• สามารถตรวจสอบความถกตองของงานในแตละขนได

Page 11: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

ขอดของ Waterfall Model

• แบงงานยากใหเปนงานทเลก งายตอการจดการ

• มการก าหนดProductทตองสงมอบในแตละงาน อยางชดเจน

Page 12: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

ขอจ ากดของ Waterfall Model• ถา คนพบขอผดพลาดของขนทเสรจสนแลว ไมสามารถแกไขได การแกไขจ าเปนตองเรมรอบ (Iteration) ใหม– ระหวางการท าCoding เจอขอผดพลาดในงานออกแบบ

ในความเปนจรง หลงการท างานในแตละขนควรสามารถยอนไปแกไขความผดพลาดในขนใดใดกไดกอนหนา

ดงนนในทางปฏบต ขนตอนการท างานใน Waterfall จงไมเปนเชงเสน (Linear)

• ขอเสยหลกคอ ลกคาเหนและทดลองใชSoftware กตอเมอถงขนตอนสดทาย หากมบางอยางทไมตรงกบความตองการของลกคา การแกไขยาก แพง เสยเวลา

Page 13: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

Waterfall ModelRequirement Analysis

V & V

DesignV & V

ImplementationV & V

TestingV & V

MaintenanceV & V

Page 14: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

V & V

WHAT ?????

Page 15: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

การตรวจสอบวา ระบบท างานตามทก าหนดไวหรอไม ?

Are we building the system right ?

Verification

Boehm

Page 16: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

การตรวจสอบวา ระบบสามารถท างานตามความตองการของผใชหรอไม ?

Validation

Are we building the right system ?

Boehm

Page 17: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

Prototyping Model• วธการหนงทประกนวาลกคาจะไดในสงทตองการ และอยางพงพอใจ

• Prototype คอระบบทสมบรณหรอเปนสวนหนงของระบบทสงมอบแกลกคาไดทดลองใช เพอใหลกคาตชมตงแตเนนๆ

• ลกคาบอกความพอใจหรอบอกจดทตองแกไข• Analyst และ Designer สามารถแสดงคณสมบตของระบบแกลกคาได ชวยลกคารความตองการทแทจรง

Page 18: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

Prototyping Model

Page 19: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

Prototyping Model

Page 20: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

Prototyping Model

Page 21: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

OutlineDescription

Specification

Development

Validation

FinalVersion

Intermediate Versions

Initial Version

Page 22: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

หลกเกณฑการท า Prototype

• Prototype มเฉพาะ Features ทส าคญของระบบ (ละเลยเรองNetwork connection, Error Handling)

• Prototype ตางกบ ระบบจรง ท Performance และ ปรมาณของขอมลทใช

• ตนทนการท า Prototype ตองถก

• การท า Prototype หนงครงตองใชเวลานอย

Page 23: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

Prototyping Model• แบงเปน 2 ตระกลขนอยกบการน าPrototypeไปใช

– Throwaway (ดอกไมรมทาง)

เปนตนแบบส าหรบการสรางระบบจรง การImplementระบบจรงอาจตางจากImplementationของPrototype

– Evolutionary (ปนมากบมอ)

คอยๆ ขยายขดความสามารถของ Prototype จนเปนระบบทสมบรณทสงมอบ วธการImplementของระบบจรงกบPrototypeเหมอนกน

Page 24: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

หลกเกณฑการท า Throwaway Prototype (ดอกไมรมทาง)

• จดหมายการท า = Specification ทชดเจน

• เรมสราง Prototype จากความตองการทไมชดเจน คอยๆ เพมความตองการเขาไป

• Prototypeอาจจะ implement ความตองการทชดเจนอยแลวกได

• ตวอยาง เขยน Functions ตางๆทส าคญดวย Lisp เมอไดPrototypeสดทาย Implement ระบบจรง ดวย C++

Page 25: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

หลกเกณฑการท า Evolutionary Prototype (ปนมากบมอ)

• จดหมายการท า = ระบบทสมบรณ สงมอบได

• เรมสรางPrototype จากความตองการทชดเจน คอยๆ เพมความตองการทไมชดเจนเขาไป

• ตวอยาง เขยน Features ตางๆทส าคญ เมอลกคาตรวจสอบวาถก จงเพม Featuresจนไดระบบสดทาย

Page 26: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

แบบจ าลองทางวศวกรรม

• พมพเขยว

• แบบจ าลอง

• สรางชวงสนๆ

บาน, ถนน, รถยนต,

รถไฟฟา

Design Prototyping

Page 27: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

แบบจ าลองทางซอฟตแวร

• เพอ Validate Requirement

Prototyping Designcommit

Page 28: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

ขนตอนการท า

PrototypeConstruct Prototype

Check with UserRefine

Prototype

Yes

No

Specification / System

OK ?

Page 29: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

การสรางตนแบบ ม 3

ลกษณะ1. เพอวเคราะหความตองการของผใช

2. เพอขยายใหเปนระบบทปฏบตงานจรง

3. เพอหาทางแกปญหาทด

Page 30: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

ขอดอนๆของPrototype• ใช Train การใชSoftware แกผใชพรอมกบงาน Development

• ใชแสดงความกาวหนา และความส าเรจแก Project Manager

Page 31: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

• การท าPrototypeจะตองมบคลากรทมความสามารถดาน DevelopmentสงเพอพฒนาPrototype ไดเรว

• การเปลยนแปลงหรอการเพมRequirementsเพอสรางPrototypeหลายVersionท าใหไดSoftware Structure ทไมด

• การผลตDocumentส าหรบ Prototype ในแตละVersion จะเปนการสนเปลองงบประมาณ

ขอเสยของPrototyping Model

Page 32: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

ขอแนะน าการใชPrototyping Model

• เปนทยอมรบวาการสรางSoftwareโดยใชPrototype จะมประสทธภาพดกวาการใชWaterfall Modelอยางเดยว

• แตจากขอเสยดานบน แนะน าใหใชPrototypingเพอวเคราะหหาRequirementsทชดเจนของลกคาและคอยพฒนาSoftwareตามขนตอนในWaterfall Model

Page 33: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

เครองมอสราง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

Page 34: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

Incremental Model

• ใชการพฒนาแบบ Waterfall

• แบงระบบออกเปน Subsystem

• ท าทละสวนแลวใหผใช ใชงาน

Page 35: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

Incremental Development

Page 36: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

ขอควรพจารณา• ก าหนด Boundary ใหชดเจน

• Output ของ Subsystem หนง เปน

Input ของ Subsystem หนง ได

• ไมควรท ากบระบบใหญ

Page 37: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

• ตางจากแบบจ าลองตนแบบคอสงทไดจากขนตอนแรกของวธการนไมจ าเปนตองทราบการท างานทงหมดทผใชตองการแตจะคอยๆเพมหนาทการท างานอนๆในแตละสวนของการท าซ า

• ใชระยะเวลานานในการพฒนาระบบใหสมบรณ• การแบงการพฒนาออกเปนเฟสจะชวยลดชวงเวลาในการพฒนา

• ระบบจะถกแบงเปนระบบยอยตามหนาทการท างาน

Incremental Development

Page 38: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

• การพฒนาระบบโดยใช Increment model น เหมาะสมกบกรณทผพฒนาในทมทงหมดไมสามารถท างานในขณะเวลาเดยวกนได

• สวนงานทไดในขนตอนแรกอาจใชผพฒนาจ านวนนอย และเพมจ านวนผพฒนาขนเรอยๆ ในแตละสวนงานทเพมขน

• นอกจากนน การท างานแบบนจดเปนการวางแผนเพอรองรบความเสยงในดานของการน าเทคโนโลยมาปรบใช

Incremental Development

Page 39: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

analysis deliverydesign coding testing

analysis deliverydesign coding testing

analysis deliverydesign coding testing

analysis deliverydesign coding testing

1st Increment

2nd Increment

3rd Increment

4th Increment

Project

Definition

Incremental Development

Page 40: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

Incremental Development

Page 41: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

Evolutionary or Spiral Model

• Customer Communication

• Planning

• Risk Analysis

• Engineering

• Construction and Release

• Customer EvaluationRoger s. Pressman

Page 42: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

Evolutionary or Spiral Model

Page 43: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

Evolutionary or Spiral Model

Page 44: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

Evolutionary or Spiral Model

Page 45: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

The Spiral Model

• พฒนาโดย Boehm ในค.ศ 1988• แบบจ าลองบนไดเวยนเปนแบบจ าลองทรวมกระบวนการท าซ าของการสรางตนแบบ เขากบ Linear sequential model โดยมการพฒนาอยางรวดเรว

Page 46: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

The Spiral Model

• แบบจ าลองบนไดเวยน แบงออกไดเปนสวนยอยๆ โดยปกตจะแบงเปน 3 สวน หรอ 6 สวนงานเชน– การตดตอสอสารกนระหวางผใช และผพฒนาระบบ– การวางแผน – การวเคราะหความเสยง – วศวกรรม– การสรางและน าไปใช – การประเมนผลจากผใช

Page 47: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

The Spiral Model (cont.)

• แตละรอบของการท าซ า– วเคราะหความเสยง

– พฒนาตนแบบส าหรบตรวจสอบความเปนไปไดและความตองการ

– เมอพบความเสยงผจดการโครงการจะตองตดสนใจทจะก าจดหรอลดความเสยง

Page 48: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

The Spiral Model (cont.)

• ปญหาของการใชแบบจ าลองบนไดเวยน ในการพฒนาซอฟตแวร คอการโนมนาวใหผใชระบบเหนชอบกบวธการทเปนกระบวนท าซ าแบบมววฒนาการ

• ความส าเรจของการใช แบบจ าลองบนไดเวยน ผพฒนาจะตองมความเชยวชาญในดานการประเมนผลความเสยง

Page 49: แบบจ าลองระบวนาร ซอฟต์แวร์sci.udru.ac.th/websci/download/com/rewadee/Information/softwareProcess.pdf · Software Process Model •Softwae

• เปน model ทใชความเสยงเปนเครองตดสนใจวาจะกระท าอะไรตอไป (risk-driven)

• ขนตอนในแตละรอบ– วเคราะหเปาหมาย แนวทางเลอกตางๆ เงอนไขตางๆ– วเคราะหความเสยง– พยายามลดความเสยงนน เชน ท า Prototype เพอทดสอบ– พฒนา product– น า product ใหลกคาทดสอบ

Evolutionary or Spiral Model