1. 1.Mục đớch
Thiết kế kiểm soỏt cú một vai trũ rất quan trọng trong sự tồn tại và phỏt triển của hệ thống vỡ hiện nay cú rất nhiều hệ thống mỏy tớnh hoạt động trong mụi trường mở. Do đú, rất cú thể hệ thống đang xõy dựng là một bộ phận trong một cấu hỡnh hay một mạng cung cấp truy nhập rộng cho nhiều người khỏc nhau cả trong và ngoài tổ chức. Một trong những quan tõm chớnh trong thiết kế cỏc hệ thống này là làm sao để cung cấp truy nhập thụng tin yờu cầu và đồng thời bảo vệ được thụng tin khỏi những mục đớch phỏ hoại cũng như những sự cố khụng mong đợi. Chớnh vỡ thế, thiết kế kiểm soỏt nhằm trỏnh một số nguy cơ sau:
Sai lỗi từ cỏc thụng tin thu thập Sai lỗi do cỏc sự cố kỹ thuật gõy ra
Sự thõm nhập trỏi phộp của người trong và ngoài hệ thống. Rủi ro về mụi trường như: chỏy, bóo lụt,...
Thiết kế kiểm soỏt là đề xuất cỏc biện phỏp nhằm đảm bảo: Tớnh chớnh xỏc
Tớnh an toàn Tớnh riờng tư
Tớnh chớnh xỏc của hệ thống thể hiện trước hết ở chỗ hệ thống làm việc luụn luụn đỳng đắn, khụng đưa ra cỏc kết quả tớnh toỏn sai lạc, khụng dẫn tới cỏc quyết định kinh doanh sai lạc (chẳng hạn quyết định giao hàng trong khi khỏch hàng đó cú yờu cầu huỷ đơn hàng, và giấy yờu cầu này lại đang tồn đọng đõu đú trong hệ thống). Bờn cạnh đú, tớnh chớnh xỏc cũng cũn được thể hiện ở chỗ dữ liệu trong hệ thống là xỏc thực, việc kiểm tra cỏc thụng tin thu thập và cỏc thụng tin xuất từ hệ thống là nhằm đảm bảo tớnh xỏc thực của dữ liệu sử dụng.
Tớnh an toàn của hệ thống thể hiện ở chỗ hệ thống khụng bị xõm hại (hay 88
bị xõm hại khụng nhiều) khi cú sự cố kỹ thuật, hoặc những xõm hại vụ tỡnh hay cố ý từ phớa con người.
Tớnh riờng tư của hệ thống thể hiện ở chỗ hệ thống bảo đảm được cỏc quyền truy nhập riờng tư đối với mỗi đối tượng sử dụng khỏc nhau.
1.2. Kiểm soỏt cỏc thụng tin thu thập và cỏc thụng tin xuất
Để đảm bảo tớnh xỏc thực của cỏc thụng tin thu thập để đưa vào mỏy tớnh cũng như cỏc thụng tin xuất từ mỏy tớnh, nhất thiết phải thiết lập cỏc biện phỏp kiểm tra đối với cỏc thụng tin đú.
Sự sai lệch thụng tin cú thể ở: nơi thu thập thụng tin đầu vào, trung tõm mỏy tớnh hoặc nơi phõn phối đầu ra.
Mục đớch của việc kiểm tra là phỏt hiện lỗi và sửa lỗi. Hỡnh thức kiểm tra cú thể lựa chọn giữa nhiều phương ỏn:
Kiểm tra thủ cụng hoặc kiểm tra tự động (mỏy kiểm tra).
Kiểm tra đầy đủ hoặc khụng đầy đủ (chỉ tập trung vào một số thụng tin quan trọng để kiểm tra).
Kiểm tra trực tiếp hay giỏn tiếp.
Kiểm tra trực tiếp là sự kiểm tra khụng cần dựng thụng tin phụ. Vớ dụ: kiểm tra khuụn dạng của thụng tin hay kiểm tra giỏ trị của thụng tin nằm trong một khoảng cho phộp.
Kiểm tra giỏn tiếp là sự kiểm tra qua so sỏnh với cỏc thụng tin khỏc. Vớ dụ: thụng tin tuổi thu thập được cú thể kiểm tra lại khi biết năm sinh (Tuổi đó khai = Năm hiện tại - Năm sinh, ...).
1.3. Kiểm soỏt cỏc sự cố làm giỏn đoạn chương trỡnhCỏc sự cố làm giỏn đoạn chương trỡnh cú thể do: Cỏc sự cố làm giỏn đoạn chương trỡnh cú thể do: Hỏng phần cứng
Giỏ mang tệp cú sự cố Mụi trường
Hệ điều hành
Nhầm lẫn thao tỏc Lập trỡnh sai
Khi một trong cỏc sự cố đú xảy ra thỡ gõy ra hậu quả là mất thỡ giờ (vỡ phải chạy lại chương trỡnh) nhưng quan trọng hơn là cú thể làm mất hoặc sai lạc thụng tin, vớ dụ như thụng tin trờn tệp bị sai lạc vỡ đang cập nhật dở dang.
Để khắc phục hậu quả của cỏc sự cố trờn chỳng ta cú thể lựa chọn một số biện phỏp sau:
Khoỏ từng phần cơ sở dữ liệu: CSDL được phõn hoạch thành
cỏc đơn vị để cập nhật. Cỏc đơn vị cú thể là trường, bản ghi, tệp hoặc một số phần rộng hơn của CSDL. Khi một bản sao của một đơn vị được cập nhật thỡ bản gốc phải khoỏ lại và ngăn mọi truy nhập đến nú. Khi cập nhật kết thỳc, phiờn bản mới của đơn vị thay thế phiờn bản cũ và sự cập nhật được hoàn thành. Nếu trong quỏ trỡnh cập nhật, hệ thống cú sự cố thỡ bản gốc vần cũn nguyờn vẹn. Tạo cỏc tệp sao lục: cỏc tệp sao lục bao gồm cỏc tệp nhật ký và
cỏc tệp lưu. Tệp nhật ký là một tệp tuần tự chứa cỏc bản sao (hoặc hỡnh ảnh) của cỏc đơn vị CSDL trước và sau khi chỳng được cập nhật. Cỏc tệp lưu gồm cỏc bản sao toàn bộ hoặc một phần của CSDL cú thể được thực hiện theo chu kỳ. Vớ dụ: một bản sao một phần bảy CSDL cú thể được thực hiện hàng ngày nhưng một bản sao toàn bộ CSDL được thực hiện mỗi tuần một lần.
Tạo thủ tục phục hồi: nhằm đưa CSDL trở về trạng thỏi đỳng
đắn mà nú cú ngay trước khi bị hỏng vỡ một sự giỏn đoạn chương trỡnh. Việc tạo thủ tục phục hồi phụ thuộc vào nguyờn nhõn của sự giỏn đoạn chương trỡnh.
Nguyờn tắc của phục hồi:
+ Khi chạy chương trỡnh bỡnh thường thỡ định kỳ ghi lại một số biến mốc quan trọng.
+ Khi giỏn đoạn thỡ khởi động lại chương trỡnh với biến mốc gần nhất. 1.4. Kiểm soỏt cỏc xõm phạm từ phớa con người
Người trong và ngoài hệ thống (cú thể là đối thủ cạnh tranh của cơ quan chủ quản hệ thống) cố ý hay vụ tỡnh làm sai lệch hoặc mất mỏt hay làm lộ thụng tin mật, riờng tư đều gõy ra những thiệt hại cú thể là rất lớn. Chớnh vỡ vậy mà cỏc xõm phạm từ phớa con người là rất nguy hại cho cơ quan chủ quan hệ thống. Người phõn tớch thiết kế hệ thống phải thực hiện phõn tớch hết sức chặt chẽ để kiểm soỏt vấn đề này.
a. Xỏc định những điểm hở của hệ thống
Điểm hở của hệ thống là điểm mà tại đú thụng tin của hệ thống cú khả năng bị truy cập trỏi phộp, bị sửa chữa, lấy cắp thậm chớ phỏ huỷ thụng tin, cú thể gõy thiệt hại lớn cho cơ quan chủ quản hệ thống.
Trong một hệ thống cỏc điểm hở cú thể là:
Luồng dữ liệu đi và đến tỏc nhõn ngoài của hệ thống
Luồng dữ liệu cắt ngang giữa phần thực hiện bằng mỏy tớnh và phần thực hiện thủ cụng.
Cỏc kho dữ liệu hoặc cỏc tệp.
Cỏc đường truyền trờn mạng (đối với hệ phõn tỏn), ...
b. Xỏc định mức độ đe doạ từ cỏc điểm hở
Căn cứ vào hậu quả thiệt hại mà cơ quan chủ quản hệ thống phải chịu khi cú sự thõm nhập trỏi phộp hoặc khi cú sự cố xảy ra và khả năng phục hồi người thiết kế kiểm soỏt phải đỏnh giỏ được mức độ thiệt hại này và phõn định mức độ đe doạ từ đú cú những biện phỏp phự hợp phũng, trỏnh, khắc phục cỏc thiệt hại này.
Cú thể phõn chia thành 3 mức độ đe doạ sau:
Mức thấp: cú sự sai lệch về dữ liệu nhưng cú thể khắc phục được và ớt tốn kộm.
Mức trung bỡnh: cú sự sai lệch hoặc mất mỏt dữ liệu, khỏ ảnh hưởng đến cơ quan chủ quản hệ thống song vẫn cú thể khắc phục được nhưng rất tốn kộm.
Mức cao: khú cú thể khắc phục được (cú thể mất hết dữ liệu, hoặc sai
nhầm một loạt thụng tin quan trọng nhưng khụng thể phục hồi, ...). Từ đú gõy thiệt hại lớn đến cụng ty chủ quản hệ thống và cú thể dẫn đến phỏ sản.
Lưu ý: khi phõn tớch cỏc biện phỏp kiểm soỏt cần cú sự tham gia của:
Những người cú trỏch nhiệm trong hệ thống Những người rất am hiểu về hệ thống
Tuỳ từng hệ thống cú thể người sử dụng được tham gia hoặc khụng được tham gia.
c. Cỏc biện phỏp phũng ngừa, khắc phục
Căn cứ vào mức độ đe doạ và dạng đe doạ (cú thể là cố ý ăn cắp, phỏ hoại hoặc vụ ý sai sút, ...) nhà phõn tớch thiết kế hệ thống sẽ lựa chọn một số cỏc biện phỏp (mức bảo mật) phự hợp để thu được hiệu quả cao nhất.
Cỏc mức bảo mật:
Bảo mật vật lý: khoỏ, chuụng bỏo động Nhận dạng nhõn sự
Mật khẩu
Tạo mật mó: mó hoỏ dữ liệu sang dạng mó khụng hiểu được. Người hiểu được phải cú quy tắc giải mó thớch hợp.
Bảo mật bằng gọi lại: sự truy nhập thực hiện một cỏch giỏn tiếp, qua một trạm kiểm soỏt, tương tự như gọi điện thoại qua tổng đài.
d. Phõn biệt riờng tư
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 uỷ quyền tức giao quyền truy nhập cho người khỏc.
Khụng cú một chuẩn thống nhất cho phõn biệt riờng tư, để thực hiện nú ta cú thể tham khảo trong một số tài liệu khỏc.
2.THIẾT KẾ CHƯƠNG TRèNH
2.1. Mục đớch
Cỏc kết quả thu được qua cỏc giai đoạn phõn tớch, thiết kế tổng thể và thiết kế chi tiết (về cỏc giao diện, kiểm soỏt và cơ sở dữ liệu) dự là khỏ phong phỳ nhưng vẫn cũn là chưa đủ để cú thể chuyển sang lập trỡnh được. Cỏc yếu tố cũn thiếu là:
Cỏc chức năng xuất hiện trong cỏc BLD chỉ là cỏc chức năng logic (thuộc lĩnh vực bài toỏn) mà chưa cú cỏc chức năng phự trợ cần thiết như là:
Cỏc chức năng đối thoại với người dựng Xử lý lỗi
Xử lý vào, ra Tra cứu CSDL
Cỏc chức năng điều hành (nhằm liờn kết cỏc chức năng khỏc)
Cỏc liờn quan giữa cỏc chức năng trong BLD chỉ là cỏc chuyển giao dữ liệu mà khụng phải là chuyển giao điều khiển (tức là chuyển giao sự thực hiện khi thi hành). Một đặc trưng khụng thể thiếu trong một chương trỡnh là đặc trưng điều khiển (sự tuần tự, chọn, lặp và đặc biệt là lời gọi giữa cỏc chương trỡnh con). Đặc trưng này chưa hề cú trong cỏc BLD.
Vỡ cỏc thiếu sút này mà cỏc BLD thu được từ giai đoạn phõn tớch cũn phải được biến đổi, bổ sung thờm chi tiết thỡ mới trở thành đầu vào thực sự cho việc lập trỡnh được. Vỡ vậy phải cú thờm một giai đoạn thiết kế chi tiết, đú là thiết kế chương trỡnh. Đõy cũng chỉ là một giai đoạn của thiết kế, nhằm đưa ra cỏc quyết định về cài đặt, chứ chưa phải là cài đặt, chưa phải là lập trỡnh thực sự.
Đầu vào cho việc thiết kế chương trỡnh
BLD của từng hệ thống con (thiết kế tổng thể) Cỏc giao diện
Cỏc kiểm soỏt CSDL.
Đầu ra của thiết kế chương trỡnh
Lược đồ chương trỡnh (LCT) cho mỗi hệ thống con Đặc tả nội dung của từng module trong LCT
Phõn bổ cỏc module trong LCT thành cỏc chương trỡnh (hay module tải)
Thiết kế cỏc mẫu thử 2.2. Lập lược đồ 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).
a. Module chương trỡnh
Định nghĩa: trong định nghĩa lược đồ cấu trỳc thỡ module được hiểu là một chương trỡnh con hoặc một cụm cõu lệnh nằm trong chương trỡnh hay trong một số ngụn ngữ lập trỡnh cú cỏc UNIT, CLASS, OBJECT thỡ đõy thực chất là cỏc nhúm module chương trỡnh tập hợp xung quanh một cấu trỳc dữ liệu.
Cỏc thuộc tớnh cơ bản của module
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 hàm biến đổi từ vào thành 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ú. b. Cụng cụ để diễn tả LCT
- Biểu diễn cỏc module
- Module được biểu diễn bằng một hỡnh chữ nhật trờn cú ghi nhón là tờn module.
- Trường hợp module được định nghĩa sẵn trong hệ thống hay trong thư viện chương trỡnh thỡ cỏc cạnh bờn được vẽ nột đụi.
TấN MODULE
Kết nối cỏc module
Cỏc module cú thể được kết nối với nhau bằng cỏc lời gọi, diễn tả bởi một mũi tờn (cung).
Trường hợp module A gọi hoặc module B hoặc module C (tuỳ thuộc vào điều kiện nào đú)
Trường hợp lặp cỏc lời gọi đến D và E
Thứ tự cỏc module từ trỏi qua phải là thứ tự mà module A gọi đến module đú trước.
Thụng tin trao đổi 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
Tờn module cú sẵn A B A B C A B C D E F
- Module A gọi module B
- Module B thực hiện xong chức năng của mỡnh rồi trả điều khiển cho A ở vị trớ sau lời gọi.
cung biểu diễn cho lời gọi, cú kốm thoe tờn của thụng tin. Vớ dụ về LCT
c. Chất lượng của LCT
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 liờn
Sự tương liờn là mức độ ảnh hưởng lón nhau giữa cỏc modul. Một LCT tốt thỡ sự tương liờn phải càng lỏng lẻo, càng đơn giản. Cỏc loại tương liờn:
Tương liờn về nội dung: vớ dụ một module làm thay đổi nội dung (cỏc lệnh) của module khỏc, rẽ nhỏnh sang một module khỏc hay sử dụng dữ liệu của module được gọi. Cần loại bỏ tương liờn này.
Tương liờn về điều khiển: là trường hợp một module này chuyển điều
Tớnh lương Tớnh lương chớnh Tớnh phụ cấp Lờn bảng lương Tớnh phụ cấp cho nhõn viờn phụ động Tớnh phụ cấp cho nhõn viờn tạm tuyển Tớnh phụ cấp cho nhõn viờn trong biờn chế
Chỉ số lương số ngày cụng lương chớnh Loại NV Phụ cấp lương chớnh Tờn nhõn viờn Lương chớnh Phụ cấp Lương chớnh Phụ cấp lương chớnh Phụ cấp lương chớnh Phụ cấp 96
khiển cho một module khỏc. Tương liờn điều khiển vi phạm nguyờn tắc che giấu thụng tin. Vỡ vậy tương liờn điều khiển cũng nờn trỏnh.
Tương liờn về dữ liệu: đú là trường hợp hai module trao đổi dữ liệu cho nhau. Sự trao đổi dữ liệu càng đơn giản càng tốt.
Sự cố kết
Là sự gắn bú giữa cỏc phần bờn trong của một module.
Module càng cố kết thỡ chức năng của nú càng dễ thấy, logic do đú dễ phỏt hiện lỗi, dễ bảo trỡ.
Hỡnh thỏi
Phạm vi điều khiển của một module là phần LCT bao gồm module đú và những module phụ thuộc (được gọi) trực tiếp hay giỏn tiếp từ nú. Phạm vi ảnh hưởng của một quyết định là phần LCT bao gồm mọi
module chịu ảnh hưởng của quyết định đú.
Vớ dụ: Cho LCT sau
Ta cú: + Phạm vi điều khiển của A là B, C
+ Giả sử trong B cú một quyết định q1 và quyết định được dựng trong A, E, F thỡ khi đú phạm vi ảnh hưởng của q1 là A, E, F.
Một LCT tốt thỡ về mặt hỡnh thỏi:
Cỏc quyết định cú miền ảnh hưởng càng hẹp càng tốt
Chớnh A A D B C E F G 97
Mỗi phạm vi ảnh hưởng nằm trong phạm vi điều khiển tương ứng. 2.3. Đặc tả cỏc module
Sau khi lập được LCT cho mỗi hệ thống con, ta phải đặc tả mỗi module trong đú, tức là miờu tả rừ nội dung của module.
Đặc tả một module ta cần nờu rừ:
Thụng tin đầu vào (Input), thụng tin đầu ra (Output)
Cỏc thao tỏc thực hiện trong chương trỡnh: cỏc đối thoại với người