Bài giảng Nhập môn công nghệ phần mềm - Lương Trần Hy Hiến - Ví dụ thiết kế phần mềm

Kháiniệm:

• Thiếtkếphầnmềmlà môtả chitiết tổ chức,hoạtđộng

cácđơnvịxửlý củaphầnmềm

• Dựatrênkếtquảcủaviệcphântích

• Làcơsởchoviệcthựchiệnphầnmềm

pdf54 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 2433 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Nhập môn công nghệ phần mềm - Lương Trần Hy Hiến - Ví dụ thiết kế phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
hi 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
3
Phân tích Thiết kế Thực hiện
Hồ sơ
Phân tích
Hồ sơ
Thiết kế
Tổng quan
4
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
Thiế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 (vẽ hình)
• Mô tả danh sách các thành phần của giao diện:
• Lập danh sách các biến cố cần xử lý:
STT Điều kiện kích hoạt Xử lý Ghi chú
1
...
5
STT Tên Kiểu Ý nghĩa Miền giá trị Giá trị mặc định
1
Thiế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
...
6
Thiế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
...
7
Thiế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ú
... ... ... ...
8
STT Thuộc tính Kiểu Ràng buộc Giá trị khởi động Ghi chú
... ... ... ... ... ...
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ú
... ... ... ... ...
9
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ú
... ... ... ... ... ...
Ví dụ 1
• 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
10
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 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
 Nhập D1
 Tính D2 (DS học sinh trong lớp được chọn)
 Xuất D2
Ví dụ 1 (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
11
Ví dụ 1 (tt)
2. Thiết kế
b. Thiết kế giao diện
12
(0)
(1)
Cách 1
Ví dụ 1 (tt)
2. Thiết kế
b. Thiết kế giao diện
13
(0
)
(1
)
Cách 2
Ví dụ 1 (tt)
2. Thiết kế
b. Thiết kế giao diện
14
(0)
Cách 3
(2)
(1)
Ví dụ 1(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
???
???
???
15
Ví dụ 1(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
...
?
?
16
Ví dụ 2
• 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 17
Ví dụ 2 (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
18
Ví dụ 2(tt)
PHIEU_THU
MA_PT
MA_KH
MA_LDT
Ngay_Thu
SoTien_Thu
19
KHACH_HANG
MA_KH
Ho_Ten
CMND
Dia_Chi
LYDO_THU
MA_LDT
Ten_LDT
THAM_SO
MA_Tham_So
Ten_Tham_So
Gia_Tri
Table THAM_SO dùng để lưu những qui định
Ví dụ 3
• 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
20
Ví dụ 3(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
21
Ví dụ 3(tt)
22
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.
Ví dụ 3(tt)
• Table THAM_SO có thể thiết kế theo nhiều cách
• Cách 1
23
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ụ 3 (tt)
• Cách 2
24
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ụ 3(tt)
25
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
Ví dụ 3(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
26
???
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 27
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
28
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
29
Bài tập
4.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)
30
Bài tập
• Ghi nhận kết quả thi đấu, chỉ yêu cầu ghi nhận:
• Tỉ số
• Tổng số thẻ vàng, thẻ đỏ
• 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.
31
Giao diện ghi nhận KQTĐ
• Cách 1:
32
Giao diện ghi nhận KQTĐ
• Cách 2:
33
Giao diện ghi nhận KQTĐ
• Cách 3:
34
Giao diện ghi nhận KQTĐ
• Cách 4:
35
Giao diện ghi nhận KQTĐ
• Cách 5:
36
Bài tập
5. 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
37
Thiết kế Xử lý
38
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
39
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
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
40
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
41
Thiết kế xử lý
• Ký hiệu:
Hàm xử lý
Hàm của đơn thể
42
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
Thiết kế xử lý
43
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
Ví dụ
• Xét màn hình tiếp nhận học sinh mới như sau:
44
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ố)
45
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
46
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 1520
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 47
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ú
…
48
Ví dụ - Lập sơ đồ phối hợp
• Xử lý biến cố 0
49
Xử lý biến cố 0 Xuất hồ sơ học sinh mới
Xuất danh sách
(1
)
(2
)
Ví dụ - Lập sơ đồ phối hợp
• Xử lý biến cố 0: Phân rã hàm
50
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
)
Ví dụ - Lập sơ đồ phối hợp
XL_Doc_Ghi
Doc_Danh_Dach
51
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
)
Hàm Xử lý biến cố 0
XL_Nhap_Xuat
Xuat_Danh_Dach
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
• ?
52
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
- …
53
54

File đính kèm:

  • pdfBài giảng Nhập môn công nghệ phần mềm - Lương Trần Hy Hiến - Ví dụ thiết kế phần mềm.pdf