Unified Modeling Language

Download Report

Transcript Unified Modeling Language

Unified Modeling Language
อ.วิวฒ
ั น์ ชินนาทศิริกุล

การดําเนิ นงานโครงการพัฒนาซอฟต แวร ประกอบด วย
การเก็ บ รวมรวมข อมูล เกี่ ย วกับ ความต องการของผู ใช
(Requirement
Collection) ในการใช
ระบบ
- การวิเคราะห ข อมูล (Analysis)
- การออกแบบ(Design)
- การเขียนโปรแกรมหรือการสร างซอฟต แวร

UML
(Implementation)
เป็ นเครื่องมือซึ่งสามารถ "ช วย" เราได นับตั้งแต การวิเคราะห
การ
ออกแบบ และการดําเนิ นการพัฒนา
Unified Modeling Language (UML)
 UML

เป็ นภาษารูปภาพมาตรฐาน (Standard Modeling Language)
สําหรับใช้ในการสร้างโมเดลเชิงวัตถุ
UML เป็ นเสมือนพิมพ์เขียวที่แสดงภาพรวมของระบบทั้งหมด โดยจะ
แสดงในรูปแบบของแผนภาพ (Diagram) เพื่อให้เกิดความเข้าใจที่
ตรงกันระหว่างผูอ้ อกแบบระบบ, โปรแกรมเมอร์และผูใ้ ช้งาน
ความเป็ นมาของ UML
 UML

ถูกคิดค้นโดยบริษัท Rational Software ในปี 1994-1995 โดย
Grady Booch, James Rumbaugh และ Ivar Jacobson
ในปี 1997 UML version 1.1 ได้ถูกเสนอเป็ นมาตรฐานกับ OMG
(Object Management Group) ซึ่งได้ถูกกําหนดให้เป็ นภาษาโมเดล
มาตรฐาน จากนั้น UML ได้ถูกพัฒนาจนถึง version 1.4 (ปี 2001)
และ 2.0 (ปี 2002)
หลักการและเครื่องมือที่ใช้ใน Object Oriented Analysis

เราทราบว่า Object-Oriented Analysis คือการใช้ Abstraction เพื่อ
วิเคราะห์ หรือการพิจารณาว่าอะไรคือปั ญหาที่ตอ้ งแก้ไขใน Problem
Domain


ใช้ Abstraction เพื่อหา Object , Class , ความสัมพันธ์ และกิจกรรม
ต่างๆของ Object
เครื่องมือที่ใช้ใน Object-Oriented Analysis คือ แผนภาพหรือ
Diagram

ใน Object-Oriented Analysis and Design แบ่งได้เป็ น 2
ประเภทคือ
1. Static Object-Oriented Diagram หรือเรียกย่อๆว่า Static
Diagram
Diagram
2. Dynamic Object-Oriented Diagram
Diagram
หรือเรียกย่อๆว่า Dynamic
Static Diagram

Diagram
ที่แสดงภาพในเชิงสถิตย์ เป็ นการแสดง การมีอยูข่ อง Class
ต่างๆ แสดงความสัมพันธ์ของ Class เหล่านั้น โดยไม่แสดงถึงกิจกรรมที่
เกิดขึ้ น ตัวอย่าง Diagram ชนิ ดนี้ ได้แก่
- Use Case Diagram
- Class Diagram
Dynamic Diagram

เป็ น Diagram ที่แสดงภาพในเชิงกิจกรรม ของ Problem Domain
แสดงสิ่งที่เกิดขึ้ นจากกิจกรรมของ Class ต่างๆ ตัวอย่าง Diagram นี้
ได้แก่
- Sequence Diagram
- State Diagram
Use Case Diagram

Use Case Diagram
เป็ นแผนภาพที่ใช้ที่แสดงปฏิสมั พันธ์ระหว่างระบบงานและ
สิ่งที่อยูน่ อกระบบงาน

Use Case Diagram
1. Actor
2. Use Case
3. Relationship
ประกอบด้วย


Actor
คือ ผูท้ ี่กระทํากับระบบ อาจเป็ นผูท้ ี่ทาํ การส่งข้อมูล, รับข้อมูล
หรือ แลกเปลี่ยนข้อมูลกับระบบนั้นๆ เช่น ลูกค้า
Use Case คือ หน้าที่หรืองานต่างๆในระบบ เช่น การเช็คสต็อค การ
สัง่ ซื้ อสินค้า เป็ นต้น
 Relationship
คือ ความสัมพันธ์ระหว่าง Use Case กับ Actor
ATM Subsystem: Withdrawal
Enter Password
Check Balance
Card Holder
Withdraw Cash
Get Slip
Telephone Ordering System
Check Status
Salesperson
Place Order
Customer
Fill Order
Clerk
Establish
Credit
Manager
Activity Diagram
 Activity Diagram เป็ นแผนภาพที่ใช้ที่แสดงขั้นตอนการทํางานของ use
(เช่นเดียวกับ Sequence Diagram และ Collaboration Diagram)
แต่จะเน้นไปที่งานย่อยของวัตถุ โดยจะมีกระบวนการทํางานคล้ายกับ
case
Flowchart
 Activity Diagram บางครั้งมีลก
ั ษณะคล้าย Swimlane
โดยจะแบ่งกลุ่ม
กิจกรรมที่เกิดขึ้ นเป็ นช่อง โดยกํากับแต่ละช่องด้วยชื่อของ Object แต่ละ
Swimlane แสดงถึงกิจกรรมที่เกิดขึ้ นกับ Object นั้ นๆ
ตัวอย่าง Activity
Diagram การ
สอบถามยอดบัญชี
จากตู้ ATM
CardHolder
ATM Machine
InsertCard
Request Password
Enter Password
Check Password
Account
Confirm Access
Display Transaction Type
Choose Transaction Type
Read A/C Balance
Display Balance
Close Transaction
Return Card
Confirm Balance
Class Diagram

Class Diagram
คือ แผนภาพที่ใช้แสดง Class และ ความสัมพันธ์ระหว่าง
Class ของระบบที่สนใจ (Problem Domain) เช่น ในระบบจัดซื้ อ Class ที่
เกี่ยวข้องคือ ผูผ้ ลิต, พนักงานจัดซื้ อ, ใบสัง่ ซื้ อ, ใบเสนอราคา, ใบเสร็จรับเงิน
เป็ นต้น

สัญญลักษณ์ Class ประกอบด้วย
1. Class Name คือ ชื่อของ Class
2. Attributes คือ คุณลักษณะของ Class
3. Operations หรือ Methods คือ
กิจกรรมที่สามารถกระทํากับObject นั้นๆได้
Name
Attributes
Methods
ตัวอย่าง Class Diagram ในระบบธนาคาร
Account
Customer
FirstName
LastName
CardName
PinNumber
Account
VerifyPassword()
1
Number
Balance
Transaction
Has
*
Deposit()
Withdraw()
UpdateAccount()
1
Perform
*
Transaction
TransactionID
TransactionDate
TransactionTime
TransactionType
Account
Amount
PostBalance