Bài Giảng PT HTTT KT_CĐ9 PDF
Document Details
Uploaded by Deleted User
Tags
Summary
This document details the design of information systems and outlines the key concepts and procedures involved.
Full Transcript
Chủ đề 9: THIẾT KẾ HỆ THỐNG THÔNG TIN KINH TẾ Mục tiêu cần đạt được của chủ đề 9 Về kiến thức: Hiểu quy trình và các bước thiết kế tổng thể và chi tiết trong hệ thống thông tin kinh tế. Nắm rõ các phương pháp phân định ranh giới giữa chức năng thủ công và chức năng máy tín...
Chủ đề 9: THIẾT KẾ HỆ THỐNG THÔNG TIN KINH TẾ Mục tiêu cần đạt được của chủ đề 9 Về kiến thức: Hiểu quy trình và các bước thiết kế tổng thể và chi tiết trong hệ thống thông tin kinh tế. Nắm rõ các phương pháp phân định ranh giới giữa chức năng thủ công và chức năng máy tính, thiết kế các tài liệu xuất. Về kỹ năng: Biết cách phân tích và thiết kế các hệ thống con của máy tính và các chức năng cụ thể trong hệ thống thông tin kinh tế. Thực hành thiết kế các chương trình chi tiết và giao tiếp người – máy. 9.1. Thiết kế tổng thể và chi tiết 9.1.1. Thiết kế tổng thể ❖ Phân định ranh giới giữa chức năng máy tính và chức năng thủ công - Dữ liệu đầu vào của phần này là biểu đồ luồng dữ liệu ở mức nào đó, tài liệu ra (đầu ra) vẫn là biểu đồ đó nhưng đã được phân định rõ ranh giới giữa máy tính và thủ công. - Cách thực hiện như sau: a) Đối với các chức năng xử lý: Với các chức năng nằm hẳn về 1 bên hoặc là thủ công hoặc là máy tính thì giữ nguyên, còn với những chức năng chưa phân định rõ có thể xảy ra một trong hai khả năng: - Căn cứ vào tình hình mức độ tin học hoá chuyển sang thực hiện trên máy tính hoàn toàn; hoặc chuyển sang làm thủ công hoàn toàn - Phân rã tiếp thành một số chức năng cho đến khi chức năng mới được xác định là chức năng thủ công hay chức năng của máy tính. b) Đối với các kho dữ liệu: - Với các kho nằm ở vùng thủ công (có thể chỉ các hồ sơ chứng từ văn phòng) phải đối chiếu với biểu đồ cấu trúc dữ liệu để loại bỏ thực thể tương ứng với kho dữ liệu này. - Đối với kho dữ liệu nằm trong vùng máy tính thường nó sẽ là các tệp tin phải đối chiếu lại với biểu đồ cấu trúc dữ liệu để bổ sung thêm thực thể tương ứng với nó (nếu thiếu). VD: Trở lại bài toán cung ứng vật tư với chức năng là chọn nguồn cung cấp HĐ cung cấp Nhà CC/MH NCC Bổ sung NCC Làm Chọn hợp đồng NCC Nhà CC được chọn CC Hợp đồng mới Thương lượng Chào hàng Yêu cầu CC Yêu cầu CC Người CC Trong 2 chức năng trên đều có phần vừa thủ công vừa máy tính nên tiến hành phân rã tiếp như sau: HĐ cung cấp Nhà CC/MH NCC Tra Tra cứu Ghi nhận Ghi nhận cứu các về NCC NCC mới HĐ mới HĐ cũ 1.3 2.2 2.3 1.2 MT TC Tìm Thương NCC NCC được chọn lượng HĐ 1.1 2.1 TT HĐ Yêu cầu TT chào hàng mới chào hàng Nhà CC Chi tiết thương lượng Chú ý: Trong ví dụ này việc phân rã chỉ mang tính chất minh hoạ. Việc phân rã phải dựa vào quy trình xử lý cụ thể trong từng giai đoạn. ❖ Phân định các hệ thống con của máy tính - Mục đích: Xây dựng được các bộ chương trình đóng gói (packet), mỗi gói tương ứng với hệ thống con trong hệ thống. Căn cứ vào các chức năng của hệ thống ở trong các biểu đồ đã phân rã. - Cách thực hiện: Dùng các đường gạch nối để khoanh từng vùng ứng với các chức năng liên quan đến nhau trong việc xử lý. Ngoài ra có một số căn cứ sau: a) Theo kiểu thực thể Gom tụ các chức năng có liên quan đến một kiểu thực thể hay một nhóm thực thể (có thể là 1 tệp). Ví dụ hệ thống con khách hàng bao gồm các chức năng liên quan đến thực thể khách hàng (ví dụ: chức năng chọn NCC, lập đơn hàng, trả lời thương lượng với khách hàng... là một nhóm. Các chức năng về quản lý kho vật tư liên quan đến thực thể kho hàng bao gồm các chức năng nhập hàng, xuất hàng, báo cáo tồn... vào một nhóm) b) Theo giao dịch Gom tụ theo giao dịch: Căn cứ vào luồng dữ liệu, khi từ môi trường bên ngoài vào sẽ kích hoạt 1 loạt các chức năng của hệ thống. VD: Khi có yêu cầu dự trù vật tư thì những chức năng liên quan khách hàng đều bị kích hoạt. c) Theo trung tâm biến đổi Quan sát trên biểu đồ luồng dữ liệu, nếu phát hiện được có 1 khu vực tập trung xử lý các thông tin chủ yếu thì gom những chức năng này lại. VD: Chức năng làm bảng lương sẽ kéo theo các chức năng nhập bảng chấm công, nhập định mức lương, chức năng in ấn các biểu lương. d) Theo tính thiết thực Theo cấu trúc kinh doanh của cơ quan, theo vị trí cơ sở, theo trình độ đội ngũ, trách nhiệm công tác (phân quyền) VD: Giám đốc có thể xem báo cáo nhưng giám đốc không sửa được. *Chú ý: Khi khoanh vùng giữa các vùng có thể xảy ra trường hợp là các vùng không liên thông với nhau khi đó hệ thống sẽ có nhiều chương trình con tách rời. Nếu các máy tính trong hệ thống có nối mạng ta có thể tổ chức thành CSDL chung có thể liên thông với nhau. 9.1.2. Thiết kế chi tiết 9.1.2.1. Thiết kế chi tiết về các thủ tục thủ công và và các giao tiếp người - máy ❖ Các chức năng thủ công - Hành động ra quyết định: Con người làm chủ hệ thống nên mọi quyết định đều do con người thực hiện, máy tính chỉ có thể cung cấp thông tin trợ giúp - Hoạt động giao tiếp giữa con người và con người: Sự trao đổi với các tác nhân ngoài hệ thống (đối tác kinh doanh, các bộ phận tác nghiệp...) - Các nhiệm vụ phục vụ cho máy tính - Các chức năng thủ công bao gồm mã hoá thông tin, kiểm soát, sửa chữa thông tin, nhập thông tin, kiểm tra và phân phối tài liệu xuất. Các chức năng này có nhiều loại: Có loại không liên quan đến máy tính Có sự trợ giúp của máy tính ở 2 chế độ Online hoặc Offline. Là những chức năng thủ công "ăn theo" hay nói cách khác là những chức năng phát sinh do việc sử dụng máy tính. - Khi sử lý các chức năng thủ công phải chỉ rõ nội dung công việc phải làm theo không gian và thời gian, đặc biệt là khi pha trộn giữa máy tính và thủ công, yêu cầu về năng suất chất lượng, kỹ năng, quy trình thực hiện, các cách xử lý khi gặp sai sót. ❖ Thiết kế đầu vào của thông tin a) Chọn phương thức thu thập thông tin - Phương thức trực tuyến - Phương thức theo mẻ - Phương thức thu thập từ xa qua cảm biến b) Kỹ thuật điều tra thu thập thông tin -Dùng mẫu điều tra: Dùng để thu thập thông tin, người được hỏi điền vào mẫu có sẵn. Mẫu thường chia làm 3 phần: Phần đầu: Là tiêu đề Phần nội dung: Chi tiết thông tin cần điều tra Phần cam đoan Phần ký tên Mặt sau phiếu là các hướng dẫn trả lời, cách điền vào các mục trong phiếu - Dùng câu hỏi (có hai loại câu hỏi đóng, câu hỏi mở): Câu hỏi đóng là những câu hỏi mà các phương án trả lời là đã được đưa ra sẵn; câu hỏi mở là những câu hỏi mang tính chất gợi ý, cần phải phối hợp nhiều câu hỏi mới xác định được đúng thông tin cần thiết. c) Yêu cầu việc thu thập thông tin - Thuận tiện cho người điều tra - Thuận tiện cho việc mã hoá - Thuận tiện cho việc gõ phím - Nội dung đơn giản, rõ ràng, chính xác... 9.2. Thiết kế các chức năng và tài liệu xuất 9.2.1. Thiết kế các chức năng ❖ Tổng quát - Mục đích: Xác định tổng quan chương trình và phân định các mô đun để chuyển cho các lập trình viên cài đặt chương trình - Nội dung: Phân định các mô đun. Xác định mối quan hệ giữa các mô đun (việc trao đổi thông tin, gọi nhau trong chương trình chính). Đặc tả từng mô đun: xác định các biến, các thuật toán, các dữ liệu được xử lý, các chức năng xử lý. Cách ghép nối các mô đun. Thiết kế các mẫu thử riêng cho từng mô đun - Phương pháp: Thiết kế theo phương pháp Topdown làm mịn dần các mô đun. Sử dụng lược đồ cấu trúc ❖ Các mô đun chức năng - Chương trình biên tập - Chương trình nhập - Chương trình cập nhật - Chương trình hiển thị - Chương trình tính toán - Chương trình tạo menu - Chương trình in - Mỗi mô đun có thể là một chương trình con, cũng có thể là một đoạn lệnh. Mỗi mô đun có những đặc trưng sau: (1)- Cái vào, ra: Những thông tin của mô đun khác truyền cho nó; thông tin nó truyền cho các mô đun khác (2)-Chức năng: Thể hiện ở việc biến đổi cái vào thành cái ra (3)-Cơ chế thực hiện: Các thuật toán dùng trong mô đun (4)-Dữ liệu cục bộ: Dữ liệu riêng của mô đun có thể chỉ sinh ra tạm thời trong bộ nhớ trong khi hoàn thành nhiệm vụ sẽ bị xoá đi. Đặc trưng 1, 2 gọi là đặc trưng ngoại, 3, 4 gọi là đặc trưng trong, ngoài ra còn các đặc trưng phụ như tên, vị trí của mô đun... - Khi thiết kế chương trình trước hết ta phải mô tả cấu trúc chương trình theo các mô đun dựa trên các đặc trưng ngoài, sau đó chi tiết hoá các mô đun (Topdown) - Để mô tả cấu trúc chương trình ta dùng lược đồ cấu trúc (LCT) 9.2.2. Thiết kê các tài liệu xuất -Yêu cầu đối với các tài liệu xuất là phải đủ thông tin theo yêu cầu và phải chính xác, dễ hiểu, dễ đọc. - Các phương thức xuất thông tin: Đưa ra máy in Đưa ra màn hình Đưa ra bộ nhớ ngoài Đưa ra các xung điều khiển -Các tài liệu xuất bao gồm các loại sau: - Thông tin tuỳ tiện không có chuẩn trước. Những thông tin này thường dưới dạng là kết quả của các truy vấn và đó là một trong những nhu cầu tương đối phổ dụng trong các bài toán quản lý. - Các tài liệu in có các mẫu biểu theo tiêu chuẩn. Các hình thức đưa ra: + Có khung in sẵn + Không có khung in sẵn - Về cách trình bày một biểu như sau: + Đầu biểu: tên của biểu + Thân biểu: bao gồm các nội dung cơ bản và các nhóm logic quan hệ với nhau + Cuối biểu: VD: Hà nội, ngày... tháng....năm... 9.3. Thiết kế cơ sở dữ liệu 9.3.1. Mục đích - Cơ sở dữ liệu là nơi lưu trữ lâu dài các dữ liệu của hệ thống ở bộ nhớ ngoài. Các dữ liệu này phải được tổ chức tốt theo hai tiêu chí: Hợp lý: nghĩa là phải đủ dùng và không dư thừa Truy nhập thuận lợi: nghĩa là tìm kiếm, cập nhật, bổ sung và loại bỏ các thông tin sao cho nhanh chóng và tiện dùng. - Ở giai đoạn phân tích, ta đã nghiên cứu dữ liệu theo tiêu chí hợp lý (đủ và không dư thừa). Kết quả là thành lập được lược đồ dữ liệu theo mô hình thực thể liên kết hay mô hình quan hệ. Thường được gọi đó là lược đồ khái niệm về dữ liệu, vì nó dừng lại ở yêu cầu đủ và không thừa, mà bỏ qua yêu cầu nhanh và tiện. - Sang giai đoạn thiết kế, ta phải biến đổi lược đồ khái niệm nói trên thành lược đồ vật lý, tức là một cấu trúc lưu trữ thực sự của dữ liệu ở bộ nhớ ngoài. - Người ta thường tách việc thiết kế dữ liệu thành hai bước: (i) Thông qua việc nghiên cứu các yêu cầu truy nhập mà biến đổi lược đồ khái niệm thành một dạng trung gian gọi là lược đồ logic về dữ liệu: Qui tắc chuyển các kiểu thực thể: + Tên thực thể -> Tên quan hệ + Thuộc tính của thực thể -> thuộc tính của quan hệ + Thuộc tính khoá -> khoá của quan hệ Qui tắc chuẩn hoá các quan hệ: Bảng với nhóm lặp Tách nhóm lặp Chuẩn 1, chưa chuẩn 2 Tách phụ thuộc vào 1 phần Chuẩn 2, chưa chuẩn 3 khoá Tách phụ thuộc bắc cầu Chuẩn 3 Hợp nhất các quan hệ: - Loại các quan hệ thừa - Chú ý: Sự đồng nghĩa, Sự đồng danh, Sự phụ thuộc bắc cầu Qui trình thiết kế: - Chuyển các mô hình thực thể sang mô hình quan hệ - Xác định khoá và chuẩn hoá các quan hệ nhận được - Tích hợp các quan hệ nhận được - Vẽ biểu đồ mô hình dữ liệu quan hệ và xác định các lực lượng tham gia vào quan hệ (ii) Thông qua việc nghiên cứu các cấu hình của hệ thống, đặc biệt là các ngôn ngữ lập trình, các hệ quản trị CSDL đã được chọn dùng mà biến đổi lược đồ logic thành lược đồ vật lý thích hợp với cấu hình đó. 9.3.2. Thành lập lược đồ logic ❖ Lược đồ logic Mọi cấu trúc lưu trữ vật lý, dù đó là tệp hay CSDL thì cũng đều tạo nên từ các đơn vị cơ sở là các bản ghi. Vì vậy người ta chọn lược đồ logic, một dạng trung gian trước khi đến lược đồ vật lý, là một cấu trúc kiểu bản ghi. Mỗi kiểu bản ghi là một tập hợp những bản ghi có cấu trúc trường giống nhau, thường được gọi cho gọn là một bảng. Bảng được biểu diễn bằng một hình chữ nhật có tên bảng (viết ở bên ngoài), danh sách các trường (viết ở bên trong). Giữa 2 bảng thiết lập một mối liên kết diễn tả bằng 1 mũi tên, nếu hai bảng đó có một trường chung. Tên trường này được lấy làm nhãn cho kết nối Ví dụ: Độc giả Mượn Sách Số thẻ ĐG Số thẻ ĐG Mã sách Tên độc giả Mã sách Tên sách Địa chỉ Ngày mượn Tên tác giả Trình độ Ngày trả NXB Bước thiết kế logic xuất phát từ một lược đồ khái niệm về dữ liệu dưới dạng mô hình quan hệ đã chuẩn hoá (về 3NF). trong đó mỗi quan hệ trở thành một kiểu bản ghi, còn các kết nối sẽ được thêm vào khi có mặt các khoá ngoài. Mục đích của thiết kế logic là xuất phát từ lược đồ khái niệm ta đi tìm một cấu trúc kiểu bản ghi phù hợp với các yêu cầu truy nhập của các chức năng xử lý trong hệ thống. Chính vì vậy việc thiết kế logic có xu hướng giật lùi so với quá trình phân tích: chấp nhận sự dư thừa, có thể hạ chuẩn, miễn là sự lợi/hại của bước giật lùi này là đã được cân nhắc rất cẩn thận. ❖ Đưa thêm các thuộc tính tình thế và đánh giá các khối lượng - Trong giai đoạn trước, ta đã đưa các thuộc tính tính toán và thuộc tính tình thế ra khỏi lược đồ dữ liệu. Sở dĩ vì các thuộc tính này dư thừa. Tuy nhiên các thuộc tính này lại rất có ích và quen dùng trong công tác quản lý, chúng phản ánh tình trạng nào đó của một khu vực (chẳng hạn số dư tài khoản, lượng hàng tồn kho,..) thường được tra cứu luôn, mà mỗi lần dùng không phải tính toán vòng vo nữa. Ở giai đoạn này ta quan tâm đến nhu cầu truy nhập dữ liệu làm sao cho nhanh và tiện, thì ta lại phải xem xét các thuộc tính tình thế đó, cái nào được dùng nhiều, dùng luôn thì ta kết nạp chúng vào bảng. Cùng với các thuộc tính này ta đề xuất các ràng buộc toàn vẹn mới để hệ thống có thể kiểm tra tính toàn vẹn của dữ liệu khi cần thiết. - Đánh giá số các bản ghi cho mỗi bảng trong lược đồ số này được gọi là khối lượng của bảng. Khối lượng của mỗi bảng thường là được biến động theo thời gian. ❖ Nghiên cứu các yêu cầu truy nhập - Khi nói rằng CSDL phải được thiết kế sao cho có thể đáp ứng các yêu cầu truy nhập một cách nhanh chóng và tiện lợi, thì sự đáp ứng này không phải hướng tới bất kỳ yêu cầu truy nhập nào, mà chủ yếu hướng tới các yêu cầu truy nhập của các chức năng xử lý thông tin trong hệ thống. - Một yêu cầu truy nhập, thể hiện một sự tìm kiếm, cập nhật, bổ sung hay loại bỏ một số thông tin trong CSDL, thường gồm 2 vế: + Biết một (số) trường (tức là thuộc tính) nào đó + Tra cứu một (số) trường khác. Đối với mỗi bước truy nhập, ta cần chỉ ra 4 đặc điểm sau: + Bảng cần được truy nhập + Khoá tìm kiếm + Trường cần tra cứu + Tần suất truy nhập Mượn MãĐG MaSach Ngày mượn Ngày trả KL:5000 Độc giả Sách MãĐG Tên ĐG MaSach Địa chỉ Tên sách Trình độ Tác giả NXXB KL:100 KL:2000 Ví dụ: Khi nghiên cứu chức năng điều tra việc sử dụng sách: cần truy cập tới 3 bảng: Độc giả, Sách, Mượn với 3 yêu cầu truy nhập: - Yêu cầu A: Biết MãĐG, tìm địa chỉ - Yêu cầu B: Biết MãĐG, tìm NXB các sách mà người đó đã mượn - Yêu cầu C: Biết MaSach, tìm Trình độ của những người đã muợn sách đó. Ta thấy: các bước truy nhập của các yêu cầu đó. + Yêu cầu A: gồm 1 bước A1 Bảng: Độc giả Khoá TK: MãĐG A/1 Tra cứu: Địa chỉ Tần suất: 150 lần/1 tuần + Yêu cầu B gồm 2 bước B1, B2 Bảng: Mượn Bảng: Sách Khoá TK: MãĐG Khoá TK: MaSach Tần suất: 30 lần/1 tuần Tra cứu: NXB B/1 mỗi lần tìm được: B/2 Tần suất: 5000/100 = 50 bản ghi 30 x 50 = 150 lần/tuần + Yêu cầu C: gồm 2 bước C1, C2 Bảng: Mượn Bảng: Độc giả Khoá TK: MaSach Khoá TK: MãĐG Tra cứu: MãĐG Tra cứu: Trình độ C/1 Tần suất: 20 lần/1 tuần C/2 Tần suất: mỗi lần tìm được: 20 x 2,5 = 50 lần/tuần 5000/2000 = 2,5bản ghi - Tổng hợp các yêu cầu truy nhập: - Qua sự tổng hợp này ta có thể nhận xét nhiều điều: + Bảng nào có nhu cầu truy nhập cao + Khoá tìm kiếm nào được sử dụng nhiều + Các cụm trường nào đụơc tra cứu cùng nhau Các nhận xét này cho phép ta chia cắt lại cấu trúc các kiểu bản ghi, nói ở mục sau. ❖ Chia cắt lại các kiểu bản ghi Cấu trúc kiểu bản ghi được chỉnh lại cho phù hợp với các kết quả nghiên cứu về yêu cầu truy nhập ở trên: - Các kết nối không hề được sử dụng (tức là nhãn của kết nối không được làm khoá tìm kiếm cho một bước truy nhập nào cả) thì sẽ được dỡ bỏ (cùng với khoá tương ứng). - Căn cứ trên sự phát hiện các cụm trường được tra cứu đồng thời mà thực hiện các biến đổi sau: + Nếu có 1 cụm nằm rải ra trên 2 bảng, thì nên gộp 2 bảng đó thành 1, để bớt số bước truy nhập. + Nếu nhiều cụm rời nhau lại nằm trên cũng 1 bảng lớn, thì nên cắt bảng đó ra thành nhiều bảng nhỏ theo cụm, để các bảng gọn nhẹ hơn. + Có thể lặp lại một số trường ở một bảng khác (tức là lập 1 bản sao của nó), nếu thấy như thế tiện tra cứu hơn. - Nếu thấy có một bảng nào đó được tra cứu nhiều theo 1 khoá tìm kiếm nào đó, thì ta nên thiết lập cho nó một trường truy nhập đặc biệt. ❖ Nguyên tắc truy nhập -Với mỗi xử lý ra cần chỉ ra các câu hỏi: -Truy nhập tệp nào -Sử dụng điều kiện gì? -Tra cứu gì, tần suất truy nhập -Nếu khoá và nội dung tra cứu cùng một tệp thì truy nhập trực tiếp, nếu không phải thực hiện liên kết Ví dụ: Phân Sử dụng Vật tư xưởng Phân xưởng sử dụng vật tư SHPX SHPX Mã VT Tên PX Mã VT Đơn giá SL công Tên VT Nơi xuất nhân SL Ngày - Một số câu hỏi: (a) Tìm số lượng công nhân của phân xưởng có số hiệu là PX1 (b) Tìm đơn giá của loại vật tư của phân xưởng PX1 sử dụng (c) Tìm số lượng công nhân của phân xưởng sử dụng vật tư VT1 Với câu hỏi a: Truy nhập tệp: Phân xưởng Khoá để tìm: SHPX Nội dung cần tra cứu: Số lượng công nhân Tần suất: 10 lần/ngày Hình thức: Trực tiếp Với câu hỏi b: b1 Truy nhập tệp: Sử dụng Khoá để tìm: SHPX Nội dung cần tra cứu: Mã vật tư b2 Truy nhập tệp: Vật tư Khoá để tìm: Mã VT Nội dung cần tra cứu: Đơn giá Với câu hỏi c: c1 Truy nhập tệp: Vật tư Khoá để tìm: Mã VT Nội dung cần tra cứu: Mã vật tư c2 Truy nhập tệp: Sử dụng Khoá để tìm: Mã VT Nội dung cần tra cứu: SHPX c3 Truy nhập tệp: Phân xưởng Khoá để tìm: SHPX Nội dung cần tra cứu: Số lượng công nhân Tần xuất: 20 lần /ngày 9.3.3. Thành lập lược đồ vật lý - Lược đồ vật lý là cấu trúc lưu tữ thực của dữ liệu ở bộ nhớ ngoài, phụ thuộc vào cấu hình hệ thống (các ngôn ngữ lập trình, các hệ quản trị,...). Có hai phương án chọn lựa chính là các tệp và cơ sở dữ liệu, theo đó mà ta chuyển đổi lược dồ logic thu được từ bước trên thành lược đồ vật lý thích hợp. - Điểm khác biệt giữa tập và CSDL là: Đối với tệp, người dùng phải trực tiếp thành lập nó và khai thác nó, nghĩa là phải hiểu rõ và chịu trách nhiệm trực tiếp về nó. Như thế thì chhương trình và dữ liệu ràng buộc chặt chẽ với nhau. Đối với CSDL, sự có mặt của hệ quản trị CSDL đã cách ly chương trình của người dùng với cấu trúc lưu trữ của dữ liệu làm cho chương tình có ưu điểm là độc lập với dữ liệu. Đổi lại thì các ngôn ngữ định nghĩa dữ liệu, cũng như các ngôn ngữ thao tác dữ liệu cung cấp bởi các hệ quản trị CSDL lại phải nhúng được vào ngôn ngữ lập trình được chọn để cài đặt hệ thống, điều này không phải bao giờ cũng được thuận lợi. 9.4. Thiết kế các kiểm soát 9.4.1. Giới thiệu Với mục tiêu là đảm bảo cho tính đúng đắn trong mọi hoạt động của hệ thống, cần phải nghiên cứu tiến hành một số các biện pháp kiểm soát cần thiết nhằm chống lại một số nguy cơ sau: - Mất mát và sai lệch thông tin - Những lỗi sai xảy ra trong quá trình xuất, nhập thông tin - Sai sót do các sự cố kỹ thuật - Sai sót do những ý đồ xấu - Do rủi ro về môi trường. VD: hoả hoạn, lũ lụt, chiến tranh,... Các khía cạnh cơ bản trong thiết kế kiểm soát bao gồm: - Độ chính xác: phải kiểm tra xem từng thao tác đang được tiến hành có thực hiện chính xác không, các thông tin đang lưu trữ và đang xử lý trong CSDL có đúng đắn không - Độ an toàn: đảm bảo rằng không thể mất mát thông tin trong mọi tình huống do vô tình hay cố ý hoặc do những rủi ro ngâũ nhiên - Độ riêng tư: kiểm tra việc bảo vệ các quyền của cá nhân, của tập thể. 9.4.2. Nghiên cứu kiểm tra thông tin nhập, xuất ❖ Mục đích yêu cầu Mọi thông tin xuất nhập đều phải kiểm tra để đảm bảo tính xác thực của thông tin. Thông thường người ta hay kiểm tra những nơi thu nhận thông tin, trung tâm xử lý và ở nơi phân phát thông tin. Việc kiểm tra nhằm phát hiện lỗi và khắc phục sửa các lỗi đã phát hiện. ❖ Hình thức kiểm tra - Kiểm tra thủ công: có thể dùng phương án kiểm tra đầy đủ hoặc ngẫu nhiên - Kiểm tra bằng máy: dùng 2 phương thức trực tiếp và gián tiếp. Trực tiếp là sử dụng các ràng buộc toàn vẹn, gián tiếp là tham khảo các thông tin khác đã được kiểm tra. ❖ Thứ tự kiểm tra Thông thường ta kiểm tra trực tiếp trước, gián tiếp sau. Khi kiểm tra trực tiếp chú ý đến sự có mặt của giá trị, khuôn dạng, kiểu giá trị và miền giá trị. Kiểm tra gián tiếp là các ràng buộc và các mối liên hệ logic giữa các thông tin trong hệ thống. 9.4.3. Nghiên cứu các giai đoạn tiếp cận phân tích các kiểm soát ❖ Xác định các "điểm hở" trong hệ thống "Điểm hở" là điểm tại đó hệ thống có nguy cơ bị thâm nhập bởi những người trong hay ngoài tổ chức trong toàn bộ hệ thống tính toán. ❖ Xác định mức đe doạ từ điểm hở Các loại đe doạ bao gồm: - Sai hỏng phần cứng - Sai về phần mềm - Thông tin bị ăn cắp, phá hoại có chủ ý ❖ Đánh giá mức đe doạ - Mức cao: hệ thống có thể bị tổn thất nghiêm trọng, có thể bị ngưng trệ nếu tình huống xấu nhất xuất hiện - Mức vừa: có thể bị thất thoát thông tin nhưng vẫn có thể hứng chịu được, không ảnh hưởng lớn đến hoạt động chung - Mức thấp: có thể dự kiến được trước 1 số mối đe doạ và có các phương án, phương tiện để ngăn cản. ❖ Xác định tình trạng đe doạ Sử dụng DFD theo dõi được lại điểm hở để rà soát các ảnh hưởng trong từng quá trình do lỗi gây ra từ điểm hở. Trong quá trình dài có thể xuất hiện thêm điểm hở mới, cần phải đánh dấu và ước lượng được mức độ nghiêm trọng của các đe doạ trong luồng ảnh hưởng trên. ❖ Thiết kế kiểm soát cần thiết Trên cơ sở đánh giá được mức độ thiệt hại từ các điểm hở người thiết kế phải quyết định lựa chọn các phương thức bảo vệ cần thiết. Các phương thức có thể là như sau: - Bảo vệ vật lý: các phương pháp bảo vệ thủ công, chẳng hạn như người canh gác, tháo rời các bộ phận của thiết bị, khoá bảo vệ,... - Nhận dạng nhân sự hay xác lập quyền truy nhập bao gồm + ở mức chức năng của hệ thống: mỗi người sử dụng có thể gán quyền sử dụng 1 số chức năng nào đó của hệ thống. + Về mặt dữ liệu: với mỗi người sử dụng có thể được gán 1 số quyền truy nhập đến các thư mục và tệp tin trong hệ thống. + Đăng ký tên và mật khẩu - Bảo vệ bằng phương pháp mã hoá: trong đó chủ yếu là dùng mã mật - Bảo vệ bằng gọi lại: không cho phép truy nhập trực tiếp mà phải thông qua sự giám sát của 1 hệ thống khác. ❖ Phân biệt riêng tư Phân biệt riêng tư là phân biệt quyền truy nhập của các đối tượng khác nhau thông qua quản trị hệ thống. Trong vấn đề quản trị quyền gồm có: trao quyền, rút quyền, uỷ quyền, thừa kế quyền. 9.4.4. Nghiên cứu các khả năng gián đoạn chương trình và phục hồi ❖ Nghiên cứu các gián đoạn chương trình Nguyên nhân: - Hỏng giá mang - Hỏng về phần cứng, về môi trường (hệ điều hành) - Nhầm lẫn thao tác - Lập trình sai, hậu quả gây mất thì giờ, mất thông tin ❖ Cài đặt các thủ tục phục hồi - Cài đặt chương trình theo mẻ: định kỳ là sao lưu, sau đó phục hồi lại tuy vậy phương pháp này mất thời gian. - Sử dụng phục hồi trực tuyến, ví dụ cơ chế gương -Nguyên tắc về phục hồi, sao lưu như sau: Cố gắng phục hồi lại hệ thống ở 1 thời điểm gần nhất trên cả 2 phương diện là các thao tác và các dữ liệu, ở đây ghi biên bản hệ thống là các file log. 9.5. Thiết kế chương trình 9.5.1. Tổng quát - Mục đích: Xác định tổng quan chương trình và phân định các mô đun để chuyển cho các lập trình viên cài đặt chương trình - Nội dung: Phân định các mô đun. Xác định mối quan hệ giữa các mô đun (việc trao đổi thông tin, gọi nhau trong chương trình chính). Đặc tả từng mô đun: xác định các biến, các thuật toán, các dữ liệu được xử lý, các chức năng xử lý. Cách ghép nối các mô đun. Thiết kế các mẫu thử riêng cho từng mô đun - Phương pháp: Thiết kế theo phương pháp Topdown làm mịn dần các mô đun. Sử dụng lược đồ cấu trúc 9.5.2. Các mô đun chương trình - Chương trình biên tập - Chương trình nhập - Chương trình cập nhật - Chương trình hiển thị - Chương trình tính toán - Chương trình tạo menu - Chương trình in - Mỗi mô đun có thể là một chương trình con, cũng có thể là một đoạn lệnh. Mỗi mô đun có những đặc trưng sau: (1)- Cái vào, ra: Những thông tin của mô đun khác truyền cho nó; thông tin nó truyền cho các mô đun khác (2)-Chức năng: Thể hiện ở việc biến đổi cái vào thành cái ra (3)-Cơ chế thực hiện: Các thuật toán dùng trong mô đun (4)-Dữ liệu cục bộ: Dữ liệu riêng của mô đun có thể chỉ sinh ra tạm thời trong bộ nhớ trong khi hoàn thành nhiệm vụ sẽ bị xoá đi. Đặc trưng 1, 2 gọi là đặc trưng ngoại, 3, 4 gọi là đặc trưng trong, ngoài ra còn các đặc trưng phụ như tên, vị trí của mô đun... - Khi thiết kế chương trình trước hết ta phải mô tả cấu trúc chương trình theo các mô đun dựa trên các đặc trưng ngoài, sau đó chi tiết hoá các mô đun (Topdown) - Để mô tả cấu trúc chương trình ta dùng lược đồ cấu trúc (LCT) 9.5.3. Lược đồ cấu trúc -Biểu diễn mô đun: Dùng hình chữ nhật bên trong có tên mô đun, mô đun có sẵn dùng hình CN có hai vạch ở hai cạnh bên: -Biểu diễn các liên kết: Dùng đoạn thẳng có hướng, nếu gọi nhiều lần có thêm cung tròn: (A gọi B; A gọi C nhiều lần) A B A C -Cấu trúc gọi có lựa chọn: A gọi B hoặc C A B C - Biểu diễn luồng thông tin Ví dụ: Mô đun tính lương tính lương Bậc L. L. chính chính P. cấp L. P. cấp chính tính L. chính tính P. cấp in b. lương L. chính P. cấp PC cho NV PC cho NV PC cho NV trong Biên chế hợp đồng dài hợp đồng ngắn 9.5.4. Đánh giá về lược đồ cấu trúc - Sự tương tác: Nói lên sự ảnh hưởng lẫn nhau giữa các mô đun, các mô đun càng ít ảnh hưởng nhau càng tốt, đảm bảo sự độc lập giữa các mô đun. Có các sự tương tác sau: - Mô đun này can thiệp vào mô đun kia, tương tác này không tốt cần loại bỏ. - Tương tác về điều kiện: mô đun này chuyển thông tin điều kiện cho mô đun kia, phải hiểu nội bộ mô đun kia cần điều kiện gì như vậy vi phạm tính che dấu của mô đun mà thông thường mỗi mô đun là một hộp kín. Do đó tương tác này không tốt - Tương tác về dữ liệu: Tương tác càng đơn giản càng tốt, thường dùng tham trị, hạn chế dùng tham biến, nên truyền theo dữ liệu hơn là dùng con trỏ. - Sự câu kết: Phản ánh sự gắn bó về mặt lô gíc của các bộ phận trong mô đun - Hình thức: Biểu hiện cấu trúc bề ngoài của LCT có dạng Topdown - Phạm vi điều khiển: Là vai trò quyết định của mô đun này với mô đun khác mạnh hay yếu khác nhau giữa các mô đun. 9.5.5. Chuyển BLD thành LCT -Nguyên tắc: - Phải tinh chế BLD trước khi chuyển - Chú ý các chức năng chính yếu trước các chức năng phụ sau - Ngoài các chức năng trong BLD cần có thêm các mô đun vào ra ❖ Phương phương pháp phân tích theo biến đổi (1) Dõi theo các dòng dữ liệu vào cho đến khi dữ liệu vào trở thành trừu tượng nhất hoặc gặp một thiết bị, một kho mà dữ liệu được coi là dữ liệu vào thì đánh dấu lại. (2). Làm ngược lại với thông tin ra. (3) Căn cứ vào các điểm đánh dấu khoanh lại một vùng của BLD ở đó ta lập một LCT (4) Đầu tiên vẽ mức cao nhất là mô đun chính mỗi dòng vào là một mô đun vào, mỗi dòng ra là một mô đun ra (5) Triển khai tiếp trong cấu trúc sẽ xuất hiện những mô đun giữa thực hiện các chức năng biến đổi trong mô đun chính. -Ví dụ: x1 x2 x3 q3 Nguồn X A B C q1 H s1 s2 x4 J K L G y1 y2 y3 y4 q2 I q4 Nguồn Y A E F Vào Biến đổi RA Vào biến đổi Ra Lấy x4 x4 G Lấy y4 x3 C Lấy x3 x3 G G x2 B Lấy x2 x2 J x1 A Lấy x1 Nguồn x x4 44 y4 s1 44 tạo s1 q1 q2 q3 q4 H I Câu hỏi ôn tập cuối chủ đề 1. Trình bày các bước trong quy trình thiết kế tổng thể của một hệ thống thông tin kinh tế. 2. Làm thế nào để xác định ranh giới giữa chức năng thủ công và chức năng máy tính trong hệ thống thông tin kinh tế? 3. Phân tích vai trò của các hệ thống con trong thiết kế hệ thống thông tin. 4. Quy trình thiết kế chi tiết một hệ thống thông tin gồm những bước nào? 5. Giải thích tầm quan trọng của việc thiết kế các giao diện người - máy trong hệ thống thông tin kinh tế. 6. Những yếu tố nào cần xem xét khi thiết kế tài liệu xuất trong hệ thống thông tin kinh tế? 7. Vai trò của việc sử dụng thang đo nhận thức Bloom trong đánh giá hệ thống thông tin là gì? 8. Phân biệt giữa thiết kế tổng thể và thiết kế chi tiết trong hệ thống thông tin kinh tế. 9. Tại sao cần phân tích các chức năng và chia nhỏ các thành phần trong hệ thống thông tin? 10.Hãy mô tả cách thực hiện việc kiểm thử hệ thống sau khi hoàn thành thiết kế chi tiết. Trắc Nghiệm: 1. Thiết kế tổng thể trong hệ thống thông tin nhằm mục đích gì? A) Phân định rõ ranh giới giữa các hệ thống con B) Xác định các thông tin xuất và nhập dữ liệu C) Phân chia chức năng giữa thủ công và máy tính D) Cả A và C đúng 2. Thiết kế chi tiết tập trung vào việc nào? A) Thiết kế tài liệu xuất B) Thiết kế giao tiếp người - máy C) Phân tích và thiết kế các thành phần con D) Tất cả các đáp án trên 3. Bước nào sau đây không phải là một phần của thiết kế chi tiết? A) Xác định hệ thống con B) Thiết kế giao diện nhập dữ liệu C) Kiểm thử hệ thống D) Thiết kế tài liệu xuất 4. Chức năng nào được phân định giữa thủ công và máy tính? A) Chức năng không phụ thuộc vào tính toán B) Chức năng cần xử lý thủ công C) Chức năng liên quan đến việc phân tích dữ liệu D) Cả B và C đúng 5. Các tài liệu xuất trong hệ thống thông tin bao gồm: A) Màn hình và in ấn B) Bộ nhớ ngoài C) Mã nguồn phần mềm D) Cả A và B đúng 6. Vai trò của hệ thống con trong hệ thống thông tin là gì? A) Phân chia các chức năng giữa thủ công và máy tính B) Giảm tải cho hệ thống chính C) Hỗ trợ việc kiểm thử D) Phân chia chức năng và tập trung vào một nhiệm vụ nhất định 7. Giao diện người - máy trong hệ thống thông tin cần được thiết kế như thế nào? A) Tối ưu hóa trải nghiệm người dùng B) Phản hồi nhanh chóng và trực quan C) Tương tác thân thiện và dễ hiểu D) Tất cả các đáp án trên 8. Bước cuối cùng trong thiết kế chi tiết hệ thống thông tin là gì? A) Phân tích hệ thống B) Thiết kế tài liệu xuất C) Kiểm thử hệ thống D) Đưa vào vận hành 9. Thiết kế tổng thể và chi tiết trong hệ thống thông tin kinh tế có vai trò gì? A) Cung cấp phương hướng cho hệ thống B) Giúp phân chia và tối ưu hóa các chức năng C) Đảm bảo tính hiệu quả của hệ thống D) Cả A, B, C đúng 10. Tài liệu xuất trong hệ thống thông tin bao gồm những gì? A) Thông tin hiển thị trên màn hình và bộ nhớ ngoài B) Thông tin báo cáo và thống kê C) Chức năng bảo mật D) Thông tin hướng dẫn sử dụng hệ thống Bài tập: Bài tập 1: Phân tích và thiết kế hệ thống thông tin quản lý kho hàng, trong đó phân chia ranh giới giữa các chức năng thủ công và máy tính. Bài tập 2: Thiết kế tổng thể và chi tiết một hệ thống thông tin quản lý sinh viên, tập trung vào thiết kế giao diện người - máy và tài liệu xuất. Bài tập 3: Thực hiện phân tích chức năng và phân chia hệ thống con cho một hệ thống thông tin quản lý tài chính doanh nghiệp. Bài tập 4: Xây dựng mô hình thiết kế tài liệu xuất cho hệ thống thông tin bán hàng, bao gồm báo cáo doanh thu, chi tiết hàng hóa và thống kê khách hàng. Bài tập 5: Thiết kế chi tiết các quy trình nhập dữ liệu và xử lý thông tin trong hệ thống thông tin quản lý dự án. Bài tập 6: Thực hiện kiểm thử hệ thống sau khi thiết kế chi tiết hệ thống thông tin quản lý nhân sự, đặc biệt tập trung vào việc kiểm tra giao diện và tài liệu xuất. Bài tập 7: Phân tích và thiết kế một hệ thống thông tin quản lý khách hàng (CRM), trong đó tập trung vào các quy trình tương tác và chăm sóc khách hàng. Bài tập 8: Thiết kế hệ thống thông tin quản lý đơn hàng cho một công ty thương mại điện tử, từ phân tích các hệ thống con đến thiết kế chi tiết tài liệu xuất. Bài tập 9: Thực hiện thiết kế tổng thể và chi tiết một hệ thống thông tin quản lý bệnh viện, với các chức năng phân chia giữa thủ công và máy tính. Bài tập 10: Xây dựng hệ thống thông tin quản lý thư viện, tập trung vào phân tích và thiết kế các giao diện người - máy và chức năng xuất dữ liệu cho hệ thống.