Chuyển đổi mô hình dữ liệu thành tệp dữ liệu

Một phần của tài liệu Giáo trình phân tích và thiết kế một hệ thống thông tin doc (Trang 124 - 148)

dữ liệu quan hệ mỗi kiểu thực thể tương ứng một tệp và có thể thêm các thuộc tính tình huống. Phân rã: căn cứ vào sử dụng nếu xảy ra những nhóm thuộc tính hay dùng và ít dùng khi phân rã chúng ra. Những thuộc tính hay dùng cho vào một tệp. Ví dụ: Kiểu thực thể ĐIỂM THI gồm các thuộc tính: SBD, Số phách, Điểm thi. Nhưng để đảm bảo bí mật thường được tách thành hai tệp PHÁCH (Số báo danh, Số phách) và BÀI THI (Số phách, Điểm thi).

Gộp hai hay nhiều kiểu thực thể khi việc sử dụng chúng thường đi liền với nhau. Ví dụ: với hai kiểu thực thể ĐƠN HÀNG và DÒNG ĐƠN HÀNG thường gộp vào một tệp.

Lặp lại các thuộc tính từ các tệp khác nhau. Ví dụ: các thuộc tính để kết nối giữa các tệp.

Lập các tệp chỉ dẫn căn cứ vào đường truy cập và theo các thuộc tính có tần số sử dụng cao. Ví dụ: trong hệ thống tuyển sinh vì yêu cầu xem điểm nhiều nên có thể tạo một tệp có các thuộc tính SBD và Điểm để giúp cho việc tìm kiếm thông tin được nhanh chóng

BÀI 5. THIẾT KẾ CHƯƠNG TRÌNH 5.1. TỔNG QUAN VỀ THIẾT KẾ CHƯƠNG TRÌNH

5.1.1. Mục đích

Xây dựng một kết cấu chương trình đúng đắn, hiệu quả mà với nội dung đó người lập trình có thể viết được chương trình mà không cần hiểu cả về hệ thống. Kết cấu chương trình là tập hợp các module được sắp xếp theo một trật tự quy tắc xác định. Kết cấu chương trình được biểu diễn bởi lược đồ cấu trúc chương trình.

5.1.2. Cách thực hiện

a. Phương pháp

Phương pháp thiết kế có cấu trúc. Phương pháp này cho phép phân tích để biến đổi luồng thông tin thành cấu trúc chương trình. Cách tiếp cận theo hướng từ trên xuống. T rong phương pháp có hai hướng phân tích cá luồng thông tin là phân tích theo biến đổi và phân tích theo giao tác. Hai hướng phân tích có thể tiến hành riêng biệt, nhưng nói chung thường được kết hợp để xây dựng ra một cấu trúc chương trình duy nhất.

Biểu đồ luồng dữ liệu của hệ thống con máy tính và các diễn tả của các module xử lý, thiết kế cơ sở dữ liệu, thiết kế giao diện, thiết kế kiểm soát.

c. Đầu ra

Lược đồ cấu trúc cho ta cấu trúc tổng thể của hệ thống con máy tính dưới dạng module chương trình, diễn tả các module chương trình.

d. Các công việc

- Phân định các module chương trình.

- Xác định mối liên quan giữa các module là lời gọi và các thông tin trao đổi. - Diễn tả các module chương trình.

- Gộp các module thành chương trình. - Thiết kế mẫu chương trình.

5.2. MODULE CHƯƠNG TRÌNH

Lược đồ chương trình còn gọi là lược đồ cấu trúc là một biểu diễn dưới dạng đồ thị của một tập hợp các module cùng với các giao diện giữa các module đó (bao gồm sự chuyển giao điều khiển và chuyển giao dữ liệu).

5.2.1. Module chương trình

Module chương trình là một chương trình con hoặc một nhóm lệnh nằm trong chương. Các đặc trưng cơ bản của một module chương trình.

Thông tin vào, ra: thông tin nhận được từ chương trình gọi nó hoặc thông tin trả lại cho chương trình gọi nó.

Chức năng: là các hàm biến đổi từ thông tin vào đến thông tin ra. Cơ chế: phương thức để thực hiện chức năng trên.

Dữ liệu cục bộ: các chỗ nhớ hay cấu trúc dữ liệu dùng riêng cho nó.

5.2.2. Biểu diễn các module trong lược đồ chương trình

a. Lược đồ chương trình

• Các module: được biểu diễn bởi một hình chữ nhật với tên module ở bên trong. Tên module phản ánh tóm tắt chức năng của module

Tên module

Nếu là module đã định nghĩa sẵn trong thư việc chương trình, trong hệ thống thì biểu diễn như sau

