38
OOAD 1/2550 ดร.สุขสถิต มีสถิตย 1 กรณีศึกษา หนวยที5: การสรางแบบจําลองความตองการ ดร.สุขสถิต มีสถิตย การวิเคราะหและออกแบบเชิงวัตถุ 1/2550

Unit05 Case - System Analysis UML

  • Upload
    sushike

  • View
    162

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย1

กรณศกษา หนวยท 5: การสรางแบบจาลองความตองการ

ดร.สขสถต มสถตยการวเคราะหและออกแบบเชงวตถ1/2550

Page 2: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย2

วตถประสงค

เพอใหนกศกษาฝกสรางยสเคสโมเดลเพอใหนกศกษาไดฝกเขยนขอกาหนดอนเตอรเฟสของระบบเพอใหนกศกษาไดฝกหาออบเจคในขอบเขตปญหา

Page 3: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย3

แบบจาลองความตองการ(Requirements Model)

ใชจากดขอบเขต กาหนดหนาท และพฤตกรรมภายนอกของระบบ แสดงภาพของระบบทลกคาตองการ จากมมมองของผพฒนาเปนเสมอนสญญาระหวางผพฒนาและผสงทาระบบถอเปนศนยกลางตลอดการพฒนาระบบ เพราะควบคมการพฒนาแบบจาลองอนๆ ดงนน

ตอ

Page 4: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย4

แบบจาลองความตองการ

ประกอบดวยยสเคสโมเดล (use case model)– กาหนดงานทระบบตองมจากมมมองของผใช และขนตอนการปฎบตงานทเกดขนภายในระบบ

ขอกาหนดอนเตอรเฟส (Interface descriptions) [เลอกทา]– กาหนดรายละเอยดของสวนตดตอผใช (User

interface) และสวนตดตอระบบ (System interface) อน

ตอ

Page 5: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย5

แบบจาลองความตองการ

แบบจาลองขอบเขตปญหา (problem domain model)– แสดงออบเจคทเกยวของภายในระบบ

Page 6: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย6

การสรางแบบจาลองความตองการ

ความตองการของระบบใหม

ขอกาหนดอนเตอรเฟส

แบบจาลองขอบเขตปญหา

การปฏบตงานในระบบเดม

การวเคราะหความตองการ

ยสเคสโมเดล

Page 7: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย7

ขนตอนการสรางแบบจาลองความตองการ

1. สรางยสเคสโมเดล1.1 กาหนดแอคเตอร1.2 กาหนดยสเคสหลก1.3 เขยนคาอธบายยสเคส1.4 กาหนดความสมพนธระหวางยสเคส1.5 ปรบปรงยสเคสโมเดล

ตอ

Page 8: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย8

ขนตอนการสรางแบบจาลองความตองการ

2. สรางขอกาหนดอนเตอรเฟส (เลอกทา)2.1 กาหนดรายละเอยดของสวนตดตอผใช

(User interface)2.2 กาหนดรายละเอยดของสวนตดตอระบบ

(System interface) [เลอกทา]2.3 ทดสอบและปรบปรงขอกาหนด

ตอ

Page 9: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย9

ขนตอนการสรางแบบจาลองความตองการ

3. สรางแบบจาลองขอบเขตปญหา3.1 กาหนดออบเจค3.2 กาหนดแอททรบว [เลอกทา]3.3 กาหนดความสมพนธระหวางออบเจค

4. ตรวจสอบแบบจาลองเทยบกบความตองการ

Page 10: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย10

กรณศกษา

เครองรบคนบรรจภณฑ (recycling machine)

เรมทางาน

พมพบนทกรายการ

กระปอง ลงขวด

Page 11: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย11

เครองรบคนบรรจภณฑ

รบคนขวด กระปองนา และ ลงใสขวด จากลกคาตรวจสอบประเภทของบรรจภณฑทรบ และบนทกจานวนทบรรจภณฑทลกคาแตละคนคนพมพบนทกรายการแสดงรายการบรรจภณฑและมลคาใหลกคาพมพบนทกรายการบรรจภณฑทรบมาทงหมดในวนใหผดแลเปลยนแปลงขอมลสงสญญาณแจงผดแลเมอเกดปญหา

