Trong lĩnh vực Công Nghệ Thông Tin nói riêng, yêu cầu quan trọng nhất của người học đó chính là thực hành. Có thực hành thì người học mới có thể tự mình lĩnh hội và hiểu biết sâu sắc với lý thuyết. Với ngành mạng máy tính, nhu cầu thực hành được đặt lên hàng đầu. Tuy nhiên, trong điều kiện còn thiếu thốn về trang bị như hiện nay, người học đặc biệt là sinh viên ít có điều kiện thực hành. Đặc biệt là với các thiết bị đắt tiền như Router, Switch chuyên dụng
PhÇn ThiÕt kÕ phÇn mỊm ThiÕt kÕ phÇn mềm Khái niệm, nguyên lý, chất lợng Thiết kÕ kiÕn tróc ThiÕt kÕ giao diƯn ThiÕt kế thủ tục Thiết kế hớng đối tợng Tài liệu N.V Vỵ, N V Hà, Giáo trình kỹ nghệ phần mềm, chơng N.V Vỵ, Phân tích thiết kế HTTT đại Hớng cấu trúc hớng đối tợng, NXB Thống kê Zhiming Liu, Object-Oriented Software Development with UML, UNU/IIST Report Sommerville, Software Engineering Pressman, Software Engineering ThiÕt kÕ phÇn mỊm mô hình thông tin mô hình chức Thiết kế thiết kế kiến trúc cấu trúc liệu yêu cầu khác thiết kế thuật toán Lập trình mô đun chơng trình Thế thiết kế Là trình sáng tạo: ã Nghĩ xem nên làm nh (cách thức, phơng án) ã Biểu diễn cách thức, phơng án ã Xem xét lại, chi tiết hóa đủ chi tiết để ngời lập trình biết phải làm nh Thiết kế phần mềm Là tạo mô hình cài đặt phần mềm Là phơng tiện để trao đổi thông tin, để đảm bảo chất lợng dễ hiểu dễ sửa đổi mà chơng trình cung cấp nhìn tổng thể; đồng thời cã nhiỊu møc chi tiÕt NÕu kh«ng cã thiết kế; thiết kế tồi: làm tăng công sức viết mà chơng trình làm tăng công sức bảo trì Thiết kế phần mềm Phần mềm tập mô đun tơng tác lẫn Mô đun hóa chìa khóa cho phần mềm tốt Mục tiêu thiết kế xác định: chức mô đun cách thức cài đặt mô đun tơng tác mô đun Nguyên lý thiết kế Thiết kế không nên bị bó buộc vào nhìn hạn hẹp nên đợc lựa chọn từ giải pháp khác Thiết kế phải lần ngợc lại đợc mô hình phân tích mô đun yêu cầu tơng ứng - phải kiểm tra đợc thỏa mÃn yêu cầu Nguyên lý thiết kế (t) Không nên tái tạo lại thiết kế (giải pháp) đà có, mà cần tái sử dụng tối đa thiết kế đà có Mô hình thiết kế (giải pháp) nên tiến gần đến mô hình giới thực (bài toán) Dễ hiểu, dễ kiĨm tra Nguyªn lý thiÕt kÕ (t) BiĨu diễn thiết kế phải có tính quán tính tích hợp: thiết kế nhiều ngời tiến hành song song phải thống cách biểu diễn, thống nhÊt giao diƯn ThiÕt kÕ cÇn cã cÊu tróc để dễ dàng thay đổi phải đợc modun hóa, phân cấp 10 Nguyên lý thiết kế (t) Thiết kế mà hóa thiết kế có mức trừu tợng mà hóa, đảm bảo dễ hiểu, dễ thay đổi, cài đặt ngôn ngữ khác Thiết kế cần đợc đánh giá chất lợng đợc tạo tÝnh kÕt dÝnh, tÝnh ghÐp nèi, tÝnh hiƯu qu¶, Thiết kế cần đợc thẩm định để tránh lỗi mang tính hệ thống thiếu chức năng, chức không rõ ràng, mâu thuẫn, 11 Nôi dung thiÕt kÕ ThiÕt kÕ kiÕn tróc ph©n rà hệ thống thành mô đun, hệ thống xác định tơng tác (giao diện) mô đun Thiết kế cấu trúc liệu xây dựng mô hình biểu diễn thông tin Thiết kế thủ tục (thuật toán) xác định bớc thực hiƯn ThiÕt kÕ giao diƯn ng−êi dïng nªn nhìn nhận giao diện toán độc lập 12 ThiÕt kÕ kiÕn tróc Sư dơng biĨu ®å cấu trúc (structure chart), mô tả: nhìn tổng thể hệ thống mối quan hệ mô đun giao diện mô đun Cha cần ra: thø tù thùc hiƯn sè lÇn thùc hiƯn chi tiÕt thiÕt kÕ 13 ThiÕt kÕ cÊu tróc d÷ liƯu Chọn cách biểu diễn cho vật có ảnh hởng mạnh mẽ đến chất lợng phần mềm Các mức thiết kế Thiết kế cấu trúc liệu lô gic - định danh liệu - xác định mối quan hƯ ThiÕt kÕ cÊu tróc d÷ liƯu vËt lý - kiĨu d÷ liƯu - kÝch cì 14 ThiÕt kÕ cấu trúc liệu vật lý Có nhiều cách thức biểu diễn - phần tử vô hớng; - mảng mét chiỊu, nhiỊu chiỊu; danh s¸ch mãc nèi - kiĨu cấu trúc - quan hệ kế thừa Nên làm chậm viƯc chän biĨu diƠn møc thÊp - ®ãng gãi/che giÊu thông tin - thiết kế hớng đối tợng 15 Thiết kế thủ tục Mô tả bớc hoạt động mô đun Phơng pháp mô tả - giả mà (pseudo code) - BiĨu ®å lng (flow chart) - BiĨu ®å (diagam) Nassi-Shneiderman - JSP 16 Kh¸i niƯm thiÕt kÕ sở Trừu tợng hóa trừu tợng hóa liƯu, thđ tơc, ®iỊu khiĨn Làm mịn chi tiết hóa trừu tợng Tính môdun phân chia liệu chức Kiến trúc cấu trúc tổng thể phần mềm Thủ tục thuật toán để thực chức Che giấu thông tin điều khiĨn b»ng giao diƯn 17 Trõu t−ỵng hãa (abstraction) Khái niệm sở t ngời Là trình ánh xạ vật/hiện tợng giới thực thành khái niệm logic Có nhiều mức trừu tợng khác cho phép ngời tập trung (t duy) vào giải vấn đề mà không cần bận tâm đến chi tiết biểu diễn vấn đề cấu trúc tự nhiên 18 Trừu tợng liệu door manufacturer model number type swing direction inserts lights type number weight opening mechanism 19 Trõu t−ỵng thđ tơc open details of enter algorithm 20 Làm mịn bớc open walk to door; reach for knob; open door; walk through; close door repeat until door opens turn knob clockwise; if knob doesn't turn, then take key out; find correct key; insert in lock; endif pull/push door move out of way; end repeat 21 C©u hái ôn tập Thiết kế phần mềm gì? Nêu nguyên lý để thiết kế phần mềm? Liệt kê nội dung thiết kế giải thích? Giải thích số khái niệm thiết kế: trừu tợng, làm mịn, mô đun hoá, thủ tục, che giÊu th«ng tin? 22