Professional Documents
Culture Documents
ImplementationClass
Interface
n Trong Rose:
n Sử dụng cửa sổ ñặc tả lớp
ñể gán các thuộc tính cho
lớp như stereotype,
persistent, visibility...
n Cửa sổ ñặc tả khác nhau
với các ngôn ngữ khác
nhau khi chọn ñể cài ñặt
mô hình sau này
n Các lớp của Java, XML,
CORBA
Multiplicity Ý nghĩa
n (Mặc ñịnh) Nhiều
0..0 Không
0..1 Không hoặc 1
0..n Không hoặc nhiều
1..1 Chính xác 1
1..n Một hoặc nhiều
gói Entities
n Gói lớp theo chức năng
n Thí dụ gói Security, gói Reporting, gói Control
Error Handling...
n Sử dụng tổ hợp hai loại tiếp cận trên ñể Entities
hình thành gói
n Có thể tổ chức gói bên trong gói khác
n Quan hệ giữa các gói hình thành trên cơ
sở quan hệ giữa các lớp trong các gói.
Public + Public
Private - Private
Protected # Protected
Package (Implementation)
n ...
ehamingway@gmail.com Phân tích thiết kế hướng ñối tượng Bài 6 - 23/40
ðặc tả thuộc tính lớp
n Với mỗi thuộc tính trong biểu ñồ cần có
n ...
n Kiểu lưu trữ thuộc tính
n By value: Lớp chứa thuộc tính
n By reference: Thuộc tính ñặt ngoài lớp, lớp có con trỏ ñến thuộc tính
n Unspecified: Không xác ñịnh
n Thuộc tính tĩnh
n Là thuộc tính chia sẻ cho mọi hiện thực lớp
n Ký hiệu trong lớp là tên thuộc tính có gạch chân (phiên bản cũ: $)
n Thuộc tính suy diễn
n Là thuộc tính ñược tạo bởi 1 hay nhiều thuộc tính khác
n Ký hiệu: dấu / trước tên thuộc tính
aClass
n ... staticAttribute
/ derivedAttribute
Person
Package A Package B
Package A Package B
Frame Window
1 n
#include "Frame.h"
#include "Window.h"
class Window
class Frame
{
{
...
...
private:
private:
Frame the_Frame;
}
}
Employee
Name #include “Employee.h”
Address
class HourlyEmp: public Employee
SSN
{
Hire() private:
Fire() float Rate;
......
};
HourlyEmp SalariedEmp
Rate Salary
Course Student
0..4 10..20
n Tên quan hệ
n Tên quan hệ là ñộng từ mô tả tại sao lại tồn tại quan hệ
n ...
n Export control
n Trong quan hệ kết hợp, thuộc tính ñược phát sinh trong mã trình
n Phạm vi ñược gán cho thuộc tính bao gồm: Public, Private, Protected,
Package hay Implementation
n ...
n Quan hệ Friend
n Quan hệ này chỉ ra rằng lớp Client có thể xâm nhập các thuộc tính và
thao tác không phải public của lớp Supplier
n Có thể gán Friend cho kết hợp, tụ hợp, phụ thuộc hay khái quát hóa
n Mã nguồn của lớp Supplier sẽ bao gồm logíc ñể lớp Client có phạm vi
Friend
n ...
Company
Student Course
10..20 0..4
Grade