Unit05 Case - System Analysis UML

Preview:

Citation preview

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

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

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

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

วตถประสงค

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

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

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

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

ตอ

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

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

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

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

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

ตอ

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

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

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

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

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

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

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

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

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

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

ยสเคสโมเดล

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

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

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

ตอ

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

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

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

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

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

ตอ

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

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

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

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

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

กรณศกษา

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

เรมทางาน

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

กระปอง ลงขวด

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

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

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

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

กจกรรม

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

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

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

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

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

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

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

ตอ

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

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

ลกคา =Primary actor

ผดแล =Secondary actor

ตอ

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

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

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

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

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

ตอ

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

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

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

flows

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

ตอ

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

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

ตอ

OperatorCustomer

Return Item Generate daily Report

Change item information

* * * *

*

*

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

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

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

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

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

ตอ

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

รายการยสเคส

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

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

Operator (ผดแล)

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

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

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

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

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

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

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

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

Use case name: Return Items

ตอ

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

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

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

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

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

ตอ

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

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

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

ตอ

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

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

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

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

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

การหา Exceptional flow

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

มลคา

ชนด

ขนาด

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

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

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

ตอ

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

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

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

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

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

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

Object nounLogical attributesStatic associationsInheritanceDynamic associationsOperations

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

สรป

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