Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chương 6 Thiết kế hệ thống.

Similar presentations


Presentation on theme: "Chương 6 Thiết kế hệ thống."— Presentation transcript:

1 Chương 6 Thiết kế hệ thống

2 Thiết kế hệ thống Phân chia hệ thống thành các hệ thống con
Xây dựng mô hình thiết kế xử lý hệ thống Thiết kế chức năng phần mềm hệ thống

3 Phân chia hệ thống thành hệ thống con
Mục tiêu: Giảm thiểu sự phức tạp, sự cồng kềnh của một hệ thống lớn Tạo thuận lợi cho công việc thiết kế: bởi vì phải chi tiết hoá các nội dung đặt được ở phần tích tích Dễ dàng hơn cho quá trình bảo dưỡng hệ thống sau này

4 Phân chia hệ thống thành hệ thống con
Tiêu chí phân chia: Tính cố kết (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 cố kết càng cao thì 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 lỏng lẻo, càng đơn giản càng tốt

5 Phân chia hệ thống thành hệ thống con
Xử lý Xử lý Xử lý Dữ liệu Dữ liệu Xử lý Xử lý Xử lý Xử lý

6 Phân chia hệ thống thành hệ thống con
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 hoặc một số đối tượng thực thể Hệ Khách hàng (gồm các chức năng liên quan đến khách hàng như xử lý đơn đặt hàng, làm hóa đơn, thanh toán, giao hàng, …) Hệ Kho vật tư (xử lý xuất, nhập hàng, tồn kho, …) Gom theo sự kiện giao tác: các xử lý đáp ứng cho một sự kiện xảy ra. Hệ Xử lý đơn hàng (khi đơn đặt hàng đến thì xử lý ghi nhận đơn hàng, kiểm tra khả năng đáp ứng đơn hàng, …) Gom theo vai trò thực hiện hoặc ví trí tổ chức Ví dụ: các hoạt động liên quan đến một phòng, một con người,…

7 Phân chia hệ thống thành hệ thống con
Ví dụ: hệ thống quản lý tồn kho BPSX Lưu hoá đơn 1-2 Hoá đơn NKý tồn kho Xác định NVL tồn 3 Đối chiếu và cập nhật số tồn, số sử dụng 4 Xác định NVL tồn dưới mức tối thiểu 5 Lập phiếu đặt mua NVL 6 Xử lý thanh toán hoá đơn 7 (1) (2) (3) (4) Hoá đơn chưa thanh toán HĐ đã thanh toán Tồn kho + tồn tối thiểu Số sử dụng, số tồn Tồn kiểm kê NVL cần đặt NCC Thống kê tỉ lệ hao hụt 9 Phiếu xuất:1 Xử lý xuất NVL 8 Phiếu xuất:2 Thủ kho Yêu vầu về NVL Thông tin xuất NVL Thông tin báo cáo hao hụt Thông tin NVL nhập Thông tin NVL xuất Hệ thống con quản lý nhập NVL Hệ thống con quản lý tồn kho NVL Hệ thống con quản lý tồn kho NVL Hệ thống con quản lý nhập NVL Hệ thống con quản lý xuất NVL Hệ thống con quản lý thanh toán

8 Phân chia hệ thống thành hệ thống con
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 Phân chia hệ thống thành hệ thống con
Ví dụ: hệ thống quản lý tồn kho và các hệ thống con Hệ quản lý tồn kho Quản lý thanh toán Quản lý tồn kho Quản lý xuất NVL Quản lý nhập NVL Các hệ thống con

10 Phân chia hệ thống thành hệ thống con
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 1 Quản lý nhập NVL - Lưu hoá đơn - Xác định NVL tồn dưới mức tối thiểu - Lập phiếu đặt mua NVL Hoá đơn NKý tồn kho 2 Quản lý thanh toán - Xử lý thanh toán hoá đơn -Hoá đơn 3 Quản lý tồn kho Xác định NVL tồn Đối chiếu và cập nhập số tồn, số sử dụng Thống kê tỉ lệ hao hụt Hoá đơn, phiếu xuất Phiếu xuất, Nký tồn kho 4 Quản lý xuất NVL Xử lý xuất NVL Phiếu xuất

11 Thiết kế hệ thống Phân chia hệ thống thành các hệ thống con
Xây dựng mô hình thiết kế xử lý hệ thống Thiết kế chức năng phần mềm hệ thống

12 Xây dựng mô hình thiết kế xử lý
Phân chia hoạt động thủ công và tự động Xác định thừa tác viên sử dụng hệ thống Thiết kế xử lý trực tuyến – theo lô Mô hình hoá xử lý ở mức thiết kế

13 Xây dựng mô hình thiết kế xử lý
Phân chia giữa hoạt động thủ công - tự động Hệ thống tổ chức nghiệp vụ HTTT HTTT tự động hoá Môi trường Yêu cầu tự động hoá (phần mềm) Cho đến nay, qua bước phân tích, ta đã mô tả hệ thống với nhiều chức năng, nhiều kho dữ liệu, nhưng ta chưa hề bao giờ đề cập đến các câu hỏi như chức năng nào sẽ do máy tính thực hiện, chức năng nào vẫn do con người thực hiện, kho dữ liệu nào được lưu trong máy tính (dưới dạng tập tin hoặc cơ ở dữ liệu) và kho dữ liệu nào vẫn được quản lý bằng tay (dưới dạng hồ sơ, sổ sách)

14 Xây dựng mô hình thiết kế xử lý
Phân chia giữa hoạt động thủ công - tự động Xử lý Xử lý mức quan niệm Tinh chế thành các hoạt động chi tiết Xử lý được phân chia Xử lý Xử lý Đối với xử lý : xem xét từng xử lý trong DFD để quyết định chức năng nào sẽ thực hiện bằng máy tính, chức năng nào sẽ thực hiện bởi con người. Yêu cầu tự động hoá Tự động Xác định chức năng tự động hoá Thủ công

15 Xây dựng mô hình thiết kế xử lý
Phân chia giữa hoạt động thủ công - tự động Nguyên tắc phân chia: Các xử lý sau khi phân chia sẽ hòan tòan thủ công hoặc hòan tòan 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à lưu đơn hàng Kiểm tra công nợ khách hàng Lưu đơn hàng vào máy tính Lưu đơn hàng Tự động Tự động Thủ công

16 Xây dựng mô hình thiết kế xử lý
Phân chia giữa hoạt động thủ công - tự động Ví dụ: Quản lý xuất NVL Tự động Thủ công Phiếu xuất Duyệt phiếu xuất 4 Phiếu xuất Quản lý xuất NVL Phiếu xuất BPSX Yêu cầu NVL Thông tin xuất NVL Lập và in phiếu xuất 3 Phiếu xuất BPSX NVL cần xuất Kiểm tra yêu cầu NVL 1 Kiểm tra tồn kho 2 Yêu cầu NVL Yêu cầu NVL NKý tồn kho Quan niệm Vật lý

17 Xây dựng mô hình thiết kế xử lý
Phân chia giữa hoạt động thủ công - tự động Ví dụ: Quản lý nhập NVL Tự động Thủ công Lưu hóa đơn 1 Hóa đơn NCC NKý tồn kho Xác định NVL dưới mức tối thiểu 5 Lập phiếu đặt NVL 6 Phiếu đặt Hóa đơn NCC Tìm đơn hàng tương ứng 1.1 So khớp hóa đơn 1.2 Lưu hóa đơn 1.3 Đơn hàng Xác định NVL dưới mức tối thiểu 5 NKý tồn kho Lập và in phiếu đặt 6.1 Xác nhận phiếu đặt 6.2 Phiếu đặt Thông tin phiếu đặt Lưu hóa đơn gốc 1.4 Hóa đơn gốc Quan niệm Vật lý

18 Xây dựng mô hình thiết kế xử lý
Phân chia giữa hoạt động thủ công - tự động Ví dụ: Quản lý tồn kho Tự động Thủ công Xác định tồn kho NVL 3 Hóa đơn BPSX NKý tồn kho Đối chiếu và cập nhật số tồn, số sử dụng 4 Lập thống kê tỉ lệ hao hụt 9 Số tồn Bcáo hao hụt Phiếu xuất Sử dụng Xác định tồn kho NVL 3 Hóa đơn Phiếu xuất BPSX Cập nhật số tồn, số sử dụng 4.2 Đối chiếu số tồn, số sử dụng 4.1 NKý tồn kho Lập thống kê tỉ lệ hao hụt 9 Bcáo hao hụt Sử dụng Số tồn Số tồn, sử dụng Quan niệm Vật lý

19 Xây dựng mô hình thiết kế xử lý
Thiết kế các vai trò User (người dùng phần mềm) Nhân viên tổ chức Hệ thống tổ chức nghiệp vụ HTTT HTTT tự động hoá Môi trường Thừa tác viên HTTT Con người cũng là đầu mối gây tác hại đáng chú ý đối với hệ thống. Sự xâm phạm của con người có thể là: Sự xâm hại vô tình (do nhầm lẫn hoặc sự tò mò không có ác ý) Sự xâm hại cố tình (có mục đích rõ rệt tấn công vào hệ thống nhằm lấy cắp thông tin, làm hệ thống tê liệt, phá hoại thông tin) Để bảo vệ hệ thống trước các sự xâm hại ta phải nhằm vào các mục đích sau: bảo vệ tính bí mật, bảo vệ tính toàn vẹn, bảo vệ tính khả dụng, bảo vệ tính riêng tư Các điểm hở là các chỗ mà một tác nhân ngoài, vô tình hay cố ý, có thể gây ra một tác động tiêu cực lên hệ thống. Người phân tích phải nhận diện mọi điểm hở tiềm năng của hệ thống mà mình phải bảo vệ. Các điểm hở có thể là: Mọi luồng dữ liệu đi và đến một đối tác của hệ thống Mọi luồng dữ liệu cắt ngang ranh giới giữa phần máy tính và phần thủ công trong DFD Các kho dữ liệu Các đường truyền trên mạng đối với hệ thống phân tán

20 Xây dựng mô hình thiết kế xử lý
Thiết kế các vai trò – các hệ thống eCommerce Hệ thống tổ chức nghiệp vụ HTTT tự động hóa Môi trường

21 Xây dựng mô hình thiết kế xử lý
Thiết kế các vai trò – người dùng hệ thống Môi trường Môi trường Phân biệt riêng tư là việc phân loại các người dùng để: Gán cho mỗi loại người dùng một số quyền truy nhập nhất định Cho phép một số người dùng được phép ủy quyền, tức là giao quyền truy nhập cho người khác Môi trường

22 Xây dựng mô hình thiết kế xử lý
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 Hóa đơn Tìm đơn hàng tương ứng 1.1 So khớp hóa đơn 1.2 Thông tin đặt hàng tương ứng Lưu hóa đơn gốc 1.4 Hóa đơn Phiếu đặt Đơn hàng NCC Hóa đơn Lưu hóa đơn 1.3 Xác nhận phiếu đặt 6.2 Xác định NVL dưới mức tối thiểu 5 Hóa đơn gốc Thông tin phiếu đặt Phiếu đặt đã xác nhận Gởi phiếu đặt 6.3 Hóa đơn Lập và in phiếu đặt 6.1 NKý tồn kho Phiếu đặt

23 Xây dựng mô hình thiết kế xử lý
Thiết kế các hình thức khác Thiết kế phân bố vị trí tổ chức (không gian hệ thống) Thiết kế thời gian xử lý hệ thống Thiết kế hình thức: hình thức và phương tiện xử lý, hình thức trình bày thông tin (form, report,…),…

24 Xây dựng mô hình thiết kế xử lý
Thiết kế xử lý theo 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ế theo các điều kiện sau: 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 (vd: truy vấn đặc biệt) 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 Gom các xử lý thủ công thành các công việc và nhiệm vụ Các xử lý thủ công được đem ra nghiên cứu, mô tả lại chúng thành các quy trình, công việc để giao cho một người hay một nhóm người thực hiện. Sự gom nhóm có thể được quyết định theo các tiêu chí như: theo giao dịch, theo kho dữ liệu, theo địa điểm, theo thời gian xử lý, theo sự phân công chức trách, … Nội dung và hình thức thực hiện các nhiệm vụ tùy thuộc vào phương thức làm việc giữa người và máy tính là làm việc theo lô hay làm việc trực tuyến.

25 Xây dựng mô hình thiết kế xử lý
Thiết kế xử lý theo lô – trực tuyến Xử lý theo lô (batch processing): được xem như việc xử lý đầu vào và đầu ra hệ thống theo một thời điểm xác định hoặc đã định trước. Xử lý theo lô thường được thiết kế theo những điều kiện sau: Truy cập thông tin có định kỳ Định dạng và lọai thông tin là nhất quán Thông tin ổn định trong khỏang thời gian/ hoặc nhu cầu thông tin của người dùng không cần thiết 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 Ví dụ: Tạo báo cáo doanh thu hàng tháng, cuối tháng tính lương, kiểm tra tồn kho cuối ngày,…

26 Xây dựng mô hình thiết kế xử lý
Thiết kế xử lý theo lô – trực tuyến Ví dụ: quản lý yêu cầu sách NKH Thủ công Tự động Nhận và lưu PYC 1 Lưu PYC vào CSDL 2 PYC NKH PYC CSDL PYC PYC không hợp lệ Thông báo các PYC không hợp lệ 4 Kiểm tra PYC 3 Thiết kế xử lý theo lô

27 Xây dựng mô hình thiết kế xử lý
Thiết kế xử lý theo lô – trực tuyến Ví dụ: quản lý yêu cầu sách NKH Thủ công Tự động Nhận và lưu PYC 1 Kiểm tra PYC 3 PYC NKH Ngân sách PYC Lưu PYC vào CSDL 2 PYC không hợp lệ Thông báo các PYC không hợp lệ 3 CSDL PYC Thiết kế xử lý trực tuyến

28 Xây dựng mô hình thiết kế xử lý
Mô hình hóa xử lý mức thiết kế Mục tiêu: Biểu diễn xử lý 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 mới sẽ được triển khai trong mô hình như: hình thức, không gian, thời gian, tổ chức, thủ công – tự động,… Biểu diễn các yêu cầu tự động hóa hệ thống Các mô hình: có thể dùng một số mô hình sau Mô hình DFD (mức vật lý) Flowchart Mô hình xử lý tựa Merise

29 Xây dựng mô hình thiết kế xử lý
Flowchart (Quản lý nhập NVL) NV nhập Thủ kho Nhà CC 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 Đơn hàng HĐ gốc Đơn hàng NKý tồn NVL tồn dưới 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 phiếu đặt Lập và in phiếu đặt Đơn hàng Đơn hàng (đã xác nhận) Gởi phiếu đặt Đơn hàng

30 Xây dựng mô hình thiết kế xử lý
Mô hình xử lý tựa Merise Ký hiệu Tên gọi Biến cố. Mỗi biến cố có đặc tính là nó thuộc biến cố ngoài môi trường hay biến cố trong hệ thống, có đặc tính là biến cố vào hay biến cố ra. Đối với biến cố vào được phân ra làm hai dạng: loại biến cố phát động và biến cố điều kiện Tập các biến cố Tập biến cố gồm hai loại: tập biến cố vào và tập biến cố ra Điều kiện phát động biến cố Nguyên tắc quản lý (NTQL)

31 Xây dựng mô hình thiết kế xử lý
Mô hình xử lý tựa Merise Ký hiệu Tên gọi Nguyên tắc quản lý có điều kiện ra Dữ liệu. Gồm có hai loại: dữ liệu vào và dữ liệu ra cho của qui tắc xử lý Phương tiện biểu diễn dữ liệu trên giấy ĐK1 ĐK2

32 Xây dựng mô hình thiết kế xử lý
Mô hình xử lý tựa Merise Đối tượng X môi trường Vị trí 1 Vị trí 2 Vị trí n Đối tượng Y ngoài môi trường

33 Xây dựng mô hình thiết kế xử lý
Mô hình xử lý tựa Merise Bảng mô tả chức năng STT Nguồn gốc NTQL (1) Thủ tục chức năng(2) Bản chất (3) Vị trí(4) Thời gian thực hiện (5) (1): Các thủ tục chức năng được lấy từ nguồn gốc NTQL nào (2): Là thứ tự các công việc cho 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): Bao giờ thì thực hiện công việc đó (thực hiện ngay, cuối ngày,….)

