bc tkhdt lan2
TRANSCRIPT
1
Nhóm 2:
Hoàng Anh Phương 20111965
Nguyễn Bá Dũng 2011
Phùng Đình Tài 20112106
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
4
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Chương 4. Phân tích hệ thống
4.1 Xác định yêu cầu hệ thống
4.2 Mô hình hóa chức năng
4.3 Mô hình hóa cấu trúc
4.3.1 Giới thiệu
4.3.2 Các phần tử của mô hình cấu trúc
4.3.3 Thẻ CRC ( Class-Responsibility-Collaboration)
4.3.4 Biểu đồ lớp
4.3.5 Xây dựng thẻ CRC và biểu đồ lớp
4.4 Mô hình hóa hoạt động
5
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Chương 4. Phân tích hệ thống
4.1 Xác định yêu cầu hệ thống
4.2 Mô hình hóa chức năng (Functional Model)
4.3 Mô hình hóa cấu trúc (Structural Model)
4.3.1 Giới thiệu
4.3.2 Các phần tử của mô hình cấu trúc
4.3.3 Thẻ CRC ( Class-Responsibility-Collaboration)
4.3.4 Biểu đồ lớp
4.3.5 Xây dựng thẻ CRC và biểu đồ lớp
4.4 Mô hình hóa hoạt động
6
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Functional Model
Information that is used and created by system
-> How the system will behave -> OK
-> NOT
-> Structural Model
Mục đích của mô hình hóa cấu trúc:
Mô tả cấu trúc dữ liệu được sử dụng trong hệ thống.
Biểu diễn sự vật, ý tưởng hoặc khái niệm (objects) quan
trọng trong hệ thống và mối quan hệ giữa chúng.
Xây dựng hệ thống thuật ngữ chung cho người sử dụng và
người thiết kế hệ thống.
Rút ngắn khoảng cách giữa thế giới thực và phần mềm
Các mô hình cấu trúc: CRC card, classes diagrams, object
diagrams.
7
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Chương 4. Phân tích hệ thống
4.1 Xác định yêu cầu hệ thống
4.2 Mô hình hóa chức năng
4.3 Mô hình hóa cấu trúc
4.3.1 Giới thiệu
4.3.2 Các phần tử của mô hình cấu trúc
4.3.3 Thẻ CRC ( Class-Responsibility-Collaboration)
4.3.4 Biểu đồ lớp
4.3.5 Xây dựng thẻ CRC và biểu đồ lớp
4.4 Mô hình hóa hoạt động
8
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Lớp (Classes)
Thuộc tính (Attributes)
Hoạt động (Operations)
Quan hệ (Relationships)
9
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Khái niệm: Class là một khuôn mẫu chung dùng để tạo ra đối
tượng.
-> Các đối tượng của 1 lớp có cấu trúc và hành vi giống nhau chỉ
khác nhau về dữ liệu trong các thuộc tính của chúng.
Hai kiểu lớp:
Lớp cụ thể (Concrete): Dùng để tạo đối tượng.
Lớp trừu tượng (Abstract): Chỉ mang tính chất khái quát hóa,
không thể dùng để tạo đối tượng.
Ngoài ra, có thể phân loại theo sự vật thực tế mà lớp thể hiện:
Application domain classes, User interface classes, Data
structure classes, File structure classes, Operating environment
classes, Document classes, Multimedia classes.
11
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Khái niệm: Một thuộc tính là một đơn vị thông tin được lưu
trữ liên quan đến việc mô tả lớp nằm trong phạm vi của
ứng dụng xem xét.
Chỉ đưa vào các thông tin quan trọng liên quan đến
phạm vi ứng dụng quan tâm.
Các thuộc tính nên có kiểu dữ liệu cơ bản: integer,
double, string, date, time, Boolean,…
Các thuộc tính phức tạp nên được biểu diễn bằng
quan hệ (relationship) giữa các lớp
14
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Chương 4. Phân tích hệ thống
4.1 Xác định yêu cầu hệ thống
4.2 Mô hình hóa chức năng
4.3 Mô hình hóa cấu trúc
4.3.1 Giới thiệu
4.3.2 Các phần tử của mô hình cấu trúc
4.3.3 Thẻ CRC ( Class-Responsibility-Collaboration)
4.3.4 Biểu đồ lớp
4.3.5 Xây dựng thẻ CRC và biểu đồ lớp
4.4 Mô hình hóa hoạt động
15
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Chương 4. Phân tích hệ thống
4.1 Xác định yêu cầu hệ thống
4.2 Mô hình hóa chức năng
4.3 Mô hình hóa cấu trúc
4.3.1 Giới thiệu
4.3.2 Các phần tử của mô hình cấu trúc
4.3.3 Thẻ CRC ( Class-Responsibility-Collaboration)
4.3.4 Biểu đồ lớp
4.3.5 Xây dựng thẻ CRC và biểu đồ lớp
4.4 Mô hình hóa hoạt động
17
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Class: thành phần chính của sơ đồ lớp là những lớp, chúng lưutrữ và quản lý thông tin trong hệ thống
Trong suốt pha phân tích: tập người, nơi chốn, sự kiện và đồ vậttrong hệ thống
Trong pha thiết kế: những cửa số, các form, …
Minh họa bởi một hình chữ nhật có 3 khoang: tên, thuộc tính và
thao tác
18
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
A CLASS
AN ATTRIBUTE
AN OPERATION
AN ASSOCIATION
Class 1
-attribute
+operation ()
Attribute name/
derived attribute name
operation name ()
1..* 0..1
______verb phrase____
19
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Các thuộc tính dẫn suất (Derived attributes)
- /tuổi, có thể tính được bằng ngày sinh và ngày hiện
tại
Visibility
- Public (+)
- Protected (#)
- Private (–)
20
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
A public attribute: thuộc tính không bị ẩn bởi tất cả các đối tượng
khác. Như vậy, các đối tượng khác có thể thay đổi giá trị của nó
A protected attribute: là thuộc tính bị ẩn đối với tất cả các lớp trừ
các lớp con trực tiếp của nó.
A private attribute là thuộc tính bị che giấu hoàn toàn (bị ẩn) đối
với mọi lớp khác
Default visibility: tính hiện hữu mặc định của một thuộc tính bình
thường là private
21
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Thao tác là những hành động hay chức năng mà một lớp có thểthực hiên
Chú ý các dấu ngoặc () theo sau thao tác
Cũng tương tự như thuộc tính, thao tác cũng có tính hiện hữu (+,
#, -)
22
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Constructor
– Để tạo ra đối tượng
Query
– Để tạo thông tin về trạng thái, không thay đổi đối tượng
Update
– Để thay đổi giá trị của một số hay tất cả các thuộc tính của đối
tượng
23
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Minh họa mối quan hệ hay liên kết giữa các lớp là một
mục tiêu quan trọng của biểu đồ lớp
Một lớp có thể có quan hệ với lớp khác hay quan hệ
với chính nó.
Mỗi quan hệ được minh họa bởi một đường có mũi tên
và một nhãn hay tên một vài lớp trong quan hệ
24
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Giữa các lớp có thể có 3 mối liên quan
Mối liên quan phụ thuộc
Mối liên quan khái quát
Mối liên quan liên kết
25
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Thường dùng để diễn đạt một lớp (bên phụ thuộc) chịu
ảnh hưởng của mọi thay đổi trong một lớp khác (bên độc
lập), mà ngược lại thì không nhất thiết. Thường thì bên phụ
thuộc cần dùng bên độc lập để đặc tả hay cài đặt cho
mình. UML biểu diễn mối liên quan phụ thuộc bằng một
mũi tên đứt nét (từ bên phụ thuộc sang bên độc lập).
26
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Khái quát hoá (generalization) là sự rút ra các đặcđiểm chung của nhiều lớp để tạo thành một lớpgiản lược hơn gọi là lớp trên (hay cha).
Lớp trừu tượng là các lớp không có cá thể, mà chỉ dùngcho việc mô tả các đặc điểm chung của những lớp dưới
27
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Kết nối và liên kết
Giữa các cá thể của hai lớp có thể tồn tại nhữngsự ghép cặp, phản ánh một mối liên hệ nào đótrên thực tế. Gọi đó là một kết nối (link).
Tập hợp những kết nối cùng loại (cùng ý nghĩa)giữa cá thể của hai lớp tạo thành một mối liênquan giữa hai lớp đó, gọi là một liên kết (association).
28
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
• Multiplicity of relationship
• Lớp liên kết (Association class)
29
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Kết nhập
Mô hình hóa mối quan hệ "toàn thể/bộ phận" giữa mộtlớp các vật thể lớn (cái "toàn thể") với một lớp các vậtthể bé (các "bộ phận") bao gồm trong chúng.
Được biểu diễn bằng cách gắn thêm một hình thoi nhỏvào một đầu của liên kết, phía cái toàn thể
30
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Hợp thành Một hợp thành (composition) là một loại kết nhập đặcbiệt với quan hệ sở hữu mạnh hơn, trong đó một bộ phậnchỉ thuộc vào một cái toàn thể duy nhất và cái toàn thểcó trách nhiệm tạo lập và hủy bỏ cái bộ phận. Như vậykhi cái toàn thể bị hủy bỏ thì cái bộ phận cũng buộc phảihủy bỏ theo. Hợp thành được biểu diễn bằng cách thayhình thoi rỗng trong kết nhập bởi hình thoi đặc
31
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Biểu đồ đối tượng diễn tả lại cấu trúc tĩnh cho trong biểu đồ lớp, song một cách cụ thể: các đối tượng thay cho các lớp, các kết nối thay cho các liên kết.
32
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Chương 4. Phân tích hệ thống
4.1 Xác định yêu cầu hệ thống
4.2 Mô hình hóa chức năng
4.3 Mô hình hóa cấu trúc
4.3.1 Giới thiệu
4.3.2 Các phần tử của mô hình cấu trúc
4.3.3 Thẻ CRC ( Class-Responsibility-Collaboration)
4.3.4 Biểu đồ lớp
4.3.5 Xây dựng thẻ CRC và biểu đồ lớp
4.4 Mô hình hóa hoạt động