58
nattapong songneam] โดย อ.ดร. นัฐพงศ งเนียม http://www.siam2dev.com [email protected] สาขาวิชา วิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยราชภัฏพระนคร Last Update : 05/12/2560 Lec04 : Unified Process แหล่งข ้อมูลเพิ่มเติม : : http://www.lumpaya.com/sdlc01.htm

Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

http://www.siam2dev.com [ dr. nattapong songneam]

โดย อ.ดร. นฐพงศ สงเนยมhttp://[email protected]

สาขาวชา วทยาการคอมพวเตอรคณะวทยาศาสตรและเทคโนโลย มหาวทยาลยราชภฏพระนคร

Last Update : 05/12/2560

Lec04 : Unified Process

แหลงขอมลเพมเตม : : http://www.lumpaya.com/sdlc01.htm

Page 2: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

อ.ดร. นฐพงศ สงเนยม

• Website : http://www.siam2dev.net• Website สาขา: …

• E-mail : [email protected]• Facebook : [email protected]

http://www.siam2dev.com [ dr. nattapong songneam]

Page 3: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

Abstractions

3

Classification

Generalization/Specialization

Association

Aggregation

Is member of

Is member of

Is member of

Is part of Is part of

Is part of

Is kind of Is kind of Is relate to Is relate to

Page 4: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

Classification abstraction

OOAD : Object-Oriented Analysis and Design 4

Classification

Is member of

Is member of

Is member of

Classification

Page 5: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม
Page 6: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

OOAD : Object-Oriented Analysis and Design 6

รถยนต

รถตนตะขาบ

รถถงรถแมคโฮ

Page 7: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

ขอสอบระหวางภาค 2/2560

• บทท 1 – 5• เปนแบบ OPEN BOOK• มประมาณ 5 – 6 ใหญ

– คาศพทท สาคญ 10 ขอ– เขยน concept ความคดรวบยอด abstraction แบบตางๆ– Unified Process– การวเคราะหความตองการ

• ท งหมด 60 คะแนน คดเปน 30%• ขอสอบแบบอฒนย ขอเขยน

– เปนขอสอบเชงวเคราะห– จะไมถามตรง– เวลาสอบ เวลาท งหมด 2.30 ช วโมง

OOAD : Object-Oriented Analysis and Design 7

Page 8: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

Lec 04 : Unified ProcessBy

Dr. Nattapong Songneamhttp://www.siam2dev.com

[email protected]@hotmail.com

[email protected]

OOAD : Object-Oriented Analysis and Design

8

แหลงขอมลเพมเตม : : http://www.lumpaya.com/sdlc01.htm

Page 9: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

Lec 04. Unified Process

1. ซอฟตแวรและกระบวนการพฒนาซอฟตแวร (Software Development Process)

2. กระบวนการ Unified Process

3. รปแบบของ Unified Process

4. รอบและเฟสใน Unified Process

5. โครงสรางกระบวนการ Unified Process

6. กระแสงานใน Unified Process

OOAD : Object-Oriented Analysis and Design 99หากสนใจ slide นเพอการเรยนการสอนโปรดตดตอ [email protected]

Page 10: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

4.1 What is the Unified Process ?

New or changed

requirements

New or changed

Software System

Unified Process

(Software Engineering Process)

Unified Process อธบายการจดสรรงานและความรบผดชอบใหกบทมงานไวอยางชดเจนวาใคร จะทาอะไร เมอไร และทาอยางไร เพอใหเกดความมนใจวาจะไดซอฟตแวรทมคณภาพ ตรงกบความตองการของลกคา และการพฒนาซอฟตแวรอยภายใตงบประมาณและคาใชจายทไดประมาณการไว

Unified Process คอ กรรมวธพฒนาซอฟตแวร (Software Development Process) วธการพฒนาซอฟตแวร อธบายแนวทางสาหรบจดสราง ตดตง และอาจรวมถงการบารงรกษาซอฟตแวร