34 Xây dựng mô hình thiết kế xử lý
Mô hình xử lý tựa Merise – Ví dụ: Nhà CC Thủ kho NV nhập Đơn hàng Kiểm tra đơn hàng Giao NVL Không Hóa đơn Cuối ngày HĐ hợp lệ HĐ không hợp lệ Xác định NVL tồn dưới mức tối thiểu Đ S NKý tồn Lưu hóa đơn Có NVL cần đặt Không có NVL cần đặt Hóa đơn Lập đặt NVL Xác định phiếu đặt Đơn hàng Đơn hàng ĐH đã lập Đơn hàng 34

35 Xây dựng mô hình thiết kế xử lý
Mô hình xử lý tựa Merise – Ví dụ: Bảng mô tả thủ tục chức năng STT Nguồn gốc NTQL 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 của HĐ Tự động NVnhập Thực hiện ngay 2 So khớp với NVL nhập Thủ công NVNhập 3 Lưu hóa đơn 4 Xác định NVL tồn dưới mức tối thiểu Thủ kho Cuối ngày 5 Lập đặt mua NVL 6 In phiếu đặt 7 Xác định phiếu đặt

36 Thiết kế hệ thống Phân chia hệ thống thành các hệ thống con
Xây dựng mô hình thiết kế xử lý hệ thống Thiết kế chức năng phần mềm hệ thống

