Bài giảng Kỹ nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Ngọc Bình

pdf 19 trang ngocly 1690
Bạn đang xem tài liệu "Bài giảng Kỹ nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Ngọc Bình", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_ky_nghe_phan_mem_chuong_6_thiet_ke_nguyen_ngoc_bin.pdf

Nội dung text: Bài giảng Kỹ nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Ngọc Bình

  1. I. THIẾT KẾ PHẦN MỀM KỸ NGHỆ PHẦN MỀM Giớithiệuvề thiếtkế z Khái niệm z Mụctiêu CHƯƠNG 6: z Nguyên lý z Các khái niệmcơ sở Thiếtkế z Đánh giá chấtlượng thiếtkế Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 1 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 2 KHÁI NIỆM VÍ DỤ HỆ THỐNG LÀM GÌ ? CHƯƠNG TRÌNH •Phân tích •Thiếtkế - what to do ? -Thựcthiđược -môhìnhdữ liệu -Môitrường cụ thể •Mô hình hóa dữ liệu •Tổ chứclưutrữ -môhìnhchứcnăng ( Ngôn ngữ lậptrình, •Loạimôhình -yêucầu phi chứcnăng Hệ điều hành, ) Tên Địachỉ Đơngiá •Phầnmềmquảntrị khách hàng ? Ngày PHÂN TÍCH LẬP TRÌNH KHÁCH HÀNG KHÁCH Thuộc tính Kiểu Kích cỡ HÀNG mua HÀNG Họ tên Text 30 GIẢI PHÁP? HOẠT ĐỘNG Số Tên Địachỉ Text 100 làm như thế nào? lượng mặthàng HOW TO DO? THIẾT KẾ Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 3 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 4 VAI TRÒ HOẠT ĐỘNG m« h×nh z Tạomôhìnhcàiđặtcủaphầnmềm d÷ liÖu thiếtkế z Là phương tiệntraođổi thông tin để giao diện m« h×nh thiÕt kÕ ngườidùng đảmbảochấtlượng chøc n¨ng kiÕn tróc • dễ hiểu, dễ sửa đổihơnmãchương trình ThiÕt kÕ • có nhiềumức chi tiết; cung cấp cái nhìn tổng thể c¸c yªu cÊu tróc cÇu kh¸c d÷ liÖu z Nếu không có thiếtkế; hoặcthiếtkế tồi • làm tăng công sức mã hóa LËp tr×nh thiÕt kÕ m« ®un • làm tăng công sứcbảotrì thuËt to¸n ch−¬ng tr×nh Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 5 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 6
  2. HOẠT ĐỘNG MỤC TIÊU Đặctả 4.Thiết kế Đặctả giao diện giao diện yêu cầu người dùng người dùng z Tính mở 3.Thiết kế Mô hình dữ liệu dữ liệu z Tính dễ thay đổi 1.Thiết kế kiếntrúc 2.Thiết kế z Tính hiệuquả chứcnăng Đặctả thuậtgiải Kiếntrúc Đặctả Đặctả Đặctả hệ thống Cấutrúc phầnmềm giao diện thành phần dữ liệu Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 7 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 8 NGUYÊN LÝ NGUYÊN LÝ z Mở rộng tầmnhìnthiếtkế z Mô hình thiếtkế (giải pháp) nên tiếngần đếnmô • nên đượclựachọntừ các giải pháp khác nhau hình thế giớithực (bài toán) z Lầnngượclại được mô hình phân tích z Tính nhất quán và tính tích hợpcủathiếtkế • không có tương ứng 1-1 giữamôđun và yêu cầu • thiếtkế do nhiềungườitiến hành song song • kiểmtrađượcsự thỏa mãn các yêu cầu • phảithống nhấtcáchbiểudiễn, thống nhấtgiaodiện z Không nên tạolạicácthiếtkế (giải pháp) đãcó z Thiếtkế cầncócấutrúcđể dễ dàng thay đổi • tái sử dụng tối đacácthiếtkếđãcó • phải đượcmôđun hóa, phân cấp Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 9 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 10 NGUYÊN LÝ KHÁI NIỆM CƠ SỞ CỦA THIẾT KẾ z Thiếtkế không phảilàmãhóa z Trừutượng hóa -trừutượng hóa dữ liệu, thủ tục, điềukhiển • thiếtkế luôn có mứctrừutượng hơn mã hóa, đảmbảodễ hiểu, dễ thay đổi z Làm mịn - chi tiết hóa và bổ sung (tính sáng tạo) z Đánh giá chấtlượng thiếtkế z Kiếntrúc-cấutrúctổng thể củaphầnmềm • tính kết dính, tính ghép nối, hiệuquả thuật toán z Mô đun hóa - phân chia dữ liệuvàchứcnăng z Thẩm định để tránh lỗi mang tính hệ thống z Thủ tục -thuật toán để thựchiệnchứcnăng • thiếuchứcnăng, chứcnăng không rõ ràng, z Che dấu thông tin - điềukhiểnbằng giao diện mâu thuẫn Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 11 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 12
  3. TRỪU TƯỢNG HÓA TRỪU TƯỢNG HÓA door Tiến trình phát triển= Giảmdầncấp độ trừutượng manufacturer model number type Kỹ nghệ swing direction inserts Phân tích lights hệ thống type yêu cầu number Thiếtkế weight Phầnmềmlà opening mechanism phầntừ Mô tả phần Lậptrình Thuậtngữ thiếtkế hệ thống mềmbằng (hệ con, mô đun) Mã nguồn Sự vật/ Khái niệm thuậtngữ miền hiệntượng logic lĩnh vực Ánh xạ Cấp độ Cấp độ trừu trừutượng thấp TRỪU TƯỢNG HÓA tượng cao Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 13 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 14 TRỪU TƯỢNG HÓA LÀM MỊN (Refinement) Trừutượng hóa = để hiểutổng thể, không chi tiết open z Trừutượng hóa: bỏ qua chi tiết z Làm mịn = Chi tiết hóa dần đến door mứccụ thể open walk to door; manufacturer reach for knob; model number type details of enter swing direction algorithm open door; repeat until door opens inserts lights turn knob clockwise; type walk through; if knob doesn't turn, then number close door. take key out; weight find correct key; opening mechanism insert in lock; endif pull/push door move out of way; 1. Trừutượng hóa dữ liệu 2. Trừutượng hóa thủ tục end repeat Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 15 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 16 MÔ ĐUN HÓA MÔ ĐUN HÓA z Mô đun hóa z Nguyên lý củamôđun hóa • phân chia chương trình thành các đơnvị nhỏ • Quan điểmchiađể trị z Ví dụ mô đun hóa C: độ phứctạp E: nỗ lựcthựchiện 1 công việc Cậpnhật thông tin bảnghi C(p1 + p2) > C(p1) + C(p2) Tạomớibản ghi Sửabản ghi Xóa bảnghi E(p1 + p2) > E(p1) + E(p2) Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 17 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 18
  4. MÔ ĐUN HÓA MÔ ĐUN HÓA z Ý nghĩamôđun hóa z Số lượng môđun tối ưu chi phí phát triểnmôđun • Giảm độ phứctạp => dễ xây dựng giá phần • Cụcbộ hóa => dễ thay thế, sửa đổi mềm chi phí => dễ tái sử dụng tích hợp • Phân rã chứcnăng => phát triển song song TĂNG HIỆU SUẤT, CHẤT LƯỢNG PHẦN MỀM số môđun số mô đun tối ưu Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 19 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 20 MÔ ĐUN HÓA CHE DẤU THÔNG TIN z Kích cỡ môđun hợplý z Sử dụng môđun thông qua các giao diện • độclậpchứcnăng • danh sách tham số và giá trị trả lại • tính dễ hiểu, dễ sửa đổi, dễ tái sử dụng z Không cầnbiếtcáchthứccàiđặtthựctế Nội dung ? Kích thước • thuật toán • cấutrúcdữ liệu MODULE Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 21 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 22 CHE DẤU THÔNG TIN ĐÁNH GIÁ CHẤT LƯỢNG THIẾT KẾ Ý nghĩachedấu thông tin z Thế nàolàthiếtkế có chấtlượng ? z Độ đochấtlượng thiếtkế z Giảmhiệu ứng phụ khi sửa đổimôđun • Mức ghép nốigiữacácmôđun (coupling) z Cơ sở tạokiếntrúcphầnmềmtốt • Độ kết dính thành phần trong mô đun (cohesion) z Hướng tớisựđóng gói chứcnăng • Tính hiểu được (understandability) • Tính thích nghi được (adaptability) Nâng cao chấtlượng phầnmềm Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 23 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 24
  5. ĐỘ ĐO CHẤT LƯỢNG THIẾT KẾ ĐỘ ĐO CHẤT LƯỢNG THIẾT KẾ Mứcghépnốigiữacácmôđun (coupling) Các loại ghép nối ghép nốichuẩn lỏng lẻovàtốtnhất z Đosự phụ thuộc, liên kếtgiữacácmôđun ghép nốidữ liệu vẫnrấttốt z Phản ánh chấtlượng thiếtkế ghép nối nhãn tốt ghép nối điềukhiển tốt • tính mô đun hóa hợplý • tính che dấu thông tin Loại ghép nốiChấtlượng thiếtkế z Càng lỏng lẻo càng tốt ghép nối chung rấttồi ghép nốinội dung chặtvàxấunhất Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 25 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 26 ĐỘ ĐO - GHÉP NỐI MÔ ĐUN ĐỘ ĐO - GHÉP NỐI MÔ ĐUN (2) Ghép nốinội dung (content coupling) Ghép nối chung (common coupling) z Các mô đun dùng lẫndữ liệucủa nhau z các module trao đổidữ liệu thông qua biếntổng thể • các ngôn ngữ bậcthấp không có biếncụcbộ z ví dụ m« ®un gÆp lçi B • lạmdụng lệnh Goto A D÷ liÖu C z ví dụ goto m« ®un g©y lçi fa fb -Lỗicủa module này ảnh hưởng đến module khác Là trường hợpxấunhất -Khósử dụng lại các module Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 27 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 28 ĐỘ ĐO - GHÉP NỐI MÔ ĐUN (3) ĐỘ ĐO - GHÉP NỐI MÔ ĐUN (4) Ghép nối điềukhiển(control coupling) Ghép nốinhãn(stamp coupling) z các module trao đổi thông tin điềukhiển z các module trao đổithừathôngtin z z ví dụ procedure PrintRec is procedure DisplayName (in : name, sex) is ví dụ printRec begin begin Display Name (name, sex); if sex = m (age) (personel record) then end PrintRec; print Mr. else print Ms. calc_age print name end DisplayName; -Môđun có thể thựchiệnchứcnăng ngoài ý muốn Làm cho thiếtkế khó hiểu, khó sửa đổi, dễ nhầm - Làm giảm tính thích nghi Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 29 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 30
  6. ĐỘ ĐO - GHÉP NỐI MÔ ĐUN (5) ĐỘ ĐO CHẤT LƯỢNG THIẾT KẾ Ghép nốidữ liệu(data coupling) Độ kếtdínhmôđun (cohesion) z truyền/nhậndữ liệu qua tham số và giá trị trả về z đosự phụ thuộcgiữa các thành phầncủamôđun z ví dụ fa z càng kếtdínhchặtcàngtốt (day of week) (date) z mỗi module chỉ nên thựchiệnmộtchứcnăng calcDayOfWeek z các thành phần đềucộng tác nhau khi xử lý Đem lạichấtlượng thiếtkế rấttốt Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 31 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 32 ĐỘ ĐO CHẤT LƯỢNG THIẾT KẾ ĐỘ ĐO – KẾT DÍNH MÔ ĐUN Các loạikếtdính z Kếtdínhlôgic(logical cohesion) kếtdínhchứcnăng gắnchặt và tốtnhất • các thành phầnlàmchứcnăng logic tương tự kếtdínhtuầntự rấttốt kếtdínhtruyền thông vẫnrấttốt • vd: hàm xử lí lỗi chung kếtdínhthủ tục tốt z kếtdínhthời điểm vẫntốt Kếtdínhthời điểm(temporal cohesion) kết dính logic vẫntốt • các thành phầnhoạt động cùng thời điểm Loạikếtdính Chấtlượng thiếtkế • vd: mô đun khởitạo(đọcdữ liệu, cấp phát bộ nhớ) kếtdínhgomgộp rờirạcvàxấunhất Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 33 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 34 ĐỘ ĐO – KẾT DÍNH MÔ ĐUN (2) ĐỘ ĐO – KẾT DÍNH MÔ ĐUN (3) z Kếtdínhthủ tục(procedural cohesion) z Kếtdínhtuầntự (sequential cohesion) • các thành phầntạocómộtthứ tự xác định • output thành phần này là input thành phầnkia • vd: tính lương cơ bản, tính phụ cấp, tính bảohiểm • vd: đọcdữ liệutừ file -> xử lý dữ liệu đó z Kếtdínhtruyền thông (communicational cohesion) z Kếtdínhchứcnăng (functional cohesion) • các thành phầntruycập cùng dữ liệu • mọi thành phần đóng góp để thựchiệnchứcnăng • vd: thống kê (tính max, min, mean, variation ) • vd: các thành phầnlàkếtquả phân rã chứcnăng Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 35 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 36
  7. TÍNH HIỂU ĐƯỢC TÍNH THÍCH NGHI Tính hiểu được(Understandability): Tính thích nghi (Adaptability): z Ghép nốilỏng lẻo z Hiểu được z Kếtdínhcao • sửa đổi được, tái sử dụng z Đượclậptàiliệu z Tự chứa • không sử dụng thư viện ngoài z Thuật toán, cấutrúcdễ hiểu • mâu thuẫnvớixuhướng tái sử dụng Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 37 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 38 CÁC HOẠT ĐỘNG THIẾT KẾ II. THIẾT KẾ KIẾN TRÚC Đặctả Đặctả 4.Thiết kế giao diện giao diện Thiếtkế kiếntrúc yêu cầu người dùng người dùng Mô hình 3.Thiết kế z Khái niệmcơ bảnvề mô hình kiếntrúc dữ liệu dữ liệu 1.Thiết kế z Đặc điểmcủathiếtkế kiếntrúc kiếntrúc 2.Thiết kế chứcnăng z Mô hình kiếntrúc Đặctả thuậtgiải z Phương pháp tạokiếntrúc Kiếntrúc Đặctả Đặctả Đặctả hệ thống Cấutrúc phầnmềm giao diện thành phần dữ liệu Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 39 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 40 1. KHÁI NIỆM 1. KHÁI NIỆM z Kiếntrúchệ thống là khái niệm“mứccaonhất” z Hệ thống con về hệ thống trong môi trường của nó [IEEE 98] • là mộthệ thống trong hệ thống tổng thể • “Mức cao nhất”: trừutượng hóa từ các chi tiếtvề thiết • độclậpvớidịch vụ củahệ con khác kế, triển khai để tậptrungvàotínhtổng thể củahệ thống z Mô đun là một thành phầnhệ thống z Thiếtkế kiếntrúc • • xác định các hệ thống con củahệ thống • cung cấpdịch vụ cho các thành phần khác • xác định cơ cấutổ chức (framework) • không hoạt động như mộthệ thống để điềukhiểngiaotiếpgiữacáchệ thống con Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 41 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 42
  8. 1. KHÁI NIỆM 2. ĐẶC ĐIỂM THIẾT KẾ KIẾN TRÚC Ví dụ về kiến trúc phầnmềm z Là giai đoạn đầucủa quá trình thiếtkế Hệ thống quảnlýđào tạo z Biểudiễnsự kếtnốigiữa đặctả yêu cầuvà các tiếntrìnhthiếtkế Quảnlý Quảnlý Quảnlý Quảnlýkhung tuyểnsinh điểm sinh viên chương trình z Thường tiến hành song song với các hoạt động đặctả phầnmềm Web-Client Web-Server Database z Bao gồmviệcxácđịnh các thành phần Web-Client Xem thông tin sinh viên hệ thống và giao tiếpgiữa chúng Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 43 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 44 2. ĐẶC ĐIỂM THIẾT KẾ KIẾN TRÚC 3. MÔ HÌNH KIẾN TRÚC z Cấutrúchóahệ thống z Mô hình cấutrúc • phân chia hệ thống thành các hệ con (sub- z Mô hình điềukhiển system) độclập z Mô hình phân rã mô đun z Mô hình hóa điềukhiển • xác lậpmôhìnhđiềukhiểngiữa các phầncủa hệ thống z Phân rã module • phân rã các hệ con thành các module Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 45 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 46 3.1.1.KIẾN TRÚC DỮ LIỆU TẬP TRUNG 3.1. MÔ HÌNH CẤU TRÚC (Data-Centered Architecture) Phầnmềm Phầnmềm Mô hình cấutrúcbaogồm Phầnmềm Client Client Phầnmềm Client Client z Kiếntrúcdữ liệutập trung Phầnmềm Phầnmềm KHO DỮ LIỆU z Kiến trúc khách-dịch vụ Client Client z Kiến trúc phân tầng Phầnmềm Phầnmềm Client Phầnmềm Phầnmềm Client Client Client Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 47 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 48
  9. 3.1.1.KIẾN TRÚC DỮ LIỆU TẬP TRUNG 3.1.1.KIẾN TRÚC DỮ LIỆU TẬP TRUNG (Data-Centered Architecture) (Data-Centered Architecture) Soạnthảo Sinh mã z Ưu điểm thiếtkế • Tiệnlợi cho chia sẻ dữ liệulớn • Các phân hệ không cần quan tâm tổ chứcdữ liệu Soạnthảo Dịch Kho dữ liệudự án z Nhược điểm thiếtkế chương trình • Các phân hệ phảithống nhấtmôhìnhdữ liệu • Khó thay đổicấutrúcdữ liệu Phân tích Tạo thiếtkế báo cáo • Các phân hệ không thểđưa ra chính sách riêng • Khó khăn trong quảnlýgiaodịch Bộ công cụ CASE Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 49 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 50 3.1.2. KIẾN TRÚC KHÁCH-DỊCH VỤ 3.1.2. KIẾN TRÚC KHÁCH-DỊCH VỤ (Client-Server Architecture) (Client-Server Architecture) Kiếntrúchệ thống thư viện phim & tranh ảnh z Hệ thống được phân tán về dữ liệuvàxử lý thông qua quan hệ các thành phần Máy khách 1 Máy khách 2 Máy khách i Máy khách n z Các máy dịch vụ (server) độclậpcungcấp các dịch vụđặcbiệtnhư: in ấn, quảnlýdữ liệu Mạng băng thông rộng z Các máy khách (client) sử dụng dịch vụ server Dịch vụ Dịch vụ Dịch vụ Dịch vụ các danh mục phim tranh ảnh vănbản z Hệ thống mạng để client truy cậpdịch vụ server Danh mục Các đoạnphim Các ảnh số Cácsiêuvănbản Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 51 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 52 3.1.2. KIẾN TRÚC KHÁCH-DỊCH VỤ 3.1.3. KIẾN TRÚC PHÂN TẦNG (Client-Server Architecture) (Layered Architecture / Abstract machine model) Các z Ưu điểm thành z Mô hình hóa tương tác các hệ con phần Tầng giao diện • Sử dụng hiệuquả mạng, giảm chi phí thiếtbị người dùng z Phân rã hệ thống thành các tầng, Tầng ứng dụng mỗitầng cung cấpmộttậpcácdịch vụ • Dễ dàng mở rộng, thêm dịch vụ Tầng tiệních Tầng lõi z Mỗitầng thay đổithìchỉảnh hưởng z Nhược điểm tầng liềnkề => phát triểntăng trưởng • Khó tích hợpdữ liệu z Khó xây dựng cấutrúchệ thống theo • Cầncơ chế bảo toàn dữ liệuchotừng server kiến trúc này Là mô hình phát triển ứng dụng phổ biến Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 53 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 54
  10. 3.1.3. KIẾN TRÚC PHÂN TẦNG (Layered Architecture / Abstract machine model) 3.2. MÔ HÌNH ĐIỀU KHIỂN Hệ thống quản lý phiên bản Mô hình điềukhiểnbaogồm Version management Object management z Kiếntrúcgọivàtrả lại Database system z Kiếntrúcxử lý hướng sự kiện Operating system Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 55 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 56 3.2.1. KIẾN TRÚC GỌI VÀ TRẢ LẠI 3.2.2. KIẾN TRÚC XỬ LÝ HƯỚNG SỰ KIỆN ( Call and Return Architecture ) ( Event-driven Architecture ) z Sử dụng mộthệ con để điều Chương trình Kiếntrúcxử lý hướng sự kiện chính khiển, khởi động và dừng các hệ thống con khác z Là cơ chế gửiyêucầuxử lý đếncáchệ con Thủ tục1 Thủ tục2 Thủ tục3 z Truyền điềukhiểntrênxuống z Bao gồm hai mô hình chính z Dùng cho các hệ thống tuầntự • Điềukhiểnquảng bá (Broadcast) Thủ tục Thủ tục Thủ tục Thủ tục 1.1 1.2 3.1 3.2 • Điềukhiểnhướng ngắt(Interupt) Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 57 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 58 3.2.2.KIẾN TRÚC XỬ LÝ HƯỚNG SỰ KIỆN 3.2.2.KIẾN TRÚC XỬ LÝ HƯỚNG SỰ KIỆN Mô hình điềukhiểnquảng bá (Broadcast) Mô hình điềukhiểnhướng ngắt (Interupt) Interrupts z Mộtsự kiện đượctruyền đếntấtcả các hệ con z Được dùng trong các hệ thờigianthực z Hệ con đượctruyền điềukhiểnkhiđãcóđăng ký Interrupt vector z Bộ điềukhiểnngắt z Hiệuquả trong tích hợpcáchệ con nhậnsự kiệnvàtruyền z Hệ con không biếtsự kiện đã đượcxử lý chưa đến các thành phầnxử lý Handler Handler Handler Handler 1 2 3 4 Sub-system Sub-system Sub-system Sub-system Hệ con1 1 Hệ con2 2 Hệ con3 3 Hệ con4 4 z Phảnhồi nhanh Process Process Process Process z Khó lậptrìnhvàđánh giá 1 2 3 4 ĐiềukhiEventển and thông messageđiệ handlerpvàsự kiện Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 59 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 60
  11. 3.3.MÔ HÌNH PHÂN RÃ MÔ ĐUN 3.3.1.MÔ HÌNH HƯỚNG ĐỐI TƯỢNG Customer z Là cấp độ kiếntrúcmàcáchệ thống con customer# z Là tậphợp đốitượng name được phân rã thành các mô đun address Invoice ghép nốilỏng lẻoqua credit period invoice# giao diện z Mô hình phân rã mô đun bao gồm date amount z Xác định: lớp đốitượng, • Mô hình đốitượng: hệ thống được phân ra thành customer Payment issue () thuộc tính, phương thức tương tác đốitượng invoice# sendReminder () date acceptPayment () sendReceipt () z Xác định mô hình • Mô hình luồng dữ liệu: hệ thống được phân tách amount customer# điềukhiển để phốihợp thành các mô đun chứcnăng chuyểncácđầuvào Receipt thành các đầu ra (mô hình đường ống - pipeline) invoice# thao tác đốitượng date amount customer# Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 61 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 62 3.3.2.MÔ HÌNH LUỒNG DỮ LIỆU 4. PHƯƠNG PHÁP TẠO KIẾN TRÚC z Mỗichứcnăng là mộttiến trình chuyển hóa các đầu vào thành các đầura z Phân hoạch kiếntrúc z Các biếnthể: pipe/filter model, batch model • Phân hoạch ngang z Không phụ hợpvớihệ thống tương tác • Phân hoạch dọc Biên lai In biên lai Xác định thanh toán Đọc hóa đơn z Phương pháp tạokiếntrúctừ DFD thanh toán Tìm thanh toán In Giấy đếnhạn giấynhắc nhắc Hóa đơn Phiếu thanh toán Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 63 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 64 4.1. PHÂN HOẠCH KIẾN TRÚC 4.1. PHÂN HOẠCH KIẾN TRÚC Phân hoạch ngang Phân hoạch dọc z Xác định các nhánh rẽ riêng biệt cho các z phân tầng: module điềukhiển (ra quyết định) chứcnăng chủ chốt và module thao tác (workers) z Sử dụng các module điềukhiển để điềuphối thông tin giữacácchứcnăng z module ra quyết định đượcxếp ở tầng cao decision-makers chức năng 1 chức năng 3 workers chức năng 2 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 65 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 66
  12. 4.1. PHÂN HOẠCH KIẾN TRÚC 4.2.TẠO KIẾN TRÚC PHẦN MỀM Ý nghĩa DFD z Mục tiêu: tạorakiếntrúc được phân hoạch z Dễ kiểmthử, bảotrì z Tạokiếntrúcphầnmềm z Hạnchế hiệu ứng phụ khi sửa đổi Program Architecture từ các biểu đồ DFD z Dễ mở rộng • Luồng chuyển đổi • Luồng giao dịch Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 67 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 68 4.2. ĐẶC TÍNH LUỒNG DỮ LIỆU 4.2.ĐẶC TÍNH LUỒNG DỮ LIỆU Luồng chuyển đổi (Transform Flow) Luồng giao dịch (Transaction Flow) z Luồng vào/ra z Trung tâm giao dịch z Trung tâm chuyển đổi z Các đường thựchiện (action paths) z Biên Biên Các đường thựchiện Trung tâm giao dịch Luồng giao dịch Luồng vào Luồng chuyển đổi Luồng ra Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 69 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 70 4.2.PHƯƠNG PHÁP CHUYỂN ĐỔI 4.2.PHƯƠNG PHÁP CHUYỂN ĐỔI Phân tích luồng chuyển đổi (transform flow) Phân tích luồng chuyển đổi(Transform Flow) Trung tâm chuyển đổi z Cô lập, xác định biên của các module vào/ra; b g h a e f Luồng ra xác định module chuyển đổi Luồng vào d c i j z Chuyển đổi thành module kiếntrúctương ứng data flow model x1 z Thêm các module điềukhiểncầnthiết "Transform" mapping x2 x3 x4 z Làm mịnkiếntrúcđể nâng cao tính module b c defgi a h j Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 71 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 72
  13. 4.2.PHƯƠNG PHÁP CHUYỂN ĐỔI 4.2.PHƯƠNG PHÁP CHUYỂN ĐỔI Phân tích luồng chuyển đổi–Mức1 Phân tích luồng chuyển đổi–Mức2 main Luồng ra D C Luồng vào Luồng vào control Transform flow B A A main program B controller C D input processing output controller controller controller Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 73 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 74 4.2.PHƯƠNG PHÁP CHUYỂN ĐỔI 4.2.PHƯƠNG PHÁP CHUYỂN ĐỔI Luồng vào e f Phân tích a d Luồng Phân tích luồng giao dịch (Transaction Flow) b t i thựchiện1 luồng giao dịch g z Xác định luồng vào Mô đun h k giao dịch l j z Xác định các luồng thựchiện data flow model m Luồng x1 n thựchiện2 z Xác định trung tâm giao dịch Mapping b t z Biến đổiriêngrẽ từng luồng hành động a x2 x3 x4 d ef g h x3.1 lmn ij k Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 75 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 76 4.2.PHƯƠNG PHÁP CHUYỂN ĐỔI 4.2.PHƯƠNG PHÁP CHUYỂN ĐỔI Phân tích luồng giao dịch – Cô lậpluồng dữ liệu Phân tích luồng giao dịch–Tạokiếntrúc command error msg produce process error msg operator status format read command setting fixture setting commands command invalid command determine setting validate read raw setting command fixture status combined determine status type command determine input type controller robot control read record record calculate send output values values produce report control format report read validate fixture send value report command command error status generation control assembly message controller controller value record start /stop Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 77 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 78
  14. TỔNG KẾT CÁC HOẠT ĐỘNG THIẾT KẾ Đặctả 4.Thiết kế z Khái niệmthiếtkế kiếntrúc Đặctả giao diện giao diện yêu cầu người dùng z Cácmôhìnhkiếntrúc người dùng 3.Thiết kế Mô hình z Phương pháp tạokiếntrúc dữ liệu dữ liệu 1.Thiết kế kiếntrúc 2.Thiết kế chứcnăng Đặctả thuậtgiải Kiếntrúc Đặctả Đặctả Đặctả hệ thống Cấutrúc phầnmềm giao diện thành phần dữ liệu Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 79 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 80 III. THIẾT KẾ GIAO DIỆN ĐẠI CƯƠNG THIẾT KẾ GIAO DIỆN Thiếtkế giao diệnngười dùng: z Là một khâu trong thiếtkế phầnmềm • Đầu vào: tài liệu đặctả yêu cầu z Đạicương thiếtkế giao diện • Tiến hành song song vớicácthiếtkế khác z Yếutố người dùng z Đặctrưng củathiếtkế giao diện z Thiếtbị giao diện • Hướng người dùng z Các loạigiaodiện • Làm bảnmẫu, người dùng đánh giá z Các kiểutương tác z Các vấn đề cần xem xét khi thiếtkế giao diện Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 81 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 82 ĐẠI CƯƠNG THIẾT KẾ GIAO DIỆN ĐẠI CƯƠNG THIẾT KẾ GIAO DIỆN z Các bướcthựchiện z Tầm quan trọng Phân tích và • Quyết định hiệunăng củahệ thống hiểuhoạt động Tạomẫu Cùng người dùng người dùng giao diệntĩnh đánh giá mẫu • Người dùng khai thác hệ thống bằng giao diện • Người dùng đánh giá hệ thống bằng giao diện Mẫu Tạomẫu Cùng người dùng giao diện giao diện động đánh giá mẫu Mẫugiaodiện vậnhànhđược Cài đặtgiaodiện Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 83 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 84
  15. YẾU TỐ NGƯỜI DÙNG THIẾT BỊ GIAO DIỆN Nhân tố con ngườicần được xem xét Mộtsố thiếtbị giao diệnphổ biến z Màn hình z Kinh nghiệm, năng lực z Bàn phím • khả năng dùng bàn phím, mouse, • tốc độ phản ứng, khả năng nhớ thao tác z Mouse, bút từ, z Mànhìnhcảmbiến z Sở thích, văn hóa, lứatuổi • mầusắc, ngôn ngữ, biểutượng z Mic/Speaker z Smart cards, Đang tiếnhóa(nhậndạng tiếng nói, chữ viết) Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 85 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 86 CÁC LOẠI GIAO DIỆN CÁC LOẠI GIAO DIỆN z Giao diện dòng lệnh z Giao diệndònglệnh • Là phương thức • Ưu điểm tương tác có sớmnhất • Dễ cài đặtso vớiGUI • Nhậplệnh/dữ liệu từ bàn phím • Hạnchế • Thao tác thựchiệntuầntự =>khó sửa thao tác trước • Không phù hợpngườidùngítkinhnghiệm Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 87 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 88 CÁC LOẠI GIAO DIỆN CÁC LOẠI GIAO DIỆN z Giao diện đồ họa z Giao diện đồ họa • Là giao diện thông dụng • Thao tác trựctiếp trên nhiềucửasổ trên PC, Apple, Unix WS • Hiểnthị, thao tác • Dễ học, dễ sử dụng, hợp dữ liệu ở nhiềuvị trí vớingười ít kinh nghiệm trong cửasổ Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 89 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 90
  16. CÁC KIỂU TƯƠNG TÁC KIỂU TƯƠNG TÁC –ngôn ngữ lệnh z Ngôn ngữ lệnh (Command Language) Tương tác bằng ngôn ngữ lệnh z Thực đơn (Menu) z Ưu điểm • đơngiản, linh hoạt z Biểumẫu (Form-fill) • thao tác nhanh z Biểutượng (Icon) z Nhược điểm z Ngôn ngữ tự nhiên (Natural Language) • người dùng kinh nghiệm • dễ nhầmlẫn z Thao tác trựctiếp (Direct Manipulation) • nhớ cú pháp, ngữ nghĩalệnh Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 91 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 92 KIỂU TƯƠNG TÁC – thực đơn(menu) KIỂU TƯƠNG TÁC – biểumẫu Thao tác trựctiếp trên danh sách tùy chọn Điền thông tin vào các mụcbiểumẫu z Tính dễ hiểu, dễ dùng z Hiệuquả vớicậpnhật, z Cấutrúccần logic biểudiễn thông tin z Hạnchế dùng bàn phím z Biểumẫutốt z Tránh các lỗikiểugõlệnh • Tiêu đề rõ ràng Nhóm hợplýcáctrường z Dễ dàng tạotrợ giúp • theo ngữ cảnh • Giá trị ngầm định • Mànhìnhtĩnh Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 93 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 94 KIỂU TƯƠNG TÁC – biểutượng KIỂU TƯƠNG TÁC-ngôn ngữ nói Sử dụng ký họamangý nghĩatrực quan z Sử dụng ngôn ngữ tự nhiên để tương tác vớihệ thống z Tính tiệnlợicao z Ngườidùngtương tác qua con trỏ z Rấtkhó, mộthướng nghiên cứucủa z Chiếm ít không gian, tiệnlợi, dễ sử dụng, nhanh chóng ngành trí tuệ nhân tạo hiểu đượcnộidung z Khó tạo các biểutượng, dễ gây lúng túng, hiểunhầm Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 95 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 96
  17. CÁC VẤN ĐỀ CẦN XEM XÉT VẤN ĐỀ TRONG THIẾT KẾ GIAO DIỆN z Phương pháp hiểnthị thông tin Phương pháp hiệnthị thông tin z Thờigianphảnhồi z Hiệnthị bằng vănbản Tháng 1: 30 Tháng 2: 40 z Hiểnthị thông báo • chính xác z Tiệních • dễ cài đặt 60 z Hiệnthị bằng giao diện 50 40 • trực quan 30 20 • dễ dàng nhậnramối quan hệ 10 0 123456 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 97 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 98 VẤN ĐỀ TRONG THIẾT KẾ GIAO DIỆN VẤN ĐỀ TRONG THIẾT KẾ GIAO DIỆN Thờigianphảnhồi Thờigianphảnhồi(2) z Thời gian trung bình z Độ biến thiên thờigianphảnhồi • thời gian trung bình phảnhồi • Gây cảmgiáchệ thống gặplỗi với thao tác • người dùng không thểđợi Chọn thao Kếtquả Chọn thao Kếtquả quá lâu (< 3s) tác A xử lý A tác B xử lý B • cầnchứng tỏ hệ thống đang hoạt động 01s 180s Thờigian Hệ thống bị lỗi? Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 99 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 100 VẤN ĐỀ TRONG THIẾT KẾ GIAO DIỆN VẤN ĐỀ TRONG THIẾT KẾ GIAO DIỆN Xây dựng thông báo Xây dựng thông báo (2) z Phảnhồihệ thống đốivới thao tác z Số lượng thông báo: z Cầncónghĩa, dễ hiểu, hữuích • Đưaracàngnhiều càng tốt = càng thân thiện • tránh đưaracácsố hiệu • Đưaramộtlượng tốithiểulàphùhợp • định dạng thông báo phảinhất quán z Thời điểmvàthứ tựđưa ra thông báo z Thông báo lỗi z Yêu cầuphảnhồi đốivới thông báo • chính xác • có tính hướng dẫn, xây dựng Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 101 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 102
  18. VẤN ĐỀ TRONG THIẾT KẾ GIAO DIỆN VẤN ĐỀ TRONG THIẾT KẾ GIAO DIỆN Tiệních(trợ giúp) Tiệních(2) z Cầncótiệníchtrợ giúp z Các tài liệutrựctuyến ngườisử dụng • tra cứuchứcnăng hệ thống z Các macro: tựđộng hóa z Tiệníchtíchhợp thao tác • trợ giúp trựctuyếnvà theo ngữ cảnh • ví dụ: MS Word macro • chú giải thao tác, giao diện Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 103 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 104 TỔNG KẾT THIẾT KẾ GIAO DIỆN PHƯƠNG PHÁP & CÔNG CỤ THIẾT KẾ z Phương pháp thiết z Nắmbắtyêucầuchứcnăng/phi chứcnăng kế • Kiểugiaodiện • Thiếtbị giao diện • Hướng chứcnăng • Kiểutương tác • Hướng đốitượng • Cách hiểnthị thông tin z Công cụ • Thờigianphảnhồi • Power Designer • Cách hiểnthị thông báo • Rational Rose • Tiệních Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 105 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 106 VÍ DỤ THIẾT KẾ HƯỚNG CHỨC NĂNG VÍ DỤ THIẾT KẾ HƯỚNG CHỨC NĂNG Tài liệu Tài liệu Thiếtkế giao diện Thiếtkế giao diện Giao diệncậpnhật yêu cầu phi giao diện người dùng chứcnăng người dùng Mô hình Tài liệu Thiếtkế Mô hình ER dữ liệu yêu cầu dữ liệu chứcnăng logic / vậtlý Thiếtkế Kiếntrúc Mô hình luồng kiếntrúc phầnmềm Giao diệnxử lý dữ liệu Mô hình Mô hình phân rã Thiếtkế Đặctả thuật toán, phân tích chứcnăng FD chứcnăng cấutrúcdữ liệu Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 107 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 108
  19. VÍ DỤ THIẾT KẾ HƯỚNG CHỨC NĂNG VÍ DỤ THIẾT KẾ HƯỚNG CHỨC NĂNG Thiếtkế dữ liệu Tài liệu Tài liệu Thiếtkế giao diện yêu cầu phi giao diện Mô hình khái niệm người dùng chứcnăng người dùng Mô hình Tài liệu Thiếtkế Mô hình ER dữ liệu yêu cầu dữ liệu chứcnăng logic / vậtlý Thiếtkế Kiếntrúc Thiếtkế vậtlý Thiếtkế Logic Mô hình luồng kiếntrúc phầnmềm dữ liệu Mô hình Mô hình phân rã Thiếtkế Đặctả thuật toán, phân tích chứcnăng FD chứcnăng cấutrúcdữ liệu Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 109 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 110 VÍ DỤ THIẾT KẾ HƯỚNG CHỨC NĂNG VÍ DỤ THIẾT KẾ HƯỚNG CHỨC NĂNG Thiếtkế kiếntrúc Thiếtkế kiếntrúc Tài liệu Tài liệu Thiếtkế giao diện DFD yêu cầu phi giao diện Thành phần người dùng chứcnăng người dùng Giảiquyếtsự cố Mô hình Tài liệu Thiếtkế Mô hình ER dữ liệu yêu cầu dữ liệu chứcnăng logic / vậtlý Thiếtkế Kiếntrúc Mô hình luồng kiếntrúc phầnmềm dữ liệu Xác định Sử dụng phương pháp Nhóm gộp Mô hình Thiếtkế Đặctả thuật toán, Mô hình phân rã tiếntrình tạokiếntrúc các tiến trình chứcnăng cấutrúcdữ liệu phân tích chứcnăng FD máy làm tạo các thành phần Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 111 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 112 VÍ DỤ THIẾT KẾ HƯỚNG CHỨC NĂNG VÍ DỤ THIẾT KẾ HƯỚNG CHỨC NĂNG Thiếtkế chứcnăng Thiếtkế chứcnăng Tài liệu Tài liệu Thiếtkế cho mô đun Giảiquyếtsự cố Thiếtkế giao diện yêu cầu phi giao diện người dùng chứcnăng người dùng Thành phần Giảiquyếtsự cố Mô hình Tài liệu Thiếtkế Mô hình ER dữ liệu yêu cầu dữ liệu chứcnăng logic / vậtlý Thiếtkế Kiếntrúc Mô hình luồng kiếntrúc phầnmềm dữ liệu Tài liệu đặctả Mô hình Mô hình phân rã Thiếtkế Đặctả thuật toán, thuậttoán/ cấutrúcdữ liệu phân tích chứcnăng FD chứcnăng cấutrúcdữ liệu Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 113 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 114