Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 70 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
70
Dung lượng
860 KB
Nội dung
Phần IV Thiết kế Lập trình Design and Programming Chương 6: Phương pháp thiết kế hệ thống 6.1 Thiết kế hệ thống gì? 6.2 Phương pháp thiết kế hệ thống SE-IV.1 6.1 Thiết kế hệ thống gì? • Là thiết kế cấu hình phần cứng cấu trúc phần mềm (gồm chức liệu) để có hệ thống thỏa mãn yêu cầu đề • Có thể xem Thiết kế cấu trúc (WHAT), Thiết kế lôgic (HOW) SE-IV.2 Quy trình thiết kế hệ thống • Phân chia mơ hình phân tích hệ • Tìm tương tranh (Concurrency) hệ thống • Phân bố hệ cho xử lý nhiệm vụ (Tasks) • Phát triển thiết kế giao diện • Chọn chiến lược cài đặt quản trị liệu SE-IV.3 Quy trình thiết kế hệ thống (tiếp) • Tìm nguồn tài nguyên chung chế điều khiển truy nhập chúng • Thiết kế chế điều khiển thích hợp cho hệ thống, kể quản lý nhiệm vụ • Xem xét điều kiện biên xử lý • Xét duyệt xem xét thỏa hiệp (trade-offs) SE-IV.4 Các điểm lưu ý thiết kế hệ thống (1) Có thể trích luồng liệu từ hệ thống: phần nội dung đặc tả yêu cầu giao diện (2) Xem xét tối ưu tài nguyên kiến trúc hệ thống định kiến trúc (3) Theo trình biến đổi liệu, xem chức kiến trúc SE-IV.5 Các điểm lưu ý (tiếp) (4) Từ kiến trúc chức theo (3), xem xét điều chỉnh, từ chuyển sang kiến trúc chương trình thiết kế chi tiết (5) Quyết định đơn vị chương trình theo chức hệ phần mềm, dựa theo luồng liệu phân chia thành phần (6) Khi cấu trúc chương trình lớn quá, phải phân chia nhỏ thành mô-đun SE-IV.6 Các điểm lưu ý (tiếp) (7) Xem xét liệu vào-ra tập tin dùng chung chương trình (8) Hãy nghĩ xem để có thiết kế nên dùng phương pháp luận kỹ thuật ? SE-IV.7 6.2 Phương pháp thiết kế hệ thống • Phương pháp thiết kế cấu trúc hóa (Structured Design) Constantine • Ngồi cịn phương pháp khác, Phương pháp thiết kế tổng hợp (Composite Design) Myers SE-IV.8 Thiết kế cấu trúc hóa • Bắt nguồn từ Modularity, Top-Down Design, Structured Programming • Còn xem Phương pháp thiết kế hướng luồng liệu (Data Flow-Oriented Design) • Quy trình bước: (1) Tạo kiểu luồng thông tin (2) Chỉ biên 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 SE-IV.9 Cơ Thiết kế cấu trúc hóa (1) Mơ-đun tham số (2) Lưu đồ bong bóng cấu trúc phân cấp a Lưu đồ bong bóng (Bubble Chart) b Cấu trúc phân cấp (Hierarchical Structured Chart) (3) Phương pháp phân chia STS (Source/Transform/Sink) TR (Transaction) (4) Phân tích cấu trúc hóa (5) Chuẩn phân chia mơ-đun SE-IV.10 SR-Code mô tả cú pháp if-end if (Cách 2) “if” ! ! (4) “else” (4) “elseif” ((4)) “end if” “else” ! ((5)) “end if” “elseif” SE-IV.56 Chương 8: Kỹ thuật lập trình 8.1 Lịch sử phát triển ngơn ngữ lập trình 8.2 Cấu trúc chương trình - Cấu trúc liệu dễ hiểu - Cấu trúc thuật tốn dễ hiểu 8.3 Các cơng cụ lập trình SE-IV.57 8.1 Lịch sử ngơn ngữ lập trình • Các ngơn ngữ hệ thứ nhất: – Ngơn ngữ lập trình mã máy (Machine Code) – Ngơn ngữ lập trình Assembly • Các ngôn ngữ thế thứ hai: – FOTRAN, COBOL, ALGOL, BASIC – Phát triển 1950-1970 • Các ngơn ngữ hệ thứ ba – Ngơn ngữ lập trình cấp cao vạn (cấu trúc) – Lập trình hướng đối tượng – Lập trình hướng suy diễn – logic • Các ngôn ngữ hệ thứ tư – Truy vấn – Các ngôn ngữ hỗ trợ định SE-IV.58 8.2 Cấu trúc chương trình Cấu trúc liệu dễ hiểu • Nên xác định tất cấu trúc liệu thao tác cần thực cấu trúc liệu • Việc biểu diễn/khai báo cấu trúc liệu nên thực mơ-đun sử dụng trực tiếp liệu • Nên thiết lập sử dụng từ điển liệu SE-IV.59 Cấu trúc thuật tốn dễ hiểu • Structured Algorithm Coding điểm lưu ý: – Tuân theo quy cách lập trình – Một đầu vào, đầu – Tránh GOTO, trừ phải khỏi lặp dừng – Dùng thích (Comments) hợp lý – Dùng tên biến có nghĩa, gợi nhớ – Cấu trúc lồng rõ ràng – Tránh dùng Case/Switch nhiều lồng – Mã nguồn chương trình/mơ-đun nên gọn trang – Tránh viết nhiều lệnh dòng SE-IV.60 IF THEN / IF THEN ELSE 0 Pascal if điều kiện then begin công việc end else begin công việc end công việc1 ĐK =0 Ngôn ngữ C công việc if (điều kiện) { công việc 1} else {công việc 2} SE-IV.61 Case / Switch Pascal case biểu thức of gtrị1: việc 1; gtrị2: việc 2; gtrịN: việc N; else việc N+1; end Ngôn ngữ C switch (biểu thức) { case gtrị 1: việc 1; [break;] case gtrị 2: việc 2; [break;] case gtrị N: việc N; [break;] default: việc N+1; [break;] } SE-IV.62 FOR TO / DOWNTO Bắt đầu biến điều khiển = giá trị đầu biến điều khiển > giá trị cuối sai công việc Đúng Kết thúc biến điều khiển = giá trị biến điều khiển SE-IV.63 Pascal for biến điều khiển:=giá trị đầu to|downto giá trị cuối begin công việc end Ngôn ngữ C for ( biểu thức ; biểu thức điều kiện; biểu thức ) { cơng việc } Đặc biệt: có lệnh thoát break, continue exit SE-IV.64 DO WHILE Bắt đầu biểu thức logic Đúng Sai công việc Kết thúc SE-IV.65 Pascal while biểu thức logic begin công việc end Ngôn ngữ C while (biểu thức logic) { công việc } • Kiểm tra điều kiện trước thực • Lỗi thường gặp: Lặp vơ hạn SE-IV.66 REPEAT UNTIL Bắt đầu công việc Sai biểu thức logic Đúng Kết thúc SE-IV.67 Pascal repeat công việc until biểu thức logic Ngôn ngữ C { công việc } while (!biểu thức logic) • Có khác hai ngơn ngữ? SE-IV.68 Chú thích chương trình • Tại cần đặt thích chương trình ? • Vị trí đặt thích chương trình – Thành phần/ Module – Lớp – Hàm/thủ tục – Các vị trí đặc biệt khác • Một số quy định đặt thích: – Ngắn gọn – Gợi nhớ SE-IV.69 8.3 Các cơng cụ lập trình • Mơi trường (Environment): DOS, Windows, UNIX/Linux • Editors, Compilers, Linkers, Debuggers • Turbo C, Turbo Pascal • Visual Basic, Visual C++, ASP • UNIX/Linux: C/C++, gcc (GNU C Compiler) • Java, CGI, Perl • Visual Basic NET, Visual C# NET SE-IV.70 ... (Concatenation) (Selection) d1 d2 h1 h2 d1 (Case) c- Đa nhánh h1 (Repetition) d2 h2 d3 h3 Ghi chú: di - Điều kiện, hi – Hành động b- Chọn d1 h1 d2 h2 d- Lặp d1 h1 d2 h2 SE-IV.50 R-Schema mô tả... bóng DFD (biểu đồ luồng liệu) SE-IV .16 (3a) Phương pháp phân chia STS 1) Chia đối tượng ? ?bài toán” thành chức thành phần Bài toán Problem F1 F3 F2 F4 SE-IV .17 F5 Quyết định luồng liệu 2) Tìm luồng...6 .1 Thiết kế hệ thống gì? • Là thiết kế cấu hình phần cứng cấu trúc phần mềm (gồm chức liệu) để có hệ thống thỏa mãn yêu cầu đề • Có