Chuỗi hành vi:
- Mô tả tổng quát chuỗi: Use case này bắt đầu khi một actor muốn đăng nhập vào Hệ
thống đăng ký học phần.
- Điều kiện đầu (pre-cond) : không có.
- Chuỗi liên kết các thông báo (messages) :
1. Hệ thống yêu cầu actor nhập tên và mật khẩu.
2. Actor nhập tên và mật khẩu.
3. Hệ thống kiểm chứng tên và mật khẩu được nhập và cho phép actor đăng nhập
vào hệ thống.
- Điều kiện cuối (post-cond) : Nếu use case thành công, actor lúc này đã đăng nhập vào
hệ thống. Nếu không trạng thái hệ thống không thay đổi.
- Xử lý ngoại lệ:
Nếu actor nhập sai tên hoặc mật khẩu, hệ thống sẽ hiển thị một thông báo lỗi. Actor có
thể chọn trở về đăng nhập lại hoặc hủy bỏ việc đăng nhập, lúc này use case kết thúc.
Nếu actor nhập sai :
+ Username : sẽ hiển thị thông báo không tồn tại username.
+ Password : sẽ hiển thị thông báo yêu cầu nhập đúng mật khẩu.
Ví dụ 2: use case « Quản lý s
ố lượng hàng tồn kho 1 ngành hàng”:
a.
Định danh:
- Tên: Quản lý số lượng hàng tồn kho 1 ngành hàng.
- Mục tiêu (tóm tắt): Tránh thất thoát, giải phóng hàng tồn.
- Các tác nhân (chính + phụ): Nhân viên quản lý kho (phụ), Nhân viên quản lý ngành
hàng (chính).
- Ngày tạo và ngày cập nhật mới nhất: 21/11/2008
- Người tạo: Nhóm 5: Hồ Bửu Thiện, Nguyễn Phương Bình, Trần Duy Phương, lớp
Tin học Cần thơ 2004
- Phiên bản (version): 1.0
TỒN CUỐI=TỒN ĐẦU+ NHẬP
o Nếu có mặt hàng chưa được kiểm kê tồn: đổi công thức thành:
TỒN CUỐI=NHẬP- XUẤT
o Nếu có mặt hàng ch
ưa có phiếu xuất và cũng chưa được kiểm kê tồn: đổi công
thức thành:
TỒN CUỐI=NHẬP
o Nếu số lượng xuất lớn hơn số lượng nhập thì yêu cầu nhập lại.
o Nếu số lượng âm thì yêu cầu nhập lại.
c.
Các mục bổ sung tùy ý :
Ràng buộc phi chức năng(non-functional constraints) :
- Tính tin cậy (confidentiality): chính xác theo phiếu nhập và phiếu xuất.
- Tính bảo mật (security): Nhân viên quản lý kho, nhân viên quản lý ngành hàng, ban
giám đốc.
- Tính sẵn sàng (disponiblity): giờ đóng cửa siêu thị, hoặc khi có yêu cầu từ lãnh đạo.
- Tính cạnh tranh (concurrence) : không cho phép nhiều người cùng kiểm tra 1 kho.
- Thời gian đáp ứng (response time):
o tính số lượng tồn cuối: <=1’
o tính số liệu chênh lệch: 6 giờ.
II.7 ĐÓNG GÓI CÁC TRƯỜNG HỢP SỬ DỤNG:
II.7.1 Ngữ cảnh:
UML cho phép nhóm lại các trường hợp sử dụng trong một gói (paquet, packet,
package).
Có thể đóng gói trên một hoặc nhiều tiêu chí sau:
- Tác nhân: Thủ kho, Kế toán, Thu ngân, …
- Lĩnh vực chức năng: Quản lý kho, Quản lý nhân sự, …
- Đối tượng cần quản lý (thường nhập chung với cách phân chia gói theo lĩnh vực chưc
năng): Hàng, Nhân viên, Cửa hàng
- Vị trí địa lý: Đồng bằng sông Cửu long, Nam Trung bộ, …
Chương III: Sơ đồ lớp
Chương III: Sơ đồ lớp 1
III.1 MỤC ĐÍCH CỦA SƠ ĐỒ LỚP : 2
III.2 LỚP vÀ CÁC KHÁI NIỆM LIÊN QUAN: 2
III.2.1 Lớp: 2
III.2.2 Phương thức trừu tượng và lớp trừu tượng: 3
III.2.3 Sự bao gói (encapsulation) và mức độ hiển thị (visibility): 3
III.2.4 Thuộc tính (attribute): 4
III.2.5 Phương thức (method): 5
III.3 GIAO DIỆN (INTERFACE): 5
III.4 QUAN HỆ GIỮA CÁC LỚP: 5
III.4.1 Liên kết (association): 5
III.4.2 Tính bội (multiplicity) : 6
III.4.3 Liên kết có ràng buộc (association with constraint): 6
III.4.4 Lớp-liên kết (association class) : 6
III.4.5 Liên kết do suy diễn: 7
III.4.6 Liên kết có thẩm định (qualified association): 8
III.4.7 Liên kết nhiều chiều: 8
III.4.8 Quan hệ kết tập (aggregation relation) : 10
III.4.9 Quan hệ cấu thành (composition) : 11
III.4.10 Quan hệ phụ thuộc (dependancy): 11
III.4.11 Quan hệ thừa kế : 11
III.5 RÀNG BUỘC : 12
III.6 XÂY DỰNG MỘT SƠ ĐỒ LỚP : 12
III.6.1 Các quan điểm mô hình hóa : 12
III.6.2 Các bước xây dựng : 12
-
Tên lớp : phải có nghĩa và bắt đầu bằng chữ hoa. Nếu nó được đóng gói, cần
đặc tả tất cả các gói chứa nó theo thứ tự từ lớn đến nhỏ và cách bởi 2 dấu hai chấm
( :: ).
Ví dụ : java ::lang ::Object
- Mỗi
thuộc tính (attribute) được mô tả bằng tên và kiểu. Tên của thuộc tính
phải duy nhất trong lớp.
- Mỗi
phương thức (method) được mô tả kiểu trả về, danh sách các đối số và
kiểu tương ứng của mỗi đối số.
Ví dụ :
đkýMôn(m: String);
đkýNhóm(): Integer;
họ: String
tên: String
ngày_sinh: Date
phái: {‘M’, ‘F’}
lớp: String
Sinh_viên
PhươngTrìnhBac2
x: Array;
a, b, c: Real;
GiaiPT();
Tên của một lớp trừu tượng sẽ có thêm từ khóa « abstract » đặt giữa dấu móc
{} như trong ví dụ.
III.2.3 Sự bao gói (encapsulation) và mức độ hiển thị (visibility):
Một lớp hoặc thành phần của lớp (chẳng hạn thuộc tính) có nhiều mức độ
được nhìn thấy tùy theo ký tự đứng trước nếu có:
- Có từ khóa public hoặc dấu + đứng trước : được nhìn thấy từ bên ngoài
- Không có ký tự nào đứng trước : chỉ được nhìn thấy từ trong gói chứa
lớp đang xét
- Có từ khóa protected hoặc dấu # đứng trước : được nhìn thấy t