Page 12: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย12

กจกรรม

สรางยสเคสโมเดลสรางแบบจาลองขอบเขตปญหา

Page 13: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย13

สรางยสเคสโมเดล

Page 14: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย14

กาหนดแอคเตอร

แอคเตอร (actor)– ชนดของผใช (บคคล หรอ ระบบ) คลาส– อยภายนอกระบบ– มการแลกเปลยนขอมลกบระบบประเภทของแอคเตอร– primary actor ใชระบบโดยตรง อาจเพอปฏบตภาระกจประจาวน

– secondary actor ดแลให primary actor สามารถใชระบบได

ตอ

Page 15: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย15

กาหนดแอคเตอร

ลกคา =Primary actor

ผดแล =Secondary actor

ตอ

Page 16: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย16

กาหนดยสเคสหลก

ยสเคสโมเดล– แสดงกลมของยสเคส– แสดงลกษณะเฉพาะของพฤตกรรมของระบบทงหมด และแอคเตอรภายนอก

ยสเคส– แสดงวธการใชระบบ โดยใชบางสวนของความสามารถของระบบ

– ลาดบการกระทาทสมบรณของการทางาน

ตอ

Page 17: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย17

กาหนดยสเคสหลก

ยสเคส– กาหนดการปฏสมพนธระหวางระบบและแอคเตอร– ประกอบดวย 1 normal flow และ 0..* exceptional

flows

ซนารโอ (Scenario) เปนลาดบการกระทาเฉพาะ ทขนกบเหตการณเรมตนและสนสดทกาหนดในยสเคส

ตอ

Page 18: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย18

กาหนดยสเคสหลก

ตอ

OperatorCustomer

Return Item Generate daily Report

Change item information

* * * *

*

*

Page 19: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย19

กาหนดยสเคสหลก

1. เขยนรายชอยสเคส2. เขยนคาอธบายยสเคสแบบยอ (Brief description)3. แยกแยะยสเคสเพอตดยสเคสทไมเหมาะสมออก

ยสเคสทซากนยสเคสทไมคอยเกดขนยสเคสท Exceptional flow

4. เขยนคาอธบายยสเคสแบบละเอยด (Detailed description)

ตอ

Page 20: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย20

รายการยสเคส

Change item information (เปลยนขอมลบรรจภณฑ)

Generate daily Report (สรางรายงานประจาวน)

Operator (ผดแล)

Return items (คนวตถ)Customer (ลกคา)

ยสเคสแอคเตอร

Page 21: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย21

คาอธบายยสเคสแบบยอ

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

Page 22: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย22

คาอธบายยสเคสแบบละเอยด

Basic course:1. ลกคากดปมเรมตนบนพาเนลของลกคา2. ลกคาคนบรรจภณฑผานพาเนล3. เซนเซอรตรวจสอบบรรจภณฑทรบเขามา4. เซนเซอรแจงผลแกระบบ5. ระบบประเมนชนดของสงทรบมา (กระปอง ขวด หรอ ลง)6. ระบบจะเพมจานวนของบรรจภณฑประเภทนนสาหรบลกคา และสาหรบวนนน

Use case name: Return Items

ตอ

Page 23: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย23

คาอธบายยสเคสแบบละเอยด

Alternative course:2a. วตถตดในชอง ระบบสงสญญาณเรยกผดแล

7. เมอคนบรรจภณฑหมดแลว ลกคากดปมพมพบนพาเนลของลกคา

8. ระบบประมวลผลขอมลทจะพมพบนใบบนทกรายการ9. ระบบพมพประเภท มลคาและจานวนของบรรจภณฑแตละประเภททลกคาคน รวมทงมลคาทงหมดออกทางเครองพมพ

ตอ

Page 24: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย24

การเขยนคาอธบายยสเคส

เขยน Normal flow เปนลาดบการกระทาทแยกกนเปนขนๆ แตละขนเขยนแยกบรรทดใชลาดบของการกระทาเปนตวระบลาดบทบงคบเขยนใหชดเจนวาใครเปนผเรมการกระทาขนนนๆเขยนโดยใชรปแบบ Subject-Verb-Direct object (or Indirect object) = Actor/System-Action-Object)เขยนคาแนะนาระบการทาซาหลงชดขนตอนทตองทาซา