• Kết nối các module: các module có thể kết nối với nhau bằng lời gọi, diễn tả bởi mũi tên (cung)

• Thông tin chuyển giao giữa các module

Các thông tin được gửi kèm với lời gọi(các tham số) và thông tin trả về sau khi thực hiện lời gọi được thể hiện bằng các mũi tên nhỏ vẽ dọc theo cung biểu diễn cho lời gọi, có kèm thoe tên của thông tin.

Ví dụ: Lược đồ chương trình (LCT) của hệ thống tính lương

Tên module

ví dụ Đọc

A

B

Module A gọi module B. Module B thực hiện xong chức năng của mình sẽ quay về A tại vị trí liền sau lời gọi.

A

B

Module A gọi module B rồi gọi module C (Thứ tự trừ trái qua phải)

C

A

B

Module A gọi module B hoặc gọi module C tùy thuộc vào kết quả của phép chọn

C

A

B

b. Chất lượng của lược đồ chương trình

LCT sau khi được lập ta chưa nên xem xét là dạng cuối cùng để chấp nhận mà chỉ coi đây là phác thảo ban đầu của thiết kế module, ta còn phải tiếp tục tinh chỉnh nó bằng cách gộp, tách hay san sẻ lại nhiệm vụ giữa các module để đạt được các tiêu chuẩn về chất lượng sau.

Sự tương tác. Là sự ảnh hưởng lẫn nhau giữa các modul. Sự tương tác càng lỏng lẻo, đơn giản thì càng tốt. Vì muốn thiết kế các module độc lập với nhau để có nhiều thuận lợi khi sửa chữa hệ thống. Các loại tương tác:

o Tương tác về nội dung: module này can thiệp vào nội dung của module khác. Tương tác này là tương tác xấu cần loại bỏ.

o Tương tác về điều khiển: module này chuyển thông tin điều khiển cho một module khác. Khi gửi thông tin điều kiển thì module cấp trên đã biết nội dung của module cấp dưới, điều này vi phạm nguyên tắc che giấu thông tin. Vì vậy tương tác điều khiển càng ít càng tốt.

o Tương tác về dữ liệu: các module trao đổi dữ liệu cho nhau. Tương tác này bắt buộc phải chấp nhận nhưng làm cho càng đơn giản càng tốt bằng cách thực hiện việc trao đổi thông qua phương thức chuẩn là các tham số.

kết càng cao càng tốt đểdễ phát hiện lỗi, dễ bảo trì.

Phạm vi. Phạm vi điều khiển của một module là chính là module đó và các module được gọi nó. Một thiết kế tốt là phạm vi ảnh hưởng nằm trong phạm vi điều khiển và các quyết định có miền ảnh hưởng càng bé càng tốt.

5.3. ĐÓNG GÓI CÁC MODULE THÀNH CHƯƠNG TRÌNH5.3.1. Yêu cầu 5.3.1. Yêu cầu

Tài liệu vào. Biểu đồ DFD của hệ thống con máy tính ở mức sâu nhất.

Cách tiến hành. Chuyển từ DFD thành lược đồ chương trình. Sử dụng các tiếp cận từ trên xuống, tinh chỉnh dần lược đồ chương trình từng bước để cuối cùng thu được một lược đồ chương trình hiệu quả thỏa mãn các yêu cầu về chất lượng.

Yêu cầu đối với lược đồ chương trình.

- Nhiệm vụ của mọi chức năng xử lý trong DFD phải được chuyển hết vào các module chương trình của lược đồ chương trình. Đó có thể là sự chuyển đổi mỗi chức năng xử lý thành một module chương trình., mà cũng có thể là sự phân tán hay tổ hợp các chức năng xử lý vào các module chương trình khác nhau.

- Phải thêm các module vào/ra, và đặc biệt là thêm các module điều khiển làm nhiệm vụ dẫn dắt quá quá trình xử lý. Trong số các module điều khiển đó phải có một module đặt ở gốc của lược đồ chương trình, thường gọi là module chính.

- Thiết lập các lời gọi (kèm theo các thông tin chuyển giao) giữa các module, phản ánh được quá trình thực thi của chương trình.

Ví dụ. Trong hệ thống Cung ứng vật tư, quá trình "Lập phiếu phát hàng" được diễn tả bằng DFD sau. Dự trù Dòng dự trù Giao hàng Dòng giao hàng Tìm địa chỉ phát hàng Làm phiếu phát hàng SHGH+SHMH Địa chỉ

Lược đồ chương trình ứng với DFD trên là

Cách làm như trên khá đơn giản, song lược đồ chương trình thu được thường là quá rườm rà. Vả lại, khi gặp một DFD có dạng phức tạp, thì việc chuyển nó thành lược đồ chương trình không phải là dễ như ví dụ trên.

