Introduction to Software Engineering - Nhp môn Công nghphn mềm
Software Engineering Department - SoICT/HUST Trang 1 / 10
Bài tp tun 08
Thiết kế phn mm
(Thiết kế kiến trúc & thiết kế chi tiết)
Mc tiêu
- Thc hin các bài tp (câu hi) vcác khái nim và nguyên tc thiết kế cơ bn
trong Thiết kế phn mềm
- Nắm đưc phân loi thiết kế kiến trúc, các khái nim gắn kết (cohesion) và ghép
nối (coupling)
- Xây dng kiến trúc cho phn mm ca bài toán casestudy trong môn học:
o Sử dụng package tchc các class trong mã ngun phn mềm
o Thiết kế cơ sở dữ liệu
o Xây dựng các lp model và các lp truy xut dliu trong Database
Đánh giá
- Hoàn thành các bài tp vcác khái nim và nguyên tc thiết kế cơ bn trong
Thiết kế phn mềm
- Hoàn thành import project do ging viên cung cp để tổ chc các class trong mã
ngun phn mềm
- Thiết kế CSDL trên hqun trMySQL
- Hoàn thành xây dng các lp model và các lp truy xut dliu trong Database
Phn I:
Bài 1.1
a) Kiu kiến trúc ng dn – bộ lọc (pipes and filters) là mt dng đc bit ca kiu
client-server?
1. Đúng
2. Sai
b) Yếu tố nào có ảnh hưởng đến việc thiết kế kiến trúc phần mềm?
1. Công nghệ sử dụng
2. Yêu cu về thuộc tính chất lượng
3. Chiến lược triển khai hệ thống
4. Tất cả các phương án trên
c) Chọn nhng yếu tquan trng to nên kiến trúc phn mm (chn nhiều)?
CuuDuongThanCong.com https://fb.com/tailieudientucntt
cuu duong than cong . com
Introduction to Software Engineering - Nhp môn Công nghphn mềm
Software Engineering Department - SoICT/HUST Trang 2 / 10
1. Phn tphn mềm
2. Mối quan hệ giữa các phần t
3. Thuộc tính của mối quan hệ
4. Thuộc tính của môi trường hoạt động
5. Thuộc tính của phần t
d) Mẫu thiết kế cháp dng đưc cho lp trình hưng đối tưng?
1. Đúng
2. Sai
e) Một số lớp có đưc trong giai đon phân tích có thđưc lưc btrong giai
đon thiết kế?
1. Đúng
2. Sai
f) Trong thiết kế theo phương pháp cu trúc, tương tác gia các chương trình con
(subprogram) đưc thhin trong …?
1. Biu đồ cấu trúc
2. Biu đồ dòng dliu vật lý (physical DFD)
3. Biu đdòng dliệu logic (logical DFD)
4. Tất cả các phương án trên đều sai
Bài 1.2
a) Trình bày ba loi biu đthưng đưc dùng trong phương pháp phân tích và
thiết kế cấu trúc?
b) Cho ba ví dụ về ba loi biu đUML khác nhau thưng đưc sử dụng trong
phương pháp thiết kế ng đi tưng?
c) Trình bày mi quan hgia các giai đon phân tích - thiết kế - thc hin - kim
thử - bảo trì. Hãy lit kê các công vic cn đưc thc hin giai đon thiết kế
phn mm. Vì sao nói “Trên thc tế phân tích và thiết kế không có stách bit
nhau mà hai giai đon này đưc tiến hành song song và bsung cho nhau”?
Bài 1.3
a) Trình bày khái nim mô đun. Thông qua hình dưi, hãy phân tích và gii thích vì
sao phi phân chia mô đun mt cách ti ưu (sng mô đun nhiu quá hoc ít
quá thì không tt, các yếu tố ảnh hưng: giá PM, đphc tp, công sc thc
hin,..)?
CuuDuongThanCong.com https://fb.com/tailieudientucntt
cuu duong than cong . com
Introduction to Software Engineering - Nhp môn Công nghphn mềm
Software Engineering Department - SoICT/HUST Trang 3 / 10
b) Khi thiết kế phn mm, vic che giu thông tin và phân chia mô đun có quan h
như thế nào? Vì sao trong thiết kế phn mm cn thc hin vic che giu thông
tin? Hãy lit kê các li ích ca vic che giu thông tin.
c) Trình bày đc đim ca tính ghép ni và kết dính trong phân chia mô đun. Yếu t
ghép ni và kết dính gia các mô đun có ý nghĩa gì trong thiết kế? Vì sao khi phân
chia mô đun phi tăng độ kết dính và gim sliên kết?
Phn II: Thiết kế cho bài toán (case study)
1. Thiết kế cơ sở dữ liệu
Từ mô hình dliu ERD đã xây dng trong bài thc hành trưc, hãy to cơ s
dữ liu và các bng dliu tương ng trong hqun trMySQL.
Mô hình dliu ERD cho nhóm chc năng s1:
CuuDuongThanCong.com https://fb.com/tailieudientucntt
cuu duong than cong . com
Introduction to Software Engineering - Nhp môn Công nghphn mềm
Software Engineering Department - SoICT/HUST Trang 4 / 10
Xây dng các bng dliệu, xác đnh quan hgia các bảng thiết kế chi tiết
cho mi trưng (ct) trong bng.
Một slưu ý khi thiết kế các trưng dliu: Field là đơn vnhnht ca dliệu
à Field tương ng vi 1 thuc tính (attribute) trong hình d liệu logic.
Quyết đnh cn làm khi thiết kế phi chn kiu dliu cho field, kim soát
tính toàn vn dliệu Hệ qun trdữ liệu sẽ qun các giá trbị thiếu cho
field như thế nào?
Loi đc t
Mô tả nội dung
Tên trường (field name)
Theo quy đnh vcách đặt tên hoặc quy ưc
viết code của nhóm
Kiểu trường (data type)
Kiu dliu phù hp với các giá trị cần lưu trữ
trong các trường
Kích cỡ (size)
Kích thước / Khoảng giá trị tối đa và tối thiểu
Mã hóa (Coding)
hoá các thông tin lưu trữ / Khuôn dạng của
dữ liệu
Các quy tắc toàn vẹn d liệu (data integrity
rules)
Đặc t về các hạn chế đặt lên giá trị của
trường: NULL / NOT NULL/ KHOÁ CHÍNH,…
Các kiểm soát bảo trì (maintenance controls)
Chỉ ra những giá trị nào được phép thay đổi
Công thức (Formular)
tả công thức tính toán giá trị với nhng
trường cần tính toán.
Toàn vẹn tham chiếu (references integrity)
Đặc tgiá trị của trường liên quan đến giá
trị của trường khác, ví dụ: KHOÁ NGOẠI,…
Sở hữu (Ownership)
Ai có quyn đi vi dliu.
Xây dựng sơ đquan hgia các bng dliệu
Đặc tthiết kế dữ liu cho tng bng theo mu sau:
Tên bng:
Tên trưng
Kiu dliệu
Kích thước
Ràng buc
toàn vẹn
Khuôn dng
Ghi chú
Bài tập: Xây dng sdữ liu đc tthiết kế các bng dliu
cho bài toán vi nhóm chc năng đã chn.
CuuDuongThanCong.com https://fb.com/tailieudientucntt
cuu duong than cong . com
Introduction to Software Engineering - Nhp môn Công nghphn mềm
Software Engineering Department - SoICT/HUST Trang 5 / 10
Ví d: Thiết kế cơ sở dữ liu cho nhóm chc năng số 1
Sơ đquan hgia các bng:
Đặc tthiết kế dữ liu cho tng bng:
Bảng HoKHau:
Tên trưng
Kiu dliệu
Kích thước
Ràng buc
toàn vẹn
Khuôn dng
Ghi chú
ID
Int
Khoá chính
Số nguyên dương
maHoKhau
Varchar(100)
100 ký t
Văn bản
idChuHo
Int
Khoá tham
chiếu t
bảng
NhanKhau
Số nguyên dương
maKhuVuc
Varchar(100)
100 ký t
Văn bản
diaChi
Varchar(100)
100 ký t
Văn bản
ngayLap
Date
Ngày tháng năm
ngayChuyenDi
Date
Ngày tháng năm
lyDoChuyen
Text
Văn bn dài
Văn bản
nguoiThucHien
Int
Mã tài khon
thêm thông
tin
Số nguyên dương
Các bng còn li đc ttương tự.
CuuDuongThanCong.com https://fb.com/tailieudientucntt
cuu duong than cong . com