Bài giảng Nhập môn Công nghệ học phần mềm (Introduction to Software Engineering) – Chương 6: Phương pháp thiết kế hệ thống. Chương này gồm có những nội dung chính sau: Thiết kế hệ thống là gì? Phương pháp thiết kế hệ thống. Mời các bạn cùng tham khảo để biết thêm các nội dung chi tiết.
Trang 1Email: cnpm@ithut.edu.vn
Trang 2of IT
ª Dept. of SE, 2001 SEIV.2
Ph n ầ IV Thi t ế kế và L p ậ trình Design and Programming
Trang 4• Phát tri nể thi tế kế giao di n ệ
• Ch nọ chi nế lược cài đ tặ qu nả trị dữ
li uệ
Trang 5• Thi tế kế cơ chế đi u ề khi nể thích h pợ
cho hệ th ng ố , kể cả qu n ả lý nhi mệ vụ
• Xem xét các đi uề ki nệ biên được xử lý như thế nào
• Xét duy tệ và xem xét các th aỏ hi pệ
(tradeoffs)
Trang 7xem xét và ch nhỉ l iạ , từ đó chuy n ể sang
ki nế trúc chương trình và thi tế kế chi
ti tế
(5) Quy tế đ nhị các đ nơ vị ch ương trình theo
các ch cứ năng c aủ hệ ph n ầ m mề có d aự theo lu ngồ dữ li u ệ và phân chia ra các
thành ph nầ
(6) Khi c uấ trúc chương trình l nớ quá, ph iả
phân chia nhỏ h n ơ thành các môđun
Trang 9• Thi tế kế hệ th ng ố ph nầ m mề
– Thi tế kế t p ệ (file design) [(7)]
– Thi tế kế ch c ứ năng hệ th ng ố [(3)(6)]
Trang 11• Còn xem như Ph ương pháp thi tế kế
hướng lu ngồ dữ li u ệ (Data floworiented design)
• Quy trình 6 bước: (1) t oạ ki uể lu ngồ thông
tin; (2) chỉ ra biên c a ủ lu ngồ ; (3) ánh xạ DFD
sang c uấ trúc chương trình; (4) xác đ nhị phân
c pấ đi uề khi nể ; (5) tinh l cọ c uấ trúc; (6) ch nọ
mô tả ki n ế trúc
Trang 12(5) Chu nẩ phân chia môđun
Trang 14(Dữ li u ệ vào) (Bong bóng) (Dữ li u ệ ra)
Trang 15of IT
ª Dept. of SE, 2001 SEIV.15
(2b) C u ấ trúc phân c p ấ (Hierarchical structured chart)
• Là phân c pấ bi uể thị quan hệ phụ thu c ộ gi aữ các môđun và giao di nệ (interface) gi aữ chúng
Trang 16of IT
ª Dept. of SE, 2001 SEIV.16
Hierarchical structured chart
• Các quy ước (ti pế ):
– Tên môđun bi uể thị ch c ứ năng (“làm gì”), đ tặ tên
Trang 18• Minh h aọ phân chia ch cứ năng theo
bong bóng c aủ DFD (bi uể đồ lu ng ồ dữ
li uệ )
Trang 19of IT
ª Dept. of SE, 2001 SEIV.19
(3a) Ph ươ ng pháp phân chia STS
1) Chia đ iố tượng “bài toán” thành các
Trang 202) Tìm ra lu ngồ dữ li u ệ chính đi qua các ch cứ
năng: từ đ u ầ vào (Input) t iớ đ uầ ra (Output)
Trang 23Trừu tượng hóa tối đa đầu ra Source Module Trans form Module Sink Module
Control
Module
Source Module
Trang 258) Ti pế t cụ chia đ nế m cứ c uấ trúc lôgic khi
môđun tương ngứ v iớ thu tậ toán đã bi tế thì
d ngừ . T ngổ h pợ l iạ ta được c uấ trúc phân
c pấ : m iỗ nút là 1 môđun v iớ số nhánh phía
dưới không nhi uề h nơ 3
Trang 26of IT
ª Dept. of SE, 2001 SEIV.26
(3b) Ph ươ ng pháp phân chia TR
• Khi không t nồ t iạ lu ngồ dữ li u ệ chính, mà
dữ li u ệ vào có đ cặ thù khác nhau như nh ng ữ ngu nồ khác nhau xem như các Giao d ch ị khác nhau
• M iỗ giao d chị ngứ v iớ 1 môđun xử lý nó
• Phân chia môđun có thể: theo kinh nghi m ệ ;
theo tính đ cộ l pậ môđun; theo số b ước t iố đa
trong 1 môđun (ví dụ < 50) và theo chu n ẩ
Trang 27• Lu ngồ phân nhánh thì theo phân chia TR
Trang 29nước do tính thân thi nệ cao
• Thi tế kế theo ti n ế trình, không h pợ v iớ thi tế kế xử lý theo lô (batch system)
• Dùng phân chia k tế h pợ để gi i ả quy tế tính ph cứ t pạ c aủ hệ th ng ố
• Topdown trong phân chia môđun
• Kỹ thu t ậ l pậ trình hi uệ quả
Trang 32phương pháp lu nậ thi tế kế chi ti t ế
• Dùng quy trình thi tế kế dễ chu n ẩ hóa
t ngừ bước
Trang 33– Hướng ti nế trình (process) : Kỹ thu t ậ
thi tế kế c u ấ trúc đi uề khi nể
– Hướng c uấ trúc dữ li u ệ (data): Kỹ thu t ậ thi tế kế c u ấ trúc dữ li u ệ
– Hướng sự v t ậ / đ iố tượng (object): Kỹ
thu tậ thi tế kế h ướng đ iố tượng
Trang 34– Làm cho chương trình dễ hi u ể
– Dễ theo dõi ch ương trình th cự hi nệ
– Hệ ph c ứ t pạ sẽ dễ hi u ể nhờ ti p ế c nậ
phân c pấ
Trang 35• Phương pháp lo iạ bỏ GOTO
• Có thể lo i ạ bỏ GOTO trong m i ọ trường
h pợ ?
• Thế nào là “kỹ năng l p ậ trình c uấ trúc”
Trang 36• Khi thi tế kế c u ấ trúc đi uề khi nể c aủ
gi iả thu tậ , vì theo các quy ước c uấ trúc hóa nên đôi khi tính sáng t oạ c aủ người thi tế kế bị h n ạ chế, bó bu c ộ theo khuôn
m uẫ đã có
Trang 37– C uấ trúc đi uề khi nể cơ b n ả
– Chi ti tế hóa t ngừ bước gi iả thu tậ
– Thể hi n ệ được trình tự đi u ề khi nể th cự
hi nệ
Trang 39k i ệ n
UNTIL
Trục
chính
Trang 42– Thi tế kế dữ li u ệ ra
– Thi tế kế dữ li u ệ vào
– Thi tế kế c u ấ trúc chương trình
– Thi tế kế l u ư đồ
– Thi tế kế l nh ệ thủ t c ụ
– Thi tế kế đ c ặ tả chi ti t ế
Trang 438.2 C uấ trúc chương trình
C uấ trúc dữ li u ệ dễ hi u ể
C uấ trúc thu tậ toán dễ hi u ể
8.3 Các công cụ l p ậ trình
Trang 45• Vi cệ bi uể di nễ /khai báo các c uấ trúc
dữ li u ệ chỉ nên th c ự hi nệ ở nh ng ữ mô
đun sử d ng ụ tr cự ti pế dữ li u ệ
• Nên thi tế l pậ và sử d ng ụ từ đi n ể dữ
li uệ khi thi tế dữ li u ệ
Trang 46– Tránh dùng CASE / switch nhi uề ho cặ l ngồ nhau
– Mã ngu nồ 1 chương trình / môđun nên vi tế trên 1 trang – Tránh vi tế nhi uề l nhệ trên 1 dòng
Trang 47{công việc 2}
Trang 49Bi nế đi uề khi nể = Giá trị đ u ầ
Bi nế đi uề khi nể > Giá trị cu i ố
Th cự hi nệ <Công vi cệ >
Bi nế đi uề khi nể = giá trị ti p ế theo c aủ bi nế đi uề khi nể )
Trang 51Bi uể th cứ Logic Sai
Đúng
Trang 52<Công vi c ệ >
end;
Ngôn ngữ C while (<bi uth cĐK ể ứ >) { <Công vi c ệ >; }
Trang 54(<bi uth cĐK ể ứ >);