Các dạng phức tạp thường thể hiện dưới hai dạng điển hình: Cấu trúc biến đổi và Cấu trúc giao tác. Do đó có hai hướng thiết kế khác nhau là thiết kế hướng biến đổi và thiết kế hướng giao tác.

5.3.2. Thiết kế hướng biến đổi

Thiết kế hướng biến đổi áp dụng cho trường hợp DFD có nhiệm vụ biến đổi một số thông tin lấy từ một số nguồn phát, thành một số thông tin gửi tới nơi nhận. Trong thiết kế hướng biến đổi xuất hiện khái niệm trung tâm biến đổi.

Trung tâm biến đổi: là trung tâm xử lý, biến đổi các thông tin vào để tạo ra luồng thông tin ra đi ra. Nó có thể là một đơn thể, có thể là một tập hợp các đơn thể.

Phát hàng Lấy SHGH và SHMH Tìm địa chỉ phát hàng In phiếu phát hàng Tìm SHĐH Tìm SHDT và SHPX Số hiệu mặt hàng Số hiệu giao hàng SHGH SHMH Số hiệu p.xưởng SHGH SHMH Số hiệu p.xưởng SHGH SHMH Số hiệu đơn hàng Số hiệu p.xưởng SHĐH SHMH

Luồng vào Luồng ra

Việc thiết kế hướng biến đổi nhằm phát hiện một trung tâm biến đổi thông tin chủ yếu.

Các bước thực hiện

Bước 1. Với luồng vào. Dõi theo các luồng dữ liệu vào và vượt qua các chức năng biến đổi thông tin sơ bộ cho đến khi hoặc các dữ liệu đó trở thành dữ liệu vào ở các dạng trừu tượng nhất, hoặc không còn xem chúng là dữ liệu vào nữa.

Bước 2. Với luồng ra. Với các dòng dữ liệu ra, đi ngược dòng vượt qua các chức năng biến đổi thông tin cho đến khi không xem đó là dữ liệu ra được nữa thì đánh dấu ngắt các luồng ra.

Bước 3. Căn cứ vào các điểm đánh dấu khoanh vùng các xử lý còn lại đấy là trung tâm biến đổi.

Ví dụ.

Bước 4. Vẽ hai mức cao nhất trong lược đồ chương trình. - Mức 1: Gồm các module chính

- Mức 2:

o Một module vào cho mỗi luồng dữ liệu vào

o Một module ra cho mỗi luồng dữ liệu

o Một module cho trung tâm biến đổi

Bước 5. Triển khai mỗi module ở mức 2 xuống mức thấp hơn và làm xuất hiện dần các module tương ứng với chức năng xử lý trong DFD.

Ví dụ E F G D B A H K C Nhận 1 Nhận 2 Nguồn 1 Nguồn 2 x1 x2 x3 y1 y2 q 2 q 1 q 3 q 4 s 1 s 2 s 3 s 4

5.3.3. Thiết kế hướng giao tác

Đặc trưng của cấu trúc giao tác là một chức năng phân loại cho phép xác định loại của dữ liệu vào, để rồi cứ mỗi loại sẽ cung cấp một cách xử lý riêng.

Thiết kế hướng giao tác áp dụng cho trường hợp DFD thể hiện một cấu trúc giao tác như vậy. Trong thiết kế giao tác xuất hiện khái niệm trung tâm giao tác

Trung tâm giao tác: là trung tâm xử lý luồng thông tin vào và tạo ra luồng thông tin ra. Tuy nhiên luồng thông tin vào trung tâm giao tác có tính giao tác tức là nó sẽ gây ra luồng dữ liệu đi ra theo một chiều trong nhiều nhánh khác nhau.

Các bước thực hiện

Chính

Vào Biến đổi Ra

D x3 y2 x3 y2 s1 s1 s2 s2 E F G y2 x3 q1 q2 q 2 s1 s2 q3 q4 q4 Vào A B C x1 y1 x1 x2 y2 y1 x3 H F Ra s1 s3 s4 s1 s2 x2

Giao diện Giao diện

Giao dịch

Nhánh 1

TRUNG TÂM GIAO TÁC

Nhánh 2

Bước 1. Xác định và khoanh vùng các trung tâm giao tác trong DFD

Bước 2. Xác định các loại giao tác khác nhau tương ứng với các luống ra của trung tâm giao tác đồng thời xác định các chức năng được khởi động từ trung tâm giao tác đó.

Bước 3. Vẽ lược đồ chương trình ở hai mức cao nhất - Mức 1: Một module chính

- Mức 2: Gồm 2 module, một module cho đầu vào giao tác và một module cho xử lý giao tác.

