Upload
sushike
View
162
Download
3
Embed Size (px)
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พนฐานการพฒนาระบบโดยใชการทาพฒนาซอฟตแวรเชงวตถ และ ยเอมแอลรายการออบเจคในขอบเขตปญหา นาไปสคลาสไดอะแกรม