บทที่ 6 แบบจ ำลองระบบ (System Model)บทท 6 แบบจ...

Post on 25-Oct-2020

9 views 0 download

Transcript of บทที่ 6 แบบจ ำลองระบบ (System Model)บทท 6 แบบจ...

บทท 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 เอกสารประกอบการสอน