37 Thiết kế chức năng phần mềm hệ thống
Xác định các chức năng phần mềm Kiến trúc phần mềm 3 lớp (three-layers) Thiết kế biểu đồ cấu trúc phần mềm Thiết kế thuật giải

38 Thiết kế chức năng phần mềm hệ thống
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 xử lý  1 chức năng phần mềm 1 xử lý  n chức năng phần mềm N xử lý  1 chức năng phần mềm Ví dụ: Quản lý nhập NVL Tìm đơn hàng Lưu hóa đơn Lập và in phiếu đặt Xác định NVL tồn dưới mức tt

39 Thiết kế chức năng phần mềm hệ thống
Xác định các chức năng phần mềm Từ các xử lý tự động hóa – ví dụ: Quản lý tồn kho Xác định tồn kho NVL Cập nhật số tồn, số sử dụng Lập thống kê tỉ lệ hao hụt

40 Thiết kế chức năng phần mềm hệ thống
Xác định các chức năng phần mềm Từ các xử lý tự động hóa – ví dụ: Quản lý xuất NVL Lập và in phiếu xuất Kiểm tra tồn kho

41 Thiết kế chức năng phần mềm hệ thống
Xác định các chức năng phần mềm Từ các xử lý tự động hóa – ví dụ: Hệ quản lý tồn kho NVL Tìm đơn hàng Xác định tồn kho NVL Lập và in phiếu xuất Lưu hóa đơn Cập nhật số tồn số sử dụng Kiểm tra tồn kho Lập và in phiếu đặt Lập thống kê tỉ lệ hao hụt Xác định NVL tồn dưới mức tt