Unified Process เปนกรรมวธพฒนาซอฟตแวรทไดรบความนยมสาหรบการพฒนาระบบซอฟตแวร object-oriented

OOAD : Object-Oriented Analysis and Design 1010

Presenter
Presentation Notes
UP เปนกระบวนการทางวศวกรรมซอฟตแวร ทจดทำไวเปนแนวทางอยางมระเบยบวนย สำหรบการจดสรรงานและความรบผดชอบใหกบบคลากรภายในองคกรพฒนาซอฟตแวร เปาหมายกเพอใหเกดความมนใจวาจะไดซอฟตแวรทมคณภาพสง ตรงกบความตองการของลกคา ภายใตงบประมาณและคาใชจายทไดประมาณการไว ภายใน UP จะกำหนดไววาใคร ทำอะไร ทำเมอไร ทำอยางรไ เพอใหไดตามเปาหมายทวางไว
Page 11: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

OOAD : Object-Oriented Analysis and Design 11

Tradditional

SDLC

7 ขนตอน

OO

UP

4 Phase

Page 12: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

Unified Process

OOAD : Object-Oriented Analysis and Design 12

Unified Process คอกรรมวธพฒนาซอฟตแวร (Software Development Process) วธการพฒนาซอฟตแวร อธบายแนวทางสาหรบจดสราง ตดตง และอาจรวมถงการบารงรกษาซอฟตแวร Unified Process เปนกรรมวธพฒนาซอฟตแวรทไดรบความนยมสาหรบการพฒนาระบบซอฟตแวรแบบ object-oriented

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

หากสนใจ slide นเพอการเรยนการสอนโปรดตดตอ [email protected]

Page 13: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

4.2 โครงสรางกรรมวธ - Lifecycle Phases

เตรยมงาน (Inception) – นยามขอบเขตของโครงการ , ขอบเขตของระบบทจะพฒนา …………ทา เขยน/นาเสนอโครงการ ใหกบหนวย

OOAD : Object-Oriented Analysis and Design 13

Inception Elaboration Construction Transition

time

Unified process แบงการพฒนาออกเปน 4 เฟส (phases)

ทารายละเอยด (Elaboration) – วางแผนโครงการ จดทารายละเอยดความตองการ จดสรางสถาปตยกรรมระบบ

จดสราง (Construction) – สรางและทดสอบโปรแกรม

ถายโอน (Transition) – ตดตงถายโอนระบบใหกบผใช

13

Presenter
Presentation Notes
ในชวง Inception จะเปนการกำหนดขอบเขตของโครงการ ระบวาสงใดทอยในโครงการ สงใดไมอยในโครงการ การกำหนดขอบเขตทำไดโดยการระบถง actors ซงกคอผใชระบบ ระบถงสงทระบบตองกระทำ ทเรยกวา use cases ตามทผใชแตละกลมคาดหวง , we define the scope of the project, what is included, and what is not. We do this by identifying all the actors and use cases, and by drafting the most essential use cases (usually approximately 20 percent of the complete model). A business plan is developed to determine whether resources should be committed to the project. During Elaboration, we focus on two things: getting a good grasp of the requirements (80 percent complete), and establishing an architectural baseline. If we have a good grasp of the requirements and the architecture, we can eliminate a lot of the risks, and we will have a good idea what amount of work remains to be done. We can make detailed cost/resource estimations at the end of Elaboration. During Construction, we build the product in several iterations up to a beta release. During Transition, we transition the product to the end user and focus on end user training, installation, and support. The amount of time spent in each phase varies. For a very complex project with a lot of technical unknowns and unclear requirements, Elaboration may include three to five iterations. For a very simple project, where requirements are known and the architecture is simple, Elaboration may include only a single iteration.
Page 14: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

โครงการ

• บทนา

1. หลกการและเหตผล / ทมา ความสาคญของปญหา

2. วตถประสงค

3. ขอบเขต

