Trong quá trình xây dựng sơ đồ dòng dữ liệu, có thể xảy ra những tình huống dị thờng, nh có quá nhiều dòng dữ liệu liên quan đến một tiến trình, hoặc xuất hiện những trang sơ đồ, trong đó, có những tiến trình không có dữ liệu chung.
- Hiện tợng nhiều dòng dữ liệu tập trung vào một chỗ thờng liên quan tới những tiến trình phức tạp. Có thể trình đã đợc hình thành bởi việc gộp nhóm từ nhiều thành phần công việc khác nhau. Nừu đây là lý do để dẫn tới bùng nổ dòng, thì cần phải xem xét lại việc gộp nhóm. Cũng cần phải xem xét lý do thứ hai, đó là tiến trình cha đợc phân rã đủ, để nó trở thành đơn giản và dễ hiểu.
- Tình huống mà trong đó có một số tiến trình không có dữ liệu chung, thờng liên quan đến việc bố trí trang sơ đồ không đúng đắn. Cần phải xem xét lại sơ đồ chức năng nghiệp vụ với câu hỏi “ Đã có chức năng nào đó bị phân rã một cách không chính xác? ”. Do các chức năng bị phân rã sai lệch, cho nên, khi chuyển sang sơ đồ dòng dữ liệu, các trang sơ đồ cũng sẽ bị lệch lạc theo.
Sơ đồ dòng dữ liệu là một mô hình hệ thống tơng đối cân xứng cả về dữ liệu và tiến trình. Mặc dù vậy, nó vẫn có những hạn chế nhất định.
- Mô hình này vẫn cha phải là một phân tích đầy đủ về cả hệ thống. Sơ đồ dòng dữ liệu không có yếu tố thời gian, thời điểm. Ví dụ, sơ đồ dòng dữ liệu không xác định d- ợc thời điểm và thời gian cần thiết để chuyển thông tin.
- Sơ đồ chức năng nghiệp vụ cũng không xác định đợc trật tự thực hiện các chức năng, mặc dù trật tự này phụ thuộc vào việc cung cấp thông tin, chức năng này đợc thực hiện dựa trên sản phẩm của chức năng khác.
- Sơ đồ dòng dữ liệu không chỉ ra đợc yếu tố định lợng đối với dữ liệu liên quan. Các tiến trình mức thấp nhất trong sơ đồ dòng dữ liệu nghiệp vụ cũng có thể là một tập hợp rất phức tạp các yêu cầu nghiệp vụ. Các mô tả trong sơ đồ dòng dữ liệu nghiệp vụ hoặc sơ đồ chức năng nghiệp vụ chỉ có thể cho ta một ấn tợng rất chung chung về các tiến trình đó. Vì vậy, cần có một mô tả chi tiết hơn với các tiến trình quan trọng.
Ví dụ:
Xét bàI toán tuyển sinh
1. Xác định các tập thực thể:
- sbd : thuộc tính khoá. Thuộc tính khóa
- ho, dem, ten: thuộc tính tên gọi .
- ngaysinh, queqan, giotinh, phongthi, Ngànhthi, anh:
- phongthi: thuộc tính khoá.
- diadiem: thuộc tính mô tả.
- sophach: thuộc tính mô tả.
- - sbd: thuộc tính khoá.
- sbd: thuộc tính khoá.
- sophach, mon: thuộc tính khoá. - diem: thuộc tính mô tả.
- tenut: thuộc tính tên gọi. - dcong: thuộc tính mô tả.
- mangh: thuộc tính khoá. - tenngh: thuộc tính tên gọi.
- chitieu: thuộc tính mô tả.
2. Xác định các mối liên hệ:
1, Ts_phong (thisinh, phongthi) (n - 1) 2, Ts_phach (thisinh, phachthi) (1 - n) 3, Phach_diem (phachthi, diemthi) (1 - 1) 4, Ts_nganh (thisinh, nganh) (n - 1) 5, Ts_ut (thisinh, uutien) (n – n) Thisinh Phongthi Phach Diem Uutien Nganh
Sơ đồ Mô hình thực thể liên hệ
uutien
dcong tenut
maut
ts_ut thi sinh
sbd ho te n gt quequan phongthi Ngay sinh ts_phong phong phon g diadiem ts_phach ts_nganh
nganh phach phach_die
m diem manganh chitieu tennganh sobd sophach mon sophach die m anh Ma nganh Dem1 Dem2 1
Mất thông tin và bảo toàn phụ thuộc hàm.
1.1. Từ mô hình thực thể liên kết ta có các quan hệ sau:
Thisinh(sobd, hodem, ten, ngaysinh, queqan, gioitinh, phongthi,
nganhthi, anh) (1).
Phongthi(phongthi,diadiem) (2).
Phach(mon, sbd, sophach) (3).
Diem(sophach, mon, diem) (4).
Uutien(maut, tenut, dcong) (5).
Ts_phong(phong, sbd) (6).
Ts_phach(sbd, mon) (7).
Phach_diem(mon, sbd, sophach) (8).
Ts_ut(sbd, maut) (9).
Nganh(manganh, tennganh, chitieu) (10).
Ts_nganh(sbd, mangh) (11). 1.2. Gộp các quan hệ có thể: (1)+(6)+(11) đợc quan hệ thisinh: Thisinh(sbd,hodem,ten,ngaysinh,quequa,gioitinh,nganhthi,phongthi, anh) (1). gộp (3)+(7)+(8) đợc quan hệ phachthi: Phach(mon, sbd, sophach) (2). Phongthi(phongthi,diadiem) (3).
Nganh(manganh, tennganh, chitieu) (4).
Uutien(maut, tenut, dcong) (5).
Thisinhuutien (sobd, maut) (6).
Điem(sophach, mon, diem) (7). 1.3. Vẽ mô hình quan hệ cha chuẩn hoá
2.Chuẩn hoá:
2.1. Xét quan hệ : ts_ut(sbd, maut)
Quan hệ này có tập phụ thuộc hàm là rỗng nên ở dạng 3NF diem sophach mon diem nganh mangh tennganh chitieu thisinh sbd hodem ten ngaysinh quequan gioitinh sophong manganh phong anh ts_ut sbd maut uutien maut tenut dcong phongthi phongthi diadiem phach sbd mon sophach
2.2. Xét quan hệ : nganh(manganh, tenânnh, chitieu) F = { manganh tennganh, chitieu}
Khoá: K=manganh
Quan hệ này có một khoá, một phụ thuộc hàm nên ở dạng 3NF. 2.3. Xét quan hệ: phongthi(phongthi, diadiem).
F={phongthi diadiem} Khoá K={phongthi}
Quan hệ có một phụ thuộc hàm, một khoá nên ở dạng 3NF. 2.4. Xét quan hệ :uutien(maut, tenut, dcong)
F={ maut tenut, dcong} Khoá K= {maut}
Quan hệ này có một phụ thuộc hàm mà thuộc tính khoá xác định các thuộc tính còn lại nên ở dạng 3NF.
2.5. Xét quan hệ :diem(sbd, mon, diem) F={sbd, mon diem} Khoá K={sobd, monthi}
Quan hệ có một phụ thuộc hàm, thuộc tính khoá xác định thuộc tính còn lại nên ở dạng 3NF.
2.6. Xét quan hệ phach(sbd, mon, sophach)
F={sbd, mon sophach}
Khoá K={sbd, mon}
Quan hệ có một phụ thuộc hàm, thuộc tính khoá xác định thuộc tính còn lại nên ở dạng 3NF.
2.7. Xét quan hệ thisinh:
thisinh(sbd, ho, dem, ten, ngaysinh, quequa, gioitinh, phong,sophach, anh)
F={sbd ho,dem, ten, ngaysinh, quequan, gioitinh, sophach, phong,anh}
Khoá K={sbd}
Quan hệ có một phụ thuộc hàm, thuộc tính khoá xác định các thuộc tính còn lại nên ở dạng 3NF.
3. Mô hình quan hệ đã chuẩn hoá:
Bài tập:
1.Xây dựng sơ đồ chức năng nghiệp vụ , sơ đồ dòng dữ liệu, dựng mô hình thực thể liên kết và các lợc đồ quan hệ 3NF cho hệ thống quản lý sinh viên của 1 trờng ĐH đã khảo sát ở chơng 2
2.Xây dựng sơ đồ chức năng nghiệp vụ, sơ đồ dòng dữ liệu, dựng mô hình thực thể liên kết và các lợc đồ quan hệ 3NF cho hệ thống quản lý mua bán xe máy tại 1 công ty bán xe máy đã khảo sát ở chơng 2
nganh manganh tengnanh chitieu thisinh sbd ho dem ten ngaysinh quequan gioitinh sophach phong anh manganh ts_ut sbd maut phongthi phongthi diadiem phach sbd mon sophach uutien maut tenut dcong diem sophach mon diem
Chơng 5: Thiết kế hệ thống I. Các thành phần thiết kế
Thiết kế hệ thống là quá trình chuyển đặc tả logic về chức năng và dữ liệu của hệ thống thành đặc tả vật lý trên cơ sở xem xét các yêu cầu của ngời sử dụng và các ràng buộc vật lý. Nói các khác, thiết kế hệ thống la quá trình xây dựng các mô hình vật lý cho hệ thống nhằm đáp ứng yêu cầu của ngời sử dụng. Khác với các mô hình đợc nhắc đến trong quá trình phân tích hệ thống, nhằm trả lời câu hỏi “Làm gì?”, trong giai đoạn thiết kế hệ thống, các mô hình cần trả lời câu hỏi “ Làm nh thế nào?”
Nội dung thiết kế bao gồm nhiều vấn đề, nhng một số nội dung chính sau đây thờng đợc quan tâm khi triển khai các dự án”
- Thiết kế dữ liệu, tức là chuyển mô hình dữ liệu, đã đợc phân tích trong giai đoạn trớc, thành cấu trúc dữ liệu cần thiết cho việc xây dựng, cài đặt các phần mềm .
- Thiết kế kiến trúc tổng thể của hệ thống, trong đó xác định rõ các thành phần cùng với nhiệm vụ, chức năng và phơng thức xử lý thông tin của chúng.
- Thiết kế chức năng, tức là xác định các modul, thể hiện các chức năng, nhiệm vụ của các thành phần trong hệ thống
- Thiết kế giao diện, tức là chi tiết hoá các hình thức giao tiếp nh giao tiếp giữa ng- ời và máy thông qua các mẫu màn hình (form)
- Thiết kế kiểm soát, nhằm xác định các công cụ và cơ chế đảm bảo an toàn cho hệ thống
- Những thông tin chính cần thiết cho quá trình thiết kế hệ thống bao gồm:
- Các đặc tả về hệ thống nh sơ đồ phân rã chức năng, sơ đồ dòng dữ liệu, mô hình dữ liệu.
- Các điều kiện ràng buộc nh yêu cầu hoặc khả năng đáp ứng của phần cứng, phần mềm; yêu cầu về thời gian cho các đối thoại; yêu cầu về tính chính xác trong các xử lý
Mỗi một phơng án thiết kế thờng là kết hợp của hai yếu tố: mục tiêu, nhiệm vụ của hệ thống và điều kiện thực hiện cụ thể.
II. Thiết kế kiểm soát1.1. Kiểm soát dữ liệu 1.1. Kiểm soát dữ liệu
a) Bảo vệ từng dữ liệu riêng biệt
Trong mỗi thao tác đối với dữ liệu, chẳng hạn nh thêm, xoá, sửa dữ liệu, có thể xảy ra sự cố giữa chừng và thao tác không kịp hoàn thành. Việc thực hiện tiếp thao tác có thể khó khăn hơn nhiều so với làm lại thao tác đó từ đầu. Trong những tình huống nh vậy, nếu bản gốc của dữ liệu trớc khi thực hiện thao tác vẫn còn đợc lu giữ ở chỗ nào đó trong hệ thống thì việc làm lại thao tác sẽ dễ dàng hơn.
Giải pháp đề phòng sự cố dạng này có thể là chia cơ sở dữ liệu hoặc tệp thành một số đơn vị để thao tác. Khi xảy ra một thao tác với một bản sao của một đơn vị nào đó, bản gốc cần đợc bảo vệ chống truy cập. Khi thao tác kết thúc, phiên bản mới của đơn
vị này sẽ thay thế bản gốc. Nếu xảy ra sự cố trong khi thực hiện thao tác thì bản gốc vẫn còn nguyên vẹn.
b) Sao lu dữ liệu:
Toàn bộ các tệp hoặc cơ sở dữ liệu cần đợc sao lu nhằm đề phòng sự cố hỏng hóc, mất mát xảy ra. Cùng với các tệp sao lu, thờng cần thêm tệp nhật ký mô tả quá trình sao lu.
Có thể chia việc sao lu thành chu kỳ cho từng phần và toàn bộ dữ liệu. Chẳng hạn, bản sao một số phần quan trọng đợc thực hiện hàng ngày, toàn bộ dữ liệu đợc sao lu hàng tuần.
c) Phục hồi dữ liệu:
Phục hồi dữ liệu nhằm đa cơ sở dữ liệu trở về trạng thái đúng đắn của nó trớc khi xảy ra sự cố gây hỏng. Cũng phải thấy rằng không phải khi nào cũng phục hồi đợc dữ liệu. Những nguyên nhân dạng hỏng giá mang thông tin nh bộ nhớ ngoài (đĩa cứng, đĩa mềm, đĩa CD) thờng rất khó phục hồi. Nguyên nhân hỏng dữ liệu do chơng trình thực hiện bị gián đoạn ở một tiến trình nào đó, hoặc nguyên nhân từ hệ điều hành, phần mềm hệ thống hoặc phần mềm ứng dụng hay thực hiện sai thao tác, có thể thực hiện thủ tục phục hồi dữ liệu.
1.2. Phân tích xác định kiểm soát trong hệ thống
a) Xác định các điểm hở
Điểm hở của hệ thống là chỗ mà tác nhân ngoài qua đó có thể gây tác động tiêu cực tới hệ thống. Ví dụ, tệp mật khẩu, phân quyền sử dụng không đợc mã hoá và để ngay trên vùng bộ nhớ dùng chung. Ngời sử dụng máy tính có thể làm hỏng hoặc lấy cắp thông tin mật khẩu hoặc phân quyền sử dụng hệ thống. Các khu vực thờng có điểm hở:
Đờng truyền thông tin trên mạng. Các kho dữ liệu không đợc bảo vệ.
Các dòng thông tin trao đổi giữa hệ thống và tác nhân ngoài, giữa phần máy tính và phần thực hiện thủ công.
b) Xác định các đe doạ
Việc phân tích các điểm hở của hệ thống nhằm xác định các đe doạ tiềm ẩn, đánh giá khả năng xảy ra và mức độ thiệt hại từ các đe doạ. Đe doạ tiềm ẩn có thể là:
Lấy cắp thông tin nh mật khẩu và tệp dữ liệu quan trọng. Làm sai lệch thông tin trong hệ thống.
Vi phạm quyền riêng t của ngời sử dụng. Các đe doạ đợc phân chia thành nhiều mức độ:
Mức cao, bao gồm các đe doạ có thể gây tổn thất lớn, gây ảnh hởng tới sự tồn tại của hệ thống. Ví dụ, đe doạ dạng lộ bí mật thông tin về kinh doanh hoặc ăn cắp mật khẩu để rút tiền trong tài khoản, thuộc vào mức cao.
Mức vừa, bao gồm các đe doạ không gây tổn thất lớn, không đe dọa đến sự tổn hại của hệ thống. Ví dụ, hỏng dữ liệu nhng có thể đăng nhập lại đợc và thời gian chờ đợi đăng nhập lại dữ liệu trong hệ thống là chấp nhận đợc.
Mức thấp, bao gồm các đe dọa không gây tổn thất cho hệ thống hoặc những tổn thất có thể khắc phục đợc.
1.3. Biện pháp bảo mật
Các thao tác với hệ thống đều do con ngời thực hiện. Vì vậy, xem xét các nguy cơ đe doạ sự an toàn hệ thống từ phía con ngời và các thao tác của con ngời là việc làm cần thiết. Mục đích việc xây dựng biện pháp bảo mật nhằm:
Bảo vệ tính toàn vẹn (integrity) của dữ liệu, bảo đảm sự nhất quán của dữ liệu trong hệ thống. Các biện pháp đa ra phải ngăn chặn đợc việc thay đổi bất hợp pháp hoặc phá hoại dữ liệu.
Bảo vệ tính bí mật, giữ cho thông tin không bị lộ ra ngoài.
Bảo vệ tính khả dụng, tức là hệ thống luôn sẵn sàng thực hiện yêu cầu truy nhập thông tin của ngời dùng hợp pháp.
Bảo vệ tính riêng t, tức là bảo đảm cho ngời sử dụng khai thác tài nguyên của hệ thống theo đúng chức năng, nhiệm vụ đã đợc phân cấp, ngăn chặn đợc sự truy nhập thông tin bất hợp pháp.
Trong phần này, chúng ta xem xét một số biện pháp bảo mật cho một hệ thống tin học. Cũng cần phải nhấn mạnh rằng, không có biện pháp nào là hoàn hảo, mỗi biện pháp đều có những mặt hạn chế của nó. Biện pháp nào là hiệu quả, cần đợc áp dụng, phải căn cứ vào từng hệ thống để đa ra cách thực hiện cụ thể.
a) Thiết lập quy tắc quản lý
Mỗi tổ chức cần có những quy tắc quản lý của riêng mình về bảo mật hệ thống thông tin trong hệ thống. Có thể chia các quy tắc quản lý thành một số phần:
Quy tắc quản lý đối với hệ thống máy chủ. Quy tắc quản lý đối với máy trạm.
Quy tắc quản lý về việc trao đổi thông tin giữa các bộ phận trong hệ thống, giữa hệ thống máy tính và ngời sử dụng, giữa các thành phần của hệ thống và các tác nhân ngoài
b) An toàn thiết bị
Lựa chọn các thiết bị lu trữ có độ tin cậy cao để đảm bảo an toàn cho dữ liệu. Phân loại dữ liệu theo các mức độ quan trọng khác nhau để có chiến lợc mua sắm thiết bị hoặc xây dựng kế hoạch sao lu dữ liệu hợp lý.
Sử dụng các hệ thống cung cấp, phân phối và bảo vệ nguồn điện một cách hợp lý. Tuân thủ chế độ bảo trì định kỳ đối với các thiết bị.
c) Thiết lập biện pháp bảo mật
Cơ chế bảo mật một hệ thống thể hiện qua quy chế bảo mật trong hệ thống, sự phân cấp quyền hạn, chức năng của ngời sử dụng trong hệ thống đối với dữ liệu và quy trình kiểm soát công tác quản trị hệ thống. Các biện pháp bảo mật bao gồm:
Bảo mật vật lý đối với hệ thống. Hình thức bảo mật vật lý khá đa dạng, từ khoá cứng, hệ thống báo động cho đến hạn chế sử dụng thiết bị. Ví dụ nh loại bỏ đĩa mềm khỏi các máy trạm thông thờng là biện pháp đợc nhiều cơ quan áp dụng.
Các biện pháp hành chính nh nhận dạng nhân sự khi vào văn phòng, đăng nhập hệ thống hoặc cấm cài đặt phần mềm, hay sử dụng các phần mềm không phù hợp với hệ thống.
Mật khẩu là một biện pháp phổ biến và khá hiệu quả. Tuy nhiên, mật khẩu không phải là biện pháp an toàn tuyệt đối. Mật khẩu vẫn có thể bị mất cắp sau một thời gian sử dụng.
Bảo mật dữ liệu bằng mật mã tức là biến đổi dữ liệu từ dạng nhiều ngời dễ dàng đọc đợc, hiểu đợc sang một dạng khó nhận biết.
Xây dựng bức tờng lửa, tức là tạo một hệ thống bao gồm phần cứng và phần mềm đặt giữa hệ thống và môi trờng bên ngoài nh Internet chẳng hạn. Thông thờng, tờng lửa có chức năng ngăn chặn những thâm nhập trái phép (không nằm trong danh mục đợc phép truy nhập), hoặc lọc bỏ, cho phép gửi hay không gửi các gói tin
III. Thiết kế dữ liệu1. Phân chia dữ liệu