Bài giảng Giới thiệu về ngôn ngữ mô hình hóa UML

Tóm tắt Bài giảng Giới thiệu về ngôn ngữ mô hình hóa UML: ...quan hệ Dependence Association Inheritance Realisation 9 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 4+1 cách nhìn một hệ thống Cách nhìn ca sử dụng Cách nhìn logic Cách nhìn thực thi Cách nhìn cài đặt Cách nhìn tiến... 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 Biểu diễn yêu cầu  Hiểu về ngữ cảnh của hệ thống bằng cách định nghĩa một mô hình theo lĩnh...ười sử dụng hệ thống đăng ký được cấp passwords để vào máy Use 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 Student Registrar Professor Maintain Schedule Maintain Curriculum Request Course Roster Billing System Use c...

pdf43 trang | Chia sẻ: havih72 | Lượt xem: 413 | Lượt tải: 0download
Nội dung tài liệu Bài giảng Giới thiệu về ngôn ngữ mô hình hóa UML, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Giới thiệu về ngôn ngữ mô 
hình hóa UML
Tạ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 
tới
 Kiểm chứng hệ thống bởi khách hàng
 Cung cấp những chỉ dẫn để xây dựng hệ thống
 Tài liệu hóa hệ thống
Các nguyên tắc của mô hình hóa
 Việc chọn mô hình nào để tạo lập có ảnh hưởng sâu sắc 
đến cách giải quyết vấn đề và cách hình thành các giải 
pháp
 Mỗi mô hình biểu diễn hệ thống với mức độ chính xác 
khác nhau
 Mô hình tốt nhất phải là mô hình phù hợp với thế giới 
thực
 Không mô hình nào là đầy đủ. Mỗi hệ thống thường được 
tiếp cận thông qua tập mô hình gần như độc lập nhau.
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 hơn với thế giới thực
Ví dụ về mô hình
Thế giới thực
Ôtô Con người SáchĐọc Làm chủ Mô hình
Thế giới thực
Mô hình: Quả địa 
cầu học sinh
Mô hình hóa ngôi nhà
Unified Modeling Language
OMT-2
James Rumbaugh
Booch´93
Grady Booch
OOSE
Ivar Jacobson
UML 0.8
UML 0.9
OOPSLA 95
UML 1.0
UML 1.1
UML 1.2
UML 1.3
UML 1.4
UML 1.5
UML 2.0
Các phương pháp khác
Đề nghị chuẩn OMG 1997
Chuẩn OMG 1997
2005
2003
2001
1998
Mụ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
UML 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.
UML là một ngôn ngữ dùng để
 Hiển thị
 Mỗi ký pháp đồ họa mang một ngữ nghĩa
 Đặc tả
 Một cách chính xác và toàn diện
 Xây dựng
 Các lớp, các quan hệ có thể xây dựng một cách 
tự động
 Làm tài liệu 
 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 
UML và các lĩnh vực được sử dụng
 Hệ thống thông tin các doanh nghiệp
 Ngân hàng và các dịch vụ tài chính
 Viễn thông
 Giao thông
 Quân sự và hàng không
 Khoa học
 Các ứng dụng phân tán trên web
3 phần tử cơ bản của UML
1. Các khối cơ bản để xây dựng
 Các thực thể sử dụng
 Các khái niệm liên quan
 Các biểu đồ
2. Các luật để sử dụng các khối cơ bản
 Các luật ngữ nghĩa
 Các luật trình bày
3. Các cơ chế chung
 Đặc tả 
 Trình bày
 Mở rộng mô hình
Thực thể cấu trúc
Thực thể hành vi
Thực thể nhóm
Thực thể chỉ dẫn
Các thực thể cấu trúc
Person
name : String
age : Integer
eat()
talk()
Class
Comparable
Interface
Borrow
Use case
Các thực thể hành vi
call
Message
borrowed
State
Ký pháp quan hệ
Dependence
Association
Inheritance
Realisation
9 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
4+1 cách nhìn một hệ thống
Cách nhìn ca 
sử dụng
Cách nhìn logic
Cách nhìn 
thực thi
Cách nhìn 
cài đặt
Cách nhìn
tiến trình 
Lớp, đối tượng Tương tác, 
chuyển trạng thái
Gói, phương thức, luồng
Luồng, tiến trình
nhiệm vụ, tương tác Ca sử dụng, 
tác nhân, lớp
Biểu đồ cài đặt,
node, module
Cách nhìn ca sử dụng
 Nhìn hệ thống bởi những người dùng 
cuối
 Nhóm các hành vi của hệ thống theo
 Độ ưu tiên: cực kỳ quan trọng, quan 
trọng, phụ
 Các mục đích khác về chiến thuật và 
ràng buộc
Cách nhìn logic
 Phân rã hệ thống theo hướng đối 