4. วธการดาเนนงาน / แผนการดาเนนงาน

5. เครองมอทใช

6. กาหนดงบประมาณ

7. ประโยชนทคาดวาจะไดรบ

OOAD : Object-Oriented Analysis and Design 14

CPM

Page 15: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

OOAD : Object-Oriented Analysis and Design 15

Page 16: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

Time

วงจรชวตของ Unified Process

Page 17: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

OOAD : Object-Oriented Analysis and Design 17

PM: Project manager

- องคกร /ภายใน

เจาของ บ. เปนผมอบหมายงานให

- หนวยงานภายนอก

รบงาน/จาง

Inception

Elaboration

Construction

Transition

Projects

1 ป

1 – 2 เดอน

2 – 3 เดอน

4 – 6 เดอน

1 – 3 เดอน

ตวอยาง

In house / Out Source

Page 18: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

OOAD : Object-Oriented Analysis and Design 18

In house / Out Source

• In house ทมงาน ทอยภายใน บ. /องคกร นน อาจคนเดยวหรอทงแผนก

• Out Source …บคคลภายนอก ทจางขนมาททาเฉพาะบางโครงการ

********** จงเปรยบเทยบขอดขอเสย

Page 19: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

4.3 รปลกษณของ Unified Process

• เปนกรรมวธท ม Use-Case เปนตวขบเคลอน (A Use-Case Driven Process)

• เปนกรรมวธท มสถาปตยกรรมเปนศนยกลาง (An Architecture-Centric Process)

• เปนกรรมวธวนรอบเพมพน (An Iterative and Incremental Process)

OOAD : Object-Oriented Analysis and Design 1919

Page 20: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

Use Case เปนฟงกชนการทางานในระบบ ซงการทางานน นใหผลลพธท มคณคาตอผใช

Unified Process ขบเคลอนดวย Use Case (Use Case Driven)

เนองจากความตองการคอ use case การพฒนาระบบจงตองกระทากบ use case ดงน น use case เปนตวขบเคลอนการออกแบบ การจดสราง และการทดสอบระบบ

Use Case Model อธบายการทางานท งหมดทมในระบบ

แตละ Use Case เปนการทางานทผใชคาดหวงเปนความตองการของผใช

use case driven หมายถงการพฒนาระบบทาตามข นตอนโดยใช use case เปนหลก เร มจากหาความตองการระบเปน use case จากน นทา use case ใหเปนจรง โดยนา use caseไปวเคราะห ออกแบบ สรางเปน code แลวทาการทดสอบวา code ทสรางขนทางานไดถกตองตามทระบไวใน use case

OOAD : Object-Oriented Analysis and Design 2020

Page 21: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

กาหนดความตองการ(Requirement)

วเคราะห (Analysis)

ออกแบบ (Design)

ระบบซอฟตแวร

Actor 1

Use case 1

Actor 2

Use case 2

Use case 3

Use case

จดทา (Implement & Test)

หากสนใจ slide นเพอการเรยนการสอนโปรดตดตอ [email protected]

Page 22: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

โครงการพฒนาระบบถกจดออกเปนหลายโครงการยอย

Unified Process ทางานเปนรอบเพมพนผล

(Iterative and Incremental)

แตละโครงการยอยมกาหนดเวลา แผนงานของตวเอง เรยกแตละโครงการยอยวา รอบงาน (Iteration)

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

ระบบจะถกเพมพนใหโตขนตลอดเวลาตามรอบงานแตละรอบงานททาเสรจจนกระทงไดระบบทสมบรณ เปนการพฒนาระบบทเรยกวาวนรอบเพมพนผล (Iterative and Incremental Development)

OOAD : Object-Oriented Analysis and Design 2222

Project 1.1

Project 1.2

Project 1.3

Page 23: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

ตวอยาง จงพฒนาระบบ MIS ของโรงพยาบาล

OOAD : Object-Oriented Analysis and Design 23

