Chất lượng của hệ thống được hiểu khác nhau từ nhiều quan điểm khác nhau, nó phụ thuộc vào mối quan hệ giữa hệ thống và người đánh giá chất lượng.
Đứng trên quan điểm của người sử dụng hệ thống, thì chất lượng của hệ thống là giá trị sử dụng của nó đối với những công việc mà người sử dụng cần thực hiện, như chính xác, xử lý nhanh, không gây ra hư hỏng (cho dù đó là do sai sót của hệ thống hay của người sử dụng); hệ thống nào thỏa mãn được tất cả các mong muốn của người sử dụng về hệ thống thì nó được cho là có chất lượng cao. Quan điểm này là cũng là quan điểm phổ biến nhất hiện nay (được áp dụng trong hệ thống quản lý chất lượng ISO 9000).
Theo quan điểm của người thiết kế và phát triển hệ thống, thì hệ thống có chất lượng khi nó chỉ cần chi phí thấp (ít tốn nguồn lực) trong việc tạo mới và hiệu chỉnh để hệ thống thỏa mãn hết tất cả các yêu cầu đã được đặt ra; vì người phát triển hệ thống (là nhà sản xuất) luôn mong muốn làm ra hệ thống bằng một phương pháp có hiệu quả cao nhất (ít tốn kém nhất đồng nghĩa với lợi nhuận cao
nhất). Quan điểm này cũng tương tự như quan điểm của người bán hàng: hệ thống có chất lượng khi nó bán được nhiều nhất vì giá rẻ so với giá trị sử dụng của nó.
Ở góc độ của những nhà nghiên cứu đánh giá hệ thống như một sản phẩm thương mại, hệ thống có chất lượng khi nó có nhiều đặc tính (thiết kế) tốt như độ tin cậy cao (chịu đựng được các tác nhân gây hại như sự cố mất điện) và dể bảo trì (cải tiến, nâng cấp), là hai đặc điểm chất lượng mang tính đặc thù của hệ thống thông tin vì hệ thống thông tin cần phải luôn luôn sẳn sàng cho người sử dụng (hệ thống thông tin được ví như là hệ thần kinh của tổ chức), và nó cần phải thích nghi với môi trường hoạt động của tổ chức (liên tục cải tiến để đương đầu với cạnh tranh).
Như vậy tổng hợp từ các quan điểm trên, chất lượng của hệ thống thông tin trong tổ chức được xem xét và đánh giá trên các yếu tố: tính chính xác (correctness), tính tiện dụng (usability), tính toàn vẹn (integrity), độ tin cậy (reliability) và bảo trì được (maintainability).
4.6.2Đánh giá (đo) chất lượng của hệ thống
1. Tính chính xác. Hệ thống phải vận hành hoặc cung cấp giá trị cho người sử dụng một cách đúng đắn. Tính chính xác là mức độ mà phần mềm thực hiện đúng (và đầy đủ) các chức năng được yêu cầu. Một thước đo độ chính xác của hệ thống là số khiếm khuyết mỗi KLOC (Kilo Line of Code, 1000 dòng lệnh), trong đó khiếm khuyết là sự thiếu sót đã nhận biết được qua cách đáp ứng các yêu cầu đã đặt ra cho hệ thống. Như vậy khiếm khuyết là những phàn nàn từ người sử dụng sau khi hệ thống được triển khai ứng dụng. Các khiếm khuyết được đo trong một khoảng thời gian được xác định (thường là 1 năm). Từ khái niệm này, người ta định nghĩa hệ số cải tiến chất lượng DRE (Defect Removal Efficiency) trong quá trình phát triển:
) (E D E DRE + = , trong đó
E là tổng số sai sót được phát hiện trước khi chuyển giao cho người sử dụng, và
D là tổng số khiếm khuyết phát hiện được sau khi chuyển giao.
DRE lý tưởng là 1. Nếu không phát hiện được sai sót nào (trong khi có khiếm khuyết) thì hệ số cải tiến chất lượng là 0. Ngược lại, nếu không có khiếm khuyết nào được phát hiện ra thì DRE là 1 (cho dù hệ thống vẫn còn chứa nhiều lỗi sai trong đó).
2. Tính tiện dụng. Được hiểu là mức độ “thân thiện” của hệ thống đối với người sử dụng (User- friendliness). Nếu một hệ thống không thân thiện với người sử dụng, nó thường gây ra lỗi cho dù các chức năng của nó là có giá trị, hoặc hoạt động đúng theo thiết kế. Tính tiện dụng được đo trên 4 đặc tính:
a. Kỹ năng vật lý hoặc trí tuệ cần thiết để học hệ thống.
b. Thời gian cần thiết để khai thác hệ thống có hiệu quả ở mức độ trung bình. c. Giá trị gia tăng mà hệ thống và người sử dụng (có năng lực bình thường) tạo ra. d. Đánh giá chủ quan của người sử dụng hệ thống (thống kê từ phiếu thăm dò).
3. Tính toàn vẹn. Trong thời buổi có nhiều hackers như ngày nay, tính toàn vẹn của hệ thống thông tin được đặt lên hàng đầu. Tính toàn vẹn của hệ thống là khả năng chống đỡ với các tác nhân gây hại (vô tình hoặc cố ý) làm ảnh hưởng đến an ninh của hệ thống. Các tác nhân gây hại ảnh hưởng lên dữ liệu, xử lý của chương trình và các tài liệu lưu trữ. Để đo mức độ toàn vẹn của hệ thống,
hai thuộc tính phải được định nghĩa: hiểm họa (threat) và phòng vệ (security). “Threat” là xác suất xảy ra 1 loại tấn công trong một khoảng thời gian xác định, “Security” là xác suất chống đỡ thành công một loại tấn công trong khoảng thời gian xác định. Khi đó, tính toàn vẹn được tính bằng công thức:
Integrity = ∑(1−Threat)*Security
4. Bảo trì được. Là khả năng phần mềm có thể khắc phục một khiếm khuyết/lỗi nếu nó được phát hiện, có thể thích nghi được với môi trường, hoặc có thể cải tiến được khi người sử dụng muốn thay đổi. Không có cách nào đo luờng trực tiếp được tính bảo trì được, vì vậy người ta thường sử dụng các độ đo gián tiếp như MTTC (Mean Time To Change). MTTC là khoảng thời gian trung bình mà hệ thống đáp ứng xong các yêu cầu thay đổi, tính từ khi người sử dụng đặt ra yêu cầu thay đổi trên hệ thống cho đến khi họ được thỏa mãn. Mỗi một loại yêu cầu thay đổi có một MTTC tương ứng; và MTTC càng nhỏ thì tính bảo trì được của hệ thống càng cao. Khi đó, độ bảo trì có thể đo bằng: Maintainability = ) 1 ( 1 MTTC +
Ngoài ra, chi phí sửa lỗi (cao hay thấp) cũng là yếu tố đánh giá tính bảo trì được.
5. Độ tin cậy. Độ tin cậy là khả năng sẵn sàng dùng được của hệ thống (khi nó không bị hư hỏng). Độ tin cậy được tính từ các công thức:
MTTR MTTF MTBF = + MTBF MTTF ty Availabili = ) 1 ( Re MTBF MTBF liability + =
MTBF (Mean Time Between Failures) là khoảng thời gian trung bình giữa 2 lần hệ thống bị hư hỏng (tính bằng năm, vi dụ: khoảng 2 năm hệ thống bị hư 1 lần).
MTTF (Mean Time To Failure) là khoảng thời gian trung bình mà hệ thống vận hành bình thường không hư hỏng. MTTR (Mean Time To Repair) là khoảng thời gian trung bình hệ thống cần phải được sửa chữa (trong thời gian này thì hệ thống không dùng được).
Availability là xác suất sẵn sàng dùng được của hệ thống. Nếu Availability = 1, có nghĩa là hệ thống không có thời gian tạm ngưng để sửa chữa (hoặc khắc phục sự cố).
Reliablity là xác suất xảy ra hư hỏng trong 1 năm. Theo mô hình này, nếu MTBF càng lớn thì độ tin cậy Reliablity sẽ càng cao, nhưng không bao giờ bằng 1 (hoàn toàn lý tưởng).
TÓM TẮT NỘI DUNG
Bảng quan hệ là cấu trúc dạng bảng (gồm cột và hàng) dùng để diễn tả các thực thể cho phù hợp với các bảng dữ liệu trong cơ sở dữ liệu loại quan hệ. Thiết kế bảng quan hệ bao gồm các vấn đề: chuyển thực thể sang bảng quan hệ, chuẩn hóa các bảng quan hệ thành dạng chuẩn 2 và 3, trộn các bảng để dể quản lý hoặc truy xuất, sử dụng các trường tính toán cho bảng và mã hóa dữ liệu để giảm dư thừa dữ liệu hoặc tốn không gian lưu trữ.
Cơ sở dữ liệu là một cấu trúc lưu trữ dữ liệu ở mức vật lý trên các ổ dĩa cứng để khai thác dữ liệu một cách có hiệu quả nhất: truy cập nhanh, ít tốn chổ lưu trữ, an toàn và bảo mật. Cơ sở dữ liệu quan hệ là loại phổ biến nhất hiện nay, được thiết kế dựa trên khái niệm bảng dữ liệu, trường dữ liệu, kiểu dữ liệu và các quan hệ liên kết các bảng. Hệ quản trị CSDL là hệ thống phần mềm dùng để định nghĩa, thao tác và chia sẽ dữ liệu trong CSDL, gồm 3 phần: CSDL, bộ máy điều khiển và ngôn ngữ lệnh (ngôn ngữ vấn đáp có cấu trúc – SQL). Thiết kế CSDL là sử dụng các lệnh SQL để tạo mới, phân quyền truy xuất các bảng dữ liệu, dựa trên lược đồ ERD.
Thiết kế xử lý bao gồm tạo ra các giao diện (forms/reports) phù hợp với nhu cầu sử dụng hệ thống, xem xét mối liên kết phụ thuộc hoặc kết dính giữa các môđun xử lý trong hệ thống, và bố trí các xử lý (nhân công, trên máy đầu cuối, trên server theo mô hình client-server 2 lớp hay 3 lớp) để tận dụng tối đa năng lực của các loại nguồn lực trong hệ thống.
Việc chọn giải pháp triển khai hệ thống bao gồm 5 việc: (1) Xác định các tiêu chuẩn đánh giá (yêu cầu, ràng buộc), (2) xác định mức độ quan trọng của mỗi tiêu chuẩn đối với hệ thống, (3) xác định ít nhất 3 phương án thực hiện, (4) đánh giá mức độ thỏa mãn của mỗi phương án đối với từng tiêu chuẩn và (5) tính điểm cho từng phương án.
Chất lượng của hệ thống được đánh giá (đo) theo 5 khía cạnh: (1) tính chính xác, (2) tính tiện dụng, (3) tính toàn vẹn, (4) bảo trì và (5) độ tin cậy.
CÂU HỎI ÔN TẬP
1. Ràng buộc toàn vẹn thực thể là gì ? Hãy cho biết vai trò của khóa chính và khóa ngoại đối với ràng buộc toàn vẹn thực thể.
2. Phụ thuộc hàm là gì ? Có khi nào một thuộc tính không phải là khóa (non-key attribute) không phụ thuộc hàm vào khóa của bảng quan hệ ? hãy giải thích.
3. Bảng quan hệ có cấu trúc tốt là gì ? làm cách nào để tạo ra các bảng quan hệ có cấu trúc tốt ? 4. Hãy phân biệt các bảng quan hệ không thuộc dạng chuẩn nào, thuộc chuẩn 1NF, thuộc chuẩn
2NF và thuộc chuẩn 3NF.
5. Hãy cho biết yêu cầu đối với việc trộn các bảng quan hệ, và cho ví dụ chứng minh.
6. Hãy tham khảo hình 4.9 Sử dụng lookup table để lưu tên đường. Nếu không dùng lookup table, bảng EMPLOYEE sẽ phải có trường “Street” (dài 40 bytes) thay cho trường “St_code”. Giả sử bảng EMPLOYEE có 1000 dòng, và LOOKUP_STREET có 300 dòng. Hãy tính không gian lưu trữ đã tiết kiệm được khi dùng lookup table.
7. Hãy cho biết những chức năng (nhiệm vụ) của các giao tiếp nói chung. Như vậy một report có những chức năng nào trong số này ?
8. Hãy cho biết các yêu cầu cơ bản đối với các forms giao tiếp trên máy tính. 9. Hãy cho biết các mức phụ thuộc lẫn nhau giữa các môđun.
10.Hãy cho biết các mức kết dính lẫn nhau giữa các môđun.
11.Hãy cho biết sự khác nhau giữa mô hình client-server 2 lớp và client-server 3 lớp. 12.Hãy cho biết cách đo mức độ chính xác của hệ thống
CHỌN CÂU TRẢ LỜI ĐÚNG
14.Trường công thức có thể dùng để a) Tiết kiệm không gian lưu trữ b) Gia tăng tính đúng đắn của dữ liệu
c) Chuẩn hóa (nhất quán) các công thức tạo ra thông tin d) Cả a, b và c đều đúng
15.Thuộc tính B phụ thuộc hàm vào thuộc tính A có nghĩa là
a) Nếu cho trước 1 giá trị dữ liệu A, thì sẽ xác định được 1 giá trị dữ liệu B tương ứng b) Nếu cho trước 1 giá trị dữ liệu B, thì sẽ xác định được 1 giá trị dữ liệu A tương ứng c) Nếu cho trước 1 giá trị dữ liệu A, thì sẽ tính toán được 1 giá trị dữ liệu B bằng công thức d) Cả a, b, và c đều đúng
16.Mô tả nào sau đây thể hiện đặc trưng cơ bản của dạng chuẩn 3 (3NF) a) Bảng không có 2 dòng hoàn toàn giống nhau
b) Bảng không chứa nhiều giá trị dữ liệu ở bất kỳ ô dữ liệu nào
c) Thuộc tính không phải là khóa thì không phụ thuộc hàm vào một phần của khóa d) Thuộc tính không phải là khóa thì chỉ phụ thuộc hàm vào toàn bộ khóa.
17.Mục đích chính của việc trộn các bảng quan hệ là
a) Phân rã bảng quan hệ phức tạp thành các bảng đơn giản, dể hiểu b) Tạo ra các bảng quan hệ có cấu trúc tốt
c) Để tiết kiệm không gian lưu dữ liệu d) Tránh trùng lắp dữ liệu giữa các bảng
18.Hiệu quả sử dụng một hệ thống thông tin phụ thuộc chủ yếu vào a) Đầu tư cho các thiết bị phần cứng
b) Trang bị đầy đủ phần mềm cho người sử dụng
c) Thiết lập mạng máy tính có băng thông lớn (tốc độ cao) d) Bố trí nguồn lực phù hợp với từng công việc trong hệ thống
BÀI TẬP
1. Giả sử bảng quan hệ COURSE gồm các thuộc tính name, dept, year, semester, instructor. Tùy theo cách thiết lập, mỗi khóa được liệt kê sau đây sẽ mang ý nghĩa khác nhau trong thực tế. Hãy sử dụng khái niệm phụ thuộc hàm để giải thích ý nghĩa của từng khóa sau:
(i) name
2. Vẽ ERD sau đây thành lược đồ quan hệ dạng chuẩn 3NF.
3. Giả sử ta có bản quan hệ R(A, B, C, D, E) với khóa chính A,B và 2 phụ thuộc hàm:
a. C → D b. D → E
Hãy chuyển quan hệ R sang dạng chuẩn 3NF.
4. Quan hệ MEETING có các thuộc tính và khóa như sau:
MEETING(CourseName, CourseTitle, Day, Time, BuildingName,Room#, Address) Giả sử có 2 phụ thuộc hàm trên quan hệ này:
Address phụ thuộc hàm vào BuildingName CourseTitle phụ thuộc hàm vào CourseName
Quan hệ này có phải là quan hệ 2NF hay 3NF không ? hãy giải thích và nếu nó không ở dạng 2NF hay 3NF, hãy chuyển nó sang dạng 2NF và 3NF.
5. Quan hệ BUILDING ó các thuộc tính và khóa như sau:
BUILDING(Street, Street#, City, OwnerName, OwnerAddress, PropertyTax). Giả sử có 3 phụ thuộc hàm trên quan hệ này:
OwnerName phụ thuộc hàm vào street, street#, city PropertyTax phụ thuộc hàm vào street, street#, city OwnerAddress phụ thuộc hàm vào ownerName
Quan hệ này có phải là quan hệ 2NF hay 3NF không ? hãy giải thích và nếu nó không ở dạng 2NF hay 3NF, chuyển nó sang dạng 2NF và 3NF.
6. Một CSDL có 2 bảng quan hệ như sau
Order( order# ,date, customerID, lastName, firstName, province, amount, taxRate) ProductOrdered( order#, product# , productDesc, quantity, price)
CSDL này không ở dạng 2NF vì có các phụ thuộc hàm:
customerID→ lastName, firstName, province, taxRate
province → taxRate
product # → productDesc, price
Hãy chuyển lược đồ CSDL này thành dạng 2NF, và 3NF. 7. Một hãng xe hơi có CSDL lưu các thông tin sau:
Thông tin vê nhà cung cấp (Suppliers)
A B
C
Mỗi nhà cung cấp được hãng xe hơi gán một số định danh Supplier# để phân biệt nhau Mỗi nhà cung cấp có tên (SupplierName), và thành phố (SupplierCity)
Mỗi nhà cung cấp cung cấp 1 hoặc nhiều phụ tùng cho xe Thông tin vê phụ tùng xe (Parts)
Mỗi phụ tùng xe có một tên (PartName), số định danh (Part#) và giá (PartPrice) Mỗi phụ tùng được cung cấp bởi 1 hay nhiều nhà cung cấp
Part# là số dùng để phân biệt các phụ tùng xe với nhau Thông tin vê đợt cung cấp (Supply)
Mỗi đợt cung cấp có nhà cung cấp cung cấp một phụ tùng
Mỗi đợt cung cấp có số lượng(quantity), ngày (date), tên bộ phận (partName), thành phố của nhà cung cấp (SupplierCity), và mã vùng của nhà cung cấp (Supplier_Postal)
Giả sử hãng đã biết được các quan hệ phụ thuộc như sau:
Số lượng trong mỗi đợt cung cấp hàng phụ thuộc hoàn toàn vào supplier#,part#,date PartName được xác định bởi Part#
SupplierCity,SupplierPostal phụ thuộc vào Supplier# Nếu biết SupplierPostal, ta sẽ biết được SupplierCity a) Hãy vẽ lược đồ ERD cho CSDL.
b) Chuyển lược đồ ERD sang bảng quan hệ và chuẩn hóa thành dạng 3NF. 8. Cho 3 quan hệ sau:
Shop(shop_id, name), Album(album_id, title), Sells(shop_id, album_id, price)
Giả sử dữ liệu trong các bảng này đã có. Hãy viết câu lệnh SQL liệt kê tên của cửa hàng có bán album “The big bell” (Album.tite = “The big bell”)
9. Công ty Eversure Consulting Company (ECC) vừa hoàn thành việc phân tích hệ thống đặt mua hàng cho khách hàng. Công ty đánh giá các trọng số theo các tiêu chuẩn như sau:
• Phần yêu cầu chức năng: nhập liệu có trọng số 0.16, đặt hàng 0.16, và truy vấn (dữ liệu) 0.12 • Phần ràng buộc: chi phí phần mềm 0.16, chi phí phần cứng 0.13, thời gian thực hiện 0.08,
huấn luyện 0.03, trợ giúp 0.08, và chu kỳ sống (của hệ thống) 0.08
ECC tìm được 3 công ty A, B và C đã cung cấp 3 phương án tương ứng. ECC đã so sánh và đánh giá các tiêu chuẩn trên và xếp hạng từ mức 0 (thấp) đến mức 5 (cao) như sau:
Công ty A: đạt mức 5 cho hầu hết các tiêu chuẩn, ngoại trừ đặt hàng (3), trợ giúp (3), truy vấn (1).
Công ty B: đạt mức 5 cho nhập liệu và đặt hàng, mức 4 cho chi phí phần mềm, chi phí phần cứng, thời gian thực hiện, trợ giúp; mức 3 cho truy vấn, huấn luyện và chu kỳ sống.
Công ty C: đạt mức 5 cho hầu hết các tiêu chuẩn, ngoại trừ chi phí phần cứng (4), chi phí phần mềm (3), và thời gian thực hiện (3).
TÀI LIỆU THAM KHẢO
1. Modern System Analysis and Design, Jeffey A.Hoffer, Joey K.George, Joseph S.Valacich, Addison Wesley, 2003: chuơng 11, chương 14, chương 15, chương 16, chương 18.
2. Software Engineering: A Practitioner’s Approach, Roger S.Pressman, Mc.GrawHill, 2001: Chương 4, chương 5.