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ệnnay cú rấtnhiều hệ thốngmỏy tớnh hoạt độngtrong 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 để cungcấ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ớnhvỡ thế,thiếtkếkiểmsoỏtnhằmtrỏnhmột sốnguycơsau:
Sailỗitừ cỏcthụngtinthuthập Sailỗidocỏcsự cốkỹthuậtgõyra
Sựthõmnhậptrỏiphộpcủangườitrong vàngoài hệthống. Rủi ro về mụi trường như: chỏy, bóo lụt,...
Thiếtkếkiểmsoỏtlà đềxuất cỏcbiệnphỏpnhằmđảmbảo: Tớnh chớnhxỏc
Tớnh an toàn
Tớnh riờngtư
Tớnhchớnh xỏc của hệthốngthể hiện trước hết ở chỗhệ thốnglàm việc luụn luụn đỳngđắn, khụng đưa ra cỏc kết quả tớnh toỏnsai lạc, khụng dẫntớ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ũngcũ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
hay cốýtừ phớacon 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ểmsoỏtcỏcthụngtinthuthậpvàcỏcthụngtinxuấ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ớnhcũng nhưcỏc thụngtin xuấttừ mỏytớnh, nhấtthiết phảithiết lập cỏcbiện phỏpkiểmtrađốivới cỏcthụngtinđú.
Sự sai lệch thụng tin cú thể ở: nơi thu thập thụng tin đầu vào, trung tõm mỏytớnhhoặcnơi phõnphốiđầura.
Mục đớchcủaviệckiểmtralàphỏthiệnlỗi vàsửalỗi. Hỡnhthứckiểmtracúthể lựachọngiữanhiều phươngỏn:
Kiểmtrathủcụnghoặckiểm tratựđộng(mỏykiểmtra).
Kiểm tra đầy đủ hoặc khụng đầy đủ (chỉ tập trung vào một số thụngtin quantrọngđểkiểmtra).
Kiểmtratrực tiếphay giỏntiế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ểmtra khuụndạngcủa thụngtin hay kiểmtra giỏ trịcủathụng tin nằmtrongmộtkhoảngchophộ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ụngtintuổithuthậpđược cúthể kiểmtralạikhibiết nămsinh(Tuổiđó khai=Nămhiệntại-Nămsinh,...).
1.3. Kiểmsoỏtcỏcsự cốlàmgiỏn đoạnchươngtrỡnhCỏcsự cốlàmgiỏnđoạnchươngtrỡnhcúthể do: Cỏcsự cốlàmgiỏnđoạnchươngtrỡnhcúthể do: Hỏng phầncứng Giỏ mang tệp cú sự cố Mụitrường Hệ điềuhành 89 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ụngtin,vớ dụnhưthụngtintrờntệp bịsai lạcvỡđangcậpnhậtdở dang.
Để khắc phục hậu quả của cỏc sự cố trờn chỳng ta cú thể lựachọ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ậpnhậtkết thỳc,phiờn bảnmớ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ậpnhật,hệthốngcúsự cốthỡ bảngốcvầncũn nguyờnvẹ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ệpnhậtký làmột tệp tuầntự chứa cỏcbả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ựchiện theo chu kỳ.Vớ dụ: mộtbả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ướckhi bị hỏng vỡ mộtsự giỏn đoạnchươ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ạnchươngtrỡnh.
Nguyờntắc củaphụchồi:
+ Khi chạy chương trỡnh bỡnh thường thỡ định kỳ ghi lại một số biếnmốc quantrọng.
+Khi giỏnđoạnthỡkhởiđộnglạichươngtrỡnhvớibiếnmốcgần nhất. 1.4. Kiểmsoỏtcỏcxõmphạmtừphớacon người
90
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ụngtin mật, riờngtư đềugõy ra nhữngthiệt hại cúthểlà rấtlớ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ặtchẽđểkiểmsoỏtvấnđềnày.
a.Xỏcđịnhnhững điểmhởcủahệ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ăngbị truycập trỏiphộp,bị sửachữa, lấy cắpthậm chớ phỏhuỷ thụngtin, cú thể gõythiệt hạilớn chocơ quanchủ quảnhệthống.
Trong mộthệthốngcỏcđiểm hởcúthể là:
Luồng dữliệu đivàđếntỏc nhõnngoài củahệ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ầnthựchiệnthủcụng.
Cỏc kho dữliệuhoặc cỏctệp.
Cỏc đường truyền trờn mạng (đối với hệ phõn tỏn), ...
b. Xỏcđịnh mứcđộđedoạ từcỏc điểmhở
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ộphoặc khi cú sự cốxảy ra và khả năng phụchồ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ụccỏcthiệthạinày.
Cú thể phõnchiathành 3mứcđộđedoạ 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ốnkộ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ốnkộm.
Mức cao: khú cú thể khắc phục được (cú thể mất hết dữ liệu, hoặc sai
91
đú 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 ý :khiphõntớch cỏcbiệnphỏpkiểmsoỏtcần cúsự thamgia của:
Những người cú trỏch nhiệm trong hệ thống
Nhữngngười rấtamhiểuvềhệthống
Tuỳ từng hệ thống cú thể người sử dụng được tham gia hoặc khụng đượcthamgia.
c. Cỏcbiệnphỏpphũng ngừa,khắcphụ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ựachọn một số cỏcbiệnphỏp(mứcbảomật) phựhợpđểthuđượchiệuquảcao nhất.
Cỏcmứcbảomật:
Bảomậtvật lý:khoỏ,chuụngbỏođộng Nhận dạngnhõnsự
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ộttrạm kiểmsoỏt,tươngtựnhư gọiđiệnthoạiquatổngđài.
d.Phõnbiệtriờngtư
Phõn biệt riờng tư là việc phõn loại cỏc người dựng để:
Gỏnchomỗiloại ngườidựngmộtsố quyềntruynhậpnhấ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ậpchongười khỏc.
Khụng cúmộtchuẩnthống nhấtcho phõnbiệt riờng tư, đểthựchiệ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
92
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ếtkếchi tiết (vềcỏcgiao diện,kiểm soỏtvà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ũnthiếulà:
Cỏcchức năng xuất hiện trongcỏ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ỏcchức năngđốithoạivớingười dựng Xửlý lỗi
Xửlý vào,ra Tra cứuCSDL
Cỏcchức năngđiềuhành(nhằmliờnkết cỏcchứcnăngkhỏc)
Cỏc liờn quangiữacỏc chức năngtrongBLD chỉlà cỏcchuyển giaodữ liệumà khụngphải làchuyểngiao điềukhiển(tứclàchuyển giaosự thựchiệ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ỡnhcon).Đặctrưng nàychưahềcútrongcỏcBLD.
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ệclậ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ỏcquyết định vềcài đặt, chứ chưaphải là cài đặt,chưa phải là lập trỡnhthự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ỏcgiaodiện Cỏckiểmsoỏt
CSDL.
Đầuracủathiếtkế chươngtrỡnh
93
Đặ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ậplượcđồchươngtrỡ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ồmsự chuyểngiaođiềukhiển vàchuyểngiaodữ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ựcchấtlà cỏcnhúmmodule chươngtrỡnh tập hợpxungquanh mộtcấutrỳc dữliệu.
Cỏcthuộc tớnhcơ bảncủamodule
Thụng tin vào, ra: thụng tin nhận được từ chương trỡnh gọi nú hoặc
thụngtin trảlạichochươngtrỡnhgọinú. Chức nănghàm biếnđổitừvàothành ra.
Cơ chế: phương thức để thực hiện chức năng trờn.
Dữ liệu cụcbộ:cỏcchỗnhớhaycấu trỳcdữliệu dựngriờngchonú. b.Cụng cụđểdiễn tảLCT
- Biểu diễncỏcmodule
- 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.
TấNMODULE
- Trường hợp module được định nghĩa sẵn trong hệ thống hay trong thư viện chươngtrỡnh thỡcỏccạnh bờnđượcvẽnột đụi.
Tờnmodule cúsẵn
Kếtnốicỏcmodule
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).
A
B
- ModuleAgọimoduleB
- Module B thực hiện xong chức năng của mỡnh rồi trảđiềukhiểnchoAởvị trớsaulờigọi.
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 đú)
A
B C
Trườnghợplặp cỏclờigọiđếnDvàE A
B C D E F
Thứtự cỏcmoduletừ trỏiqua phải làthứtự mà moduleAgọiđến moduleđú trước.
Thụngtintraođổigiữacỏcmodule
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
95
Vớ dụ về LCT Tớnhlương sốngàycụng Chỉsốlương lương chớnh lương chớnh LoạiNV Phụcấp Tờnnhõnviờn Lươngchớnh Phụcấp Tớnhlươngchớnh Tớnhphụcấp Lờnbảnglương Lươngchớnh Phụ lương chớnh Phụ cấp lương chớnh Phụcấp cấp Tớnhphụcấpchonhõn viờnphụđộng Tớnhphụcấpchonhõn viờntạmtuyển Tớnhphụcấpchonhõn viờntrongbiờnchế
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đượccỏctiờuchuẩnvềchấtlượng sau.
-Sựtương liờn
Sựtươngliờn làmứcđộảnh hưởnglónnhaugiữacỏcmodul. MộtLCTtốt thỡsự tươngliờn phảicànglỏng lẻo,càng đơngiản. Cỏcloại tươngliờ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ủamoduleđượcgọi.Cầnloạibỏtương liờnnày.
Tương liờn về điều khiển: là trường hợp một module này chuyển điều 96
chegiấu thụngtin.Vỡvậytươngliờn điềukhiển cũngnờn trỏnh.
Tương liờn về dữliệu:đú làtrường hợphai moduletrao đổidữ liệucho 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ữacỏcphầnbờntrongcủamộtmodule.
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ệnlỗi, dễbảotrỡ.
Hỡnhthỏi
Phạm vi điều khiển của một module là phần LCTbao gồm module đú vànhững modulephụthuộc (đượcgọi)trựctiếp haygiỏntiế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
modulechịuảnh hưởngcủaquyếtđịnh đú.
Vớdụ:ChoLCTsau
Chớnh
A D
B C E
F G
Tacú: +Phạmvi điềukhiểncủaAlà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ộtLCTtốt thỡvềmặthỡnh thỏi:
Cỏc quyết địnhcúmiềnảnhhưởngcàng hẹpcàng tốt
97
2.3. Đặctả cỏcmodule
Sau khilập đượcLCTcho mỗihệthốngcon, taphảiđặc tảmỗimodule trongđú, tứclàmiờutảrừ nộidungcủamodule.
Đặctảmộtmoduletacầnnờurừ:
Thụng tinđầu vào(Input),thụngtin đầura(Output)
Cỏc thao tỏc thực hiện trong chương trỡnh: cỏc đối thoại với người
dựng,cỏcxửlý lỗi,tracứu CSDL,cỏcxửlý, ...