ระบบเวชระเบยน HRM

Inventory Control

Purchase Orders

Project 1

Project 1.1 Project 1.2

Project 1.3 Project 1.4

Form 30-40 Forms

Database 20-30 Table Report 20-30 Reports

Page 24: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

กาหนดความตองการ(Requirement)

วเคราะห (Analysis)

ออกแบบ(Design)

จดทา (Implement & Test)

รอบท 1

กาหนดความตองการ(Requirement)

วเคราะห (Analysis)

ออกแบบ(Design)

จดทา (Implement & Test)

รอบท 2

กาหนดความตองการ(Requirement)

วเคราะห (Analysis)

ออกแบบ(Design)

จดทา (Implement & Test)

รอบท n. . . . . . .OOAD : Object-Oriented Analysis and

Design

2424

Page 25: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

กาหนดความตองการ(Requirement)

วเคราะห (Analysis)

ออกแบบ(Design)

จดทา (Implement & Test)

รอบท 1

กาหนดความตองการ(Requirement)

วเคราะห (Analysis)

ออกแบบ(Design)

จดทา (Implement & Test)

รอบท 2

กาหนดความตองการ(Requirement)

วเคราะห (Analysis)

ออกแบบ(Design)

จดทา (Implement & Test)

รอบท n. . . . . . .OOAD : Object-Oriented Analysis and

Design

2525

HRM MIS + HRM HRM + MIS +

INVENTORYปท 1 ปท 2 ปท 3

Iterative and Incremental Model

Page 26: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

กาหนดความตองการ(Requirement)

รอบท n

26

26

HRM + MIS + INVENTORY

5 ป

Waterfall Model

develop whole system

in the one process

จดทา (Implement & Test)

ออกแบบ(Design)

วเคราะห (Analysis)

Page 27: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

Risk Reduction

Time

Ris

k

Waterfall Risk

Iterative Risk

Risk Profiles

OOAD : Object-Oriented Analysis and Design 2727

Risk Profile

Presenter
Presentation Notes
Iterative development produces the architecture first, allowing integration to occur “as the verification activity” of the design phase, and allowing design flaws to be detected and resolved earlier in the lifecycle. Continuous integration throughout the project replaces the “big bang” integration at the end of a project. Iterative development also provides much better insight into quality, because system characteristics that are largely inherent in the architecture (for example, performance, fault tolerance, maintainability) are tangible earlier in the process. Thus, issues are still correctable without jeopardizing target costs and schedules.
Page 28: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

การศกษาความเปนไปได

OOAD : Object-Oriented Analysis and Design 28

1. ดานเทคนค โปรแกรมทใช เทคนค ทใช ทาไดหรอไม ม

ความเปนไดหรอไม

2. ดานการปฏบตงาน

3. เศรษฐศาสตร

Page 29: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

OOAD : Object-Oriented Analysis and Design 29

Analysis

Design

Implementation

Testing

Page 30: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

เพอจดการกบความเสยงทมผลกระทบสงตงแตชวงตน

เพอสรางสถาปตยกรรมระบบไวกอน เปนแนวทางในการพฒนาระบบ

เปนกรอบงานทสามารถจดการกบการเปลยนความตองการทไมสามารถเลยงไดเปนอยางด

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

เปนการจดกรรมวธททาใหทมงานทางานไดอยางมประสทธภาพ

ทาไมตองพฒนาแบบวนรอบเพมพนผล

OOAD : Object-Oriented Analysis and Design 3030

Page 31: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

Unified Process มสถาปตยกรรมเปนศนยกลาง (Architecture-Centric)

End-userFunctionality

ProgrammersSoftware management

IntegratorsPerformanceScalability

System engineersTopology

Communications

Logical View Development View

Process View Deployment View

Use case View

UP ใชสถาปตยกรรมเปนศนยกลางในการพฒนาระบบ แสดงภาพของระบบในมมมองตางๆ

