Giáo trình Phân tích và thiết kế một hệ thống thông tin

doc 145 trang phuongnguyen 3210
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Phân tích và thiết kế một hệ thống thông tin", để 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:

  • docgiao_trinh_phan_tich_va_thiet_ke_mot_he_thong_thong_tin.doc

Nội dung text: Giáo trình Phân tích và thiết kế một hệ thống thông tin

  1. Giáo trình phân tích và thiết kế một hệ thống thông tin
  2. Lời nói đầu Trong thời kỳ của công nghệ thông tin hiện nay, máy tính đã tham gia hỗ trợ hầu hết các hoạt động của con người như nghiên cứu khoa học, kinh doanh, quản lý Để ứng dụng công nghệ thông tin cho việc xây dựng các hệ thống thông quản lý đòi hỏi phải có qui trình, phương pháp để áp dụng. Chính vì vậy một trong những yêu cầu quan trọng của những người làm tin học là phải có tri thức về phân tích thiết kế hệ thống mới có thể và phát triển được các ứng dụng tin học có tính khả thi. Giáo trình này đề cập đến việc phân tích và thiết kế một hệ thống thông tin, trong đó nhấn mạnh tới hệ thống thông tin quản lý. Cuốn sách được giảng dạy ở bậc Cao đẳng, Đại học chuyên ngành Công nghệ thông tin. Sinh viên đã học qua một số ngôn ngữ và phương pháp lập trình trước khi học môn học này. Hệ thống thông tin nào cũng có một vòng đời, từ lúc khai sinh đến khi lúc bị loại bỏ. Đó là một quá trình gồm một số giai đoạn nhất định. Các giai đoạn chính trong vòng đời của Hệ thống thông tin thường là: khảo sát nhu cầu, phân tích, thiết kế, cài đặt, khai thác và bảo dưỡng. Vì vậy vòng đời của Hệ thống thông tin thường được gọi là chu trình sống hay chu trình phát triển. Giáo trình này chọn phương pháp phân tích và thiết kế theo hướng cấu trúc, vì các lẽ sau: Phương pháp có cấu trúc trải qua thời gian đã chứng tỏ được tính kinh điển của nó. Học nó trước hết là học cách tư duy nhất quán và chặt chẽ của nó. Phương pháp có cấu trúc dung dị, không cầu kỳ, dễ áp dụng, nhưng lại rất hữu hiệu. Tác giả biên soạn giáo trình này với mục đích tóm lược những khái niệm cơ bản nhất trong lý thuyết, kỹ thuật áp dụng để xây dựng được một hệ thống thông tin quản lý
  3. cụ thể nhằm giúp sinh viên có thể nắm bắt được kiến thức của môn học. Trong cuốn giáo trình này ngoài việc trình bày những kiến thức cơ bản tác giả còn đưa ra ví dụ về phân tích một hệ thống thông tin cụ thể trong cuộc sống để người đọc dễ hiểu và biết cách vận dụng kiến thức vào thực tế. Nội dung giáo trình được chia thành 6 chương: Chương 1 – Đại cương về hệ thống thông tin: Giới thiệu các khái niệm cơ bản về hệ thống, hệ thống thông tin, các thành phần của hệ thống thông tin, các giai đoạn phân tích thiết kế hệ thống. Chương 2 – Khảo sát hiện trạng và xác lập dự án: Giới thiệu các bước và phương pháp thực hiện trong giai đoạn khảo sát hệ thống như: tìm hiểu hiện trạng, xác định mục tiêu, phạm vi, các giải pháp. Chương 3 – Phân tích hệ thống về chức năng: Giới thiệu các bước phân tích hệ thống về chức năng. Xây dựng mô hình phân rã chức năng. Chương 4 – Phân tích hệ thống về dữ liệu: Giới thiệu các bước phân tích hệ thống về dữ liệu. Giới thiệu các mô hình thực thể liên kết và cách chuyển đổi giữa các mô hình. Xây dựng mô hình quan hệ của hệ thống. Chương 5 – Thiết kế hệ thống: Giới thiệu cách thiết kế hệ thống nhằm chuyển các đặc tả logic của hệ thống thành các đặc tả vật lý của hệ thống. Chương 6 – Lập trình chạy thử và bảo trì: Giới thiệu các lựa chọn ngôn ngữ, hệ quản trị cơ sở dữ liệu để lập trình và viết các tài liệu cho hệ thống. Cuốn sách như đã giới thiệu ở trên, nhằm mục đích làm giáo trình tham khảo cho sinh viên ngành Công nghệ thông tin. Mọi ý kiến về giáo trình, xin được trao đổi với tác giả qua địa chỉ: Văn phòng khoa CNTT – Trường CĐ KTCN Việt Nam – Hàn Quốc. Rất mong nhận được ý kiến đóng góp của bạn đọc. Tác giả
  4. Chương 1 – ĐẠI CƯƠNG VỀ HỆ THỐNG THÔNG TIN Chương mở đầu sẽ trình bày một cách khái quát về khái niệm hệ thống, một số hệ thống (hệ thống kinh doanh/ dịch vụ, hệ thống tin học), rồi tiếp đó đề cập đến cấu trúc, vai trò của hệ thống thông tin, và cuối cùng là các giai đoạn phân tích và thiết kế hệ thống. BÀI 1. KHÁI NIỆM VỀ HỆ THỐNG THÔNG TIN 1.1. KHÁI NIỆM CHUNG VỀ HỆ THỐNG 1.1.1. Hệ thống Hê thống Là một tập hợp các phần tử có những mối quan hệ ràng buộc lẫn nhau cùng hoạt động hướng tới một số mục đích chung. Ta đề cập sâu thêm một số khái cạnh trong định nghĩa này a. Các phần tử của hệ thống Các phần tử nói ở đây là các thành phần hợp thành hệ thống: Các phần tử có thể rất đa dạng: chẳng hạn như trong hệ thống thần kinh thì các phần tử là bộ óc, tủy sống, các dây thần kinh, ; có thể các phần tử lại là những đối tượng trừu tượng, như là một phương pháp, một lập luận như trong các hệ thống tư tưởng. Như vậy các phần tử có thể là rất khác biệt về bản chất, không những giữa các hệ thống khác nhau, mà có thể ngay trong cùng một hệ thống. Các phần tử lại không nhất thiết là đơn giản, sơ đẳng, mà thường khi là những thực thể phức tạp, khiến khi đi sâu vào chúng, ta lại phải xem chúng là các hệ thống. Bởi thế, hệ thống thường có tính phân cấp: hệ thống hợp thành
  5. từ nhiều hệ thống con, và trong mỗi hệ thống con đó lại có các hệ thống con nhỏ hơn. b. Các quan hệ giữa các phần tử Các phần tử của một hệ thống không phải tập hợp lại một cách ngẫu nhiên, rời rạc, mà giữa chúng luôn tồn tại những quan hệ (hay các mối ràng buộc lẫn nhau), tạo thành một cấu trúc (hay một tổ chức). Chảng hạn: Trong một hệ thống hành chính, gồm các cán bộ và nhân viên, thì giữa họ tồn tại các mối ràng buộc về phân cấp, phân quyền, các quan hệ về đoàn thế, các quan hệ vê dân sự. Khi xem xét tính tổ chức của một hệ thống, người ta phải đề cập trước hết đến các quan hệ ổn định, lâu dài. Tuy nhiên nói đến ổn định, không nhất thiết phải hiểu là hoàn toàn bất biến, tĩnh tại. Trái lại phần lớn các hệ thống đáng quan tâm đều có tính biến động. Biến động song vẫn giữ sự ổn định trong tổ chức, trong các quan hệ giữa các phần tử, nghĩa là vẫn giữ cái bản chất, hay các đặc trưng cốt lõi của hệ thống. c. Sự hoạt động và mục đích của hệ thống Sự biến động của hệ thống thể hiện trên hai mặt: Sự tiến triển, tức là các thành phần của nó (các phần tử và các quan hệ) có thể có phát sinh, có tăng trưởng, có suy thoái, có mất đi. Sự hoạt động, tức là các phần tử của hệ thống, trong các mối ràng buộc đã định, cùng cộng tác với nhau để thực hiện một mục đích chung của hệ thống. Mục đích của hệ thống thường thể hiện ở chỗ hệ thống nhận những cái vào để chế biến thành những cái ra nhất định. Chẳng hạn: Một hệ thống thu hình, nhận vào năng lượng điện cùng các sóng vô tuyến từ đài phát, để biến thành các hình ảnh trên màn hính. Một hệ thống sản xuất nhận vào các nguyên vật liệu, tiền, dịch vụ để sản xuất ra các thành phần, hàng hóa. d. Môi trường bên ngoài Một câu hỏi đặt ra: hệ thống nhận cái vào từ đâu? và đưa cái ra ra đâu?. Đó chính là môi trường.
  6. Để phân biệt hệ thống và môi trường xung quanh, cần phải xác định giới hạn của hệ thống (cả về vật lý và khái niệm). Một trong những cách để xác định giới hạn hệ thống là mô tả hệ thống. Với các loại hệ thống khác nhau, cách mô tả hệ thống cũng rất phong phú và đa dạng Có thể mô tả hệ thống bằng các phương pháp định tính, thông qua mô tả tính chất, chức năng và nhiệm vụ của hệ thống. Có thể mô tả hệ thống bằng phương pháp định lượng, thông qua việc liệt kê danh sách tất cả các phần tử của hệ thống, mối quan hệ giữa các phần tử, cùng các điểm "nối" với môi trường bên ngoài. Việc xác định biên một cách chính xác và hợp lý là rất cần thiết, đặc biệt có ý nghĩa đối với giai đoạn khảo sát hệ thống. Cần lưu ý rằng, giới hạn của hệ thống phụ thuộc chặt chẽ vào mục tiêu của hệ thống đó. Ta có thể đưa ra khái niệm môi trường bên ngoài như sau: Môi trường bên ngoài là tập hợp các phần tử không phụ thuộc vào hệ thống nhưng có mối liên hệ với hệ thống hoặc chịu sự tác động của hệ thống hoặc là tác động lê hệ thống. Ví dụ: Khách hàng và Nhà cung cấp hàng là các phần tử thuộc môi trường bên ngoài đối với công ty X – nếu xem công ty này như một hệ thống. - Quan hệ giữa Khách hàng và công ty là mua hàng - Quan hệ Nhà cung cấp hàng với công ty X là cung cấp vật tư. Hệ thống kinh tế NHÀ CUNG CẤP Cung ứng vật tư CÔNG TY X Mua hàng KHÁCH HÀNG
  7. Hình 1 – 1: Ví dụ về một hệ thống. 1.1.2. Hệ thống kinh doanh/ dịch vụ a. Định nghĩa Là hệ thống mà mục đích là kinh doanh hay dịch vụ. - Kinh doanh là hoạt động của con người nhằm mang lại lợi nhuận (tức thu giá trị thặng dư). - Dịch vụ là hoạt động của con người nhằm mạng lại lợi ích (tức là cung cấp giá trị sử dụng ). Ví dụ các hoạt động giáo dục, y tế, từ thiện Hệ thống kinh doanh/ dịch vụ nói ở đây có thể ở những quy mô khác nhau. Quy mô nhỏ như một phân xưởng, một cửa hàng. Quy mô vừa như 1 nhà máy, một công ty, một bệnh viện. Quy mô lớn như một tổng công ty, một ngành sản xuất, một tập đoàn kinh doanh đa quốc gia. Để cho gọn, người ta thường gọi hệ thống kinh doanh/dịch vụ là doanh nghiệp hay cơ quan. Đặc điểm chung của hệ thống kinh doanh/dịch vụ so với hệ thống khác( như hệ thống vật lý, hệ thống kỹ thuật hay hệ thống sinh học) là : chúng là của con người và có con người tham gia. Đặc điểm chung nói ở trên dẫn tới hai nét nổi bật của các hệ thống kinh doanh/dịch vụ: o Vai trò của cơ chế điều khiển (Trong kinh doanh thường gọi là sự quản lý) là rất quan trọng, nhằm giữ cho hệ thống hướng đúng đích và đạt kết quả với chất lượng cao. o Vai trò của thông tin cũng rất quan trọng, nhằm phục vụ cho nhu cầu giao tiếp, trao đổi giữa con người với nhau. b. Các hệ thống con trong hệ thống kinh doanh/ dịch vụ Bởi sự tồn tại của nhiệm vụ quản lý bên cạnh nhiệm vụ sản xuất như đã nói ở trên, cho nên các hệ thống kinh doanh/dịch vụ luôn bao gồm 2 hệ thống con:  Hệ thống tác nghiệp, gồm con người, phương tiện, phương pháp trực tiếp tham gia vào quá trình biến đổi luồng những cái đi vào thành luồng những cái đi ra (thể hiện mục đích kinh doanh hay dịch vụ) của hệ thống.
  8.  Hệ thống quản lý, gồm con người, phương tiện, phương pháp cho phép điều khiển, kiểm soát hoạt động tavs nghiệp hướng đúng vào mục đích kinh doanh hay dịch vụ. Về mặt hình thức hoạt động quản lý luôn luôn là một dãy nối tiếp của hai việc: o Đề xuất một quyết định kinh doanh. o Thực thi quyết định kinh doanh. Ta hiểu quyết định là một sự lựa chọn một trong những phương pháp hành động có thể để giải quyết một vấn đề nào đó. Mọi quyết định đều được đề xuất qua hai bước: o Tìm hiểu vấn đề o Lựa chọn phương pháp Như vậy, trước khi ra quyết định cần phải thu thập thông tin liên quan. Thông thường thì các thông tin có ích cho quyết định phải được kết xuất từ nhiều nguồn thông tin phức tạp, thông qua các quá trình thu gom, lưu trữ, xử lý. Sau khi ra quyết định, quyết định phải được truyền đạt đến nơi thực hiện, cùng với những thông tin cần thiết cho việc thực thi quyết định đó. Nói thế có nghĩa là, trong quản lý, bên cạnh nhiệm vụ đề xuất các quyết định kinh doanh, luôn có nhiệm vụ xử lý thông tin. Vì vậy hệ thống (con) quản lý trong hệ thống kinh doanh/dịch vụ lại có thể tách thành hai hệ thống con:  Hệ quyết định, gồm con người, phương tiện, phương pháp thực hiện việc đề xuất các quyết định kinh doanh.  Hệ thông tin, gồm con người, phương tiện, phương pháp tham gia vào việc xử lý các thông tin kinh doanh. Tóm lại, hệ thống kinh doanh/dịch vụ chứa ba hệ thống con: Hệ tác nghiệp, Hệ quyết định, và Hệ thông tin, mà mối liên quan về thông tin giữa chúng được diễn tả như trong hình sau, ở đó thấy rõ vai trò trung gian của hệ thống thông tin trong doanh nghiệp. Hệ quyết định Hệ Thông tin vào thông Thông tin ra tin Báo cáo sản xuất Chỉ đạo sản xuất
  9. Nguyên vật liệu Hệ tác nghiệp Sản phẩm/dịch vụ MÔI TRƯỜNG Hình 1 – 2: Các phân hệ của hệ thống kinh doanh/ dịch vụ Chú ý rằng việc phân chia hệ thống kinh doanh/dịch vụ thành ban hệ thống con như trên chỉ có ý nghĩa phương pháp luận, nhằm cho ta một cách nhìn, một cách nghiên cứu đối với hệ thống, chứ không phải là một sự phân chia về tổ chức. Tuy nhiên, nhìn một cách khái quát vào một doanh nghiệp, ta luôn thấy: o Những người mà nhiệm vụ chính là đề xuất các quyết định (cán bộ lãnh đạo các cấp) o Những người mà nhiệm vụ chính là xử lý thông tin (Nhân viên các phòng ban) o Những người mà nhiệm vụ chính là trực tiếp sản xuất hay dịch vụ (công nhân, kỹ sư, bác sĩ, giáo viên, ) Vì thế mà cách tiếp cận hệ thống như trên vẫn là có ích 1.2. VAI TRÒ VÀ NHIỆM VỤ CỦA HỆ THỐNG THÔNG TIN a. Định nghĩa Hệ thống thông tin (Information System) là một hệ thống mà mục tiêu tồn tại của nó là cung cấp thông tin phục vụ cho hoạt động của con người trong tổ chức nào đó. Ta còn có thể hiểu Hệ thống thông tin là hệ thống mà mối liên hệ giữa các thành phần của nó cũng như mối liên hệ giữa nó với các hệ thống khác là sự trao đổi thông tin. Ví dụ: Hệ thống quản lý nhân sự, hệ thống quản lý điểm, b. Vai trò của hệ thống thông tin Hệ thống thông tin đóng vai trò trung gian giữa hệ quyết định và hệ tác nghiệp trong hệ thống quản lý. Trao đổi thông tin với môi trường ngoài.
  10. Thực hiện việc liên lạc giữa các bộ phận và cung cấp thông tin cho các hệ quyết định và hệ tác nghiệp. c. Nhiệm vụ của hệ thống thông tin Hệ thống thông tin có bốn nhiệm vụ chính là nhận thông tin vào, lưu trữ, xử lý, và đưa ra thông tin. o Nhận thông tin vào dưới dạng các dữ liệu gốc về một chủ điểm, một sự kiện hoặc một đối tượng nào đó trong hệ thống, các yêu cầu xử lý hoặc cung cấp thông tin, các lệnh o Xử lý dữ liệu bao gồm sắp xếp, sửa chữa, thay đổi dữ liệu trong bộ nhớ, thực hiện các tính toán tạo ra thông tin mới, thống kê, tìm kiếm các thông tin thỏa mãn một điều kiện nào đó. o Lưu trữ các loại thông tin khác nhau có cấu trúc đa dạng, phục vụ nhu cầu xử lý khác nhau. o Đưa ra thông tin: có thể đưa dữ liệu với các khuôn dạng khác nhau ra các thiết bị như bộ nhớ ngoài, màn hình, máy in, thiết bị mạng hoặc các thiết bị điều khiển. 1.3. CẤU TRÚC HỆ THỐNG THÔNG TIN , CÁC DỮ LIỆU VÀ CÁC XỬ LÝ Nếu không kể con người và thiết bị, Hệ thống thông tin trong doanh nghiệp có hai thành phần cơ bản: o Các dữ liệu ghi nhận thực trạng của doanh nghiệp. o Các quy trình xử lý cho phép biến đổi các dữ liệu  Các dữ liệu: Đó là các thông tin được lưu và duy trì nhằm phản ánh thực trạng hiện thời hay quá khứ cảu doanh nghiệp. Có thể tách dữ liệu thành hai phần o Các dữ liệu phản ánh cấu trúc nội bộ của cơ quan, như dữ liệu về nhân sự, nhà xưởng, thiết bị Cấu trúc cơ quan không phải là cố định, mà có thể biến động khi có một sự kiện tiến hóa xảy ra. Sự kiện tiến hóa thường xảy ra bất ngờ, ngoài ý muốn của con người. Sự điều chỉnh lại các dữ liệu cho thích hợp khi có sự kiện tiến hóa xảy ra gọi là sự cập nhật o Các dữ liệu phản ánh các hoạt động kinh doanh/ dịch vụ của cơ quan, như dữ liệu về sản xuất, mua bán, giao dịch Hoạt động kinh doanh/dịch vụ nhằm biến đổi luồng vào/ra của doanh nghiệp có thể xem là sự tiếp nối của hàng loạt các sự việc
  11. sơ đẳng, gọi là các sự kiện hoạt động. Khi có một sự kiện hoạt động xảy ra thì phải ghi nhận nó, và như vậy làm thay đổi các dữ liệu phản ánh các hoạt động kinh doanh/dịch vụ của doanh nghiệp  Các xử lý: Đó là quá trình biến đổi thông tin, nhằm vào hai mục đích chính o Sản sinh các thông tin theo thể thức quy định, chẳng hạn các chứng từ giao dịch (đơn mua hàng, hóa đơn., ), các báo cáo, các bản thống kê, o Trợ giúp cho các quyết định, thông thường là cung cấp những thông tin cần thiết cho việc chọn lựa một quyết định của lãnh đạo, nhưng cũng có thể là thực hiện một sự chọn lựa quyết định (một cách tự động),nếu đó là loại quyết định dựa trên giải thuật (khác với loại quyết định dựa trên trực quan) Mỗi xử lý thường là một sự áp dụng một quy tắc quản lý định sẵn và diễn ra theo một trật tự định sẵn(gọi là thủ tục). Các quy tắc quản lý và các thủ tục có thể được ấn định bởi hệ thống quyết định của doanh nghiệp, và như vậy chúng có thể bị điều chỉnh theo ý muốn. Ngoài ra có những qui tắc quản lý như vậy doanh nghiệp không được tùy tiện thay đổi. Đầu vào của một xử lý có thể là các thông tin phản ánh cấu trúc doanh nghiệp và/hoặc các thông tin phản ánh hoạt động của doanh nghiệp. Đầu ra có thể là: o Các kết quả chuyển trực tiếp cho các cá nhân hay tổ chức ngoài doanh nghiệp. Gọi đó là các kết quả ngoài. o Các kết quả được lưu giữ trở lại vào trong hệ thống để sau này dùng là đầu vào cho các xử lý khác. Gọi đó là các kết quả trong. Có thể hình dung các thành phần cơ bản của hệ thống thông tin, với các mối liên quan về dữ liệu giữa chúng như sau: Các sự kiện tiến hóa (Cập nhật) Dữ liệu Về cấu trúc cơ quan Kết quả ngoài Xử lý Dữ Các tham số liệu - Các qui tắc quản lý vào - Các thủ tục Kết quả trong Dữ liệu Về hoạt động kinh doanh/dịch vụ (Thu thập) Các sự kiện hoạt động
  12. Hình 1 – 3: Lược đồ về các thành phần của hệ thống thông tin. 1.4. PHÂN LOẠI HỆ THỐNG THÔNG TIN Có nhiều cách phân loại hệ thống thông tin như phân loại theo chức năng, phân loại theo đặc tính kỹ thuật, ở đây ra quan tâm đến phân loại theo chức năng sẽ có một số loại như sau: Hệ thống xử lý giao dịch, hệ thống thông tin quản lý, hệ trợ giúp quyết định, hệ chuyên gia, hệ tự động hóa văn phòng. a. Hệ xử lý giao dịch Mục tiêu là xử lý các giao dịch và ghi lại các thông tin về giao dịch dưới dạng các bản ghi trong hệ thống. b. Hệ thống thông tin quản lý Là hệ thống nhằm cung cấp các thông tin cần thiết cho sự quản lý, điều hành của một doanh nghiệp hay một tổ chức. Hạt nhân của hệ thống thông tin quản lý là một cơ sở dữ liệu chứa các thông tin phản ánh tình trạng hiện thời và hoạt động kinh doanh hiện thời của doanh nghiệp. Người ta có thể đưa ra định nghĩa chính xác về hệ thống thông tin quản lý. Định nghĩa 1. Hệ thống thông tin quản lý là sự phát triển và sử dụng hệ thống thông tin có hiệu quả trong 1 tổ chức (Keen, Peter G.W – một trong số những người đứng đầu trong lĩnh vực này). Một hệ thống thông tin đượ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 người hay tổ chức sử dụng nó. Đối tượng phục vụ của hệ thống thông tin quản lý không chỉ là các nhà quản lý mà còn là những người trong một tổ chức, hay rộng hơn là những người thực hiện công tác phân tích vag thiết kế hệ thống thông tin.
  13. Định nghĩa 2. Hệ thống thông tin quản lý là một tập hợp các phương tiện nhân lực, vật lực, thông tin và phương pháp xử lý thông tin nhằm cung cấp các thông tin cho quá trình ra quyết định đúng thời hạn và đủ độ tin cậy. Các phương tiện kể trên được xem là tài nguyên của hệ thống thông tin. Như vậy 5 yếu tố cấu thành của hệ thống thông tin quản lý xét ở trạng thái tĩnh là: thiết bị tin học, các chương trình, dữ liệu, thủ tục- quy trình và con người. c. Hệ hỗ trợ quyết định Là hệ thống xử lý và đưa ra các thông tin nhằm mục tiêu hỗ trợ các nhà quản lý trong quá trình đưa ra quyết định. Trong một số trường hợp bản thân người quản lý phải dựa vào kinh nghiệm của mình để đưa ra quyết định. d. Hệ chuyên gia Được xây dựng dựa trên những kết quả nghiên cứu về trí tuệ nhân tạo, nhằm trang bị cho máy tính khả năng lập luận, tự học, tự hoàn thiện chính nó và phỏng theo các giác quan cảu con người. Là một hệ thống thông tin tương tác dựa trên máy tính và hệ thống cơ sở dữ liệu và tri thức của con người, tạo ra các đối thoại giữa người và máy tính để làm sáng tỏ vấn đề. e. Các hệ thống tự động hóa văn phòng Tự động hóa văn phòng là cách tiếp cận nhằm đưa máy tính vào hoạt động văn phòng, cho phép thâu tóm mọi việc tính toán, giao lưu, quản lý thông tin tất cả vào trong các cửa sổ trên màn hình máy tính, có ngay trên bàn làm việc của nhân viên. Một hệ thống tự động hóa văn phòng phải cung cấp ít nhất một số trong các chức năng cơ bản sau: - Thư tín điện tử: Nhập các thông điệp văn bản gửi tới cá nhân hay nhóm - Lịch biểu, bố trí thời gian, nhắc việc - Các phương tiện tính toán đơn giản - Xử lý văn bản BÀI 2. CÁC GIAI ĐOẠN XÂY DỰNG HỆ THỐNG THÔNG TIN Hiện nay trong hầu hết các hệ thống kinh doanh/dịch vụ, các nhà quản lý đều muốn máy tính tham gia vào hệ thống ở mức cao. Điều này đòi hỏi cần có một chương
  14. trình, một phần mềm chuyên dụng để giải quyết vấn đề cho từng bài toán cụ thể. Ví dụ: Quản lý nhân sự, quản lý thư viện, quản lý điểm Để xây dựng được những phần mềm như vậy, đòi hỏi nhóm phát triển phần mềm không chỉ biết tốt về tin học mà còn phải hiểu rõ các qui trình nghiệp vụ của hệ thống. Cần phải xây dựng sao cho phần mềm đưa vào sử dụng phải đáp ứng được các yêu cầu của người dùng. Vì vậy phải có một qui trình chuẩn và hợp lý để xây dựng hệ thống thông tin. Việc xây dựng hệ thống thông tin được chia thành nhiều giai đoạn. Tuy thuộc vào phương pháp luận và qui định về phương thức làm việc của đơn vị, quá trình này có thể được chia thành các bước như sau: Khảo sát hiện trạng và xác lập dự án, Phân tích hệ thống, Thiết kế hệ thống, Xây dựng hệ thống, Vận hành và bảo trì hệ thống. 1.1. KHẢO SÁT HIỆN TRẠNG VÀ XÁC LẬP DỰ ÁN Là giai đoạn tìm hiểu qui trình hoạt động của hệ thống thực, các nhu cầu thông tin chính làm cơ sở xác định các yêu cầu và phạm vị của hệ thống thông tin. Kết quả là hồ sơ khảo sát chiếm khoảng 10 – 15% công sức. Việc khảo sát thường được tiến hành qua các giai đoạn o Khảo sát sơ bộ: nhằm xác định tính khả thi của dự án. o Khảo sát chi tiết: nhằm xác định chính xác những gì sẽ thực hiện và khẳng định những kết quả thu được. o Báo cáo: lập hồ sơ khảo sát Ở giai đoạn khảo sát cần xác định rõ: o Những nhu cầu, vấn đề quan tâm, để có giới hạn chính xác của công việc(phạm vi của dự án: những gì phải làm được, chưa làm được, và vượt ra ngoài phạm vi của vấn đề). o Xác định cụ thể đối tượng sử dụng dù học có thể sẽ bị biến động cả về số lượng và loại công việc. Tóm lại, giai đoạn này nội dung chủ yếu nặng về mặt tổ chức và quản lý, là giai đoạn tiếp xúc ban đầu để có thể đi đến một cam kết (có thể là một hợp đồng trách nhiệm, hoặc là một hợp đồng kinh tế kỹ thuật) giữa chủ đầu tư và ekip xây dựng hệ thống thông tin. 1.2. PHÂN TÍCH HỆ THỐNG
  15. Là giai đoạn xác định rõ các mục tiêu quản lý chính cần đạt được của hệ thống, nêu được các yếu tố quan trọng và đảm bảo đạt được các mục tiêu của hệ thống. Dựa trên các mục tiêu đó xác định được các mô hình chức năng và mô hình dữ liệu Kết quả là hồ sơ phân tích chiếm 15 – 25% công sức. Mục tiêu chính: biến đổi phần đầu vào thành các đặc tả có cấu trúc. Đây là quá trình mô hình hóa hệ thống với các sơ đồ chức năng, luồng dữ liệu, thực thể liên kết. Giai đoạn này thực hiện 2 công việc tương đối độc lập - Phân tích dữ liệu. - Phân tích chức năng. Phân tích chức năng. Xác định rõ các công việc cần giải quyết để đạt được mục tiêu quản lý của hệ thống. Phân rã các công việc đó ra thành các công việc nhỏ hơn sao cho việc thực hiện các công việc nhỏ đảm bảo thực hiện được công việc lớn hơn. Các chức năng đưa ra trong giai đoạn phân tích phải phản ánh được nghiệp vụ của hệ thống. Việc phân tích chức năng phải đưa ra được đầy đủ các thông tin sau: Tên chức năng, mô tả có tính tường thuật, đầu vào của chức năng, đầu ra của chức năng, cac sự kiện gây ra sự thay đổi, việc xác định và hiệu quả của chúng. Phân tích dữ liệu. Phân tích có cấu trúc thông tin nằm trong hệ thống hiện tại nhằm làm rõ các thành phần thông tin và các mối quan hệ giữa các thành phần đó. Xây dựng CSDL thống nhất cho toàn bộ hệ thống sử dụng. Sau giai đoạn này sẽ hình thành một báo cáo gồm những nội dung sau: - Phân tích chi tiết những tồn tại của hệ thống hiện hành. - Xác định các mục tiêu cần đạt được nhờ những giải pháp nêu ra. - Các giải pháp khác nhau. - Một nghiên cứu khả thi tương ứng với mỗi giải pháp đưa ra. - Những yêu cầu đặtt ra cho hệ thống thông tin mới 1.3. THIẾT KẾ HỆ THỐNG Thiết kế hệ thống sẽ cho một phương án tổng thể hay một mô hình đầy đủ của hệ thống thông tin. Nó bao gồm tất cả các đặc tả về hình thức và cấu trúc của hệ thống, môi trường mà trong đó hệ thống hoạt động.
  16. Kết quả là hồ sơ thiết kế chiếm 15 – 25 % công sức Bản thiết kế chia thành hai phần: đặc tả thiết kế logic và đặc tả thiết kế vật lý. Thiết kế logic. Bao gồm các thành phần của hệ thống và liên kết giữa chúng với nhau đúng như là chúng sẽ hiện ra trước mắt người sử dụng. Bao gồm các thiết kế về: - Thiết kế cơ sở dữ liệu - Thiết kế chức năng (các xử lý) - Thiết kế giao diện, các báo cáo, hệ thống thực đơn theo yêu cầu sử dụng. - Thiết kế an toàn cho hệ thống đảm bảo độ tin cậy của hệ thống. Thiết kế logic không gắn với vật thể vật lý và hình thức tổ chức quản lý. Thiết kế vật lý. Là quá trình chuyển mô hình logic trừu tượng thành thiết kế kỹ thuật của hệ thống: hệ thống các thiết bị và các chức năng của người và máy tính trên hệ thống đó. - Nó tạo ra các đặc tả cụ thể về chức năng - Thiết bị phần cứng, phần mềm, cơ sở dữ liệu - Phương tiện vào ra thông tin - Các thủ tục xử lý bằng tay Các kiểm tra đặc biệt và sự sắp đặt các thành phần vật lý trên không gian thời gian. 1.4. XÂY DỰNG HỆ THỐNG Là giai đoạn lập trình trên cơ sở phân tích, thiết kế ở các giai đoạn trước. Kết quả là chương trình. Giai đoạn này chiếm khoảng 35 – 60% công sức. Giai đoạn này gồm các công việc: lựa chọn phần mềm hạ tầng: hệ điều hành, hệ quản trị CSDL, ngôn ngữ sử dụng, chọn các phần mềm đóng gói, xây dựng phần chương trình còn lại. Việc xây dựng phàn chương trình còn lại bao gồm: - Thi công: tích hợp, mã hóa các modun chương trình, viết câu lệnh sản sinh CSDL, thực hiện các câu lệnh trên hệ quản trị CSDL lựa chọn. - Tạo các CSDL kiểm tra
  17. - Kiểm thử chương trình 1.5. VẬN HÀNH VÀ BẢO TRÌ HỆ THỐNG a. Kiểm nghiệm Là quá trình chạy thử toàn bộ các chương trình được sử dụng và xây dựng với những dữ liệu giả để xác định xem hệ thống có tạo ra các kết quả mong muốn trong những điều kiện xác định hay không? Việc kiểm nghiệm bao gồm kiểm nghiệm các modun chức năng, sự hoạt động của hệ thống và nghiệm thu cuối cùng b. Chuyển đổi hệ thống Là quá trình chuyển đổi toàn bộ hoạt động của tổ chức trong hệ thống cũ sang hoạt động với hệ thống mới bao gồm các công việc: chuyển đổi dữ liệu, đào tạo và sắp xếp đội ngũ cán bộ là việc trên hệ thống mới, tài liệu chi tiết thuyết minh về sự làm việc của hệ thống cả về mặt kỹ thuật và hướng dẫn sử dụng. Kết quả chuyển đổi hệ thống phải trả lời được câu hỏi: Hệ thống được xây dựng làm việc trong điều kiện thực như thế nào c. Vận hành và bảo trì hệ thống Sau khi hệ thống được lắp đặt và chuyển đổi toàn bộ, giai đoạn vận hành bắt đầu. Trong thời gian này, người sử dụng và các chuyên viên kỹ thuật vận hành cần đánh giá xem hệ thống đáp ứng các mục tiêu đặt ra ban đâu như thế nào, đề xuất sửa đổi, cải tiến. Bảo trì hệ thống được tính từ khi hệ thống được chính thức đưa vào sử dụng. Việc bảo trì bao gồm các công việc: theo dõi việc sử dụng hệ thống, nhận các thông báo lỗi, sửa đổi nâng cấp phiên bản, trợ giúp sửa đổi những sai xót dữ liệu.
  18. Chương 2 – KHẢO SÁT HIỆN TRẠNG VÀ XÁC LẬP DỰ ÁN Đây là bước mở đầu của quá trình phát triển hệ thống, còn gọi là bước phát biểu bài toán, đặt vấn đề, hay nghiên cứu sơ bộ. Để sáng tạo ra một hệ thống mới, người phát triển hệ thống trước hết phải làm quen và thâm nhập vào chuyên môn nghiệp vụ mà hệ thống đó phải đáp ứng, tìm hiểu các nhu cầu đặt ra đối với hệ thống đó, tập hợp các thông tin cần thiết cho phép giải đáp một số câu hỏi cơ bản như: Môi trường, hoàn cảnh, các ràng buộc và hạn chế đối với hệ thống đó như thế nào? Chức năng, nhiệm vụ và mục tiêu cần đạt được của hệ thống đó là gì, tức là người dùng thực sự muốn gì ở hệ thống? Có thể hình dung sơ bộ một giải pháp có thể đáp ứng được các yêu cầu đặt ra như thế nào? Tóm lại, thì một dự án triển khai một hệ thống mới là có thực sự cần thiết và khả thi không? Kế hoạch và tiến độ triển khai dự án đó ra sao? Chương này sẽ lần lượt xét những công việc chính phải làm trong giai đoạn bước đầu này, một giai đoạn được gọi là nghiên cứu sơ bộ, song chẳng phải là tốn ít công sức cho nó. BÀI 1. KHẢO SÁT VÀ ĐÁNH GIÁ HIỆN TRẠNG 2.1. MỤC ĐÍCH , YÊU CẦU KHẢO SÁT HIỆN TRẠNG a. Mục đích Thông thường một hệ thống mới được xây dựng là nhằm để thay thế một hệ thống cũ đã bộc lộ nhiều điều bất cập. Chính vì vậy việc tìm hiểu nhu cầu đối với hệ thống mới thường bắt đầu từ việc khảo sát và đánh giá hệ thống cũ đó. Và vì hệ thống này đang tồn tại nên ta gọi đó là hiện trạng. Việc khảo sát hiện trạng nhằm để: o Tiếp cận với nghiệp vụ chuyên môn, môi trường hoạt động của hệ thống o Tìm hiểu các chức năng, nhiệm vụ và cung cách hoạt động của hệ thống.
  19. o Chỉ ra các chỗ hợp lý của hệ thống, cần được thừa kế và những chỗ bất hợp lý của hệ thống, cần được nghiên cứu khắc phục b. Yêu cầu Việc khảo sát phải đạt các yêu cầu sau: - Trung thực, khách quan, phản ánh đúng tình hình thực tại. - Không được bỏ sót thông tin. - Các thông tin thu thập phải được đo đếm: số lượng, tần suất, độ chính xác, thời gian sống, - Thông tin không trùng lặp, nghĩa là phải tiến hành trong một trật tự, sao cho mỗi người được điều tra không bị nhiều người điều tra hỏi đi hỏi lại về một việc. - Không gây cảm giác xấu hay phản ứng tiêu cực ở người bị điều tra: phải luôn cởi mở, tế nhị, tuyệt đối không can thiệp vào công việc nội bộ cơ quan, hay làm tăng thêm các mâu thuẫn trong cơ quan - Xác định các vấn đề giải quyết trong tổ chức và phạm vi giải quyết của từng vấn đề: Nghiên cứu cơ cấu tổ chức của hệ thống thực, nghiên cứu chức năng, nhiệm vụ của từng bộ phận, và sự phân cấp quyền hạn trong thế giới thực; thu thập và nghiên cứu các hồ sơ, tài liệu, các chứng từ giao dịch và các phương tiện xử lý thông tin; thu thập và mô tả các qui tắc quản lý, các quy trình xử lý các thông tin trong hệ thống; thu thập các nhu cầu xử lý và sử dụng thông tin; đánh giá, phê phán hiện trạng và đề xuất các giải pháp. - Xác định nhóm người dùng: Xác định các nhóm cán bộ trong tổ chức mà công việc của họ có mối liên hệ mật thiết với các hoạt động của hệ thống thông tin. Việc xác định các nhóm người dùng nhằm làm rõ những nguồn thông tin mà họ có thể cung cấp cũng như yêu cầu của họ đối với hệ thống thông tin mới cần xây dựng. - Viết báo cáo tổng hợp: Dựa trên những kết quả của khảo sát hiện trạng để có những thông tin tổng quát về hệ thống nhằm giúp cho việc đưa ra những quyết định cho những giai đoạn tiếp theo. 2.2. KHẢO SÁT HIỆN TRẠNG
  20. Việc quan sát và đánh giá hệ thống theo cách nhìn của nhà tin học. Điều đó có nghĩa là xác định các lĩnh vực nào, công việc nào nên tin học hóa, lĩnh vực nào tin học hóa không có tác dụng hay không có tính khả thi. Việc quan sát chia làm bốn mức khác nhau: Mức thao tác thừa hành, mức điều phối quản lý, mức quyết định lãnh đạo, mức chuyên gia cố vấn. Các hình thức tiến hành: Có 4 phương pháp là nghiên cứu tài liệu, quan sát, phỏng vấn, và điều tra thăm dò a. Nghiên cứu tài liệu viết Đây là sự quan sát gián tiếp, bởi vì đây cũng là sự khảo sát bằng mắt, nhưng không phải ở hiện trường, mà trên các tài liệu viết. Thông qua việc nghiên cứu các loại chứng từ giao dịch như hóa đơn, phiếu thanh toán, hoặc các loại sổ sách, các tệp máy tính, các tài liệu tổng hợp như kế hoạch, thống kê, biên bản, nghị quyết, ta có thể thu thập được nhiều loại thông tin, từ các hoạt động chung của cơ quan, đến các dữ liệu cơ bản, các dữ liệu cấu trúc. Nghiên cứu tài liệu thường kết hợp với phỏng vấn ở mức thấp (thao tác, thừa hành), để chi tiết hóa mô hình của hệ thống. b. Quan sát Có hai cách Quan sát trực tiếp: quan sát bằng mắt, tại chỗ, tỉ mỉ từng chi tiết công việc của hệ thống cũ, của các nhân viên thừa hành. Quan sát gián tiếp: quan sát từ xa, hay qua phương tiện tổng thế của hệ thống để có được bức tranh khái quát về tổ chức và cách thức hoạt động trong tổ chức đó. Phương pháp này cho phép ta thấy được cách thức quản lý của các hoạt động của tổ chức cần tìm hiểu. Ưu điểm. Dễ thực hiện đối với người quan sát và theo dõi trực tiếp hoạt động của hệ thống trong thực tế. Nhược điểm. Kết quả mang tính chủ quan. Đòi hỏi người quan sát phải có khả năng nhìn nhận khi quan sát một sự việc, nếu không dễ bị nhầm lẫn. Tâm lý của người bị quan sát sẽ có những phản ứng nhất định. Họ có thể thay đổi cách hành động khi bị quan
  21. sát. Sự bị động của người quan sát nên gây tốn kém thời gian. Thông tin chỉ mang tính bề ngoài, hạn chế và không đầy đủ. c. Phỏng vấn Đó là cách làm việc tay đôi hoặc theo nhóm, trong đó người điều tra đưa ra các câu hỏi và chắt lọc lấy các thông tin cần thiết qua các câu hỏi của những người được điều tra. Đây là phương pháp cơ bản cho mọi cuộc điều tra. Phương pháp này cho phép ta nắm được nguồn thông tin chính yếu nhất về một hệ thống cần phát triển trong tương lai và hệ thống hiện tại. Ưu điểm. Thông tin thu thập được trực tiếp nên có độ chính xác cao. Biết được khá đầy đủ các yêu cầu của người sử dụng đối với hệ thống mới. Nếu có nhiều dự án xây dựng hệ thống thông tin khác nhau đối với cùng một tổ chức, qua việc phỏng vấn lãnh đạo có thể xác định được quan hệ giữa các dự án này để có tận dụng các thành quả đã có hay đảm bảo sự nhất quán cũng như tạo được sự giao tiếp giữa các hệ đó. Nhược điểm. Kết quả thu được phụ thuộc nhiều vào các yếu tố khách quan như sự thân thiện giữa người phỏng vấn và người được phỏng vấn, các yếu tố ngoại cảnh, các yếu tố tình cảm. Nếu không được chuẩn bị tốt dễ dẫn đến thất bại. Dễ có sự bất đồng về ngôn ngữ cũng như khái niệm được đề cập. d. Điều tra thăm dò Phương pháp này được thực hiện để nắm những thông tin có tính vĩ mô. Phương pháp này thích hợp với việc điều tra tần suất trong nghiên cứu khả thi. Phương pháp này sử dụng phiếu thăm dò. Ưu điểm. Bổ sung cho hai phương pháp trên để khẳng định kết quả khảo sát. Là một phương pháp hiệu quả điều tra tần suất trong nghiên cứu khả thi. Ít tốn kém. Nhược điểm. Việc xây dựng bản hỏi để có thể đáp ứng được nhu cầu thể hiện được các thông tin cần biết là khó khăn. 2.3. PHÂN LOẠI CÁC THÔNG TIN THU THẬP ĐƯỢC Các thông tin thu thập được được phân loại theo tiêu chuẩn: o Hiện tại/tương lai o Tĩnh/động/biến đổi o Nội bộ/môi trường
  22. - Cơ cấu tổ chức, các phòng ban, chức vụ - Các thông tin có cấu trúc(sổ sách, hồ sơ, tệp ) Tĩnh - Các thông tin sơ đẳng Nội - Trong không gian: đường di chuyển các tài liệu bộ Động - Trong thời gian: thời gian xử lý, thời hạn chuyển giao thông Hiện hệ tin tại thống - Các qui tắc quản lý, các tiêu chuẩn cho xử lý Biến - Các công thức tính toán đổi - Các điều kiện để khởi động Thông tin đã thu thập Thông tin - Các quy trình, xử lý thuật toán Môi trường, hoàn cảnh - Được phát biểu: lời chỉ trích, dự kiến, kế hoạch, Tương - Có ý thức rõ rệt nhưng không phát biểu lai - Vô ý thức, phải dự đoán Hình 2 – 1: Sắp xếp các thông tin điều tra 2.4. PHÁT HIỆN CÁC YẾU KÉM CỦA HIỆN TRẠNG VÀ YÊU CẦU CHO TƯƠNG LAI a. Phát hiện các yếu kém của hiện trạng - Hiệu quả thấp: hiệu quả công việc ở một số bộ phận hay toàn bộ hệ thống không đáp ứng được yêu cầu cần phát triển của doanh nghiệp. - Sự thiếu vắng: chức năng xử lý, cơ cấu tổ chức hợp lý, phương pháp làm việc hiệu quả. - Tổn phí cao: do hiệu quả làm việc thấp, do cơ cấu tổ chức bất hợp lý, do tốc độ cạnh tranh cao dẫn đến các chi phí cao không thể bù đắp được. b. Yêu cầu cho tương lai - Trên cơ sở xác định rõ các nguyên nhân yếu kém, đề ra các biện pháp khắc phục các yếu kém đó (những nhu cầu về thông tin chưa được đáp ứng, các nguyện vọng của nhân viên, dự kiến kế hoạch của lao động . )
  23. - Nói chung không thể khắc phục ngay mọi yếu kém của hệ thống trong một lần. Cần xác định một chiến lược phát triển lâu dài gồm nhiều bước dựa trên hai nguyên tắc: thay đổi hệ thống một cách dần dần, các bước đi đầu phải là nền tảng vững chắc cho các bước đi sau. BÀI 2. XÁC ĐỊNH MỤC TIÊU, PHẠM VI, KHẢ NĂNG CỦA DỰ ÁN Sau khi thấy rõ các yếu kém của hiện trạng và các yêu cầu phát triển trong tương lai, thì việc xây dựng hệ thống mới thay thế cho hệ thống cũ được bàn bạc để thống nhất. Từ đó cần xác lập và khởi đầu một dự án xây dựng hệ thống mới. Cần thực hiện các công việc sau đây: - Xác định phạm vi, hạn chế cho dự án. - Xác định mục tiêu, ưu tiên cho dự án. - Đưa ra một só giải pháp thô và phân tích tính khả thi cửa chúng để chọn một giải pháp. - Lập kế hoạch triển khai dự án. 2.1. PHẠM VI Trước hết cần có sự thỏa thuận minh bạch giữa cơ quan chủ quản và người phát triển hệ thống để thống nhất về phạm vi, ranh giới, mục tiêu trước mắt và lâu dài trong việc phát triển hệ thống. Căn cứ vào kết quả khảo sát, đánh giá hệ thống cũ và các phương hướng phát triển đã đề ra, nhà phân tích và nhà quản lý cần xác định rõ mục tiêu chung cần đạt được, từ đó đi đến thống nhất phạm vi của hệ thống tương lai. Khoanh vùng dự án cụ thể thực hiện theo các phương pháp: Khoanh vùng hẹp đi sâu giải quyết vấn đề theo chiều sâu hoặc Giải quyết tổng thể toàn bộ vấn đề theo chiều rộng. Phạm vi của dự án liên quan đến các mặt sau + Xác định các lĩnh vực của dự án : Mỗi lĩnh vực là một bộ phận tương đối độc lập của hệ thống. Ví dụ :Bán hàng, mua hàng + Xác định các chức năng: Xác định rõ các nhiệm vụ cho trên từng lĩnh vực của dự án.
  24. Ví dụ : Trong bán hàng : tăng cường tiếp thị, cải tiến cơ cấu bán hàng. 2.2. MỤC TIÊU Thông thường một hệ thống thông tin được xây dựng nhằm các mục đích: mang lại lợi ích nghiệp vụ, mang lại lợi ích kinh tế, mang lại lợi ích sử dụng, khắc phục các khiếm khuyết của hệ thống cũ. Tuy nhiên khi vạch các mục tiêu cần đạt được cho một dự án xây dựng hệ thống thông tin, ta nên chọn các mục tiêu tương đối cụ thể để sau này có thể kiểm điểm sự hoàn tất của dự án một cách dễ dàng. Ví dụ: Đối với việc xây dựng hệ thống cung ứng vật tư cho nhà máy A, ban đầu một cách đại thể có thể đưa ra hai mục tiêu sau: o Rút ngắn thời gian giữa dự trù và phát hàng o Loại trừ các sai sót trong việc xử lý các đơn hàng Tuy nhiên để cụ thể hơn, ta phân tích các mục tiêu trên bằng cách đặt ra câu hỏi “Làm thế nào để đạt được các mục tiêu đại thể đó?” Có nhiều khả năng chọn lựa, chẳng hạn ta chọn các mục tiêu sau: Đưa thêm một kho hang dự trữ để có thể giải quyết các yêu cầu về các mặt hàng thông thường ngay tại kho. Cải tiến cách xác định địa chỉ phát hang để tránh chờ lâu. Cải tiến và thống nhất việc kiểm tra, để tránh các sai sót giữa hàng đặt, hàng nhận và tiền trả. Chuyển công việc của tổ đối chiếu và kiểm tra từ thực hiện thủ công sang thực hiện trên máy tính để có thể giảm biên chế cán bộ ở tổ này. 2.3. HẠN CHẾ Các hạn chế do cơ quan chủ quản đề xuất tùy theo khả năng của mình, cũng cần được trao đổi kỹ. Có thể có ba loại hạn chế: Hạn chế về nhân lực: Số lượng, trình độ, của người có thể tham gia vào dự án, cũng như người dung hệ thống sau này Hạn chế về thiết bị, kỹ thuật: khả năng về thiết bị, kỹ thuật có thể đáp ứng
  25. Hạn chế về tài chính: mức độ đầu tư và chi phí dành cho dự án 2.4. PHÁC HỌA GIẢI PHÁP VÀ CÂN NHẮC TÍNH KHẢ THI Để đạt được mục tiêu đề ra, thường có nhiều giải pháp. Ở giai đoạn đầu này nhà phân tích cố gắng tìm ra lượng đối đa các giải pháp. Sau đó sẽ đem ra so sánh, kiểm tra tính khả thi để chọn ra giải pháp tối ưu. Việc đưa ra giải pháp vào giai đoạn này, nghĩa là vào lúc mới chỉ tìm hiểu sơ bộ, khi chưa có một sự phân tích sâu sắc và một sự cân nhắc kỹ lưỡng, quả thực là có phần hơn sớm. Song lại có thể đưa ra các quyết định đại lược như: Chức năng chính của hệ thống, đầu vào, đầu ra, các biện pháp chính để đáp ứng nhu cầu của người dùng. Kiến trúc tổng thể của hệ thống: kiến trúc phần cứng, kiến trúc phần mềm. Sau khi đã xác định một số giải pháp, ta phải đánh giá tính khả thi của từng giải phám, để từ đó tiến hành cân nhắc, so sánh, thỏa thuận với bên sử dụng chọn lấy một giải pháp tối ưu. Tính khả thi được xét trên các phương diện: - Khả thi về kỹ thuật. - Khả thi về kinh tế - Khả thi về hoạt động. Ví dụ: Với hệ Cung ứng vật tư của nhà máy A, ta có thể hình dung năm giải pháp khác nhau như sau: Hệ đơn hàng Giải pháp 1: Thiết lập 1 kênh liên kết giữa hai máy tính vốn có. Xóa bỏ tổ Thêm kênh liên kết Đối chiếu và kiểm tra Hệ phát hàng
  26. Hệ đơn Giải pháp 2: Thêm một máy tính để hàng giải quyết khâu đối chiếu. Ba máy Thêm một máy tính tính được kết nối Hệ đối Hệ phát chiếu hàng Đơn hàng + Phát hàng Giải pháp 3: Gộp hai hệ Đơn hàng và Phát hàng lại. Bỏ một máy tính Bỏ một máy tính cũ cũ. Bỏ tổ Đối chiếu và Kiểm tra thủ công. Giải pháp 4: Bỏ cả hai máy tính cũ, Trung tâm máy tính đưa bài toán vào Trung tâm máy tính chung của cơ quan. Tổ chức lại phần Bỏ cả hai máy tính cũ việc thủ công Giải pháp 5: Bỏ tổ Đối chiếu và kiểm tra thủ công và giữ lại hai hệ Đơn Hệ đơn hàng - Mua hàng Đơn hàng hàng và Phát hàng với ít nhiều điều Hóa đơn - Kiểm tra thực hiện chỉnh nhiệm vụ: Hệ ĐH thực hiện đơn hàng việc đặt hàng, nay thêm việc kiểm tra Yêu cầu Danh sách thực hiện ĐH; Hệ phát hàng vẫn thực mua hàng hàng về hiện việc nhận và phát hàng, nay Hệ phát hàng Tệp QL kho thêm nhiệm vụ quản lý dự trù (do đó - QL các dự trù - QL kho dự trù tự túc được việc tìm địa chỉ phát - Nhận và phát hàng Giao hàng Dự trù hàng) và thêm nhiệm vụ quản lý kho hàng dự trữ. Yêu cầu mua hàng và Phát hàng danh sách hàng về được chuyển bằng tay từ hệ PH sang hệ ĐH Hình 2 – 2: Các giải pháp được đề xuất Dự trù
  27. Cân nhắc tính khả thi và chọn lựa giải pháp - Giải pháp 1 không khả thi về kỹ thuật: các máy tính cũ là không tương thích, cho nên không nối ghép được. - Giải pháp 2 cũng không khả thi về kỹ thuật, vả lại giải pháp 2 chuyển việc đối chiếu và kiểm tra vốn thực hiện bằng tay sang thực hiện trên máy tính mà không cải tiến lại qui trình xử lý thì vẫn kém hiệu quả. - Giải pháp 3 là có thể được nếu máy tính giữ lại là đủ mạnh. Tuy nhiên nếu hai máy tính là không tương thích đến mức không chạy được chương trình của nhau, như vậy ít ra ta phải viết lại khoảng một nửa số chương trình -> kém khả năng về kinh tế. - Giải pháp 4 là rất có ích nếu thông tin về Cung ứng vật tư còn được sử dụng ở một số bộ phận khác trong cơ quan. Tuy nhiên dường như cung ứng vật tư chỉ là một công việc đóng khung trong một bộ phận nhỏ, không đáng để đem hòa chung vào qui trình xử lý thông tin tổng thể của cả nhà máy, vì như thế sẽ phải tốn kém cho việc viết lại tất cả các chương trình. - Giải pháp 5 là một giải pháp có tính chất thỏa hiệp. Hai máy tính cũ cùng hai hệ chương trình Đơn hàng và Phát hàng được tận dụng triệt để (thỏa mãn điều ưu tiên mà cơ quan sử dụng đề xuất). Việc đưa thêm kho hàng dự trữ cùng với các cải tiến mới về khâu phát hiện địa chỉ phát hàng (nay xử lý trên hệ Phát hàng) và kiểm tra (nay xử lý trên Hệ Đơn hàng) đã đáp ứng được các mục tiêu, mà không gây tốn kém nhiều. Giải pháp do đó đã được chọn. BÀI 3. LẬP DỰ TRÙ VÀ KẾ HOẠCH TRIỂN KHAI DỰ ÁN 2.1. HỢP ĐỒNG TRIỂN KHAI DỰ ÁN Dự án xây dựng hệ thống mới đã được khẳng định. Cần có một hợp đồng giữa bên sử dụng hệ thống và bên xây dựng hệ thống để chốt những nội dung chủ yếu của dự án đó. Hợp đồng phải chứa đựng các nội dung chủ yếu sau: Tập hợp các kết quả điều tra: Hồ sơ đầu ra: Mô tả chức năng trả lời cho câu hỏi hệ thống làm gì, mục đích dùng cho việc gì, thông tin được biểu diễn/đưa ra như thế nào, người sử dụng, tần suất, quản lý khi nào và ra sao.
  28. Hồ sơ đầu vào: Mô tả chức năng, mô tả các trường dữ liệu, quan hệ của nó với đầu ra. Tài nguyên: Phần cứng, chuyên viên kỹ thuật, đội ngũ cán bộ sử dụng, nhu cầu huấn luyện. Các ý kiến phê phán đánh giá về: Thời gian xử lý, thời gian cho phép, trả lời , bảo trì. Chi phí thu nhập Chất lượng công việc. Độ tin cậy, tính mềm dẻo. Khả năng bình quân tối đa của hệ thống. Phạm vi và hạn chế. Mục tiêu và ưu tiên. Các giải pháp đề xuất và các quyết định lựa chọn. Dự trù thiết bị và kinh phí. Phân công trách nhiệm và nhân lực Phương pháp và tiến trình triển khai 2.2. DỰ TRÙ THIẾT BỊ VÀ KINH PHÍ o Dự trù thiết bị: Sơ bộ dự kiến về: Số lượng dữ liệu cần lưu trữ lâu dài Các dạng làm việc Số lượng người dùng Khối lượng thông tin cần thu thập Khối lượng thông tin cần kết xuất - Thiết bị cần có: Cấu hình của thiết bị: tổ chức, hoạt động đơn lẻ trên mạng Thiết bị ngoại vi (scan, máy in, )
  29. Phần mềm - Điều kiện mua và lắp đặt: Tài chính Giao hàng và lắp đặt Huấn luyện người dung Bảo trì hệ thống o Dự trù kinh phí: Ngoài kinh phí cho thiết bị và xây dựng địa điểm, còn phải có kinh phí cho quá trình triển khai dự án. Kinh phí này phải được thỏa thuận của đôi bên tham gia dự án, căn cứ trên: - Khối lượng công việc - Khối lượng người tham gia. - Mức độ của các đòi hỏi về chất lượng sản phẩm, thời hạn hoàn thành và bảo hành sản phẩm 2.3. PHÂN CÔNG TRÁCH NHIỆM VÀ NHÂN SỰ DỰ ÁN - Lập lịch : Vì các dự án đều bị giới hạn bởi yếu tố thời gian (một trong số các nhân tố quyết định thành công của dự án) nên phải có kế hoạch phân bổ công việc (thời gian chi tiết và hợp lý) xác định các mốc thờì gian của dự án giúp cho công tác kiểm tra giám sát tiến độ thực hiện - Tiến độ triển khai dự án: Các giai đoạn triển khai dự án Các kế hoạch lắp đặt Các kế hoạch huấn luyện người dung Các mối liên quan đến dự án khác trong tương lai hoặc sự hỗ trợ của các cơ quan ngoài. - Người phụ trách: chuyên gia về tin học, về quản lý - Các nhân viên làm việc: các phân tích viên, lập trình viên, những người khai thác.
  30. BÀI 4. CINEMA Trong giáo trình này, ta sẽ xét một ví dụ cho một hệ thống thực, phân tích và thiết kế cho hệ thống đó. Ví dụ này sẽ xuyên suốt, minh họa cho mọi bước phân tích và thiết kế ở những phần sau nữa. Ví dụ: hệ thống cung ứng vật tư của nhà máy A. Gần đây bộ phận cung ứng vật tư sản xuất của nhà máy tỏ ra bất cập, không đáp ứng kịp thời các nhu cầu sản xuất tại phân xưởng. Vì vậy có yêu cầu cải tiến quản lý ở bộ phận này. (1) Nhiệm vụ cơ bản Khi các phân xưởng có yêu cầu vật tư, bộ phận CƯVT phải thực hiện mua hàng ở các nhà cung cấp, đưa về đáp ứng kịp thời cho các phân xưởng, không để xảy ra các sai xót về hàng nhận và tiền trả. (2) Cơ cấu tổ chức Bộ phận CƯVT gồm ba tổ, hoạt động tương đối độc lập với nhau: o Tổ thứ nhất đảm nhiệm việc đặt hàng dựa trên các dự trù vật tư của các phân xưởng. Tổ này có sử dụng một PC, trên đó có một hệ chương trình gọi là hệ Đặt hàng (ĐH) trợ giúp các việc chọn nhà cung cấp, làm đơn hàng và theo dõi sự hoàn tất của đơn hàng. o Tổ thứ hai đảm nhiệm việc nhận và phát hàng. Tổ này cũng có một PC, trên đó có một hệ chương trình gọi là Hệ Phát hàng (PH) trợ giúp việc ghi nhận hàng về và làm thủ tục phát hàng cho các phân xưởng. o Tổ thứ ba là tổ Đối chiếu và kiểm tra. Sở dĩ có tổ này là vì hai máy tính ở hai tổ nói trên là không tương thích cho nên không nối ghép được với nhau. Vì vậy các thông tin về đặt hàng và nhận hàng quản lý ở hai máy tính đó là hoàn toàn bị tách rời và do đó hàng về mà không xác định được là cho phân xưởng nào. Chính tổ đối chiếu sẽ lấy các thông tin của các đợt hàng và của các đợt nhận hàng từ hai tổ nói trên về, khớp lại để tìm ra phân xưởng có hàng, giúp cho tổ thứ hai thực hiện việc phát hàng. Tổ đối chiếu còn có nhiệm vụ phát hiện các sai xót về hàng và tiền để khiếu nại với các nhà cung cấp nhằm chỉnh sửa lại cho đúng. Tổ đối chiếu làm việc hoàn toàn thủ công. (3) Qui trình xử lý
  31. Qua điều tra khảo sát, ta thấy quy trình làm việc, cùng các loại chứng từ giao dịch sử dụng trong quy trình đó như sau: Khi có nhu cầu vật tư, một phân xưởng sẽ lập một bảng dự trù gửi cho tổ Đặt hàng, trong đó có các mặt hàng được yêu cầu, với các số lượng yêu cầu tương ứng. Tổ đặt hàng trước hết chọn nhà cung cấp để đặt mua các mặt hàng nói trên. Muốn thế, nó dùng máy tính để tìm các thông tin về các nhà cung cấp lưu trong tệp NCCAP. Sau đó nó thương lượng trực tiếp với nhà cung cấp được chọn (gặp mặt hoặc qua điện thoại). Sau khi đã thỏa thuận, dùng hệ chương trình ĐH để in một Đơn hàng. Các thông tin trong Đơn hàng được lưu lại để theo dõi trong tệp ĐƠN HÀNG, còn đơn hàng in ra thì gửi tới nhà cung cấp. Để tiện theo dõi, người ta áp dụng nguyên tắc: mỗi khoản đặt hàng trên một đơn hàng giải quyết trọn vẹn (nghĩa là không tách, không gộp) một khoản yêu cầu về một mặt hàng trên một bản dự trù. Tuy nhiên một đơn hàng, gồm nhiều khoản, có thể đáp ứng yêu của nhiều dự trù khác nhau. Ngược lại các khoản yêu cầu trên một bản dự trù lại có thể được phân bổ lên nhiều đơn hàng khác nhau, gửi đến các nhà cung cấp khác nhau. Lại chú ý rằng đơn hàng gửi tới nhà cung cấp không chứa thông tin về phân xưởng đã dự trù đặt hàng. Vì vậy cần lưu mối liên hệ giữa các bản dự trù của các phân xưởng với các đơn hàng đã được phát đi trong một tệp gọi là DT-ĐH, ở đó đặt liên kết mỗi Số hiệu dự trù và mỗi Số hiệu đơn hàng. Nhà cung cấp, căn cứ trên đơn đặt hàng, để chuyển hàng đến nhà máy kèm phiếu giao hàng. Tổ nhận và phát hàng tiếp nhận hàng đó. Hàng chỉ cất tạm vào một kho (có nhiều kho), còn thông tin trên phiếu giao hàng cùng địa điểm cất hàng được lưu vào máy tính, trong tệp NHẬN HÀNG. Trên phiếu giao hàng, mỗi mặt hàng được giao đều ghi rõ Số hiệu đơn hàng đã đặt mặt hàng đó (số lượng giao có thể là chưa đủ như số lượng đã đặt). Như thế vẫn chưa rõ hàng đó là do phân xưởng nào yêu cầu để có thể phát hàng về phân xưởng ngay được. Để giải quyết vướng mắc này, hàng tuần tổ nhận hàng sử dụng hệ chương trình PH, in ra một danh sách Nhận hàng trong tuần, gửi cho tổ Đối chiếu, với nội dung: SH giao hàng – Tên NCCấp – SH mặt hàng – Số lượng nhận – SH Đơn hàng Mặt khác, cũng hàng tuần, tổ Đặt hàng sử dụng hệ chương trình ĐH, in ra một danh sách Đặt hàng trong tuần, gửi cho tổ Đối chiếu, với nội dung: SH Đơn hàng – Tên NCCap – SH mặt hàng – Số lượng đặt – SH dự trù – Tên phân xưởng.
  32. Tổ đối chiếu khớp hai danh sách này tìm ra SH đơn hàng và SH mặt hàng chung, và từ đó xác định được lượng hàng nào là cần phát về phân xưởng nào. Danh sách các địa chỉ phát hàng được lập và gửi lại cho tổ Nhận và Phát hàng, để tổ này chuyển hàng kèm Phiếu phát hàng cho các phân xưởng. Tổ đối chiếu và kiểm tra còn có nhiệm vụ tiếp nhận Hóa đơn từ các nhà cung cấp gửi đến, đối chiếu nó với hàng đã nhận, nếu chính xác thì xác nhận chi lên hóa đơn và gửi cho bộ phận thanh toán (thuộc Phòng tài vụ) để làm thủ tục trả tiền. Nếu phát hiện có sự cố không ăn khớp giữa hàng đặt - hàng nhận và tiền phải trả, Tổ đối chiếu và kiểm tra khiếu nại với nhà cung cấp để chỉnh sửa lại. Việc kiểm tra thường có khó khăn, vì lắm khi nhà cung cấp thiếu hàng, chưa đáp ứng đủ ngay mà con nợ lại một phần để giao sau. Còn về phía nhà máy, có khi chưa đủ tiền để trả đủ theo hóa đơn, mà còn nợ lại một phần để trả sau. Mặt khác, Tổ Đặt hàng lại cũng muốn biết đơn hàng do mình phát ra là đã hoàn tất hay chưa, cho nên tổ này đã yêu cầu bộ phận thanh toán mỗi khi trả tiến cho nhà cung cấp thì gửi cho tổ một bản ghi trả tiền. Thông tin trả tiền này được cập nhật vào tệp ĐƠN HÀNG, nhờ đó biết đơn hàng nào là đã hoàn tất. (4) Mô hình tiến trình nghiệp vụ Ta có thể hình dung quy trình làm việc của ba tổ trên bởi mô hình sau Trong đó sử dụng các ký hiệu như sau BP ĐÔI CHIẾU KIỂM TRA - lập phiếu phát hàng. - tiếp nhận hóa đơn - kiểm tra chi tiết hóa đơn Bộ phận trong hệ thống Phân xưởng Tác nhận ngoài tác động đến hệ thống Phiếu dự trù Luồng thông tin vào/ra hệ thống
  33. BP ĐẶT HÀNG - Tiếp nhận phiếu dự trù từ phân xưởng - Chọn NCC Giao dịch + đơn hàng Phiếu dự trù - Biên soạn Đơn hàng - Theo dõi thực hiện đơn Thông tin trả lời hàng - In danh sách đơn hàng BP ĐỐI CHIẾU PHÂN XƯỞNG KIỂM TRA DS đặt hàng Bản ghi trả tiền - Lập DS đối chiếu phát hàng Xác nhận chi - Lập phiếu phát hàng - Tiếp nhận đơn hàng DS nhận hàng - Kiểm tra chi tiết hóa đơn TÀI VỤ Hóa đơn BP NHẬN VÀ PHÁT Khiếu nại HÀNG DS PX phát hàng + Phiếu phát hàng NHÀ CUNG CẤP - Nhận hàng và phiếu Hàng + phiếu phát hàng cho PX giao hàng - Lưu trữ tt phiếu giao và địa điểm cất - In DS nhận hàng Hàng + phiếu giao hàng - Phát hàng cho PX Hình 2 – 3: Mô hình tiến trình nghiệp vụ của hệ CƯVT Kết luận: o Thiếu: - Không có sẵn kho hàng chứa các mặt hàng thường sử dụng trong nhà máy -> khi phân xưởng yêu cầu không thể có hàng ngay. - Bộ phận nhận phát hàng còn thiếu việc quản lý kho -> Gây khó khăn cho việc nhận phát hàng. o Kém: - Chu trình quá lâu, do khâu địa chỉ phát hàng. - Kiểm tra không chặt, để xảy ra sai xót hàng – tiền luôn. o Tốn: Tốn nhân lực ở khâu đối chiếu và kiểm tra bằng tay
  34. Chương 3 – PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG Trong chương này sẽ đề cập đến phân tích hệ thống về mặt chức năng. Đầu tiên sẽ xét một số mô hình và phương tiện được sử dụng để diễn đạt chức năng. Sau đó sẽ đề cập cách tiến hành phân tích hệ thống về chức năng, nghĩa là sẽ nói rõ làm thế nào để có thể đi sâu vào bản chất và đi sâu vào chi tiết của hệ thống về mặt chức năng. Từ đó thấy được mối liên quan tất yếu giữa các xử lý và các dữ liệu. Mục đích của phân tích hệ thống về chức năng: Xác định phạm vi của hệ thống cần phân tích. Cho phép mô tả khái quát dần các chức năng của một tổ chức một cách trực tiếp khách quan. Giúp làm việc giữa nhà thiết kế và người sử dụng trong khi phát triển hệ thống. Nói một cách khác mục đích của phân tích hệ thống về chức năng là lập một mô hình chức năng của hệ thống, nhằm trả lời cho câu hỏi “Hệ thống làm gì? ” BÀI 1. CÁC PHƯƠNG TIỆN ĐẶC TẢ CHỨC NĂNG 3.1. CÁC MỨC ĐỘ DIỄN TẢ CHỨC NĂNG 3.1.1. Diễn tả vật lý, diễn tả logic a. Diễn tả vật lý Mức vật lý đòi hỏi phải nói rõ cả mục đích và cách thể hiện của quá trình xử lý. Trả lời cho hai câu hỏi: Làm gì ? Làm như thế nào ? ( Dùng phương pháp gì ? Biện pháp gì ? Công cụ gì ? Ai làm ? Ở đâu ? Lúc nào ?) b. Diễn tả logic Mức logic chỉ tập trung trả lời câu hỏi làm gì? Mà gạt bỏ câu hỏi Làm như thế nào? Nghĩa là chỉ diễn ra mục đích, bản chất của quá trình xử lý mà bỏ qua các yếu tố thực hiện, về cài đặt như: phương pháp, phương tiện, tác nhân, địa điểm, thời gian, . Để đưa ra được bản chất, nói ra được sự bất hợp lý, ở giai đoạn phân tích hệ thống ta phải loại bỏ mọi yếu tố vật lý và diễn tả chức năng ở mức độ logic. Đối với hệ thống mới(hệ thống cần xây dựng) thì sự mô tả logic một cách hoàn chỉnh và hợp lý là rất cần thiết trước khi nghĩ đến các biện pháp về cài đặt. Giai đoạn thiết kế là lúc tính đến các biện pháp cài đặt  diễn tả sự hoạt động của hệ thống ở mức vật lý với đầy đủ cài đặt và thực hiện.
  35. Có thể tóm tắt sự thay đổi mức diễn tả vật lý/ logic trong hình vẽ sau, trong đó bước chuyển đổi (1) và (2) thuộc giai đoạn phân tích, bước chuyển đổi (3) thuộc giai đoạn thiết kế. Tìm hiểu hệ thống cũ Xác định hệ thống mới làm như thế nào? làm như thế nào Mức vật lý 1 Mức logic 3 2 Diễn tả hệ thống cũ Xác định hệ thống mới làm gì làm gì Hình 3 – 1. Trình tự mô hình hóa hệ thống 3.1.2. Diễn tả đại thể, diễn tả chi tiết Ở mức độ đại thể, một chức năng được mô tả dưới dạng ‘hộp đen’. Nội dung bên trong hộp đen không được chỉ rõ, nhưng các thông tin vào và ra hộp đen thì lại được chỉ rõ. Đơn hàng Đơn hàng Lập hóa đơn Lượng tồn kho Ở mức độ chi tiết nội dung của quá trình xử lý phải được chỉ rõ hơn. Thông thường cần chỉ ra các chức năng con và mối lien hệ về thông tin và điều khiển giữa những chức năng con đó. Vì các chức năng con thường vẫn còn phức tạp, nên lại phải diễn tả chúng một cách chi tiết hơn, thông qua các chức năng nhỏ hơn. Cứ thế tiếp tục, ta sẽ có một sự phân
  36. cấp trong mô tả. Ở mức dưới cùng, các chức năng là khá đơn giản. Lúc này ta có thể diễn tả trực tiếp quá trình xử lý của nó, mà không cần tách nó thành các chức năng con nữa. Sự mô tả trực tiếp một chức năng được gọi là sự đặc tả Sự diễn tả đại thể, chi tiết hay sự diễn tả vật lý, logic được sử dụng tùy lúc, tùy nơi trong phân tích thiết kế hệ thống. 3.2. CÁC PHƯƠNG TIỆN ĐẶC TẢ CHỨC NĂNG 3.2.1. Bảng đặc tả chức năng Một điểm chung trong việc sử dụng biểu đồ phân cấp chức năng và biểu đồ luồng dữ liệu là để diễn tả một chức năng phức tạp, ta phân rã nó thành nhiều chức năng con đơn giản hơn. Nói một cách khác là từ một "hộp đen", ta giải thích nó bằng cách tách nó ra thành nhiều "hộp đen", các chức năng con thu được là đơn giản hơn trước. Sự lặp lại quá trình phân rã đương nhiên tới một lúc phải dừng lại. Các chức năng thu được ở mức cuối cùng đã là rất đơn giản, cũng vẫn cần được giải thích. Sự giải thích chức năng phải được thực hiện bởi những phương tiện đặc tả trực tiếp, ta gọi là sự đặc tả chức năng. Một đặc tả chức năng thường được trình bày một cách ngắn gọn, không vượt quá một trang A4, gồm hai phần Phần tiêu đề: o Tên chức năng o Các dữ liệu vào o Các dữ liệu ra Phân thân: mô tả nội dung xử lý, thường sử dụng các phương tiện mô tả như sau o Các phương trình toán học o Các bảng quyết định o Các sơ đồ khối o Các ngôn ngữ tự nhiên cấu trúc hóa Ví dụ. Đặc tả chức năng "Tính kết quả bảo vệ luận văn" như sau
  37. Đầu đề Tên chức năng: Tính kết quả bảo vệ luận văn Đầu vào: Điểm người phản biện Điểm của người hướng dẫn Số các ủy viên hội đồng Điểm của từng ủy viên hội đồng Đầu ra: Kết quả bảo vệ Thân Kết quả bảo vệ = (Điểm phản biện + Điểm hướng dẫn + Điểm của các ủy viên hội đồng  )/3 Số các ủy viên hội đồng Hình 3 - 2. Ví dụ bảng đặc tả chức năng 3.2.2. Sơ đồ khối Ta có thể sử dụng sơ đồ khối để đặc tả chức năng ở mức cuối cùng Ví dụ. Đặc tả chức năng "Lập danh sách thí sinh trúng tuyển" Còn thí sinh S chưa xét Đ Tra cứu điểm thí sinh Đ Điểm TS >= S Điểm chuẩn DS đậu <- thí sinh DS trượt <- thí sinh Hình 3 - 3. Ví dụ sơ đồ khối đặc tả chức năng
  38. 3.2.3. Ngôn ngữ có cấu trúc Ngôn ngữ có cấu trúc là một ngôn ngữ tự nhiên bị hạn chế chỉ được phép dùng các câu đơn sai khiến hay khẳng định (thể hiện các lệnh hay các điều kiện) và các câu đơn này được ghép nối nhờ một số từ khóa thể hiện các cấu trúc điều khiển chọn và lặp. Như vậy ngôn ngữ có cấu trúc có những đặc điểm của một ngôn ngữ lập trình, song nó không chịu những hạn chế và quy định ngặt nghèo của các ngôn ngữ lập trình, cho nên được dùng thoải mái hơn. Tuy nhiên nó cũng không quá phóng túng như ngôn ngữ tự do. Ví dụ. Đặc tả chức năng "Lập danh sách thí sinh trúng tuyển" Lặp Lấy một thí sinh từ kho các thí sinh Tra cứu điểm của thí sinh Nếu Điểm thí sinh >= Điểm chuẩn Thì DS đậu ← thí sinh Không thì DS trượt ← thí sinh Đến khi Hết thí sinh BÀI 2. XÂY DỰNG BIỂU ĐỒ PHÂN CẤP CHỨC NĂNG 3.1. TỔNG QUAN VỀ BIỂU ĐỒ PHÂN CẤP CHỨC NĂNG 3.1.1. Định nghĩa Biểu đồ phân cấp chức năng (BFD) là công cụ biểu diễn việc phân rã có thứ bậc đơn giản các công việc cần thực hiện. Mỗi công việc được chia ra làm các công việc con, số mức chia ra phụ thuộc vào kích cỡ và độ phức tạp của hệ thống. Ví dụ: QL doanh nghiệp Quản lý nhân sự Quản lý tài chính Quản lý vật tư Quản lý bán hàng Theo dõi nhân sự Kế toán thu chi Quản lý thiết bị Giải quyết đơn hàng Trả công Kế toán tổng hợp Quản lý vật liệu Tiếp thị
  39. Hình 3 - 4. Biểu đồ phân cấp chức năng 3.1.2. Các thành phần o Chức năng - Chức năng: là công việc mà tổ chức cần làm và được phân theo nhiều mức từ tổng hợp đến chi tiết. - Cách đặt tên : tên chức năng phải gồm động từ + bổ ngữ. Động từ thể hiện hoạt động, bổ ngữ thường liên quan đến các thực thể dữ liệu trong miền nghiên cứu. Chú ý: Tên các chức năng phải phản ánh được các chức năng của thế giới thực chứ không chỉ dùng cho hệ thông tin. Tên của chức năng là một câu ngắn giải thích đủ nghĩa của chức năng, sử dụng thuật ngữ nghiệp vụ. - Biểu diễn: Tên chức năng Mua hàng o Quan hệ phân cấp Mỗi chức năng được phân rã thành các chức năng con. Các chức năng con có quan hệ phân cấp với chức năng cha. ` 3.1.3. Các dạng của sơ đồ phân cấp chức năng Có hai dạng, chọn dạng nào để dùng là tùy thuộc vào chiến lược xử lý dữ liệu của công ty và vào tầm quan trọng và độ mềm dẻo của hệ thống. Dạng chuẩn. Một sơ đồ mô tả toàn bộ chức năng của lĩnh vực nghiên cứu. Các tiếp cận này sử dụng cho các hệ hệ thống nhỏ. Dạng công ty. Gồm một sơ đồ chứn năng, mô tả chức năng ở một số mức. Sử dụng cho các tổ chức lớn, nhiều lĩnh vực, nhiều chức năng.
  40. Xử lý đơn hàng Chấp nhận Giám sát xử Xử lý yêu cầu Gửi hàng theo ĐH lý ĐH đơn hàng Nhận đơn Kiểm tra chi Kiểm tra chi Gom hàng Đóng gói Giao nhận hàng tiết khách tiết mặt hàng theo đơn hàng theo đơn theo đơn hàng Hình 3 – 5. Sơ đồ chức năng nghiệp vụ dạng chuẩn. Công ty A Mua vật tư Lưu kho VT Sản xuất hàng Bán hàng Duy trì tài khoản Hình 3 – 6. Sơ đồ chức năng nghiệp vụ mức cao nhất Với cách tiếp cận công ty, phân tích toàn bộ công ty, xác định tất cả các chức năng nghiệp vụ mức cao nhất. Bất cứ dự án nào đang được phát triển đều là một phần của một trong những chức năng mức cao này. 3.2. XÂY DỰNG BIỂU ĐỒ PHÂN CẤP CHỨC NĂNG 3.2.1. Phân rã có thứ bậc Xuất phát từ chức năng cha phân thành những chức năng nhỏ hơn ở mức thấp hơn. Sao cho việc thực hiện các công việc ở mức dưới (các công việc được phân ra) thì bảo đảm thực hiện được công việc ở mức trên được phân rã. Việc xác định các chức năng mức thấp phụ thuộc vào tính chất và kích cỡ của dự án. Tuy nhiên theo kinh nghiệm chức năng thấp nhất nên mô tả được trong không quá nửa trang giấy, nó nên chỉ có một nhiệm vụ hoặc một nhóm nhiệm vụ nhỏ thường do từng cá nhân thực hiện. Ví dụ: Sơ đồ phân rã chức năng tuyển dụng nhân viên của một công ty
  41. Tuyển nhân viên Mục đích: tuyển người vào làm việc. Nhận người vào làm việc Trách nhiệm: Phòng tổ Đăng thông báo tuyển người chức và phòng điều hành nhân sự. Nhận và xem xét hồ sơ Trong đó chức năng “Đăng thông báo tuyển người” là Tiến hành phỏng vấn hoặc thi một chức năng ở mức thấp nhất vì công việc này do 1 Bỏ các trường hợp không thỏa mãn người làm, họ thực hiện việc in thông báo tuyển Giao việc cho người làm mới dụng và gửi cho nơi quảng cáo. Hình 3 – 7. Sơ đồ phân rã chức năng Cách bố trí sắp xếp Với hệ thống lớn không nên quá 6 mức, với hệ thống nhỏ không nên quá 3 mức. Sắp xếp các công việc trên một mức cùng một hàng đảm bảo cân đối. Các chức năng con của cùng một mẹ nên có kích thước, độ phức tạp và tầm quan trọng xấp xỉ như nhau. 3.2.2. Xác định chức năng của hệ thống Xác định chức năng nghiệp vụ của hệ thống với mục đích xác định các lĩnh vực, các chức năng hệ thống cần đạt tới và tăng cường cách tiếp cận logic tới các chức năng của hệ thống. Người ta có thể Sơ đồ phân rã chức năng (BFD) để mô tả các chức nghiệp vụ. a. Xác định các chức năng chi tiết o Bước 1: Trong bảng khảo sát chi tiết hệ thống hiện tại, trong phần qui trình xử lý, gạch chân tất cả các động từ + bổ ngữ liên quan đến công việc của hệ thống o Bước 2: Trong danh sách các chức năng được chọn ở bước 1 tìm và loại bỏ các chức năng trùng lặp
  42. o Bước 3: Trong danh sách những chức năng được chọn ở bước 2, gom nhóm những chức năng đơn giản do một người thực hiện lại. o Bước 4: Trong danh sách những chức năng được chọn ở bước 3, loại bỏ những chức năng không có ý nghĩa với hệ thống. o Bước 5: Chỉnh sửa lại tên các chức năng được chọn ở bước 4 cho hợp lý b. Phương pháp o Sử dụng phương pháp bottom up để tìm kiếm những chức năng chi tiết. o Sử dụng phương pháp topdown để gom nhóm các chức năng chi tiết thành những chức năng ở mức cao hơn. o Thực hiện cho đến khi thu được chức năng của toàn bộ hệ thống. Cụ thể ta thực hiện các công việc sau: c. Ví dụ. Bài toán quản lý hệ thống Cung ứng vật tư: o Sau khi thực hiện 5 bước trên ta thu được các chức năng sau: 1. Lưu trữ bảng dự trù 2. Chọn nhà cung cấp 3. Lập đơn hàng 4. Cập nhật kết quả thực hiện đơn hàng 5. Cập nhật thông tin đặt hàng cho bảng dự trù 6. Ghi nhận hàng về 7. Lập danh sách nhận hàng trong tuần 8. Lập danh sách đặt hàng trong tuần 9. Lập danh sách địa chỉ phát hàng 10. Lập phiếu phát hàng 11. Tiếp nhận hóa đơn 12. Kiểm tra chi tiết hóa đơn o Gom nhóm chức năng chi tiết thành các chức năng lớn của hệ thống: Để gom nhóm chính xác chú ý đến cơ cấu tổ chức của xí nghiệp có 3 bộ phận
  43. Đặt hàng, Nhận và phát hàng, Đối chiếu và kiểm tra. Như vậy, các chức năng ở trên mức chi tiết của hệ thống là 3 nhóm chức năng như trên. Đưa từng chức năng chi tiết đã xác định ở bước trước vào từ nhóm đúng theo cơ cấu của xí nghiệp. Cụ thể như sau: (1): Lưu trữ bảng dự trù (2): Chọn nhà cung cấp HỆ THỐNG CUNG ỨNG VẬT TƯ (3): Lập đơn hàng Đặt hàng (4): Cập nhật kết quả thực hiện đơn hàng (5): Cập nhật ttin đặt hàng cho bảng dự trù (8): Lập danh sách đặt hàng trong tuần (9): Lập danh sách địa chỉ phát hàng Đối chiếu và (11): Tiếp nhận hóa đơn kiểm tra (12): Kiểm tra chi tiết hóa đơn (6): Ghi nhận hàng về Nhận và phát (7): Lập danh sách nhận hàng trong tuần hàng (10): Lập phiếu phát hàng o Có thể vẽ biểu đồ phân cấp chức năng như sau:
  44. Hệ thống cung ứng vật tý Đặt hàng Đối chiếu và kiểm tra Nhận và phát hàng Lýu trữ bản dự trù Lập DS địa chỉ Ghi nhận hàng về phát hàng Chọn nhà cung cấp Tiếp nhận hóa đõn Lập DS nhận hàng trong tuần Lập đơn hàng Kiểm tra chi tiết Lập phiếu phát hàng hóa đơn Cập nhận KQ thực hiện đơn hàng Cập nhật tt đặt hàng cho bảng dự trù Lập danh sách đặt hàng trong tuần Hình 3 – 8. Sơ đồ phân cấp chức năng của hệ thống BÀI 3. XÂY DỰNG BIỂU ĐỒ LUỒNG DỮ LIỆU 3.1. TỔNG QUAN VỀ BIỂU ĐỒ LUỒNG DỮ LIỆU 3.1.1. Định nghĩa Biểu đồ luồng dữ liệu (DFD - Data Flow Diagram) là một công cụ mô tả mối quan hệ thông tin giữa các công việc. Ví dụ. Sơ đồ luồng dữ liệu hoạt động bán hàng Đơn đặt hàng Khách hàng Duyệt đơn Thanh toán Hóa đơn Hàng tồn kho Hàng + hóa đơn Bán hàng
  45. 3.1.2. Các thành phần của biểu đồ a. Tiến trình (Chức năng) Tiến trình là một hoạt động có liên quan đến sự biến đổi hoặc tác động lên thông tin như tổ chức lại thông tin, bổ sung thông tin hoặc tạo ra thông tin mới. Nếu trong một chức năng không có thông tin mới được sinh ra thì đó chưa phải là chức năng trong DFD. Tên gọi: Động từ + bổ ngữ. Chú ý: Trong thực tế tên chức năng phải trùng với tên chức năng trong mô hình phân rã chức năng. Biểu diễn : hình chữ nhật góc tròn hoặc hình tròn STT Tên tiến Tên tiến trình trình Ví dụ. Xử lý Tổ chức Nhận đơn yêu cầu thi hàng b. Luồng dữ liệu Luồng dữ liệu là luồng thông tin vào hoặc ra khỏi chức năng. Tên gọi : Danh từ + tính từ. Biểu diễn là mũi tên trên đó ghi thông tin di chuyển. Biểu diễn: Tên luồng dữ liệu Ví dụ. Đơn hàng Ghi nhận Hóa đơn hợp lệ đơn hàng Chú ý: Các luồng dữ liệu phải chỉ ra được thông tin logic chứ không phải tài liệu vật lý. Các luồng thông tin khác nhau phải có tên gọi khác nhau. Ví dụ: Luồng dữ liệu biểu hiện việc trả tiền mang tên là "thanh toán" chứ không mang tên là "tiền" hay "sec". c. Kho dữ liệu
  46. Kho dữ liệu là nơi biểu diễn thông tin cần cất giữ, để một hoặc nhiều chức năng sử dụng chúng. Dưới dạng vật lý các dữ liệu trong kho có thể là các tệp tài liệu cất trong văn phòng hay các tệp lưu trên đĩa. Nhưng chúng ta chỉ quan tâm đến thông tin chứa trong đó. Tên gọi: danh từ + tính từ. Chỉ nội dung dữ liệu trong kho. Biểu diễn : cặp đường thẳng song song chứa thông tin cần cất giữ. Tên kho dữ liệu Ví dụ. Hóa đơn Đơn hàng Quan hệ giữa kho dữ liệu, chức năng và luồng dữ liệu. Vào Ra Cập nhật Chú ý. Thông thường tên luồng thông tin vào hoặc ra kho trùng với tên kho vì vậy không cần viết tên luồng. Nhưng khi ghi hoặc lấy tin chỉ tiến hành một phần kho thì lúc đó phải đặt tên cho luồng Đơn hàng Ghi nhận Hóa đơn hợp lệ đơn hàng Không có trường hợp d. Tác nhân ngoài
  47. Tác nhân ngoài là một người hoặc một nhóm người nằm ngoài hệ thống nhưng có trao đổi trực tiếp với hệ thống. Sự có mặt của các nhân tố này trên sơ đồ chỉ ra giới hạn của hệ thống, định rõ mối quan hệ của hệ thống với thế giới bên ngoài. Tên gọi là : Danh từ. Biểu diễn bằng hình chữ nhật Tên tác nhân ngoài Ví dụ. Khách hàng Nhà cung cấp Không có các trường hợp sau. e. Tác nhân trong Tác nhân trong là một chức năng hoặc một hệ thống con của hệ thống đang xét nhưng được trình bày ở một trang khác của mô hình. Mọi sơ đồ luồng dữ liệu đều có thể bao gồm một số trang, thông tin truyền giữa các quá trình trên các trang khác nhau được chỉ ra nhờ kí hiệu này. Tên gọi: động từ + bổ ngữ. Biểu diễn: Kế toán Kế toán 3.2. KỸ THUẬT PHÂN MỨC Kỹ thuật phân mức hay còn gọi là “Phân tích từ trên xuống” tiến hành sự phân tích chức năng của hệ thống bằng cách đi dần từ một mô tả đại thể đến những mô tả chi tiết thông qua nhiều mức. Sự chuyển dịch từ một mức tới mức tiếp theo thực chất là sự phân rã mỗi chức năng ở mức cao thành một số các chức năng con ở mức dưới. Vậy đây là quá trình triển khai theo một cây. Các mức được đánh số thứ tự, mức cao nhất (mức khung cảnh) là mức 0, sau dó đến mức đỉnh 1, các mức dưới đỉnh 2,3 Tương ứng với các mức trong sơ đồ phân
  48. rã chức năng. 1 2 Mức 0 1.1 1.2 1.3 2.1 2.2 Mức 1 Mức 2 1.3.1 1.3.2 1.3.3 3.3. XÂY DỰNG BIỂU ĐỒ LUỒNG DỮ LIỆU 3.3.1. Khái quát Trong thực tế người ta thấy tạo ra một mô hình DFD cho hệ thống thực dưới dạng vật lý không có lợi: oTốn nhiều thời gian và tiêu tốn nguồn tài nguyên phát triển dự án một cách không cần thiết. Có thể xem quá trình này là việc sao chép công việc của kỹ thuật viên điều tra, sao chép tất cả những gì đang thực hiện hiện tại. o Khi tạo ra mô hình thì phải tạo ra những điều chỉnh tượng trưng cho nó, xử lý nó như mô hình logic, kết quả là hệ thống mới chỉ đơn thuần là tin học hoá hệ thống cũ với rất nhiều lỗi mà cái ta cần cuối cùng là mô hình DFD logic. Mô hình logic loại những ràng buộc, các yếu tố vật lý, nó chỉ quan tâm chức năng nào là cần cho hệ thống và thông tin nào là cần để thực hiện cho chức năng đó. Các yếu tố vật lý cần loại bỏ: a. Các yếu tố vật lý xuất hiện tường minh trong ngôn ngữ hay hình vẽ ở trong biểu đồ như: . Các phương tiện, phương thức được dùng để thực hiện các chức
  49. năng như: tự động, thủ công, bàn phím, màn hình, bàn phím . Các giá mang thông tin như: các tệp, chứng từ, sổ sách, . . Các chức năng xử lý gắn với các công cụ hay cách thức cài đặt cụ thể b. Các chức năng vật lý, đó là những chức năng gắn liền với một công cụ hay một biện pháp xử lý nhất định, và sẽ không còn lý do để tồn tại khi công cụ hay biện pháp đó bị thay đổi; chẳng hạn chức năng nhập dữ liệu vào máy tính sẽ không còn tồn tại nữa khi ta không dùng máy tính nữa, và đó là một chức năng vật lý. c. Cấu trúc vật lý, là cấu trúc chung của biểu đồ đang còn phản ánh trực tiếp cách bố trí, tổ chức hay cài đặt hiện tại, mà chưa phản ánh rõ bản chất lô gic của hện thống. Ví dụ: Để loại bỏ các yếu tố vật lý loại (a), ta chỉ cần loại bỏ ra khỏi biểu đồ các phần ngôn từ hay hình vẽ thể hiện phương tiện, giá mang thông tin hay tác nhân, chỉ cần giữ lại sự diễn tả nội dung của chức năng hay của hệ thống mà thôi. Chẳng hạn: Hệ đặt Đặt hàng hàng thay bởi Đối chiếu thay bởi Đối chiếu và kiểm và kiểm tra thủ tra công séc thay bởi trả tiền 3.3.2. Các bước xây dựng biểu đồ Để xây dựng lược đồ dữ liệu cho một hệ thống thông tin, thực hiện các bước sau.
  50. o Bước 1: Xây dựng mô hình luồng dữ liệu mức khung cảnh (mức 0) o Mô hình luồng dữ liệu mức khung cảnh gồm một chức năng duy nhất biểu thị toàn bộ hệ thống đang nghiên cứu, chức năng này được nối với mọi tác nhân ngoài của hệ thống. o Các luồng dữ liệu giữa chức năng và tác nhân ngoài chỉ thông tin vào và ra của hệ thống o Bước 2: Xây dựng mô hình luồng dữ liệu mức đỉnh (mức 1) o Với mức đỉnh các tác nhân ngoài của hệ thống ở mức khung cảnh được giữ nguyên với các luồng thông tin vào ra. o Hệ thống được phân rã thành các chức năng mức đỉnh là các tiến trình chính bên trong hệ thống theo mô hình phân rã chức năng mức 1. o Xuất hiện thêm các kho dữ liệu và luồng thông tin trao đổi giữa các chức năng mức đỉnh. o Bước 3: Xây dựng mô hình luồng dữ liệu mức dưới đỉnh (mức 2 và dưới 2) oỞ mức này thực hiện phân rã đối với mỗi chức năng của mức đỉnh. o Khi thực hiện mức phân rã này vẫn phải căn cứ vào mô hình phân rã chức năng để xác định các chức năng con sẽ xuất hiện trong mô hình luồng dữ liệu. o Việc phân rã có thể tiếp tục cho đến khi đủ số mức cần thiết. o Khi phân rã các chức năng phải đảm bảo tất cả các luồng thông tin vào ra ở chức năng mức cao phải có mặt trong các chức năng mức thấp hơn và ngược lại. Chú ý: o Các kho dữ liệu không xuất hiện ở DFD mức khung cảnh. o Nên đánh số các chức năng theo sự phân cấp. o Các kho dữ liệu, các tác nhân ngoài có thể xuất hiện nhiều lần. o Số mức phụ thuộc vào độ phức tạp của hệ thống.
  51. PHÂN XƯỞNG Phiếu dự trù Giao dịch + đơn hàng Thông tin trả lời Hàng + phiếu phát hàng Hệ thống cung ứng vật tư NHÀ CUNG CẤP Hóa đơn Bản ghi trả tiền Khiếu nại Hàng và phiếu giao hàng TÀI VỤ Xác nhận chi + hóa đơn Hình 3 – 9. DFD mức khung cảnh của hệ thống cung ứng vật tư (mức 0) Đơn hàng NCCap PHÂN XƯỞNG Giao dịch + Đơn hàng Đặt hàng Tt trả lời Bản dự trù Bản ghi trả tiền Dự trù - ĐH Hóa đơn NHÀ CUNG Hóa đơn có xác nhận chi CẤP Đối chiếu và kiểm tra DS nhận hàng Khiếu nại DS địa chỉ nhận hàng TÀI VỤ Nhận và Phiếu giao + Nơi phát hàng cât Nhận hàng Hàng + Phiếu giao hàng Hình 3 – 10. DFD mức đỉnh của hệ thống cung ứng vật tư (mức 1)
  52. Bản dự trù Lưu trữ NCCap bản dự trù Yêu cầu Thông tin Chọn nhà PHÂN XƯỞNG Dự trù Mã hàng Giao dịch cung cấp Dự trù – Đơn hàng Yêu cầu Cập nhật tt Tt trả lời đặt hàng Thông báo NHÀ CUNG CẤP cho dự trù Lập đơn Đơn hàng hàng Kiểm tra và ĐC Số hiệu đơn hàng Đơn hàng Lập DS DS đặt hàng đặt hàng TÀI VỤ Cập nhật KQ thực hiện ĐH Kết quả thực hiện Bản ghi trả tiền Hình 3 – 11. DFD mức dưới đỉnh của hệ thống cung ứng vật tư (mức 2) 3.4. KỸ THUẬT CHUYỂN ĐỔI DFD CỦA HỆ THỐNG CŨ SANG DFD CỦA HỆ THỐNG MỚI Giai đoạn này có ý nghĩa vô cùng quan trọng, ảnh hưởng to lớn đến sự hình thành của hệ thống mới. Trong giai đoạn này nhà quản lý và nhà phân tích phải hợp tác chặt chẽ để tìm cách hòa hợp cơ cấu tổ chức, nhận thức được vai trò của máy tính để thay đổi hệ thống cũ. Cách tiến hành Bước 1. Xác định các mặt yếu kém cần cải tiến, thay đổi trong hệ thống cũ. Các yếu kém chủ yếu do sự thiếu vắng gây ra: thiếu vắng về cơ cấu tổ chức hợp lý, thiếu vắng các phương tiện hoạt động từ đó dẫn đến hiệu quả hoạt động thấp, chi phí hoạt động cao.
  53. Bước 2. Xem lại DFD hệ thống cũ nếu thiếu vắng thì bổ sung, nếu thừa thì loại bỏ, nếu thay đổi bắt đầu từ mức đỉnh (khoanh vùng sẽ được thay đổi, giữ nguyên các luồng vào và ra của vùng, xác định chức năng tổng quát của vùng, xỏa bỏ biểu đồ luồng dữ liệu bên trong vùng được khoanh, lập lại các chức năng từ mức thấp nhất, thành lập kho dữ liệu và luồng dữ liệu cần thiết). Bước 3. Sửa lại biểu đồ phân cấp chức năng theo biểu đồ luồng dữ liệu (thêm, xóa các chức năng trong BFD theo sự thay đổi của DFD trong hệ thống mới) Ví dụ. Hệ thống Cung ứng vật tư. Theo đánh giá trong phần trước nhược điểm của hệ Cung ứng vật tư hiện tại là thiếu một kho hàng dữ trữ để giải quyết ngay các dự trù về các mặt hàng thông dụng. Chu trình quá lâu, do khâu chờ đợi tìm địa chỉ phát hàng. Kiểm tra không chặt chẽ, để xảy ra sai xót hàng – tiền. Tốn nhân lực ở khâu đối chiếu và kiểm tra thủ công. Trong giai đoạn khảo sát hệ thống, khi lựa chọn giải pháp và cân nhắc tính khả thi ta đã chọn giải pháp 5: Bỏ bộ phận đối chiếu và kiểm tra thủ công, những chức năng nào phát sinh do việc đối chiếu là kiểm tra thì phải làm bằng tay nay bỏ đi. Điều chỉnh lại chức năng của bộ phận Đặt hàng và bộ phận Nhận và phát hàng sao cho đảm nhiệm được những chức năng của bộ phận Đối chiếu và kiểm tra có liên quan đến mình. Thêm chức năng quản lý kho hàng dữ trữ các vật tư thông dụng trong các dự trù, tránh sự chờ đợi. Trong giai đoạn này, ta thực hiện mô tả những thay đổi đó vào DFD của hệ thống. Bước 1: Loại bỏ những chức năng dư thừa, cụ thể là loại bỏ chức năng Kiểm tra và đối chiếu. Lúc này DFD mức 1 của hệ thống mới sẽ được thay đối như sau.
  54. NCCap Xác nhận chi + Hóa Giao dịch + Đơn hàng TÀI VỤ đơn Đặt hàng Tt trả lời Bản ghi trả tiền Khiếu nại DS hàng về Hóa đơn NHÀ CUNG CẤP Đơn hàng Phiếu phát hàng SH dự trù mua hàng Yêu cầu mua Hàng + Phiếu giao hàng Hàng + Phiếu giao hàng Nhận và Phiếu giao + Nơi cât PHÂN XƯỞNG phát hàng Bản dự trù Nhận hàng SH đơn hàng Dự trù - ĐH Hình 3 – 12. DFD mức đỉnh của hệ thống Cung ứng vật tư Bước 2. Điều chỉnh lại các chức năng Đặt hàng, Nhận và phát hàng. Như vậy, ở bước này ta thực hiện thay đổi DFD mức 2 của hệ thống. Yêu cầu mua NCCap hàng Chọn nhà Thông tin DS hàng về cung cấp Nhận và phát Giao dịch hàng Tt trả lời DS các mặt hàng đã đặt Yêu cầu Cập nhật Bản ghi trả tiền KQ thực Lập đơn Đơn hàng hiện ĐH hàng NHÀ CUNG CẤP TÀI VỤ Hóa đơn Đơn hàng Tiếp nhận hóa đơn Kiểm tra Thông báo chi tiết Hóa đơn hóa đơn Khiếu nại Xác nhận chi + Hóa đơn Thông tin trả lời Hình 3 – 13. DFD mức 2 của chức năng Đặt hàng
  55. Bảng dự trù Yêu cầu mua hàng Lưu trữ Đặt hàng bảng dự trù Cập nhật tt đặt hàng cho DS các mặt hàng đã đặt bản dự trù Dự trù Phiếu giao + nơi cất PHÂN XƯỞNG DT+ ĐH Nhận hàng DS hàng về PG - ĐH Ghi nhận hàng về Hàng + Phiếu giao hàng Lập phiếu Hàng + Phiếu giao hàng phát hàng NHÀ CUNG CẤP Phiếu phát hàng Hình 3 – 14. DFD mức 2 của chức năng Nhận và phát hàng. Bước 3: Thêm chức năng quản lý kho vào DFD. . Khoanh vùng cần thêm: chức năng tổng quát của vùng đó là quản lý kho hàng dự trữ để đáp ứng ngay những mặt hàng thông dụng cho các dự trù. Ở đây cần thêm kho dữ liệu hàng tồn. dự trù Nhận và PHÂN XƯỞNG phát hàng . Xác định thông tin vào và ra của vùng thay đổi Hàng + phiếu phát hàng từ kho dự trù Quản lý Bảng dự trù + yêu cầu mua hàng PHÂN XƯỞNG kho hàng dự trữ Nhận và phát hàng Phiếu nhập kho
  56. . Có thể vẽ lại DFD mức 1 của hệ thống như sau: NCCap Xác nhận chi + Hóa đơn Giao dịch + Đơn hàng TÀI VỤ Đặt hàng Tt trả lời Bản ghi trả tiền Khiếu nại DS hàng về Hóa đơn NHÀ CUNG CẤP Đơn hàng Phiếu phát hàng DS hàng đã đặt mua hàng Yêu cầu mua SH dự trù Hàng + Phiếu giao hàng Nhận và Phiếu giao + Nơi cât phát hàng Hàng + Phiếu giao hàng Nhận hàng SH đơn hàng PHÂN XƯỞNG Dự trù Bảng dự trù YC mua hàng Phiếu nhập kho Hàng + Phiếu PH từ kho Quản lý kho hàng Bản dự trù dự trữ Phiếu nhập/xuất kho Hình 3 – 15. DFD mức đỉnh của hệ thống Cung ứng vật tư sau khi thêm "Quản lý kho hàng dữ trữ" Bước 4. Với chức năng quản lý kho hàng dự trữ cần thực hiện công việc như sau: Xét duyệt dự trù để xem dự trù đó có thể đáp ứng được từ hành có trong kho hay phải chuyển sang đặt hàng. Chính chức năng này sẽ chủ động đưa ra yêu cầu đặt hàng cho kho mỗi khi có mặt hàng nào đó sụt xuống dưới ngưỡng qui định của nó. Một chức năng xuất nhập kho. Ta có thể vẽ DFD mức 2 cho chức năng "Quản lý kho hàng dự trữ" như sau:
  57. Bản dự trù Bảng dự trù đã xét duyệt Xét duyệt dự trừ PHÂN XƯỞNG Hàng tồn kho Lệnh xuất kho Nhận và phát hàng Phiếu nhập kho Xuất nhập kho Yêu cầu mua hàng Hình 3 – 16. DFD mức 2 của chức năng "Quản lý kho hàng dự trữ Bước 5. Sửa đổi BFD của hệ thống cũ theo DFD của hệ thống mới. Vẽ lại sơ đồ phân rã chức năng của hệ thống mới Hệ thống cung ứng vật tư Quản lý kho hàng dự trữ Đặt hàng Nhận và phát hàng Xét duyệt dự trù Chọn nhà cung cấp Lưu trữ bản dự trù Xuất nhập kho hàng Lập đơn hàng Cập nhật tt đặt hàng cho dự trù Cập nhật KQ thực hiện ĐH Ghi nhận hàng về Tiếp nhận hóa đơn Lập phiếu phát hàng Kiểm tra chi tiết hóa đơn Hình 3 – 17. Sơ đồ phân rã chức năng của hệ thống mới
  58. Chương 4 – PHÂN TÍCH HỆ THỐNG VỀ DỮ LIỆU Mục đích của việc phân tích hệ thống về dữ liệu là làm rõ cách thức sử dụng dữ liệu, đặc biệt là cách tổ chức lưu trữ dữ liệu trong hệ thống. Phân tích hệ thống về dữ liệu phải đưa ra được lược đồ khái niệm về dữ liệu, là cơ sở để thiết kế cơ sở dữ liệu của hệ thống sau này Việc phân tích hệ thống về dữ liệu cần được tiến hành một cách độc lập với phân tích hệ thống về chức năng, nghĩa là cần tập trung nghiên cứu cấu trúc tĩnh của dữ liệu, không phụ thuộc vào cách thức xử lý và thời gian thực hiện. BÀI 1. CÁC MÔ HÌNH VÀ PHƯƠNG TIỆN BIỂU DIỄN DỮ LIỆU 4.1. MÃ HÓA CÁC TÊN GỌI 4.1.1. Đặt vấn đề Mã hóa là phép gán tên gọ vắn tắt cho một đối tượng nào đó trong hệ thống. Các đối tượng như bản ghi, tài liệu, tệp dữ liệu hoặc tên biến của chương trình .đều cần tên gọi. Tên gọi phải ngắn gọn, xác định, không trùng nhau trong cùng một phạm vi, và phải thể hiện được những thông tin quan trọng nhất. Việc mã hóa phải cố gắng đạt được một số yêu cầu về chất lượng sao không nhập nhằng, thích hợp với phương thức sử dụng, có khả năng mở rộng, ngắn gọn, có tính gợi ý. 4.1.2. Các kiểu mã hóa thông dụng a. Mã hóa liên tiếp Dùng các số lien tiếp để trỏ các đối tượng. Ví dụ: Mã hóa các khách hàng theo thứ tự thời gian: 001, 002, 003, .,085, Ưu điểm: không nhập nhằng (nếu không dùng lại các mã số đã bị loại), đơn giản, mở rộng phía sau được (nếu không hạn chế về độ dài). Nhược điểm: Không xen thêm được, không gợi ý, cho nên phải có một bảng tương ứng mã và đối tượng, không phân nhóm Lưu ý: không nên dùng lại một mã đã dùng, dù nó đã bị loại b. Mã hóa theo đoạn
  59. Mã được phân thành nhiều đoạn, mỗi đoạn mang một ý nghĩa riêng. Ví dụ: Số bảo hiểm xã hội cho từng cá nhân Hình: Ưu điểm: không nhập nhằng, mở rộng và xen thêm được (nếu mỗi đoạn còn chỗ), dùng phổ biến, cho phép thiết lập các kiểm tra gián tiếp. Nhược điểm: thường quá dài, theo tác nặng nề khi có quá nhiều đoạn, vẫn có thể bị bão hòa, mã không cố định (ví dụ đổi nơi ở thì phải đổi số bảo hiểm) c. Mã hóa cắt lớp Chia tập đối tượng thành từng lớp. Trong mỗi lớp thường dùng kiểu mã hóa lien tiếp. Ví dụ: Biển số xe là một loại mã hóa cắt lớp, trong đó mỗi tỉnh thành là một lớp lớn. Trong mỗi tỉnh, thành mã lại được chia thành nhiều lớp nhỏ. Chẳng hạn trong biển số 37K80369 thì 37 chỉ biển số xe này thuộc Nghệ An, K8 tên một lớp con trong số các số ở Nghệ An, 0369 là số thứ tự trong lớp con K8 Ưu điểm: không nhập nhằng (nếu các lớp là tách rời, tức là không có một đối tượng thuộc vào hai lớp khác nhau), đơn giản, mở rộng, xen thêm được. Nhược điểm: vẫn cần dùng bảng tương ứng d. Mã hóa phân cấp Cũng là phân đoạn, song mỗi đoạn trỏ một tập hợp các đối tượng và các tập hợp đó bao nhau theo thứ tự từ trái qua phải. Ví dụ: Mục lục cuốn sách là một ví dụ về mã hóa phân cấp. Ví dụ 3.4.2. là mã chỉ mục 2 bài 4 chương 3. Ưu điểm: tương tự mã phân đoạn, tìm kiếm một đối tượng dễ dàng, bằng cách lần lượt theo đoạn từ trái qua phải (tương ứng với một sự tìm kiếm trên cây). Nhược điểm: vẫn cần dùng bảng tương ứng e. Mã hóa diễn nghĩa gán một tên ngắn gọn, nhưng hiểu được cho từng đối tượng. Ví dụ: # HÓA ĐƠN là số hiệu hóa đơn. Ưu điểm: Tiến dụng cho xử lý thủ công.
  60. Nhược điểm: không giải mã được bằng máy tính. 4.2. TỪ ĐIỂN DỮ LIỆU 4.2.1. Mục đích. Từ điển dữ liệu là một tư liệu tập trung về mọ tên gọi của mọi đối tượng được dùng trong hệ thống trong cả cá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 trung 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, đồng nghĩa hay đồng âm dị nghĩa .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, thì 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, biết rõ rằng tên đó được dùng ở những nơi nào để thay đổi. 4.2.2. Các hình thức thể hiện từ điển dữ liệu Từ điển dữ liệu có thể được thực hiện và duy trì theo hai cách o Bằng tay: Đó là tập tài liệu (như từ điển thông thường) thành lập bởi người thiết kế và sau đó được duy trì và cập nhật bởi người quản trị hệ thống. o Bằng máy tính: Dùng một phần mềm, cho phép dễ dàng thành lập, thay đổi. với trường hợp này cần có một ngôn ngữ đặt tả thích hợp, thuật tiện cả cho người, và cho máy tính trong việc miêu tả cấu trúc của các dữ liệu phức hợp. Cũng như trong từ điển thông thường, từ điển dữ liệu là một tập hợp các mục từ, mỗi mục từ tương ứng với một tên gọi kèm với các giải thích đối với nó. Thường thì mỗi mục từ được chép trên một tờ giấy rời cho dễ sắp xếp. 4.2.3. Nội dung của mục từ Trong mục từ, ngoài tên gọi và tên các đồng nghĩa, phần giải thích thường đề cập đến bốn loại đặc điểm . Đặc điểm về cầu trúc: là nguyên thủy (đơn) hay phức hợp (nhóm). . Đặc điểm về bản chất: là liên tục hay rời rạc. . Đặc điểm về chi tiết: miền giá trị, đơn vị đo, độ chính xác, độ phân giải,
  61. sso lượng, tần số, mức ưu tiên . Đặc điểm về liên hệ: từ đâu đến đâu, đầu vào và đầu ra, dùng ở đâu Tuy nhiên, nội dung của các mục từ thường thay đổi theo loại của đối tượng mang tên gọi. Ta thường phân biệt các loại sau luồng dữ liệu, kho dữ liệu (twpj dữ liệu), dữ liệu sơ cấp (phần tử dữ liệu), chức năng xử lý (hoặc chương trình, module). Ví dụ 1: Mục từ cho một luồng dữ liệu. Định nghĩa luồng dữ liệu. Tên luồng dữ liệu : Hóa đơn Tên đồng nghĩa : Hóa đơn kiêm phiếu thu Ví trí(Từ/đến) Từ : Lập hóa đơn Đến : Giải quyết bán hàng theo tuần Hợp thành : Tên khách hàng Ngày hóa đơn Ngày Tháng Năm Các khoản bán hàng Tên mặt hàng Số lượng Thành tiền Giải thích : Giải trình tiền trả cho một đơn mua hàng Lập ngày: 10/10/1996 bởi : N.V.B Ví dụ 2: Mục từ của một dữ liệu sơ cấp Định nghĩa dữ liệu sơ cấp Tên dữ liệu sơ cấp : Ngày mở tài khoản Mô tả : Là ngày mà một tài khoản của khách hàng bắt đầu hoạt động Từ đồng nghĩa : Ngày TK Hợp thành : Ngày + Tháng + Năm Bản ghi, tệp liên quan : Tệp khách hàng Các xử lý có liên quan : Biên tập đơn hàng Xây dựng tệp đơn hàng Đặc điểm dữ liệu : Số ký tự 6, kiểu N Lập ngày: 10/10/1996 bởi : N.V.B
  62. Ví dụ 3: Mục từ cho một tệp dữ liệu. Định nghĩa tệp Tên : Ngày mở tài khoản Mô tả : Chứa mọi thông tin về mọi nhân viên trong cơ quan Từ đồng nghĩa : Không Hợp thành : Mã số NV Tên NV Ngày bắt đầu công tác Lương Phòng Tổ chức: Tuần tự theo mã số NV Các xử lý có liên quan : Cập nhật nhân viên Tìm kiếm nhân viên Lập ngày: 10/10/1996 Bởi : N.V.B Ví dụ 4: Mục từ cho một chức năng xử lý Định nghĩa chức năng xử lý Tên chức năng : Kiểm tra đơn hàng Lưu đồ Đơn hàng Tài khoản khác Kiểm tra đơn hàng Đơn hàng Đơn hàng không hợp thức hợp thức Mô tả : Kiểm tra và biên tập một đơn hàng từ khách hàng tới, đối chiếu với tài khoản của khách, đưa ra đơn hàng hợp thức để xử lý tiếp, hoặc đơn hàng không hợp thức để trả lại cho khách Từ đồng nghĩa : Không Vào : Đơn hàng, tài khoản khách Ra : Đơn hàng hợp thức/ Đơn hàng không hợp thức Lập ngày: 10/10/1996 Bởi : N.V.B
  63. Nhận xét Mặc dù từ điển dữ liệu có ích cho quá trình triển khai hệ thống, song nếu lấy nó làm mô hình dữ liệu, để làm căn cứ cho việc thiết kế cơ sở dữ liệu sau này sẽ gặp phải những khó khăn: . Thiếu tính hình thức: không chặt chẽ, kém trừu tượng. . Không phản ánh được các mối liên quan vốn có giữa các dữ liệu. BÀI 2. MÔ HÌNH THỰC THỂ LIÊN KẾT (ER) Khi xem xét các thông tin, người ta thường gom nhóm chúng xung quanh các vật thể. Ví dụ: Tên, tuổi, địa chỉ, chiều cao, cân nặng, được gom nhóm với nhau xung quanh một người trong khi các thông tin về số đăng ký, nhãn mác, kiểu dáng, màu sơn, dung tích xilanh .lại được gom nhóm với nhau xung quanh một chiếc xe máy. Mô hình thực thể liên kết (ER) mô tả tập hợp các dữ liệu dùng trong một hệ thống theo cách gom nhóm như vậy 4.1. MỤC ĐÍCH Mô hình thực thể liên kết mô tả thế giới thực gần với quan niệm, suy nghĩ của ta. Đây là mô hình tốt với lượng thông tin ít nhất, mô tả thế giới dữ liệu đầy đủ nhất. Việc xây dựng mô hình nhằm thành lập một biểu đồ cấu trúc dữ liệu bao gồm dữ liệu cần xử lý và cấu trúc nội tại của nó. Ví dụ một mô hình thực thể liên kết Thầy Học sinh Dạy ID_thầy ID_học sinh Tên thầy Tên học sinh 4.2. CÁC THÀNH PHẦN 4.2.1. Thực thể - Kiểu thực thể Thực thể là một vật thể cụ thể hay trừu tượng, tồn tại thực sự và khá ổn định trong thế giới thực, mà ta muốn phản ánh nó trong hệ thống thông tin. Ví dụ: Thực thể cụ thể như Khách hàng Nguyễn Văn A, Đơn hàng số 13457
  64. Thực thể trừu tượng như Khoa công nghệ thông tin, Tài khoản số 4586 Kiểu thực thể là một tập hợp các thực thể biểu diễn cho một lớp tự nhiên các vật thể trong thế giới thực Ví dụ: Kiểu thực thể Khách hàng, Đơn hàng, Sinh viên Tên gọi Danh từ (chỉ lớp đối tượng trong thế giới thực) 4.2.2. Thuộc tính - Kiểu thuộc tính Thuộc tính là một giá trị dùng để mô tả một khía cạnh nào đó của một thực thể. Ví dụ. Tuổi của Nguyễn Văn A là 45 Tổng số tiền của đơn hàng 4328 là 250.000. Giá trị thuộc tính thường được cho kèm theo một tên. Tên thực chất là tên chung của mọi giá trị có thể chọn lựa để mô tả một khía cạnh nhất định của các thực thể (Tuổi: 45, tuổi: 20, tuổi: 14). Ta gọi tên đó là một kiểu thuộc tính. Ví dụ. Tuổi, tổng tiền, số lượng, ngày sinh, .là kiểu thuộc tính. Ta có thể gọi Kiểu thực thể được mô tả bởi cùng một tập hợp các kiểu thuộc tính. Ví dụ. Kiểu thực thể Khách hàng được mô tả bằng các kiểu thuộc tính TenKH, Địa chỉ, số tài khoản. Khóa. Một hay một tập kiểu thuộc tính của một kiểu thực thể được gọi là một khóa nếu giá trị của nó cho phép ta phân biệt các thực thể với nhau. Ví dụ. Số tài khoản và Mã hàng lần lượt là khóa của các kiểu thực thể Tài khoản và Mặt hàng. Thuộc tính định danh. Nếu khóa chỉ gồm một kiểu thuộc tính duy nhất, ta gọi thuộc tính đó là một định danh. Tên định danh thường viết với các tiền tố ID, #, SH, Mã. Ví dụ. ID nhân viên, # nhân viên, SH nhân viên, Mã nhân viên
  65. Hình 4 – 1. Các thành phần trong mô hình ER 4.2.3. Liên kết - Kiểu liên kết Liên kết (Relationship) là một sự gom nhóm các thực thể trong đó mỗi thức thể có một vai trò nhất định. Ví dụ. Khách hàng A đã giao nộp đơn hàng 4328. Đơn hàng 4328 đặt mua các mặt hàng 34 và 78. Bạn Thanh là học trò của thầy An Kiểu liên kết là một tập hợp các liên kết có cùng ý nghĩa. Một kiểu liên kết được định nghĩa giữa nhiều kiểu thực thể. Số các kiểu thực thể tham gia vào các kiểu liên kết gọi là số ngôi của kiểu liên kết. Giữa các thực thể có thể có hoặc không có liên kết với nhau. Đối với những thực thể có mối quan hệ với nhau, thì tất cả các kiểu liên kết trong thế giới thực đều thuộc một trong ba kiểu: quan hệ 1 – 1; quan hệ 1 – n, quan hệ n – n. . Quan hệ 1 – 1 Ví dụ: Một sinh viên có một luận văn. Một luận văn thuộc về một sinh viên. Có Luận văn Sinh viên Thuộc . Quan hệ 1 – n Mỗi thể hiện của thực thể A quan hệ với nhiều thể hiện của thực thể B. Ngược lại mỗi thể hiện của thực thể B quan hệ với chỉ một thể hiện của thực thể A.
  66. Ví dụ: Một khoa có nhiều sinh viên, một sinh viên thuộc về một khoa Thuộc Khoa Sinh viên Có . Quan hệ n – n Mỗi thể hiện của thực thể A quan hệ với nhiều thể hiện của thực thể B. Ngược lại mỗi thể hiện của thực thể B quan hệ với nhiều thể hiện của thực thể A. Ví dụ: Một giáo viên dạy nhiều sinh viên. Một sinh viên được dạy bởi nhiều giáo viên Được dạy bởi Giáo viên Sinh viên Dạy Loại thành viên: là điều kiện một thể hiện của thực thể tham gia vào liên kết với một thực thể khác. Nó có thể là bắt buộc hay tuỳ chọn trong quan hệ. Các loại thành viên cho biết số thể hiện nhỏ nhất của mỗi thực thể tham gia vào liên kết với một thể hiện của một thực thể khác. Tùy chọn Bắt buộc Ví dụ: Tuỳ chọn (ít nhất 0) –“một giáo viên có thể dạy không, một hoặc nhiều môn học.” Bắt buộc(ít nhất 1) – “một môn học cần phải được một hoặc nhiều giáo viên dạy.” Được dạy bởi Giáo viên Môn học Dạy Tên gọi Động từ (chủ động hoặc bị động) phản ánh ý nghĩa của nó.
  67. Ví dụ. Kiểu liên kết Giao nộp giữa kiểu thực thể Khách hàng và kiểu thực thể Đơn hàng (2 ngôi). Kiểu liên kết Dạy giữa kiểu thực thể Thầy và kiểu thực thể Học sinh. Chú ý. Tên liên kết thường chỉ phản ánh ý nghĩa liên kết theo một chiều. Ví dụ. Thầy dạy học sinh chứ không phải là học sinh dạy thầy. 4.3. CÁC DẠNG MÔ HÌNH ER Trước hết ta sẽ tìm hiểu mô hình thực thể liên kết kinh điển. Đó là dạng ban đầu của mô hình, và đã từng được ứng dụng nhiều. Tiếp theo ta sẽ tìm hiểu một mô hình thực thể liên kết mở rộng, thuận theo xu hướng mô hình hóa hướng đối tượng của những năm 90, rồi lại giới thiệu mô hình ER hạn chế gần với mô hình quan hệ dạng chuẩn 3. 4.3.1. ER kinh điển Mô hình ER kinh điển cho phép mô hình hóa thế giới thực dưới dạng một tập hợp các kiểu thực thể, mỗi kiểu này được định nghĩa bởi một tập hợp các kiểu thuộc tính. Các kiểu thực thể được kết nối với nhau bởi các kiểu liên kết, các kiểu liên kết này lại có thể được định nghĩa bởi một tập hợp các kiểu thuộc tính và một bộ các bản số. Trong ER kinh điển, có hai ràng buộc phải được thỏa mãn đối với kiểu thuộc tính o Giá trị duy nhất: mỗi thuộc tính của một thực thể có thể lấy một và chỉ một giá trị duy nhất. o Giá trị sơ đẳng: giá trị thuộc tính không thể chia thành các thành phần nhỏ hơn (tức là không thể định nghĩa một kiểu thuộc tính từ các kiểu thuộc tính khác, bằng cách hợp thành hay rút gọn) Ví dụ. Kiểu thuộc tính Tên các con của kiểu thực thể Nhân viên là không chấp nhận được vì với mỗi nhân viên, giá trị thuộc tính này có thể là không duy nhất (một dãy tên các con). Không thể định nghĩa kiểu thuộc tính Địa chỉ khách hàng như là hợp thành các kiểu thuộc tính Số nhà, đường phố, Tỉnh thành (mà xem nó là một xâu ký tự duy nhất) a. Biểu diễn đồ họa các khái niệm của mô hình ER Thực thể được biểu diễn bởi một hình chữ nhật, gồm hai ngăn: ngăn trên chứa tên của kiểu thực thể, ngăn dưới chứa danh sách các kiểu thuộc tính của nó. Các kiểu thuộc tính hợp thành khóa của kiểu thực thể được gạch chân dưới và đặt lên đầu danh sách.
  68. Ví dụ ĐƠN HÀNG SH đơn hàng Ngày đơn hàng Kiểu liên kết được biểu diễn bởi một hình thoi,được nối bằng nét liền tới các thực thể tham gia liên kết. Trong hình thoi viết tên kiểu liên kết (tên này có thể không có nếu không cần làm rõ). KHÁCH HÀNG ĐƠN HÀNG SH - Khách hàng Giao nộp SH đơn hàng Tên khách hàng Ngày đơn hàng b. Biểu diễn các kiểu liên kết o Liên kết đệ qui: là kiểu liên kết giữa một kiểu thực thể với chính nó, tức là kết nối các cặp phần tử cùng trong một kiểu thực thể. Ví dụ Quan hệ “kết hôn” xảy ra giữa hai phần tử trong kiểu thực thể người, lúc này ta nên ghi rõ vai trò của mỗi thực thể tham gia ở mỗi đầu của kiểu liên kết. Chồng NGƯỜI ID-Người Kết hôn Tên Ngày sinh Vợ o Nhiều kiểu liên kết giữa hai kiểu thực thể: phải vẽ chúng riêng rẽ (không được chập vào nhau) CĂN HỘ NGƯỜI Sở hữu ID-Người SH - căn hộ Tên Đại chỉ Thuê
  69. o Kiểu liên kết có thuộc tính: Ghi danh sách các thuộc tính bên cạnh hình thoi. Cũng có thể vẽ thêm một hình chữ nhật hai ngăn như một kiểu thực thể, ngăn trên có thể chứa tên kiểu liên kết hay bỏ trống, ngăn thuộc tính chứa danh sách các thuộc tính, bổ sung các thuộc tính khóa của kiểu thuộc tính tham gia liên kết. Hình chữ nhật này được nối với hình thoi của kiểu liên kết bằng một đường đứt nét. Cách làm này gọi là thực thể hóa một kiểu liên kết. GIÁO VIÊN SINH VIÊN ID-giáo viên Dạy ID – sinh viên Tên giáo viên Tên sinh viên ID - giáo viên ID – sinh viên Môn học Năm học o Kiểu liên kết nhiều ngôi: ít gặp hơn, nhưng cũng khó thể hiện hơn. Ví dụ quan hệ giữa Sinh viên, Luận văn, Giáo viên SINH VIÊN LUẬN VĂN Hướng ID- sinh viên dẫn ID – Luận văn Tên sinh viên Tên luận văn GIÁO VIÊN ID - giáo viên Tên giáo viên 4.3.2. ER mở rộng Mặc dù mô hình ER kinh điển đã được sử dụng trong nhiều dự án và được giảng dạy trong các trường cao đẳng, đại học khá rộng rãi, song dần dà người ta phát hiện ra những hạn chế của nó, đặc biệt là các ràng buộc đối với kiểu thuộc tính khiến cho nó khó thích ứng với các hệ thống phức tạp. Do đó từ sau năm 1980, người ta đã nghiên cứu đưa thêm cho nó một số điểm mở rộng. Các điểm mở rộng này chịu ảnh hưởng từ xu hướng hiện đại của mô hình hóa hướng đối tượng, cũng như các hệ quản trị CSDL hướng đối tượng.
  70. Các điểm mở rộng của đối với mô hình ER o Các kiểu thuộc tính đa trị: Được phép dùng kiểu thuộc tính đa trị, nghĩa là kiểu thuộc tính mà giá trị của nó đối với một thực thể có thể là một dãy hay một tập các giá trị đơn o Các kiểu thuộc tính phức hợp: cho phép dùng các kiểu thuộc tính phức hợp, tạo thành bởi sự kết tập từ nhiều kiểu thuộc tính khác. Một mặc định, mỗi giá trị của kiểu thuộc tính phức hợp là sự ghép tiếp các giá trị của các kiểu thuộc tính sơ đẳng. o Các kiểu thực thể con: xuất hiện bởi yêu cầu khái quát hóa hay chuyên biệt hóa khi cần phân cấp các sự vật. o Nếu trong một kiểu thực thể A, ta chỉ ra một tập con B của A, mà các thực thể trong B vừa mang các kiểu thuộc tính chung của các thực thể trong A, lại vừa thêm một số các kiểu thuộc tính mới, ta nói đó là sự chuyên biệt hóa. B được goi là kiểu thực thể con của kiểu thực thể A. Các kiểu thuộc tính của B bao gồm mọi kiểu thuộc tính của A cộng thêm các kiểu thuộc tính riêng của nó. Ta nói B thừa kế các thuộc tính của A. o Quá trình ngược lại với chuyên biệt hóa là sự khái quát hóa: Từ nhiều kiểu thực thể B, C, ta rút ra các kiểu thuộc tính chung để lập một kiểu thực thể A(với các kiểu thuộc tính chung đó) sao cho B,C, .đều là kiểu thực thể con của A. Nếu B là kiểu thực thể con của kiểu thực thể A, trong biểu diễn đồ họa, ta vẽ một mũi tên (đầu tam giác) từ B tới A Ví dụ: Nhà văn và Viên chức đều là các kiểu thực thể con của Kiểu thực thể Người NGƯỜI Số CMT Tên NHÀ VĂN VIÊN CHỨC Bút hiệu Cơ quan công tác Số tác phẩm Mức lương
  71. 4.3.3. ER hạn chế Mô hình ER hạn chế tuy bị hạn chế nhiều về các hình thức diễn tả (do đó vận dụng khó hơn), nhưng lại rất gần với mô hình quan hệ và do đó dễ chuyển sang cài đặt với một hệ quản trị CSDL quan hệ hơn. Đây chính là mô hình được dùng trong một số hệ trợ giúp thiết kế, chẳng hạn trong ORACLE. Các hạn chế: So với mô hình ER kinh điển, ER hạn chế có thêm các hạn chế mới sau Đối với kiểu liên kết hai ngôi dạng A B A B hay A B Đều được chuyển về dạng A B A B hay (không quan tâm đến min của lực lượng tham gia vào quan hệ) Đối với kiểu liên kết hai ngôi dạng A B A B hay A B hay
  72. Đều được chuyển về dạng A B A B hay 4.4. XÂY DỰNG MÔ HÌNH THỰC THỂ LIÊN KẾT 4.4.1. Xây dựng mô hình thực thể liên kết mở rộng Để xây dựng mô hình thực thể liên kết phải xác định được ba yếu tố: kiểu thực thể, các thuộc tính của kiểu thực thể và các liên kết. a. Phát hiện kiểu thực thể Từ việc xem xét cụ thể các thực thể của hệ thống mà ta suy ra có nên thiết lập kiểu thực thể tương ứng hay không. Một thực thể sẽ được mở rộng thành kiểu thực thể nếu nó thỏa mãn: o Thông tin về thực thể là cần thiết cho hệ thống. o Nó thuộc một tập các thực thể cùng loại mà hệ thống cần quản lý. Các kiểu thực thể có thể xuất hiện ở các tác nhân ngoài, các luồng thông tin nội bộ, các kho dữ liệu. Tìm các kiểu thực thể từ ba nguồn: o Thông tin tài nguyên: con người, kho bãi, tài sản, . o Thông tin giao dịch: là các nguồn thông tin đến từ môi trường mà kích hoạt một chuỗi hoạt động chuỗi hoạt động của hệ thống. o Thông tin tổng hợp: thường dưới dạng thống kê, liên quan đến vạch kế hoạch kiểm soát Ví dụ: Phát hiện kiểu thực thể của Hệ thống cung ứng vật tư  Các tài nguyên: Nhà cung cấp, Phân xưởng, Mặt hàng, Tồn kho,  Các giao dịch: Dự trù, Đơn hàng, Giao hàng, Hóa đơn, Phát hàng  Các thông tin tổng hợp: Báo cáo nhận/phát hàng. b. Phát hiện các thuộc tính
  73. Trong phần gạch chân các danh từ hoặc động từ mô tả trong bảng khảo sát, những cái nào không được xét đến mà không lập thành kiểu thực thể sẽ lập thành kiểu thuộc tính trong một kiểu thực thể mà nó mô tả Ví dụ. Bài toán vật tư sau khi thực hiện bước này ta có các kiểu thực thể như sau o Nhà cung cấp(Tên NCC, Địa chỉ NCC, Điều kiện bán hàng, Mã hàng, Đơn giá chuẩn) o Phân xưởng(Tên phân xưởng, Địa chỉ, Số điện thoại) o Mặt hàng(Mã hàng, Tên hàng, Đơn vị tính, Mô tả) o Dự trù (SH dự trù, Tên phân xưởng, Địa chỉ, Ngày dự trù, Mã hàng, Lượng đặt, Lượng yêu cầu) o Đơn hàng (SH đơn hàng, tên NCC, Ngày đơn hàng, Mã hàng, Lượng đặt, Đơn giá lượng nhận, Lượng trả tiền ) o Giao hàng(SH giao hàng, Tên NCC, Ngày giao hàng, mã hàng, Lượng giao, SH đơn hàng) o Hóa đơn (SH hóa đơn, Tên NCC, Ngày hóa đơn, Mã hàng, Số lượng, Đơn giá, Thành tiền, SH giao hàng) o Phát hàng (SH phát hàng, Tên phân xưởng, Ngày phát hàng, Mã hàng, Lượng phát) o Tồn kho(Mã hàng, Tên hàng, Đơn vị tính, Số lượng tồn) o Xuất nhập kho (SH xuất nhập, Ngày xuất nhập, Mã hàng, Lượng xuất nhập, Xuất nhập) c. Phát hiện các kiểu liên kết Chỉ xác định những liên kết giữa các kiểu thực thể đã phát hiện ở trên và ghi nhận những liên kết có ích cho quản lý. Trong bài toán Quản lý vật tư ta phát hiện các liên kết giữa chúng bằng cách duyệt lại quá trình giao dịch (Từ khi phân xưởng đưa dự trù đến khi phân xưởng nhận được hàng), gạch chân các động từ diễn tả mối liên hệ giữa các dữ liệu trong hệ thống, qua đó ta sẽ thấy được các mối liên hệ giữa các kiểu thực thể. Ta có thể vẽ ER mở rộng của bài toán quản lý vật tư như sau: