Please enable JavaScript.
Coggle requires JavaScript to display documents.
Chapter 3: Models for Software Architecture - Coggle Diagram
Chapter 3: Models for Software Architecture
Bolock(Box-and-line) Diagram
Definition: describe the business concepts and processes during the analysis phase of the software development lifecycle
The “4+1” view model
logical
process
development
physical
interface
Unified Modeling Language (UML)
Structural (static)
component
obj
composite structure
class
package
component
deployment
Behavioral (dynamic).
activity
state machine
use case
sequence
interaction overview
communicate
time sequence
Structural Diagrams :The structural description diagrams comprise Class and Object diagrams, Component, Structure, and Package diagrams, and Deployment diagrams
class diagram
cung cấp cái nhìn tỉnh,
sử dụng thường xuyên nhất
tạo bởi
system designers
system analysts
được tinh chinh trong SDLC
three main different relationships among classes
inheritance
Association: 2 lớp không ai sở hữu ai
ex: student and teacher
Aggregation
Có tính sở hữu ( ownership ) giữa 2 class. Mấy sách nước ngoài người ta đặt là part-whole relationship. Điện thoại cần có pin. Pin là bên part, điện thoại là whole trong part-whole relationship.
Vòng đời của part không phụ thuộc vào whole. Điện thoại ( CellPhone ) cần có một cục pin ( Pin ) để hoạt động. Khi điện thoại hư có thể đem cục pin này sang điện thoại khác.
Extra
Dependency
Khi một class A phụ thuộc và một class B, những thay đổi ở B có thể ảnh hưởng đến A.
Buồn buồn, ta thay đổi id ở Customer thành kiểu string chứ không phải Int nữa thì Order sẽ phải thay đổi theo. Ta gọi mối quan hệ này là Dependency
Composition
Composition tương tự như Aggregation nhưng khác là vòng đời của thằng part sẽ bị thụ thuộc và thằng whole
Khi hotel ( whole ) bị hủy thì room1, room2 ( part ) cũng bị hủy theo. Nói cách khác là vòng đời của thằng part bị phụ thuộc vào vòng đời của whole trong part-whole relationship
draw uml
Object Diagram
Một biểu đồ đối tượng là một phiên bản của biểu đồ lớp và thường cũng sử dụng các ký hiệu như biểu đồ lớp. Sự khác biệt giữa hai loại biểu đồ này nằm ở chỗ biểu đồ đối tượng 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 biểu đồ đối tượng vì vậy là một ví dụ của biểu đồ lớp, chỉ ra một bức tranh thực tế có thể xảy ra khi hệ thống thực thi: bức tranh mà hệ thống có thể có tại một thời điểm nào đó. Biểu đồ đối tượng sử dụng chung các ký hiệu của biểu đồ lớp, chỉ trừ hai ngoại lệ: đối tượng được viết với tên được gạch dưới và tất cả các thực thể trong một mối quan hệ đều được chỉ ra
Biểu đồ đối tượng không quan trọng bằng biểu đồ lớp, chúng có thể được sử dụng để ví dụ hóa một biểu đồ lớp phức tạp, chỉ ra với những thực thể cụ thể và những mối quan hệ như thế thì bức tranh toàn cảnh sẽ ra sao. Một biểu đồ đối tượng thường thường được sử dụng làm một thành phần của một biểu đồ cộng tác (collaboration), chỉ ra lối ứng xử động giữa một loạt các đối tượng.
Composite Structure Diagram
There are two basic notations in a composite structure diagram: collaboration (represented using a dashed eclipse) and structured class (represented using a rectangle box).
Each structure class may have an annotation which indicates its “role” in the collaboration.
The composite structure diagram is used to describe the composition of interconnected elements or the collaboration of runtime instances.
Component Diagram
là biểu đồ mô tả các thành phần và sự phụ thuộc của chúng trong hệ thống
A component is neither a class nor an object.
Pakage Diagram
Deployment diagram
Deployment Diagram là bản vẽ giúp chúng ta xác định sẽ triển khai hệ thống phần mềm như thế nào. Đồng thời, xác định chúng ta sẽ đặt các thành phần phần mềm (component) lên hệ thống ra sao.
behavioral diagrams: The behavior description diagrams comprise Use Case diagrams, Activity diagrams, State machines, Interaction diagrams, Sequence diagrams, Collaboration diagrams, and Timing diagrams
Use case diagram
Một biểu đồ Use case chỉ ra một số lượng các tác nhân ngoại cảnh và mối liên kết của chúng đối với Use case mà hệ thống cung cấp (nhìn hình 3.2). Một Use case là một lời miêu tả của một chức năng mà hệ thống cung cấp. Lời miêu tả Use case thường là một văn bản tài liệu, nhưng kèm theo đó cũng có thể là một biểu đồ hoạt động. Các Use case được miêu tả duy nhất theo hướng nhìn từ ngoài vào của các tác nhân (hành vi của hệ thống theo như sự mong đợi của người sử dụng), không miêu tả chức năng được cung cấp sẽ hoạt động nội bộ bên trong hệ thống ra sao. Các Use case định nghĩa các yêu cầu về mặt chức năng đối với hệ thống.
Relationship(Quan hệ)
Generalization
Generalization được sử dụng để thể hiện quan hệ thừa kế giữa các Actor hoặc giữa các Use Case với nhau.
Include
Include là quan hệ giữa các Use Case với nhau, nó mô tả việc một Use Case lớn được chia ra thành các Use Case nhỏ để dễ cài đặt (module hóa) hoặc thể hiện sự dùng lại.
Association
Association thường được dùng để mô tả mối quan hệ giữa Actor và Use Case và giữa các Use Case với nhau.
Extend
Extend dùng để mô tả quan hệ giữa 2 Use Case. Quan hệ Extend được sử dụng khi có một Use Case được tạo ra để bổ sung chức năng cho một Use Case có sẵn và được sử dụng trong một điều kiện nhất định nào đó.
Activity Diagarm
Activity Diagram là bản vẽ tập trung vào mô tả các hoạt động, luồng xử lý bên trong hệ thống. Nó có thể được sử dụng để mô tả các qui trình nghiệp vụ trong hệ thống, các luồng của một chức năng hoặc các hoạt động của một đối tượng.
https://iviettech.vn/blog/1066-activity-diagram-ban-ve-hoat-dong.html
State Diagram, State Machine Diagram, State Chart Diagram
iểu đồ trạng thái mô tả các thông tin về các trạng thái khác nhau của đối tượng, thể hiện các đối tượng chuyển từ trạng thái này sang trạng thái khác như thế nào, hoạt động của đối tượng trong mỗi trạng thái ra sao. Biểu đồ trạng thái thể hiện chu kỳ hoạt động của đối tượng, các hệ thống con và của cả hệ thống, từ khi chúng được tạo ra cho đến khi kết thúc
Các trạng thái mà các đối tượng có thể có,
Các sự kiện: các thông điệp nhận được, các lỗi có thể xuất hiện, điều kiện nào đó có thể trở thành đúng (true), khoảng thời gian đã qua, v.v. tác động lên trạng thái để làm biến đổi chúng
https://voer.edu.vn/m/bieu-do-trang-thai/59493302
Communication or Collaboration Diagram
Một biểu đồ cộng tác miêu tả tương tác giữa các đối tượng cũng giống như biểu đồ tuần tự, nhưng nó tập trung trước hết vào các sự kiện, tức là tập trung chủ yếu vào sự tương tác giữa các đối tượng.
https://voer.edu.vn/m/bieu-do-cong-tac-collaboration-diagram/81ff0884
Timing diagram
It combines the state diagram and time sequences to show the dynamic view of state change caused by external events over time.
It is often used in time-critical systems such as real time operating system, embedded system design, etc.