OOAD : Object-Oriented Analysis and Design 3131

Page 32: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

Unified Process มสถาปตยกรรมเปนศนยกลาง (Architecture-Centric)

End-userFunctionality

ProgrammersSoftware management

IntegratorsPerformanceScalability

System engineersTopology

Communications

Logical View Development View

Process View Deployment View

Use case View

UP ใชสถาปตยกรรมเปนศนยกลางในการพฒนาระบบ แสดงภาพของระบบในมมมองตางๆ

OOAD : Object-Oriented Analysis and Design 3232

Page 33: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

The Iterative Approach

OOAD : Object-Oriented Analysis and Design 33

Disciplinesgroup activities

logically

In an iteration,you walk through

all disciplines

33

Presenter
Presentation Notes
This graphic illustrates how phases and iterations (the time dimension) relate to the development activities (the discipline dimension). The relative size of the color area indicates how much of the activity is performed in each phase/iteration. Each iteration involves activities from all disciplines. The relative amount of work related to the disciplines changes between iterations. For instance, during late Construction, the main work is related to Implementation and Test and very little work on Requirements is done. Note that requirements are not necessarily complete by the end of Elaboration. It is acceptable to delay the analysis and design of well-understood portions of the system until Construction because they are low in risk.
Page 34: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

ระดบของซอฟตแวร

OOAD : Object-Oriented Analysis and Design 34

Stand Alone

Client-Server

2 Tier

N Tier

เวลา นบ User นบอยางไร ?

Page 35: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

ไมถงแสน ระดบเลก

หลายแสน – ลานตน ระดบกลาง

MIS ของ PNRU 5 -10 ลาน

หลายลานขนไป ระดบใหญ

OOAD : Object-Oriented Analysis and Design 35

Page 36: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

OOAD : Object-Oriented Analysis and Design 36

Phase -- management view

กระแสงาน(Workflows)

|technical

View

(Iteration) …………..

โครงสรางของ Unified Process ถกจดออกเปน 2 มต คอมตทางดานเวลา (Time)หรอระยะของการทางาน (Phase) และมตกระแสงาน (Workflows)

Inception Elaboration Construction Transition

Requirements

Analysis

Design

Implement

Test

กอนเขารอบ รอบ 1………….. รอบ n

36

4.4 รอบงานและระยะงาน (Iterations and Phases)

Presenter
Presentation Notes
Within each phase, there is a series of iterations. The number of iterations per phase will vary. Each iteration results in an executable release encompassing larger and larger subsets of the final application. An internal release is kept within the development environment and (optionally) demonstrated to the stakeholder community. We provide stakeholders (usually users) with an external release for installation in their environment. External releases are much more expensive (they require user documentation and technical support) and normally occur only during the transition phase. The end of an iteration marks a minor milestone. At this point, we assess technical results and revise future plans as necessary.
Page 37: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

รอบงานและเฟส ในแตละเฟสแบงการทางานออกเปนรอบงาน (Iteration) จานวนรอบงานทมในแตละเฟสจดแบงตามความเหมาะสมของโครงการ

รอบงาน (Iteration) ในแตละรอบงานจะประกอบไปดวยหลายชดของของกจกรรม (กระแสงาน) ทผพฒนาระบบจะตองกระทาทงกระแสงานหลกและกระแสงานสนบสนน การทากจกรรมเสรจสนในแตละรอบงานจะไดผลลพธเปนงานทสามารถนาไปประมวลผลซงอาจจะเปนประมวลผลภายในองคกรของผพฒนาระบบ หรอจดสงไปใหลกคาเพอนาไปตดตงใชงาน

กระแสงานหลก (Main workflow)• Requirements• Analysis• Design• Implement• Test

กระแสงานสนบสนน (Supporting workflow)• Deployment• Project Management• Configuration Management

OOAD : Object-Oriented Analysis and Design 3737

