là phương tiện giao tiếp giữa các stakeholders là kế hoạch chi tiết blueprints Mô hình cho khả năng suy diễn một số đặc tính của hệ thống thực Mô hình hóa trực quan Bằng các
Trang 1Mô hình hóa thống nhất
Bài 3
Trang 2 là phương tiện giao tiếp giữa các stakeholders
là kế hoạch chi tiết (blueprints)
Mô hình cho khả năng suy diễn một số đặc tính của hệ thống thực
Mô hình hóa trực quan
Bằng các phần tử đồ họa
Ngôn ngữ mô hình hóa là ngôn ngữ mô tả hệ thống hay tác nghiệp
An abstraction is an intellectual simplification ( Trừu tượng là một sự đơn giản hóa trí tuệ )
Trang 5Bốn nguyên tắc 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
được tiếp cận thông qua tập mô hình gần như độc lập nhau
Trang 6Phân tích thiết kế hệ thống
Thiết kế kiến trúc
Architecture Qualities
Process
Architecture Representation
The “how” The “who”
System Features
Requirements
System Quality Attributes
Satisfies Constrain
Organization
Architect
Skills Stakeholders
Defines role
Produces
Follows
Defines Technology
Trang 7Ngôn ngữ mô hình hóa thống nhất
Trang 9Khá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 đồ
Trang 12Phân tích thiết kế hệ thống
Cơ chế mở rộng
Stereotype: khuôn mẫu
Tagged value: gắn giá trị
Constraint: ràng buộc
Trang 13Models and Diagrams (mô hình và sơ đồ)
Use Case Diagrams
Object Diagrams
Activity Diagrams
Models
Trang 14Phân tích thiết kế hệ thống
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
Trang 15Cầ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
Trang 16Phân tích thiết kế hệ thống
KHÁI NIỆM CƠ BẢN
Phương pháp ( method ): là cách thức cấu trúc các suy nghĩ và
hành động của con người Nó cho biết chúng ta phải làm cái gì, làm như thế nào, làm khi nào và tại sao phải làm như vậy để hình thành
hệ thông phần mềm
Đối tượng ( object ): là người, vật hay hiện tượng mà
con người nhằm vào trong suy nghĩ, trong hành động; là bất kỳ cái
gì nhìn thầy và sờ mó được
Lớp ( class ): là nhóm của nhiều người hay vật có tính tương tự nhất
định hay đặc điểm chung Trong phương pháp hướng đối tượng thì lớp là mô tả một hay nhiều đối tượng, mô tả tập thống nhất các thuộc tính và phương thức
Trừu tượng ( abstract ): là đơn giản hóa thế giới thực một cách thông minh Trừu tượng cho khả năng tổng quát hóa và ý tưởng hóa vấn đề đang xem xét
Trang 17
KHÁI NIỆM CƠ BẢN
Mô hình ( model ) Nếu phải xây ngôi nhà thì chắc chắn không làm
đơn giản là cứ mua gạch, sắt thép về lắp dần đến khi hình thành nhà ở, mà phải có kế hoạch chi tiết và thiết kế trước
Phương pháp luận ( methodology ): mô tả cách thức suy nghĩ về
phần mềm và phát triển phần mềm Nó bao gồm ngôn ngữ mô hình hóa metamodel (mô hình của mô hình) và tiến trình Phương pháp luận khác với phương pháp Phương pháp luận là nghiên cứu phương pháp Metamodel mô tả hình thức các phần tử mô hình, cú pháp và ngữ nghĩa của các ký pháp trong mô hình
Lĩnh vực vấn đề ( domain problem ): là không gian (vùng) của
các hoạt động hoặc ảnh hưởng Nó là vùng tác nghiệp hay kinh nghiệm của con người trong đó phần mềm được sử dụng Vậy, lĩnh vực vấn đề là vùng mà ta đang cố gắng xem xét
Trang 18 Thiết kế: Là tập tài liệu kỹ thuật toàn bộ, gồm có bản tính toán,
bản vẽ… để có thể theo đó mà xây dựng công trình, sản xuất thiết
bị, làm sản phẩm Thiết kế hướng đối tượng tập trung vào xác định đối tượng phần mềm logic sẽ được cài đặt bằng ngôn ngữ hướng đối tượng
sẽ được cài đặt
Mô hình hóa ( modeling ): là việc thực hiện tách hệ thống thành
các phần tử đơn giản để dễ hiểu
Trang 19UML 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 use cases và actors
Mô tả hiện thực use case bằng interaction diagrams
Biểu diễn các cấu trúc tĩnh của hệ thống bằng 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
Trang 21Các bước phân tích va thiết kế hướng đối tượng
Trang 22Phân tích thiết kế hệ thống
Use case Diagram
Use case diagrams: Biểu đồ này chỉ ra tương tác giữa các
UC và tác nhân UC biểu diễn các chức năng hệ thống
Thu thập các chức năng của hệ thống như được thực hiện bởi người dùng
Được xây dựng trong giai đoạn ban đầu phát triển phần
Lái thực hiện và tạo các trường hợp thử nghiệm
Phát triển bởi các nhà phân tích và các chuyên gia về phần mềm
Trang 23Use case Diagram
Trang 24Phân tích thiết kế hệ thống
Biểu đồ trình tự chỉ ra luồng chức năng xuyên qua các UC, nó là biểu đồ mô tả tương tác giữa các đối tượng và tập trung vào mô tả trật
tự các thông điệp theo thời gian
Thu thập các hành vi động (định hướng theo thời gian)
Mục đích
Kiểm soát quá trình thực hiện theo thời gian
Minh hoạ quá trình thực hiện
Sequence Diagram (biểu đồ trình tự)
Trang 25Sequence Diagram (biểu đồ trình tự)
Trang 26Phân tích thiết kế hệ thống
Biểu đồ cộng tác chỉ ra các thông tin như biểu đồ trình tự theo cách khác, nó tập trung vào tổ chức cấu trúc của các đối tượng gửi và nhận thông điệp
Thu thập các hành vi động (theo định hướng thực hiện công việc)
Mục đích
Kiểm soát chất lượng trao đổi giữa các tác nhân, đối tượng
Minh họa sự kết hơp và điều kiển của đối tượng
Collaboration Diagram (biểu đồ cộng tác)
Trang 27Collaboration Diagram (biểu đồ cộng tác)
Trang 28Phân tích thiết kế hệ thống
Class Diagram (biểu đồ lớp)
Biểu đồ lớp chỉ ra tương tác giữa các lớp trong hệ thống Các lớp được xem như kế hoạch chi tiết của các đối tượng trong hệ thống
Thu thập các thông tin của các đối tượng trong hệ thống
Xây dựng và chuẩn hóa các đối tượng trong quá trình phát triển
Mục đích:
Xác định tên và khái niệm trong hệ thống
Xác định định mới liên kết (quan hệ)
Xác định logic phù hợp của cơ sở dữ liệu
Được phát triển bởi nhà phân tích, nhà thiết kế và người
sử dụng
Trang 29Class Diagram (biểu đồ lớp)
Trang 30Phân tích thiết kế hệ thống
Object Diagram (biểu đồ đối tượng)
Hiệu thị ban đầu đối tượng và liên kết
Được xây dựng trong phân tích và thiết kế
Trang 31State Transition Diagram (biểu đồ chuyển trang thái)
Biểu đồ chuyển trạng thái mô tả vòng đời của đối
tượng, từ khi nó được sinh ra đến khi bi phá hủy
Biểu đồ chuyển trạng thái cung cấp cách thức mô hình hóa các trạng thái khác nhau của đối tượng
Xác định các hành vi động ( hướng sự kiện)
Mục đích
Mô hình hóa vòng đời đối tượng
Mô hình hóa các tác động trở lại đối tượng (giao diện người dùng, thiết bị,…)
Trang 32Phân tích thiết kế hệ thống
State Transition Diagram (biểu đồ chuyển trang thái)
Trang 33Activity Diagram (biểu đồ hoạt động)
Trang 34Phân tích thiết kế hệ thống
Component Diagram (biểu đồ thành phần)
Biểu đồ thành phần cho ta cái nhìn vật lý của mô hình Biểu đồ thành phần cho ta thấy được các thành phần phần mềm trong hệ thống và quan hệ giữa chúng
Xác định cấu trúc vật lý khi thực hiện
Trang 35Component Diagram (biểu đồ thành phần)
Trang 36Phân tích thiết kế hệ thống
Deployment Diagram (sơ đồ triển khai)
Biểu đồ triển khai chỉ ra bố trí vật lý của mạng và các thành phần hệ thống sẽ đặt ở đâu Thông qua biểu đồ triển khai mà người quản lý dự án, người sử dụng, kiến trúc sư và đội ngũ triển khai hiểu phân bổ vật lý của hệ thống và các hệ thống con sẽ được đặt ở đâu
Xác định giao thức của hệ thống phần cứng
Xây dựng được môt sphần kiến trúc hệ thống
Mục đích
Xác định được phân bố các thành phần
Xác định hiệu năng của các tiến trình
Được phát triển bởi kỹ sư thiết kế, mạng và hệ thống
Trang 37Deployment Diagram (sơ đồ triển khai)
Trang 38Phân tích thiết kế hệ thống
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
Deployment Diagram (sơ đồ triển khai)