42 Thiết kế chức năng phần mềm hệ thống
Xác định các chức năng phần mềm Các chức năng quản trị danh mục số liệu Các chức năng hệ thống An toàn Quản lý người dùng Đăng nhập Đăng xuất Quản trị người dùng – nhóm người dùng Backup/ restore CSDL Mã hóa Thông số hệ thống: Ví dụ: các thông số thư mục, ngày hệ thống, biến hệ thống,… Nhà cung cấp Nguyên vật liệu

43 Thiết kế chức năng phần mềm hệ thống
Xác định các chức năng phần mềm Các chức năng khai thác dữ liệu bổ sung Tìm kiếm Thống kê, báo cáo,… Các tiện ích Máy tính, lịch, forum Game Hướng dẫn sử dụng

44 Thiết kế chức năng phần mềm hệ thống
Xây dựng cấu trúc chức năng phần mềm Tìm đơn hàng HT quản trị tồn kho 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 Lập và in phiếu xuất Xuất NVL Xác định tồn kho Quản lý tồn NVL Cập nhật số tồn, số sử dụng Danh mục Nguyên vật liệu Nhà cung cấp Đăng nhập Hệ thống Đăng xuất Quản trị người dùng

45 Thiết kế chức năng phần mềm hệ thống
Xây dựng cấu trúc chức năng phần mềm HT quản trị tồn kho Đăng nhập Hệ thống Đăng xuất Quản trị người dùng Backup Restore Báo cáo – thống kê Báo cáo tỉ lệ hao hụt NVL Báo cáo nhập NVL Báo cáo xuất NVL Hướng dẫn sử dụng

