Thiết kế chi tiết chức năng MODULE chơng trình

Một phần của tài liệu giáo án môn phân tích thiết kế hệ thống thông tin (Trang 70)

Trong các mục trớc chúng ta đã xem xét thiết kế tổng thể, thiết kế giao diện, thiết kế kiểm soát và thiết kế dữ liệu. Về cơ bản, có thể chuyển sang viết chơng trình đáp ứng những yêu cầu riêng của hệ thống. Tuy nhiên, một số vấn đề cần đợc xem xét chi tiết thêm nh hình thành các chức năng hỗ trợ hoặc đặc tả chuyển giao dữ liệu giữa các tiến trình trong hệ thống.

Mục đích của thiết kế chơng trình là nhằm hoàn chỉnh các chức năng hỗ trợ và chi tiết hoá cách thức chuyển giao dữ liệu trong hệ thống.

Thông tin đợc sử dụng cho thiết kế chơng trình gồm có sơ đồ dòng dữ liệu hệ thống, các lựa chọn giao diện hệ thống, các phơng án kiểm soát hệ thống và cơ sở dữ liệu đã đợc lựa chọn. Thiết kế chơng trình cho sản phẩm là bản mô tả các thủ tục sẽ đợc cài đặt, bao gồm

a. Cấu trúc chơng trình cho từng hệ thống con. Cấu trúc chơng trình có thể đợc mô tả nh một cấu trúc phân cấp, trong đó

Mỗi modul chơng trình đứng ở một nút nào đó của sơ đồ

Các cung nối với các nút ở dới mức kế tiếp nh là lời gọi đến các modul chơng trình tơng ứng ở các nút này.

b. Đặc tả nội dung các modul có trong sơ đồ c. Phân bổ modul thành chơng trình

1. Thiết kế cấu trúc chơng trình a. Modul chơng trình

Trong cấu trúc phân cấp các thành phần của chơng trình, modul chơng trình đợc hiểu nh là một đơn vị khá nhỏ của hệ thống đợc định nghĩa bởi chức năng của nó. Nói cách khác, modul là một thành phần tơng đối độc lập trong hệ thống.

Một modul chơng trình có thể là một chơng trình con dạng thủ tục, hàm hoặc có thể là tập hợp một số câu lệnh trong chơng trình.

Nói đến một modul, cần phải đề cập đến ba yếu tố Thông tin vào và thông tin ra.

Cách thức biến đổi thông tin vào thành thông tin ra. Dữ liệu cục bộ của modul.

b. Mô tả cấu trúc chơng trình

Trong bản mô tả cấu trúc chơng trình, modul đợc biểu diễn bằng một hộp chữ nhật với tên modul ở bên trong. Tên của modul thể hiện nhiệm vụ của nó. Cũng cần phân biệt modul có sẵn bên trong hệ thống và những modul cần xây dựng. Hộp chữ nhật chứa modul có sẵn đợc vẽ bằng nét kép.

Các modul tơng tác với nhau thông qua lời gọi. Lời gọi đợc biểu diễn bằng một mũi tên. Hớng của mũi tên chỉ hớng của lời gọi.

Hình 5.17 Modul A gọi modul B

Trong hình 5.17, thủ tục A gọi tới thủ tục B. Sau khi thủ tục B thực hiện xong nhiệm vụ, nó trả lại điều khiển cho thủ tục B.

Trong trờng hợp một thủ tục nào nào đó gọi tới nhiều thủ tục thì thứ tự trên hình chỉ ra thứ tự các thủ tục đợc gọi. Trong một số tình huống khi modul gọi tới nhiều modul khác, các modul phía ngoài cùng bên trái thờng liên quan đến nhiệm vụ lấy thông tin vào, các modul ở giữa có nhiệm vụ xử lý, biến đổi thông tin và những modul nằm ngoài cùng bên phải có nhiệm vụ đa thông tin ra.

Khi thực hiện lời gọi, thông thờng modul gọi sẽ truyền thông tin vào cho modul đợc gọi. Sau khi thực hiện xong nhiệm vụ, modul đợc gọi sẽ trả lại thông tin cần thiết cho modul gọi. Trong mô tả cấu trúc có thể sử dụng các mũi tên nhỏ để chỉ ra hớng truyền thông tin và tên thông tin.

c. Xây dựng cấu trúc chơng trình

Với mỗi sơ đồ dòng dữ liệu hệ thống của các hệ thống con cần phải xây dựng một l- ợc đồ cấu trúc chơng trình tơng ứng.

Khi chuyển từ sơ đồ dòng dữ liệu hệ thống sang lợc đồ cấu trúc chơng trình,phải đảm bảo mọi chức năng trong sơ đồ dòng dữ liệu đợc chuyển vào lợc đồ cấu trúc chơng trình. Có thể mỗi chức năng xử lý đợc chuyển thành một modul, cũng có thể tổ hợp

Modul A

Modul B Modul A

một số chức năng xử lý thành một modul, hoặc ngợc lại, phân rã một chức năng xử lý thành một số modul. Ngoài các modul đợc hình thành do việc chuyển đổi các chức năng xử lý, cần phải thêm một số modul vào/ra và các modul điều khiển.

Ngày hiện thời

Số cá biệt Số lợng

Số thẻ Số sách nợ trong kho

Hình 5.18 Trao đổi thông tin giữa các môđun

