บทที่ 6 แบบจำลองระบบ (System Model) วิชำ วิศวกรรมซอฟต์แวร์ (04-06-325) วิชา วิศวกรรมซอฟต์แวร์ (04-06-306) 1 เอกสารประกอบการสอน
บทท 6 แบบจ ำลองระบบ (System Model)
วชำ วศวกรรมซอฟตแวร (04-06-325)
วชา วศวกรรมซอฟตแวร (04-06-306) 1 เอกสารประกอบการสอน
วตถประสงคกำรเรยนร
• เพอใหผเรยนมความรความเขาใจเกยวกบแบบจ าลองระบบ (System Design) ตลอดจนเขาใจสญลกษณ และวตถประสงคของแบบจ าลองระบบทจะน าไปใชได
• เพอใหผเรยนสามารถวเคราะหและออกแบบระบบดวยแบบจ าลองระบบ และสามารถน าไปประยกตใชงานรวมกบแนวทางการพฒนาซอฟตแวรทเลอกไดอยางเหมาะสม
วชา วศวกรรมซอฟตแวร (04-06-306) 2 เอกสารประกอบการสอน
หวขอ
• บทน า (Overview)
• ความส าคญของแบบจ าลอง
• ประเภทแบบจ าลองจ าแนกตามแนวทางการพฒนา
– Structured System Approach
– Object-oriented Approach
• สรป (Summary)
วชา วศวกรรมซอฟตแวร (04-06-306) 3 เอกสารประกอบการสอน
บทน ำ (Overview)
วตถประสงค • สอสารกบบคคลท
เกยวของ
แนวทำงกำรวเครำะห • เชงโครงสราง • เชงวตถ
กำรออกแบบ • ใชเปนขอมล
ส าคญ • ก าหนด
รายละเอยดทางเทคนค
วชา วศวกรรมซอฟตแวร (04-06-306) 4 เอกสารประกอบการสอน
แบบจ ำลองกำรวเครำะห (Analysis Model)
• แบบจ ำลอง (Model)
• สญลกษณทใชจ าลองขอเทจจรงตางๆ ทเกดขนในระบบ
• แสดงใหเหนในแตละมมมอง
• แบบจ ำลองกำรวเครำะห (Analysis Model)
• แบบจ าลองทเขยนขนจากขอก ำหนดควำมตองกำรของระบบ
• หนาทการท างานของระบบดานตางๆ • ระบบท าหนาท What และ How
วชา วศวกรรมซอฟตแวร (04-06-306) 5 เอกสารประกอบการสอน
ควำมส ำคญของแบบจ ำลอง
• เพอใหทราบถงควำมเปนมำของระบบ และขนตอนในกำรปฏบตงำนของระบบ
• เพอการออกแบบระบบใหมทตรงตามความตองการของผใชใหมากทสด
วชา วศวกรรมซอฟตแวร (04-06-306) 6 เอกสารประกอบการสอน
ควำมส ำคญของแบบจ ำลอง (ตอ)
• แบบจ ำลองทน ำเอำมำพจำรณำและวเครำะหระบบ ดงน
– Context Diagram
– Data Flow Diagram (DFD)
– E-R Diagram
– System Flow Chart / Flow Chart
• ควำมผดพลำดของโปรแกรมเมอรทออกแบบระบบ โดยไมผำนกำรวเครำะห
วชา วศวกรรมซอฟตแวร (04-06-306) 7 เอกสารประกอบการสอน
ควำมสมพนธระหวำงแบบจ ำลองกำรวเครำะหและกำรออกแบบ
วชา วศวกรรมซอฟตแวร (04-06-306) 8
SRS
Foundation model
Technical Specifications/Details
เอกสารประกอบการสอน
Benefit the programmer
แบบจ ำลองกำรวเครำะห (Analysis Model)
• แบบจ ำลองตำมแนวทำงเชงโครงสรำง (Structured Analysis)
– แบบจ ำลองกระบวนกำร (Process Model) • จ าลองขนตอนการท างานของระบบ DFD
– แบบจ ำลองขอมล (Data Model) • จ าลองโครงสรางขอมลทงหมดในระบบ E-R
• แบบจ ำลองตำมแนวทำงเชงวตถ (Object Oriented Analysis)
– UML (Unified Modeling Language)
วชา วศวกรรมซอฟตแวร (04-06-306) 9 เอกสารประกอบการสอน
แบบจ ำลองแนวทำงเชงโครงสรำง (Structured Approach)
• แผนภำพกระแสขอมล (Data Flow Diagram: DFD)
• แผนภำพแสดงควำมสมพนธระหวำงขอมล (Entity Relationship Diagram: ERD)
เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-306) 10
แผนภำพกระแสขอมล (Data Flow Diagram)
• แผนภาพทแสดงถงทศทางการไหลของขอมลทมอย ในระบบ จากกระบวนการท างานหนงไปอกกระบวนการหนง หรอไปยงสวนอนทเกยวของ
– แหลงจดเกบขอมล (Data Store)
– ผทเกยวของทอยนอกระบบ (External Agent)
วชา วศวกรรมซอฟตแวร (04-06-306) 11 เอกสารประกอบการสอน
แผนภำพกระแสขอมล (ตอ)
• วตถประสงคของกำรสรำงแผนภำพกระแสขอมล – เปนแผนภาพทสรปรวมขอมลทงหมดทไดจากการวเคราะหในลกษณะ
ของรปแบบทเปนโครงสราง
– เปนขอตกลงรวมกนระหวำงนกวเครำะหระบบและผใชงำน
– เปนแผนภาพทใชในการพฒนาตอในขนตอนของการออกแบบระบบ
– เปนแผนภาพทใชในการอางอง หรอเพอใชในการพฒนาตอในอนาคต
– ทราบทมาของขอมลทไหลไปในกระบวนการตางๆ (Data and Process)
วชา วศวกรรมซอฟตแวร (04-06-306) 12 เอกสารประกอบการสอน
วชา วศวกรรมซอฟตแวร (04-06-306) 13
สญลกษณทใชใน DFD DeMarco & Yourdon Gane & Sarson ควำมหมำย
Process : ขนตอนการท างานภายในระบบ
Data Store : แหลงขอมลสามารถเปนไดทงไฟลขอมลและฐานขอมล (File or Database) External Agent : ปจจยหรอสภาพแวดลอมทมผลกระทบตอระบบ Data Store : เสนทางการไหลของขอมล แสดงทศทางของขอมลจากขนตอนการท างานหนงไปยงอกขนตอนหนง
เอกสารประกอบการสอน
วชา วศวกรรมซอฟตแวร (04-06-306) 14
กฎกำรสรำงแผนภำพ DFD
Process จะตองมทง Input data flow และ Output data flow
เอกสารประกอบการสอน
วชา วศวกรรมซอฟตแวร (04-06-306) 15
กฎกำรสรำงแผนภำพ DFD (ตอ)
ทก Data Flows ทเขยนไปยงหรออานจาก Data store จะตองเคลอนผาน Process
เอกสารประกอบการสอน
วชา วศวกรรมซอฟตแวร (04-06-306) 16
กฎกำรสรำงแผนภำพ DFD (ตอ)
จะตองไมมการสงขอมลระหวาง External Entities โดยไมผาน Process
ปฏสมพนธของ External Entities ทไมผานกระบวนการในระบบถอวานอกเหนอขอบเขตของระบบ ดงนนจงไมจ าเปนตองแสดงใน DFD
เอกสารประกอบการสอน
วชา วศวกรรมซอฟตแวร (04-06-306) 17
กฎกำรสรำงแผนภำพ DFD (ตอ) ควรหลกเลยงการใช Bidirectional flow ระหวาง process และ data
store ควรแยกออกมาเปนเสนลกศรเดยว
เสนขอมลทแยกจากเสนเดยวกน หมายถงขอมลเดยวกนทออกจากแหลงเดยวกนออกไปยง หลาย ๆ Process / Data store / Entity
เอกสารประกอบการสอน
วชา วศวกรรมซอฟตแวร (04-06-306) 18
กฎกำรสรำงแผนภำพ DFD (ตอ) เสนขอมลทรวมเปนเสนเดยวกน หมายถงขอมลเดยวกนทมาจากหลาย ๆ
Process / Data store / Entity
ขอมลไมสามารถเคลอนยายโดยตรงออกจาก Process เขามายง Process เดยวกนได ซงจาเปนตองม Process อยางนอย 1 Process ในการจดการขอมลนนๆ
เอกสารประกอบการสอน
ระดบของ DFD
• การเขยน DFD สามารถแยกรายละเอยดของแผนภาพออกเปนหลายระดบ เพองายตอการก าหนดขอบเขตในการพจารณาและงายตอการท าความเขาใจ
• ระดบของ DFD ประกอบดวยดงน
– DFD Level 0 (Context Diagram)
– DFD Level 1
– DFD Level 2
– DFD Level n
วชา วศวกรรมซอฟตแวร (04-06-306) 19 เอกสารประกอบการสอน
Context Diagram (DFD ระดบ 0)
• Context Diagram แสดงความสมพนธของระบบและสงแวดลอม โดยแสดงเฉพาะปฏสมพนธระหวาง External Entities (Actors) กบระบบเทานน
– มเพยง Process เดยว คอ ระบบ
– ไมแสดง Data store
– ขอบเขตของระบบพจารณาไดจากจ านวน Input/Output ทงหมด
วชา วศวกรรมซอฟตแวร (04-06-306) 20 เอกสารประกอบการสอน
ตวอยำง Context Diagram (DFD ระดบ 0)
วชา วศวกรรมซอฟตแวร (04-06-306) 21
อาจารย นกศกษา ระบบทะเบยน ผลคะแนน รหส นศ.
ผลการเรยน
เอกสารประกอบการสอน
ตวอยำง DFD ระดบ 1
วชา วศวกรรมซอฟตแวร (04-06-306) 22
อาจารย
บนทก ผลคะแนน
นกศกษา
แสดงผล การเรยน
ผลคะแนน D1
ผลคะแนน
ผลคะแนน ผลคะแนน
รหส นศ. ผลการเรยน
1 2
เอกสารประกอบการสอน
ตวอยำง DFD ระดบ 2
วชา วศวกรรมซอฟตแวร (04-06-306) 23
แสดงผล การเรยน
ผลคะแนน
รหส นศ. ผลการเรยน
2
DFD Level 2
รบรหสนกศกษา
2.1
อานผลคะแนน ของ นศ.
2.2
ผลคะแนน D1
ค านวณผลการเรยน
2.3
แสดงผลการเรยน
2.4
รหส นศ. ผลการเรยน
ผลคะแนน
ผลคะแนน D1
รหส นศ.
ผลคะแนน
ผลการเรยน
DFD Level 1
เอกสารประกอบการสอน
แผนภำพแสดงควำมสมพนธระหวำงขอมล Entity Relationship Diagram (ERD)
• เปนเครองมอทแสดงใหเหนถงความสมพนธของขอมลตาง ๆ ทมตอกนในระบบงาน
• แผนภาพม Cardinality เปนสงก าหนดคาความสมพนธของ Entity ในความสมพนธแตละลกษณะ อาทเชน 1:1 , 1:m และ m:n เปนตน ซงอาจใชสญลกษณแทนได
วชา วศวกรรมซอฟตแวร (04-06-306) 24 เอกสารประกอบการสอน
สญลกษณแทน Cardinality
วชา วศวกรรมซอฟตแวร (04-06-306) 25
Employee Owner Car
One-to-One Relationship
1 M Employee Have Car
1 1
One-to-Many Relationship
M N Customer Belong_to Account
Many-to-Many Relationship
เอกสารประกอบการสอน
ตวอยำงควำมสมพนธของ Entity
วชา วศวกรรมซอฟตแวร (04-06-306) 26 เอกสารประกอบการสอน
Teaching
แบบจ ำลองแนวทำงเชงวตถ (Object-Oriented Approach)
• เนนการนยำมคลำส และลกษณะทคลาสท างานรวมกน • วตถ (Object) ประกอบดวยขอมล (Properties) และกระบวนกำรท ำงำน
(Behavior) • แบบจ ำลองเชงวตถ UML (Unified Modeling Language) แบงออกเปน
2 กลม 9 แผนภาพ ดงน – Structural Diagram เปนกลมแผนภาพทแสดงใหเหนโครงสรางเชงสถต
(Static) ของระบบ – Behavioral Diagram เปนกลมแผนภาพใหเหนภาพเชงกจกรรมของ
ระบบ (Dynamic)
เอกสารประกอบการสอน วชา วศวกรรมซอฟตแวร (04-06-306) 27
Class Diagram
Object Diagram
Component Diagram
Deployment Diagram
Use Case Diagram
Sequence Diagram
Collaboration Diagram
State Diagram
Activity Diagram
แบบจ ำลองแนวทำงเชงวตถ (ตอ)
วชา วศวกรรมซอฟตแวร (04-06-306) 28
Structural Diagrams
Behavioral Diagrams
เอกสารประกอบการสอน
แบบจ ำลองยสเคส (Use Case Modeling)
• แบบจ ำลองยสเคส
– แสดงกจกรรมทผใชสามารถกระท ารวมกบระบบ
– แบบจ าลองเชงตรรกะ ทอธบายกจกรรมของระบบ
– ยงไมระบกจกรรมจะถกพฒนาขนไดอยางไร/ใชเทคโนโลยใด
– ประกอบดวย 2 ขนตอนหลก ดงน • เขยนค ำอธบำยยสเคส
• แปลงค ำอธบำยยสเคสเปนแผนภำพ
วชา วศวกรรมซอฟตแวร (04-06-306) 29 เอกสารประกอบการสอน
ค ำอธบำยยสเคส (Use Case Description)
• อธบายถงฟงกชนการท างานพนฐานของระบบ • ผใชท าอะไร/ระบบตอบสนองอยางไร • ยสเคส 1 ใดๆ
– อธบายฟงกชนการท างานของระบบเพยง 1 ฟงกชน – สรางขนจากมมมองของผใชในหลาย ๆ กรณ
• สงทตองพงระวง – ยสเคสทจดท าขน เกยวของกบบทบำทของผใชแทนทจะเกยวของ
กบผใชบคคลใดบคคลหนง
วชา วศวกรรมซอฟตแวร (04-06-306) 30 เอกสารประกอบการสอน
ประเภทของยสเคส (Types of Use Case)
• ยสเคสสำมำรถจ ำแนกได 2 มมมอง ดงน
– ดำนวตถประสงค • Overview Use case
• Detail Use Case
– ดำนปรมำณของขอมลภำยในยสเคส • Essential Use Case
• Real Use Case
วชา วศวกรรมซอฟตแวร (04-06-306) 31 เอกสารประกอบการสอน
องคประกอบของค ำอธบำยยสเคส (Elements of a Use Case Description)
วชา วศวกรรมซอฟตแวร (04-06-306) 32
ชอยสเคส (Use Case Name)
รหส (Use Case ID)
ระดบควำมส ำคญ (Importance Level)
ผกระท ำหลก (Primary Actor)
ประเภทยสเคส (Use Case Type)
ผมสวนเกยวของและกำรใชประโยชน
ค ำอธบำย (Brief Description)
สงกระตน (Trigger)
ควำมสมพนธ (Relationships)
(ควำมเกยวเนอง กำรรวม กำรขยำย และกำรรบทอดคณสมบต)
ขนตอนกำรท ำงำนปกต (Normal Flow of Events)
ขนตอนกำรท ำงำนยอย (Sub flows)
ขนตอนกำรท ำงำนทำงเลอก/พเศษ (Exception Flows)
เอกสารประกอบการสอน
ตวอยำงค ำอธบำยยสเคส
วชา วศวกรรมซอฟตแวร (04-06-306) 33
ชอยสเคส (Use Case Name)
รบการสงซอจากลกคา รหส (Use Case ID)
UDC-001 ระดบควำมส ำคญ (Importance Level)
มาก
ผกระท ำหลก (Primary Actor)
ฝายวางแผนและควบคมการผลต
ประเภทยสเคส (Use Case Type)
เชงละเอยด
ผมสวนเกยวของและกำรใชประโยชน
- ฝายวางแผนและควบคมการผลต: ตองการเพมรายการสงซอสนคาจากลกคา
ค ำอธบำย (Brief Description)
เปนยสเคสทใชในการแสดงวธการเพมรายการการสงซอสนคาลงยงฐานขอมล
สงกระตน (Trigger)
เมอลกคำมกำรสงซอสนคำเขำมำยงบรษท
ควำมสมพนธ (Relationships)
ควำมเกยวเนอง: ฝำยวำงแผนและควบคมกำรผลต ลกคำ กำรรวม: ระบบจดกำรขอมลสนคำ ระบบจดกำรขอมลลกคำ
เอกสารประกอบการสอน
ตวอยำงค ำอธบำยยสเคส (ตอ)
วชา วศวกรรมซอฟตแวร (04-06-306) 34
ขนตอนกำรท ำงำนปกต (Normal Flow of Events)
1. ระบบแสดงระบบรบสงซอ 2. ผใชกรอกรหสใบสงซอ 3. ระบบท าการตรวจสอบใบสงซอเทยบกบฐานขอมล 4. ผใชกรอกรายละเอยดของสนคา จ านวนทตองการซอ ชนดสนคาทตองการสงซอ และวน
และเวลาในการจดสง 5. ผใชกดปมเพมสนคาลงในรายการ 6. ระบบท าการบนทกรายการสนคาทสงซอลงยงฐานขอมล
ขนตอนกำรท ำงำนยอย (Sub flows)
ไมระบ
ขนตอนกำรท ำงำนทำงเลอก/พเศษ (Exception Flows)
2-1: กรณรหสกบฐานขอมล 2-1-1: ระบบท าการลบรหสทผใชกรอก และท าการแสดงผลใหผใชกรอกรหสใหม และแสดงสนคาทไดท าการเพมแลว และมรหสตรงกนใหทราบ
เอกสารประกอบการสอน
แผนภำพยสเคส (Use Case Diagrams)
• ขนตอนหลงจากเขยนค ำอธบำยยสเคส
• สรปยสเคสทงหมดไวเปนแผนภำพ ซงแสดงใหเหนเกยวกบ
– ฟงกชนกำรท ำงำนหลกของระบบ
– ผใชและผทเกยวของกบระบบ
• วศวกรซอฟตแวร/ผวเคราะหระบบเขาภาพรวมของระบบ
วชา วศวกรรมซอฟตแวร (04-06-306) 35 เอกสารประกอบการสอน
วชา วศวกรรมซอฟตแวร (04-06-306) 36
ทมา: Alan Dennis, Barbara Haley Wixom and Roberta M, Systems Analysis and Design Fifth Edition, 2012.
สญลกษณและควำมหมำยของแผนภำพยสเคส
เอกสารประกอบการสอน
วชา วศวกรรมซอฟตแวร (04-06-306) 37
สญลกษณและควำมหมำยของแผนภำพยสเคส (ตอ)
Term and Definition Symbol An include relationship specifies how the behavior for the inclusion use case is inserted into the behavior defined for the base use case.
An extend relationship specifies how the behavior of the extension use case can be inserted into the behavior defined for the base use case.
A generalization relationship is used to represent inheritance relationship between model elements of same type. The more specific model element share the same specification with. the more general the model element but carries more details in extra.
<<include>>
<<extend>>
เอกสารประกอบการสอน
ตวอยำงแผนภำพยสเคส
วชา วศวกรรมซอฟตแวร (04-06-306) 38
ทมา: Alan Dennis, Barbara Haley Wixom and Roberta M, Systems Analysis and Design Fifth Edition, 2012. เอกสารประกอบการสอน
ตวอยำง ระบบ ATM
• ผใชงานตองสอดบตร ATM เขาสเครองรบบตร หากบตรใชงานไดจงเขาสหนาจอ Main Menu หากใชงานไมไดบตร ATM จะถกปลอยคน (Reject) ออกมา
• ในกรณทบตรใชงำนได – ผใชสามารถตรวจสอบยอดเงนคงเหลอในบญช แตละบญช
– ผใชสามารถระบประเภทบญชและจ านวนเงนทตองการถอน/โอน/บรจาค/จายคาสาธารณปโภค ถามเงนในบญชมากกวาหรอเทากบจ านวนทระบ ผใชงานจงจะสามารถท าธรกรรมได
• ผใชงานตองเปนสมาชกกบธนาคารกอน จงจะสามารถใชบรการระบบ ATM ได – ส าหรบขนตอนการเขาสระบบ ระบบตองสามารถตรวจสอบขอมลสมาชก
• กรณทระบบไมสามารถท าธรกรรมจนแลวเสรจไดระบบควรมการแจงผใชและยกเลกการท าธรกรรมทนท
วชา วศวกรรมซอฟตแวร (04-06-306) 39 เอกสารประกอบการสอน
ตวอยำงแผนภำพยสเคส (ระบบ ATM)
วชา วศวกรรมซอฟตแวร (04-06-306) 40
A
B
C
D
E
F G
เอกสารประกอบการสอน
ตวอย
ำงแผ
นภำพ
ยสเค
ส (ต
อ)
วชา วศวกรรมซอฟตแวร (04-06-306) 41
ทมา: Alan Dennis, Barbara Haley Wixom and Roberta M, Systems Analysis and Design Fifth Edition, 2012. เอกสารประกอบการสอน
แผนภำพคลำส (Class Diagram)
• Class
– แมแบบทใชสรางกรณตวอยาง หรอ Object ของระบบ
– โครงสรางและพฤตกรรมทเหมอนกน แตจะม attribute ทตำงกน
– คลาสแบงออกเปน 2 ประเภท คอ • Concrete class สรำง Object
• Abstract class ก ำหนดสำระส ำคญ
วชา วศวกรรมซอฟตแวร (04-06-306) 42 เอกสารประกอบการสอน
public class Dog extends Animal
{
public void speak()
{
System.out.println("Woof!");
}
}
//Abstract animal class public abstract class Animal { private String name; public abstract void speak(); public String getName() { return name; } public void setName(String animalName) { name = animalName; } }
แผนภำพคลำส (ตอ)
• Attributes – สวนของขอมลหลายๆ สวน ทรวมกน
เปนรายละเอยดของคลาส – ประกอบดวย ขอมลส าคญทควรมการ
จดเกบเขาสระบบ และเปนชนดขอมลแบบพนฐาน
• Operations – การกระท าท Object สามารถท าได
อาจมองไดเปน • Method/Service/Behavior
วชา วศวกรรมซอฟตแวร (04-06-306) 43
Customer
- number - firstname - lastname - address - city - state
+ getNumber() + getName() + getAddress() + getCity() + getState()
A
B
C
เอกสารประกอบการสอน
Information hiding/Visibility
สทธ สญลกษณ การเขาถงขอมลภายใน
Public + ทกๆ Object ภายในระบบ
Protected # Object ของคลาสทมคณลกษณะเปนคลาสสบทอด
Private - Object จากคลาสหนงๆ โดยเฉพาะ
วชา วศวกรรมซอฟตแวร (04-06-306) 44 เอกสารประกอบการสอน
วชา วศวกรรมซอฟตแวร (04-06-306) 45
ทมา: Alan Dennis, Barbara Haley Wixom and Roberta M, Systems Analysis and Design Fifth Edition, 2012.
สญลกษณและควำมหมำยของแผนภำพคลำส
เอกสารประกอบการสอน
แผนภำพคลำส: ควำมสมพนธ (Relationship)
• ควำมสมพนธแบงออกเปน 3 ประเภท ดงน
– Generalization relationships
– Aggregation relationships
– Association relationships
วชา วศวกรรมซอฟตแวร (04-06-306) 46 เอกสารประกอบการสอน
Generalization Relationships
• คลำสทสบทอดลกษณะประจ ำ หรอกำรด ำเนนกำรจำกคลำสอน
• Superclass (1) หรอ Subclass (*)
• A-kind-of
วชา วศวกรรมซอฟตแวร (04-06-306) 47 เอกสารประกอบการสอน
Aggregation/Composition Relationships
• เปนควำมสมพนธกำรรวมกลม/กำรประกอบ
• A-part-of/Has-part
วชา วศวกรรมซอฟตแวร (04-06-306) 48
Aggregation
Composition Car
-nameCar : String
+run()
Engine
-CC : int
+setCC(newCC : int)
Wheel
-size : int
+setSize() : int
Pond
-size
+changeSize() : int
Duck
-duckID : int -name : String
+getID() : int +changeName(newName: String)
0..1 1 1…*
0..1 0…*
เอกสารประกอบการสอน
Association Relationships
• เปนควำมสมพนธแบบทวไประหวำงคลำส
• ความสมพนธแบบนอาจถกมองในรปของการมอย (has-a) ได – Object จำกคลำสหนงมคำ
อำงองไปยง Object จำกคลำสอนได
วชา วศวกรรมซอฟตแวร (04-06-306) 49 เอกสารประกอบการสอน
วชา วศวกรรมซอฟตแวร (04-06-306) 50
ทมา: Alan Dennis, Barbara Haley Wixom and Roberta M, Systems Analysis and Design Fifth Edition, 2012.
สญลกษณและควำมหมำยของควำมสมพนธแบบ ASSOCIATION
เอกสารประกอบการสอน
แนวทำงส ำหรบกำรจดท ำแผนภำพคลำส
วชา วศวกรรมซอฟตแวร (04-06-306) 51 ทมา: Alan Dennis, Barbara Haley Wixom and Roberta M, Systems Analysis and Design Fifth Edition, 2012.
เอกสารประกอบการสอน
กจกรรมท 6.1 จงแสดงควำมสมพนธของ Class Diagram แบบ Association
วชา วศวกรรมซอฟตแวร (04-06-306) 52
ทมา: Alan Dennis, Barbara Haley Wixom and Roberta M, Systems Analysis and Design Fifth Edition, 2012.
1 Targets 0…*
เอกสารประกอบการสอน
ตวอย
ำง C
lass
Diag
ram
(ตอ)
วชา วศวกรรมซอฟตแวร (04-06-306) 53
ทมา: Alan Dennis, Barbara Haley Wixom and Roberta M, Systems Analysis and Design Fifth
Edition, 2012.
เอกสารประกอบการสอน
แผนภำพล ำดบกำรท ำงำน (Sequence Diagram)
• เปนแผนภำพทแสดงใหเหน
– การตดตอกนระหวำง Object/ฟงกชนการท างานในแผนภาพยสเคส
– การสงผำนขอควำมระหวางฟงกชนการท างานในยสเคส
– ล ำดบกำรท ำงำนโดยทวไปในทกกรณทเปนไปไดของระบบ
วชา วศวกรรมซอฟตแวร (04-06-306) 54 เอกสารประกอบการสอน
วชา วศวกรรมซอฟตแวร (04-06-306) 55
สญลก
ษณแล
ะควำ
มหมำ
ยของ
แผนภ
ำพล ำ
ดบกำ
รท ำง
ำน
ทมา: Alan Dennis, Barbara Haley Wixom and Roberta M, Systems Analysis and Design Fifth Edition, 2012. เอกสารประกอบการสอน
ตวอยำงแผนภำพล ำดบกำรท ำงำน
วชา วศวกรรมซอฟตแวร (04-06-306) 56
ทมา: Alan Dennis, Barbara Haley Wixom and Roberta M, Systems Analysis and Design Fifth
Edition, 2012.
เอกสารประกอบการสอน
แผนภำพกจกรรม (Activity Diagram)
• แบบจ ำลองกระบวนกำรเชงธรกจ แสดงใหเหนถง
– กจกรรมตำง ๆ ทเกดขนในกระบวนกำรเชงธรกจขององคกร
– ล ำดบขนตอนกำรท ำงำนทจะเกดขนของระบบ แตละมมมองของผกระท ำ
– ทราบควำมสมพนธทเกดขนกบผลลพธของกจกรรมหนง เปนขอมลน ำเขำของกจกรรมใด
วชา วศวกรรมซอฟตแวร (04-06-306) 57 เอกสารประกอบการสอน
แผนภำพกจกรรม (ตอ)
• Activity Diagram ลกษณะเดยวกบ Flowchart (แสดงขนตอนการท างานของระบบ) โดยขนตอนในการท างานแตละขนตอนซงเรยกวา Activity
• วตถประสงคในกำรใช Activity Diagram
– อธบาย กระแสการไหลของการท างาน (Workflow)
– แสดงขนตอนการท างานของระบบ
วชา วศวกรรมซอฟตแวร (04-06-306) 58 เอกสารประกอบการสอน
แผนภำพกจกรรม (ตอ)
• Activity อำจเปนกำรท ำงำนตำง ๆ ไดแก
– การค านวณผลลพธบางอยาง
– การเปลยนแปลงสถานะ (State) ของระบบ
– การสงคากลบคน
– การสงสญญาณ
– การเรยกให Operation (Method) อนๆเพอท างาน
– การสราง หรอ ท าลายวตถ
วชา วศวกรรมซอฟตแวร (04-06-306) 59 เอกสารประกอบการสอน
วชา วศวกรรมซอฟตแวร (04-06-306) 60
สญลกษณและควำมหมำยของแผนภำพกจกรรม
Fork Join
Decision Node
Object Node
Action Node
Initial Node
Activity Final
Guard
เอกสารประกอบการสอน
ลกษณะของแผนภำพกจกรรม
• Activity Diagram จะตองมจดเรมตนกบจดสนสด และในระหวางจดเรมตนกบจดสนสดกจะมขนตอนหรอ Activity ตาง ๆ ของระบบ
• การเขยน Activity Diagram โดยอานจากดานบนลงลำง
วชา วศวกรรมซอฟตแวร (04-06-306) 61 เอกสารประกอบการสอน
สญลกษณทใชในแผนภำพกจกรรม
สญลกษณ ควำมหมำย
กจกรรม (Activity)
เสนทางการไหลของกจกรรม
เสนทางการไหลของกจกรรม กรณ Synchronization และ Join
วชา วศวกรรมซอฟตแวร (04-06-306) 62
กจกรรม
กจกรรม 1 กจกรรม 2
เอกสารประกอบการสอน
สญลกษณ ควำมหมำย
กรณมเงอนไข
จดเรมตน
จดสนสด
สวมเลนส (Swimlanes)
สญลกษณทใชในแผนภำพกจกรรม (ตอ)
วชา วศวกรรมซอฟตแวร (04-06-306) 63 เอกสารประกอบการสอน
สญลกษณ ควำมหมำย
แสดงการไหลของออบเจกต (Object Flow)
ออบเจกต หรอ คลาส
สญลกษณทใชในแผนภำพกจกรรม (ตอ)
วชา วศวกรรมซอฟตแวร (04-06-306) 64 เอกสารประกอบการสอน
กำรท ำงำนแบบขนำน
• ใชเสนตรงแนวนอนเสนหนาทเรยกวา Swim Lanes มาเปนสญลกษณทใชจดกลมงาน
• มกำรท ำงำนพรอม ๆ กน หรอ กำรท ำกจกรรมในลกษณะคขนำน
วชา วศวกรรมซอฟตแวร (04-06-306) 65 เอกสารประกอบการสอน
วชา วศวกรรมซอฟตแวร (04-06-306)
กำรใช Activity Diagram แสดงกำรสงสญญำณ
• การใช Activity Diagram แสดงกำรสงสญญำณทเปนกำรแสดงควำมสมพนธระหวำง Activity ทงสอง ภำยใตเหตกำรณเดยวกน
• ระบบทสนใจ คอ ...?...
66 เอกสารประกอบการสอน
กำรแบงกำรท ำงำนใหเปนสดสวน
• หลกการของการแสดงหนาท จะท าโดยการแบงกลมของการรบผดชอบเปนกลมๆ แบงการท างานใหเปนสดสวน เรยกวา Swimlanes
• คณลกษณะอกอยางหนงคอสามารถแสดงใหเหนไดวาใครเปนผมหนาทรบผดชอบในแตละ activity ในกระบวนการท างานหนง ๆ
• Swimlane จะมการก าหนดชอก ากบเอาไว
– กระบวนการของการสงซอสนคา อาจแบงกลมของคนทมสวนเกยวของเปน 3 สวน ไดแก ลกคำ, ฝำยขำย และคลงสนคำ
วชา วศวกรรมซอฟตแวร (04-06-306) 67 เอกสารประกอบการสอน
กำรแบงกำรท ำงำนใหเปนสดสวน (ตอ)
• การก าหนด Swimlanes สามารถท าในแนวตง หรอ แนวนอนกได
• โดยแตละเลนจะมชอผรบผดชอบเพยงคนเดยว หรอ กลมเดยวผรบผดชอบจะท าหนาทของตนทระบในเลนนนๆ
วชา วศวกรรมซอฟตแวร (04-06-306) 68
Order Processing - Process step where the distribution center or warehouse is responsible to fill order (receive and stock inventory, pick, pack and ship orders) เอกสารประกอบการสอน
กำรแบงกำรท ำงำนใหเปนสดสวน (ตอ)
วชา วศวกรรมซอฟตแวร (04-06-306) 69
Order Processing - Process step where the distribution center or warehouse is responsible to fill order (receive and stock inventory, pick, pack and ship orders)
- Activity ใดๆ จะอยภำยใน 1 Swimlane เทำนน
- กำรตดตอหรอสงผำนระหวำง Activity สำมำรถเกดขนขำม Swimlane ได
เอกสารประกอบการสอน
ตวอยำงแผนภำพกจกรรม
วชา วศวกรรมซอฟตแวร (04-06-306) 70
Card Inserted
System prompts for PIN
Customer enters PIN
Log invalid PIN
Validate PIN
Select transaction type
Prompt PIN invalid
[PIN invalid] [PIN valid]
Reject card
[NbrOfAttempts < 3]
System prompts for amount
System prompts for currency
[Withdrawal] [Foreign currency
transaction]
Customer enters amount
Customer enters currency
Guard: Follow this path, only if the text in the brackets [ ] evaluates to true.
เอกสารประกอบการสอน
แผนภำพคอลลำบอเรชน (Collaboration Diagram)
• แผนภาพแสดงกำรปฏสมพนธระหวำงออบเจกตในลกษณะของกรำฟ หรอ เครอขำย ซง Object จะอยทใด ๆ ในแผนภาพกได (Larman, 2002)
วชา วศวกรรมซอฟตแวร (04-06-306) 71 เอกสารประกอบการสอน
แผนภำพสเตรทชำรต (State Chart Diagram)
• แผนภาพทแสดงเหตกำรณตำง ๆ ของแตละ State ทมผลท าใหสถำนะของออบเจกตเปลยนแปลง และผลจำกกำรกระท ำทเกดขนเมอสถำนะของออบเจกตนนเปลยน
วชา วศวกรรมซอฟตแวร (04-06-306) 72 เอกสารประกอบการสอน
แผนภำพสเตรทชำรต (ตอ)
วชา วศวกรรมซอฟตแวร (04-06-306) 73 เอกสารประกอบการสอน
แผนภำพดพลอยเมนท (Deployment Diagram)
• การแสดงสถำปตยกรรมของระบบ ในลกษณะทเปน Physical architecture
• ระบบประกอบดวยคอมพวเตอรและอปกรณอะไรบาง
วชา วศวกรรมซอฟตแวร (04-06-306) 74 เอกสารประกอบการสอน
แผนภำพออบเจกต (Object Diagram)
• วตถประสงค – เพอแสดงวตถทถกสรำงขนจำก
คลำส และจ ำลองควำมสมพนธระหวำงวตถทไดออกแบบควำมสมพนธไวใน Class Diagram นน สามารถเกดขนไดจรงในระบบงานหรอไม
• สญลกษณทใชจะมลกษณะเชนเดยวกบ Class diagram ตำงกนทชอของ Object diagram จะมขดเสนใต
วชา วศวกรรมซอฟตแวร (04-06-306) 75 เอกสารประกอบการสอน
แผนภำพคอมโพเนนท (Component Diagram)
• แผนภาพทแสดงโครงสรำงและควำมสมพนธระหวำงองคประกอบ (Components) ตำงๆ ของ Software
– Source Code, Executable Program, Binary, Text และ User Interface
วชา วศวกรรมซอฟตแวร (04-06-306) 76 เอกสารประกอบการสอน
สรป (Summary)
• แบบจ าลองทใชในการออกแบบระบบ แบงเปน 2 กลม ดงน – กลม Structural Description (Static View) ไดแก
• Class And Object Diagram • Component Diagram • Deployment Diagram • Entity Relationship Diagram ERD
– กลม Behavioral Description (Dynamic View) ไดแก • Activity Diagram • Collaborative Diagram • Data Flow Diagram • Flowchart and Structure Flowchart • Sequence Diagram • State Chart Diagram
วชา วศวกรรมซอฟตแวร (04-06-306) 77 เอกสารประกอบการสอน
กจกรรมท 6.2
• Create a set of use cases, class, sequence and activity diagrams for the process of buying glasses from the viewpoint of the patient, but do not bother to identify the steps within each use case. (Just complete the information at the top of the use case form.) The first step is to see an eye doctor who will give you a prescription. Once you have a prescription, you go to a glasses store, where you select your frames and place the order for your glasses. Once the glasses have been made, you return to the store for a fitting and pay for the glasses.
วชา วศวกรรมซอฟตแวร (04-06-306) 78 เอกสารประกอบการสอน
กจกรรมท 6.3
• ระบบกลางในการใชบรการหองพกทางอนเทอรเนตส าหรบสมาชกมขนตอน ดงน – ผใชสามารถคนหารายการทพกตามชวงเวลา ประเภทของทพก ชวงของราคาตาม
ความตองการ – เมอคนหาทพกไดตามความตองการไดแลวนน ผใชสามารถจองทพกได ซงตองให
ขอมลเกยวกบบตรเครดตเพอใชในการช าระเงน ซงตองมการตรวจสอบสถานะบตรเครดตวาสามารถใชการได
– เมอช าระเงนเรยบรอยแลวผใชสามารถพมพรายงานของทรานแซคชน เพอใชในการตดตอกบทางสถานทใหบรการทพกทไดส ารองไว
• ทงนผทจะมาใชบรการระบบตองมการลงทะเบยนเปนสมาชกกอน • จากความตองการดงกลาวขางตน ก าหนดใหออกแบบระบบโดยวเคราะหและออกแบบ
แบบจ าลองยสเคส คลาส ล าดบการท างาน และกจกรรมตามล าดบ
วชา วศวกรรมซอฟตแวร (04-06-306) 79 เอกสารประกอบการสอน
เอกสำรอำงอง
• กตต ภกดวฒนะกล, วศวกรรมซอฟตแวร (Software Engineering), กรงเทพฯ: เคทพ คอมพ แอนด คอนซลท, 2552
• Alan Dennis, Barbara Haley Wixom and Roberta M, Systems Analysis and Design Fifth Edition, John Wiley and Sons, Inc. 2012.
• Lan Sommerville, Software Engineering Ninth Edition, Pearson Education, Inc., publishing as Addison-Wesley, 2011.
วชา วศวกรรมซอฟตแวร (04-06-306) 80 เอกสารประกอบการสอน