46 Thiết kế chức năng phần mềm hệ thống
Giới thiệu về kiến trúc phần mềm Kiến trúc 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ơ sở dữ liệu phụ thuộc rất lớn vào giao diện khó cải tiến, bảo trì và tái sử dụng Client Server

47 Thiết kế chức năng phần mềm hệ thống
Giới thiệu về kiến trúc phần mềm Kiến trúc client-server: một số mô hình client-server CSDL Xử lý Giao diện message CSDL Giao diện Xử lý message

48 Thiết kế chức năng phần mềm hệ thống
Giới thiệu về kiến trúc phần mềm Kiến trúc 3 tầng (three-layers): Trả lời tương tác người dùng:chuyển dịch những hành động của người dùng tới một tình huống xử lý phù hợp Hiển thị các đối tượng tác 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 một giao diện Thực hiện các giao tác xử lý liên quan đến nghiệp vụ mà không quan tâm đến hiển thị chúng như thế nào? Và CSDL được lấy ở đâu? User interface layer User interface layer Business layer Business layer Chuyển dịch yêu cầu: chuyển 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 đến một phương thức truy cập dữ liệu thích hợp (dạng SQL, truy xuất file,…) Chuyển dịch kết quả Data layer Data layer CSDL Middleware System software

49 Thiết kế chức năng phần mềm hệ thống
Giới thiệu về kiến trúc phần mềm Kiến trúc 3 tầng (three-layers): Sự phân tầng tạo ra sự độc lập dể tiến hóa, nâng cấp, cải tíến,…. Tạo ra một module trung gian sẽ làm cho các tầng độc lập lẫn nhau tốt hơn

50 Thiết kế chức năng phần mềm hệ thống
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 method,… Module có thể là một form, menu,….

51 Thiết kế chức năng phần mềm hệ thống
Biểu đồ cấu trúc (structured chart) Module Module Module gọi B C A Module thi hành Module Module nhúng A: giá trị tham số truyền: dữ liệu, cờ hiệu, mẫu tin B: giá trị kết quả nhận C: Cờ hiệu

52 Thiết kế chức năng phần mềm hệ thống
Biểu đồ cấu trúc (structured chart) Module B A B C C Module Module Module Thứ tụ thực hiện

53 Thiết kế chức năng phần mềm hệ thống
Biểu diễn cấu trúc chức năng phần mềm dùng biểu đồ cấu trúc Module điều phối: gọi phối hợp các thực thi của các module khác Module Module Module Module Module Module Module thực thi: thực thi một đọan mã chương trình

54 Thiết kế chức năng phần mềm hệ thống
Biểu diễn cấu trúc chức năng phần mềm dùng biểu đồ cấu trúc Main UserID UserID UserID Hiển thị form f_DangNhap Menu của user Menu hệ thống Lập và in hóa đơn Lập và in phiếu đặt NVL NVL tồn dưới mức tối thiểu Lập và in phiếu xuất Tồn kho NVL Cập nhật số sử dụng Danh mục Hệ thống Báo cáo – thống kê Hương dẫn sử dụng

55 Thiết kế chức năng phần mềm hệ thống
Thiết kế chức năng phần mềm (theo kiến trúc 3 tầng) Lập và in hóa đơn Giao diện HoaDon Kqua Kqua Kqua Hiển thị f_HoaDon Nhập HĐơn Thông báo In HĐơn HoaDon HoaDon Lưu HĐơn Nghiệp vụ XóaHĐ Kqua Kqua Kqua Mẫu tin HoaDon Mẫu tin CTHĐ HoaDon Truy cập CSDL Them_HĐ Them_CTHĐ Xóa_HĐ và CTHĐ CSDL T_Hóa đơn T_CTHĐ

