Bài giảng Phân tích thiết kế hệ thống thông tin

pdf 61 trang huongle 4231
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phân tích thiết kế hệ thống thông tin", để 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_phan_tich_thiet_ke_he_thong_thong_tin.pdf

Nội dung text: Bài giảng Phân tích thiết kế hệ thống thông tin

  1. PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN 1
  2. Nội dung Phần I: Tổng quan Chương 1 – Tổng quan về HTTT Chương 2 – Mô hình và phương pháp mô hình hóa HTTT Phần II: Phân tích Chương 3 – Xác định yêu cầu và chọn lựa phương án Chương 4 – Mô hình hóa dữ liệu Chương 5 – Mô hình hóa xử lý Phần III: Thiết kế Chương 6 – Thiết kế dữ liệu Chương 7 – Thiết kế hệ thống Chương 8 – Thiết kế giao diện 2
  3. Chương 7 – Thiết kế hệ thống 1. Phân chia hệ thống thành các hệ thống con 2. Xây dựng mô hình thiết kế xử lý 3. Thiết kế chức năng phần mềm 3
  4. 1. Phân chia hệ thống thành các hệ thống con Mục tiêu: • Giảm sự phức tạp của hệ thống. • Dễ dàng hơn cho việc thiết kế và bảo dưỡng hệ thống. 4
  5. 1. Phân chia hệ thống thành các hệ thống con (tt) Tiêu chí phân chia: • Tính kết dính (cohesion): sự gắn bó về luận lý hoặc mục đích của các xử lý trong một hệ thống con. Tính kết dính càng cao càng tốt. • Tính liên kết (coupling): Sự trao đổi thông tin và tác động lẫn nhau giữa các hệ thống con. Sự liên kết này càng ít càng tốt. 5
  6. 1. Phân chia hệ thống thành các hệ thống con (tt) Tiêu chí phân chia (tt) Cách phân chia thứ II Cách phân chia thứ I Xử lý Xử lý Xử lý Dữ liệu Dữ liệu Xử lý Xử lý Xử lý Xử lý 6
  7. 1. Phân chia hệ thống thành các hệ thống con (tt) Các yếu tố gợi ý phân chia: • Gom theo thực thể: các xử lý liên quan đến một thực thể. • Gom theo sự kiện giao tác: các xử lý đáp ứng cho một sự kiện xảy ra. • Gom theo vai trò thực hiện hoặc vị trí tổ chức. 7
  8. 1. Phân chia hệ thống thành các hệ thống con (tt) Ví dụ: Hệ thống quản lý tồn kho Hệ thống Hệ thống Phiếu xuất: 2 Thủ kho con quản lý con quản lý 8 1 Thông tin tồn kho nhập NVL Lưu hóa Thống kê NVL xuấ NVL đơn t tỉ lệ hao Thông tin hụt 3 Hóa đơn NVL nhập Đối chiếu và cập Hóa đơn Nhật ký tồn kho nhật số tồn, số sử dụng Hóa 2 đơn Xác định Tồn đã NVL tồn kho+ thanh NCC 6 tồn BPSX toán Xử lý tối Phiếu xuất: 1 Yêu thanh toán thiểu Thông cầu tin hóa đơn Thông về 4 xuất tin NVL Hệ thống Xác định NVL NVL 5 xuất con quản lý tồn dưới mức NVL Hệ thống Lập phiếu tối thiểu 7 xuất NVL con quản lý đặt mua Xử lý xuất 8 thanh toán NVL NVL
  9. 1. Phân chia hệ thống thành các hệ thống con (tt) Mô tả hệ thống con: Hệ thống Hệ thống con 1 Hệ thống con 2 Hệ thống con 3 Hệ thống: ABC Dòng dữ liệu vào: Dòng dữ liệu ra: STT Hệ thống con Xử lý Kho dữ liệu 9
  10. 1. Phân chia hệ thống thành các hệ thống con (tt) Ví dụ: Hệ thống quản lý tồn kho và các hệ thống con Hệ thống quản lý tồn kho Quản lý nhập NVL Quản lý thanh toán Quản lý tồn kho Quản lý xuất NVL Các hệ thống con 10
  11. 1. Phân chia hệ thống thành các hệ thống con (tt) Hệ thống: Quản lý tồn kho NVL Dòng dữ liệu vào: Dòng dữ liệu ra: STT Hệ thống con Xử lý Kho dữ liệu 1 Quản lý nhập NVL - Lưu hóa đơn; - Hóa đơn - Xác định NVL tồn dưới - Nhật ký tồn kho mức tối thiểu; - Lập phiếu đặt mua NVL. 2 Quản lý thanh toán - Xử lý thanh toán hóa đơn. - Hóa đơn 3 Quản lý tồn kho - Xác định NVL tồn; - Hóa đơn, phiếu xuất - Đối chiếu và cập nhật số - Nhật ký tồn kho lượng tồn, số sử dụng; - Thống kê tỉ lệ hao hụt. - Phiếu xuất, Nhật ký tồn kho 4 Quản lý xuất NVL - Xử lý xuất NVL. - Phiếu xuất
  12. 2. Xây dựng mô hình thiết kế xử lý • Phân chia hoạt động thủ công và tự động • Thiết kế các vai trò • Thiết kế xử lý trực tuyến – theo lô • Mô hình hóa xử lý mức thiết kế 12
  13. 2. Xây dựng mô hình thiết kế xử lý (tt) • Phân chia hoạt động thủ công và tự động: Hệ thống tổ Môi trường chức nghiệp vụ HTTT HTTT tự động hóa Yêu cầu tự động hóa (phần mềm) 13
  14. 2. Xây dựng mô hình thiết kế xử lý (tt) • Phân chia hoạt động thủ công và tự động (tt) Nguyên tắc phân chia: . Các xử lý sau khi phân chia sẽ hoàn toàn thủ công hoặc hoàn toàn tự động. . Sự phân chia chấp nhận việc trùng lắp nội dung giữa tự động và thủ công. Kiểm tra và Kiểm tra Lưu đơn Lưu đơn lưu đơn công nợ khách hàng vào hàng hàng hàng máy tính Tự động Tự động Thủ công 14
  15. 2. Xây dựng mô hình thiết kế xử lý (tt) • Phân chia hoạt động thủ công và tự động (tt) Ví dụ: Quản lý xuất NVL Tự động Thủ công Phiếu xuất Phiếu xuất Thông tin xuất NVL 3 4 Lập và in Duyệt Phiếu xuất Quản lý phiếu phiếu xuất BPSX xuất NVL xuất BPSX NVL cần xuất Yêu cầu NVL 2 1 Yêu cầu NVL Yêu cầu NVL Thông tin Kiểm tra Kiểm tra xuất NVL tồn kho yêu cầu NVL Phiếu xuất NKý tồn kho 15 Quan niệm Vật lý
  16. 2. Xây dựng mô hình thiết kế xử lý (tt) • Phân chia hoạt động thủ công và tự động (tt) Ví dụ: Quản lý nhập NVL Tự động Thủ công 1 NCC Lưu hóa Đơn đặt hàng đơn 1.1 1.2 Tìm đđh So khớp tương ứng hóa đơn Hóa đơn Hóa đơn Hóa đơn NCC 6 5 5 1.3 1.4 Lập Xác định Lưu hóa Lưu hóa phiếu đặt NVL dưới Xác định đơn đơn gốc Phiếu đặt NVL mức tối NVL dưới mức tối thiểu 6.2 thiểu 6.1 Hóa đơn gốc Lập và Xác nhận Phiếu đặt phiếu đặt Nhật ký tồn kho in phiếu Nhật ký tồn kho đặt 16 Quan niệm Vật lý
  17. 2. Xây dựng mô hình thiết kế xử lý (tt) • Phân chia hoạt động thủ công và tự động (tt) Ví dụ: Quản lý Tồn kho Tự động Thủ công 3 BPSX Xác định Hóa đơn (nhập) tồn kho 3 4.1 Báo NVL Xác định cáo Phiếu xuất Đối chiếu số tồn kho hao Số tồn, số sử NVL hụt Hóa đơn tồn dụng Phiếu xuất 9 4 Số sử Lập thống Nhật ký tồn kho dụng kê tỉ lệ hao Đối chiếu và 4.2 hụt cập nhật số tồn, số sử Cập nhật BPSX 9 dụng số tồn, số Lập thống sử dụng kê tỉ lệ Nhật ký tồn kho hao hụt 17 Quan niệm Vật lý
  18. 2. Xây dựng mô hình thiết kế xử lý (tt) • Thiết kế các vai trò – Ví dụ: Quản lý nhập NVL Tự động Thủ công NV nhập Thủ kho NV nhập Thủ kho Hóa đơn 1.1 Thông tin đặt hàng tương ứng 1.2 Tìm đđh So khớp tương ứng Hóa đơn hóa đơn Phiếu đặt NCC 5 Hóa đơn 1.4 Đơn đặt hàng Lưu hóa Xác định NVL 6.2 1.3 đơn gốc Thông dưới mức tối Xác nhận Lưu hóa tin thiểu phiếu đặt đơn phiếu Hóa đơn gốc đặt 6.3 6.1 Hóa đơn Nhật ký tồn kho Gởi phiếu Lập và in đặt phiếu đặt Phiếu đặt 18
  19. 2. Xây dựng mô hình thiết kế xử lý (tt) • Thiết kế xử lý trực tuyến: – Xử lý trực tuyến (on-line processing): là các xử lý thu thập và phân phối thông tin mới nhất về hệ thống thông qua một trạm làm việc trực tuyến. – Xử lý trực tuyến thường được thiết kế khi: . Truy cập và nắm bắt những thông tin xảy ra một cách ngẫu nhiên. . Định dạng và kiểu thông tin là không nhất quán. . Thông tin đang tiếp tục thay đổi và thông tin mới nhất là cần thiết cho xử lý hiện tại và hỗ trợ ra quyết định. . Người dùng ở vị trí dễ dàng truy cập tới HTTT. 19
  20. 2. Xây dựng mô hình thiết kế xử lý (tt) • Thiết kế xử lý trực tuyến (tt) Ví dụ: Quản lý yêu cầu sách của Nhà khoa học Thủ công Tự động 1 3 PYC Nhận Kiểm tra PYC PYC NKH PYC Ngân sách 4 2 Lưu PYC Thông báo vào CSDL các PYC kg hợp lệ PYC 20
  21. 2. Xây dựng mô hình thiết kế xử lý (tt) • Thiết kế xử lý theo lô: – Xử lý theo lô (batch processing): việc xử lý đầu vào và đầu ra hệ thống theo một thời điểm xác định. – Xử lý theo lô thường được thiết kế khi: . Truy cập thông tin có định kỳ. . Định dạng và kiểu thông tin là nhất quán. . Thông tin ổn định trong một khoảng thời gian hoặc nhu cầu thông tin của người dùng không cần phải mới nhất. . Người dùng không ở vị trí có thể truy cập HTTT một cách trực tuyến. 21
  22. 2. Xây dựng mô hình thiết kế xử lý (tt) • Thiết kế xử lý theo lô (tt) Ví dụ: Quản lý yêu cầu sách của Nhà khoa học Thủ công Tự động 1 Nhận 2 PYC và lưu Lưu PYC PYC vào CSDL NKH PYC PYC 4 3 Thông báo Kiểm tra các PYC kg PYC hợp lệ 22
  23. 2. Xây dựng mô hình thiết kế xử lý (tt) • Mô hình hóa xử lý mức thiết kế: – Mục tiêu: . Biểu diễn các xử lý của hệ thống trong một môi trường cụ thể. . Làm nổi bật các yếu tố vật lý của hệ thống: hình thức, không gian, thời gian, tổ chức, thủ công – tự động, – Các mô hình có thể dùng: . Mô hình DFD (mức vật lý) . Flowchart . Mô hình xử lý tựa Merise 23
  24. 2. Xây dựng mô hình thiết kế xử lý (tt) • Mô hình hóa xử lý mức thiết kế (tt) Ví dụ: Flowchart (Quản lý nhập NVL) Nhân viên nhập Thủ kho Nhà cung cấp Hóa đơn Tìm đơn hàng tương ứng Xác định NVL tồn dưới mức tối thiểu HĐ gốc Đơn hàng Đơn hàng NVL tồn dưới NKý tồn mức tối thiểu So khớp đơn hàng Lưu hóa đơn Hóa đơn (đã KT) Hóa đơn Xác nhận phiếu đặt Lập và in phiếu đặt Đơn hàng Đơn hàng Đơn hàng (đã xác nhận) 24 Gởi phiếu đặt
  25. 2. Xây dựng mô hình thiết kế xử lý (tt) • Mô hình hóa xử lý mức thiết kế (tt) . Mô hình xử lý tựa Merise – Ký hiệu: Ký hiệu Tên gọi Biến cố. Gồm hai loại: biến cố vào và biến cố ra. Biến cố vào gồm hai loại: biến cố phát động và biến cố điều kiện. Tập các biến cố. Điều kiện phát động biến cố. Quy tắc quản lý (QTQL). 25
  26. 2. Xây dựng mô hình thiết kế xử lý (tt) • Mô hình hóa xử lý mức thiết kế (tt) . Mô hình xử lý tựa Merise – Ký hiệu (tt) Ký hiệu Tên gọi Qui tắc quản lý có điều kiện ra. ĐK1 ĐK2 Dữ liệu. Gồm hai loại: dữ liệu vào và dữ liệu ra. Phương tiện biểu diễn dữ liệu trên giấy. 26
  27. 2. Xây dựng mô hình thiết kế xử lý (tt) • Mô hình hóa xử lý mức thiết kế (tt) . Mô hình xử lý tựa Merise (tt) Đối tượng Vị trí 1 Vị trí 2 Vị trí n Đối tượng Y X (môi (môi trường) trường) 27
  28. 2. Xây dựng mô hình thiết kế xử lý (tt) • Mô hình hóa xử lý mức thiết kế (tt) . Mô hình xử lý tựa Merise – Ví dụ: Nhà CC Thủ kho NV nhập Giao NVL Kiểm tra đơn hàng Đơn hàng Cuối ngày Có Không Hóa đơn Xác định NVL tồn HĐ không HĐ hợp lệ dưới mức tối thiểu NKý tồn hợp lệ Đúng Sai Lưu hóa đơn Hóa đơn Có NVL Không có (hợp lệ) cần đặt NVL cần đặt Lập đặt NVL Hóa đơn Xác định phiếu đặt Đơn hàng Đơn hàng ĐH đã lập Đơn hàng 28
  29. 2. Xây dựng mô hình thiết kế xử lý (tt) • Mô hình hóa xử lý mức thiết kế (tt) . Mô hình xử lý tựa Merise – Bảng mô tả chức năng: STT Nguồn Thủ tục Bản Vị trí (4) Thời gian gốc chức chất (3) thực hiện (5) QTQL (1) năng (2) (1) Các thủ tục chức năng được lấy từ nguồn gốc QTQL nào. (2) Thứ tự các công việc trong qui trình xử lý. (3) Bản chất công việc được thực hiện là thủ công hay tự động. (4) Thủ tục chức năng đó được thực hiện ở vị trí nào. (5) Khi nào thực hiện công việc đó (thực hiện ngay, cuối ngày, ). 29
  30. 2. Xây dựng mô hình thiết kế xử lý • Mô hình hóa xử lý mức thiết kế (tt) . Mô hình xử lý tựa Merise – Bảng mô tả chức năng – Ví dụ: STT Nguồn gốc QTQL Thủ tục chức năng Bản chất Vị trí Thời gian thực hiện 1 Kiểm tra đơn hàng Xác định đơn hàng Tự động NV nhập Thực hiện ngay của hóa đơn 2 Kiểm tra đơn hàng So khớp với NVL Thủ công NV nhập Thực hiện ngay nhập 3 Lưu hóa đơn Lưu hóa đơn Tự động NV nhập Thực hiện ngay 4 Xác định NVL tồn Xác định NVL tồn Tự động Thủ kho Cuối ngày dưới mức tối thiểu dưới mức tối thiểu 5 Lập đặt mua NVL Lập đặt mua NVL Tự động NV nhập Cuối ngày 6 Lập đặt mua NVL In phiếu đặt Tự động NV nhập Cuối ngày 7 Xác nhận phiếu đặt Xác nhận phiếu đặt Thủ công Thủ kho Cuối ngày 30
  31. 3. Thiết kế chức năng phần mềm • Xác định các chức năng phần mềm • Xây dựng cấu trúc chức năng phần mềm • Kiến trúc phần mềm • Thiết kế chức năng phần mềm theo kiến trúc 3 tầng • Các mục tiêu trong thiết kế hệ thống 31
  32. 3. Thiết kế chức năng phần mềm (tt) • Xác định các chức năng phần mềm: Từ các xử lý tự động hóa: các xử lý được quyết định là tự động hóa trong sơ đồ vật lý sẽ là ứng viên của chức năng phần mềm: 1/n xử lý 1/n chức năng phần mềm Ví dụ: Quản lý nhập NVL Tự động Thủ công Chức năng phần mềm: Đơn đặt hàng 1.1 1.2 Tìm đơn đặt hàng Tìm đđh So khớp tương ứng hóa đơn Hóa đơn Hóa đơn Lưu hóa đơn Thông tin phi NCC 5 1.3 1.4 Lưu hóa Lưu hóa Lập và in phiếu đặt Xác định ế đơn đơn gốc Phiếu đặt NVL dưới u đ ặ mức tối t 6.2 thiểu 6.1 Hóa đơn gốc Xác định NVL tồn Lập và Xác nhận Phiếu đặt in phiếu phiếu đặt dưới mức tối thiểu Nhật ký tồn kho đặt Vật lý 32
  33. 3. Thiết kế chức năng phần mềm (tt) • Xác định các chức năng phần mềm (tt) Ví dụ: Quản lý Tồn kho Tự động Thủ công Hóa đơn 3 4.1 Xác định Đối chiếu số Xác định tồn tồn kho tồn, số sử kho NVL NVL dụng Phiếu xuất Số sử Cập nhật số tồn, Nhật ký tồn kho dụng số sử dụng 4.2 Cập nhật BPSX 9 Lập thống kê tỉ số tồn, số lệ hao hụt Lập thống sử dụng kê tỉ lệ hao hụt 33
  34. 3. Thiết kế chức năng phần mềm (tt) • Xác định các chức năng phần mềm (tt) Ví dụ: Quản lý xuất NVL Tự động Thủ công Phiếu xuất Phiếu xuất 3 4 Lập và in Duyệt Phiếu xuất phiếu phiếu xuất Lập và in xuất BPSX phiếu xuất NVL cần xuất 2 1 Yêu cầu NVL Kiểm tra Kiểm tra Kiểm tra tồn kho tồn kho yêu cầu NVL Nhật ký tồn kho 34
  35. 3. Thiết kế chức năng phần mềm (tt) • Xác định các chức năng phần mềm (tt) Ví dụ: Hệ thống Quản lý tồn kho NVL Tìm đơn hàng Xác định tồn kho Lập và in phiếu NVL xuất Lưu hóa đơn Cập nhật số tồn, số Kiểm tra tồn kho Lập và in phiếu đặt sử dụng Xác định NVL tồn Lập thống kê tỉ lệ dưới mức tối thiểu hao hụt 35
  36. 3. Thiết kế chức năng phần mềm (tt) • Xác định các chức năng phần mềm (tt) – Các chức năng quản trị danh mục: NCC, NVL, – Các chức năng hệ thống: . An toàn: + Quản lý người dùng + Backup/restore DB + Mã hóa . Thông số hệ thống: thư mục, ngày/biến hệ thống, – Các chức năng khai thác dữ liệu: . Tìm kiếm . Thống kê, báo cáo, – Các tiện ích: máy tính, lịch, forum, – Hướng dẫn sử dụng. 36
  37. 3. Thiết kế chức năng phần mềm (tt) • Xây dựng cấu trúc chức năng phần mềm – Cách 1: Tìm đơn hàng HT quản lý tồn kho NVL Nhập NVL Nhập hóa đơn Nghiệp vụ Lập & in phiếu đặt NVL NVL tồn dưới mức tối thiểu Xuất NVL Lập & in phiếu xuất Xác định tồn kho Quản lý tồn NVL Cập nhật số tồn, Nguyên vật liệu số sử dụng Danh mục Nhà cung cấp 37
  38. 3. Thiết kế chức năng phần mềm (tt) • Xây dựng cấu trúc chức năng phần mềm – Cách 1 (tt) HT quản lý tồn kho NVL Đăng nhập Hệ thống Đăng xuất Quản trị người dùng Backup Restore Báo cáo tỉ lệ hao hụt Báo cáo - NVL Thống kê Báo cáo nhập NVL Báo cáo xuất NVL Hướng dẫn sử dụng 38
  39. 3. Thiết kế chức năng phần mềm (tt) • Xây dựng cấu trúc chức năng phần mềm – Cách 2: Dùng biểu đồ cấu trúc (Structured chart): B1: Phân chia thành các module. – Module: là một đơn vị của hệ thống được xác định bởi chức năng của nó, tất cả các lệnh trong module đều nhằm thực hiện chức năng đó. – Module có thể là một đoạn chương trình, một thủ tục/hàm, một form, menu, B2: Xác định mối quan hệ giữa các module và thành lập biểu đồ. 39
  40. 3. Thiết kế chức năng phần mềm (tt) • Xây dựng cấu trúc chức năng phần mềm – Dùng biểu đồ cấu trúc (tt) Ký hiệu: Module gọi A – giá trị tham số truyền B C A B – giá trị kết quả nhận Module C – cờ hiệu thi hành 40
  41. 3. Thiết kế chức năng phần mềm (tt) • Xây dựng cấu trúc chức năng phần mềm – Dùng biểu đồ cấu trúc (tt) Module A B B C C Module Module Module 41
  42. 3. Thiết kế chức năng phần mềm (tt) • Xây dựng cấu trúc chức năng phần mềm – Dùng biểu đồ cấu trúc (tt) Module điều phối: phối hợp các thực thi của các Module module thực thi Module Module Module Module Module Module thực thi: thực thi một đoạn mã chương trình 42
  43. 3. Thiết kế chức năng phần mềm (tt) • Xây dựng cấu trúc chức năng phần mềm – Dùng biểu đồ cấu trúc (tt) Ví dụ: Main UserID UserID UserID Hiển thị form Menu của Menu hệ f_DangNhap user thống Lập và in Hóa Lập và in NVL tồn dưới Lập và in Tồn kho Cập nhật số đơn Phiếu đặt NVL mức tối thiểu Phiếu xuất NVL sử dụng Danh mục Hệ thống Báo cáo - Hướng dẫn Thống kê sử dụng 43
  44. 3. Thiết kế chức năng phần mềm (tt) • Kiến trúc phần mềm: 1) Kiến trúc client-server: DB Client Server . Client: giao diện và chương trình xử lý được viết trực tiếp trong giao diện. . Server: quản trị cơ sở dữ liệu. Hạn chế: các thành phần của hệ thống phụ thuộc lẫn nhau dẫn đến khó cải tiến, bảo trì và tái sử dụng. 44
  45. 3. Thiết kế chức năng phần mềm (tt) • Kiến trúc phần mềm (tt) 1) Kiến trúc client-server − Một số mô hình client-server: CSDL CSDL message Xử lý Xử lý message Giao diện Giao diện 45
  46. 3. Thiết kế chức năng phần mềm (tt) • Kiến trúc phần mềm (tt) 2) Kiến trúc 3 tầng: User interface layer User interface layer Business layer Business layer Data layer Data layer Middleware CSDL System software 46
  47. 3. Thiết kế chức năng phần mềm (tt) • Kiến trúc phần mềm (tt) 2) Kiến trúc 3 tầng (tt) - Trả lời tương tác người User interface layer dùng: Chuyển dịch những hành động của người dùng tới Business layer một tình huống xử lý phù hợp. - Hiển thị các đối tượng tác Data layer nghiệp: trình bày một hình ảnh tốt nhất các đối tượng tác nghiệp tới người dùng trong CSDL một giao diện. 47
  48. 3. Thiết kế chức năng phần mềm (tt) • Kiến trúc phần mềm (tt) 2) Kiến trúc 3 tầng (tt) Thực hiện các giao tác xử lý User interface layer liên quan đến nghiệp vụ mà không quan tâm đến việc hiển Business layer thị chúng như thế nào và CSDL được lấy ở đâu. Data layer CSDL 48
  49. 3. Thiết kế chức năng phần mềm (tt) • Kiến trúc phần mềm (tt) 2) Kiến trúc 3 tầng (tt) - Chuyển dịch yêu cầu: chuyển User interface layer dịch tất cả các yêu cầu liên quan đến dữ liệu từ tầng tác nghiệp Business layer đến một phương thức truy cập dữ liệu thích hợp (dạng SQL, Data layer truy xuất file, ). - Chuyển dịch kết quả. CSDL 49
  50. 3. Thiết kế chức năng phần mềm (tt) • Kiến trúc phần mềm (tt) 2) Kiến trúc 3 tầng (tt) Sự phân tầng tạo ra sự độc lập -> dễ cải tiến, bảo trì, Tạo ra những module trung gian -> các tầng độc lập lẫn nhau tốt hơn. 50
  51. 3. Thiết kế chức năng phần mềm (tt) • Thiết kế chức năng phần mềm theo kiến trúc 3 tầng: Giao diện Lập và in hóa đơn HoaDon Kqua Kqua Kqua Hiển thị Nhập hóa đơn Thông báo In hóa đơn f_HoaDon HoaDon HoaDon Nghiệp vụ Lưu hóa đơn Xóa hóa đơn Kqua Kqua Kqua Mẫu tin HĐ Mẫu tin CTHĐ HoaDon Truy cập CSDL Thêm _HĐ Thêm _CTHĐ Xóa_HĐ_và_CTHĐ CSDL T_HÓAĐƠN T_CTHĐ 51
  52. 3. Thiết kế chức năng phần mềm (tt) • Thiết kế chức năng phần mềm theo kiến trúc 3 tầng (tt) Giao diện In hóa đơn Dữ liệu hóa đơn in HoaDon Loại kết xuất HoaDon Loại kết xuất Chọn hóa đơn Chọn kết xuất In hóa đơn Dữ liệu hóa đơn in Xác định dữ liệu in Nghiệp vụ hóa đơn Dữ liệu hóa đơn in HoaDon Truy cập CSDL Đọc_dữ_liệu_HĐ CSDL T_HÓAĐƠN T_CTHĐ 52
  53. 3. Thiết kế chức năng phần mềm (tt) • Thiết kế chức năng phần mềm theo kiến trúc 3 tầng (tt) Giao diện Tồn kho NVL NVL tồn dưới mức tối thiểu Ngày NVL tồn dưới mức tối thiểu Ngày DL tồn kho Ngày DL tồn kho Hiển thị NVL tồn Chọn ngày Hiển thị tồn kho dưới mức tối thiểu NVL tồn dưới Ngày mức tối thiểu Xác định NVL tồn Nghiệp vụ Tính tồn kho dưới mức tối thiểu Ngày DL tồn kho DL tồn kho Ngày Mức tối thiểu Truy cập CSDL Tồn_kho Xác_định_mức_tối_thiểu CSDL 53
  54. 3. Thiết kế chức năng phần mềm (tt) • Các mục tiêu trong thiết kế hệ thống: 1) Hệ thống nên được tổ chức thành một cấu trúc phân cấp các module. 2) Mỗi module nên điều khiển một số lượng hợp lý các module mức dưới. 3) Các module nên độc lập với nhau, sự độc lập này càng cao càng tốt. 4) Mỗi module nên có một kích thước vừa phải. 5) Mỗi module chỉ nên đảm nhận một chức năng. 54
  55. 3. Thiết kế chức năng phần mềm (tt) -> Một số hướng dẫn để đạt được mục tiêu: 1) Dùng biểu đồ cấu trúc để biểu diễn cấu trúc chức năng phần mềm. 2) Mỗi module điều phối không nên điều khiển nhiều hơn 7 module thực thi. 3) Coupling: giảm tối đa sự phụ thuộc lẫn nhau giữa các module bằng cách giảm lượng truyền thông giữa các module. (sự phụ thuộc càng ít càng tốt) 4) Kích thước 1 module nên giới hạn từ 50->100 dòng lệnh. 5) Cohesion: các lệnh trong một module nên gắn liền tới cùng một chức năng. (tính kết dính càng cao càng tốt) 6) Tái sử dụng: các module ở mức thấp nên được sử dụng bởi nhiều module ở mức trên. 55
  56. Phụ lục 1: Năm loại coupling 1) Data coupling: các module trao đổi với nhau thông qua cờ dữ liệu đơn hoặc cờ hiệu thông tin. Lập gửi tiền Dữ liệu trao đổi Số tiền giữa các module Số dư Số tài khoản Số tài khoản Tình trạng Số tiền Thêm_phiếu_gửi Cập_nhật_số_dư_tài_khoản 2) Stamp coupling: dữ liệu trao đổi giữa các module là một cấu trúc hoặc toàn bộ mẫu tin. Xác định NVL tồn Cấu trúc dưới mức tối thiểu Ngày Dữ liệu tồn kho Mức tối thiểu Tồn_kho Xác_định_mức_tối_thiểu 56
  57. Phụ lục 1: Năm loại coupling (tt) 3) Control coupling: module này chuyển thông tin điều khiển đến module khác. . Thông tin điều khiển: cờ hiệu thông báo cho module biết hành động nào nên thực hiện. Kiểm tra công nợ Thông tin điều khiển khách hàng Công nợ Tên khách hàng Công nợ Ghi “công nợ không quá 30 ngày” Tính công nợ Hiển thị công nợ khách hàng 4) Common coupling: hai module cùng tham khảo đến một dữ liệu toàn cục. 5) Content coupling: module này có thể tham khảo đến nội dung của một module khác. 57
  58. Phụ lục 1: Năm loại coupling (tt) Xếp hạng coupling: Tên coupling Xếp hạng phụ thuộc Data coupling Rất thấp Stamp coupling Thấp Control coupling Trung bình Common coupling Cao Content coupling Rất cao 58
  59. Phụ lục 2: Bảy loại Cohesion 1) Cohesion về chức năng: các lệnh trong một module gắn liền tới cùng một chức năng hoặc một nhiệm vụ. 2) Cohesion tuần tự: tuần tự đầu ra của lệnh này chính là đầu vào của lệnh khác trong một module. Đầu vào Lệnh 1 Lệnh 3 Đầu ra Lệnh 2 Lệnh 4 Module 59
  60. Phụ lục 2: Bảy loại Cohesion (tt) 3) Cohesion trao đổi: các lệnh trong module liên quan với nhau thông qua việc sử dụng cùng dữ liệu vào hoặc liên quan đến cùng dữ liệu ra. Đầu vào Lệnh 1 Đầu ra Lệnh 2 Lệnh 2 Module 60
  61. Phụ lục 2: Bảy loại Cohesion (tt) 4) Cohesion thủ tục: các lệnh trong module liên kết với nhau thông qua dòng điều khiển. 5) Các lệnh trong module liên quan với nhau thông qua việc thực hiện cùng thời điểm hoặc gần thời điểm với nhau. 6) Cohesion luận lý: bao gồm tập các lệnh được xác định từ bên ngoài module nên có thể trùng lắp một phần chức năng khó bảo trì. 7) Cohesion ngẫu nhiên: tất cả các lệnh không liên quan đến những cái khác. 61