Bước 4. Triển khai các module mức 2 xuống mức thấp hơn, mỗi xử lý một module và được module xử lý giao tác gọi qua phép chọn. Khi khai triển cần phát hiện các module dùng chung E F G D B A H K C Nhận 1 Nhận 2 Nguồn 1 Nguồn 2 x1 x2 x3 y1 y2 q2 q1 q3 s1 s2 s3 r2

Trung tâm giao tác

Nhận 2 r1 Chính Vào Xử lý giao tác E x3 y2 s1 s2 H Ra1 y2 x3 q1 q1 q2 q3 Vào A B C x1 y1 x1 x2 y2 y1 x3 x2 Giao diện Giao diện XL1 XL2 XL3 G K Ra2 y2 x3 s1 s1 s2 s3 F Ra3 y2 x3 r1 r2 Giao diện Giao diện y2 x3 x3 y2

5.4. THIẾT KẾ CÁC MẪU THỬ

Mẫu thử có thể được phát sinh ngẫu nhiên hoặc không ngẫu nhiên, tự động hoặc không tự động.

Cách thử chương trình bằng mẫu thử: Thử tính đúng đắn

So kết quả thu được với kết quả chờ đợi

Nếu trong quá trình thử phức tạp, yêu cầu chương trình in các giá trị trung gian

Kiểm tra giá trị trung gian Kiểm tra vệt chương trình

Thử hiệu năng: các mẫu thử phải đủ lớn và có thể thử nghiệm trong một thời gian dài.

CHƯƠNG 6 – LẬP TRÌNH CHẠY THỬ VÀ BẢO TRÌ BÀI 1. LẬP TRÌNH, GHÉP NỐI CÁC CHƯƠNG TRÌNH 6.1. TỔ CHỨC LẬP TRÌNH VÀ GHÉP NỐI HỆ THỐNG

6.1.1. Các công việc chuẩn bị trước khi tiến hành lập trình

Trước khi bắt tay vào giai đoạn lập trình, các chuyên gia quản lý dự án phải trả lời các câu hỏi sau:

• Kết quả rà xét lại thiết kế có yêu cầu phải làm lại một phần nào đó trong hệ thống không? Nếu có, phải sắp xếp thời gian một cách phù hợp và không nên bắt đầu lập trình khi chưa giải quyết ổn thoả mọi chuyện.

• Các nguồn nhân lực, vật lực và thông tin, cũng như là các lập trình viên lúc nào cũng sẵn sàng và dự an sẽ kết thúc đúng theo kỳ hạn. Khi có thay đổi nhân sự vì bất cứ lý do gì, cần phải lượng trình năng suất công việc của người mới đến thay thế để có thể trù liệu trước mọi chuyện đáp ứng được hạn định đã đặt ra. Bởi lẽ trong các công ty với các điều kiện làm việc như nhau, một chuyên gia lập trình giỏi có thể làm việc với năng suất gấp 8 lần người có trình độ trung bình.

• Mọi người đã được đào tạo chưa? Chẳng hạn, khi bắt tay vào công việc, các lập trình viên phải biết rõ về hệ điều hành, ngôn ngữ lập trình và các công cụ lập trình sẽ được sử dụng. Họ còn phải làm quen với ứng dụng mà người sử dụng đặt hàng cũng như bài toán cần giải quyết. Một điều quan trọng là phải cung cấp tài liệu đầy đủ đề các lập trình viên biết rõ về tài liệu yêu cầu và đặt tả chức năng.

• Mô trường lập trình dành cho các thành viên trong dự án đó được chuẩn bị tốt, đáp ứng các yêu cầu của công việc không? Kinh nghiệm triển khai thực tiễn đã chứng tỏ rằng nên chọn những phần mềm và công cụ lập trình dễ sử dụng. Các máy tính dùng để phát triển công việc của dự án phải đáp ứng được yêu cầu: trả lời nhanh (tốc độ cao), dung lượng bộ nhớ đủ lớn, có độ tin cậy cao và cung cấp đủ khi cần thiết. Một điểm quan trọng khác là phải đảm bảo các thiết bị vẫn đang được nhà sản xuất bảo hành, các tài liệu về phần mềm phát triển vẫn đang được cập nhật thường xuyên. Trong thời gian thực hiện dự án phải luôn đảm bảo hệ thống không bị gián đoạn.

6.1.2. Các bước lập trình, ghép nối và chạy thử

Kinh nghiệm xây dựng các hệ tin học cỡ lớn chỉ ra rằng không nên và không thể xây dựng một chương trình giải quyết được tất cả mọi việc. Trong những trường hợp như

Một phần của tài liệu Giáo trình phân tích và thiết kế một hệ thống thông tin doc (Trang 124 - 148)

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

(148 trang)
w