Presenter
Presentation Notes
Within each phase, there is a series of iterations. The number of iterations per phase will vary. Each iteration results in an executable release encompassing larger and larger subsets of the final application. An internal release is kept within the development environment and (optionally) demonstrated to the stakeholder community. We provide stakeholders (usually users) with an external release for installation in their environment. External releases are much more expensive (they require user documentation and technical support) and normally occur only during the transition phase. The end of an iteration marks a minor milestone. At this point, we assess technical results and revise future plans as necessary.
Page 38: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

Outcome :• เอกสารวสยทศน (vision document)• Use case model เบองตน (10-20%) • พจนานกรมคาศพทโครงการ (Project glossary) เบองตน • กรณการทาธรกจ ครอบคลมบรบทธรกจ เงอนไข • การจดการความเสยงเบองตน • แผนโครงการแสดงระยะงานและรอบงาน • โมเดลธรกจ (ถาจาเปน) • ตนแบบระบบ (prototypes)

OOAD : Object-Oriented Analysis and Design 3838

การตระเตรยมงาน Inception

Inception Phase

Page 39: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

Outcome :• Use case โมเดลสมบรณอยางนอย 80% • Supplementary requirement (non functional

requirements)• คาอธบายสถาปตยกรรมซอฟตแวร (Software Architecture

Description)• Hardware & software

• ตนแบบทสามารถนาไป execute ได • ปรบรายการความเสยง • แผนการพฒนาระบบทงโครงการ • user manual (Opt.)

OOAD : Object-Oriented Analysis and Design 3939

Elaboration Phase

Page 40: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

Construction, Implementation / Testing

Outcome :

• ระบบซอฟตแวรทตรงกบแพลตฟอรมเปาหมาย

• คมอใชงาน (user manuals)

• คาอธบายระบบทออกวางจาหนาย

OOAD : Object-Oriented Analysis and Design 4040

Construction Phase

Page 41: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

เปนเฟส การถายโอนระบบไปยงผใช

Outcome :

• ทดสอบเพอรบระบบ

• แปลงขอมลลงสฐานขอมลทใชงาน

• อบรมผใชและผบารงรกษาระบบ

• ออกวางระบบสทองตลาด

OOAD : Object-Oriented Analysis and Design 4141

Transition Phase

Page 42: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

4.5 โครงสรางการทางานของ UP

(Static structure of the process)UP กาหนดการปฏบตงานของทมงานไวอยางชดเจนวาใคร (who) ทาอะไร (what) ทาเมอไร (when) และทาอยางไร (how) เพอบรรลเปาหมายทตงไว

UP แสดงโครงสรางการปฏบตงานเปนโมเดลทม 4 สญญลกษณพนฐาน

กระแสงาน (workflow) – when หมายถงชดของกจกรรมทเกยวเนอง

กระแสงาน

ชนงาน (artifact) – what หมายถงงานทผลตโดยผปฏบตในรปของ

ขอมลสารสนเทศ โปรแกรม รหสโปรแกรม

กจกรรม (activity) – how หมายถงกจกรรมทผปฏบตกระทา

ผปฏบตงาน (worker) – who หมายถงบทบาทในโครงการทกระทา

โดยบคคลใดบคคลหนงหรอทม

ผปฏบต (worker)

ความหมายสญญลกษณ

OOAD : Object-Oriented Analysis and Design 4242

Page 43: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

ผปฏบตงานหรอ worker นยามถงพฤตกรรมและความรบผดชอบ(บทบาทความรบผดชอบ) ของตวบคคลหรอกลมบคคลททางานเปนทม

Resource Worker Activities

Somchai

Somying

Sombat

Somboon

Somruk

Designer Object Design

Use-Case Author Detail a Use-Case

Use-Case Designer Use-Case Design

Design Review Review Design

Architect Architectural Analysis

Architectural Design OOAD : Object-Oriented Analysis and Design 43

43

ผปฏบตงาน (Worker)

Page 44: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

ตวอยาง Activities :

