Lợi ích của mô hình hóa hướng đối tượng? Tăng tính độc lập của mô hình với các chức năng yêu cầu Có thể thay đổi hoặc thêm bớt các chức năng mà mô hình đối tượng không thay đổi Gần
Trang 1Giới thiệu về ngôn ngữ mô hình hóa UML
Trang 2Tại sao cần mô hình hóa?
Một mô hình là sự đơn giản hóa thực tế, nó
cho phép hiểu rõ hơn hệ thống cần phát
triển
Ngoài ra, nó còn cho phép:
Hiển thị hệ thống như nó vốn có hoặc nó cần đạt
Trang 3Các nguyên tắc của mô hình hóa
đến cách giải quyết vấn đề và cách hình thành các giải pháp
khác nhau
thực
tiếp cận thông qua tập mô hình gần như độc lập nhau.
Trang 4Lợi ích của mô hình hóa hướng đối tượng?
Tăng tính độc lập của mô hình với các
chức năng yêu cầu
Có thể thay đổi hoặc thêm bớt các
chức năng mà mô hình đối tượng
không thay đổi
Gần hơn với thế giới thực
Trang 6Mô hình hóa ngôi nhà
Trang 7Unified Modeling Language
OMT-2
James Rumbaugh
Booch´93Grady Booch
OOSEIvar Jacobson
UML 0.8
UML 0.9OOPSLA 95
Trang 8Mục đích của UML
Giới thiệu toàn bộ hệ thống
Thành lập một sự liên quan giữa các khái
niệm (concepts) và các artefacts thực hiện được
Tạo ra một ngôn ngữ sử dụng được cùng
lúc với con người và máy móc
Tìm kiếm một ngôn ngữ chung:
Sử dụng được với tất cả các phương pháp
Đáp ứng tất cả các giai đoạn trong phát triển
phần mềm
Tích hợp tất cả các kỹ thuật thực hiện
Trang 9UML là một ngôn ngữ
UML không phải là một phương pháp
UML là một ngôn ngữ mô hình hóa
đối tượng
UML đã được công nhận bởi tất cả các
phương pháp đối tượng
UML được sử dụng chung trong cộng
đồng CNTT, đó là một chuẩn.
Trang 10 Các biểu đồ khác nhau, các ghi chú, ràng buộc
được giới thiệu trong tài liệu
Trang 123 phần tử cơ bản của UML
1 Các khối cơ bản để xây dựng
Trang 169 biểu đồ của UML
Biểu đồ
Ca sử dụng Lớp Trạng thái Hoạt động Cài đặt
Đối tượng Tuần tự Tương tác Thành phần
Trang 17Cách nhìntiến trình
Lớp, đối tượng Tương tác,
Trang 22Cách nhìn cài đặt
Phân rã theo nút thực hiện
Vai trò của một nút
Liên quan giữa các nút
Thông tin trên các đặc điểm sau:
Hiệu năng, tính sẵn sàng
Cài đặt, bảo trì
Trang 233 thành phần của mô hình hóa
Trang 24Các giai đoạn của mô hình hóa
Biểu diễn yêu cầu
Phân tích
Đặc tả
Kiểm thửCoding
Trang 25Vai trò của biểu diễn yêu cầu
Cho phép hiểu rõ hơn về hệ thống
Hiểu và tổ chức lại yêu cầu của khách
hàng
Khi xác định và tổ chức lại, những
yêu cầu này:
Định nghĩa toàn hệ thống cần mô hình
hóa
Cho phép xác định các chức năng chính
của hệ thống
Trang 26Biểu diễn yêu cầu
Trang 27Các yêu cầu phi chức năng
Trang 28Ký pháp đồ họa
Mục đích:
Mô hình hóa các đối tượng, quan hệ giữa
các đối tượng, tương tác với hệ thống
Hỗ trợ giao tiếp giữa người phân tích,
khách hàng và người sử dụng
Trang 30Đóng góp cho ngôn ngữ UMLMeyer
Before and after conditions
Trang 31 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)
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
Trang 32Use case Diagram
Biểu đồ ca sử dụng (Use case diagrams) được dùng để hiển thị
quan hệ giữa tác nhân và các use cases
Billing System
Trang 33Use case Diagram
Xác định các chức năng theo nhìn nhận của
Hướng dẫn thực thi và sinh test cases
Phát triển bởi người phân tích và chuyên gia
trong lĩnh vực
Trang 34Sequence Diagram
Biểu đồ tuần tự (sequence diagram) biểu diễn sự tương tác giữa
các đối tượng theo sự sắp xếp về thời gian
: 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
Trang 35Collaboration Diagram
Biểu đồ cộng tác (collaboration diagram) hiển thị sự tương tác
giữa các đối tượng
: Registrar
course form : CourseForm
theManager : CurriculumManager
aCourse : Course
1: set course info 2: process
3: add course
4: new course
Trang 36CourseOffering Professor
addStudent(Course, StudentInfo)
name numberCredits open()
addStudent(StudentInfo) major
location open() addStudent(StudentInfo) tenureStatus
ScheduleAlgorithm
1 0 *
0 4 1
Trang 37Object Diagram
Trang 38State Transition Diagram
Biểu đồ chuyển trạng thái (State transition diagrams) dùng để
biểu diễn sự chuyển đổi giữa các trạng thái trong đối tượng
entry: Register student
do: Initialize course
do: Finalize course do: Notify registered students
Add Student / Set count = 0
Add student [count < 10]
[count = 10]
Cancel
Cancel
Cancel
Trang 39Activity Diagram
Biểu diễn các luồng công
việc
Hướng hoạt động
Trang 40Register.exe Billing.exe
Billing System
Trang 41Deployment Diagram
Biểu đồ triển khai (deployment diagram) biểu diễn cấu hình
của các phần tử thực hiện tại run-time và các tiến trình phầnmềm ở trong nó
Registration Database
Library
Dorm
Main Building
Trang 42Deployment 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
Trang 43 Question?