Trong lợc đồ cấu trúc chơng trình, các môđun cùng với những lời gọi của chúng đã tạo nên một mô hình phân cấp. Vì vậy, khi xây dựng lợc đồ cấu trúc chơng trình, có thể áp dụng cách tiếp cận từ trên xuống. Việc triển khai từ trên xuống khi xây dựng lợc đồ cấu trúc chơng trình có thể dựa vào sự phân mức trong sơ đồ dòng dữ liệu hệ thống.

Cũng giống nh việc xây dựng sơ đồ phân rã chức năng hay sơ đồ dòng dữ liệu, lợc đồ cấu trúc chơng trình đợc xây dựng ở thời điểm đầu đợc coi nh là bản phác thảo. Từ lợc đồ ban đầu này cần phải tinh chỉnh cách gộp, tách hoặc phân chia lại nhiệm vụ cho các môđun để lợc đồ có đợc chất lợng tốt:

a) Sự tơng liên ( coupling ), tức là sự liên kết, sự trao đổi lẫn nhau giữa các môđun, càng ít càng tốt. Sự tơng liên có thể trở về:

- Nội dung: một nhiệm vụ, chức năng trong môđun này làm thay đổi nội dung của các môđun khác, hoặc rẽ nhánh sang một môđun khác. Đây là loại tơng liên xấu nhất.

- Dữ liệu: Hai môđun trao đổi dữ liệu cho nhau. Đây là hình thức tơng liên thông thờng. Tuy nhiên, việc trao đổi dữ liệu càng đơn giản càng tốt.

- Điều khiển: Môđun này chuyển thông tin điều khiển cho một môđun khác .

- Môi trờng: Các môđun sử dụng chung một môi trờng nh vùng nhớ chung, vùng dữ liệu chung hoặc các biến toàn cục.

b) Sự cấu kết ( cohesion ), tức là sự gắn bó giữa các nhiệm vụ trong một môđun, càng rõ, càng mạnh càng tốt. Sự cấu kết đợc thể hiện thông qua tính mục tiêu của các

Xử lý phiếu m ợn

Kiểm tra sổ

nhiệm vụ trong môđun, tính liên tiếp của các nhiệm vụ và tính thủ tục của các nhiệm vụ.

2) Đặc tả Môđun.

Khi xây dựng mô hình phân cấp chức năng và sơ đồ dòng dữ liệu, chúng ta đã xem xét cách thức đặc tả chức năng ( xem Bài 3 chơng 3 ) .Trong đặc tả môđun chúng ta vẫn tiếp tục sử dụng các phơng tiện đã nêu trong chơng 3 nh sơ đồ khối và tựa ngôn ngữ lập trình.

Trong đặc tả môđun, các điều kiện cài đặt cụ thể nh các tham số chuyển giao, các đối thoại, các xử lý tình huống, các thao tác vào / ra, các truy nhập dữ liệu phải đợc mô tả đầy đủ.

Xét ví dụ đặc tả môđun “ In phiếu đòi sách có bạn đọc có sách quá hạn”.Trong ví dụ này thông tin về sách, bạn đọc và dữ liệu mợn/trả đợc sử dụng từ ví dụ trong bài 4.

1 Môđun: In phiếu đòi sách có bạn đọc có sách quá hạn

• Dữ liệu vào:

- Số thẻ bạn đọc - Ngày hiện thời

- Tệp BAN_ DOC, SACH, MUON_ TRA

• Dữ liệu ra:

- Phiếu đòi danh sách tài liệu mợn quá hạn cho từng bạn đọc. 2. Mô tả

Ng: = ngày hiện thời

For each bản ghi trong tệp BAN_DOC c) K: = Số thẻ

d) DSQH:=φ

e) TT: = 0;

f) For each bản ghi trong MUON_ TRA If ( K= Số thẻ ) & ( Ngày trả= Null ) & ( Ngày hẹn trả< Ng) Then

• TT: = TT + 1

• DSQH (TT) := Số cá biệt

g) If TT > 0 Then

• In tiêu đề phiếu đòi

• For I: = 1 to TT

Write ( Thông tin về sách có Số cá biệt = DSQH (I) )

Một công việc cần phải thực hiện khi thiết kế chơng trình là sau khi đặc tả đầy đủ cac môđun, cần phải phân bổ các môđun thành chơng thống nhất. Khi đó, cần tới

Xét nghiệm: Xét nghiệm:_

Siêu âm

môđun nào thực hiện, môđun đó đã sẵn sàng trong bộ nhớ, không cần phải đợi từ bộ nhớ ngoài vào. Tuy nhiên, tập hợp các môđun đối với một hệ thống thờng là rất lớn, khó có thể tải vào bộ nhớ đồng thời. Mặt khác, nếu từng tải từng môđun vào bộ nhớ, khi có yêu cầu thực hiện một môđun nào đó lại phải chờ đợi tải từ bộ nhớ ngoài vào thì sẽ tiêu tốn nhiều thời gian. Do vậy, phân chia các môđun thành các chơng trình nh thế nào cho tốt thì phải xem xét, căn cứ vào cấu hình của hệ thống nh kích thớc bộ nhớ trong, kích thớc và độ phức tạp của các môđun, kích thớc và độ phức tạp của dữ liệu mà các môđun này sử dụng, cũng nh tần suất các lời gọi đến các môđun và sự gắn kết giữa các môđun.

Một phần của tài liệu giáo án môn phân tích thiết kế hệ thống thông tin (Trang 70)

Tải bản đầy đủ (DOC)

(82 trang)
w