• Plan an iteration, for the Worker: Project Manager• Find use cases and actors, for the Worker: System Analyst• Review the design, for the Worker: Design Reviewer• Execute performance test, for the Worker: Performance Tester

กจกรรม (activity) ของผปฏบตงานใดๆ คอยนตงาน ทผปฏบตงานนนไดรบการมอบหมายใหทา(จาก Project Manager) แตละกจกรรมมจดหมายทชดเจน โดยทวไปจะเปนกจกรรมในการสรางหรอปรบปรงชนงาน (artifact) เชน การสรางและปรบปรงโมเดล หรอ class การจดทาและปรบแผน

OOAD : Object-Oriented Analysis and Design 4444

กจกรรม (Activity)

หนวยของงาน ท รบผดชอบ

Page 45: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

ชนงานมไดหลายรปแบบ• A model, such as the Use-case Model or the Design Model• A model element, i.e. an element within a model, such as a class, a

use case or a subsystem• A document, such as business Case or Software Architecture

Document• Source Code• Executables

ชนงาน (Artifact) เปนสวนของสารสนเทศทถกจดสราง บารงรกษา หรอถกใชในการพฒนาซอฟตแวร ช นงานเปนผลตภณฑเกดขนระหวางการพฒนาระบบซงนาไปสผลตภณฑเปาหมายของโครงการคอระบบซอฟตแวรในทสด

OOAD : Object-Oriented Analysis and Design 4545

ชนงาน (Artifact)

Page 46: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

กระแสงาน (workflow) เปนชดของกจกรรมทสรางผลลพธทมคณคาตอโครงการ

System analyst

UI designer

Use case specifier

Architect

Find actors and use cases Structure the use case model

Prioritize use cases

Detail a use case

Prototype UI

Requirements Engineer

Find functional

requirements

Find non-functional

requirements

Prioritize requirements

OOAD : Object-Oriented Analysis and Design 4646

4.6 กระแสงาน (Workflows)

Page 47: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

The core process workflows are divided into 5 core “engineering” workflow :

1. Requirements workflow2. Analysis workflow3. Design workflow4. Implementation workflow5. Test workflow

And three core “supporting” workflow :1. Project Management workflow2. Configuration and Change Management workflow3. Environment workflow

OOAD : Object-Oriented Analysis and Design 4747

กระแสงานหลก (Core workflows)

Page 48: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

The goal of the Requirements workflow is to describe what the system should do and allows the developers and the customer to agree on that description. To achieve this, we elicit, organize, and document required functionality and constraints; track and document tradeoffs and decisions.

Goals• Reach agreement on the system context

• List candidate requirements

• Identify & negotiate requirements

• Specify nonfunctional requirements

Artifacts• Domain model

• Business model

• Glossary

• Actors & Use Case

• User-Interface Prototype

• Use Case model

Workers• System analyst

• Use Case specifier

• User-Interface designer

• Architect

Activities• Build the domain model

• Build the business model

• Find actors and use cases

• Prototype the user interface

• Prioritize the use cases

• Detail a use case

• Structure the uc model

OOAD : Object-Oriented Analysis and Design 4848

Requirements Workflow

Page 49: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

The goal of the Analysis workflow is to gain real understanding of the customer’s requirements and to use that understanding to build momentum as the project heads into design and implementation.

Goals• Gain real understanding of the customers’requirements

Artifacts• Analysis class (Boundary class, Entity class, Control class)

• Use Case Realization -Analysis

• Analysis package

• Analysis model

Workers• Architect

• Use Case engineer

• Component engineer

Activities• Perform architectural analysis

• Analyze a use case

• Analyze a class

• Analyze a package

OOAD : Object-Oriented Analysis and Design 4949

Analysis Workflow

Page 50: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

The goal of the Design workflow is to build a blueprint of the system that the team can rely on going forward into implementation.

Goals• Build a blueprint of the system

Artifacts• Design class

• Use Case Realization -Design

• Interface

