Giáo trình Công nghệ phần mềm - Chương 3: Thiết kế phần mềm - Phạm Thị Vương
1. Lập sơ đồ phối hợp cho các biến cố còn lại trong ví dụ
trên.
2. Đánh giá các sơ đồ phối hợp dựa trên các tính chất
- Tính đúng đắn
- Tính tái sử dụng
- Tính dễ bảo trì
- Tính dễ mang chuyển
149 trang |
Chia sẻ: huongthu9 | Lượt xem: 567 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Giáo trình Công nghệ phần mềm - Chương 3: Thiết kế phần mềm - Phạm Thị Vương, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1Chương 3: Thiết kế Phần mềm
GVLT: ThS Phạm Thi Vương
2Nội dung
Thiết kế Phần mềm?
Thiết kế giao diện
Thiết kế xử lý Thiết kế dữ liệu (lưu trữ)
3Tổng quan
Khái niệm:
Thiết kế phần mềm là mô tả chi tiết tổ chức, hoạt
động các đơn vị xử lý của phần mềm
Dựa trên kết quả của việc phân tích
Là cơ sở cho việc thực hiện phần mềm
Phân tích Thiết kế Thực hiện
Hồ sơ
Phân tích
Hồ sơ
Thiết kế
4Tổng quan
Người dùng
Khối xử lý
D1 D2
D3 D4
Màn hình giao diện
Thiết kế xử lý
- Kiểu dữ liệu
- Hằng, biến
- Hàm, đơn thể, lớp đối tượng
Lưu trữ dữ liệu
5Thiết kế giao diện
Thiết kế giao diện: Mô tả chi tiết cách thức giao tiếp giữa
người sử dụng và phần mềm
Màn hình giao diện
Nội dung
Hình thức trình bày
Biến cố phải xử lý
Lập danh sách các biến cố:
STT Điều kiện kích hoạt Xử lý Ghi chú
1
...
6Thiết kế giao diện
Mô tả danh sách các thành phần của giao diện:
STT Tên Kiểu Ý nghĩa Miền
giá trị
Giá trị
mặc định
Ghi chú
1
...
7Thiết kế dữ liệu (lưu trữ)
Thiết kế dữ liệu: Mô tả chi tiết cách thức tổ chức, lưu trữ
các dữ liệu của phần mềm
Tổ chức lưu trữ
Bảng/Tập tin
Thuộc tính/Cấu trúc
Liên kết giữa các bảng/Tập tin
Danh sách các bảng
STT Bảng Ý nghĩa Ghi chú
1
...
8Thiết kế dữ liệu (lưu trữ)
Danh sách các thuộc tính bảng X
STT Thuộc
tính
Kiểu Ràng
buộc
Giá trị
Khởi động
Ghi chú
1
...
9Thiết kế Xử lý
Thiết kế xử lý: Mô tả chi tiết hệ thống các hàm xử lý
(cùng với các hằng, biến, kiểu liên quan) của phần mềm
Danh sách các kiểu dữ liệu xử lý
Danh sách các thuộc tính kiểu dữ liệu X
STT Kiểu dữ liệu Ý nghĩa Ghi chú
... ... ... ...
STT Thuộc tính Kiểu Ràng buộc Giá trị khởi động Ghi chú
... ... ... ... ... ...
10
Thiết kế Xử lý
Danh sách các biến
Danh sách các hằng
Danh sách các hàm xử lý
STT Biến Kiểu Ý nghĩa Ghi chú
... ... ... ... ...
STT Hằng Kiểu Giá trị Ý nghĩa Ghi chú
... ... ... ... ... ...
STT Hàm Tham số Kết quả
trả về
Thuật
giải
Ý nghĩa Ghi chú
... ... ... ... ... ...
11
Ví dụ
Phân tích, thiết kế chức năng tra cứu học sinh theo lớp
1. Phân tích
Sơ đồ luồng dữ liệu
Người dùng
Tra cứu học sinh
theo lớp
D1 D2
D3
Giải thích:
D1: Lớp được chọn
D2: Danh sách lớp, Danh sách học sinh
trong lớp được chọn
D3: Danh sách lớp, Danh sách học sinh
Thuật toán xử lý
Đọc D3, Xuất danh sách lớp
Nhập D1
Tính D2 (DS học sinh trong lớp được chọn)
Xuất D2 (DS học sinh trong lớp được chọn)
12
Ví dụ (tt)
2. Thiết kế
a. Thiết kế dữ liệu (lưu trữ)
Dùng cơ sở dữ liệu quan hệ gồm hai bảng: HOC_SINH,
LOP
13
Ví dụ (tt)
2. Thiết kế
b. Thiết kế giao diện
(0)
(1)
Cách 1
14
Ví dụ (tt)
2. Thiết kế
b. Thiết kế giao diện
(0)
(1)
Cách 2
15
(0)
Ví dụ (tt)
2. Thiết kế
b. Thiết kế giao diện
Cách 3
(2)
(1)
16
Ví dụ (tt)
2. Thiết kế
b. Thiết kế giao diện
Danh sách các biến cố
STT Điều kiện kích hoạt Xử lý
0
1
2
Khởi động màn hình
Chọn lớp
Chọn học sinh
???
???
???
17
Ví dụ (tt)
2. Thiết kế
b. Thiết kế xử lý
3. Bài tập: Mở rộng khi Trường quản lý phân cấp theo khối
STT Hàm Tham số Kiểu trả về Thuật giải Ghi chú
1
2
...
Xuất danh
sách lớp
Xuất danh
sách học
sinh
...
?
?
18
Thiết kế dữ liệu
19
Thiết kế dữ liệu
Mục tiêu: Mô tả cách thức tổ chức lưu trữ dữ liệu của
phần mềm/hệ thống dựa trên phần mềm.
D1, D2 được lưu trữ theo cách thức nào trong bộ nhớ chính?
D3, D4 được lưu trữ theo cách thức nào trong bộ nhớ phụ?
Người dùng
D1 D2
D3 D4
Xử lý
20
Thiết kế dữ liệu
Cách thức lưu trữ dữ liệu trên bộ nhớ chính:
Kiểu cấu trúc
Kiểu mảng
Kiểu xâu
Kiểu cây
...
Cách thức lưu trữ dữ liệu trên bộ nhớ phụ:
Tập tin (Có cấu trúc/Không có cấu trúc)
Cơ sở dữ liệu (Quan hệ/Đối tượng)
Thiết kế dữ liệu
Kết quả về cách thức lưu trữ trên bộ nhớ phụ (CSDL)
Danh sách các bảng (Table)
Mối quan hệ giữa các bảng.
Thông tin chi tiết của từng bảng với danh sách các
thuộc tính, khóa chính
21
22
Thiết kế dữ liệu
Các yêu cầu chất lượng:
Tính đúng đắn: Lưu trữ đầy đủ và đúng ngữ nghĩa
các thông tin có trong nghiệp vụ liên quan
Tính tiến hóa: Lưu trữ thông tin về tổ chức và qui định
có trong nghiệp vụ liên quan
Tính hiệu quả: Lưu trữ tiết kiệm nhất không gian bộ
nhớ, truy xuất nhanh nhất thông tin cần thiết
Tính bảo mật: Lưu trữ thông tin về các người sử
dụng phần mềm cùng với quyền hạn tương ứng
23
Thiết kế dữ liệu
Thuộc tính
Là các đặc trưng mô tả về đối tượng
Thực thể
Sơ đồ logic
Công cụ cho phép mô tả trực quan cách thức lưu trữ
dữ liệu trên bộ nhớ phụ với việc sử dụng cơ sở dữ
liệu quan hệ
Liên kết giữa các bảng (mối kết hợp)
24
Phân loại thuộc tính
Thuộc tính khóa
Thuộc tính có giá trị rời rạc
Thuộc tính đa trị
Thuộc tính là đối tượng phụ
Thuộc tính tính toán
25
Thuộc tính khóa
Thuộc tính có giá trị rời rạc:
Thuộc tính phái của Sinh viên chỉ có 2 giá trị: Nam
hoặc Nữ
Thuộc tính phái của Sinh viên chỉ có 2 giá trị: 0 hoặc
1 (0: Nam, 1: Nữ)
Thuộc tính điểm học phần chỉ có các giá trị 0, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10.
Thuộc tính loại nhân viên chỉ có các giá trị: Nhân viên
văn phòng, nhân viên bán hàng, nhân viên sản xuất.
Phân loại thuộc tính
26
Thuộc tính đa trị:
Thuộc tính điện thoại của nhân viên là thuộc tính đa
trị:
081234567
09081234567,
Thuộc tính email của sinh viên cũng là một thuộc tính
đa trị:
xyz@yahoo.com,
xyz@gmail.com,...
Phân loại thuộc tính
27
Thuộc tính là đối tượng phụ:
Phân loại thuộc tính
Tìm sinh viên có địa chỉ ở
Bình Định, Nha Trang,
Tp.HCM ???
28
Thuộc tính là đối tượng phụ:
Thuộc tính địa chỉ của sinh viên, nhân viên là một đối
tượng phụ, bao gồm các thông tin:
Số nhà
Đường
Phường/xã
Quận/huyện
Tỉnh thành
Thuộc tính ngày sinh của sinh viên, nhân viên cũng là
một đối tượng phụ gồm các thông tin: ngày, tháng,
năm
Phân loại thuộc tính
29
Thuộc tính tính toán:
Thuộc tính thành tiền trong hóa đơn là một thuộc tính
tính toán, được tính bằng tổng số lượng * đơn giá
của các mặt hàng
Thuộc tính điểm trung bình của học sinh, sinh viên
cũng là một thuộc tính tính toán
Phân loại thuộc tính
30
Quan hệ giữa các thực thể: Phân loại quan hệ dựa trên
bản số
Quan hệ “1-1”
Quan hệ “1-nhiều”
Quan hệ “nhiều-nhiều”
Phân loại thuộc tính
31
Ví dụ 1
Xét phần mềm quản lý bán hàng với nghiệp vụ lập phiếu
thu tiền của khách hàng
Hãy lập sơ đồ logic dữ liệu
32
Ví dụ 1 (tt)
Cách 0: dùng 1 bảng
Cách 1: dùng 2 bảng (PHIEU_THU, LYDO_THU)
Cách 2: dùng 2 bảng (PHIEU_THU, KHACH_HANG)
Cách 3: dùng 4 bảng
33
PHIEU_THU
MA_PT
MA_KH
MA_LDT
Ngay_Thu
SoTien_Thu
KHACH_HANG
MA_KH
Ho_Ten
CMND
Dia_Chi
LYDO_THU
MA_LDT
Ten_LDT
Ví dụ 1 (tt)
THAM_SO
MA_Tham_So
Ten_Tham_So
Gia_Tri
Table THAM_SO dùng để lưu những qui định
34
Ví dụ 2
Xét phần mềm quản lý nhân sự với nghiệp vụ tiếp nhận
nhân viên
35
Ví dụ 2 (tt)
Hãy lập sơ đồ logic dữ liệu cho yêu cầu nghiệp vụ trên
trong các trường hợp sau:
a. Không yêu cầu theo dõi quá trình chuyển nhân viên từ
đơn vị này sang đơn vị khác
b. Có yêu cầu theo dõi quá trình chuyển nhân viên
c. Bổ sung qui định: Đơn vị X chỉ nhận các nhân viên có
trình độ đại học và sau đại học
36
Ví dụ 2 (tt)
NHAN_VIEN
MA_NV
MA_Don_Vi
Ho_Ten
Gioi_Tinh
Ngay_Sinh
Dien_Thoai
Dia_Chi
Ma_Trinh_Do
DON_VI
MA_Don_Vi
Ten_Don_Vi
TRINH_DO
MA_Trinh_Do
Ten_Trinh_Do
a.
37
Table THAM_SO có thể thiết kế theo nhiều cách
Cách 1
Khóa ThamSố#1 ThamSố#2 ThamSố#N
Mỗi tham số tương ứng với một cột trong bảng tham số
Bảng tham số thường chỉ gồm 1 dòng (chứa giá trị các
tham số hiện hành)
?
Cần bổ sung tham số mới?
Cần vô hiệu hóa tác dụng của một tham số?
Ví dụ 2 (tt)
38
Cách 2
MãThamSố TênThamSố Kiểu GiáTrị TìnhTrạng
Mỗi tham số tương ứng với một dòng trong bảng tham số
Giá trị hiện tại của tham số được lưu bằng dạng chuỗi
Mỗi tham số cần lưu trữ kiểu giá trị để phần mềm “hiểu”
đúng nội dung giá trị hiện tại của tham số
? Cần bổ sung tham số mới?Cần vô hiệu hóa tác dụng của một tham số?
Được lưu
dạng chuỗi
Ví dụ 2 (tt)
39
Ví dụ 2 (tt)
b.
NHAN_VIEN
MA_NV
Ho_Ten
Gioi_Tinh
Ngay_Sinh
Dien_Thoai
Dia_Chi
Ma_Trinh_Do
DON_VI
MA_Don_Vi
Ten_Don_Vi
TRINH_DO
MA_Trinh_Do
Ten_Trinh_Do
PHAN_CONG
MA_PC
MA_NV
MA_Don_Vi
Ngay_PhanCong
40
Ví dụ 2 (tt)
c. Bổ sung qui định: Đơn vị X chỉ nhận các nhân viên có
trình độ đại học và sau đại học
???
41
Khi thiết kế dữ liệu phải chú ý đến các vấn đề sau:
Không gian
Thời gian
Khối lượng dữ liệu phát sinh rất nhanh theo thời gian
Đáp ứng yêu cầu truy xuất nhanh
.
Thiết kế dữ liệu
42
Sơ đồ kiểu dữ liệu
Cho phép mô tả cách thức tổ chức lưu trữ dữ liệu trong
bộ nhớ chính
Ký hiệu: Tương tự như sơ đồ logic
Ví dụ: Xét chức năng tính diện tích đường tròn
DIEM
Hoanh_do : R
Tung_do : R
DUONG_TRON
Tam : DIEM
Ban_kinh : R
Một phương pháp thiết kế
Bước 01: Xét yêu cầu phần mềm thứ nhất (Thông
thường ta xét ycpm LưuTrữ)
Thiết kế dữ liệu với tính đúng đắn
Biểu mẫu liên quan: BMx
Sơ đồ luồng dữ liệu:
Các thuộc tính mới
Thiết kế dữ liệu
Sơ đồ logic
43
Một phương pháp thiết kế
Bước 01: Xét yêu cầu phần mềm thứ nhất (Thông
thường ta xét ycpm LưuTrữ)
Thiết kế dữ liệu với tính tiến hóa
Qui định liên quan:QĐx
Sơ đồ luồng dữ liệu về việc thay đổi qui định
Các thuộc tính mới
Thiết kế dữ liệu
Sơ đồ logic
44
Một phương pháp thiết kế
Bước 02: Xét yêu cầu phần mềm thứ hai.
Bước03: Xét yêu cầu phần mềm thứ ba.
..
Bước n: Xét yêu cầu phần mềm cuối cùng.
45
Một phương pháp thiết kế
Lưu ý:
Khi thiết kế dữ liệu ở bước đúng đắn và tiến hóa ta
lần lượt bố trí các thuộc tính mới vào các bảng đã có
sẵn (nếu được). Trong trường hợp không bố trí được
thì khi đó ta buộc phải tạo ra bảng mới để chứa thuộc
tính mới này
46
47
Bài tập
1. Xét phần mềm quản lý học sinh với chức năng ghi nhận
bảng điểm danh
Hãy lập: sơ đồ luồng dữ liệu, sơ đồ logic dữ liệu
48
Bài tập
2. Xét phần mềm quản lý bán hàng với chức năng lập hóa
đơn bán hàng. Hãy lập sơ đồ logic dữ liệu
49
Bài tập
3. Xét phần mềm quản lý tiết kiệm với chức năng mở sổ
tiết kiệm. Hãy lập sơ đồ logic dữ liệu
50
Thiết kế giao diện
51
LAN
WAN
Wireless
Cable FR/ATM
DSL
Dial
..
Multimedia
Tìm kiếm thông tin
Giao dịch điện tử
Xử lý thông tin
Tài liệu điện tử
Tầm quan trọng của giao diện
52
Multimedia
Tìm kiếm thông tin
Giao dịch điện tử
Xử lý thông tin
Tài liệu điện tử
Giao diện
Các thành phần của giao diện
Giao diện
nhập liệu Giao diện
kết xuất
Giao diện
tương tác
53
Mục tiêu
Mục tiêu: mô tả chi tiết cách thức giao tiếp giữa người
dùng và phần mềm trong quá trình thực hiện các nghiệp
vụ liên quan
Nội dung trình bày của D1, D2
Hình thức trình bày của D1, D2
Biến cố phải xử lý
Người dùng
D1 D2
D3 D4
Xử lý
THIẾT KẾ GD – Thiết bị
Thiết bị vào và ra
Màn hình
Bàn phím
Mouse, bút từ, ...
Màn hình cảm biến
Mic/Speaker
Smart cards,
Máy in
Cả thiết bị lẫn phương thức đều đang tiến hóa
- nhận dạng tiếng nói, chữ viết
54
THIẾT KẾ GD - Loại giao diện
55
THIẾT KẾ GD - Loại giao diện
56
TKGD – Loại giao diện
57
TKGD– Hình thức tương tác
58
TKGD– Hình thức tương tác
59
THIẾT KẾ GD – Các vấn đề
60
TKGD– Các vấn đề
61
TKGD– Các vấn đề
62
TKGD– Các vấn đề
63
TKGD– Các vấn đề
64
TKGD - Tính kỹ nghệ
65
66
Các yêu cầu chất lượng
Tính tiện dụng
Dễ học
Thứ tự nhập trực quan, dễ sử dụng
Tính hiệu quả
Quy trình nhập đơn giản nhất, tự nhiên nhất
Tận dụng những bước xử lý trên màn hình
Tránh thêm những công đoạn (thao tác) thừa (không cần thiết)
Tốc độ thực hiện nhanh
Tính tiến hóa
Các tùy chọn về nội dung
Hình thức trình bày
Biến cố phải xử lý
Tính dễ dùng
– Tính thân thiện
Chức năng dễ hiểu
Phát hiện ngay sai sót
Dự trù sẵn phản ứng khi NSD phạm sai sót
Đủ uyển chuyển
Trình tự khai thác có tự nhiên hay không?
Câu hỏi đ/v NSD:
– Tôi đang ở đâu?
– Tôi đã đến đây như thế nào?
– Tôi có thể làm gi tại đây?
– Sau giao diện này, tôi có thể đi đến đâu?
– Tính “ergonomic”:
Màu sắc
Vị trí
Cách giao tiếp hệ thống
67
Tính nhất quán: “chuẩn”
- Chuẩn về dữ liệu: tên gọi, chiều dài, kiểu, cách trình bày
– Chuẩn về mã
Độc lập với việc Tin học hóa, có ý nghĩa về mặt nghiệp vụ
=> xem như dữ liệu bình thường
Do yêu cầu của việc Tin học hóa => đừng làm rối cho NSD
– Chuẩn về cấu trúc hệ thống
Cách trình bày thực đơn
Cách trình bày các thành phần trên màn hình
Cách xử lý trên màn hình
– Chuẩn về sưu liệu:
Hướng dẫn trực tuyến
Hướng dẫn trong tài liệu
68
69
Các yêu cầu chất lượng
Phải quan sát thói quen của người sử dụng
Thói quen phải tôn trọng => bắt buộc phải tôn trọng
Quen với phím enter khi nhập liệu
Thói quen chưa hợp lý hoặc mâu thuẫn với kỹ thuật
=> Phải trao đổi, thuyết phục và thống nhất với người sử
dụng
70
Kỹ thuật nâng cao chất lượng
1. Bổ sung nội dung
Hướng dẫn sử dụng
Thuộc tính tính toán
Thông tin chi tiết liên quan
2. Tăng tốc thao tác
Dùng giá trị định sẵn
Chuyển ô nhập liệu thành cột nhập liệu
Sử dụng giá trị thay thế
71
Kỹ thuật nâng cao chất lượng
3. Xử lý lỗi
Thông báo lỗi chính xác, cơ hội sửa lỗi
Hạn chế lỗi
Cấm tuyệt đối lỗi
4. Bổ sung, thay thế hình thức trình bày
Dùng biểu tượng
Dùng thực đơn động
Dùng cây
Dùng sơ đồ
Thao tác trực tiếp
72
Ví dụ
Xét phần mềm Quản lý học sinh với chức năng tiếp
nhận học sinh mới
Hãy thiết kế dữ liệu và giao diện
73
Ví dụ
74
Ví dụ
Mô tả các thành phần của giao diện
STT Tên Kiểu Ý nghĩa Miền giá
trị
Giá trị
mặc định
Ghi
chú
1 Lb_Tieu_de A_Label Tiêu đề màn hình
2 Lb_Hoten A_Label Tiêu đề họ tên
3 Txt_Hoten A_Textbox Text box nhập họ
tên
4 Ch_Phai A_Checkbox
5 Lb_Ngaysinh A_Datetime
75
Bài tập
Xét phần mềm quản lý giải bóng đá với các yêu cầu sau:
Tiếp nhận đăng ký tham gia
Xếp lịch thi đấu
Ghi nhận kết quả thi đấu
Lập bảng xếp hạng
Giải gồm có 4 đội tham gia.
Thông tin về mỗi đội bao gồm: Tên đội, danh sách các cầu thủ
của đội
Thông tin về mỗi cầu thủ bao gồm: Tên cầu thủ, vị trí sở trường
Xếp lịch thi đấu
Các đội thi đấu vòng tròn hai lượt. Thông tin về trận đấu được
xếp lịch: Hai đội bóng tham dự, ngày giờ thi đấu, sân thi đấu
(giải diễn ra trên hai sân: A, B)
76
Bài tập
Ghi nhận kết quả thi đấu, chỉ yêu cầu ghi nhận:
Tỉ số
Lập bảng xếp hạng:
Hạng được dựa trên các tiêu chí sau:
Điểm số
Hiệu số
Số bàn thắng
Điểm cho mỗi trân thua là 0, hòa là 1, thắng là 3
1. Hãy lập sơ đồ luồng dữ liệu cho mỗi yêu cầu
2. Lập sơ đồ logic dữ liệu
3. Thiết kế màn hình giao diện cho từng yêu cầu.
77
Cách 1:
Giao diện ghi nhận KQTĐ
78
Cách 2:
Giao diện ghi nhận KQTĐ
79
Cách 3:
Giao diện ghi nhận KQTĐ
80
Cách 4:
Giao diện ghi nhận KQTĐ
81
Cách 5:
Giao diện ghi nhận KQTĐ
Thiết kế giao diện
Quản lý thiết bị nhập (bàn phím, chuột)
Hiệu chỉnh thông tin input
Kiểm soát lỗi và hiển thị thông báo lỗi
Cung cấp trợ giúp và hiển thị thông báo nhắc nhở
Cung cấp feedback (ví dụ như tự động hiển thị ký tự đánh
vào)
Kiểm soát cửa sổ và vùng, khả năng cuộn
Thiết lập giao tiếp giữa chương trình với giao diện (vd: hàm
đáp ứng)
Cách ly chương trình với các hàm quản lý giao diện
Cho phép tuỳ biến giao diện: màu sắc, kích thước,..
Một số định hướng về thiết kế giao diện
Một số hướng dẫn chung
Nên đồng nhất (menu, lệnh, hiển thị...)
Nên cung cấp feedback cho người dùng
Yêu cầu xác nhận những tác vụ mang tính phá hoại (xoá file,
account)
Nên hỗ trợ UNDO, REDO
Hạn chế lượng thông tin phải ghi nhớ giữa 2 tác vụ liên tiếp
Tối ưu trong trình bày hộp thoại và di chuyển mouse
Chấp nhận lỗi từ phía người sử dụng
Cung cấp trợ giúp trực tuyến
Dùng động từ đơn giản và ngắn gọn để đặt tên các lệnh
Một số định hướng về thiết kế giao diện
Đối với thông tin hiển thị
Chỉ hiển thị những thông tin phù hợp với ngữ cảnh hiện
tại
Dùng tên, từ viết tắt và màu gợi nhớ
Cho phép tương tác trực quan
Tạo thông báo lỗi có ý nghĩa
Hiển thị dữ liệu ở nhiều dạng khác nhau trong cửa sổ
Thiết lập biểu diễn tượng tự
Sử dụng không gian màn hình một cách tối ưu
Một số định hướng về thiết kế giao diện
Đối với thông tin input
Hạn chế input trực tiếp (có thể chọn lựa từ một số dữ
liệu có sẵn)
Nên đồng nhất giữa thông tin input và hiển thị
Nên cho phép tuỳ biến input
Cấm các chức năng không thích hợp trong ngữ cảnh
hiện tại
Cho phép input ở nhiều dạng khác nhau
Để cho người sử dụng kiểm soát dòng sự kiện tương
tác
Tự động tính các giá trị input cho người sử dụng nếu có
thể
Ví dụ 1
86
Ví dụ 1
87
TK TĐ THEO HƯỚNG TIN HỌC
Các chức năng được phân nhóm theo ý nghĩa tin học
Ví dụ: PM quản lý giáo vụ
88
TK TĐ THEO HƯỚNG ĐỐI TƯỢNG
89
Các chức năng được phân nhóm theo đối tượng
TK TĐ THEO HƯỚNG NGHIỆP VỤ
Các chức năng được phân nhóm qui trình nghiệp vụ
90
Thiết kế giao diện nhập
Tránh tình trạng cổ chai nhưng vẫn cho phép nhiều
người cùng nhập
– Tận dụng những bước xử lý trên màn hình
– Tránh thường xuyên truy xuất dữ liệu
Tránh tạo cơ hội cho NSD phạm lỗi/sơ xuất
Tránh thêm những công đoạn thừa
Quy trình nhập đơn giản nhất, tự nhiên nhất
Phải đảm bảo thói quen xử lý chứng từ gốc
91
Thiết kế giao diện nhập
Phát hiện sai sót và kiểm tra ràng buộc toàn vẹn
– Kiểm tra ngay?
– Kiểm tra cuối màn hình?
– Kiểm tra cuối kỳ khai thác?
=> Phải quan sát thói quen của người sử dụng
Thói quen phải tôn trọng => bắt buộc phải tôn trọng
Thói quen chưa hợp lý hoặc mâu thuẫn với kỹ thuật
=> Phải trao đổi, thuyết phục và thống nhất với NSD
92
Thiết kế giao diện xuất
Nội dung:
- Dữ liệu trong HTTT,
- Dữ liệu tính toán,
- Dữ liệu vừa được nhập vào
Ai sẽ sử dụng nội dung kết xuất:
- Đối tượng trong HT: dùng kết xuất cho mục tiêu gì?
- Đối tượng ngoài môi trường: muốn đưa nội dung gì
bên ngoài?
Khối lượng dữ liệu xuất hiện trên kết xuất
Khi nào thực hiện kết xuất đó?
Kết xuất ra dạng gì? Màn hình, giấy in, file theo
định dạng nào?
93
Thiết kế giao diện xuất
Trình bày bảng biểu
Nếu dữ liệu nhiều thì lấy những nội dung gì
Cách bố trí nội dung theo cột/dòng/tiểu cột/ tiểu
dòng, tổng các tiểu dòng/tiểu cột, thứ tự trình bày
các tổng trước hay sau thông tin chi tiết, chữ
hoa/thường, thứ tự trình bày dữ liệu, chấm/phẩy đối
với số lẻ, canh lề, số lượng số lẻ
Phải mô phỏng nội dung dữ liệu trong phần thiết
kế giao diện, không nên chỉ đưa cho NSD xem
những template rỗng
94
Trình bày biểu đồ
Chỉ chứa dữ liệu tổng hợp, không có dữ liệu chi tiết
Thể hiện khuynh hướng, so sánh. Không hiệu qua khi
cần xác định số liệu cụ thể
Trình bày biểu đồ dạng nào?
95
Thiết kế đối thoại
Đặc điểm:
Giao diện tương tác
Giao diện đồ họa
Thao tác “trực tiếp”
Nguyên tắc: LOOK and FEEL
Mô hình WIMP: Window – Icon – Menu – Pointer
96
Thiết kế đối thoại
Các mức thiết kế
- Mức ngữ nghĩa: nội dung dữ liệu,nội dung chức năng
- Mức cú pháp: quá trình tương tác đối thoại, kịch bản
khai thác diễn ra như thế nào?
- Mức từ vựng: từ ngữ và cách trình bày nội dung ngữ
nghĩa
97
Thiết kế đối thoại – mức ngữ nghĩa
Mức ngữ nghĩa
- Hệ thống hướng dẫn trực tuyến đi song song với từng chức năng
trong hệ thống thực đơn
- Các hộp thoại cần thiết thông báo lỗi/hướng dẫn
- Dựa vào hệ thống thực đơn để xác định các giao diện đối thoại
Cần nhớ: tính “ergonomic” và tính nhất quán
- Gây chú ý nhưng không được làm NSD mệt mỏi
- Nhất quán
- Giá trị mặc định (câu trả lời thường hay xảy ra nhất)
- Nội dung thông báo phải thể hiện đúng nội dung phản ứng của hệ
thống
Mức ngữ nghĩa tốt
=> Có thể dễ dàng thay đổi ngôn ngữ
98
Thiết kế đối thoại – mức cú pháp
Chọn kiểu đối thoại và kiểu điều khiển đối thoại
Kiểu đối thoại:
- Hỏi – Trả lời
- Thực đơn
- Mẫu biểu để điền vào
- Ngôn ngữ lệnh nhập qua bàn phím
- Dùng các phím chức năng
- Ngôn ngữ tự nhiên
-..
99
Thiết kế đối thoại - Mức từ vựng
Nên dùng biểu tượng => chọn lựa biểu tượng thể hiện đúng nội dung
mong muốn
- Biểu tượng đi kèm tên gọi ngắn gọn, súc tích và nhất quán
- Cách sử dụng các vật thể: ý nghĩa khi nhấn bên trái/ phải, nhấn đúp
trên mouse
- Cách di chuyển con trỏ
- Cách dùng màu:
+ Phân biệt các cửa sổ khác nhau lần lượt được mở ra
+ Tạo mối liên hệ giữa các đối tượng thông tin
+ Tình trạng khác nhau của đối tượng
+ Gây chú ý đặc biệt
- Các màu phải hòa hợp
100
Hệ thống thực đơn (Menu)
Hệ thống thực đơn chính
Hệ thống thực đơn trong màn hình chính của mỗi
phân hệ (module)
Hệ thống thực đơn ngữ cảnh
Thực đơn sử dụng khi click chuột phải lên một hoặc
một nhóm đối tượng trên màn hình
Thực đơn sử dụng khi click chuột phải lên một dòng
trong lưới (Grid)
101
Tổ chức hệ thống thực đơn chính
Hệ thống
Danh mục
Nhóm chức năng 1 (nghiệp vụ 1)
Nhóm chức năng 2 (nghiệp vụ 2)
Tra cứu
Báo cáo (Report)
Công cụ/tiện ích (Tools/Utilities)
Trợ giúp (Help)
102
103
104
Hệ thống thực đơn chính
Hệ thống
Cấu hình hệ thống
Đăng nhập
Đổi mật khẩu
Thoát
Danh mục
Danh mục nhân viên
Danh mục quận huyện
Danh mục tỉnh thành
Danh mục hàng hóa
.
105
Hệ thống thực đơn chính
106
Hệ thống thực đơn chính
Tra cứu
Tra cứu điểm thi
Tra cứu thông tin sinh viên
Tra cứu lịch thi
Tra cứu thời khóa biểu
Báo cáo/thống kê
Bảng điểm sinh viên
Hồ sơ sinh viên/nhân viên/học sinh
Thống kê doanh số bán trong ngày/tháng/năm
Bảng lương tháng nhân viên
Thống kê số lượng hàng tồn kho
107
Hệ thống thực đơn chính
Công cụ/tiện ích
Sao lưu dữ liệu (Backup Data)
Phục hồi dữ liệu (Restore Data)
Archive Data
Tùy chọn (Options/Customize)
Giúp đỡ
Hướng dẫn sử dụng (Online Help)
Thông tin tác giả (About)
Đăng ký sử dụng (Register)
Nâng cấp (Upgrade/Online Update)
108
109
Phân loại màn hình
Màn hình giới thiệu
Màn hình chính
Màn hình tác giả
Màn hình danh mục
Màn hình nhập liệu
Nhập liệu trực tiếp
Nhập liệu gián tiếp (import)
Màn hình tra cứu
Màn hình xử lý tính toán
Màn hình thể hiện báo biểu/thống kê
Màn hình thể hiện đối tượng: sơ đồ, cây, biểu tượng
110
Tính nhất quán
111
Tính nhất quán
112
Tính trực quan
113
Tính trực quan
114
Tính trực quan
115
Ví dụ
Tính đúng đắn
116
Ví dụ
Tính tiện dụng
117
Tính hiệu quả
118
Ví dụ
Tính hiệu quả
119
120
Ví dụ về menu
Tính đúng đắn: đơn giản là xác định danh sách các công
việc và các nghiệp vụ mà phần mềm hỗ trợ.
121
Ví dụ về menu
Tính tiện dụng.
122
Menu quản lý thư viện
Tính đúng đắn
123
Menu quản lý thư viện
124
Tính đúng đắn
Tính đúng đắn
125
Menu quản lý thư viện
126
Tính đúng đắn
Menu quản lý thư viện
127
Tính hiệu quả
Tính hiệu quả
128
Tính hiệu quả
129
Tính hiệu quả
130
Ví dụ về menu
131
132
Bài tập
Cho CSDL của phần mềm quản lý bán hàng như sau:
Hãy thiết kế giao diện và mô tả các thành phần của giao diện:
Lập phiếu nhập, lập phiếu xuất
Tra cứu hàng hóa
133
Thiết kế Xử lý
134
Thiết kế xử lý
Mục tiêu: Mô tả chi tiết hệ thống các hàm xử lý của phần
mềm
Người dùng
D1 D2
D3 D4
Xử lý
Mô tả hàm
xử lý
Tổ chức: đơn thể/đối tượng
Thông tin chi tiết:
• Tên
• Tham số
• Kết quả
• Dữ liệu toàn cục
Sự phối hợp
135
Thiết kế xử lý
Kết quả:
Danh cách các đơn thể/đối tượng
Danh sách các hàm của mỗi đơn thể/đối tượng
Các sơ đồ phối hợp
Yêu cầu thiết kế:
Tính đúng đắn
Tính dễ bảo trì
Tính tái sử dụng
Tính dễ mang chuyển
136
Thiết kế xử lý
Kỹ thuật thiết kế:
Phân rã/tích hợp
Tham số hóa
Đối tượng hóa
Sơ đồ phối hợp:
Mô tả cách thức phối hợp (gọi thực hiện) giữa các
hàm
137
Thiết kế xử lý
Ký hiệu:
Hàm xử lý
Hàm của đơn thể
Tên hàm
A B
C
1
2
A có gọi đến B, C theo thứ tự,
không chuyển tham số, không
nhận kết quả
A B A gọi đến B có chuyển tham số,
không nhận kết quả
Tên đơn thể
Tên hàm
138
Thiết kế xử lý
A
B A gọi đến B hoặc C
C
A B A gọi đến B nhiều lần (ít nhất là 0 lần)*
A B A gọi đến B nhiều lần (ít nhất là 1 lần)+
Chú ý: Có n biến cố phải xử lý Tương ứng có n sơ đồ
phối hợp
A gọi đến B không chuyển tham số,
nhưng nhận kết quả
BA
139
Ví dụ
Xét màn hình tiếp nhận học sinh mới như sau:
140
Ví dụ
Hãy:
Mô tả các biến cố
Lập danh sách các hàm xử lý
Lập các sơ đồ phối hợp (Khi có ít nhất hai hàm tham
gia trong cùng một biến cố)
141
Ví dụ - Mô tả biến cố
Biến cố 0:
Khởi động màn hình
Biến cố 1:
Kiểm tra tuổi học sinh hợp lệ (tuổi từ 15 đến 20)
Biến cố 2:
Khi chọn một lớp học trên combobox
Biến cố 3:
Kiểm tra dữ liệu hợp lệ và ghi
142
Ví dụ - Danh sách các biến cố
BC Điều kiện
kích hoạt
Xử lý Ghi chú
0 Khởi động
màn hình
- Đọc danh sách lớp, danh sách học
sinh, tham số
- Xuất danh sách lớp, danh sách học
sinh, hồ sơ học sinh mới
1 Kết thúc
nhập ngày
sinh
- Kiểm tra ngày sinh hợp lệ và xuất
thông báo lỗi nếu không hợp lệ
Tuổi theo qui
định 1520
2 Kết thúc
chọn lớp
- Ghi nhận vị trí của lớp được chọn
trong danh sách lớp
Chuẩn bị khi
ghi hồ sơ
3 Nhút nút
ghi
- Kiểm tra hồ sơ hợp lệ
- Nếu hợp lệ thì nhập hồ sơ học sinh
và ghi hồ sơ học sinh. Xuất thông báo
Mã và tên
phải khác
rỗng
143
Ví dụ - Danh sách các hàm xử lý
STT Tên hàm Tham số Kết quả Ý nghĩa Ghi chú
144
Ví dụ - Lập sơ đồ phối hợp
Xử lý biến cố 0
Xử lý biến cố 0 Xuất hồ sơ học sinh mới
Xuất danh sách
(1)
(2)
145
Ví dụ - Lập sơ đồ phối hợp
Xử lý biến cố 0: Phân rã hàm
Hàm Xử lý biến cố 0
Xuất hồ sơ học sinh mới
Đọc danh
sách lớp
(1)
Xuất danh
sách lớp
Đọc danh
sách học sinh
Đọc danh
sách tham số
Xuất danh sách học sinh
(2)
(3)
(4)
(5)
(6)
146
Ví dụ - Lập sơ đồ phối hợp
Xuất hồ sơ học sinh mới
Đọc danh
sách lớp
(1)
Xuất danh
sách lớp
Đọc danh
sách học sinh
Đọc danh
sách tham số
Xuất d.sách
học sinh
(2) (3) (4) (5)
(6)
XL_Doc_Ghi
Doc_Danh_Dach
Hàm Xử lý biến cố 0
XL_Nhap_Xuat
Xuat_Danh_Dach
147
Ví dụ - Lập sơ đồ phối hợp
Xử lý biến cố 1
Dùng 1 hàm
Xử lý biến cố 2
?
Xử lý biến cố 3
?
148
Bài tập
1. Lập sơ đồ phối hợp cho các biến cố còn lại trong ví dụ
trên.
2. Đánh giá các sơ đồ phối hợp dựa trên các tính chất
- Tính đúng đắn
- Tính tái sử dụng
- Tính dễ bảo trì
- Tính dễ mang chuyển
-
149
Các file đính kèm theo tài liệu này:
- giao_trinh_cong_nghe_phan_mem_chuong_3_thiet_ke_phan_mem_pha.pdf