Bài giảng Phân tích thiết kế hướng đối tượng - Vũ Thị Dương - Bài 2: Giới thiệu ngôn ngữ mô hình hóa thống nhất

Mô hình (Model)

 Là sự đơn giản hóa của hệ thống thực. MHH có thể bức tranh hay mô

tả vấn đề đang cố gắng giải quyết hay mô tả chính giải pháp vấn đề

 là ngôn ngữ của người thiết kế (trong nhiều lĩnh vực)

 là trình diễn hệ thống sẽ xây dựng

 là phương tiện giao tiếp giữa các stakeholders

 là kế hoạch chi tiết (blueprints)

pdf54 trang | Chuyên mục: Thiết Kế Hướng Đối Tượng Với UML | Chia sẻ: dkS00TYs | Lượt xem: 3087 | Lượt tải: 2download
Tóm tắt nội dung Bài giảng Phân tích thiết kế hướng đối tượng - Vũ Thị Dương - Bài 2: Giới thiệu ngôn ngữ mô hình hóa thống nhất, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
các mô phỏng
Phân tích thiết kế hướng đối tượng Bài 2 - 23/43
UML- ngôn ngữ để lập tài liệu
 UML cho phép mô tả tất cả các bước xây dựng 
một hệ thống
 Các mô hình được xây dựng tạo nên một tài liệu 
đầy đủ và chính xác về hệ thống
Phân tích thiết kế hướng đối tượng Bài 2 - 24/43
Phân tích thiết kế hướng đối tượng Bài 2 - 25/43
Khái quát về UML
 Mô hình hóa các phần tử
 Các quan hệ
 Cơ chế mở rộng
 Các biểu đồ
Phân tích thiết kế hướng đối tượng Bài 2 - 26/43
Mô hình hóa các phần tử
 Các phần tử cấu trúc
 class, interface, collaboration, use case, active class, component, node
 Các phần tử hành vi
 interaction, state machine
 Nhóm các phần tủ
 package, subsystem
 Các phần tử khác
 note