• Design Subsystem

• Design Model

• Architectural Description

• Deployment Model

Workers• Architect

• Use Case engineer

• Component engineer

Activities• Perform architectural design

• Design a use case

• Design a class

• Design a subsystem

OOAD : Object-Oriented Analysis and Design 5050

Design Workflow

Page 51: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

The goal of the Design workflow is to build a working version of the system that it can deliver to beta customers for evaluation.

Goals• Build a working version of the system

Artifacts• Component

• Interface

• Implementation subsystem

• Implementation model

• Architecture description

• Integration build plan

Workers• Architect

• Component engineer

• System integrator

Activities• Perform architectural implementation

• Implement a class

• Perform unit test

• Implement a subsystem

• Integrate the system

OOAD : Object-Oriented Analysis and Design 5151

Implementation Workflow

Page 52: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

The goal of the test workflow is to ensure that the system offers a high degree of quality before it’s delivered to customers.

Goals• To verify the interaction between objects.

• To verify the proper integration of all components

• To verify that all requirements have been correctly implemented

• To identify and ensure defects are addressed prior to the deployment of the software

Artifacts• Test Case

• Test Procedure

• Test Component

• Test Model

• Test Plan

• Defect

• Test Evaluation

Workers• Test Engineer

• Component Engineer

• Integration Tester

• System Tester

Activities• Plan test

• Design test

• Implement test

• Perform Integration test

• Perform System test

• Evaluate test

OOAD : Object-Oriented Analysis and Design 5252

Test Workflow

Page 53: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

OOAD : Object-Oriented Analysis and Design 53

Artifacts• Test Case

• Test Procedure

• Test Component

• Test Model

• Test Plan

• Defect

• Test Evaluation

ทดสอบกระบวนการ

Login

Main Program LOGIN

Registration

Page 54: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

The purpose of the deployment workflow is to successfully produce product releases, and deliver the software to its end users. It covers a wide range of activities including :

• Producing external releases of the software.• Packaging the software.• Distributing the software.• Installing the software.• Providing help and assistance to users.• In many cases, this also includes activities such as:• Planning and conduct of beta tests.• Migration of existing software or data.• Formal acceptance.

OOAD : Object-Oriented Analysis and Design 5454

Deployment

Page 55: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

• A framework for managing software - intensive projects.• Practical guidelines for planning, staffing, executing, and

monitoring projects.• A framework for managing risk.

OOAD : Object-Oriented Analysis and Design 5555

Project Management

Page 56: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

• Simultaneous Update - When two or more workers work separately on the same artifact, the last one to make changes destroys the work of the former.• Limited Notification - When a problem is fixed in artifacts shared by several developers, and some of them are not notified of the change.• Multiple Versions

OOAD : Object-Oriented Analysis and Design 5656

Configuration & Change Management

Page 57: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

20 กรกฎาคม 2006 57

• Craig Larman, “Applying UML and Patterns”, Prentice Hall PTR; 2nd edition 2001

• Rational Software Corporation, “Analysis and Design with UML”, 1997

• Ivar Jacobson, “Applying UML in the Unified Process”, 1998

References

หากสนใจ slide นเพอการเรยนการสอนโปรดตดตอ [email protected]

Page 58: Lec04 : Unified Processsiam2dev.net/E_Learning/OOAD/Lec04_Unified_Process_v2013_Last_… · Unified Process เป็นกรรมวิธีพัฒนาซอฟต์แวร์ที่ได้รับความนิยม

• ดร. สมนก ครโต

– ผอานวยการ สถาบนนวตกรรมไอท

– ผชวยศาสตราจารย ภาควชาวศวกรรมคอมพวเตอร

– คณะวศวกรรมศาสตร มหาวทยาลยเกษตรศาสตร

• Authorized SCAMPI Lead Appraiser• Authorized SCAMPI B&C Team Leader• [email protected]

OOAD : Object-Oriented Analysis and Design 58

References