tượng
 Xác định các lớp và đối tượng
 Nhóm vào các gói
 Kết nối bằng các quan hệ
 Sự trừu tượng, đa hình, đồng nhất
 Thực hiện các kịch bản của các ca sử 
dụng
Cách nhìn tiến trình
 Phân rã dựa trên nhiệm vụ và tiến 
trình
 Nhóm thành các nhóm của các tiến 
trình
 Thông tin trên các đặc điểm sau:
 Tính sẵn sàng, tính tin cậy
 Tính tích hợp, hiệu năng
 Điều khiển
Cách nhìn thực thi
 Phân rã theo module
 Nhóm thành các module bằng các gói
 Tổ chức thành các hệ thống con theo định 
mức để:
 Tăng độ chắc chắn
 Giảm sự kết dính và nhìn thấy
 Các đặc điểm:
 Dễ dàng phát triển
 Tiềm năng tái sử dụng
 Quản lý cấu hình
Cá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ì
3 thành phần của mô hình hóa
Mô hình chức năng
Mô hình cấu trúc
Mô hình thời gian
Hệ thống làm gì
Hệ thống phản ứng với cái gì
Thứ tự giữa các hành động trong hệ thống
Biểu đồ ca sử dụng
Biểu đồ lớp và đối tượng
Biểu đồ tuần tự
Biểu đồ tương tác
Biểu đồ trạng thái
Biểu đồ hoạt động
Cá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
Vai 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
Biểu diễn yêu cầu
 Hiểu về ngữ cảnh của hệ thống bằng 
cách định nghĩa một mô hình theo 
lĩnh vực và theo ngành nghề
 Rà soát lại các yêu cầu chức năng và 
định nghĩa lại bằng các ca sử dụng
 Ghi lại những ràng buộc, yêu cầu phi 
chức năng
Các yêu cầu phi chức năng
 Các ràng buộc tranh chấp
 Các ràng buộc về thời gian phản ứng
 Các ràng buộc phân tán
 Các ràng buộc về hiệu năng
 Các ràng buộc về chia sẻ
Ký 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
UML Partners
 Rational Software Corporation
 Hewlett-Packard
 I-Logix
 IBM
 ICON Computing
 Intellicorp
 MCI Systemhouse
 Microsoft
 ObjecTime
 Oracle
 Platinum Technology
 Taskon
 Texas Instruments/Sterling Software
 Unisys
Đóng góp cho ngôn ngữ UMLMeyer
Before and after 
conditions
Harel
Statecharts
Gamma, et al
Frameworks and patterns,
HP Fusion
Operation descriptions and 
message numbering
Embley
Singleton classes and
high-level view
Wirfs-Brock
Responsibilities
Odell
Classification
Shlaer - Mellor
Object lifecycles
Rumbaugh
Object Modeling 
Technique
Booch
Booch method
Jacobson
Object-Oriented 
Software Engineering
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:
 Giáo vụ (Registrar) lập chương trình giảng dạy (curriculum) 
cho 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)
 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
Use 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
Student
Registrar
Professor
Maintain Schedule
Maintain Curriculum
Request Course Roster
Billing System
Use case Diagram
 Xác định các chức năng theo nhìn nhận của 
người sử dụng
 Xây dựng ở giai đoạn ban đầu
 Mục đích
 Xác định ngữ cảnh của hệ thống
 Nắm bắt các yêu cầu của hệ thống
 Kiểm chứng kiến trúc hệ thống
 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
Sequence 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
Collaboration 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
Class Diagram
 Biểu đồ lớp (class diagram) biểu diễn sự tồn tại của các lớp và 
quạn hệ giữa chúng
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
Object Diagram
Biểu diễn thực thể và liên kết
Được xây dựng ở giai đoạn phân 
tích và thiết kế
Mục đích
 Minh họa cấu trúc dữ liệu/đối 
tượng
 Đặc tả snapshots
State 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
Canceled
Initialization
Open
exit: Increment count
Closed
do: Initialize course
do: Finalize course
do: Notify registered students
Add Student / 
Set count = 0
Add student [count < 10]
[count = 10]
Cancel
Cancel
Cancel
Activity Diagram
 Biểu diễn các luồng công 
việc
 Hướng hoạt động 
Component Diagram
 Biểu đồ thành phần (Component diagrams) biểu diễn sự tổ chức 
và phụ thuộc giữa các thành phần phần mềm
Course Course
Offering
Student Professor
Course.dll
People.dll
Course
User
Register.exeBilling.exe
Billing
System
Deployment 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ần 
mềm ở trong nó
Registration Database
Library
Dorm
Main 
Building
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
 Question?

File đính kèm:

  • pdfbai_giang_gioi_thieu_ve_ngon_ngu_mo_hinh_hoa_uml.pdf