Phân tích thiết kế hướng đối tượng Bài 2 - 27/43
Các quan hệ
 Dependency – phụ thuộc ( mũi tên đứt nét)
 Association – kết hợp (đoạn thẳng với bội, bản số 
và vai trò)
 Generalization – khái quát hóa- thừa kế (mũi tên 
rỗng liền nét
 Realization – cài đặt – mũi tên rỗng nét đứt
Phân tích thiết kế hướng đối tượng Bài 2 - 28/43
Cơ chế mở rộng
 Khuôn dập-Stereotype
 Giá trị - Tagged value
 Ràng buộc-Constraint
Phân tích thiết kế hướng đối tượng Bài 2 - 29/43
Models and Diagrams
Use Case
Diagrams
Scenario
DiagramsScenario
DiagramsCollaboration
Diagrams
Component
Diagrams
Deployment
Diagrams
Object
Diagrams
Scenario
DiagramsScenario
DiagramsStatechart
Diagrams
Sequence
Diagrams
Class
Diagrams
Activity
Diagrams
Models
Phân tích thiết kế hướng đối tượng Bài 2 - 30/43
Các biểu đồ- Diagrams
 Biểu đồ là cách diễn tả hệ thống theo một góc nhìn
 Thể hiện cách nhìn từ góc độ của người tham gia
 Cung cấp 1 trình diễn cụ thể của hệ thống
 Về mặt ngữ nghĩa thì mỗi biểu đồ có thể sẽ khác nhau đối với 
cách nhìn khác nhau
 Trong UML có 9 biểu đồ cơ bản
 Tĩnh: use case, class, object, component, deployment
 Động: sequence, collaboration, statechart, activity
 A diagram is a view into a model
 Presented from the aspect of a particular stakeholder
 Provides a partial representation of the system
 Is semantically consistent with other views
 In the UML, there are nine standard diagrams
 Static views: use case, class, object, component, deployment
 Dynamic views: sequence, collaboration, statechart, activity
Phân tích thiết kế hướng đối tượng Bài 2 - 31/43
Kiến trúc hệ thống UML
Conceptual Physical
Logical View 
(Góc nhìn 
logic)
End-user 
Functionality
Implementation View 
(Góc nhìn cài đặt)
Programmers 
Software management
Process View 
(Góc nhìn quá trình)
Performance
Scalability
Throughput 
System integrators
Deployment View 
(Góc nhìn triển khai)
System topology 
Delivery, installation
Communication
System engineering
Use Case View
Góc nhìn Hệ thống
 Góc nhìn người sử dụng (use case).Mô tả hệ thống dưới 
góc nhìn của người sử dụng đầu cuối và người sở hữu
 Mô tả các mục tiêu và mục đích của hệ thống
 Mô tả các chức năng của hệ thống
 Góc nhìn logic- mô tả mặt tĩnh và cấu trúc của hệ thống
 Góc nhìn hành vi- mô tả mặt động của hệ thoongs (tương 
tác giữa các phần tử của hệ thống)
 Góc nhìn cài đặt – mô tả thực hiện giải phấp- mã chương 
trình
 Góc nhìn triển khai- mô tả các phần tử vật lý của giải pháp 
(bộ xử lý, thiết bị)
Phân tích thiết kế hướng đối tượng Bài 2 - 32/43
Phân tích thiết kế hướng đối tượng Bài 2 - 33/43
Cần bao nhiêu khung nhìn?
 Mô hình phù hợp với ngữ cảnh phát triển hệ thống
 Không phải tất cả các mô hình đòi hỏi đầy đủ khung nhìn
 Đơn xử lý: Bỏ qua khung nhìn triển khai
 Đơn tiến trình: Bỏ qua khung nhìn tiến trình
 Chương trình rất nhỏ: Bỏ qua khung nhìn cài đặt
 Bổ sung các khung nhìn
 Data view
 Security view
Phân tích thiết kế hướng đối tượng Bài 2 - 34/43
UML Concepts
 UML được sử dụng để:
 Hiển thị biên hệ thống và các chức năng chính của nó bằng ca sử 
dụng -use cases và các tác nhân- actors
 Mô tả hiện thực use case bằng biểu đồ tương tác- interaction 
diagrams
 Biểu diễn các cấu trúc tĩnh của hệ thống bằng biểu đồ lớp- class 
diagrams
 Mô hình hóa hành vi đối tượng bằng state transition diagrams
 Biểu thị kiến trúc cài đặt vật lý bằng component & deployment 
diagrams
 Mở rộng các chức năng bằng stereotypes
Phân tích thiết kế hướng đối tượng Bài 2 - 35/43
Thí dụ ứng dụng UML
 Một trường đại học thực hiện tin học hóa hệ thống đăng 
ký học và dạy học:
 Giáo vụ (Registrar) lập chương trình giảng dạy (curriculum) cho 
một học kỳ
 Sinh viên (Student) chọn 4 môn học chính và 2 môn dự bị
 Khi sinh viên đăng ký học thì hệ thống thanh toán (billing system) 
in hóa đơn học phí cho sinh viên
 Sinh viên có thể sử dụng hệ thống để bổ sung/loại bỏ môn học sau 
khi đã đăng ký (trong khoảng thời gian cố định)
 Giáo sư (Professors) sử dụng hệ thống để xem bảng phân công 
dạy học (course rosters)
 Người sử dụng hệ thống đăng ký được cấp passwords để vào máy
Phân tích thiết kế hướng đối tượng Bài 2 - 36/43
Biểu đồ ca sử dụng
 Biểu đồ use case dùng để mô tả tập hợp các ca sử 
dụng, các tác nhân và những mối quan hệ giữa chúng
 Các biểu đồ này mô tả cái nhìn tĩnh về hệ thống dưới 
con mắt của người sử dụng
 Các biểu đồ này rất quan trọng để nắm bắt chức năng 
của hệ thống
 Biểu đồ được tạo bởi người phân tích TK hay các 
chuyên gia của hệ thống
Phân tích thiết kế hướng đối tượng Bài 2 - 37/43
Biểu đồ ca sử dụng
Student
Registrar
Professor
Maintain Schedule
Maintain Curriculum
Request Course Roster
Billing System
Phân tích thiết kế hướng đối tượng Bài 2 - 38/43
Biểu đồ tuần tự- Sequence Diagram
 Mô tả sự trao đổi các thông điệp giữa các đối tượng 
dựa theo thời gian
Phân tích thiết kế hướng đối tượng Bài 2 - 39/43
Biểu đồ tuần tự
: Student
registration 
form
registration 
manager
math 101
1: fill in info
2: submit
3: add course(joe, math 01)
4: are you open?
5: are you open?
6: add (joe)
7: add (joe)
math 101 
section 1
Phân tích thiết kế hướng đối tượng Bài 2 - 40/43
Biểu đồ tương tác- Collaboration Diagram
 Mô tả sự trao đổi các thông điệp giữa các đối tượng 
dựa theo cấu trúc quan hệ giữa chúng
Phân tích thiết kế hướng đối tượng Bài 2 - 41/43
Biểu đồ tương tác- Collaboration Diagram
: Registrar
course form : 
CourseForm
theManager : 
CurriculumManager
aCourse : 
Course
1: set course info
2: process
3: add course
4: new course
Phân tích thiết kế hướng đối tượng Bài 2 - 42/43
Biểu đồ lớp
 Mô tả tập hợp các lớp và các tương tác giữa chúng
 Các biểu đồ lớp mô tả cấu trúc tĩnh của hệ thống
 Tạo bởi: analysts, designers, and implementers
Phân tích thiết kế hướng đối tượng Bài 2 - 43/43
Biểu đồ lớp- Class Diagram
RegistrationForm
RegistrationManager
Course
Student
CourseOffering
Professor
addStudent(Course, StudentInfo)
name
numberCredits
open()
addStudent(StudentInfo)
major
location
open()
addStudent(StudentInfo)
tenureStatus
ScheduleAlgorithm
1
0..*
0..*
1
1
1..*
4
3..10
0..4
1
Phân tích thiết kế hướng đối tượng Bài 2 - 44/43
Biểu đồ đối tượng- Object Diagram
 Mô tả tập hợp các đối tượng và quan hệ giữa chúng
 Các biểu đồ này mô tả cùng các thông tin như biểu 
đồ lớp nhưng dưới cách nhìn của các thể hiện lớp
 Developed by analysts, designers, and implementers
Phân tích thiết kế hướng đối tượng Bài 2 - 45/43
Biểu đồ trạng thái: State Transition Diagram
 Biểu diễn máy trạng thái- chuyển tiếp sự kiện và 
hoạt động
 Những biểu đồ này mô tả cái nhìn động về hệ 
thống
 Các biểu đồ này dùng để hiểu rõ hành vi của hệ 
thống
Phân tích thiết kế hướng đối tượng Bài 2 - 46/43
Biểu đồ trạng thái: State Transition Diagram
Initialization
Open
entry: Register student
exit: Increment count
Closed
Canceled
do: Initialize course
do: Finalize course
do: Notify registered students
Add Student / 
Set count = 0
Add student [count < 10]
[count = 10]
Cancel
Cancel
Cancel
Phân tích thiết kế hướng đối tượng Bài 2 - 47
Biểu đồ hoạt đông -Activity Diagram
 Mô tả luồng thông tin 
từ 1 hoạt động này đến 
1 họat động khác
 Mô tả cài nhìn động về 
hệ thống
Phân tích thiết kế hướng đối tượng Bài 2 - 48
Biểu đồ thành phần - Component Diagram
 Chỉ ra tổ chức và sự phụ thuộc giữa các thành phần của 
hệ thống
 Các biểu đồ Thành phần mô tả cái nhìn tĩnh về sự cài 
đặt của hệ thống
 Developed by architects and programmers
Phân tích thiết kế hướng đối tượng Bài 2 - 49
Biểu đồ thành phần - Component Diagram
Course
Course
Offering
Student
Professor
Course.dll
People.dll
Course
User
Register.exe
Billing.exe
Billing
System
Phân tích thiết kế hướng đối tượng Bài 2 - 50
Biểu đồ triển khai- Deployment Diagram
 Mô tả các nút và các thành phần của hệ thống tại 
thời điểm thực thi
 Developed by architects, networking engineers, and 
system engineers
Phân tích thiết kế hướng đối tượng Bài 2 - 51
Biểu đồ triển khai- Deployment Diagram
Registration Database
Library
Dorm
Main 
Building
Phân tích thiết kế hướng đối tượng Bài 2 - 52
Biểu đồ triển khai-Deployment Diagram
Client
Server
Application
Server
Fulfillment
System
Financial
System
Inventory
System
RDBMS
Server
Dynamic HTML, JavaScript, Java
plug-ins, source code enhancements
Java, C, C++, JavaScript, CGI
Java, C, C++, JavaBeans, 
CORBA, DCOM
Native languages
Góc nhìn và biểu đồ
Phân tích thiết kế hướng đối tượng Bài 2 - 53
Logical View 
(Góc nhìn logic)
Biểu đồ lớp, bd đối tượng
Implementation View (Góc 
nhìn cài đặt)
BD gói, thành phần
Process View (Góc 
nhìn hành vi)
Performance
Scalability
Throughput 
BD trạng thái, hoạt động, tuần tự, cộng tác
Deployment View (Góc 
nhìn triển khai)
System topology 
Delivery, installation
Communication
BD triển khai
Use Case View
- Biểu đồ ca sử dụng
Phân tích thiết kế hướng đối tượng Bài 2 - 54/43
Tóm tắt
 Các vấn đề đã nghiên cứu
 Khái niệm mô hình, mô hình hóa trực quan
 Khái quát về Ngôn ngữ mô hình hóa thống nhất
 Thí dụ sử dụng các biểu đồ của UML

File đính kèm:

  • pdfBài giảng Phân tích thiết kế hướng đối tượng - Vũ Thị Dương - Bài 2 Giới thiệu ngôn ngữ mô hình hóa thống nhất.pdf
Tài liệu liên quan