56 Thiết kế chức năng phần mềm hệ thống
Thiết kế chức năng phần mềm (theo kiến trúc 3 tầng) Giao diện In HĐơn Dliệu hóa đơn in Lọai kết xuất HoaDon Lọai kết xuất Số HĐ Chọn HĐơn Chọn kết xuất In hóa đơn Dliệu hóa đơn in Xác định DL in HĐ Nghiệp vụ Dliệu hóa đơn in Số HĐ Đọc_Dliệu_HĐ Truy cập CSDL CSDL

57 Thiết kế chức năng phần mềm hệ thống
Thiết kế chức năng phần mềm (theo kiến trúc 3 tầng) Giao diện NVL tồn dưới mức tối thiểu Tồn kho NVL DL tồn kho NVL tồn dưới mức tới thiểu Ngày Ngày DL tồn kho Ngày Chọn ngày Hiển thị tồn kho Hiển thị NVL tồn dưới mức t thiểu Ngày NVL tồn dưới mức tới thiểu Tính tồn kho Nghiệp vụ Xác định NVL tồn dưới mức tthiểu DL tồn kho DL tồn kho Ngày Mức tối thiểu Ngày Tồn_kho Xđịnh_mức_tối_thiểu Truy cập CSDL CSDL

58 Thiết kế chức năng phần mềm hệ thống
Các mục tiêu trong thiết kế hệ thống Hệ thống nên được tổ chức thành một cấu trúc phân cấp thành các module Mỗi module nên điều khiển các chức năng của một số lượng hợp lý các module mức dưới Mỗi module nên độc lập với những cái khác trên ý nghĩa là không can thiệp vào họat động những module khác, do đó, số lượng thông tin trao đổi giữa các module nên giữ ở mức tối thiểu Mỗi module nên có một kích thước vừa phải Mỗi module chỉ nên đảm nhận một chức năng

59 Thiết kế chức năng phần mềm hệ thống
Với các mục tiêu trên có các hướng dẫn tương ứng sau Sự phân chia: phân chia hệ thống thành những phần nhỏ hơn Điều khiển module: mỗi module không nên điều khiển nhiều hơn 7 module Tính liên kết (coupling): giảm tối đa sự phụ thuộc của module này vào module khác  giảm lượng truyền thông giữa các module Kích thước module: mỗi module nên giới hạn từ 50 đến 100 dòng lệnh Tính cố kết (cohesion): các lệnh trong một module nên gắn liền cùng một chức năng 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

60 Thiết kế chức năng phần mềm hệ thống
Năm loại coupling Liên kết dữ liệu (data coupling): các module trao đổi dữ liệu với nhau thông qua cờ dữ liệu đơn hoặc cờ hiệu thông tin Liên kết nhãn (stamp coupling): dữ liệu trao đổi giữa các module là một phần của cấu trúc hoặc toàn bộ cấu trúc Lập gởi tiền Dữ liệu trao đổi giữa các module Số tiền Số Tkhỏan Số dư Số Tkhỏan Tình trạng Số tiền Thêm phiếu gởi Cập nhật số dư Tkhỏan Xác định NVL tồn dưới mức t thiểu Cấu trúc Ngày Mức tồn tối thiểu Dữ liệu tồn kho Tính_tồn_kho Xác định mức tối thiểu

