• Tuy nhiên phương pháp này tỏ ra kém hiệu quả đối với những dự án phần mềm lớn và tính tái sử dụng thấp • Phương pháp luận phát triển phần mềm hướng đối tượng ra đời vào thập niên 90 và
Trang 1GIỚI THIỆU NGÔN NGỮ UML
GV : TS Trương Quốc Định
Trang 2Giới thiệu môn học
• Tên môn học: Ngôn ngữ mô hình hóa UML - CT165
Trang 3Tài liệu tham khảo
Stt Tựa Thông tin chi tiết
1 UML 2 của Benoit Charoux, Aomar Osmani, Yann
Thiery-Mieg, NXB Pearson Education France, 2005.
2 UML par la pratique- Etude de cas et
exercices corrigés của Pascal Roques, XB lần 2, NXB Eyrolles, 2001
3 UML pour l’analyse d’un systeme
d’information của Chantal Morley, Jean Hugues, Bernard Leblanc, XB lần 2, NXB Dunod, 2002
4 Phân tích thiết kế hướng đối tựơng
bằng UML của Đặng Văn Đức, NXB Giáo dục, 2002
5 Modélisation objet avec UML của Pierre-Alian Muller, Nathalie Gaertner, XB lần
2, NXB Eyrolles, 2004
6 Object-oriented analysis David William Brown, NXB John Wileys & Sons,
2002
7 Trang web của OMG http://www.omg.org
8 Slide bài giảng UML của Cô Phạm Thị Xuân Lộc
Trang 4Tài liệu tham khảo (tt)
9 The object-oriented development
process của Tom Rowlett, NXB Prentice Hall PTR, 2001
10 A introducton to object-oriented
analysis- Objects in plain English của David Willia Brown, NXB John Wileys & Sons, 2002
11 Objects¸ components and frameworks
with UML của Desmond Francis D’Souza, Alan Cameron Wills, NXB Addison – Wesley, 1999
12 Software reuse- Domain analysis and
design process của Jag Sodhi, Prince Sodhi, NXB McGraw- Hill, 1999
13 La démarche objet- Concepts et outils của Max Bouché, NXB Afnor, 1994
14 Object models- strategies, patterns &
applications của Peter Coad, NXB Prentice-Hall, 1997
15 Modern system analysis & design của Jeffrey Hoffer, Joey F.George, Joseph S
Valacich, NXB Prentice-Hall, 2002
Trang 5Lịch sử phương pháp luận PTHT
• Phương pháp hướng cấu trúc được xem là phương pháp chuẩn phát triển phần mềm vào thập niên 70- 80.
• Tuy nhiên phương pháp này tỏ ra kém hiệu quả đối với những dự án phần mềm lớn và tính tái sử dụng thấp
• Phương pháp luận phát triển phần mềm hướng đối tượng ra đời vào thập niên 90 và nhanh chóng trở nên phổ biến
Trang 6Lịch sử phương pháp luận PTHT (tt)
• Phương pháp hướng cấu trúc
– Là phương pháp thiết kế từ trên xuống (top-down) : Chia bài toán lớn thành các bài toán con, mỗi bài toán con giải quyết một vấn đề nhất định
Trang 7Lịch sử phương pháp luận PTHT (tt)
• Hướng đối tượng
– Tư duy theo cách ánh xạ các thành phần của hệ thống vào các đối tượng ngoài đời thực.
– Ứng dụng được chia thành các thành phần nhỏ, gọi là các đối tượng, chúng tương đối độc lập với nhau.
– Mỗi đối tượng bao gồm đầy đủ dữ liệu và các hoạt động của nó.
– Hệ thống được xây dựng bằng cách ghép nối các đối tượng lại với nhau thông qua các mối quan hệ cũng
như sự tương tác giữa chúng.
– Ưu điểm:
• Hỗ trợ sử dụng lại mã nguồn do tính đặc thù của phương pháp lập trình hướng đối tượng
• Phù hợp với các hệ thống lớn do chỉ chú trọng việc xác định đối tượng và các hành vi có liên quan
Trang 8Lịch sử phương pháp luận PTHT (tt)
• Các nguyên tắc cơ bản của hướng đối tượng
– Trừu tượng hóa
• Thực thể phần mềm được trừu tượng hóa thành các đối tượng, các đối tượng được trừu tượng hóa thành các lớp
với thuộc tính và phương thức tương ứng Các lớp được
trừu tượng hóa thành cac lớp kế thừa.
– Tính đóng gói
• Các đối tượng có những phương thức và thuộc tính riêng
• Việc Cài đặt các đối tượng độc lập với nhau
• Cài đặt hệ thống độc lập với người sử dụng
– Tính phân cấp
• Phân cấp theo các cấp độ trừu tượng từ cao đến thấp
Trang 9Lịch sử phương pháp luận PTHT
• Các khái niệm cơ bản của hướng đối tượng
– Đối tượng : biểu diễn cho một thực thể vật lý, một thực thể khái niệm hay một thực thể phần mềm.
– Lớp : là mô tả của một nhóm đối tượng có chung các
thuộc tính, hành vi và các mối quan hệ Đối tượng là thể
hiện của một lớp và lớp là định nghĩa trừu tượng của đối tượng.
– Thành phần : là một phần của hệ thống hoạt động độc lập và giữ vai trò nhất định trong hệ thống.
– Gói : là cách tổ chức các thành phần, phần tử hệ thống thành các nhóm Tập hợp các gói có thể tạo nên một hệ thống con.
– Kế thừa : một lớp có thể sử dụng lại thuộc tính, phương thức của một hoặc nhiều lớp khác.
Trang 10phải hiểu được
• Mô hình này cũng được sử dụng để xác định các yêu cầu của người dùng đối với hệ thống và giúp chúng đánh giá tính khả thi của dự án.
• Mô hình thường được mô tả bằng ngôn ngữ trực quan, có nghĩa là đa phần các thông tin được thể hiện bằng các ký hiệu đồ họa và các kết nối giữa chúng.
Trang 12– Lập sưu liệu (document)
các hệ thống thông tin sử dụng khái niệm đối tượng.
Trang 13Vì sao chọn UML? (tt)
• Đặc tả
– Trong quá trình phát triển hệ thống chúng ta
cần "giao tiếp" với các mô hình của hệ thống
• → phương pháp, công cụ giao tiếp phải chuẩn mực, dùng chung, không mơ hồ.
– Dễ dàng có được nếu dùng UML.
Trang 16Vì sao chọn UML? (tt)
• Sưu liệu
– Sử dụng UML theo cách phù hợp sẽ có thể tạo được tập sưu liệu như là bản thiết kế hoàn chỉnh của hệ thống.
Trang 17Lịch sử phát triển UML
Booch ´91 Booch ´93 Unified Method 0.8
UML 1.0
OMT - 2 OMT - 1 OOSE
UML 0.9 & 0.91 OOPSLA ´95
June ´96 & Oct ´96 Publication of UML 1.1 September ´97
Other methods
public
feedback
Publication of UML 1.0, Jan ´97
UML 2.0
Publication ´01 Publication circa ´05
Trang 18Giới thiệu UML
• Các khái niệm trong UML
• Ý nghĩa của mô hình đối với PTHT
– Nắm bắt chính xác yêu cầu của hệ thống cần phát triển – Thể hiện tư duy về thiết kế hệ thống
– Giúp làm chủ các hệ thống phức tạp.
Trang 19Giới thiệu UML (tt)
• Các khái niệm trong UML
– Hướng nhìn (view) : Là tập con các biểu đồ UML được xây dựng để biểu diễn một khía cạnh nào đó của hệ
Trang 20Giới thiệu UML (tt)
• UML và các giai đoạn phát triển hệ thống
– Preliminary Investigation: Sử dụng các use cases mô tả các yêu cầu của người dùng Phần mô tả use case xác định các yêu
cầu, phần diagram thể hiện mối quan hệ và giao tiếp với hệ
– Design: Kết quả phần analysis được phát triển thành giải pháp
kỹ thuật Các lớp được mô hình hóa chi tiết để cung cấp hạ tầng
kỹ thuật như giao diện, nền tảng cho database, … Kết quả phần Design là các đặc tả chi tiết cho giai đoạn xây dựng phần mềm.– Development: Mô hình Design được chuyển thành code Lập trình viên sử dụng các biểu đồ UML trong giai đoạn Design để hiểu vấn đề và tạo code
– Test : Sử dụng các biểu đồ của các giai đoạn trước để kiểm thử
hệ thống
Trang 21Giới thiệu UML (tt)
• Các loại sơ đồ trong UML
Trang 22Giới thiệu UML (tt)
S đ ơ ồ đóng gói
Package diagram
S đ ơ ồ tri n khai ể
Deployment diagram
S đ ơ ồ thành tố
Component diagram
Trang 23Giới thiệu UML (tt)
• Sơ đồ lớp (class diagram)
– Chỉ ra các lớp đối tượng trong hệ thống.
– Các thuộc tính và phương thức của từng lớp.
– Mối quan hệ giữa các lớp.
• Sơ đồ đối tượng (object diagram)
– là một phiên bản của sơ đồ lớp.
– Chỉ ra một loạt các đối
tượng thực thể của lớp, thay vì các lớp.
– Một sơ đồ đối tượng vì vậy
là một ví dụ của sơ đồ lớp, chỉ ra một bức tranh mà hệ thống có thể có tại một thời điểm nào đó.
Trang 24Giới thiệu UML (tt)
• Sơ đồ cấu trúc phức
(Composite structure diagram)
– Chỉ ra cấu trúc nội tại của một lớp
sơ đồ UML nào
– Thường dùng để đóng gói cho
sơ đồ lớp và sơ đồ use case