z Thiết kế giao diệnz Thiết kế kiểm soát z 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 mođun chương trình z Diễn tả các mođun chương trình... z Thông t
Trang 1Phân tích thiết kế
hệ thống
Lớp Tin học 3 05/09/07 - 08/10/07
Nguyễn Hoài Anh
Khoa công nghệ thông tin Học viện kỹ thuật quân sự
nguyenhoaianh@yahoo.com
Trang 3I Đại cương
z 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 chương trình mà không cần hiểu cả hệ thống.
z Kết cấu chương trình là tập tất cả các mođun (đơn thể) được sắp xếp theo một trật tự quy tắc xác định.
z Kết cấu chương trình được biểu diễn bởi lược đồ cấu trúc chươngtrình
Trang 5z Thiết kế giao diện
z Thiết kế kiểm soát
z 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 mođun chương trình
z Diễn tả các mođun chương trình
Trang 7z Thông tin vào: các thông tin lấy từ chương trình gọi nó
z Thông tin ra: các thông tin trả về chương trình gọi nó
z Chức năng: là các hàm biến đổi từ thông tin vào tới thông tin ra
z Cơ chế: là phương thức cụ thể để thực hiện chức năng
z Thông tin cục bộ: là các thông tin dùng riêng cho chức năng
Trang 8II Mođun chương trình
z Phân loại: có 3 loại môdun
z Mođun tuần tự: được gọi và thực hiện mà không bị ngắt
z Mođun tăng trưởng: có thể bị ngắt trước khi kết thúc và sau đó có thể chạy tiếp tại thời điểm ngắt
z Mođun song song: thực hiện đồng thời cùng với một số mođun khác.
z Để gọi một mođun chỉ cần biết các đặc trưng ngoài còn đặc trưng trong thể hiện sự cài đặc của mođun đó
Trang 9z KÕt nèi c¸c m«®un b»ng lêi gäi
M«®un A gäi m«®un B, B thùc hiÖn xong sÏ quay vÒ A t¹i vÞ trÝ liÒn sau lêi gäi
Trang 10II Mođun chương trình
z Biểu diễn các môđun trong lược đồ chương trình
z Lược đồ chương trình
z Kết nối các môđun bằng lời gọi
Môđun A gọi môđun B rồi gọi Môđun C (thứ tự từ trái sang phải)
Mođun A gọi môđun B hoặc gọi Môdun C tuỳ thuộc kết quả của phép chọn
Trang 11II Mođun chương trình
z Biểu diễn các môđun trong lược đồ chương trình
z Lược đồ chương trình
z Kết nối các môđun bằng lời gọi
Môđun A gọi môdun B nhiều lần
Thông tin chuyển giao giữa các môđun
Truyền dữ liệu
Truyền thông tin điều khiển
Trang 14II Mođun chương trình
z Biểu diễn các môđun trong lược đồ chương trình
z Chất lượng của lược đồ chương trình: được đánh giá trên các tiêuchí: sự tương tác, sự cố kết, phạm vi
Trang 15II Mođun chương trình
z Chất lượng của lược đồ chương trình:
z Sự cố kết
Là sự gắn bó về mặt logic giữa các phần trong nội bộ một môđun
Sự cố kết càng cao càng tốt để dễ phát hiện lỗi và dễ bảo trì
Để có sự cố kết tốt mỗi môđun chỉ thực hiện một chức năng
z Phạm vi
Phạm vi điều khiển của 1 modul là chính modul đó và các modul được gọi nó
Phạm vi ảnh hưởng của một quyết định là mọi môđun chịu ảnh hưởng của quyết định đó
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
Trang 16III Cách chuyển đổi DFD thμnh lược đồ CT
z Yêu cầu chung
z Đối với mỗi DFD của hệ thống con, phải lập một lược đồ chươngtrình (LCT) tương ứng LCT đạt các yêu cầu
z 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 môđun chương trình của LCT
z Thêm các mođun vào/ra (giao diện với người dùng hay truy cập CSDL), và đặc biệt là thêm các môđun điều khiển làm nhiệm vụ dẫn dắt quá trình xử lý.
z Thiết lập các lời gọi (kèm với các thông tin chuyển giao) giữa các môđun, phản
ánh quá trình thực thi của chương trình
Trang 17III Cách chuyển đổi DFD thμnh l−ợc đồ CT
z Yêu cầu chung
z Ví dụ: xét một phần của hệ con 2.2 của hệ cung ứng vật t−
SHG
H+SHM T
Trang 18III Cách chuyển đổi DFD thμnh l−ợc đồ CT
z Yêu cầu chung
z Ví dụ: xét một phần của hệ con 2.2 của hệ cung ứng vật t−
Phát hàng
Lấy SHGH và SHMH
Tìm đ/c phát hàng
In phiếu phát hàng
Số hiệu giao h àng
Số hiệu mh àng
Số hiệu px ởng
đhà ng
Số hiệu
mhàng
Số hiệu pxởng
Trang 19III Cách chuyển đổi DFD thμnh l−ợc đồ CT
z Một LCT với các môđun và các lời gọi của nó tạo nên một sự phân cấp ⇒ cách thành lập LCT tốt nhất là triển khai dần từ trên xuống
z Sự triển khai trên xuống có thể kết hợp chặt chẽ với sự phân mức các DFD mà ta thu đ−ợc từ giai đoạn phân tích
z Giả sử DFD mức đỉnh có dạng sau
Trang 20III Cách chuyển đổi DFD thμnh l−ợc đồ CT
z Triển khai từ trên xuống
Trang 21III Cách chuyển đổi DFD thμnh l−ợc đồ CT
z Triển khai từ trên xuống
x y x
u
y
v
u v r
Trang 22III Cách chuyển đổi DFD thμnh lược đồ CT
z Cách làm trên khá đơn giản, song LCT thu được quá rườm rà.
z Mặt khác, khi gặp DFD có dạng phức tạp thì việc chuyển nó thành LCT không phải dễ.
z Các trường hợp phức tạp thể hiện dưới 2 dạng
Trang 23III Cách chuyển đổi DFD thμnh lược đồ CT
z Thiết kế hướng giao dịch (hướng biến đổi)
z Thiết kế hướng biến đổi (transform centered design) á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
z Trong thiết kế hướng biến đổi xuất hiện khái niệm trung tâm biến đổi.
z 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 các thông tin ra Nó có thể là đơn thể, có thể là một tập các đơn thể
z 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
Trang 24III Cách chuyển đổi DFD thμnh lược đồ CT
z Thiết kế hướng giao dịch (hướng biến đổi)
z Các bước thực hiện
cho đến khi
Thì đánh dấu ngắt luồng vào
tin cho đến khi không xem đó là dữ liệu ra được nữa thì đánh dấu ngắt luồng ra
trung tâm biến đổi.
Trang 25III Cách chuyển đổi DFD thμnh lược đồ CT
z Thiết kế hướng giao dịch (hướng biến đổi)
z Ví dụ
Trang 26III Cách chuyển đổi DFD thμnh lược đồ CT
z Thiết kế hướng giao dịch (hướng biến đổi)
z Các bước thực hiện
dần các modul tương ứng với các chức năng xử lý trong DFD
Trang 27III Cách chuyển đổi DFD thμnh lược đồ CT
z Thiết kế hướng giao dịch (hướng biến đổi)
z Ví dụ
Trang 28III Cách chuyển đổi DFD thμnh lược đồ CT
z Thiết kế hướng giao tác (transition centered design)
z Đặ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ấpmột cách xử lý riêng
z Thiết kế hướng giao tác áp dụng cho trường hợp DFD thể hiện mộtcấu trúc giao tác như vậy Trong thiết kế hướng giao tác xuất hiệnkhái niệm trung tâm giao tác
z Trung tâm biến đổi: là trung tâm xử lý luồng thông tin vào và tạo luồng thông tin ra
gây ra luồng dữ liệu ra theo nhiều nhánh khác nhau.
Trang 29III Cách chuyển đổi DFD thμnh lược đồ CT
z Thiết kế hướng giao tác (transition centered design)
z Loại trừ chỉ xuất hiện trong các luồng thông tin ra
Trang 30III Cách chuyển đổi DFD thμnh lược đồ CT
z Thiết kế hướng giao tác
z Các bước thực hiện
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 đó.
Trang 31III Cách chuyển đổi DFD thμnh l−ợc đồ CT
modul và đ−ợc môdul xử lý giao tác gọi qua phép chọn Khi triển khai cần phát hiện các modul dùng chung.
Trang 32III Cách chuyển đổi DFD thμnh lược đồ CT
z Thiết kế hướng giao tác
z Ví dụ
Trang 33III Cách chuyển đổi DFD thμnh lược đồ CT
z Hai phương pháp trên là hai cách tiếp cận để thành lập lược đồ
chương trình
z Thông thường phương pháp 1 là chính và được sử dụng nhiều hơn
z Phương pháp 2 là trường hợp đặc biệt dùng cho các biến đổi có giao tác được phân loại.
pháp.
trình nhưng chất lượng của lược đồ chương trình chưa cao.
Trang 34III Cách chuyển đổi DFD thμnh lược đồ CT
z Không có tiêu chuẩn cụ thể về chất lượng của lược đồ chương trình, nhưng việc tuân thủ đúng các quy tắc sau sẽ nâng cao chất lượngcủa lược đồ chương trình
z Cố gắng giảm độ rộng bằng cách tăng độ sâu của lược đồ chương trình (chia hệ thống thành các hệ con) Quy tắc này sẽ tăng độ cố kết, giảm tính kết nối đơn thể.
z Hạn chế tối đa phạm vi ảnh hưởng của đơn thể và đặt phạm vi ảnh hưởng nằm trong phạm vi kiểm soát của đơn thể.
z Hạn chế tối đa các dòng thông tin vào ra một đơn thể Tốt nhất là tạo các đơn thể một đầu vào, một đầu ra Quy tắc này cho phép giảm tính gắn nối, tăng tính độc lập chức năng của các đơn thể.
Trang 35z Bảng quyết định (ít sử dụng)
z Sơ đồ khối
z Ngôn ngữ có cấu trúc
Trang 36z Tuyển chọn: chọn một trong nhiều hành động của chức năng.
z Cấu trúc lệnh If … then … else … tương ứng “Nếu … thì … ngược lại …”
z Lặp: các hành động được lặp lại theo một số lần
z Cấu trúc lệnh được bắt đầu bởi cụm từ For each tương ứng “Với mỗi” và các lệnh
lặp được viết thụt vào
Trang 37z Các từ khóa để thực hiện cấu trúc điều khiển như tuần tự, chọn, lặp
z Các thuật ngữ được định nghĩa trong từ điển dữ liệu và DFD
z Một số từ logic dành riêng dùng để chỉ cú pháp của chương trình
z Ví dụ: Đặc tả moddul chương trình thực hiện chức năng “Kiểm trakhả năng đáp ứng mặt hàng”
Trang 39IV Đặc tả các môđun chương trình
z Sơ đồ khối
z Ví dụ: Đặc tả modul chương trình thực hiện chức năng “Kiểm tra khảnăng đáp ứng mặt hàng”
Trang 41V Đóng gói thành môđun tải
z Một modul chương trình muốn thực hiện được phải đưa vào bộ nhớ trong
z Mỗi lần tải phải tốn 1 phần thời gian của hệ thống
z Về nguyên tắc mỗi lược đồ chương trình là một chương trình do đó mọi modul đều nạp hết vào bộ nhớ trong.
z Nhưng do bộ nhớ hạn chế nên phải cắt các lược đồ chương trìnhthành các nhóm modul gọi là modul tải
z Các modul này được tải dần vào bộ nhớ trong
Trang 42V Đóng gói thành môđun tải
z Có nhiều cách đóng gói modul tải
z Đóng gói theo mục đích sử dụng{ mục đích sử dụng gần nhau thì
đóng gói làm một Thường cắt riêng: xử lý theo lô hay xử lý trực
tuyến
z Đóng gói theo dòng dữ liệu vào (đóng gói theo phạm vi điều khiển)
z Đóng gói các modul ở mức thấp thành một modul tải gọi là thư việnchương trình
z Các modul được gọi lặp thường được đóng gói chung với modul gọinó
Trang 44KÕt luËn
Trang 45Th¶o luËn