ตอ

Page 25: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย25

การเขยนคาอธบายยสเคส

ใหมความซบซอนนอยทสด– แยกสวนระหวาง Normal flow และ Exceptional flow– แตละขนใน Normal flow ควรสามารถอธบายไดในประโยค– ถาขนตอนใดซบซอนใหแยกเปนขนตอนยอย แลวเขยนไวในสวน

Sub flowใชคาเดมในการอางถงสงสงหนงในยสเคสเสมอ รายละเอยดตองเปนระดบเดยวกนสาหรบทกขนเขยนจากมมมองของผสงเกตการณอสระเรมจากเขยน Normal flow กอน

Page 26: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย26

การหา Exceptional flow

พจารณาการกระทาทถกเลอกปฏบต แทนการกระทาตามขนตอนใน Normal flowพจารณาพฤตกรรมทเกดขน ในกรณเกดสถาวะไมปกต (อาจเกดจากความผดพลาดของผใช ความผดปกตของเครอง หรอสภาพแวดลอมอนๆ )

Page 27: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย27

กาหนดความสมพนธระหวางยสเคส

• หาความสมพนธแบบ Extend

• Extend ยสเคส แสดงพฤตกรรมทอาจถกเลอกกระทาโดยอกยสเคสหนง

Page 28: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย28

การหาความสมพนธแบบ extend

1. พจารณาแยก Exceptional flow ออกมาเปนยสเคส แลวกาหนดใหยสเคสใหม extend ยสเคสเดม

2. พจารณาสภาวะทอาจแทรกเขาไปในยสเคส หรอหยดการทางานของยสเคส

3. ปรบปรงยสเคสไดอะแกรม และคาอธบายยสเคส

Page 29: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย29

คาอธบายยสเคส

Alternative course:2a. วตถตดในชอง ทายสเคส Item is stuck

Page 30: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย30

ปรบปรงยสเคสโมเดล

หาความสมพนธแบบ include และ generalization

Page 31: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย31

การปรบปรงยสเคสโมเดล

1. ความสมพนธแบบ includeพจารณาการกระทาทซากนในหลายๆ ยสเคสแยกการกระทานนออกมาเปนยสเคส แลวกาหนดใหยสเคสเดม include ยสเคสใหม

2. ความสมพนธแบบ generalizationพจารณาการ inheritance ของยสเคสและแอคเตอร

3. ปรบปรงยสเคสไดอะแกรม และคาอธบายยสเคส

Page 32: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย32

ยสเคสโมเดลสมบรณ

Page 33: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย33

ขอกาหนดอนเตอรเฟส

เปลยนขอมลขวด

มลคา

ชนด

ขนาด

Page 34: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย34

ขอกาหนดอนเตอรเฟส

อธบายสวนตดตอผใชสาหรบยสเคสยสเคสมแบบทดสอบทมประโยชนสาหรบความตองการตอระบบทดสอบกบผใชหลก ถาจาเปนใชการจาลองสถานการณหรอตนแบบ (simulations orprototypes)

ตอ

Page 35: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย35

แบบจาลองขอบเขตปญหา

แสดง logical view ของระบบโดยใชออบเจค ทอยในขอบเขตปญหา (Problem domain object)รายการออบเจคในขอบเขตปญหา– รายการของออบเจคทระบบตองเกบขอมล– จดเรมตนของโมเดลของระบบเอง (class diagram)– ไดมาจากคาอธบายยสเคส

Page 36: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย36

ตวอยาง problem domain objects

total cans: int, total bottles: int, ...Receiptwidth: cm, height: cm, length: cmCratewidth: cm, height: cm, bottom: cmBottlewidth: cm, height: cmCan

name: string, total: integer, value:baht

Deposit item

ATTRIBUTEScharacteristic / information : type

OBJECT name

Page 37: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย37

ระดบรายละเอยดของออบเจค

Object nounLogical attributesStatic associationsInheritanceDynamic associationsOperations

Page 38: Unit05 Case - System Analysis UML

OOAD 1/2550 ดร.สขสถต มสถตย38

สรป

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