Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 126 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
126
Dung lượng
2,35 MB
Nội dung
1 PHÂN TÍCH THIẾT KẾ HỆ THỐNG Tiếp cận hướng cấu trúc Tháng 9-2007 ThS Nguyễn Anh Hào Phương pháp luận PT-TK-HT Thế giới ý niệm Tư logic để tìm giải pháp Hệ thống củ hoạt động Thế giới thực Phân tích Yêu cầu Hệ thống Bối cảnh chung vấn đề giải pháp Hệ thống Sẽ phải làm Thiết kế Khảo sát Hệ thống củ làm Hệ thống vận hành Xác định yêu cầu (khảo sát) Khảo sát trạng trình khám phá cách mà hệ thống thiết kế vận hành thực tế, làm bộc lộ quan hệ nội thành phần hệ thống mối liên hệ hệ thống với yêu cầu Xác định yêu cầu cho hệ thống trình tổng hợp thơng tin mang tính hệ thống khách quan, dựa vào mô tả vài cá nhân, • • Mỗi cá nhân nhìn hệ thống theo lĩnh vực chun mơn phụ trách; phát biểu thường khơng bộc lộ ràng buộc tổng thể hệ thống Các phát biểu nhiều người thường có mâu thuẩn người có quan điểm khác hệ thống Nội dung khảo sát Tìm hiểu mục đích, u cầu hệ thống • Xác định vai trò (lợi ích) hệ thống tổ chức Tìm hiểu quy trình thành phần hệ thống • Để làm bộc lộ mối quan hệ nội thành phần a Công việc: quy tắc quản lý, cách làm, kết quả, chuyển giao b Nguồn lực: mức độ, phương tiện, nhân lực, cách tổ chức bố trí Tìm hiểu thơng tin – liệu quy trình • • Các quy định, hướng dẫn, tiêu chuẩn Forms/Reports : có thơng tin gì, cần, dùnd để làm gì, Hệ thống thơng tin máy tính (CBIS) có • • • Phạm vi, mức độ cách trợ giúp users thực cơng việc Vai trò (roles) users hệ thống Phần mềm, mạng máy tính, thiết bị,… Các phương pháp khảo sát truyền thống 5 Phỏng vấn cá nhân (interviews) Phỏng vấn nhóm (group interviews) Phiếu thăm dò (questionaires) Quan sát người sử dụng (viewing) Phân tích tài liệu (document analysis) Các phương pháp túy dùng để biết hệ thống 1.Phỏng vấn cá nhân (interviews) Phỏng vấn: hẹn gặp, tiếp xúc, hỏi ghi nhận cân trả lời Ưu điểm • Có hội hỏi thêm vừa biết Khuyết điểm • Có thể có mâu thuẩn ý kiến riêng cá nhân • Tốn nhiều thời gian cần vấn nhiều người 2.Phỏng vấn nhóm (group interviews) Phỏng vấn nhóm: Đặt câu hỏi chung cho nhiều người chủ chốt lúc họp, hội thảo Ưu điểm • Ít tốn thời gian vấn cá nhân • Gia tăng trao đổi “phát mới” người tham gia => có hội hiểu biết sâu • Hạn chế bớt mâu thuẩn ý kiến cá nhân Khuyết điểm: khó thu xếp cho vấn Do có khoảng cách kiến thức chun mơn Khó xếp thời gian địa điểm họp Có vị nể cá nhân thiếu trung thực Có người nói q nhiều tốn thời gian vơ ích 3.Phiếu thăm dò (questionaires) Gửi phiếu có ghi câu hỏi vấn đến nhiều người, sau phân tích/thống kê kết trả lời từ phiếu quay Câu hỏi phải rõ ràng, dể hiểu dể trả lời để người vấn khơng bị nhầm lẫn Ưu điểm • Rẻ loại vấn • Thống kê số lượng lớn phiếu quay nhận thơng tin tương đối khách quan Khuyết điểm • Khơng có hội để hỏi thêm ! • Khơng chắn tác giả !! • Số phiếu quay So sánh Interviews Questionaires Tính chất Interviews Questionaires Giàu thơng tin Cao T.bình - Thấp Thời gian Có thể lâu Thấp – T.bình Chi phí Có thể cao vừa phải Tìm hiểu sâu thêm Tốt Giới hạn Độ tin cậy Cao Đã biết rõ người vấn Không cao Không xác định tác giả Mức độ cộng tác Người Không rõ cam kết vấn tham gia giải vấn đề cam kết thực Số lượng giới hạn, đáp Số lượng lớn, đáp ứng ứng tốt không tốt Người tham dự Quan sát người nhân viên 10 Để biết họ thường làm gì, xử lý công việc sao; đồng thời để đánh giá mức độ hiệu quy trình phương tiện hổ trợ cho người nhân viên làm việc Ưu điểm • Kiểm chứng biết • Biết cường độ công việc thực tế Khuyết điểm • Sự quan sát khơng khách quan, người nhân viên thay đổi thói quen biết bị quan sát • Tốn nhiều thời gian ngồi quan sát Biến đổi thành dạng chuẩn Các thuộc tính phụ thuộc vào phần khóa EmpID kết hợp với EmpID để tạo thành bảng chuẩn EmpID Name DeptName Salary (2nd NF) Đặt quan hệ bảng EmpID CourseTitle DateCompleted (2nd NF) Các thuộc tính phụ thuộc hồn tồn vào khóa kết hợp với khóa để tạo thành bảng chuẩn 112 Chuẩn (Third Normal Form) 113 Bảng dạng chuẩn bảng dạng chuẩn không chứa phụ thuộc hàm bắt cầu Phụ thuộc hàm bắc cầu: thuộc tính C phụ thuộc hàm vào thuộc tính B, thuộc tính B lại phụ thuộc hàm vào thuộc tính A, ký hiệu A B C) Cust_ID Name Salesperson Region Cust_ID Salesperson Region : phụ thuộc bắc cầu Biến đổi thành dạng chuẩn Salesperson Region SPERSON SALE1 Cust_ID Salesperson Name Region Salesperson CustID Name, Salesperson 114 Trộn bảng quan hệ (Merge) 115 Sau thực normalization, số bảng quan hệ dư thừa mơ tả thực thể tương tự EMPLOYEE1(Emp_ID, Name, Address,Phone) EMPLOYEE2(Emp_ID, Name, Address, Jobcode, Number_of_years) Có thể trộn bảng thành 1: EMPLOYEE(Emp_ID, Name, Address, Phone, Jobcode, Number_of_years) Việc trộn bảng phải bảo toàn ý nghĩa liệu Trộn bảng quan hệ: Synonyms 116 STUDENT1(Stu_ID, Name) STUDENT2(Matriculation_number, Name,Address) Nếu Stu_ID Matriculation_number dùng để diễn tả cho thuộc tính Social Security Number (số an sinh xã hội), hai bảng trộn lại sử dụng khóa SSN : STUDENT (SSN, Name, Address) Trộn bảng quan hệ: Homonyms 117 STUDENT1(Stu_ID, Name, Address) • Address: địa SV khuôn viên trường STUDENT2(Stu_ID, Name, PhoneNumber, Address) • Address: địa nhà riêng SV Vì Address bảng mang ý nghĩa khác nhau, nên trộn thuộc tính cần đặt lại tên: STUDENT (Stu_ID, Name, Campus_Address, Permanent_Address) Trộn bảng quan hệ: Transitive dependency 118 STUDENT1 (Stu_ID, Major) bảng 3rd NF STUDENT2 (Stu_ID, Advisor) bảng 3rd NF Nếu trộn bảng ta có STUDENT (Stu_ID, Advisor, Major) Tuy nhiên, Advisor Major bảng khơng 3rdNF, cần phải bỏ phụ thuộc hàm bắc cầu lần nữa: STUDENT (Stu_ID, Advisor) ADVISOR-MAJOR (Advisor, Major) Bài tập 119 Giả sử ta có bảng quan hệ R(A, B, C, D, E) với khóa A,B phụ thuộc hàm AC D E Hãy chuyển quan hệ sang dạng chuẩn 3NF Quan hệ MEETING có thuộc tính khóa sau: MEETING(Course#, CourseTitle, Day, Time, BuildingName, Room#, Address) Giả sử có phụ thuộc hàm quan hệ này: • BuildingName phụ thuộc hàm vào Address • CourseTitle phụ thuộc hàm vào Course# Hãy chuyển quan hệ sang dạng 3NF Quan hệ BUILDING có thuộc tính khóa sau: BUILDING(Street#, City, BuildingName, OwnerAddress, Tax) Giả sử có phụ thuộc hàm quan hệ này: BuildingName phụ thuộc hàm vào street#, city Tax phụ thuộc hàm vào City OwnerAddress phụ thuộc hàm vào BuildingName Hãy chuyển quan hệ sang dạng 3NF Bài tập 120 Một hãng xe có CSDL lưu thơng tin sau: Thông tin vê nhà cung cấp (Suppliers) Mỗi nhà cung cấp hãng xe gán số định danh Supplier# để phân biệt Mỗi nhà cung cấp có tên (SupplierName), thành phố (SupplierCity) Mỗi nhà cung cấp cung cấp nhiều phụ tùng cho xe Thông tin vê phụ tùng xe (Parts) Mỗi phụ tùng xe có tên (PartName), số định danh (Part#) giá (PartPrice) Mỗi phụ tùng cung cấp hay nhiều nhà cung cấp Part# số dùng để phân biệt phụ tùng xe với Thông tin vê đợt cung cấp (Supply) Mỗi đợt cung cấp có nhà cung cấp cung cấp số phụ tùng Mỗi đợt cung cấp có số lượng(quantity), ngày (date), tên phận (partName), thành phố nhà cung cấp (SupplierCity), mã vùng nhà cung cấp (Supplier_Postal) Bài tập 121 Giả sử hãng biết quan hệ phụ thuộc sau: Số lượng đợt cung cấp hàng phụ thuộc hoàn toàn vào supplier#,part#,date PartName xác định Part# SupplierCity,SupplierPostal phụ thuộc vào Supplier# Nếu biết SupplierPostal, ta biết SupplierCity a) Hãy vẽ lược đồ ERD cho CSDL b) Chuyển lược đồ ERD sang bảng quan hệ chuẩn hóa thành dạng 3NF Nén liệu Lookup Table BILLING_ADDRESS Cust_No Block_no 1273 6390 2226 2110 Street City_State Plainfield Ave Plainfield Ave NJ NJ 40 bytes BILLING_ADDRESS Cust_No Block_no 1273 6390 2226 2110 Ref City_State 1001 1001 NJ NJ bytes Range: 9999 LOOKUP_STREET Ref 1001 7024 Street Plainfield Ave Oak 122 Phân khúc fields 123 Các fields có tần suất truy xuất (chủ yếu đọc) khơng nhau, cần phân lập fields có mức độ truy xuất cao lưu trữ ổ dĩa có tốc độ cao để cải tiến tốc độ PATIENT PatientNumber Name Location Address DateAdmitted DateDischarge Status … Truy xuất thường xuyên PATIENT-1 PatientNumber Name Location Truy xuất không thường xuyên Pointer 2nd segment Low speed 1st segment High speed PATIENT-2 Address DateAdmitted DateDischarge Status … Phân khúc records 124 Khi số lượng records bảng (trên máy) nhiều câu lệnh truy xuất liệu thực thi lâu, cần chia tập mẫu tin thành nhiều phân đoạn để lưu trữ xử lý nhiều máy Machine SUBSCRIBER SID Caller Sgmt 001 A 1st 002 C 2nd 1st segment (Master) Public segment 2nd segment Machine (Call Data Records) CDR Caller A B C D [Data] … … … … (Detail) Forward recovery (rollforward) Backup Transactions Error 125 Transactions Time Restore Backup & Re-run all transactions Là phương pháp Sử dụng backup để restore, thực lại tất lệnh cập nhật cần thiết sau khắc phục lổi Nếu chu kỳ backup dài thời gian cần thiết để khôi phục liệu lâu Tuy nhiên, backup thường xuyên làm nặng tải cho DBMS Backward recovery (rollback) Error 126 Transactions 1.Reverse effects of all transactions 2.Correct error Time Re-run all transactions Là phương pháp sử dụng liệu tại, thực ‘undo’ tất lệnh cập nhật liệu, khắc phục lổi thực lại lệnh Phương pháp không cần backup, cần liệu (kể DBMS) không bị hư hỏng ... này, lược đồ cho hệ thống tạo từ quan điểm phân tích Các phương pháp mơ hình hóa hệ thống 19 Hướng cấu trúc: Phân rã hệ thống kỹ thuật phân tích có cấu trúc (Structured Analysis & Design Technique,... hiểu cấu trúc xử lý hệ thống, tên xử lý không đủ mơ tả nội dung nó, ta cần dùng cấu trúc Processing Logic để mô tả chi tiết cho xử lý dựa theo quy tắc quản lý hệ thống Ngôn ngữ tự nhiên có cấu trúc: ... tổ chức bố trí Tìm hiểu thơng tin – liệu quy trình • • Các quy định, hướng dẫn, tiêu chuẩn Forms/Reports : có thơng tin gì, cần, dùnd để làm gì, Hệ thống thơng tin máy tính (CBIS) có • • • Phạm