Bài giảng Phân tích thiết kế hệ thống thông tin - Ngô Thị Tú Quyên

pdf 161 trang hapham 1970
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phân tích thiết kế hệ thống thông tin - Ngô Thị Tú Quyên", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_phan_tich_thiet_ke_he_thong_thong_tin_ngo_thi_tu_q.pdf

Nội dung text: Bài giảng Phân tích thiết kế hệ thống thông tin - Ngô Thị Tú Quyên

  1. ĐẠI HỌC THÁI NGUYÊN tRƯỜNG ĐẠI HỌC SƯ PHẠM KHOA TOÁN Học phần: PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN Biên soạn: Ngô Thị Tú Quyên THÁI NGUYÊN - 2011
  2. Học phần: PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN Số tín chỉ: 3 Khối lượng kiến thức: 45 tiết Trong đó: Lý thuyết: 30 tiết Bài tập: 15 tiết
  3. Điều kiện: Đã học xong học phần: Ngôn ngữ lập trình bậc cao. hệ quản trị cơ sở dữ liệu, nhập môn cơ sở dữ liệu. Nội dung tóm tắt: Sinh viên được học các buớc của quá trình phát triển hệ thống thông tin, những phương pháp và công cụ để phân tích và thiết kế một hệ thống thông tin theo hướng cấu trúc. Mục đích yêu cầu: Sinh viên nắm được các buớc của quá trình phát triển hệ thống thông tin, những phương pháp và công cụ để phân tích và thiết kế một hệ thống thông tin theo hướng cấu trúc, có khả năng phân tích và thiết kế một HTTT đơn giản.
  4. Nội dung chi tiết : Chương 1. Các khái niệm về hệ thống thông tin Chương 2. Xác định yêu cầu thông tin của hệ thống Chương 3. Phân tích hệ thống về chức năng Chương 4. Phân tích hệ thống về dữ liệu Chương 5. Phân tích hệ thống về động thái Chương 6. Thiết kế hệ thống Chương 7. Một số vấn đề cài đặt hệ thống
  5. CHƯƠNG 1. CÁC KHÁI NIỆM VỀ HỆ THỐNG THÔNG TIN
  6. Chương 1. Các khái niệm về hệ thống thông tin 1.1. Định nghĩa về hệ thống thông tin 1.2.Phân loại các hệ thống thông tin 1.3. Vòng đời phát triển hệ thống thông tin 1.4.Các phương pháp khác nhau phát triển HTTT 1.5. Xây dựng thành công HTTT
  7. 1.1. Định nghĩa về hệ thống thông tin 1.1.1. Hệ thống 1.1.1.1. Định nghĩa về hệ thống a. Định nghĩa Có nhiều định nghĩa khác nhau về hệ thống thông tin. Dưới đây là một vài định nghĩa trong số đó [3]: - Hệ thống là một tập hợp các phần tử có quan hệ bên trong với nhau. - Hệ thống có thể đơn giản được xác định như một nhóm các phần tử có quan hệ và tương tác qua lại với nhau hình thành nên một thể thống nhất.
  8. - Hệ thống thông tin bao gồm: + Tập hợp các phần tử (không phân biệt bản chất của nó). + Tập hợp các mối quan hệ giữa các phần tử đó (các quan hệ có nhiều dạng rất khác nhau. Có thể kể ra một vài dạng như các quan hệ cơ học, năng lượng, thông tin và các quan hệ khác ràng buộc bởi: kinh tế, thân hữu, pháp luật và có thể xác định qua các mặt như : số lượng, chiều hướng và cường độ của chúng). + Tạo thành một thể thống nhất để có được những chức năng hay mục tiêu (của chính nó hay được con người gắn cho) của hệ thống. Nhờ tạo thành một thể thống nhất mà hệ thống có được các đặc tính mà từng phần tử riêng rẽ không thể có được. Các đặc tính này gọi là các đặc tính trồi. Định nghĩa này có thể được xem là đầy đủ và khái quát nhất.
  9. Ví dụ: Nhiều hệ thống trong lĩnh vực vật lý, sinh học, công nghệ hiện đại trong xã hội loài người đã rất quen thuộc như hệ thống mặt trời với các hành tinh của nó, các hệ thống trong cơ thể con người (tuần hoàn, tiêu hoá, ), hệ thống công nghệ chế biến dầu lửa, các hệ thống kinh tế xã hội như các cơ quan nhà nước, các tổ chức kinh doanh,
  10. - Một định nghĩa khác xem hệ thống như một quá trình xử lý : hệ thống là một tập hợp các phần tử có quan hệ qua lại với nhau cùng hoạt động hướng đến một mục tiêu chung thông qua việc tiếp nhận các đầu vào và sản sinh ra các đầu ra nhờ một quá trình chuyển đổi được tổ chức. Một hệ thống như vậy gọi là hệ thống động (Dinamic system).
  11. Mọi hệ thống không tồn tại trong trống không, mà luôn tồn tại và hoạt động trong một môi trường (Inviroment) Nếu một hệ thống là thành phần của một hệ thống khác lớn hơn, khi đó nó được gọi là hệ thống con (Subsystem) của hệ thống lớn. Hệ thống lớn hơn không kể hệ thống được xét là môi trường của nó. Một hệ thống phân cách với môi trường hay với hệ thống khác nhờ vào ranh giới (boundary) của nó. Một số hệ thống có thể có cùng một môi trường. Một vài hệ thống trong số đó có thể liên hệ với môi trường và những hệ thống khác qua ranh giới hay các giao diện (interface).
  12. * Hệ thống mở (Open System) là HT có tác động qua lại với các HT khác thuộc môi trường. Nếu một hệ thống có sự trao đổi những “đầu vào” và “đầu ra” với môi trường thì có thể nói rằng nó liên hệ với môi trường qua các giao diện vào - ra (Input - Output Interface) nếu một HT có khả năng thay đổi bản thân mình hay thay đổi môi trường để tồn tại thì nó được gọi là HT thích nghi (Adaptive Sytem). Những đặc trưng của một hệ thống cho phép nhận biết được hệ thống ở các thời điểm khác nhau được gọi là trạng thái của nó. Đối với những hệ thống vận động trong không gian, vị trí của nó trong không gian có thể xem là trạng thái của nó trên quỹ đạo.
  13. b. Một số tính chất cơ bản của hệ thống - Tính nhất thể (tạo thành hệ thống). - Tính tổ chức có thứ bậc - Tính cấu trúc - Tính biến đổi theo thời gian, không gian. - Tính hướng mục tiêu - Tính thích nghi và tính ỳ
  14. 1.1.1.2. Phân loại các hệ thống Có thể phân loại các hệ thống theo nhiều cách. Mỗi cách phân loại thường dựa trên một cách nhìn nhận. Chẳng hạn: - Theo nguyên nhân xuất hiện ta có: + Hệ thống tự nhiên (có sẵn trong tự nhiên) + Hệ thống nhân tạo (do con người tạo ra) - Theo quan hệ với môi trường: + Hệ thống đóng (không có trao đổi với môi trường) + Hệ thống mở (có sự trao đổi với môi trường)
  15. - Theo mức độ cấu trúc có thể biết được: + Hệ thống đơn giản (Có thể biết được cấu trúc: các hệ thống kỹ thuật) + Hệ thống phúc tạp ( khó biết đầy đủ cấu trúc: Tổ chức xã hội) - Theo quy mô: + Hệ thống nhỏ (Vi mô: phân tử) + Hệ thống lớn (Vĩ mô: Hệ thống mặt trời)
  16. - Theo sự thay đổi trạng thái trong không gian: + Hệ thống động (Vị trí thay đổi trong không gian) + Hệ thống tĩnh - Theo đặc tính duy trì trạng thái: + Hệ thống ổn định (Hệ thống luôn có một số trạng thái nhất định dù có những tác động nhất định) + Hệ thống không ổn định
  17. - Theo tính chất hay đặc trưng vốn có của nó: + Hệ thống kinh tế xã hội + Hệ thống pháp luật + Hệ thống phân cấp + Hệ thống điều khiển được, Mỗi loại hệ thống có những đặc trưng riêng của chúng. Việc phân loại hệ thống giúp ta có thể đi sâu hay tập trung nghiên cứu mỗi loại một cách hiệu quả.
  18. 1.1.1.3. Mục tiêu nghiên cứu hệ thống - Để hiểu biết rõ hơn về hệ thống (nhất là đối với hệ thống phức tạp) - Để có thể tác động lên hệ thống một cách có hiệu quả - Để hoàn thiện hệ thống hay thiết kế những hệ thống mới Tuỳ thuộc vào mỗi loại hệ thống và mục tiêu nghiên cứu mà ta có thể sử dụng các phương pháp và các công cụ khác nhau để nghiên cứu hệ thống và có thể thu được kết quả tốt.
  19. 1.1.1.4. Nội dung nghiên cứu một hệ thống Việc nghiên cứu một hệ thống bao gồm hai giai đoạn: Tiếp cận hệ thống và phân tích hệ thống. - Tiếp cận hệ thống: Là tổng thể cách thức và phương pháp luận để đi đến hiểu biết đúng đối tượng nghiên cứu (được xem như là một hệ thống). Thông thường tiếp cận hệ thống dựa trên những quan điểm nhất định. Chẳng hạn tiếp cận từ cái chung đến các riêng, từ trên xuống, - Phân tích hệ thống: Là việc sử dụng các phương pháp và công cụ để nhận thức và hiểu biết được hệ thống, tìm các giải pháp giải quyết các vấn đề phức tạp đặt ra cho hệ thống được nghiên cứu.
  20. * Nội dung phân tích hệ thống bao gồm: - Phân tích mục tiêu - Phân tích phạm vi và môi trường của hệ thống - Phân tích cấu trúc - Phân tích các nguồn lực và tác động của nó - Phân tích tổng hợp toàn hệ thống
  21. 1.1.1.5. Các công cụ và phương pháp để nghiên cứu PTHT - Nhiều phương pháp, công cụ khác nhau để sử dụng để nghiên cứu hệ thống tuỳ thuộc vào từng lớp hệ thống cụ thể, vào mục tiêu nghiên cứu và tuỳ thuộc khả năng của người nghiên cứu. - Một trong những phương pháp quan trọng nhất để nghiên cứu hệ thống là phương pháp mô hình hoá. Ý tưởng của phương pháp mô hình hoá là không nghiên cứu trực tiếp đối tượng mà thông qua nghiên cứu một đối tượng khác "tương tự" hay là "hình ảnh" của nó mà có thể sử dụng được các công cụ khoa học. Kết quả nghiên cứu mô hình được áp dụng vào cho đối tượng thực tế.
  22. 1.1.2. Hệ thống thông tin 1.1.2.1. Định nghĩa HTTT Có một số định nghĩa về HTTT sau đây [3]: + HTTT là một hệ thống sử dụng công nghệ thông tin để thu nhập, truyền, lưu trữ, xử lý và hiển thị thông tin được sử dụng trong một hay nhiều quá trình nghiệp vụ. + HTTT là một tập gồm con người, các thủ tục và các nguồn lực để thu thập, chuyển đổi và phân phối thông tin trong tổ chức.
  23. + Về mặt kỹ thuật, HTTT được xác định như một tập hợp các thành phần được tổ chức để thu thập, xử lý, lưu trữ và phân phối thông tin hỗ trợ việc ra quyết định và kiểm soát trong một tổ chức. Ngoài các chức năng kể trên, nó còn có thể giúp người quản lý phân tích các vấn đề, cho phép nhìn thấy được một cách trực quan những đối tượng phức tạp, tạo ra những sản phẩm mới.
  24. 1.1.2.2. HTTT quản lý (Management Information System - MIS) Đối tượng phục vụ của HTTT quản lý thực sự rộng hơn rất nhiều so với ý nghĩa của chính bản thân tên gọi của các từ này. Đối tượng của nó không chỉ là các nhà quản lý, mà còn bao gồm cả những người trong một tổ chức làm việc trên HTTT, những người làm công tác phân tích, thiết kế HTTT. Chính xác hơn HTTT quản lý là HTTT của một tổ chức (Organizational System - IS). Vì vậy có định nghĩa: HTTT quản lý là sự phát triển và sử dụng HTTT có hiệu quả trong một tổ chức. Một HTTT được xem là hiệu quả nếu nó giúp hoàn thành được các mục tiêu của những con người hay tổ chức sử dụng nó.
  25. * Những yếu tố cấu thành của HTTT quản lý: Việc mô tả HTTT quản lý một cách tường minh theo quan điểm hệ thống (gồm các phần tử, các mối quan hệ) là không thể, do sự đa dạng của các quan hệ được thiết lập trong mỗi HTTT cụ thể, vì sự không nhìn thấy của nhiều mối liên hệ trong hệ thống vốn chỉ được hình thành khi nó hoạt động. Cho nên, người ta chỉ có thể nêu ra các yếu tố cấu thành nó. Năm yếu tố cấu thành của HTTT quản lý xét ở trạng thái tĩnh là: Thiết bị tin học - phần cứng (máy tính, các thiết bị, các đường truyền, ), các chương trình (phần mềm), dữ liệu, thủ tục - quy trình và con người.
  26. 1.2. Phân loại HTTT 1.2.1. Phân loại theo chức năng - Hệ thống tự động văn phòng - Hệ truyền thông - Hệ thống xử lý giao dịch - HTTT quản lý - Hệ hỗ trợ quyết định - Hệ hỗ trợ điều - Hệ hỗ trợ làm việc theo nhóm
  27. 1.2.2. Phân loại theo đặc tính kỹ thuật (theo quy mô) Dựa vào số lượng máy tính tham gia vào hệ thống: - HTTT cá nhân (Personal Information System) - HTTT làm việc theo nhóm (Workgroup Information System) - HTTT doanh nghiệp (Enterprise Information System)
  28. 1.3. Vòng đời phát triển HTTT (phát triển và quản lý HTTT) 1.3.1. Bản chất của việc xây dựng HTTT của tổ chức - Xây dựng HTTT là một giải pháp cho những vấn đề mà tổ chức đang gặp phải. Những vấn đễ có thể là những gì cản trở hoặc hạn chế không cho phép tổ chức thực hiện thành công những điều mong đợi hiện nay. Nó cũng có thể là những công việc mà tổ chức cần tiến hành để tạo ra những ưu thế mới, nhờ nó mà tổ chức có thể đạt được những mục tiêu mong muốn trước những cơ hội mới. Điều đó có nghĩa là, không phải lúc nào việc xây dựng HTTT cũng là giải pháp được chấp nhận để giải quyết những vấn đề đặt ra cho một tổ chức.
  29. - Theo cách tiếp cận tổng hợp, HTTT của tổ chức là một thực thể xã hội - kỹ thuật (Sociotechnical). Việc đưa một HTTT vào tổ chức không chỉ đơn thuần đưa vào các phần cứng, phần mềm mà là sự thay đổi trong công việc, trong thói quen, kỹ năng, quản lý và cả về tổ chức nữa. Thiết kế một HTTT mới thực chất là thiết kế lại tổ chức. Cho nên, việc xây dựng HTTT phải là một bộ phận chủ yếu trong quá trình lập kế hoạch của tổ chức. Kế hoạch phát triển HTTT phải hướng vào thực hiện mục tiêu chiến lược của tổ chức, phải nằm trong khuôn khổ của kế hoạch chiến lược, phải tính đến thực trạng, đến chiến lược quản lý, đến kế hoạch ứng dụng và khả năng ngân sách của tổ chức. Kế hoạch phát triển hệ thống cần chỉ ra được công nghệ thông tin sẽ hỗ trợ để đạt được mục tiêu của tổ chức như thế nào.
  30. 1.3.2. Quá trình phát triển một HTTT HTTT được xây dựng là sản phẩm của một loạt các hoạt động được gọi là phát triển hệ thống (Systems Development). Có nhiều phương pháp khác nhau để phát triển một HTTT. Theo đó, số các bước đề xuất của các phương pháp cũng khác nhau. Về cơ bản quá trình phát triển gồm các công đoạn sau đây: Xác định dự án, phân tích hệ thống, thiết kế hệ thống, lập trình, cài đặt và áp dụng. Các bước trên đây thường được thực hiện lần lượt, nhưng ở một vài bước có thể được lặp lại và cũng có thể quay lại từ đầu. Tuỳ thuộc vào mỗi phương pháp được sử dụng, thời gian thực hiện các bước có thể dài ngắn khác nhau và sự gối đầu hay lặp lại cũng khác nhau.
  31. 1.4. Các phương pháp khác nhau phát triển HTTT - Phương pháp vòng đời phát triển hệ thống - Phương pháp làm bản mẫu - Phương pháp sử dụng phần mềm đóng gói - Phương pháp phát triển hệ thống cho người dùng cuối - Phương pháp thuê bao
  32. 1.5. Xây dựng thành công HTTT Một HTTT được xem là có hiệu quả nếu góp phần nâng cao chất lượng hoạt động quản lý tổng thể, thể hiện trên các mặt: - Đạt được các mục đích thiết kế đề ra của tổ chức - Chi phí chấp nhận được khi vận hành - Đáp ứng được các chuẩn mực của một HTTT hiện hành - Sản phẩm có giá trị xác đáng - Dễ học và dễ sử dụng. - Mềm dẻo, có thể kiểm tra, mở rộng ứng dụng và phát triển tiếp được.
  33. Bài tập chương 1 1. Trình bày định nghĩa về hệ thống thông tin, các bước để xây dựng một hệ thống thông tin? 2. Có những phương pháp nào thường được sử dụng để xây dựng HTTT? Hãy phân tích ưu, nhược điểm của từng phương pháp. 3. Khi xây dựng hệ thống thông tin nên sử dụng các phương pháp như thế nào để hệ thống thông tin thu được đạt chất lượng tốt?
  34. CHƯƠNG 2. XÁC ĐỊNH YÊU CẦU THÔNG TIN CỦA HỆ THỐNG
  35. Chương 2. Xác định yêu cầu thông tin của hệ thống 2.1. Nội dung xác định yêu cầu thông tin của HT 2.2. Các phương pháp và công cụ xác định yêu cầu 2.3. Các khái niệm sử dụng trong xác định yêu cầu 2.4. Hoàn thiện kết quả khảo sát
  36. 2.1. Nội dung xác định yêu cầu thông tin của hệ thống Việc nghiên cứu hiện trạng và xác định nhu cầu hệ thống được tiến hành cả trong hai giai đoạn của quá trình phát triển hệ thống: - Lập kế hoạch (xây dựng dự án khả thi) - Phân tích hệ thống
  37. 2.1. Các phương pháp và công cụ xác định yêu cầu 2.2.1. Các phương pháp xác định yêu cầu Có 4 phương pháp thường được sử dụng - Quan sát - Phỏng vấn - Điều tra - Nghiên cứu tài liệu
  38. 2.2.2. Các công cụ sử dụng - Phiếu phỏng vấn (dùng khi phỏng vấn) - Lưu đồ công việc (ghi chép khi phỏng vấn) - Bảng tổng hợp hồ sơ (rút từ các phiếu phỏng vấn, tài liệu thu thập) - Bảng tổng hợp công việc (rút từ các phiếu phỏng vấn) - Bảng mô tả chi tiết tài liệu -Bảng mô tả chi tiết công việc
  39. 2.1. Các khái niệm sử dụng trong xác định yêu cầu 2.3.1. Chức năng - công việc Chức năng - công việc là tập hợp các hành động thực hiện ở một phạm vi. Kết thúc một chức năng thường cho một sản phẩm có thể là trung gian, có thể là cuối cùng. Khái niệm chức năng - công việc có thể chia thành các mức sau: - Hoạt động (activity): gồm nhiều công việc tương ứng với một lĩnh vực. - Nhiệm vụ (task): gồm một số công việc. - Hành động (action): một công việc hay thao tác Ví dụ: Nhiệm vụ: Nhận hàng Gồm nhiều công việc: kiểm tra phiếu nhập (đối chiếu với hàng hoá, số lượng), chuyển hàng vào kho, ký giấy xác nhận
  40. 2.3.2. Quy tắc, thủ tục - Là những quy định, cách thức thực hiện để đạt được mục tiêu đặt ra hoặc để đảm bảo yêu cầu quản lý, kỹ thuật. - Có thể do người ngoài hay trong tổ chức đặt ra 2.3.2.1. Quy tắc, thủ tục quản lý Quy tắc, thủ tục quản lý là những quy định cần tuân thủ để đảm bảo yêu cầu, mục tiêu quản lý. Ví dụ: - Tài sản có giá trị trên 500.000 đồng và có thời gian sử sụng trên một năm ghi vào tài sản cố định (quy định quản lý của Bộ Tài chính - bên ngoài) - Hợp đồng kinh tế trên một triệu đồng phải do giám đốc tài chính hay giám đốc ký (quản lý bên trong). - Mọi vật tư, hàng hoá trước khi xuất phải nhập kho.
  41. 2.3.2.2. Quy tắc tổ chức Quy tắc tổ chức là những quy định cần tuân thủ để đạt mục tiêu trong nhiều điều kiện tổ chức: hình thức tổ chức và bố trí các bộ phận. Ví dụ: - Kiểm kê mỗi năm một lần và báo cáo tồn kho 3 tháng một lần (trong điều kiện làm tay) - Thực hiện giao hàng vào các ngày 3, 5, 7 (lý do bộ phận giao hàng ít người, ngày chẵn nhập hàng, ngày lẻ giao hàng)
  42. 2.3.2.3. Quy tắc kỹ thuật - Quy tắc kỹ thuật là những quy định nhằm đảm bảo yêu cầu quản lý kỹ thuật và chất lượng công việc. - Gắn với việc sử dụng các trang thiết bị. Ví dụ: - Máy in không được in liên tục trong một giờ (vì nóng máy dễ hỏng) Về nguyên tắc cần ghi chép đầy đủ tất cả các quy tắc liên quan đển công việc. Tuy nhiên sau này cần xem xét loại bỏ nguyên tắc, quy tắc chỉ liên quan đến đặc thù của tổ chức. Có thể đưa ra những cải tiến về tổ chức và quản lý cho phép loại bỏ những thủ tục quy tắc trở nên không cần thiết trong điều kiện tự động hoá các hoạt động thông tin.
  43. 2.1. Hoàn thiện kết quả khảo sát 2.4.1. Củng cố kết quả khảo sát - Sau khi phỏng vấn cần xem lại các tài liệu và hoàn thiện các tài liệu thu được (ghi chép lại, sửa, bố trí ) cho đầy đủ, chính xác, cân đối. - Phát hiện chỗ thiếu sót, chỗ chưa rõ, chuẩn bị câu hỏi bổ sung - Hoàn chỉnh sơ đồ chức năng phân cấp - Tiếp tục phỏng vấn hay các biện pháp khác đối với chỗ làm việc đã tiến hành để bổ sung tài liệu và chỗ làm việc mới chưa phỏng vấn hay mới phát sinh. Các hoạt động trên thường lặp lại cho đến khi tài liệu thu được là hoàn chỉnh. Thường mỗi chỗ làm việc ít nhất hai lần.
  44. 2.4.2. Tổng hợp khảo sát - Một tổ chức lớn, phức tạp thường không thể quan sát tất cả một lúc, bằng cách phân tích và tách nhỏ để quan sát, thu thập thông tin. Lúc này cần lắp ghép lại để có được một cách nhìn tổng thể. - Thực hiện tổng hợp hai loại: + Tổng hợp xử lý: Để thấy được tổng thể các xử lý diễn ra trong tổ chức và phát hiện xử lý nào không thay đổi trong mọi trường hợp. + Tổng hợp các dữ liệu: Đảm bảo tính phù hợp và chặt chẽ của dữ liệu đã sử dụng.
  45. 2.4.3. Hợp thức hoá kết quả khảo sát Hợp thức hoá là việc hiểu và thể hiện các thông tin khảo sát ở các dạng khác nhau được nhiều người sử dụng và tổ chức chấp nhận sự mô tả nhu cầu thông tin của tổ chức là đúng đắn và đầy đủ.
  46. Bài tập chương 2 1. Khi thu thập thông tin về một tổ chức để phục vụ cho một bài toán quản lí nào đó thì phương pháp phỏng vấn đóng vai trò như thế nào? Để thông tin thu được đạt chất lượng cao nhất cần sử dụng các phương pháp như thế nào? 2. Có những phương pháp nào được sử dụng để thu thập thông tin, hãy phân tích để làm nổi bật sự cần thiết phải sử dụng các phương pháp này?
  47. CHƯƠNG 3. PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG
  48. Chương 3. Phân tích hệ thống về chức năng 3.1. Các mô hình và phương tiện diễn tả chức năng 3.2. Phương pháp phân tích có cấu trúc (SA)
  49. 3.1. Các mô hình và phương tiện diễn tả chức năng Các mô hình phân tích chức năng nghiệp vụ thường dùng bao gồm: Mô hình chức năng - nhiệm vụ Sơ đồ luồng dữ liệu Ma trận thực thể chức năng
  50. 3.1.1. Mô hình chức năng nhiệm vụ (biểu đồ phân cấp chức năng, sơ đồ phân rã chức năng, ) (BFD - Business Function Diagram) Xác định chức năng nhiệm vụ là bước đầu tiên của phân tích hệ thống. Để phân tích nhu cầu thông tin của tố chức, ta phải biết được tổ chức thực hiện những nhiệm vụ, chức năng gì. Từ đó biết được các dữ liệu, thông tin gì mà tổ chức sử dụng, tổ chức cần và làm thế nào để có chúng.
  51. 3.1.1.1. Mô tả mô hình a. Định nghĩa Mô hình chức năng nhiệm vụ là một sơ đồ phân rã có thứ bậc một cách đơn giản các chức năng của miền khảo cứu (khả sát). b. Khái niệm và kí hiệu sử dụng - Chức năng nhiệp vụ ở đây được hiểu là các công việc mà tổ chức cần thực hiện trong hoạt động của nó. Khái niệm chức năng ở đây là khái niệm logic, tức là chỉ nói đến công việc cần làm và mối quan hệ phân mức (mức tổng hợp và chi tiết) giữa chúng mà không chỉ ra công việc được làm như thế nào, bằng cách nào, ở đâu, khi nào và ai làm (là khái niệm vật lý)
  52. - Công việc hay chức năng ở đây được biểu hiện ở 4 mức độ từ tổng hợp đến chi tiết: + Một lĩnh vực hoạt động (Area of activities) tài chính, ngân hàng, du lịch, + Một hoạt động (Activities): Lập kế hoạch, tiếp thị, + Một nhiệm vụ (Task): Dự báo để lập kế hoạch, tính toán kế hoạch, + Một hành động (Action) thu thập dữ liệu. in báo cáo,
  53. Sự phân chia trên đây là tương đối, tuỳ phạm vi nghiên cứu mà phân chia chức năng thành các mức tổng hợp và chi tiết một cách thích hợp: + Ở mức gộp: Một chức năng có thể là một lĩnh vực hoạt động, một hoạt động hay một mục tiêu cần đạt của một hoạt động. + Ở mức chi tiết: Một chức năng có thể là một hoạt động, một nhiệm vụ hay công việc cần thực hiện để góp phần đạt được các chức năng trên nó.
  54. Các ký hiệu sử dụng: - Hình chữ nhật có tên bên trong để chỉ chức năng - Đường thẳng gấp khúc để nối các chức năng ở mức trên và các chức năng ở mức trực tiếp thuộc nó. Tên chức năng Tên chức năng 1 Tên chức năng 2 Tên chức năng 3 Tên chức năng 1.1 Tên chức năng 1.2 Hình 3.1 Ví dụ về sơ đồ phân rã chức năng
  55. 3.1.1.2. Biểu diễn của mô hình a. Phân rã các thứ bậc có chức năng: Thực hiện theo nguyên tắc sau: - Từ một chức năng ở mức trên phân ra thành các chức năng chi tiết ở mức thấp hơn. - Mỗi chức năng được phân rã từ một chức năng ở mức trên phải là một bộ phận đảm bảo thực hiện chức năng ở trên phân rã ra nó. - Việc thực hiện tất cả các chức năng ở mức dưới trực tiếp phải đảm bảo thực hiện được chức năng ở mức trên phân rã ra chúng.
  56. b. Sắp xếp các cức năng thuộc các mức: - Không nên phân rã quá 6 mức( hệ nhỏ thường gồm 3 mức) - Ở mỗi mức, các chức năng nên sắp xếp trên cùng một hàng - Sơ đồ cần bố trí cân đối, rõ ràng để dễ kiểm tra
  57. c. Đặt tên chức năng - Mỗi chức năng có một tên duy nhất, các chức năng khác nhau tên phải khác nhau. -Tên dùng ở dạng động từ bổ ngữ Ví dụ : Chức năng " lấy đơn hàng", " bảo trì kho" - Tên chức năng cần biểu thị sát nội dung công việc thực tế mà tổ chức thực hiện
  58. d. Xác định chức năng hoàn chỉnh sơ đồ - Lập sơ đồ chức năng trên cơ sở trực giác: theo trình bày của người được hỏi và phỏng theo sơ đồ tổ chức của các bộ phận. - Kết hợp phân tích vòng đời đối với hệ thống phức tạp - Các chức năng được chi tiết trên cơ sở phân rã mỗi chức năng thành các chức năng mức thấp hơn.Chức năng được xem là ở mức thấp nhất nếu không thể phân rã tiếp. Ở mức thấp nhất thường công việc chỉ do một cá nhân thực hiện. - Sử dụng dữ liệu khảo sát để hoàn chỉnh sơ đồ chức năng: thường theo chiều ngược lại từ dưới lên.
  59. Ví dụ: Sơ đồ chức năng bán hàng (bán buôn) Nhiệm vụ: Nhận đơn của khách hàng và tổ chức gửi hàng cho khách. Trách nhiệm: Bộ phận bán hàng và quản lý kho Kinh doanh bán hàng Tiếp nhân Giải quyết Đóng gói Xử lý yêu đơn hàng vấn đề hàng theo đơn cầu khách hàng Nhận, Kiểm tra Kiểm tra Gom Đóng Giao nhận kiểm tra khách hàng hàng gói hàng hàng với đơn hàng trong kho theo đơn gom khách hàng Hình 3.2 Sơ đồ chức năng bán hàng
  60. 3.1.1.4. Kết luận - Sơ đồ chức năng nghiệp vụ là công cụ mô hình phân tích đầu tiên - Xác định phạm vi hệ thống được nghiên cứu - Cung cấp các thành phần cho việc khảo sát và phân tích tiếp - Sơ đồ cần được sự nhất trí cao của người sử dụng - Sơ đồ cần được sự tiếp tục bổ sung hoàn thiện trong suốt quá trình phân tích.
  61. 3.1.2. Sơ đồ luồng dữ liệu (Data flow Diagram - DFD) Sơ đồ chức năng nhiệm vụ mới cho ta biết các phần tử cấu thành của hệ thống xét theo hoạt động chức năng, nhìn từ trên xuống theo các mức độ chi tiết khác nhau. Nó còn chưa mô tả đầy đủ hệ thống (tổ chức). Ta còn cần biết các chức năng đó liên kết với nhau như thế nào đúng như hoạt động thực tế đã diễn ra. Sơ đồ luồng dữ liệu cho biết sự liên kết.
  62. 3.1.2.1 Định nghĩa và ý nghĩa - Sơ đồ luồng dữ liệu là một công cụ mô tả dòng thông tin nghiệp vụ nối kết giữa các chức năng trong một phạm vi được xét. - Nó giúp các nhà phân tích: Xác định nhu cầu thông tin của người dùng ở mỗi chức năng Vạch kế hoạch và minh hoạ phương án thiết kế Làm phương tiện giao tiếp giữa nhà phân tích và người sử dụng. Đặc tả yêu cầu hình thức và đặc tả thiết kế hệ thống. Nó cho thấy được sự vận động và biến đổi của thông tin từ một tiến trình này sang một tiến trình khác. Nó cũng chỉ ra những thông tin nào cần có sẵn trước khi thực hiện một chức năng.Tức là cho biết chiều hướng của thông tin vận động.
  63. 3.1.2.2. Khái niệm và ký hiệu sử dụng Trên sơ đồ luồng dữ liệu sử dụng các khái niệm sau: - Tiến trình hay chức năng - Luồng dữ liệu - Các đối tác (đối tượng) - Kho dữ liệu (Tài liệu hay file)
  64. * Tiến trình (hoặc chức năng) Có thể là một hay một vài chức năng (chức năng gộp). - Người ta mô tả tiến trình bằng một hình chữ nhật góc tròn (hoặc hình elip, hình tròn), bên trong có ghi tên tiến trình. Ví dụ: Kiểm tra Kiểm tra khách hàng khách hàng - Tên tiến trình thường là động từ bổ ngữ (chấp nhận nguồn hàng, điều chỉnh giá, )
  65. * Luồng dữ liệu - Luồng dữ liệu là các dữ liệu đi vào hoặc đi ra khỏi một tiến trình hay đối tượng khác: Đó có thể là một tài liệu, là các thông tin nhất định di chuyển trên đường truyền. Luồng thông tin ở đây chỉ là một khái niệm logic (không liên quan đến vật mang, đến khối lượng của nó). Điều này xuất phát từ mục tiêu của chức năng phân tích là làm rõ những chức năng và thông tin nào cần cho hoàn thành nhiệm vụ để nhà thiết kế có nhiều khả năng lựa chọn phương án sử dụng thiết bị một cách thích hợp. Người ta mô tả thông tin bằng một mũi tên một hay hai chiều, gắn với nó có thể là tên dữ liệu được truyền đi, đầu mũi tên chỉ hướng đi của luồng thông tin. Ví dụ: Đơn hàng Thông tin về khách
  66. * Kho dữ liệu Kho dữ liệu mô tả các dữ liệu cần được cất giữ trong một thời gian nhất định để một hoặc nhiều tiến trình hay tác nhân có thể truy nhập đến nó. Ký hiệu sử dụng là hai đường thẳng song sonh ở giữa có ghi tên của dữ liệu cần được cất giữ. - Cũng như dòng dữ liệu, ở đây không quan tâm đến phương diện vật lý để cất giữ dữ liệu. - Kho dữ liệu được truy nhập và sử dụng thể hiện bằng mũi tên đi vào hoặc đi ra khỏi nó. Khi đó bản thân các dữ liệu được lưu trong kho sẽ chịu những tác động nhất định như được cập nhật, sửa đổi hay được lấy ra để dùng. Ví dụ: Sổ khách hàng
  67. * Tác nhân trong, tác nhân ngoài - Đó là một người, một nhóm người hay một tổ chức ở bên trong hay bên ngoài lĩnh vực nghiên cứu nhưng có quan hệ thông tin với phạm vi nghiên cứu. - Người ta dùng hình vuông (hoặc chữ nhật) để chỉ một tác nhân, bên trong có tên của tác nhân. Ví dụ: Khách hàng - Sự có mặt của tác nhân ngoài chỉ ra giới hạn của phạm vi nghiên cứu và phần còn lại không thuộc nó. "Tác nhân ngoài" không nhất thiết ở ngoài tổ chức, chẳng hạn, "Bộ phận kế toán" là tác nhân ngoài của chức năng "quản lý kho".
  68. 3.1.2.3 Phân mức trong mô hình Sơ đồ luồng dữ liệu mô tả đầy đủ một hệ thống nghiên cứu thường rất phức tạp không thể thể hiện trên một trang. Vì vậy cần phải dùng kỹ thuật phân rã theo thứ bậc để chia sơ đồ thành một số mức. Sơ đồ ở mức cao nhất (mức 0) bao gồm nhữn tiến tình chính của hệ thống. Nội dung của mỗi tiến trình có thể trải ra trên một trang, ở đó xác định các tiến trình con và dữ liệu cần được mô hình hoá. Mỗi tiến trình con đến lượt mình lại được chỉ ra trong một trang ở mức thấp hơn của riêng nó. Việc phân rã như vậy được tiếp tục qua đủ số mức cần thiết.
  69. Kho dữ liệu thường được đưa vào trong sơ đồ luồng dữ liệu tại mức mà chúng cần. Nếu ở một mức nào đó, kho dữ liệu ở mức trên không có liên quan đến các tiến trình ở một trang trên mức nào đó thì không cần đưa vào trang đó. Ví dụ: Sơ đồ luồng dữ liệu mức 1 Khách hàng Sổ khách hàng Thẻ kho Đơn hàng Thông tin về khách Số liệu tồn kho 1.1. Kiểm tra Đơn hàng 1.2. Kiểm tra Đơn hàng 1.3. Kiểm tra đơn hàng khách hàng hàng trong kho Hình 3.3 Sơ đồ luồng dữ liệu của chức năng tiếp nhận đơn hàng
  70. 3.1.2.4. Sơ đồ ngữ cảnh Trong nhiều trường hợp ta muốn có một cái nhìn tổng thể về quan hệ thông tin của một hoạt động chức năng trong mối quan hệ qua lại về mặt thông tin với các tác nhân có liên quan với nó. Khi đó sơ đồ luồng dữ liệu còn có một tên gọi khác là sơ đồ "ngữ cảnh". Như vậy sơ đồ ngữ cảnh là một trường hợp riêng của sơ đồ luồng dữ liệu.
  71. 3.1.3. Ma trận thực thể - chức năng Ma trận gồm các dòng và các cột: - Mỗi cột ứng với một thực thể - Mỗi dòng ứng với một chức năng - Không nên sử dụng các chức năng chi tiết vì quá phức tạp, cũng không nên sử dụng chức năng quá gộp sẽ làm cho sự phân tích ít ý nghĩa. - Ở mỗi ô giao giữa một chức năng và một thực thể ta đánh dấu chéo (x) nếu có mối quan hệ giữa chức năng và thực thể này, bỏ trống nếu chúng không có quan hệ với nhau.
  72. 3.1.3.2. Vai trò và ý nghĩa của ma trận thực thể - chức năng - Cho ta biết được mối quan hệ giữa chức năng và các thực thể liên quan với nó, làm cơ sở để khảo sát các chức năng một cách đầy đủ bổ sung vào các khảo sát đã có. - Cho phép phát hiện những thực thể hay chức năng cô lập: + Nếu một dòng ứng với một chức năng không có ô nào được đánh dấu thì chức năng đó hoặc không phải là một tiến trình thông tin (có tác động lên các đối tượng thông tin) hoặc đánh dấu sót hoặc khảo sát đã bỏ sót thực thể mang dữ liệu. + Nếu một cột nào không có một ô được đánh dấu thì hoặc là khảo sát thiếu chức năng hoặc đánh dấu sót hoặc thực thể là không cần khi thu thập, có thể bỏ đi. Những phát hiện trên đây cho phép ta xem xét bổ sung những khiếm khuyết trong khảo sát, loại bỏ những chức năng hay thực thể thừa (ứng với dòng hay cột cô lập) đối với miền khảo sát.
  73. 3.2. Phương pháp phân tích có cấu trúc (SA) Mục đíc của phương pháp phân tích SA (Structured Analysis) là tiến hành phân tích chức năng của hệ thống để thành lập một mô hình logic về chức năng của hệ thống mới dưới dạng một biểu đồ luồng dữ liệu. Nó vận dụng ba kĩ thuật: - Kĩ thuật phân mức (hay phân tích từ trên xuống): Có hai cách vận dụng phân mức: Dùng biểu đồ phân cấp chức năng và sơ đồ luồng dữ liệu.
  74. - Kĩ thuật chuyển đổi biểu đồ luồng dữ liệu vật lí thành biểu đồ luồng dữ liệu lôgic: Mục đích của phân tích là đi tới một mô hình logic của hệ thống. Quá trình phân mức nói ở trên mới chỉ cho những mô tả chi tiết chứ chưa phải là đã đưa đến những mô tả logic, bởi vì trong mô tả mà ta thu được (dưới dạng biểu đồ luồng dữ liệu) vẫn còn lẫn các yếu tố vật lý. Các yếu tố vật lý xen lẫn trong biểu đồ luồng dữ liệu làm cho biểu đồ luồng dữ liệu phản ánh không thật đúng bản chất của hệ thống, cần phải gạt bỏ chúng ra khỏi biểu đồ. - Kĩ thuật chuyển đổi biểu đồ luồng dữ liệu cũ thành đổi biểu đồ luồng dữ liệu mới.
  75. Bài tập chương 3 Bài 1 H·y x©y dùng BFD, DFD cho bµi to¸n sau: - ThuÕ ®­îc tÝnh theo c«ng thøc: ThuÕ VAT =ThuÕ suÊt x Doanh thu ThuÕ TNDN = ThuÕ suÊt x (Doanh thu – Chi phÝ) - Hµng th¸ng, c¸c hé kinh doanh (®èi t­îng nép thuÕ) nép tê khai khai b¸o vÒ c¸c ho¹t ®éng kinh doanh cña m×nh (doanh thu, chi phÝ, ngµnh hµng kinh doanh, ) cho ®¬n vÞ qu¶n lý thu thuÕ (côc thuÕ). ThuÕ suÊt (tû lÖ thuÕ) phô thuéc vµo ngµnh hµng kinh doanh cña ®èi t­îng vµ ®­îc thÓ hiÖn trªn b¶ng thuÕ suÊt.
  76. - Dùa trªn c¨n cø tÝnh thuÕ (doanh thu, chi phÝ, ngµnh hµng kinh doanh, ) sè thuÕ ph¶i nép cña tõng ®èi t­îng ®­îc tÝnh vµ th«ng b¸o cho ®èi t­îng vµo ngµy 4 hµng th¸ng. §èi t­îng nép thuÕ cã nghÜa vô nép thuÕ trong kho¶ng 5 - 15 hµng th¸ng. Mçi lÇn nép thuÕ ®­îc thÓ hiÖn b»ng biªn lai thu thuÕ. NÕu sau ngµy 15 mµ ®èi t­îng ch­a nép ®ñ thuÕ th× bÞ coi lµ nî thuÕ vµ sÏ bÞ tÝnh ph¹t nî thuÕ theo sè ngµy chËm. CÇn x©y dùng hÖ thèng cho phÐp in danh s¸ch nî vµo 20 hµng th¸ng.
  77. Bài 2 H·y x©y dùng BFD, DFD cho bµi to¸n sau: C«ng ty Hoa Hång lµm ®¹i lý chuyªn b¸n c¸c mÆt hµng ®iÖn tö, mçi lÇn nhËp hµng vµ xuÊt hµng th× c«ng ty ®Òu lËp c¸c phiÕu nhËp vµ xuÊt cã d¹ng sau: PhiÕu nhËp PhiÕu xuÊt Sè phiÕu nhËp Sè phiÕu xuÊt Ngµy nhËp Ngµy xuÊt Tæng tiÒn Tæng tiÒn DiÔn gi¶i DiÔn gi¶i Chi tiÕt nhËp Chi tiÕt xuÊt M· Tªn §VT Sè §¬n Thµnh M· Tªn §VT Sè §¬n Thµnh hµng hµng l­îng gi¸ tiÒn hµng hµng l­îng gi¸ tiÒn C«ng ty cÇn tù ®éng ho¸ viÖc tÝnh to¸n tån kho hµng th¸ng.
  78. CHƯƠNG 4. PHÂN TÍCH HỆ THỐNG VỀ DỮ LIỆU
  79. Chương 4. Phân tích hệ thống về dữ liệu 4.1. Một số phương tiện sơ đẳng về diễn tả và quản lý dữ liệu 4.2. Mô hình thực thể - liên kết 4.3. Mô hình quan hệ 4.4. Các ràng buộc toàn vẹn
  80. 4.1. Một số phương tiện sơ đẳng về diễn tả và quản lý dữ liệu 4.1.1. Mã hoá các tên gọi Mã hoá là việc gán một tên gọi viết tắt cho một đối tượng nào đó. Việc mã hoá phải cố gắng đạt được một số yêu cầu: - Không nhập nhằng: Đó phải là ánh xạ 1-1 từ tập đối tượng vào tập các mã. - Thích hợp với phương thức sử dụng: + Sử dụng cho người: Mã phải dễ hiểu, dễ giải mã. + Sử dụng cho máy tính: Mã phải được định nghĩa một cách chặt chẽ. - Có khả năng mở rộng và xen thêm - Phải ngắn gọn - Có tính gợi ý: nhìn mã con người có thể đoán ra đối tượng.
  81. 4.1.2. Từ điển dữ liệu Từ điển dữ liệu là một tư liệu tập trung về mọi tên gọi của mọi đối tượng được dùng trong hệ thống trong cả giai đoạn phân tích, thiết kế, cài đặt và bảo trì. Từ điển dữ liệu là cần thiết đặc biệt cho quá trình triển khai các hệ thống lớn, có đông người tham gia. Nó cho phép: - Trong phân tích và thiết kế: Quản lí tập chung và chính xác mọi thuật ngữ và các mã dùng trong hệ thống, kiểm soát được sự trùng lặp - Trong cài đặt: Người cài đặt hiểu được chính xác các thuật ngữ từ kết quả phân tích và thiết kế. - Trong bảo trì: Khi cần thay đổi, phát hiện được các mối liên quan, các ảnh hưởng có thể nảy sinh. Ví dụ: đổi một tên, thì biết rõ rằng tên đó được dùng ở những nơi nào để thay đổi.
  82. 4.2. Mô hình thực thể - liên kết Các thành phần cơ bản của mô hình: - Các thực thể - Các thuộc tính - Các mối quan hệ giữa các thực thể
  83. 4.2.1. Thực thể - Thực thể: Khái niệm mô tả một lớp các đối tượng có các đặc trưng chung cần quan tâm. - Bản thể: Là một đối tượng cụ thể của lớp(/thể hiện/bản ghi) - Biểu diễn: Trong mô hình, mỗi thực thể được mô tả bằng hình chữ nhật, có tên bên trong.
  84. 4.2.2. Thuộc tính - Thuộc tính: Là đặc trưng chung, vốn có của lớp đối tượng mà ta quan tâm - Giá trị: Thuộc một miền (gồm kiểu dữ liệu, giới hạn, cách biểu hiện) - Thường gồm: Thuộc tính tên gọi, thuộc tính định danh, thuộc tính mô tả, thuộc tính đa trị (lặp). - Biểu diễn: Trong mô hình, mỗi thuộc tính được mô tả bằng hình elip, có tên bên trong và nối với thực thể bằng một đoạn thẳng.
  85. 4.2.2.1 Thuộc tính tên gọi, thuộc tính định danh, thuộc tính mô tả a) Thuộc tính tên gọi - Có giá trị là tên của các bản thể, dùng để phân biệt bản thể. - Cho phép nhận biết sự tồn tại của một thực thể - Thường có chữ "tên"
  86. b) Thuộc tính định danh - Giá trị của nó cho phép ta nhận biết các bản thể khác nhau. - Gồm một hay nhiều thuộc tính của thực thể. - Có sẵn hay được thêm vào, mô tả trong hình elip có gạch dưới tên thuộc tính. - Có thể có nhiều định danh. Cách chọn thuộc tính định danh: khác trống, ít thuộc tính nhất, không chứa thành phần dễ thay đổi của đối tượng mô tả. c) Thuộc tính mô tả - Là thuộc tính không phải là tên gọi hay định danh, giúp hiểu rõ hơn về thực thể.
  87. 4.2.2.2. Thuộc tính đa trị - Có thể nhận nhiều hơn một giá trị đối với mỗi bản thể. - Mô tả bằng hình elip viền đôi. - Có nhóm lặp: nhiều thuộc tính lặp có quan hệ chặt chẽ với nhau. - Khi biểu diễn trong mô hình quan hệ ta thường tách nhóm thuộc tính lặp thành một thực thể mới.
  88. Ví dụ: Thực thể SINHVIEN để chỉ một lớp các đối tượng cụ thể là các sinh viên học trong các trường đại học. Giả dụ ta quan tâm đến các đặc trưng của sinh viên là: Họ và tên sinh viên: Thuộc tính tên gọi (có chứa chữ "tên" trong đó) Ngày sinh : Thuộc tính mô tả Quê quán : Thuộc tính mô tả Địa chỉ : Thuộc tính mô tả Trình độ ngoại ngữ: Thuộc tính mô tả và là thuộc tính lặp (vì một sinh viên có thể có nhiều ngoại ngữ khác nhau: Anh, Pháp )
  89. Với các khái niệm và các ký hiệu đưa ra ở trên, ta có thể mô tả mô hình của một thực thể SINHVIEN như hình 4.1 Ngày sinh Mã sinh viên Họ và tên viên SINHVIEN Trình độ ngoại Quê quán Địa chỉ viên viên Hình 4.1: Thực thể SINHVIEN và các thuộc tính của nó
  90. 4.2.3 Các mối quan hệ - Phản ánh mối quan hệ vốn có giữa các bản thể của các thực thể. - Gắn kết các thực thể với nhau. - Đặc trưng: Bậc (số thực thể) và bản số (số các bản thể của mỗi thực thể tham gia vào quan hệ). - Mối quan hệ được biểu diễn bằng một hình thoi bên trong có tên quan hệ, nối với các thực thể bằng một đoạn thẳng.
  91. 4.2.3.1 Bậc của mối quan hệ Bậc là số thực thể tham gia vào mối quan hệ. Có ba loại bậc: - Bậc một - đệ quy: Mối quan hệ giữa các bản thể của cùng một thực thể. - Bậc hai: Giữa hai bản thể của hai thực thể khác nhau. - Bậc ba hoặc cao hơn: Đồng thời giữa các bản thể của ba thực thể khác nhau hoặc nhiều hơn ba thực thể. Trong mối quan hệ, một bản thể của một thực thể có quan hệ với một hay nhiều bản thể của một thực thể khác. Ta có các loại quan hệ tương ứng là: một-một (1:1), một-nhiều(1:N), hay nhiều-nhiều(N:N).
  92. 4.2.3.2 Các bản số (Cardinalities) Bản số là số các bản thể của thực thể có thể (hoặc phải) tham gia vào mối quan hệ. - Ba ký hiệu 0, 1 và tương ứng với 0, 1 và nhiều - Cách biểu diễn :
  93. Ví dụ: Kết hôn NHÂN VIÊN Quản lý NGƯỜI a) Một - một b) Một - nhiều MỤC Gồm Số lượng c) Nhiều - nhiều Hình 4.2: Ví dụ về quan hệ đệ quy
  94. Chỉ định NHÂN VIÊN CHỖ LÀM a) Một - một NHÓM SẢN PHẨM Gồm SẢN PHẨM b) Một - nhiều Đăng kí SINH VIÊN KHOÁ HỌC c) Nhiều - nhiều Hình 4.3: Các quan hệ bậc 2
  95. 4.2.3.3. Thực thể yếu, thực thể phức hợp * Thực thể yếu - Trong mối quan hệ giữa các thực thể có trường hợp một thực thể chỉ tồn tại khi thực thể liên kết với nó tồn tại, thực thể này gọi là thực thể yếu. - Thực thể yếu được biểu diễn bởi hình chữ nhật viền đôi bên trong có ghi tên thực thể yếu. Ví dụ: Thực thể: NGUOIPHUTHUOC chỉ tồn tại khi thực thể NHANVIEN tồn tại (trong chế độ bảo hiểm) NHANVIEN Có NGUOIPHUTHUOC Hình 4.4 Quan hệ bậc 2 có thực thể yếu
  96. * Thực thể phức hợp : Giữa các thực thể còn có mối quan hệ bậc ba hay bậc thấp hơn ở dạng nhiều - nhiều hay có thuộc tính riêng. Trong mô hình quan hệ không sử lí được mối quan hệ này. Vì thế người ta tạo ra một thực thể mới có khoá là khoá của các thực thể trong liên kết hợp lại và có thể có thêm các thuộc tính khác của riêng nó. Để biểu diễn thực thể phức hợp ta bao bên ngoài hình thoi bởi một hình chữ nhật.
  97. 4.3. Mô hình quan hệ 4.3.1 Quan hệ (Relation) và thuộc tính (Attribute) 4.3.1.1. Định nghĩa Một quan hệ là một bảng dữ liệu hai chiều. Mỗi quan hệ (hay bảng) gồm một tập các cột được đặt tên và một số tuỳ ý các dòng không có tên.
  98. 4.3.1.2. Các thuộc tính của một quan hệ Một quan hệ là một bảng dữ liệu hai chiều nhưng không phải mọi bảng hai chiều đều là quan hệ. Một bảng là quan hệ nếu nó có tính chất sau: - Giá trị đưa vào một cột đơn nhất: Giá trị đưa vào chỗ tương giao của một dòng và một cột đơn nhất (giá trị đơn).
  99. 4.3.1.3. Các quan hệ có cấu trúc tốt Một quan hệ có cấu trúc tốt là quan hệ có số dư thừa ít nhất và cho phép người sử dụng thêm, xoá hay sửa đổi những dòng trong bảng mà không gây ra lỗi hoặc sự không nhất quán trong bảng.
  100. 4.3.2. Các khái niệm về chuẩn hoá (Normalization) Chuẩn hóa là một quá trình chuyển một cấu trúc dữ liệu phức hợp thành các cẩu trúc dữ liệu tốt và đơn giản hơn. Chuẩn hoá thường được hoàn thành sau một số bước, mỗi bước nhận được các quan hệ tương ứng với một dạng chuẩn. Dạng chuẩn được hiểu là một trạng thái của quan hệ có thể được xác định nhờ áp dụng các quy tắc để phát hiện sự phụ thuộc hàm (mối quan hệ) giữa các thuộc tính của quan hệ.
  101. 4.3.2.1. Phụ thuộc hàm và các khoá Chuẩn hoá dựa trên cơ sở phân tích các phụ thuộc hàm. Phụ thuộc hàm là một mối quan hệ cụ thể giữa hai thuộc tính (hay nhóm thuộc tính) trong một quan hệ. Cho một quan hệ R bất kỳ và hai nhóm thuộc tính A và B khác nhau của nó: Nhóm thuộc tính B được gọi là phụ thuộc hàm vào nhóm thuộc tính A nếu đối với mỗi dòng của quan hệ R, các giá trị của A xác định duy nhất các giá trị của B. Sự phụ thuộc hàm của B vào A còn gọi là A xác định B và được ký hiệu bằng mũi tên từ A sang B: A B
  102. 4.3.2.2. Khoá dự tuyển, khoá chính và khoá ngoại * Khoá dự tuyển (Candidate key) hay còn gọi là khóa của một quan hệ hay một nhóm thuộc tính mà các giá trị của nó xác định duy nhất mỗi dòng trong một quan hệ. Khoá dự tuyển cần thoả mãn các tính chất sau: - Xác định duy nhất: Giá trị của khoá xác định duy nhất một dòng. Tính chất này cho thấy các thuộc tính không phải là khoá phụ thuộc hàm vào khoá. - Không dư thừa: Khi xoá đi bất kỳ thuộc tính nào của khoá đều phá huỷ tính xác định duy nhất của khoá.
  103. * Khoá chính (Primary key): Là một khoá dự tuyển được chọn làm khoá của quan hệ. Khi một quan hệ có tồn tại một số khoá dự tuyển, ta có thể có nhiều cách chọn khoá chính khác nhau. * Khoá ngoại (Foreign key): Là một thuộc tính không phải khoá chính trong quan hệ đó nhưng là khoá chính hay một phần khoá chính trong một quan hệ khác.
  104. 4.3.2.3. Các dạng chuẩn cơ bản Có ba dạng chuẩn cơ bản là: Chuẩn 1 (Fisrt-normal-form - 1NF): Một quan hệ là chuẩn 1 nếu nó không chứa các thuộc tính lặp. Chuẩn 2 (Second-normal-form - 2NF): Một quan hệ là chuẩn 2 nếu: - Là chuẩn 1. - Không tồn tại các thuộc tính không thuộc khoá mà phụ thuộc vào một phần khoá.
  105. Chuẩn 3 (Thirt-normal-form - 3NF): Một quan hệ là chuẩn 3 nếu: - Là chuẩn 2. - Không tồn tại thuộc tính không thuộc khoá phụ thuộc bắc cầu vào khoá (qua một thuộc tính gọi là thuộc tính cầu). Các quan hệ ở ba dạng chuẩn cơ bản là đủ cho phần lớn các ứng dụng thực tế của CSDL. Tuy nhiên chuẩn 3 chưa bảo đảm tất cả các dư thừa đã bị loại trừ. Có một vài chuẩn bổ sung được đưa vào thiết kế để loại bỏ các dư thừa có thể có, đó là: chuẩn Boyce Codd, chuẩn 4, chuẩn 5.
  106. 4.3.3 Chuẩn hoá các quan hệ Chuẩn hoá thường gồm một số bước, mỗi bước tương ứng vời một dạng chuẩn. Để chuẩn hoá ta xét lần lượt từng quan hệ và kiểm tra tính chuẩn của nó. Muốn vậy trước hết ta xác định các phụ thuộc hàm và khoá chính của quan hệ. Sau đó tiến hành kiểm tra lần lượt các chuẩn đối với quan hệ: Nếu quan hệ không phải là chuẩn 1: Phân rã quan hệ thành hai quan hệ: Quan hệ 1: Các thuộc tính lặp và phần khoá chính xác định chúng. Quan hệ 2: Các thuộc tính còn lại và phần khoá chính xác định phần này.
  107. Nếu quan hệ không phải là chuẩn 2: Phân rã thành hai quan hệ: Quan hệ 1: Các thuộc tính phụ thuộc vào một phần khoá chính và phần khoá chính xác định chúng. Quan hệ 2: Các thuộc tính còn lại và khoá chính. Nếu quan hệ không phải là chuẩn 3: Phân rã quan hệ thành hai quan hệ: Quan hệ 1: Các thuộc tính phụ thuộc bắc cầu và thuộc tính cầu. Quan hệ 2: Các thuộc tính còn lại và thuộc tính cầu.
  108. 4.4. Các ràng buộc toàn vẹn Các mô hình dữ liệu, dù là mô hình thực thể - liên kết hay mô hình quan hệ vẫn không đủ để diễn tả mọi ngữ nghĩa của thế giới thực mà ta cần phải mô hính hóa trong HTTT. Bởi vậy ta phải bổ sung thêm các đặc tả để đảm bảo tính đúng đắn của nó, thường gọi là các ràng buộc toàn vẹn (Ở đây sẽ không mô tả các ràng buộc toàn vẹn).
  109. Bài tập chương 4 Bài 1: H·y chuÈn hãa d÷ liÖu cña bµi to¸n qu¶n lý c¸c ®¬n ®Æt hµng (®­a vÒ d¹ng chuÈn 3NF), biÕt mét sè th«ng tin cÇn quan t©m: Sè ho¸ ®¬n, ngµy ®Æt hµng, m· kh¸ch hµng, tªn kh¸ch hµng, ®Þa chØ, m· hµng, tªn hµng, ®¬n vÞ tÝnh, m« t¶ hµng, sè l­îng ®Æt.
  110. Bài 2: C¸c ho¹t ®éng chñ yÕu cña kh¸ch s¹n NhËt T©n lµ cung cÊp c¸c dÞch vô cho kh¸ch trä. Hµng ngµy c¸c dÞch vô tõng kh¸ch sö dông ®­îc th«ng b¸o vÒ bé phËn lÔ t©n b»ng c¸c phiÕu cã d¹ng: Sè phiÕu dÞch vô: Tªn kh¸ch: Ngµy: Sè phßng: Chi tiÕt dÞch vô sö dông: Tªn dÞch vô Sè l­îng §VT §¬n gi¸ Thµnh tiÒn C¸c kh¸ch hµng thuª phßng trong thêi gian dµi ph¶i ®Æt cäc, viÖc ®Æt cäc ®­îc ghi nhËn b»ng chøng tõ cã d¹ng: Sè chøng tõ: Tªn kh¸ch: Ngµy: Sè phßng: Sè tiÒn: DiÔn gi¶i: H·y chuÈn ho¸ vµ ®­a d÷ liÖu trªn vÒ d¹ng chuÈn 3NF?
  111. CHƯƠNG 5. PHÂN TÍCH HỆ THỐNG VỀ ĐỘNG THÁI
  112. Chương 5. Phân tích hệ thống về động thái 5.1. Phân tích động thái với biểu đồ luồng điểu khiển 5.2. Đặc tả chức năng điều khiển 5.3. Các chiến lược phân tích một hệ thống SART
  113. Như ta đã thấy thì phương pháp SA không mô hình hoá sắc thái điều khiển trong hệ thống, không đề cập tới các loại biến cố đột xuất, các xử lí không đồng bộ Biểu đồ luồng dữ liệu với nguyên tắc ngầm định là kích hoạt bởi dữ liệu không tính đến những biến động trong thời gian của hệ thống. Tuy nhiên sự biến đổi hành vi qua thời gian mà ở đây gọi là động thái (dynamics) lại là một hiện tượng thường gặp trong các hệ thống thực. Chương này trình bày sơ lược phương pháp SART (Structured Analysis For Real - Time Systems) do Hatly và Pirbhai đề xuất, nhằm phân tích động thái của hệ thống mà vẫn giữ xu hướng phân tích trên xuống. Bạn đọc chỉ quan tâm đến hệ thống thông tin quản lí, ít chú ý đến khía cạnh thời gian thực, thì có thể bỏ qua chương này.
  114. 5.1. Phân tích động thái với biểu đồ luồng điểu khiển Trong một biểu đồ luồng dữ liệu thì một luồng dữ liệu nối từ một chức năng A tới một chức năng B là một thông tin được chuyển giao từ A sang B, thông tin đó là một dữ liệu ra (tức là một sản phẩm xử lý) của A và là một loại dữ liệu vào (tức là một nguyên liệu cho xử lí) của B. Không thể hiểu nó là một thông tin điều khiển, chẳng hạn không thể hiểu như trong các sơ đồ khối , là A chuyển điều khiển (tức là chuyển quyền thực hiện) cho B.
  115. Nguyên tắc “kích hoạt bởi dữ liệu” cho phép hiểu là chức năng B sẽ được khởi động (và sẽ thực hiện vô cùng nhanh) khi nó hội đủ các dữ liệu đầu vào, chỉ là một sự khoả lấp tạm thời sự trống vắng của các yếu tố điều khiển trong các biểu đồ luồng dữ liệu mà thôi. SART khắc phục thiếu sót này của biểu đồ luồng dữ liệu bằng cách đưa thêm biểu đồ luồng điều khiển.
  116. Luồng điều khiển là một thông tin đến hoặc ra khỏi một chức năng (chức năng xử lí hay chức năng điều khiển) với tác dụng làm thay đổi trạng thái nội tại của chức năng nhận nó hoặc làm thay đổi tình trạng thực hiện (khởi động, tạm ngưng, khôi phục, kết thúc) các chức năng nhận nó. Chức năng xử lí là chức năng biến đổi dữ liệu (thuộc lĩnh vực ứng dụng), còn chức năng điều khiển là chức năng có khả năng nhận và phát các luồng điều khiển nhằm khống chế quá trình thực hiện các thành phần của hệ thống. Luồng điều khiển trong SẢT được biểu diễn: Tên luồng điều khiển
  117. Nếu xét về nơi phát và nơi nhận thì một luồng điều khiển có thể là: - Luồng điều khiển ngoài: nếu nơi phát hoặc nơi nhận là một đối tác (phần tử ngoài hệ thống). - Luồng điều khiển trong: nếu cả nơi phát và nơi nhận đều là những chức năng bên trong hệ thống. Hệ thống Đối tác Luồng (tác Luồng điều điều khiển nhân khiển ngoài trong ngoài) Luồng dữ liệu Hình 5.1. Các luồng điều khiển ngoài và trong
  118. 5.2. Đặc tả chức năng điều khiển (C - SPEC) Mỗi C - Spec gắn với một biểu đồ luồng điều khiển và đóng vai trò “nhạc trưởng” đối với các chức năng xử lí ở cùng biểu đồ luồng điều khiển đó, bởi vì chính nó quyết định khởi động hay chấm dứt một chức năng xử lý. Để thực hiện mục tiêu điều khiển của mình, các C – Spec (chỉ nhận ở đầu vào các luồng điều khiển) sẽ thực hiện các biến đổi ở các dạng sau: - Tổ hợp logic các luồng điều khiển đầu vào thành luồng điều khiển đầu ra (bởi một hàm Bun). - Tổ hợp logic các luồng điều khiển đầu vào thành các luồng kích hoạt (bởi một hàm Bun). - Sản sinh các luồng kích hoạt hay luồng điều khiển tuỳ thuộc sự kiện mới tới và trí nhớ (hữu hạn) về quá khứ (hành động dạng ôtômát hữu hạn).
  119. Bởi vậy, đặc tả C – Spec gồm: - Một bảng tổ hợp các luồng điều khiển - Một bảng tổ hợp các luồng kích hoạt - Một ôtômát hữu hạn
  120. 5.3. Các chiến lược phân tích một hệ thống SART Kinh nghiệm của nhiều dự án SẢT cho thấy có cách tiếp cận sau: - Tiếp cận theo các chức năng - Tiếp cận theo các luồng dữ liệu - Tiếp cận theo các đối tượng - Tiếp cận theo các biến cố - Tiếp cận theo thời gian - Tiếp cận theo các đối tác - Tiếp cận theo kiến trúc Mỗi cách tiếp cận đều cho phép xuất phát từ biểu đồ luồng dữ liệu và điều khiển mức khung cảnh thực hiện phân rã đầu tiên cho mức 1 và tiếp tục cho các mức dưới. Các chiến lược trên có thể dùng lẫn, chẳng hạn ở mức này dùng chiến lược này, sang mức khác lại dùng chiến lược khác.
  121. Bài tập chương 5 Hãy vẽ biểu đồ luồng dữ liệu, biểu đồ luồng điều khiển và kết hợp 2 biểu đồ này ở mức khung cảnh của bài toán sau: Một hệ thống điều khiển phản ứng nhiệt. Một phản ứng nhiệt đòi hỏi phải duy trì một lượng nhất định một chất phản ứng lỏng ở một nhiệt độ D trong một khoảng thời gian T. Việc rót đầy lò phản ứng bắt đầu khi có lệnh “bắt đầu rót” từ các thao tác viên. Khi chất phản ứng trong lò đã đạt được một mức N thì ngừng rót và bật bộ phận đốt nóng. Khi nhiệt độ trong lò đạt tới giá trị D thì đặt đồng hồ báo giờ (thời hạn = T). Duy trì nhiệt độ của phản ứng ở giá trị cố định D trong khoảng thời gian T. Khi đồng hồ báo hết thời hạn T thì tắt bộ phận đốt nóng và xả chất phản ứng ra một bể chứa bên ngoài. Chú ý: Việc rót chất phản ứng vào lò chưa thể bắt đầu được nếu mức chất phản ứng trong bình chứa chưa đạt tới giá trị tối thiểu M. Hệ thống phải phát hiện được điều này để đưa ra một báo động đáp lại lệnh “bắt đầu rót”.
  122. CHƯƠNG 6. THIẾT KẾ HỆ THỐNG
  123. Chương 6. Thiết kế hệ thống 6.1. Thiết kế tổng thể 6.2. Thiết kế các nhiệm vụ thủ công và giao diện người - máy 6.3. Thiết kế các kiểm soát 6.4. Thiết kế CSDL 6.5 Thiết kế chương trình
  124. 6.1. Thiết kế tổng thể 6.1.1. Chọn chiến lược thiết kế - Thiết kế hướng chức năng - Thiết kế hướng đối tượng 6.1.2. Nội dung thiết kế Nội dung thiết kế bao hàm nhiều vấn đề, chúng ta quan tâm đến một số nội dung thường được quan tâm trong thực tế triển khai các dự án, đó là: - Thiết kế dữ liệu - Thiết kế kiến trúc - Thiết kế thủ tục - Thiết kế giao diện - Thiết kế kiểm soát
  125. 6.1.3. Các hoạt động thiết kế Các hoạt động rất cốt yếu trong thiết kế một hệ thống phần mềm lớn: - Thiết kế kiến trúc - Đặc tả trừu tượng - Thiết kế giao diện - Thiết kế các thành phần - Thiết kế cấu trúc dữ liệu - Thiết kế thuật toán Chú ý rằng khi mà phương pháp hướng đối tượng được chấp nhận thì phương pháp từ trên xuống ít có hiệu quả. Khi đó người thiết kế sử dụng các đối tượng sẵn có để làm khung thiết kế.
  126. 6.2. Thiết kế các nhiệm vụ thủ công và giao diện người - máy 6.2.1. Mục tiêu của phân định công việc người - máy Xác định chức năng nào trong từng tiến trình và trong hệ thống do máy đảm nhận, chức năng nào cho người và phương thức thực hiện tiến trình tương ứng. - Phân tích công việc giữa người và máy là gán những hoạt động của hệ thống cho những phương tiện thực hiện cụ thể là người hay máy và phương thức thực hiện công việc. - Nói chung về nguyên tắc, những tiến trình dành cho máy là tiến trình: + Có thể hình thức hoá cao, có thủ tục và quy trình thực hiện rõ ràng, chặt chẽ. + Những tiến trình lặp lại và có khối lượng xử lý lớn
  127. - Những tiến trình dành cho người: + Những công việc quy trình không rõ ràng, thay đổi theo tình huống + Việc thực hiện cần có thông tin bổ sung, không biết trước, cần làm ngay. - Việc phân tích mang tính trực quan, kinh nghiệm nhiều hơn là có quy tắc rõ ràng. - Các tiến trình có liên quan đến các bảng dữ liệu. Khi phân chia tiến trình làm cho một số bảng dữ liệu có thể không còn liên quan đến các hoạt động do máy thực hiện. Cho nên những bảng dữ liệu chỉ liên quan đến các tiến trình do người thực hiện rõ ràng không cần lưu giữ trên máy tính và được loại ra khỏi thiết kế CSDL. - Kết quả của việc lựa chọn các kho dữ liệu là một số thực thể biến mất khỏi mô hình, một số thực thể giảm bớt thuộc tính.
  128. 6.2.2. Thiết kế giao diện người – máy Những dạng cơ bản giao diện người - máy Dạng hỏi và đáp Dạng thực đơn Dạng hoạ tiết. Dạng biểu mẫu Dạng ngôn ngữ lệnh
  129. 6.3. Thiết kế các kiểm soát 6.3.1. Vấn đề chung Khi hệ thống đi vào hoạt động, có thể có nhiều sự cốxảy ra cần phải tính đến và có biện pháp đề phòng nhằm đảm bảo cho hệ thống hoạt động ổn định, hệ thực hiện đúng đắn các chức năng dự kiến. Ngoài ra còn phải bảo vệ các nguồn tài nguyên của hệ thống. Nguồn tài nguyên của hệ thống, (ngoài) các thiết bị phần cứng là các phần mềm, các dữ liệu. Tất cả chúng đều có giá trị và có vai trò to lớn đối với sự hoạt động của tổ chức ở đây đặc biệt nhấn mạnh đến các biện pháp về phần mềm.
  130. 6.3.2. Xác định điểm hở - Dòng thông tin trên đường truyền từ trong máy ra các tác nhân ngoài. - Dòng dữ liệu trao đổi giữa máy tính và người sử dụng thông qua các giao diện. - Các kho dữ liệu, các tệp lưu giữ trên các giá mang: có thể bị xâm nhập trái phép.
  131. 6.4. Thiết kế CSDL 6.4.1. Thiết kế dữ liệu dựa trên từ điển dữ liệu (phương pháp từ điển) 1. Mỗi hồ sơ gốc được xem như một thực thể. Liệt kê từng thực thể và tất cả các thông tin đặc trưng trong nó xem như những thuộc tính của thực thể đó. 2. Chính xác hoá thông tin là những thuộc tính của các thực thể, sao cho hai thông tin có cùng tên gọi trong toàn từ điển phải cùng nghĩa. Nếu chúng có nghĩa khác nhau thì tên gọi phải khác nhau.
  132. 3. Chọn lọc và mã hoá các thông tin thu được theo nguyên tắc sau: - Đi lần lượt từ trên xuống dưới. - Các thực thể và thuộc tính được mã hoá bẵng tên mới đảm bảo yêu cầu của hệ quản trị CSDL sẽ sử dụng để xây dựng các file cho nó. - Nếu một thuộc tính là thuộc tính tên gọi và lần đầu tiên gặp nó có thể sử dụng làm định danh cho thực thể tương ứng với nó, thì sử dụng làm định danh và đánh dấu nó. Nếu không thể làm định danh thì phải thêm một thuộc tính định danh cho thuộc tính này và tiến hành mã hoá chúng.
  133. - Nếu thuộc tính là tên gọi gặp lần 2 trở đi thì thay nó bẵng thuộc tính định danh tương ứng ở trên. - Nếu một thuộc tính không phải là tên gọi (tức là thuộc tính mô tả) gặp lần đầu thì nó được chọn và mã hoá. Nếu là thuộc tính mô tả gặp lần thứ 2 trở đi thì bỏ qua. - Nếu một thuộc tính mô tả có thể suy ra từ các thuộc tính đã được mã hoá thì cũng bỏ qua.
  134. 4. Xác định các thuộc tính lặp trong các thực thể nhận được. 5. Xác định khoá các thực thể (hồ sơ gốc) (đánh dấu bẵng gạch dưới cột chắt lọc/mã hoá) 6. Tiến hành chuẩn hoá các thực thẻ đã mã hoá để thu được các quan hệ. 7. Tiến hành tích hợp các quan hệ đã được chuẩn hóa, xác định các khoá chính, khoá ngoại của chúng. 8. Lập bảng xác định các mối quan hệ giữa các quan nhận được. 9. Vẽ sơ đồ mô hình dữ liệu quan hệ
  135. 6.4.2. Thiết kế dữ liệu dựa trên mô hình thực thể - mối quan hệ (phương pháp mô hình) 1. Từ các thông tin khảo sát, ta xây dựng một từ điển dữ liệu bao gồm các thực thể và các thuộc tính từ các đặc trưng của chúng. 2. Gán các thuộc tính vào các thực thể một cách phù hợp và xác định thuộc tính định danh cho nó (hay bổ sung thêm thuộc tính định danh nếu cần thiết).
  136. 3. Xác định lần lượt các quan hệ giữa các thực thể đã được xác định ở trên và gắn các thuộc tính còn lại (chưa được gán vào thực thể) cho các quan hệ tương ứng. Quá trình này được tiếp tục cho đến khi tất cả các thuộc tính liệt kê đã được gắn vào các thực thể hay các quan hệ. 4. Lập mô hình thực thể – mối quan hệ và xác định bản số cho các thực thể tham gia vào trong các quan hệ đó. 5. Chuyển mô hình thực thể – mối quan hệ sang mô hình quan hệ. 6. Tiến hành chuẩn hoá các quan hệ nhận được.
  137. 6.5. Thiết kế chương trình Kết quả thu được qua 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à CSDL) 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 biểu đồ luồng dữ liệu chỉ là các chức năng lôgic (thuộc lĩnh vực bài toán) mà chưa 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)
  138. - Các liên quan giữa các chức năng trong biểu đồ luồng dữ liệu chỉ là các chuyển giao dữ liệu mà không phải là các chuyển giao điều khiển. Vì thế, 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 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 là biểu đồ luồng dữ liệu của từng hệ thống con cùng với các quyết định về giao diện, kiểm soát và CSDL đã được chọn trong các bước thiết kế chi tiết trước đây. Đầu ra của thiết kế chương trình là một miêu tả về nội dung các chương trình sẽ được cài đặt.
  139. Bài tập chương 6 Một cơ sở bán hàng sử dụng hai loại chứng từ sau để theo dõi hoạt động kinh doanh của mình: a. Đơn đặt hàng Số hoá đơn: xxxxxx Người đặt hàng: (27 ký tự ) Địa chỉ: ( 45 ký tự .) Người đặt: xx/xx/xxxx Số TT Tên hàng Mô tả hàng đơn vị tính Số lượng (đặt) xx Chr (15) Chr (30) Chr (10) xxxxxxx
  140. b. Phiếu giao hàng Số phiếu: xxxxxx Tên khách hàng: (27 ký tự ) Địa chỉ: (45 ký tự .) Ngày giao: xx/xx/xx Số Tên Đơn giá Sốlượng Thành ĐVT TT hàng (hàng giao) (giao) tiền xx Chr (15) Chr (10) xxxxxx xxxxx.xx xxxxxxx Tổng tiền Hãy thiết kế CSDL loại quan hệ (bao gồm các file dữ liệu và sơ đồ mô hình dữ liệu) từ các tài liệu trên để quản lý hoạt động bán hàng (sử dụng cả hai phương pháp: phương pháp từ điển và phương pháp mô hình)?
  141. CHƯƠNG 7. MỘT SỐ VẤN ĐỀ CÀI ĐẶT HỆ THỐNG
  142. Chương 7. Một số vấn đề cài đặt hệ thống 7.1. Cài đặt trên xuống và tăng trưởng 7.2. Chọn một môi trường cài đặt
  143. 7.1. Cài đặt trên xuống và cài đặt tăng trưởng Ba nguyên tắc chính chi phối phương pháp này là: - Lập trình và kiểm định đồng thời - Tăng trưởng dần dần - Triển khai trên xuống
  144. Các ưu điểm chính của cách cài đặt trên xuống và tăng trưởng: - Làm đến đâu chắc đến đó, tránh hay chí ít là giảm được các đảo lộn lớn, các tình trạng đổ vỡ. - Cho phép thực hiện nhiều phương án trung gian một cách mềm dẻo để đạt được hệ thống mới . - Sớm thu được các thông tin phản hồi cho phép điều chỉnh các phương án, nhờ vào việc tiến hành kiểm định sớm và cũng nhờ vào việc người cài đặt và cả người dùng thấy được sự hoạt động của hệ thống sớm, để có thể đưa ra ý kiến thay đổi nếu cần. - Phần lớn các giao diện được cài đặt và kiểm định sớm, tạo ra ngay được bộ mặt của hệ thống. - Qua từng bước, người cài đặt và cả người dùng chứng kiến được sự hình thành của hệ thống, khiến họ dễ tin tưởng và phấn chấn tinh thần hơn. - Nếu thiếu thời gian thì lập trình và kiểm định có thể thực hiện ngay cả khi thiết kế chưa hoàn thành.
  145. 7.2. Chọn một môi trường cài đặt 7.2.1. Một môi trường điển hình Ngày nay việc lựa chọn một môi trường phần cứng và phần mềm cho việc cài đặt hệ thống có thể thực hiện với nhiều khả năng đa dạng và phong phú. Đương nhiên việc lựa chọn đó phải xuất phát từ nhu cầu thực sự, tuỳ kích cỡ của hệ thống và những đặc trưng xử lý của hệ thống. Với giả thiết hệ thống ta đang xử lí là một hệ thống xử lí thông tin quản lí của một xí nghiệp cỡ vừa, với yêu cầu thu thập thông tin ngay tại nguồn, thì môi trường phần cứng và phần mềm điển hình được lực chọn như sau:
  146. - Một hệ thống phân tán và mở bao gồm một máy chủ và một số trạm làm việc liên kết với nhau trên một mạng. - Một hệ quản trị CSDL quan hệ cài đặt trên máy chủ, làm nhiệm vụ quản lí tập trung các dữ liệu, cho phép quản lí các truy nhập song song, lưu giữ và phục hồi khi có sự cố. - Một phần mềm truyền thông giữa các máy trạm làm việc của các người dùng cho phép cập nhật CSDL từ xa, tra cứu nó hoặc khởi động các ứng dụng liên quan. - Một môi trường lập trình theo sự kiện, cho phép từ các trạm làm việc phát triển các ứng dụng một cách dễ dàng và hữu hiệu. Các đặc trưng của môi trường điển hình nói trên tất cả đều bao hàm trong khái niệm kiến trúc khách - chủ mà ta sẽ đề cập sau đây.
  147. 7.2.2. Các kiến trúc khách - chủ Kiến trúc khách - chủ chỉ là một khái niệm lôgic, nó được vận dụng vào đâu thì đó là biểu hiện vật lí của nó. Chẳng hạn ta gặp kiến trúc này trong nhiều hệ quản trị CSDL. Cũng có khi khách - chủ chung nhau trên cùng một trạm làm việc (sử dụng cơ chế truyền thông cục bộ), và nhiều khi khách và chủ ở trên các trạm khác nhau liên kết thông qua một mạng. Một xử lí khách - chủ là một quá trình cộng tác giữa một bên là một hay nhiều khách và một bên là một hay nhiều chủ.
  148. 7.2.2.1. Khách Một khách là một thực thể (quá trình, chương trình, máy tính, ) có yêu cầu truy nhập vào một dịch vụ hay một tài nguyên và để hoàn thành nhiệm vụ của mình phải tương tác với một hay nhiều chủ. Khách cũng đảm nhiệm đối thoại với người dùng. Đối thoại này nói chung là sự tương tác bàn phím/chuột, sự thu thập hay nghiệm đúng các thông tin, Sự tương tác này tạo cho người dùng có cảm giác là chỉ trao đổi thông tin với máy tính mà ta đang làm việc.
  149. 7.2.2.2. Chủ Một chủ là một thực thể (quá trình, chương trình, máy tính, ) trả lời cho một yêu cầu hay cấp phát một tài nguyên. Sau giai đoạn khởi tạo thì nói chung chủ sẽ chuyển sang giai đoạn chờ đợi một yêu cầu đến từ các khách. Khi chủ nhận được một yêu cầu của khách, nó có thể tự mình xử lí yêu cầu nếu là xử lí rất ngắn, hoặc nếu chỉ có một khách đưa ra yêu cầu. Trong trường hợp ngược lại, chủ có thể nhờ tới một hay nhiều chủ khác hay quá trình để xử lí yêu cầu của khách. Điều đó cho phép một chủ luôn tập chung vào các yêu cầu tiếp đến của các khách. Sự hoạt động của chủ, mà người ta chỉ định làm chủ chính, luôn luôn trút công việc cho các chủ khác, là một hoạt động quen thuộc trong một số chủ về CSDL (Oracle chẳng hạn). Cuối cùng cần lưu ý rằng, trong các mạng tin học, có nhiều loại chủ: chủ tính toán, chủ các tệp, chủ in ần, chủ hiển thị,
  150. 7.2.3. Hoạt động của các hệ thống khách - chủ Sự liên lạc giữa khách và chủ là thuộc loại giao dịch và hợp tác. Khách chuyển giao một yêu cầu và ngừng việc xử lí của mình cho tới khi nhận được yêu cầu từ bên chủ. Phương thức hoạt động này của khách gọi là phương thức phong toả. Còn chủ thì không làm gì cho tới khi nhận một yêu cầu. Ta nói rằng nó ở trạng thái nghe ngóng. Khi xử lí xong yêu cầu chủ lại trở về nghe ngóng yêu cầu khác đến.
  151. Ngoài các hoạt động đơn giản như trên cũng còn những cơ chế khác, cho phép khách vẫn tiếp tục công việc của mình sau khi gửi một yêu cầu đi, ta gọi đó là cách làm việc không phong toả. Trong trường hợp này thì không cần có một cơ chế tường minh về đồng bộ hoá giữa khách và chủ. Khách viết một yêu cầu của nó vào một vùng đệm, và một khi yêu cầu đó được chủ tiếp nhận thì nó chuyển sang chờ đợi (nếu theo phương thức phong toả) hoặc tiếp tục công việc xử lí của mình, khi công việc này không phụ thuộc vào kết quả trả lời (nếu theo phương thức không phong toả).
  152. Chủ đọc nội dung vào vùng đệm và xử lí yêu cầu (tự nó hoặc nhờ đến các chủ khác). Khi xử lí xong, chủ viết trả lời vào một vùng đệm mà khách truy cập được (nếu theo phương thức không phong toả, thì có một cơ chế cho phép khách đọc ngay trả lời khi nó đến, hay đọc muộn lại tuỳ theo nó có ngắt tạm được công việc đang làm hay không). Chủ lại trở về trạng thái nghe ngóng. Để cơ chế liên lạc này thực hiện được, phải có một giao diện cho phép khách và chủ truyền thông cho nhau. Giao diện này gọi là giao diện lập trình ứng dụng, thường gọi dưới cái tên quen thuộc là các API (Application Programming Interface).
  153. Bài tập chương 7 Hãy chọn chiến lược cài đặt thích hợp cho bài toán quản lí bán hàng ở chương 6.
  154. TÀI LIỆU THAM KHẢO [1]. Nguyễn Văn Ba, Phân tích và thiết kế hệ thống thông tin, Đại học quốc gia Hà Nội, 2003. [2]. ThS. Huỳnh Ngọc Tín, Phân tích và thiết kế hệ thống thông tin, Đại học quốc gia TP Hồ Chí Minh, 2005. [3]. Nguyễn Văn Vỵ - Lê Văn Phùng, Đề cương bài giảng: “Phân tích và thiết kế hệ thống thông tin Kinh tế”, Đại học quốc gia Hà Nội, 2001.
  155. BÀI TẬP PHÂN TÍCH VÀ THIẾT KẾ HTTT Bài 1 Một CSDL về bia và khách uống bia chứa các thông tin về Khách uống bia, Loại bia và Quán bia nhằm cho biết các thông tin: a. Loại bia ưa thích của mỗi khách b. Các khách uống bia của các quán c. Loại bia ở mỗi quán Xây dựng ERD.
  156. Bài 2 Xây dựng ERD cho bài toán quản lý sau: Công ty Hoa Hồng có một số phân xưởng sản xuất, mỗi phân xưởng thực hiện nhiều dự án sản xuất, mỗi dự án chỉ thuộc một phân xưởng. Mỗi phân xưởng có thể thuê nhiều công nhân làm việc, mỗi công nhân chỉ thuộc một phân xưởng. Mỗi công nhân có thể kí hợp đồng với nhiều dự án hoặc không dự án nào, mỗi dự án có ít nhất một công nhân kí hợp đồng. Một công nhân có thể có hoặc không có người phụ thuộc. Mỗi công nhân có thể có nhiều trình độ tay nghề, có thể không có trình độ tay nghề.
  157. Bài 3. Nhà máy may Thành Công chuyên may sẵn một số mặt hàng may mặc. Nhà máy có nhu cầu tính tự động giá thành sản phẩm từng tháng. Giá thành sản phẩm được tính từ nhiều yếu tố: 1. Giá vật liệu để may được sản phẩm (thay đổi theo thời gian). Mỗi sản phẩm có định mức vật liệu riêng. Ví dụ: May một áo sơ mi nhãn hiệu SM123 cần có: 2m vải, 1 cuộn chỉ, 10 cúc, bao bì. Số lượng và đơn giá vật liệu xuất kho để phục sản xuất được ghi lại bằng phiếu xuất. 2. Công lao động để may một sản phẩm (được quy định cho từng loại sản phẩm). 3. Các chi phí khác như tiền điện, chuyên chở, quảng cáo, được chia đều cho tổng số công của các sản phẩm trong tháng. 4. Hàng ngày số sản phẩm xuất xưởng được ghi lại bằng phiếu nhập kho thành phẩm. Hãy phân tích và thiết kế CSDL để giải quyết các yêu cầu trên (xác định mục tiêu quản lý, BFD, ERD, sơ đồ mô hình dữ liệu)?
  158. Bài 4 Hãy phân tích và thiết kế CSDL để tự động hoá việc tính toán tồn kho hàng tháng (xác định mục tiêu quản lý, BFD, ERD, DFD, ma trận thực thể - chức năng, sơ đồ mô hình dữ liệu), biết rằng: Công ty Biển Xanh làm đại lý chuyên bán các mặt hàng may mặc, mỗi lần nhập hàng và xuất hàng thì công ty đều lập các phiếu nhập và xuất có dạng sau:
  159. PHIẾU NHẬP PHIẾU XUẤT Số phiếu nhập Số phiếu xuất Ngày nhập Ngày xuất Tổng tiền Tổng tiền Chi tiết nhập Chi tiết xuất Tên ĐVT Số Đơn Thành Tên ĐVT Số Đơn Thành hàng lượng giá tiền hàng lượng giá tiền
  160. Bài 5 Hãy lựa chọn một bài toán quản lí trong thực tế: Khảo sát thu thập thông tin, phân tích và thiết kế CSDL, cài đặt chương trình để giải quyết bài toán này. Cùng tìm hiểu và phân tích một bài toán cụ thể. Lưu ý: Đây không phải là ví dụ mẫu mà chỉ là ví dụ được đưa ra để cùng phân tích. Yêu cầu: Sinh viên đọc kỹ và nêu ý kiến nhận xét? Bài toán Chương trình