61 Thiết kế chức năng phần mềm hệ thống
Năm loại liên kết (coupling) Liên kết điều khiển (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 nhận hành động nào nên thực hiện Liên kết chung (common coupling): hai module cùng tham chiếu đến một cấu trúc toàn cục Liên kết nội dung (content coupling): module này có thể tham khảo đến nội dung của một module khác Kiểm tra công nợ khách hàng Thông tin điều khiển 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ợ khách hàng Hiển thị công nợ Control coupling vi phạm nguyên tắc che dấu thông tin. Bởi vì khi một module bị gọi, thì như vậy nó đã phải biết phương thức bên trong của module bị gọi. Một thay đổi đối với module bị gọi sẽ kéo theo sự thay đổi đối với module gọi. Vậy liên kết điều khiển cũng nên tránh. Two modules exhibit control coupling if one (``module A'') passes to the other (``module B'') a piece of information that is intended to control the internal logic of the other. This will often be a value used in a test for a case statement, if-then statement, or while loop, in module B's source code. This is perfectly acceptable. However, the program architecture (as shown by the structure chart) should make it clear that module A does control module B in this way - preferably by having module A call module B directly, or vice-versa. Then, when the system is combined together (``integrated'') and tested, the two modules will be combined together, and tested as one unit, relatively early in the process - so that any problems arising from this ``control coupling'' will be detected early on. Các module với common coupling trao đổi dữ liệu thông qua biến toàn cục. Do đó lỗi của module này có thể ảnh hưởng đến hoạt động của module khác. Khó tái sử dụng các module. Là liên kết có độ phụ thuộc cao, cần loại bỏ. Content coupling là liên kết có độ phụ thuộc cao nhất, cần phải loại bỏ Two (or more) modules exhibit content coupling if one refers to the ``inside'' - the ``internal'' or ``private'' part - of the other in some way. Pages-Jones gives the following examples: Module A ``branches'' or ``falls through'' into Module B (by containing a GOTO statement that transfers control somewhere into the middle of Module B); Module A refers to, or changes, Module B's internal (and, again, ``private'') data Module A changes one of the statements in Module B's object code.

62 Thiết kế chức năng phần mềm hệ thống
Xếp loại coupling Tên coupling Xếp hạng phụ thuộc Data coupling Stamp coupling Control coupling Common coupling Content coupling Rất thấp Thấp Trung bình Cao Rất cao

63 Thiết kế chức năng phần mềm hệ thống
Bảy loại cohesion Cố kết chức năng (functional cohesion): các lệnh trong module gắn liền với một chức năng hoặc một nhiệm vụ Cố kết tuần tự (sequential cohesion): các lệnh trong module thực hiện tuần tự sao cho đầu ra của lệnh này chính là đầu vào của lệnh kế tiếp. Lệnh 1 Lệnh 2 Lệnh 3 Lệnh 4 Module Đầu vào Đầu ra

64 Thiết kế chức năng phần mềm hệ thống
Bảy loại cohesion Cố kết trao đổi (communicational cohesion): 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 Lệnh 1 Lệnh 2 Lệnh 3 Đầu vào Đầu ra Module

65 Thiết kế chức năng phần mềm hệ thống
Bảy loại cohesion Cố kết thủ tục (procedural cohesion): các lệnh trong module thực hiện chuỗi các hành động không liên quan với nhau liên kết với nhau thông qua dòng điều khiển. Cố kết thời gian (temporal cohesion): các lệnh trong module thực hiện chuỗi các hành động có liên quan với nhau về thời gian. Cố kết luận lý (logical cohesion): bao gồm các lệnh thực hiện các hành động có liên quan về mặt nào đó, nhưng hành động được xác định từ module gọi. Cố kết ngẫu nhiên (coincidental cohesion): tất cả các lệnh trong module không liên quan đến nhau Cố kết luận lý có độ cố kết thấp dẫn đến khó bảo trì và khó tái sử dụng Một trong những nguyên nhân phổ biến nhất làm phát sinh module có cohesion ngẫu nhiên (coincidental cohesion) là do quy tắc cứng nhắc trong thiết kế như “Mỗi module phải có từ dòng lệnh”. Khi đó những module quá nhỏ phải gom lại thành một module lớn hơn; hoặc những module đã được thiết kế hoàn chỉnh nhưng vì quá lớn nên lại phải tách ra thành các module nhỏ hơn. Module cohesion ngẫu nhiên làm giảm khả năng bảo trì sản phẩm và không thể tái sử dụng.

66 Thiết kế chức năng phần mềm hệ thống
Xếp hạng cohesion Tên cohesion Xếp hạng gắn kết logic Cố kết chức năng Cao, mong muốn đạt được Cố kết tuần tự Cố kết trao đổi Cố kết thủ tục Trung bình, chấp nhận được Cố kết thời gian Cố kết luận lý Cố kết ngẫu nhiên Thấp, cần loại bỏ


Download ppt "Chương 6 Thiết kế hệ thống."

Similar presentations


Ads by Google