Giáo trình Phân tích hệ thống

pdf 127 trang huongle 3200
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Phân tích hệ thống", để 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:

  • pdfgiao_trinh_phan_tich_he_thong.pdf

Nội dung text: Giáo trình Phân tích hệ thống

  1. PHÂN TÍCH HỆ THỐNG
  2. PHÂN TÍCH HỆ THỐNG Giới Thiệu Phân tích hệ thống là một khâu quan trọng trọng bất kỳ một dự án tin học nào. Vấn đề phân tích và thiết kế hệ thống thông tin quản lý được đưa vào nội dung giảng dạy ở bậc đại học của nhiều ngành trong đó có ngành Công nghệ thông tin. Ðể phục vụ công tác giảng dạy của giáo viên và học tập, nghiên cứu và làm đề tài của sinh viên, theo yêu cầu trong hợp đồng với Khoa CNTT Ðại học Bách khoa TpHCM, tôi mạnh dạn biên soạn giáo trình này. Cuốn giáo trình này sẽ: ƒ Cung cấp cho người đọc những kiến thức cơ bản về hệ thống thông tin. ƒ Các cách tiếp cận để tìm hiểu một hệ thống thông tin, các phương pháp điều tra và các công cụ để tổng hợp kết quả điều tra nhằm mô tả hệ thống thông tin. Trên cở sở báo cáo tổng hợp kết quả điều tra, từng bước xây dựng các mô hình cho các thành phần và ứng với từng giai đoạn tiếp cận để các thành phần tham gia xây dựng hệ thống thông tin góp phần tự động hóa tổ chức, làm cho hệ thống hoàn thiện hơn. ƒ Ðối với sinh viên khi thực tập tốt nghiệp, nếu chọn kiểu đề tài về phân tích và thiết kế một hệ thống thông tin thì đây là tài liệu để sinh viên căn cứ vào các bước đó mà thực hiện: điều tra, báo cáo, xây dựng các mô hình. Khi soạn cuốn giáo trìnhnày tôi đã tham khảo các tài liệu: ƒ SYSTEMS ANALYSIS AND DESIGN, GERALD A.SILVER MYRNAL.SILVER Cuốn giáo trình được hoàn thành do sự đúc kết từ những kinh nghiệm xây dựng các hệ thống thông tin trong thực tế và một số năm giảng dạy môn học này cùng với sự góp ý của các cán bộ giảng dạy trong bộ môn Hệ thống thông tin và toán ứng dụng. Hy vọng nó sẽ góp ích cho các sinh viên ngành Công nghệ thông tin - đối tượng chủ yếu của giáo trình này và những ai quan tâm. Việc cho ra đời một cuốn giáo trình với những mục đích như trên là không đơn giản khi khả năng và kinh nghiệm của người soạn còn có hạn; nhiều khái niệm, thuật ngữ dùng trong giáo trình chưa được định nghĩa một cách chính thống. Vì vậy cuốn tài liệu này chắc tránh khỏi những khiếm khuyết, rất mong nhận được sự góp ý của các đồng nghiệp và người đọc.
  3. Chương I Giới Thiệu Về Hệ Thống Thông Tin I.1. KHÁI NIỆM VỀ HỆ THỐNG I.1.1 Hệ thống Hệ thống là một thuật ngữ dùng để chỉ những đồ vật (things), những tình trạng (conditions), những phương thức (methods). Chẳng hạn hệ thống thanh toán, hệ thống truyền thông hay hệ thống giao thông. Hệ thống là một tập hợp các đối tượng, các thành phần có quan hệ với nhau, tương tác với nhau theo những nguyên tắc, những cơ chế nào đó nhưng tồn tại trong một thể thống nhất. Trong một hệ thống, mỗi một thành phần có thể có những chức năng khác nhau nhưng khi kết hợp lại chúng chúng có những chức năng đặc biệt. Thí dụ: tất cả thứ như: giá đỡ, bánh xe, phụ tùng, dây dẫn, đai ốc, bulông, nhãn hiệu, , mỗi thứ có một chức năng riêng, nhưng nếu chúng được lắp ráp một cách hợp lý tạo thành một chiếc ôtô thì chúng có khả năng di chuyển nhanh, chuyên chở nặng Giá trị của toàn bộ hệ thống hơn hẵn giá trị của tất cả tạo nên nó cộng lại. Các hệ thống có thể có các mối quan hệ: • Phân cách nhau và phân cách với môi trường bên ngoài. Một hệ thống có thể nhận các đối tượng từ môi trường bên ngoài vào, biến đổi chúng và cũng có thể kết xuất ra môi trường bên ngoài. Kết quả của kết xuất có khi đánh giá bằng phạm trù tiêu chuẩn kết xuất. • Bao hàm nhau: hệ thống này là bộ phận hay chứa hệ thống kia.
  4. • Giao nhau: các thành phần của hệ thống này cũng là thành phần của hệ thống khác. Chẳng hạn sông ngòi vừa là một đối tượng của hệ thống địa lý vừa là thành phần của hệ thống giao thông. • Có thể có ảnh hưởng qua lại lẫn nhau. Có hệ thống đơn giản: ít phần tử, ít mối quan hệ hay các mối quan hệ đơn giản; nhưng cũng có những hệ thống phức tạp: nhiều phần tử, nhiều mối quan hệ và các mối quan hệ phức tạp. Vì vậy các hệ thống thường có cấu trúc, hoạt động theo các nguyên lý chặt chẽ, nói tóm lại là hoạt động một cách có tổ chức. Thuật ngữ hệ thống thường dùng để chỉ các tổ chức hoạt động có cơ chế quy cũ, mà nhiều khi chúng ta đồng nhất nghĩa của hai thuật ngữ tổ chức và hệ thống với nhau. I.1.2. Phân loại các hệ thống Có nhiều quan điểm để phân loại các hệ thống: theo chủ thể tạo ra chúng, theo tính chất của chúng, vân vân. Cách phân loại theo tính chất của hệ thống: Hệ thống mở hay còn được gọi là hệ thống có tính xác suất trong đó đầu vào, đầu ra không thể xác định chính xác nhưng có thể dự đoán được. Chẳng hạn hệ thống đặt chổ vé máy bay không thể đoán chính xác bao nhiêu chỗ sẽ được đặt cho một chuyến bay nào đó. Hệ thống đóng là hệ thống có thể đoán trước kết quả đầu ra nếu biết đầu vào. Chính vì vậy mà hệ thống đóng dễ quản lý hơn hệ thống mở. Cách phân loại theo chủ thể tạo ra hệ thống: ƒ Các hệ thống tự nhiên (không do con người tạo ra). Thí dụ: các nguyên tử, phân tử, tế bào, vật chất: (sông ngòi, núi non ), tổ chức sống (thực vật, động vật), các hành tinh, các thiên hà, vũ trụ ƒ Các hệ thống do con người tạo nên. Thí dụ: Trường học, bệnh viện, máy tính, đơn vị công ty, nhà nước,
  5. Trong các hệ thống do con người tạo ra có những hệ thống có thể tự động hóa, nghĩa là có thể điều khiển cơ chế hoạt động bằng máy tính. Nhờ sự phát triển của khoa học kỹ thuật, đặc biệt là khoa học công nghệ thông tin, con người đã tạo ra những hệ thống tự động và mong muốn điều khiển (toàn bộ hay phần nào) hoạt động của cả các hệ thống do họ đã tạo ra và các hệ thống tự nhiên. Do đó để cải tiến chúng phải có sự hiểu biết về hệ thống đó một cách đầy đủ và chính xác. Từ đây về sau, trong cuốn giáo trìnhnày chúng tôi chỉ đề cập đến những tổ chức (hay hệ thống) có thể giải quyết (toàn bộ hay phần nào) bằng sự trợ giúp của máy tính, tiếp cận hệ thống với ý niệm mong muốn tự động hóa chúng, cải tiến chúng. I.1.3. Cấu tạo của một hệ thống Một hệ thống có thể bao gồm nhiều bộ phận, thành phần mà ta thường gọi là hệ thống con (subsystems). Mỗi một hệ thống con đảm nhận một số tác vụ riêng biệt nào đó trong hệ thống lớn mà nó là một thành phần. Thí dụ: hệ thống thông tin bao gồm mạng truyền thông, hệ thống điện thọai, các máy tính và những con người thao tác chúng. Môi trường là những con người, phương tiện, quy luật, chính sách bao quanh hệ thống. Một hệ thống không thể họat động độc lập, cho nên tìm hiểu một hệ thống không thể không quan tâm tới môi trường bao quanh hệ thống đó.
  6. Biên hay giới hạn (boundaries) là chu vi hay đường ranh giới giữa một hệ thống và môi trường bên ngoài. Nó cách biệt giữa các phần tử tạo nên hệ thống và thế giới bên ngoài. Trong một số trường hợp biên của nó dễ xác định, nhưng cũng có những hệ thống mà biên không rõ ràng. Ðầu vào (inputs) của một hệ thống là các đối tượng từ môi trường bên ngoài tham gia vào hệ thống. Hệ thống tác động lên chúng. biến đổi chúng tạo thành các kết quả đầu ra. Không có đầu vào hệ thống không thể tạo được kết quả đầu ra. Thành phần xử lý (processing) của một hệ thống có chức năng biến đổi từ các đối tượng đầu vào thành kết quả đầu ra. Ðầu ra (outputs) là sản phẩm, là kết quả của xử lý. Một số thí dụ: Phép toán x Õ x2 , đầu vào nhận một số thực, kết xuất là một số thực bằng bình phương số thực đó, xử lý đơn giản ở đây là phép bình phương. Một nhà máy nhận các nguồn như: nguyên liệu, nhiên liệu, sức lao động theo những quy trình hợp lý để tạo ra các sản phẩm. Một trường học nhận các thí sinh đạt tiêu chuẩn sau kỳ tuyển sinh, qua quá trình đào tạo thông qua sự giảng dạy của các giáo viên, giáo trình, các phương tiện nghiên cứu, cho ra trường những học viên tốt nghiệp. Một hệ thống quản lý dữ liệu bao gồm việc thu thập, lưu trữ, tìm kiếm, sắp xếp, tổng hợp, tính toán và những thao tác tương tự. Kết quả của một hệ thống thông tin có thể bao gồm các báo cáo, biểu đồ, các tập tin kết xuất Ðối với những hệ thống phức tạp, có thể nhận nhiều loại đối tượng từ thế giới bên ngoài, và bộ xử lý của nó cũng gồm nhiều bộ phận, các bộ phận chia làm hai loại:
  7. Các bộ xử lý chức năng đảm bảo các mục tiêu của hệ thống. Những xử lý này tác động lên những đối tượng đầu vào theo những qui trình nghiêm ngặt, tạo ra các đối tượng kết xuất ra môi trường bên ngoài. Các bộ xử lý tiết chế nhằm giữ cho hệ thống ổn định. Có những bộ phận kiểm soát các đối tượng đầu vào, các kết quả đầu ra và các bộ xử lý khác nghĩa là kiểm soát lẫn nhau. Có một phạm trù đặc biệt kiểm soát đầu vào và đầu ra gọi là các tiêu chuẩn nạp nhập và tiêu chuẩn kết xuất. Chẳng hạn, tiêu chuẩn tuyển sinh để kiểm soát thí sinh đậu vào trường, điểm bình quân gia quyền để xác định điểm trung bình mỗi học kỳ của sinh viên, trên cơ sở đó xét học bổng, lên lớp cuối mỗi năm, và tốt nghiệp khi ra trường. I.1.4. Các thành phần của một hệ thống Một hệ thống có thể phân hoạch thành 3 bộ phận như sau: 1 - Bộ phận tác vụ: thường gồm nhiều bộ xử lý sơ cấp hơn, nhận các luồng thông tin từ thế giới bên ngoài, tác động lên chúng hoặc làm việc với chúng. Bộ phận tác vụ là một hệ thống xác định, nghĩa là các bộ xử lý cấu tạo nên nó sử dụng các quy tắc ứng xử đã được cố định do bộ phận quyết định, sao cho các dữ liệu nhập giống nhau sinh ra cùng dữ liệu xuất.
  8. 2 -Bộ phận quản lý: Bộ phận quản lý của một hệ thống là một tập hợp có tổ chức của các phương tiện thông tin, nhằm mục đích cung cấp một sự biểu diễn cho hoạt động của tổ chức đó. Nó có các chức năng: ƒ Thu thập thông tin đến (từ Bộ phận quyết định, Bộ phận tác vụ, môi trường bên ngoài). ƒ Lưu trữ các thông tin này hoặc lưu các kết quả xử lý của chúng. ƒ Xử lý theo yêu cầu của bộ phận tác vụ và bộ phận quyết định Nó có hai bộ phận con: ƒ Bộ phận ghi nhớ, lưu trữ thông tin. ƒ Bộ phận xử lý thông tin. 3 - Bộ phận quyết định: có chức năng đưa ra những quyết định mục tiêu hoạt động, sự tồn tại và phát triển của tổ chức. Những quyết định thường dựa vào sự biểu diễn thông tin đã dùng để lấy quyết định, nhưng không thể đoán trước được. I.2. THÔNG TIN (INFORMATION) I.2.1. Khái niệm về thông tin Thông tin là một hay tập hợp những phần tử mà ta thường gọi là các tín hiệu phản ánh ý nghĩa về một đối tượng, một hiện tượng hay một quá trình nào đó của sự vật thông qua quá trình nhận thức. Tín hiệu được biểu hiện dưới nhiều dạng khác nhau: ngôn ngữ (tiếng nói, văn bản chữ viết, động tác), hình ảnh, âm thanh, mùi vị được nhận biết thông qua các cơ quan cảm giác và quá trình nhận thức. Cần chú ý là cùng một (hoặc một tập hợp) tín hiệu nhưng tùy những ngữ cảnh khác nhau thể hiện những thông tin khác nhau và cùng một thông tin cũng có thể biểu diễn bằng những dạng tín hiệu khác nhau. Một tổ chức có thể được nhìn nhận, xem xét dưới những góc độ khác nhau, cho nên có nhiều dạng thông tin khác nhau. Tập hợp tất cả những thông tin về một tổ chức cho ta tiếp cận sự hiểu biết về tổ chức đó.
  9. Trong tin học, thông tin là sự tinh lọc từ việc xử lý dữ liệu. Chính vì vậy mà hai thành phần quan trọng của hệ thống thông tin là thành phần dữ liệu và thành phần xử lý. I.2.2. Tính chất Hai tính chất chủ yếu là giá thành (cost) và giá trị (value). Giá thành và giá trị của một thông tin là giá thành và giá trị của các phần tử khác nhau cấu thành nên thông tin đó. Giá thành của một thông tin là chi phí phải trả vào việc thu thập, lưu trữ, biến đổi và truyền các thông tin cơ sở cấu thành nên thông tin đó. Ví dụ: Chi phí phải trả cho việc điều tra dân số, đo đạc địa hình hành chánh, lưu trữ, và xử lý để có thông tin về mật độ dân số trên từng đơn vị diện tích hay đơn vị hành chánh. Giá trị phụ thuộc vào: ƒ Bản chất thông tin. ƒ Tính trung thực. ƒ Thời điểm. ƒ Mức độ hiếm hoi. ƒ Giá thành. ƒ Sự biểu diễn thông tin. ƒ Chủ thể sử dụng thông tin. Ta thấy, giá trị thông tin được xác định bởi cái mà nó sẽ phục vụ cho. Như vậy, thông tin chỉ có giá trị nếu nó đáp ứng được một nhu cầu nào đó. Nếu không khai thác được, nó sẽ trở thành vô ích. I.3. HỆ THỐNG THÔNG TIN
  10. I.3.1. Khái niệm về hệ thống thông tin Hệ thống thông tin của một tổ chức là tập hợp có hệ thống những thông tin về tổ chức đó. Một tổ chức, như chúng ta đã biết, thường gồm nhiều lớp đối tượng đa dạng, nhiều mối quan hệ, nhiều quy trình xử lý, biến đổi phức tạp, cho nên để phản ánh bản chất của nó, nói cách khác là để có sự hiểu biết đầy đủ về nó phải nghiên cứu để có một sự biểu diễn thích hợp. Thí dụ: Tập hợp các báo cáo kế toán của một tổ chức là hệ thống thông tin về hoạt động tài chính của đơn vị đó. Học bạ và bằng tốt nghiệp là hệ thống thông tin về kết quả học tập và rèn luyện của học sinh, sinh viên trong quá trình đào tạo tại nhà trường I.3.2. Vai trò của hệ thống thông tin ƒ Cung cấp một sự biểu diễn để tiếp cận sự hiểu biết chính xác về tổ chức. ƒ Trên cơ sở hệ thống thông tin về tổ chức (có được sự hiểu biết về tổ chức) có thể khắc phục những thiếu sót, cải tiến những qui trình chưa hợp lý để hệ thống hoạt động có hiệu quả hơn. Một tổ chức gồm nhiều phần tử tương tác động với nhau, nghĩa là luôn sinh ra một môi trường bên trong biến đổi. Ngoài ra, tổ chức còn phải đối phó với thế giới bên ngoài cũng không ngừng biến động. Như vậy, hệ thống thông tin về tổ chức là cơ sở để kiểm soát đầu vào, đầu ra và các qui trình xử lý bên trong để có thể thích nghi với những biến động ở bên trong lẫn bên ngoài để giữ cho mục tiêu của tổ chức không ra ngoài giới hạn cho phép và nhằm đảm bảo tính ổn định cũng như phát triển của hệ thống. I.4. CÁC PHƯƠNG TIỆN Các phương tiện dùng trong quá trình xây dựng hệ thống thông tin. I.4.1 Mô hình
  11. Mô hình là một tập hợp các phần tử thường được dùng trong phép tương ứng với những lớp các đối tượng, các quan hệ nào đó trong lĩnh vực cần mô tả để có một sự biểu diễn cô đọng, tổng quát, có ý nghĩa, đơn giản và dễ hiểu. Trong tin học mô hình là phương pháp cho tương ứng những phạm trù trừu tượng, phức tạp trong thế giới thực và thậm chí ngay cả trong tin học để có cách nhìn trực quan, dễ hiểu, từ đó có thể từng bước tin học hóa toàn bộ hay một phần lĩnh vực đó. Sự biểu diễn thường được thể hiện trên các trang giấy hoặc trong một máy tính mà qua đó những người phân tích hệ thống có thể đánh giá, sửa chữa, thử nghiệm trước khi chúng thực sự đưa ra áp dụng trong thực tế. Các mô hình hệ thống giống như các bản vẽ của một tòa nhà. Nếu có nó thì quá dễ dàng cho các kiến trúc sư, các kỹ sư, và những người thợ thủ công thiết kế, xây lắp các vách ngăn, lắp đặt hệ thống điện, nước, truyền thông và những thiết bị khác nếu chúng có một mô hình trên giấy. Trong thương mại, các phân tích viên dùng mô hình mô tả các hệ thống hóa đơn và tài khoản, hệ thống xử lý tồn kho và chi trả tiền lương, cũng như các hệ thống sản xuất. Một mô hình hệ thống được lập thông qua một loạt các lưu đồ thiết kế (design diagrams). Một lưu đồ thiết kế là một sự biểu diễn đồ họa trực quan của một cấu trúc nào đó. Lưu đồ thiết kế bao gồm các lưu đồ ngữ cảnh các xử lý, lưu đồ dòng dữ liệu, sơ đồ cấu trúc, cây quyết định, Phương pháp mô hình hóa trong phân tích hệ thống là cách thức dùng hình thức đồ họa để biểu diễn thông tin về các tổ chức để có sự hiểu biết về chúng một cách trực quan. I.4.2. Phương pháp Các phương pháp là cách thức tiếp cận để tìm hiểu và biểu diễn hệ thông thông tin về tổ chức. Do tính chất phức tạp của một tổ chức, quá trình tìm hiểu tổ chức (hay quá trình xây dựng hệ thống thông tin của một tổ chức) được chia thành nhiều giai đoạn, đối tượng tìm hiểu được chia thành một số lĩnh vực khác nhau; các giai đoạn khác nhau cùng với từng lĩnh vực khác nhau thường có những phương pháp khác nhau thích ứng với chúng (thường thể hiện bằng những mô hình khác nhau).
  12. I.4.3. Công cụ Công cụ thủ công: thường dùng ở các giai đoạn ban đầu trong quá trình xây dựng hệ thống thông tin. Tuỳ theo từng giai đoạn mà người ta dùng công cụ thích hợp. Trong giai đoạn mô tả, tổng hợp các kết quả điều tra để có nhận thức ban đầu về hệ thống, công cụ chủ yếu là dùng văn bản (thường là văn bản được viết chặt chẽ: cây quyết định, bảng quyết định, bảng điều kiện, các công thức, kết hợp với các vật chứng), lưu đồ ngữ cảnh về dữ liệu. Mức quan niệm người ta dùng mô hình thực thể – kết hợp để mô tả thành phần dữ liệu, lưu đồ dòng dữ liệu để mô tả thành phần xử lý. Công cụ tin học: thường dùng ở giai đoạn logic hay còn gọi là giai đoạn thiết kế và giai đoạn vật lý cho hệ thống thông tin. Tuy nhiên hiện nay có nhiều công cụ tin học cho phép thực hiện nhiều giai đoạn cũng như chuyển từ giai đoạn này sang giai đoạn khác trong quá trình xây dựng hệ thống thông tin. • Phần mềm lập kế hoạch - ứng với giai đoạn lập kế hoạch (chẳng hạn Microsoft Project). • Phần mềm thiết kế – ứng với giai đoạn thiết kế (chẳng hạn Power Designer, Erwin, Designer 2000 ORACLE). Trong đó có các chức năng trợ giúp. o Thiết kế dữ liệu. o Thiết kế xử lý. o Thiết kế giao diện. • Các hệ CSDL, các ngôn ngữ lập trình – ứng với giai đoạn lập trình, thử nghiệm và bảo trì. Những công cụ sẽ được trình bày chi tiết trong các giai đoạn thích hợp. I.5. TỔNG QUÁT VỀ QUÁ TRÌNH ÁP DỤNG TIN HỌC Quá trình áp dụng một dự án tin học có thể chia thành nhiều giai đoạn, mỗi giai đoạn cũng có thể chia làm nhiều bước. Trình tự các bước không tuyến tính mà có dạng xoáy trôn ốc, hay đơn giản chúng có dạng thác nước.
  13. I.5.1. Nghiên cứu sơ bộ (Initial investigation) Giai đoạn này giới thiệu các mục tiêu của điều tra ban đầu, các bước này yêu cầu phải tiến hành đầu tiên trong công tác điều tra; các nhiệm vụ liên quan trong giai đoạn này là: Thu thập dữ liệu thông qua phỏng vấn, điều tra, và quan sát tổ chức. Nó cũng bao gồm những thông tin và những tang vật mà chúng sẽ được đề cập trong báo cáo điều tra đầu tiên. Nhiệm vụ của giai đoạn này là trách nhiệm của những người lãnh đạo tổ chức, những người dùng và những người phân tích hệ thống. I.5.2. Nghiên cứu khả thi (Feasibility study) Giai đoạn này xác định: ƒ Mô tả hệ thống hiện tại.
  14. ƒ Những vấn đề còn tồn tại của hệ thống. Trên cơ sở đó, quyết định xem có cần tự động hóa, tin học hóa hay không hay tự động hóa toàn bộ hệ thống hay trong khâu nào. Nếu cần tự động hóa thì dự đoán khả năng hệ thống tương lai kèm theo các giải pháp và những yêu cầu về các khía cạnh chính sách, tổ chức, kỹ thuật, chi phí cần thiết cho từng giải pháp tương ứng. Nhiệm vụ của giai đoạn này là trách nhiệm của những người phân tích hệ thống, những người lãnh đạo và những người quản lý. I.5.3. Nghiên cứu chi tiết (detail study) Sau khi đã chọn giải pháp cho hệ thống thông tin mới. Thỏa thuận với người sử dụng cũng như với những người có trách nhiệm (lãnh đạo tổ chức hoặc quản lý) về các quy tắc quản lý, kế hoạch thực hiện và các những thủ tục liên quan. Việc thõa thuận này có thể biểu thị bằng một hợp đồng trách nhiệm chặt chẽ giữa các bên. Nhiệm vụ của giai đoạn này là trách nhiệm của những người phân tích hệ thống và lãnh đạo, những người có trách nhiệm đối với tổ chức. I.5.4. Nghiên cứu kỹ thuật (technical study) Thỏa thuận về một cơ cấu kỹ thuật (phần cứng, phần mềm, trình độ và kỷ năng những người thao tác) và các phương thức sử dụng. Nhiệm vụ của giai đoạn này là trách nhiệm của những người thiết kế hệ thống.
  15. I.5.5. Tạo phần mềm (production software) Cho hệ thống mới bắt đầu hoạt động với các chương trình thử nghiệm. Nếu hệ thống có những khiếm khuyết thì phải phát hiện nguyên nhân do khâu nào và phản ánh với những người có trách nhiệm thuộc khâu đó. Nhiệm vụ của giai đoạn này là trách nhiệm của những người lập trình và người hiệu chỉnh chương trình. I.5.6. Sử dụng (implementation) Hệ thống mới được cài đặt vào môi trường thực sự. Nhiệm vụ của giai đoạn này chủ yếu là trách nhiệm của những người dùng. I.5.7. Khai thác và Bảo trì (maintenance) Hệ thống mới vừa hoạt động, vừa để ý đến các thay đổi trong nội bộ lẫn các đòi hỏi của môi trường biến chuyển bên ngoài để thích ứng theo. Nhiệm vụ của giai đoạn này là trách nhiệm của tất cả các thành phần. I.6. CÁC THÀNH PHẦN THAM GIA I.6.1. Người dùng (Users) Người dùng là người mà tổ chức phải phục vụ (có thể bên ngoài tổ chức). Thí dụ khách hàng cũng có thể là người thao tác trong bộ phận tác vụ hay trong bộ phận quản lý. Chức năng của người dùng: ƒ Cung cấp thông tin cho người phân tích hệ thống về tổ chức hiện tại. ƒ Ðưa yêu cầu cho hệ thống tương lai.
  16. ƒ Thử nghiệm, kiểm chứng, khai thác và sử dụng hệ thống thông tin. I.6.2. Người quản lý (Manager) Người quản lý là những người chịu trách nhiệm về một lĩnh vực nào đó của hệ thống. Họ là người am hiểu tường tận về lĩnh vực của họ. Ðó là đối tượng mà người phân tích hệ thống phải liên hệ để hiểu những yêu cầu của hệ thống cũng như của chính họ nhằm mô tả chính xác hệ thống hiện tại và làm cơ sở cho việc cải tiến nó nếu chưa hợp lý. I.6.3. Người hiệu chỉnh (Auditors) Tùy mức độ của đề án có thể có hoặc không có (đối với đề án nhỏ hoặc đơn giản) thành phần này. I.6.4. Người phân tích hệ thống (System analysts) Người phân tích hệ thống là chìa khóa của bất kỳ sự phát triển dự án nào, trên cương vị đó, họ đóng một số vai trò như sau: • Thu thập thông tin: thông qua công tác điều tra nghiên cứu bằng các phương pháp như: phỏng vấn, quan sát, tham khảo hồ sơ, tài liệu kết hợp với kinh nghiệm của bản thân để xây dựng thông tin hiện tại cho tổ chức. Người phân tích hệ thống phải có khả năng nắm bắt và hiểu thấu đáo những yêu cầu của người dùngï, có kiến thức thức về kỷ thuật máy tính, biết ứng dụng thành tựu công nghệ thông tin vào giải quyết những vấn đề thực tế. • Người phân tích hệ thống là người tự tìm thấy chính bản thân mình trong những thành phần tham gia xây dựng hệ thống: những người dùng, những người quản lý, những người lập trình, người hiệu chỉnh, và hàng loạt những người với những vai trò khác nhau khác, tất cả họ thường có những bất đồng với những người khác trong nhận thức về hệ thống thông tin. Bằng sự hiểu biết và những kinh nghiệm trong việc xây dựng hệ thống thông tin, người phân tích hệ thống phải là người làm trung gian hoà giải những bất đồng giữa các thành phần trên. • Người phân tích hệ thống là người lãnh đạo đồ án (Project leader): Thông thường người phân tích hệ thống là người có nhiều kinh nghiệm hơn những thành phần khác cho nên họ được giao đề án trước khi những người lập trình
  17. bắt đầu làm các công việc tiếp theo. Chính vì vậy, khuynh hướng tự nhiên là người ta gán trách nhiệm quản lý đề án cho những người phân tích hệ thống. I.6.5. Người thiết kế hệ thống (System designers) Những người thiết kế hệ thống là người (hoặc một nhóm người) mà họ sẽ nhận kết xuất từ những người phân tích hệ thống. Công việc của họ là chuyển mỗi phát biểu tự do về kỷ thuật về những yêu cầu của người dùng thành một thiết kế có tính kiến trúc cấp cao hơn. Nó là cái sườn mà dựa vào đó các nhà lập trình có thể triển khai làm việc. Trong nhiều trường hợp người phân tích hệ thống và người thiết kế hệ thống là một, hoặc là thành viên của cùng một nhóm người. Ðiều quan trọng là những người phân tích hệ thống và những người thiết kế hệ thống làm việc gần gũi với nhau từ đầu đến cuối đề án. I.6.6. Người lập trình (Programers) Người lập trình là những người nhận kết xuất từ những người thiết kế hệ thống, dùng ngôn ngữ lập trình để triển khai chúng, kiểm tra và thử nghiệm chương trình. Những người phân tích hệ thống bàn giao kết quả công việc đã làm của họ cho những người thiết kế hệ thống, và những người thiết kế hệ thống lại chuyển giao sản phẩm của họ cho những người lập trình để họ thảo chương. Ðối với những đề án lớn công việc thường tiến hành theo một chuỗi tuần tự nghiêm ngặt nên phải tách bạch quá trình thực hiện thành từng giai đoạn và phân hoạch những người tham gia thành các nhóm để theo dõi, kiểm tra cũng như phân chia trách nhiệm. Chính vì vậy, công việc của những người phân tích hệ thống tiến hành đầu tiên và phải được hoàn thành hoàn chỉnh trước khi công việc của những người thiết kế và những người lập trình bắt đầu. I.6.7. Người điều hành (Operational personnel) Người điều hành là người có trách nhiệm trong trung tâm máy tính, mạng viễn thông điện tử, chịu trách nhiệm về sự an toàn của phần cứng, phần mềm và dữ liệu trong máy tính. Thường là người chịu trách nhiệm phân các quyền can thệp vào hệ thống cho các thành phần tham gia (chủ yếu cho các nhóm người dùng).
  18. I.7. MỘT SỐ PHƯƠNG PHÁP PHÂN TÍCH THIẾT KẾ HỆ THỐNG Lịch sử hình thành và phát triển các phương pháp phân tích và thiết kế hệ thống thông tin có từ lâu và rất đa dạng. Trước khi những phương pháp phân tích thiết kế hệ thống chính thống ra đời đã có những phương pháp phân tích cổ điển. Từ sự phát triển tột bậc của khoa học công nghệ thông tin trong vài ba thập niên trở lại đây, các tổ chức mà con người muốn tự động hóa càng ngày càng phức tạp, yêu cầu tự động hóa càng cao và các đòi hỏi của người dùng càng khắt ke hơn, các phương pháp cổ điển đó không đáp ứng được. Cho tới nay trên thế giới đã hình thành nhiều phương pháp, nhiều trường phái quan tâm đến lĩnh vực này. I.7.1 Phương pháp MERISE (MEthode pour Rassembler les Idees Sans Effort) Phương pháp này có nguồn gốc từ Pháp, ra đời vào cuối thập niên 70. Hiện được dùng nhiều ở Pháp và các nước châu Âu. Ý tưởng cơ bản của phương pháp MERISE là sau giai đoạn tiếp cận, điều tra và tổng hợp, phân chia hệ thống thành hai thành phần: dữ liệu và xử lý, và chia quá trình phát triển hệ thống thành 3 mức tiếp cận: quan niệm, logic và vật lý. Với mỗi thành phần và mỗi mức tiếp cận có một mô hình tương ứng, mỗi một mức tiếp cận thường do một hoặc một số thành phần trong hệ thống đảm nhận. Ưu điểm của phương pháp MERISE có cơ sở khoa học vững chắc, hiện được dùng nhiều ở Pháp và các nước châu Âu. Nhược điểm của phương pháp này là cồng kềnh, do đó nó không thích hợp trong việc dùng nó để giải quyết những đề án nhỏ. I.7.2 Phương pháp SADT (Structured Analysis and Design) Phương pháp này xuất phát từ Mỹ, ý tưởng cơ bản của nó là phân rã một hệ thống thành các phân hệ nhỏ và đơn giản. SADT được xây dựng dựa trên các nguyên lý sau: ƒ Xuất phát từ một mô hình. ƒ Phân tích đi xuống: từ tổng thể đến chi tiết.
  19. ƒ Dùng một mô hình chức năng và một mô hình quan niệm. ƒ Thể hiện tính đối ngẫu của hệ thống. ƒ Sử dụng các biểu diễn dưới dạng đồ họa. ƒ Phối hợp hoạt động của nhóm. ƒ Ưu tiên tuyệt đối cho hồ sơ viết. SADT sử dụng các kỷ thuật sau: ƒ Lưu đồ dòng dữ liệu. ƒ Từ điển dữ liệu. ƒ Ngôn ngữ giả (Anh ngữ có cấu trúc). ƒ Bảng quyết định. ƒ Cây quyết định. Nhược điểm của phương pháp này là không bao gồm toàn bộ tiến trình phân tích và nếu không thận trọng sử dụng SADT có thể dẫn đến tình trạng trùng lắp thông tin. I.7.3 Phương pháp MCX (Methode de xavier castellani) Phương pháp này có nguồn gốc từ Pháp, do các giáo sư của học viện tin học xí nghiệp tạo ra. Nó cho phép xây dụng một mô hình tổng quát cũng như phân hệ của hệ thống thông tin, phân tích các thành phần dữ liệu và lượng hóa các xử lý cũng như truyền thông các hệ thống thông tin. Phương pháp MCX phân hoạch quá trình phân tích thành các giai đoạn: ƒ Phân tích vĩ mô. ƒ Phân tích sơ bộ. ƒ Phân tích quan niệm. ƒ Phân tích chức năng. ƒ Phân tích cấu trúc. Phương pháp này khá hữu hiệu, thích hợp với việc thực hành. Nhược điểm của nó là hơi rườm rà. I.7.4 Phương pháp phân tích hướng đối tượng (Object Oriented Analysis)
  20. Phương pháp phân tích hướng đối tượng hình thành giữa thập niên 80 dựa trên ý tưởng lập trình hướng đối tượng. Phương pháp này đã phát triển, hoàn thiện và hiện nay rất phổ dụng. Nó dựa trên một số khái niệm cơ bản sau: Ðối tượng (Object): gồm dữ liệu và thủ tục tác động lên dữ liệu này. Ðóng gói (Encapsulation): Không cho phép tác động trực tiếp lên dữ liệu của đối tượng mà phải thông qua các phương pháp trung gian. Lớp (Class): Tập hợp các đối tượng có chung một cấu trúc dữ liệu và cùng một phương pháp. Kế thừa (Heritage): tính chất kế thừa là đặc tính cho phép định nghĩa một lớp mới từ các lớp đã có bằng cách thêm vào đó những dữ liệu mới, các phương pháp mới có thể kế thừa những đặc tính của lớp cũ. Chương II Mô Tả Hệ Thống Nói chung hệ thống là phức tạp, để tìm hiểu bản chất của nó, biểu diễn nó một cách chính xác, đòi hỏi phải có thời gian và phương pháp. Do đó quá trình tiếp cận thường chia ra nhiều pha, giữa các pha này cũng có những mối liên hệ lẫn nhau không phải theo thứ tự tuyến tính mà theo kiểu mô hình thác nước đổ hay mô hình xoắn ốc. Kết quả cần đạt được sau giai đoạn này là phải có một hồ sơ phân tích về tổ chức hiện tại (còn gọi là bản mô tả hệ thống) để từ đó làm cơ sở cho việc tiến hành bước mô hình hóa tiếp theo. II.1. TÌM HIỂU CÁC YÊU CẦU CỦA TỔ CHỨC
  21. Phương pháp phân tích hướng đối tượng hình thành giữa thập niên 80 dựa trên ý tưởng lập trình hướng đối tượng. Phương pháp này đã phát triển, hoàn thiện và hiện nay rất phổ dụng. Nó dựa trên một số khái niệm cơ bản sau: Ðối tượng (Object): gồm dữ liệu và thủ tục tác động lên dữ liệu này. Ðóng gói (Encapsulation): Không cho phép tác động trực tiếp lên dữ liệu của đối tượng mà phải thông qua các phương pháp trung gian. Lớp (Class): Tập hợp các đối tượng có chung một cấu trúc dữ liệu và cùng một phương pháp. Kế thừa (Heritage): tính chất kế thừa là đặc tính cho phép định nghĩa một lớp mới từ các lớp đã có bằng cách thêm vào đó những dữ liệu mới, các phương pháp mới có thể kế thừa những đặc tính của lớp cũ. Chương II Mô Tả Hệ Thống Nói chung hệ thống là phức tạp, để tìm hiểu bản chất của nó, biểu diễn nó một cách chính xác, đòi hỏi phải có thời gian và phương pháp. Do đó quá trình tiếp cận thường chia ra nhiều pha, giữa các pha này cũng có những mối liên hệ lẫn nhau không phải theo thứ tự tuyến tính mà theo kiểu mô hình thác nước đổ hay mô hình xoắn ốc. Kết quả cần đạt được sau giai đoạn này là phải có một hồ sơ phân tích về tổ chức hiện tại (còn gọi là bản mô tả hệ thống) để từ đó làm cơ sở cho việc tiến hành bước mô hình hóa tiếp theo. II.1. TÌM HIỂU CÁC YÊU CẦU CỦA TỔ CHỨC
  22. Ðể phát triển một hệ thống phải dựa trên các yêu cầu của chính tổ chức và của những thành phần tham gia vào đề án phát triển hệ thống đó. Có thể phân chia các yêu cầu thành 3 nhóm chính: • Các yêu cầu của chính hệ thống. • Các yêu cầu của người dùng. • Các yêu cầu kỷ thuật. Những yêu cần này thường mâu thuẫn nhau. Vai trò của người phân tích hệ thống là phải biết dung hòa các yêu cầu này. II.1.1. Các yêu cầu của hệ thống • Hệ thống phải phù hợp với các mục tiêu, chiến lược của tổ chức: Những thay đổi nhỏ trong sự phát triển của tổ chức có thể có một ảnh hưởng lớn trong các yêu cầu của hệ thống thông tin. Bởi vậy, trong quá trình phát triển hệ thống, những yêu cầu này cần được kiểm tra thường xuyên để nó phù hợp với những chiến lược chung. • Hệ thống thông tin phải tạo ra những trợ giúp quyết định. Hệ thống phải tinh lọc từ dữ liệu tạo ra những thông tin hữu ích. Kết hợp với khả năng phân tích, tổng hợp của người có trách nhiệm, hệ thống thông tin đóng một vai trò quan trọng việc làm cơ sở để bộ phận lãnh đạo có thể dựa vào đó mà ban hành các quyết định hợp lý. • Hệ thống phải không gây ra những tác hại cho các tổ chức khác (chẳng hạn đối với môi trường bên ngoài). • Hệ thống phải trả lại sự đầu tư (Return on investment): Một hệ thống thông tin mới cần chỉ ra lợi nhuận mà nó có thể mang lại, bởi vì quyết định đầu tư, chi phí phát triển và chi phí vận hành phải dựa trên phân tích tài chính.
  23. • Hệ thống phải tiết kiệm tài nguyên và nhân lực: tài nguyên và nhân lực thay đổi sẽ ảnh hưởng đến số lượng nhân viên, kỹ năng và khối lượng công việc của nhân viên. Trong nhiều trường hợp khi cấu trúc nguồn nhân lực không thay đổi, nhưng khối lượng công việc và yêu cầu kỹ năng của nhân viên phải nâng cao hơn. • Hệ thống phải trợ giúp quản lý điều hành: Việc cung cấp các thông tin chi tiết, tạo các báo cáo nhanh, chính xác có thể giúp người lãnh đạo có các quyết định giúp cho công việc quản lý, điều hành uyển chuyển và hiệu quả. • Hệ thống phải cải thiện truyền thông thông tin (Improving information communication). Ðó là việc tối ưu hóa luồng thông tin bao gồm: việc chuẩn bị những thông tin, việc cập nhật làm sao cho nhanh chóng và hợp lý, việc kết xuất thông tin phải có chất lượng, đầy đủ và kịp thời. Sản phẩm thông tin là kết quả cuối cùng của hệ thống thông tin. Chúng ta cần phải chú ý đặc biệt tới các yêu cầu của sản phẩm thông tin để mà phân tích cẩn thận. Những yêu cầu này sẽ được thường xuyên so sánh với các chiến lược tổng quát trong khi phát triển hệ thống. II.1.2. Các yêu cầu của người dùng (users requirements) Những người dùng là những người thường xuyên sử dụng hệ thống thông tin để quản lý tổ chức của họ. Họ là một trong những người hiểu biết hệ thống thông tin hiện tại (từ nguồn thông tin, các yêu cầu của người quản lý tới các thiếu sót của hệ thống) và họ cũng là những người chủ tương lai của hệ thốâng. Bởi vậy các yêu cầu của họ cần phải đặc biệt lưu tâm khi phát triển bất kỳ một hệ thống thông tin nào. Thường các yêu cầu của họ về hệ thống mới là: • Hệ thống phải dễ dàng truy xuất (Easy access): có thể truy xuất dữ liệu đúng lúc và dễ dàng vận hành. • Hệ thống phải có tính hệ thống (The system): phải có tính phân cấp, từ đó người dùng dễ dàng nắm được cái sườn của toàn bộ hệ thống. Hơn nữa hệ thống phải chắc chắn và ổn định, có khả năng cung cấp những thông tin mà
  24. người dùng cần thiết, dễ dàng bảo hành và cải tiến, nhanh chóng chỉ ra các lỗi cần phải điều chỉnh. • Về mặt giao diện (Interface): Hệ thống phải phù hợp với kiểu làm việc của người dùng, ổn định, dễ dàng điều khiển dữ liệu, độc lập và uyển chuyển, có khả năng cho người dùng tiếp cận nhiều cách khác nhau. II.1.3. Các yêu cầu kỷ thuật (Technical requirement) Các yêu cầu kỷ thuật cần phải được tính đến khi thiết kế hệ thống thông tin, có một số điểm quan trọng cần lưu ý như sau: • Hệ thống phải xử lý được với khối lượng lớn thông tin. Do đó thiết bị công nghệ thông tin phải phù hợp dung lượng của thông tin mà nó được xử lý. Cần chú ý là hàng ngày thông tin càng tăng thêm không ngừng, nên cần phải quan tâm đặc biệt đến vấn đề này. • Hệ thống phải xử lý chính xác (Accuracy): Ðây là yêu cầu thiết yếu, những xử lý sai sót sẽ dẫn tới những tác hại không lường, có thể ảnh hưởng tới sự ổn định của chính tổ chức. Tính chính xác cao đòi hỏi ở mọi nơi và mọi lúc. • Hệ thống phải giải quyết được những vấn đề phức tạp (Complexity): Tính phức tạp trong các xử lý cần phải tính đến khi mô tả chúng. Các kết quả trong tính toán thông tin có thể được xử lý về mặt nguyên lý. Tuy nhiên bởi vì tính phức tạp của nó nếu hệ thống hiện tại chưa giải quyết được những vấn đề phức tạp, đòi hỏi phải nghiên cứu nghiêm túc để hiểu biết chính xác, để tìm giải pháp thích hợp. Rõ ràng rằng chính hệ thống, các chuyên gia công nghệ thông tin (cụ thể là những người phân tích hệ thống) và những người dùng từ những góc độ khác nhau có những yêu cầu khác nhau. Khả năng của người phân tích được thể hiện ở chổ khả năng thu thập các ý tưởng và đánh giá chúng từ những khía cạnh khác nhau, bởi vì mỗi thành phần chỉ có khả năng biết về lĩnh vực của chính họ mà thôi.
  25. II.2. CÁC PHƯƠNG PHÁP ÐIỀU TRA (INVESTIGATION METHODES) Hầu hết các khó khăn có thể gặp trong phân tích hệ thống bắt nguồn từ quá trình điều tra khảo sát. Một số người nhận thức không chính xác rằng quá trình điều tra kết thúc sau khi các câu hỏi về hệ thống hiện tại và hệ thống tương lai đã được trả lời xong. Sự thật, tất cả các thông tin phản ánh tình trạng hiện tại phải được thu thập, sau đó cần nhiều thời gian và công sức để phân tích nhằm quyết định những thông tin nào cần quan tâm và làm sao để thu thập chúng. Trong phần này chúng ta sẽ bàn đến một số phương pháp điều tra thường gặp. II.2.1. Phỏng vấn (Interview) Các vấn đề cần quan tâm đối với người tiến hành phỏng vấn: Cuộc phỏng vấn: Trước lúc phỏng vần: • Chuẩn bị một danh sách các chủ đề chính mà bạn muốn hỏi. • Cần biết nên phỏng vấn ai: những người có trách nhiệm, những người hiểu biết về lĩnh vực cần quan tâm. Nên thông qua lãnh đạo để chọn người được phỏng vấn. • Nên liên hệ trực tiếp với người sẽ được phỏng vấn (hoặc thông qua thư ký của người đó) để có một cái hẹn và được sự đồng ý với thời gian, địa điểm và báo trước mục đích phỏng vấn. Trong quá trình phỏng vấn: • Phải giới thiệu khi bắt đầu cuộc phỏng vấn. • Tạo mối không khí thoải mái, thân thiện cho cuộc phỏng vấn. • Chăm chú lắng nghe, ghi nhận, không nên cho nhận xét. • Biết cách hướng dẫn, điều hành cuộc phỏng vấn để tránh lan man. Làm chủ cuộc phỏng vấn.
  26. • Dùng ngôn ngữ nghiệp vụ, tránh dùng ngôn ngữ tin học (kể cả khi người được phỏng vấn đã từng sử dụng hệ thống thông tin) Kết thúc cuộc phỏng vấn: • Tóm tắt những điểm chính của cuộc phỏng vấn, nhằm có sự xác nhận chính xác. • Chuẩn bị cho một sự hợp tác tiếp theo và để lại một lối thoát mở cho cả hai bên. • Không nên tạo một cuộc đối thoại quá dài hoặc chuẩn bị quá nhiều câu hỏi để hỏi. Các ngữ cảnh mà trong đó chúng ta thực hiện các cuộc phỏng vấn thường khó khăn và không thể đoán trước được. Tuy nhiên, các cuộc phỏng vấn là nguồn thông tin chính về hệ thống hiện tại và hệ thống tương lai. Có hai lý do chính do việc phỏng vấn sai: • Người tiến hành phỏng vấn hiểu sai những gì người dùng nói. • Những sự truyền đạt giữa người tiến hành phỏng vấn và người được phỏng vấn không tốt. II.2.2. Ðiều tra bằng các câu hỏi Ðây là phương pháp đơn giản, chỉ phù hợp với một số lĩnh vực nào đó và không thích hợp đối với những phân tích viên thiếu kinh nghiệm. Nội dung của phương pháp này là lập một bảng các câu hỏi cùng các phương thức trả lời tương ứng, yêu cầu người được điều tra điền vào sự trả lời, sau đó thu thập kết quả và phân tích. Chính vì vậy bảng câu hỏi - trả lời nên: • Trình bày mục đích của việc điều tra: xây dựng hệ thống thông tin. • Câu hỏi phải rõ ràng để người được điều tra dễ dàng lựa chọn phương án trả lời. • Có 2 dạng câu hỏi: Dạng đóng: chỉ có một số phương án lựa chọn khi trả lời.
  27. Dạng mở: cho phép người được điều tra trả lời khác với những lựa chọn (ghi thêm vào). • Nếu cần quản lý việc điều tra bằng máy tính thì mẫu câu hỏi phải có hình thức hợp lý để dễ dàng nạp vào máy tính. • Ghi thời hạn thu hồi (gửi lại bản điều tra). • Nếu không cần bảo mật thông tin và cần liên hệ thì nên yêu cầu ghi tên, địa chỉ người được điều tra để khi cần có thể liện lạc, trao đổi. II.2.3. Quan sát thực tế Ngạn ngữ có câu: “Trăm nghe không bằng một thấy”. Quan sát thực tế là xem xét việc làm thực tế của tổ chức như thế nào, việc luân chuyển thông tin trong tổ chức ra sao. Phương pháp này bổ sung thêm những kết quả điều tra của những phương pháp khác, cũng cố thêm những dự đoán của người phân tích hệ thống. II.2.4. Nghiên cứu tài liệu Là phương pháp nghiên cứu thông qua các vật chứng (báo biểu, báo cáo, ), các chủ trương, thông tư, qui định, là phương pháp để có những thông tin quan trọng, nhất là những thông tin mang tích pháp lý đòi hỏi. Trong thực tế nhiều khi qua sự nghiên cứu này còn phát hiện ra những điểm thiếu chính xác, chặt chẽ của hệ thống. Kết luận: Rõ ràng rằng mỗi phương pháp có điểm mạnh và điểm yếu của nó và phù hợp với từng hoàn cảnh cụ thể. Có một nguyên lý tổng quát là: thông tin mà bạn thu thập được về môi trường hoạt động của một tổ chức càng nhiều thì bạn hiểu về nó càng chính xác. II.3. BÁO CÁO ÐIỀU TRA (SURVEY REPORT)
  28. Tất cả các báo cáo phải được viết một cách khoa học. Mỗi báo cáo phải nêu tên dự án, tác giả của nó, địa chỉ, lần tiếp xúc số mấy. Tiếp theo là mục lục với những mục chính như sau: • Các mục tiêu của tổ chức; • Mối liên hệ nội tại giữa các thành phần trong tổ chức; • Các chi tiết của hệ thống hiện tại; • Các vật chứng (thông tư, quyết định, biểu bảng, ); Từ đó đánh giá hệ thống hiện tại về các khía cạnh: cấu trúc các thành phần, các xử lý, hiệu quả hoạt động của tổ chức. Ðề xuất hệ thống tương lai và dự đoán sơ bộ về chi phí và lợi nhuận. Các khuyến cáo, khung thời gian và kế hoạch cho phát triển hệ thống. Những điểm sau đây cũng cần đưa vào thêm trong phần kết luận của báo cáo: • Các vật chứng cho hệ thống hiện tại có phù hợp không? • Người dùng đã xem lại và đồng ý với những quan điểm nào? • Những người dùng đã được hỏi ý kiến và phân tích viên đã ghi địa chỉ liên hệ chính xác chưa? • Tất cả các báo cáo đã được nghiên cứu triệt để chưa? • Những yêu cầu chức năng nào cần được nghiên cứu sau? • Tất cả các yêu cầu đã được xem lại chưa? • Những giải pháp thiết kế thay thế là những giải pháp nào? • Những thay đổi có thể có của đề án là gì? II.4. PHÂN TÍCH, TỔNG HỢP KẾT QUẢ ÐIỀU TRA Ðặc điểm của các thông tin đã thu thập được qua các báo cáo trên là: • Hổn độn, chưa có cấu trúc.
  29. • Chưa nhất quán. • Trùng lắp. Từ đó để có một sự hiểu biết về tổ chức một cách có hệ thống cần phải trình bày lại một cách đầy đủ, rõ ràng và chính xác. Về phương diện lý thuyết, báo cáo điều tra nên được viết bằng ngôn ngữ của người dùng (không cần thiết không dùng ngôn ngữ kỷ thuật). Những phần kỷ thuật cho sự thiết kế nên đặt vào trong một phần phụ lục. Cách trình bày phải: • Từ tổng quát đến chi tiết (có tính phân cấp). • Có đánh giá, nhận xét. Có thể bổ sung nội dung hay hình thức các quyết định, các thông tư, các biểu bảng, sơ đồ (nếu có). Sự mô tả có thể sử dụng một số hay kết hợp một công cụ phân tích hệ thống sau đây (tùy vào vấn đề cần trình bày): ƒ Văn bản có cấu trúc. Văn bản có cấu trúc sử dụng ngôn ngữ tự nhiên được trình bày bằng tổ hợp các hình thức: tuần tự, lựa chọn và lặp. Dạng tuần tự: liệt kê các thao tác. Thí dụ: ƒ Nạp ƒ Lấy ƒ Tính ƒ Chuyển Dạng lựa chọn: ƒ Nếu:
  30. ƒ Nếu không Dạng lặp: ƒ Với mỗi Thí dụ: Xử lý "Lập hóa đơn bán hàng " được mô tả như sau: ƒ Tự động tạo số thứ tự hóa đơn. ƒ Nạp ngày lập hóa đơn. ƒ Nạp mã số khách hàng, in họ tên, địa chỉ của khách hàng đó để tham khảo. ƒ Nạp mã cửa hàng, kiểm tra tên cửa hàng. ƒ Nạp tỷ lệ VAT. Với mỗi mặt hàng được bán ghi trong hóa đơn: ƒ Nạp mã hàng. ƒ Kiểm tra tên hàng và đơn vị tính. ƒ Nạp số lượng và đơn giá tương ứng. Sau khi tất cả các mặt hàng đã nạp xong hoặc sau khi nạp mỗi mặt hàng: ƒ Tính tổng số tiền bán hàng. ƒ Tính thuế VAT. ƒ Tính tổng số tiền khách hàng phải trả. • Văn bản chặt chẽ. Tương tư như văn bản có cấu trúc nhưng chặt chẽ hơn. Có thể mô tả xử lý thông qua các bước, mỗi bước lại có thể là tổ hợp của các dạng: tuần tự, lựa chọn và lặp như đã nêu ở trên. Văn bản chặt chẽ thường dùng cho các
  31. xử lý có nội dung phức tạp. Thí dụ: Bước 1: 1.1 1.2. Nếu < điều kiện thì: Nếu không thì: Bước 2: 2.1 2.2 Trong những trường hợp phức tạp khi lựa chọn một quyết định, người ta có thể dùng hình thức cây quyết định, hoặc bảng quyết định để biểu diễn vấn đề. ƒ Cây quyết định. Cây quyết định thường được sử dụng khi quy tắc xử lý không quá phức tạp. Nó là công cụ dễ hiểu, dễ kiểm chứng đối với người sử dụng. Dễ dàng phát hiện những điểm không hợp lý: một tình huống không bao giờ xảy ra hai hành động khác nhau. Cấu trúc của một cây quyết định:
  32. • Bảng quyết định. thường dùng trong những trường hợp phức tạp khi lựa chọn một quyết định. Kiểu 1: Bảng quyết định theo điều kiện (Ðúng/Sai)
  33. Chú ý: Nếu có n điều kiện thì sẽ có tối đa 2n tình huống do sự kết hợp giữa các điều kiện. Kiểu 2: Bảng quyết định theo chỉ tiêu. • Mã giả: tựa như một ngôn ngữ lập trình, có thể diễn tả được nội dung của xử lý, tuy nhiên không cần nghiêm ngặt trong việc kiểm lỗi. Mỗi một công cụ có một ưu điểm và nhược điểm riêng. Tùy theo tính chất của xử lý và đối tượng trình bày mà lựa chọn công cụ thích hợp, và có thể kết hợp tất cả các phương pháp trên. THÍ DỤ TỔNG QUÁT: VẤN ÐỀ QUẢN LÝ MUA BÁN HÀNG HÓA Một công ty thương nghiệp được phép kinh doanh một số loại hàng nào đó. Công ty có nhiều cửa hàng. Mỗi cửa hàng có một tên, một địa chỉ và một số điện thoại. Bộ phận quản lý của mỗi cửa hàng gồm một người cửa hàng trưởng, một số nhân viên đảm nhận các công việc khác như: bán hàng, bảo vệ, thủ kho.
  34. Mỗi một loại hàng mà công ty được phép kinh doanh thường gồm nhiều mặt hàng. Mỗi một mặt hàng được nhận biết qua tên hàng, đơn vị tính và được gán cho một mã số gọi là mã hàng để tiện việc theo dõi. Phòng kinh doanh ngoài việc nắm bắt thị trường còn phải theo dõi tình hình mua bán của công ty để kinh doanh hiệu quả. Những mặt hàng nào bán được nhiều, và vào thời điểm nào trong năm. Ðồng thời nhận các báo cáo tồn kho ở các cửa hàng, tổng hợp lại để xem mặt hàng nào tồn dưới ngưỡng cho phép thì đề xuất với ban giám đốc điều phối bộ phận cung ứng mua hàng về nhập kho để chủ đôïng trong kinh doanh; những mặt hàng nào tồn động quá lâu thì đề xuất phương án giải quyết, có thể bán hạ giá nhằm thu hồi vốn dành kinh doanh mặt hàng khác. Khi công ty mua hàng về phải làm thủ tục nhập kho tại các cửa hàng. Mỗi lần nhập kho một phiếu nhập được lập. Phiếu nhập kho thường tổng hợp từ những hóa đơn mà công ty mua từ một đơn vị khác trong một chuyến hàng nào đó. Mỗi phiếu nhập chỉ giải quyết cho việc nhập hàng vào một cửa hàng và do một nhân viên lập và chịu trách nhiệm kiểm tra về chất lượng, số lượng hàng nhập về. Trên phiếu nhập có ghi rõ họ tên, địa chỉ của người bán hàng cho công ty để sau này tiện theo dõi công nợ; họ tên nhân viên cửa hàng chịu trách nhiệm nhập kho cùng các mặt hàng, số lượng, đơn giá mua tương ứng; cộng tiền hàng, tiền thuế GTGT, và tổng số tiền mà công ty phải thanh toán cho người bán. Việc theo dõi chi phí cho một lần nhập hàng (vận chuyển, bốc vác, thuê kho bãi, ) có thể được thực hiện bằng một bút toán khác mà để cho đơn giản chúng ta không đề cập ở đây. Công việc nhập hàng xảy ra hàng ngày khi có hàng được mua về. Khi khách mua tại các cửa hàng: Nếu mua lẻ, khách hàng phải trả tiền mặt, nhân viên bán hàng phải ghi nhận mặt hàng, số lượng bán, đơn giá bán tương ứng với từng mặt hàng, xác định thuế suất GTGT và nhận tiền của khách hàng. Ðơn giá bán tùy theo thời điểm bán cũng như khách mua và thường do cửa hàng trưởng quy định. Cuối ca bán hàng, nhân viên này phải tổng hợp các mặt hàng mà mình bán được để lập hóa đơn, trên đó xem như người mua là chính nhân viên bán hàng này, đồng thời phải nộp hết số tiền bán được cho thủ quỹ.
  35. Nếu khách hàng muốn mua trả tiền sau phải được phép của cửa hàng trưởng để thỏa thuận về thời hạn thanh toán. Ðiều này cũng được ghi nhận trên hóa đơn cho khách hàng này để tiện việc theo dõi công nợ của người mua. Bất kỳ hóa đơn kiểu nào, ngoài số thứ tự của hóa đơn, mỗi hóa đơn chỉ thuộc một quyển hóa đơn mang một số seri nào đó. Mỗi loại hàng có một tỷ lệ thu thuế khác nhau do ngành thuế quy định. Trên một hóa đơn bán hàng chỉ bán những mặt hàng có cùng một thuế suất GTGT mà thôi. Công việc bán hàng xảy ra hàng ngày khi có khách mua. Cuối tháng, công ty phải lập các báo cáo thuế giá trị gia tăng hàng bán, báo cáo thuế giá trị gia tăng hàng mua cho chi cục thuế, tình hình sử dụng hóa đơn của mỗi quyển hóa đơn (mỗi quyển bán được bao nhiêu hóa đơn, tờ hóa đơn nào không dùng, tổng tiền thu từ bán hàng, tiền thuế GTGT tương ứng là bao nhiêu), hạch toán giá vốn hàng bán, tình hình kinh doanh bán hàng, báo cáo tồn đầu - nhập - bán - tồn cuối từng mặt hàng, thẻ kho từng mặt hàng tại mỗi cửa hàng. Có nhiều phương pháp hạch toán giá vốn hàng bán như bình quân gia quyền, nhập trước - xuất trước, nhập sau - xuất trước Công ty phải quyết định chọn một cách và báo cho cơ quan quản lý biết về phương thức hạch toán của mình. Ðể cho đơn giản ta giả thiết đơn vị hạch toán giá vốn hàng bán bằng phương pháp bình quân gia quyền. Ðơn giá vốn của mỗi mặt hàng tại mỗi cửa hàng trong tháng bằng tổng của số tiền tồn cuối tháng trước và số tiền mua chia cho tổng số lượng tồn cuối tháng trước và số lượng nhập của mặt hàng đó vào cửa hàng trong tháng. Từ đơn giá vốn của mỗi mặt hàng tại mỗi cửa hàng người ta mới xác định được trị giá vốn của hàng đã bán ra trong bảng báo cáo nhập - xuất - tồn, cũng như trong bảng kết quả kinh doanh bán hàng và trên thẻ kho của từng mặt hàng trong tháng. Chi cục thuế sẽ căn cứ vào những báo cáo thuế suất trên để xác định số tiền thuế mà công ty phải nộp hay được chi cục thuế sẽ hoàn lại của tháng đó. Trong thực tế việc quản lý hàng hóa phức tạp hơn nhiều vì có nhiều hoạt động, mỗi hoạt động đều có cách thức hạch toán riêng mà chúng ta không đề cập ở đây. Chẳng hạn nhập hàng nhập khẩu, xuất điều và nhập chuyển kho nội bộ, nhập hàng trả lại, xuất trả hàng đã mua, nhập hàng ủy thác, bán hàng cho các đại lý, bán hàng ký gửi, Hay việc xác định giá vốn còn phải dựa vào việc phân bổ phí cho mỗi mặt hàng trong mỗi phiếu nhập khi có sự nhập kho,
  36. Kèm theo sau đây là một số vật chứng, mẫu biểu mà các nguyên tắc pháp lý đòi hỏi phải tuân thủ khi quản lý việc kinh doanh hàng hóa do nhà nước quy định. MỘT SỐ BIỂU MẪU:
  37. Chương III Thành Phần Dữ Liệu Mức Quan Niệm Trong phần này đề cập đến hai mô hình ứng với các mức quan niệm và logic về dữ liệu. Nội dung trong mô hình quan niệm về dữ liệu sẽ đề cập đến mô hình thực thể - kết hợp: một mô hình giàu ngữ nghĩa, rất thuận lợi để người dùng có thể hiểu được những đối tượng, quan hệ chính trong tổ chức để có thể góp ý với người phân tích hệ thống trước khi thực hiện những bước tiếp theo. Mô hình luận lý cho dữ liệu sẽ trình bày cách chuyển mô hình thực thể - kết hợp về mô hình cơ sở dữ liệu quan hệ: một mô hình phổ dụng có cơ sở toán học vững chắc được thể hiện trên hầu hết các hệ cơ sở dữ liệu hiện nay. III.1. KHÁI NIỆM VỀ THÀNH PHẦN DỮ LIỆU MỨC QUAN NIỆM Dữ liệu là tập hợp các ký hiệu từ đó nó xây dựng nên những thông tin phản ánh các mặt của tổ chức. Nó là thành phần quan trọng chủ yếu của hệ thống thông tin. Do tính chất phức tạp của các tổ chức (nhiều đối tượng, nhiều mối quan hệ, ), để thông tin phản ánh chính xác, đầy đủ và kịp thời các khía cạnh của chúng, cần phải nghiên cứu các cách thức, các phương pháp nhằm nhận biết, tổ chức, lưu trữ các dữ liệu để xử lý và khai thác chúng hiệu quả. Mức quan niệm này có nhiệm vụ nhận biết hay nói cách khác là xác định một cách đầy đủ, chính xác tất cả những lớp đối tượng, những mối quan hệ giữa chúng trong tổ chức. Thông tin về những đối tượng, những quan hệ này chính là thành phần dữ liệu của hệ thống thông tin về tổ chức. Cho đến nay đã có nhiều cách thức mô tả, trình bày thành phần thành phần dữ liệu của các tổ chức. Nói chung chúng dùng hình thức mô hình vì nó mang tính trực quan và dễ hiểu đối với những người tham gia xây dựng hệ thống thông tin. Hai mô hình thường được người ta dùng trong việc xây dựng thành phần dữ liệu mức quan niệm này là: • Mô hình quan hệ: dùng khái niệm quan hệ biểu diễn các lớp đối tượng cũng như mối liên quan giữa chúng. Ðặc điểm của kiểu mô hình này là nghèo nàn về nghữ nghĩa, khó diễn đạt cho những người tham gia xây dựng hệ thống thông tin, đặc biệt là đối với người dùng. Chính vì vậy mà mô hình quan hệ thích hợp với mức logic về dữ liệu hơn là với mức quan niệm.
  38. • Mô hình thực thể - kết hợp (Entity - Relationship Model ERM): Ðặc điểm của kiểu mô hình này là giàu ngữ nghĩa, dễ hình dung và được chuẩn hóa bằng những quy tắc chặt chẽ. Ngoài hình thức mô hình, bảng mô tả các ràng buộc toàn vẹn: mô tả các ràng buộc mà không thể hiện được trên các mô hình trên. Từ điển dữ liệu là hồ sơ vừa để kiểm tra mô hình vừa cần thiết cho các bước tiếp theo trong quá trình xây dựng hệ thống thông tin. Về mặt mô hình hóa thành phần dữ liệu mức quan niệm, trong cuốn giáo trình này chúng tôi trình bày mô hình thực thể - kết hợp vì những đặc tính ưu việt của nó mà chúng tôi đã đề cập ở trên. Mô hình là một tập hợp các phần tử thường dùng làm tập đích cho một ánh xạ từ những tập khác (thường trong thế giới thực) vào nó, sao cho các phần tử và tác tử trong mô hình phản ánh được các lớp đối tượng, các quan hệ, các xử lý trong tổ chức trong thế giới thực. Mô hình thường có dạng trực quan, cụ thể, dễ hình dung để mô tả, để biểu diễn, để nghiên cứu những vấn đề phức tạp, trừu tượng hay những đối tượng mà khó có thể thực hiện trên chính nó. III.2. MÔ HÌNH THỰC THỂ - KẾT HỢP Mô hình thực thể _ kết hợp xây dựng dựa trên những khái niệm: thực thể, mối kết hợp, thuộc tính và một số khái niệm liên quan. III.2.1. Thực thể (Entity) a. Giới thiệu: Ðể minh họa việc nhận diện các thực thể trong một hệ thống thông tin, chúng ta xét một thí dụ cụ thể, đó là vấn đề quản lý mua bán hàng ở một đơn vị thương mại mà nó đã được mô tả trong phần trước. Dựa trên vật chứng là các hóa đơn bán hàng, các phiếu nhập kho (hóa đơn mua hàng), bảng báo cáo nhập - xuất - tồn tại một kho, tình hình kinh doanh, thẻ kho, tình hình sử dụng hóa đơn trong một tháng nào đó được thu thập trong quá trình đều tra.
  39. Trước hết chúng ta cần nhận thấy rằng thông tin trên các hóa đơn bán hàng, phiếu nhập kho là những thông tin cơ bản, còn các thông tin trên những báo cáo nhập - xuất tồn, tình hình kinh doanh, thẻ kho, tình hình sử dụng hóa đơn là những thông tin do việc xử lý dữ liệu trên mà. Chẳng hạn từ những hoá đơn bán hàng. Từ hình thức và nội dung cụ thể của những hóa đơn bán hàng như đã trình bày trong phần mô tả vấn đề đã đề cập ở phần trước, chúng ta nhận thấy tập hợp các hóa đơn liên quan tới các lớp đối tượng: • Tập hợp "HÓA ÐƠN", mỗi hóa đơn có một số thứ tự. • Tập hợp "KHÁCH HÀNG". • Tập hợp "MẶT HÀNG". • Tập hợp "CỬA HÀNG". Ta nói rằng, mỗi tập hợp trên đây xác định một thực thể. b. Ðịnh nghĩa: Thực thể là một phần tử trong mô hình tương ứng với một lớp đối tượng (các phần tử có cùng một số đặc tính nào đó) thuộc tổ chức trong quá trình mô hình hóa. Thực thể được định danh bằng tên, thường là danh từ mang ý nghĩa của lớp đối tượng được mô hình hóa. Chẳng hạn chúng ta dùng danh từ KHÁCH HÀNG tương ứng với tập hợp người mua và người bán, MẶT HÀNG tương ứng với tập hợp các thứ dùng để trao đổi mua bán trong thế giới thực. c. Ký hiệu:
  40. d. Ví dụ: Dùng cho các thực thể ở phần giới thiệu trên: III.2.2. Mối kết hợp (Relationship) (mối kết hợp giữa các thực thể) a. Giới thiệu: Ta có thể kể ra các mối kết hợp giữa các thực thể trong ví dụ ở trên: ƒ Mỗi HÓA ÐƠN chỉ bán cho một KHÁCH HÀNG. ƒ Mỗi HÓA ÐƠN chỉ bán từ một CỬA HÀNG. ƒ Mỗi HÓA ÐƠN có thể bán nhiều MẶT HÀNG với số lượng, đơn giá tương ứng.
  41. Ta nói rằng, các các quan hệ này chính là các mối kết hợp. b. Ðịnh nghĩa: Mối kết hợp là phần tử trong mô hình tương ứng với một mối quan hệ giữa các thực thể tham gia vào quan hệ đó thuộc tổ chức trong quá trình mô hình hóa. Mối kết hợp được định danh bằng tên, thường là động từ hay tính từ mang ý nghĩa về mối quan hệ giữa các lớp đối tượng liên quan trong tổ chức. c. Ví dụ: Trong nhiều trường hợp người ta có thể quan niệm một tập hợp các đối tượng là một thực thể, cùng có thể xem là một mối kết hợp trong mô hình thực thể - kết hợp. Chẳng hạn trong lĩnh vực quản lý sinh viên: tập tất cả các lớp cũng có thể xem là tương ứng với thực thể LỚP HỌC trong mô hình, nhưng chúng cũng có thể được xem là sự hợp thành của ngành, khóa, và đơn vị đào tạo nên có thể xem là một mối kết hợp trong mô hình.
  42. III.2.3. Thuộc tính (Attribute) (của một thực thể hoặc của một mối kết hợp) a. Giới thiệu: Ðể mô tả toàn diện hơn lĩnh vực quản lý sinh viên, ta có thể thêm vào các dữ liệu sơ cấp gắn liền với các thực thể hoặc các mối kết hợp: ƒ Ðối với thực thể HÓA ÐƠN: • STT_HÐ • Ngày lập • Quyển hóa đơn (số seri) • Tỷ lệ VAT (thuế giá trị gia tăng ) ƒ Ðối với thực thể CỬA HÀNG: • Mã số cửa hàng • Tên cửa hàng • Ðịa chỉ cửa hàng ƒ Ðối với thực thể KHÁCH HÀNG: • Mà KHÁCH HÀNG
  43. • Họ tên khách hàng • Ðịa chỉ khách hàng. ƒ Ðối với thực thể MẶT HÀNG: • Mà HÀNG • Tên hàng • Ðơn vị tính. ƒ Ðối với mối kết hợp bán: • Số lượng. • Ðơn giá b. Ðịnh nghĩa: Thuộc tính (của một thực thể hoặc của một mối kết hợp) là một phần tử của mô hình tương ứng với một đặc tính của một lớp đối tượng hoặc một mối quan hệ giữa các đối tượng thuộc tổ chức trong việc mô hình hóa. Thuộc tính thường định danh bằng tên, mang ý nghĩa là đặc tính của đối tượng hay quan hệ giữa các đối tượng trong thế giới thực và chúng có thể lượng hóa (mô tả, cân đong, đo, đếm) được. c. Ký hiệu: Tên của các thuộc tính được ghi bên trong, phía dưới ký hiệu tên thực thể hoặc tên của mối kết hợp. d. Ví dụ:
  44. e. Miền giá trị của thuộc tính: Giá trị của thuộc tính thường nhận được từ một tập hợp hợp lý nào đó, có khi được tạo ra theo một quy tắc vì một mục đích nào đó. Chẳng hạn các thuộc tính MAKHACH, Họ tên khách, Ðịa chỉ khách là những chuỗi ký tự phản ánh những thông tin trên về khách hàng. III.2.4. Bản số III.2.4.1. Thể hiện của một thực thể a. Giới thiệu: Trong ví dụ trước đây, nếu trên một hóa đơn nào đó có bán 3 mặt hàng Thép tròn phi 6, Ximăng Hà Tiên, Gạch ống. Ta nói 3 phần tử: Thép tròn phi 6, Ximăng Hà Tiên, Gạch ống là các thể hiện của thực thể MẶT HÀNG.
  45. b. Ðịnh nghĩa: Một thể hiện của một thực thể là một phần tử tương ứng với một đối tượng thuộc lớp đối tượng của tổ chức được mô hình hóa. Một thể hiện của một thực thể được nhận biết bằng tập hợp tất cả các giá trị của tất cả các thuộc tính của thể hiện thuộc thực thể đó chính là dữ liệu của đối tượng trong thế giới thực. Như vậy: một thuộc tính (của một thực thể hay của một mối kết hợp) có thể nhận giá trị trên một tập hợp nào đó, tập đó được gọi là miền trị của thuộc tính. Hai đối tượng cùng lớp trong tổ chức tương ứng với hai thể hiện khác nhau trong mô hình, vì vậy nhiều khi phải căn cứ trên giá trị của nhiều thuộc tính mới phân biệt được hai thể hiện này (chẳng hạn sinh viên có thể trùng họ và tên). Vì vậy để cho đơn giản trong nhận biết và xử lý sau này, nhiều khi người ta thêm vào thực thể một loại thuộc tính đặc biệt gọi là thuộc tính chỉ định. Thí dụ người ta dùng thuộc tính MÃHÀNG cho thực thể MẶT HÀNG. MÃ HÀNG là thuộc tính mà không phải là thuộc tính vốn có của MẶT HÀNG. c. Trình bày:
  46. III.2.4.2. Thể hiện của một mối kết hợp. a. Giới thiệụ: Ðặt giả thiết sau: Xét mối kết hợp bán giữa thực thể HÓA ĐƠN và MẶT HÀNG. Một thể hiện của quan hệ này sẽ tương ứng với việc một hóa đơn bán mặt hàng với số lượng và đơn giá là bao nhiêu.
  47. Khi đó:
  48. là một thể hiện của mối kết hợp bán. b. Ðịnh nghĩa: Một thể hiện của một mối kết hợp là tập hợp các thể hiện của các thực thể tham gia vào mối kết hợp đó. Tuy nhiên trong mô hình chúng ta không thể trình bày hết tất cả các thể hiện của các thực thể cũng như của các mối kết hợp. Việc trình bày ở trên để chúng ta dễ dàng nhận biết thêm bản chất của mối kết hợp (thể hiện qua khái niệm bản số) vì khó có thể trình bày tất cả các thể hiện của tất cả các thực thể và của tất cả các mối kết hợp. c. Ðịnh nghĩa: Bản số của một thực thể đối với một mối kết hợp là cặp (bản số tối thiểu, bản số tối đa). Trong đó chúng được định nghĩa như sau: ƒ Bản số tối thiểu: bằng 0 hoặc 1, là số lần tối thiểu mà một thể hiện bất kỳ của một thực thể tham gia vào các thể hiện của mối kết hợp. ƒ Bản số tối đa: bằng 1 hoặc n, là số lần tối đa mà một thể hiện bất kỳ của một thực thể tham gia vào các thể hiện của mối kết hợp. Chú ý là trong một số trường hợp bản số tối thiểu của một thực thể đối với một mối kết hợp cho là bằng 0 hay 1 tùy vào việc quan niệm tổ chức các thể hiện của thực thể đó. d. Ký hiệu:
  49. Chú ý: Với bất kỳ vị trí tương đối nào của thực thể đối với mối kết hợp, chỉ số bên trái là bản số tối thiểu, chỉ số bên phải là bản số tối đa. Ví dụ: • Một HÓA ÐƠN chỉ bán cho một KHÁCH HÀNG. • Một HÓA ÐƠN chỉ bán tữ một CỬA HÀNG. • Một HÓA ÐƠN bán ít nhất một MẶT HÀNG, và có thể bán nhiều MẶT HÀNG. III.2.5. Khóa III.2.5.1. Khóa của một thực thể
  50. a. Ðịnh nghĩa: Khóa của một thực thể là một thuộc tính hoặc một số thuộc tính của thực thể, sao cho với mỗi giá trị của các thuộc tính này, tương ứng một và chỉ một thể hiện của thực thể. Trong nhiều trường hợp khóa của thực thể thường là thuộc tính chỉ định của thực thể đó. Một thực thể có thể có nhiều khóa. b. Ký hiệu: Khóa được đánh dấu trong danh sách các thuộc tính theo cách thức như sau: ƒ Thường nằm đầu tiên trong danh sách các thuộc tính. ƒ Ðược gạch dưới. c. Ví dụ: III.2.5.2. Khóa của một mối kết hợp a. Định nghĩa: Khóa của một mối kết hợp nhận được bằng cách kết hợp khóa của các thực thể tham gia vào mối kết hợp đó. Tập hợp tất cả các giá trị của các thuộc tính khóa của một mối kết hợp xác định duy nhất một thể hiện của mối kết hợp đó. b. Cách trình bày: Khóa của một mối kết hợp thường ghi dưới dạng kết hợp các thuộc tính khóa của chúng trong các dấu ngoặc đơn. c. Ví dụ: Khóa của mối kết hợp "bán" là cặp hai thuộc tính: (STT_HĐ, MAHANG).
  51. Nói chung khóa của mối kết hợp ngầm hiểu mà không được ghi ra nếu không quan tâm. Chú ý: Một thực thể có thể có nhiều khóa. Một mối kết hợp có thể không có thuộc tính nhưng vẫn tồn tại các thuộc tính khóa. III.2.6. Số chiều của một mối kết hợp, mối kết hợp tự thân a. Ðịnh nghĩa: Số chiều của một mối kết hợp là số thực thể tham gia vào mối kết hợp đó. ƒ Mối kết hợp có n thực thể tham gia được gọi là mối kết hợp n chiều. Ðặc biệt: ƒ Mối kết hợp giữa 2 thực thể được gọi là mối kết hợp nhị phân.
  52. ƒ Mối kết hợp giữa 3 thực thể được gọi là mối kết hợp tam phân. b. Mối kết hợp tự thân (đệ quy) Ðịnh nghĩa: Mối kết hợp tự thân là một mối kết hợp từ một thực thể đi đến chính thực thể đó. Ví dụ 1: Trong chương trình giảng dạy của ngành Tin học có một số môn học mà sinh viên muốn đăng ký học phải học qua (và đạt điểm 5 trở lên) một số môn học khác gọi là các môn tiên quyết của môn học đó: Ví dụ 2: Một thành viên trong cây gia phả một dòng họ có một người cha duy nhất trừ người tộc trưởng đầu tiên: III.2.7. Tổng quát hóa và chuyên biệt hóa. a. Giới thiệu:
  53. Mặc dù khái niệm bản số của thực thể đối với mối kết hợp cho chúng ta nhận biết mỗi thể hiện của thực thể tham gia tối thiểu là bao nhiêu, và tối đa là bao nhiêu vào mối kết hợp. Nhưng trong thực tế, một lớp các đối tượng trong tổ chức có khi tồn tại tình trạng là: một số đối tượng (tập con) của nó tham gia vào một mối kết hợp này, số còn lại có thể tham gia hoặc không vào những mối kết hợp khác, trong khi có thể tất cả các phần tử của chúng lại cùng tham gia vào mối kết hợp khác nữa. Hoặc một tập con này có những đặc tính này, còn những phần tử khác thì có thêm những đặc tính khác hoặc không. Chẳng hạn cùng là cán bộ công nhân viên trong trường đại học, thì số cán bộ giảng dạy tham gia công tác giảng dạy, số còn lại (nhân viên hành chánh) thì không, nhưng mỗi người đều làm việc tại một đơn vị nào đó của nhà trường. Ðối với cán bộ giảng dạy người ta quan tâm đến chức danh hiện tại, còn đối với nhân viên hành chánh thì người ta lại quan tâm đến nghề nghiệp hay nghiệp vụ của họ. Ðể phản ánh tình trạng đó trong phương pháp mô hình hóa, người ta dùng khái niệm chuyên biệt hóa / tổng quát hóa. b. Ðịnh nghĩa: Chuyên biệt hóa nghĩa là phân hoạch một thực thể thành các tập (thực thể) con còn Tổng quát hóa là gộp các thực thể thành một thực thể bao hàm tất cả các thể hiện của các thực thể con. Các chuyên biệt được thừa hưởng tất cả các thuộc tính của các thực thể tiền bối và chính nó có thể có những thuộc tính khác. Các thực thể chuyên biệt có thể có những mối kết hợp khác nhau với những thực thể khác và do đó các xử lý sẽ có thể khác nhau tùy theo từng chuyên biệt thành phần. c. Cách trình bày: Tổ chức thực thể và các thực thể con theo cấu trúc cây, những thuộc tính của thực thể sẽ mang tính chất thừa kế của gia phả.
  54. d. Ý nghĩa: Với phương pháp tổng quát hóa/chuyên biệt hóa cho phép chúng ta vừa trình bày vấn đề một cách tổng quát mà vẫn không quên các đặc thù. e. Ví dụ: Trong trường đại học:
  55. Khó khăn gặp phải trong việc tổng quát hóa hay chuyên biệt hóa là có khi một thực thể có thể có nhiều cách phân hoạch khác nhau theo từng tiêu chí khác nhau, các tập con có khi còn giao nhau. III.2.8. Phụ thuộc hàm giữa các thực thể a. Ðịnh nghĩa: Giả sử có một mối kết hợp giữa thực thể A và thực thể B, người ta nói tồn tại một phụ thuộc hàm giữa thực thể A với thực thể B nếu một thể hiện của A xác định một và chỉ một thể hiện của B. b. Trình bày trên mô hình quan niệm dữ liệu:
  56. c. Liên quan giữa phụ thuộc hàm với bản số Giả sử có một mối kết hợp hai chiều giữa hai thực thể. Có một phụ thuộc hàm giữa thực thể nguồn và thực thể đích khi và chỉ khi bản số của thực thể nguồn đối với mối kết hợp đó là (1, 1). d. Ví dụ: HÓA ÐƠN _ KHÁCH HÀNG Mỗi HÓA ÐƠN xác định duy nhất một KHÁCH HÀNG. III.2.9. Chuẩn hóa một mô hình thực thể - kết hợp Việc bảo đảm tính chặt chẽ của một mô hình dữ liệu để làm cơ sở đầy đủ và chính xác cho các giai đoạn sau là một vấn đề thiết yếu. Trong quá trình xây dựng thành phần dữ liệu mức quan niệm, dựa trên kết quả điều tra và những kinh nghiệm bản thân, lúc đầu có thể chúng ta có được một mô hình chưa đầy đủ hoặc thiếu chính xác. Các quy tắc sau đây cho phép
  57. chúng ta kiểm chứng và khắc phục những phiếm khuyết đó. a. Quy tắc 1: Trong mô hình thực thể - kết hợp: Ðối với bất kỳ thể hiện nào của một thực thể, mỗi thuộc tính đều phải có một nghĩa và có một giá trị duy nhất. Ví dụ: Nếu ta xây dựng thực thể NHÂN VIÊN như trên thì vi phạm quy tắc 1. Bởi vì trong thực tế đối với mỗi một nhân viên thuộc tính Tuổi thay đổi theo thời gian, và thuộc tính Họ tên con vô nghĩa đối với những người không có con và không xác định (duy nhất) đối với những người có hơn một con. Ðể thõa mãn quy tắc 1, tùy từng trường hợp, chúng ta có những cách giải quyết như sau: • Cách 1: Thay bằng thuộc tính tương đương mang tính bản chất hơn, chẳng hạn Tuổi nên thay bằng Ngày sinh khi đó có thể xác định tuổi ở tại bất cứ thời điểm nào. • Cách 2: Cho thuộc tính vi phạm quy tắc này mang giá trị đặc biệt. Cách này chỉ nên dùng cho trường hợp giá trị của thuộc tính đó hoặc là xác định hoặc là không. Chẳng hạn cho thuộc tính Tôn giáo bằng chuỗi rổng với những người không có tín ngưỡng thuộc tôn giáo nào (Nếu có thì chỉ có một tôn giáo mà thôi). Tuy nhiên không thể áp dụng cách như trên cho thuộc tính Họ tên con được. • Cách 3: Trong trường hợp này chúng ta xây dựng một thực thể và một mối kết hợp mới như sau:
  58. b. Quy tắc 2: Trong mô hình thực thể - kết hợp: Mọi thuộc tính của một mối kết hợp phải phụ thuộc vào khóa của mối kết hợp đó bằng một phụ thuộc hàm sơ cấp. Nghĩa là phụ thuộc vào toàn bộ khóa chứ không phải phụ thuộc vào một bộ phận của khóa. Ví dụ: Viêc quản lý quá trình lương của cán bộ công nhân viên, phải phản ánh được mỗi nhân viên được hưởng ngạch, bậc nào tại thời điểm (tháng - năm) nào. Tuy nhiên từ ngạch và bậc suy ra hệ số lương hay nói chính xác là hệ số lương chỉ phụ thuộc vào Ngạch và bậc mà thôi. Nên thay vì xây dựng mô hình:
  59. Chúng ta trình bày: c. Quy tắc 3 Trong mô hình: Mọi thuộc tính của một thực thể hay của một mối kết hợp phải phụ thuộc vào khóa bằng một phụ thuộc hàm sơ cấp trực tiếp. Ví dụ:Thực thể LỚP mà chúng ta xây dựng như sau:
  60. Với MA_LOP là hợp thành của các thành phần MA_NGANH (mã ngành: 01 - Toán, 02 - Lý, 56 - Tin học, ), Khóa học (17, 18, 22, 23, ), và MA_ÐVÐT. Chẳng hạn: 5697VL biểu thị cho lớp Tin học 97 Vĩnh Long. Thực thể LỚP xây dựng như trên không thõa quy tắc 3, vì ta có phụ thuộc bắc cầu như sau: MA_LOP ( MA_NGANH ( Tên ngành Trong trường hợp này, ta có thể xem lớp là một mối kết hợp tạo thành từ những thực thể thành phần: Bằng cách này có khi chúng ta xây dựng một mối kết hợp dựa trên những mối kết hợp trước đó. Ta dùng một dấu ngoặc
  61. gần mối kết hợp để chỉ nó là mối kết hợp được tạo ra trước. Chẳng hạn mối kết hợp "dạy" như sau: Trong nhiều trường hợp, khi tạo lập thuộc tính chỉ định cho một thực thể, đôi khi bao hàm trong đó là sự kết hợp của những thuộc tính khác. Khi đó sẽ vi phạm quy tắc 3 này. Ðể khắc phục trường hợp này, nhiều khi vừa phải thêm thực thể và mối kết hợp mới, vừa phải thay đổi cách thức tạo giá trị cho thuộc tính chỉ định. Thí dụ: Để quản lý sách trong thư viện người ta đánh số sách bằng cách kết hợp loại sách và số thứ tự của quyển sách thuộc loại đó. Chẳng hạn trong thư viện có 50 quyển Kiến trúc máy tính (KTMT), người ta đánh số MA_SÁCH từ KTMT01, KTMT02, , KTMT50. Như vậy chỉ cần biết KTMT là chúng ta nhận ra đó là Kiến trúc máy tính. Trong trường hợp này, chúng ta giải quyết như sau: vừa thêm thực thể "LOẠI SÁCH" và mối kết hợp "thuộc loại" vừa thay đổi cách đánh số của MA_SÁCH làm cho chúng không phụ thuộc vào chủng loại sách nữa, chẳng hạn theo thứ tự số quyển sách khi nhập vào thư viện.
  62. Chú ý: Khi xây dựng mô hình phải tùy theo yêu cầu thực tế để trình bày. Chẳng hạn trong vấn đề quản lý nhân sự, khi quản lý con của nhân viên có cần biết CON của NHÂN VIÊN với người VỢ/ CHỒNG nào hay không? III.3. TỪ ÐIỂN DỮ LIỆU Mô hình thực thể - kết hợp cho ta một cái nhìn trực quan về những thành phần chính của dữ liệu. Từ điển dữ liệu vừa cho ta có cái nhìn chính xác vừa để kiểm chứng lại mô hình thực thể - kết hợp trên. Từ điển dữ liệu là hồ sơ mô tả chi tiết và tóm tắt tất các thành phần trong mô hình: các thực thể, các mối kết hợp, và thuộc tính, bảng mô tả các ràng buộc toàn vẹn và tầm ảnh hưởng của chúng. Nó gồm những hồ sơ sau:
  63. a. Bảng mô tả các thực thể theo khuôn mẫu: b. Bảng mô tả các mối kết hợp theo khuôn mẫu:
  64. c. Bảng mô tả các ràng buộc toàn vẹn (những ràng buộc không thể hiện được trên sơ đồ) theo khuôn mẫu:
  65. Ngoài những hồ sơ trên có thể cần thêm một số hồ sơ sau: d. Bảng tổng kết các thuộc tính: Sắp xếp tên thuộc tính theo thứ tự từ điển để sau này dễ tra cứu. e. Bảng tổng kết các thực thể và các mối kết hợp: gồm hai phần: • Phần 1: Danh sách tên các thực thể sắp theo thứ tự từ điển, cùng tổng số chiều dài và tổng số thể hiện.
  66. • Phần 2: Danh sách tên các các mối kết hợp sắp theo thứ tự từ điển, cùng tổng số chiều dài và tổng số thể hiện. III.4. CÁC BƯỚC XÂY DỰNG MỘT MÔ HÌNH THỰC THỂ - KẾT HỢP Các bước thực hiện: Bước 1: Phân hoạch dữ liệu thành các lĩnh vực. Tiêu chuẩn để phân hoạch thường căn cứ vào tính chất chức năng, nghiệp vụ của tổ chức. Các dữ liệu của lĩnh vực này thường ít liên quan đến dữ liệu của lĩnh vực kia. Thí dụ: Hệ thống kế toán có thể phân chia thành các phân hệ: ƒ Thu - chi tiền mặt, tiền gửi ngân hàng. ƒ Mua - bán hàng hóa. ƒ Nhập - xuất nguyên liệu chính, nguyên liệu phụ, công cụ sản xuất. ƒ Sản xuất và bán sản phẩm. ƒ Thuế giá trị gia tăng đầu vào, đầu ra. ƒ Tài sản cố định. ƒ Thanh toán - các loại công nợ. ƒ Kết chuyển. ƒ Tổng hợp. Có những tổ chức mà chức năng công việc của bộ phận này là kết quả của bộ phận kia mà nếu biết điều chỉnh chúng ta có thể cải tiến cơ cấu và quy trình quản lý để tổ chức hoạt động có hiệu quả hơn. Thí dụ : phân hệ các loại công nợ liên quan tới các phân hệ thu chi tiền mặt, tiền gửi ngân hàng, mua bán hàng hóa, thanh toán,
  67. Bước 2: Ðối với mỗi lĩnh vực xây dựng mô hình thực thể - kết hợp cho lĩnh vực đó, nghĩa là xác định các thuộc tính, thực thể, quan hệ, bản số của mỗi thực thể đối với mỗi mối kết hợp mà nó tham gia cùng các ràng buộc toàn vẹn giữa chúng mà các ràng buộc này không thể hiện được trong mô hình thực thể kết hợp. Bước 3: Tổng hợp các mô hình thực thể - kết hợp từ tất các lĩnh vực để có một mô hình tổng quát. Thường mỗi lĩnh vực có tính chất nghiệp vụ riêng, khi tổng hợp lại chúng có thể có những thực thể chung. Thí dụ: các phân hệ trong hệ thống kế toán luôn liên quan đến những lớp đối tượng chung như hệ thống tài khoản, khách hàng, nhân viên Mỗi hình thực thể_kết hợp cho một lĩnh vực thường do một nhóm xây dựng, cho nên có thể cùng một lớp đối tượng liên quan tới nhiều phân hệ, mỗi nhóm lại có định danh riêng. Vì vậy khi tổng hợp lại các nhóm phải thống nhất với nhau để có một cách quan niệm thống nhất. Do đó mà công việc của giai đoạn này bao gồm: • Xóa bỏ những từ đồng nghĩa và đa nghĩa: ƒ Từ đồng nghĩa: 2 vật thể (object) mang 2 tên khác nhau, nhưng thực chất là như nhau. Ví dụ: thực thể "SINH VIÊN" và "HỌC VIÊN" hay "HỌC SINH", thuộc tính "ÐIỂM" và "KẾT QUẢ" môn thi. ƒ Từ đa nghĩa: 2 vật thể khác nhau mang cùng một tên. Ví dụ: Trong trường Ðại học, khi sau này có phân biệt liên quan đến chức năng, cùng là "NHÂN VIÊN" nhưng sẽ không phân biệt được đó là "CÁN BỘ GIẢNG DẠY" hay "NHÂN VIÊN HÀNH CHÁNH". • Xây dựng ngữ vựng chung: Tạo danh mục tổng quát gồm các danh mục sau: ƒ Danh mục các thuộc tính. ƒ Danh mục các thực thể. ƒ Danh mục các mối kết hợp . Chú ý: Các thuộc tính, các thực thể, và các quan hệ được dịnh danh bằng các tên không thể trùng nhau và khi tổng hợp có thể xem một thực thể của một hình thực thể _ kết hợp này lại là mối kết hợp trong một mô hình thực thể _ kết hợp
  68. khác. Bước 4: Chuẩn hóa: Áp dụng các quy tắc chuẩn hóa để có một mô hình hợp lý. Lưu ý khi chuẩn hoá không làm mất ngữ nghĩa bản chất của vấn đề trong thế giới thực. Ví dụ: trong vấn đề quản lý nhân sự, nếu cần quản lý thêm con của nhân viên thì cần quan tâm đến ngữ nghĩa của vấn đề: đó là con của nhân viên với người vợ hoặc người chồng nào vì mỗi nhân viên có thể chưa (thậm chí không) nhưng cũng có nhiều vợ (hoặc nhiều chồng). Bước 5: Hợp lệ hóa lần cuối: sau khi xây dựng xong mô hình phải trao đổi lại với những người lãnh đạo cơ quan và những người sử dụng, tức những người có trách nhiệm và những người có liên quan đến trong mô hình, cũng như với các đồng nghiệp, những nhà tin học khác. Những ý kiến của họ cần được phân tích và nếu thấy hợp lý thì phải điều chỉnh cho phù hợp. Thí dụ với vấn đề quản lý mua bán hàng đã được mô tả trong phần trước chúng ta có thể có mô hình thực thể - kết hợp như sau:
  69. Chương IV Mô Hình Dữ Liệu Mức Logic IV.1. GIỚI THIỆU Chúng ta đã làm quen với cách thức và phương pháp tạo ra một mô hình dữ liệu mức quan niệm về các thông tin của tổ chức nào đó. Nó rất giàu về mặt ngữ nghĩa, do đó dễ dàng để mọi thành phần tham gia vào việc phát triển hệ thống thông tin hiểu được, đặc biệt là với người dùng. Nhưng nó lại không dễ dàng để hệ thống quản lý tập tin và các hệ quản trị cơ sở dữ liệu hiểu được. Do đó cần thiết phải qua một giai đoạn chuyển đổi mô hình quan niệm về dữ liệu thành mô hình logic cho dữ liệu - một mô hình "gần gũi" với ngôn ngữ máy tính hơn. Giai đoạn này gọi là phân tích và thiết kế thành phần dữ liệu mức logic. Nhiệm vụ của giai đoạn này không đi sâu vào chi tiết kỷ thuật truy xuất hoặc lưu trữ dữ liệu (đó là nhiệm vụ của mô hình dữ liệu mức vật lý), nhưng phải kể đến các khả năng, giới hạn của hệ thống quản lý tập tin hay hệ thống quản lý cơ sở dữ liệu. Hơn nữa, mô hình luận lý cho dữ liệu quan tâm đến sự tổ chức cho dữ liệu, sao cho thích hợp với thời gian đáp ứng mà xử lý đòi hỏi . Như vậy, mục tiêu của mô hình logic cho dữ liệu là nhằm: ƒ Tổ chức dữ liệu. ƒ Tối ưu hóa cách tổ chức đó. Chúng ta đã biết rằng có 3 kiểu mô hình cơ sở dữ liệu: mô hình mạng, mô hình phân cấp, và mô hình quan hệ. Mô hình kiểu mạng xuất hiện trước nhất, vào những năm 70. Sau đó là mô hình quan hệ và mô hình phân cấp gần như xuất hiện đồng thời. Mô hình quan hệ dù xuất hiện sau nhưng có nhiều đặc tính ưu việt hơn hai kiểu mô hình còn lại và nhanh chóng phát triển. Hiện nay hầu hết các hệ quản trị cơ sở dữ liệu cài đặt theo mô hình quan hệ. Chính vì vậy mà chúng ta quan tâm
  70. tới việc chuyển mô hình thực thể - kết hợp thành cơ sở dữ liệu theo mô hình quan hệ. IV.2. MÔ HÌNH CSDL QUAN HỆ: Ðể có một cơ sở dữ liệu theo mô hình quan hệ phải xuất phát từ mô hình thực thể - kết hợp. Quá trình chuyển đổi có thể chia thành các bước với những quy tắc như sau: BƯỚC 1: (không bắt buộc nếu trong HÌNH THỰC THỂ - KẾT HỢP không có tổng quát hóa - chuyên biệt hóa) Chúng ta phải xét xem trong mô hình thực thể - kết hợp có sử dụng khái niệm tổng quát hóa - chuyên biệt hóa để trình bày vấn đề hay không. Nếu có thì phải biến đổi mô hình về dạng không còn tổng quát hóa - chuyên biệt hóa trong mô hình nữa. Có hai cách loại bỏ tổng quát hóa/chuyên biệt hóa: Cách 1: Xem mỗi chuyên biệt là một thực thể: khi đó mỗi mối kết hợp giữa thực thể tổng quát với các thực thể khác phải tách ra theo các thực thể chuyên biệt. Các thực thể chuyên biệt ngoài thuộc tính của bản thân nó (nếu có) còn được thừa hưởng mọi thuộc tính của thực thể tổng quát, tuy nhiên chúng ta nên điều chỉnh tên gọi cho mô hình hợp lý. Thí dụ:
  71. Chúng ta biến đổi thành như sau:
  72. Cách 2: Gộp các chuyên biệt thành một thực thể chung, khi đó phải bổ sung thêm tất cả các thuộc tính của các chuyên biệt (nếu có) vào thữc thể tổng quát, và khi đó có thể phải điều chỉnh lại bản số và thường phát sinh thêm các ràng buộc. Bản số của nó với mối kết hợp - dạy - là (0, n). Khi chuyển sang mô hình quan hệ thì ngoài việc áp dụng các quy tắc chuyển đổi để có các quan hệ cần bổ sung các ràng buộc sau: Ràng buộc 1: -Không tồn tại một người vừa là cán bộ hành chánh vừa là cán bộ giảng dạy (hay vừa có chức danh vừa có nghiệp vụ). Ràng buộc 2: "Với mọi cán bộ, nếu không có chức danh thì không tham gia công tác giảng dạy". Những ràng buộc này sẽ được đề cập đến trong các quá trình xử lý sau. BƯỚC 2:
  73. Áp dụng các quy tắc chuyển đổi như sau: Quy tắc 1. Một thực thể của mô hình thực thể - kết hợp chuyển thành một bảng. Quy tắc 2. Một thuộc tính của mô hình thực thể - kết hợp chuyển thành một thuộc tính của một bảng tương ứng. Ðặc biệt một KHÓA trong mô hình thực thể - kết hợp chuyển thành KHÓA của bảng. Quy tắc 3 . Một quan hệ phụ thuộc hàm mạnh của mô hình thực thể - kết hợp khi chuyển sang mô hình quan hệ được thực hiện như sau: · Thực thể đích chuyển thành bảng đích theo quy tắc 2. • Thực thể nguồn chuyển thành bảng nguồn, gồm tất cả các thuộc tính của thực thể nguồn và thuộc tính khóa của thực thể đích. Thuộc tính khóa của thực thể đích chuyển sang được xem như khóa ngoài của bảng nguồn, nghĩa là ta sẽ nhận được một thể hiện của bảng đích tương ứng với một thể hiện của bảng nguồn từ khóa ngoài của bảng nguồn.
  74. Nếu mối kết hợp phụ thuộc hàm có thuộc tính, các thuộc tính này được đưa thêm vào bảng nguồn. Thí dụ :
  75. Quy tắc 4. Một mối kết hợp n - chiều (n(2, trong trường hợp n=2 thì không phải là phụ thuộc hàm) của mô hình thực thể - kết hợp biến thành một bảng, gồm tất cả các khóa của các thực thể tham gia và các thuộc tính của mối kết hợp đó (nếu có). Các khóa này kết hợp thành khóa của bảng vừa được tạo ra. Mỗi thực thể tham gia chuyển thành một bảng.
  76. Trong trường hợp một mối kết hợp dựa trên một mối kết hợp khác thì ta có thể xem mối kết hợp có trước như một thực thể để áp dụng quy tắc trên: Thí dụ:
  77. Quy tắc 5. Một quan hệ tự thân sẽ biến mất hay trở thành một bảng, tùy theo các bản số của quan hệ đó trong mô hình thực thể - kết hợp. Nếu có một bản số là (1, 1): xem quan hệ tự thân như quan hệ phụ thuộc hàm giữa hai thực thể, áp dụng quy tắc 3. Ví dụ: Trong gia phả dòng họ:
  78. Ngược lại, cả hai bản số đều là (0, 1); (0, n) hay (1, n): xem như quan hệ nhị phân bình thường, áp dụng quy tắc 4. Ví dụ:
  79. Chú ý rằng tên của quan hệ không cần thiếp phải trùng với tên của thực thể (hoặc của mối kết hợp), tên của thuộc tính không nhất thiết phải giữ nguyên sau khi chuyển. BƯỚC 3: Tối ưu hóa các bước chuyển đổi: Trong một mô hình hình thực thể - kết hợp, có những thực thể tham gia vào nhiều mối kết hợp. Do đó khi áp dụng các quy tắc trên chúng có thể được chuyển thành nhiều quan hệ mà có thể có nhiều thuộc tính trùng lắp. Ðể bảøo đảm tính nhất quán của dữ liệu, và tiết kiệm không gian lưu trữ về sau, chúng ta có thể gộp một số quan hệ với nhau (thường xuất phát từ các phụ thuộc hàm mạnh từ một thực thể đến các thực thể khác), loại bỏ một số thuộc tính ở một số quan hệ nào đó nếu chúng đã tồn tại ở quan hệ khác và thậm chí có khi loại bỏ cả quan hệ nếu nó không cần thiết (thường những quan hệ chỉ có một thuộc tính do đã tham gia vào các mối kết hợp khác rồi), và cũng có thể gép một số quan hệ lại với nhau. Thí dụ: trong vấn đề quản lý công tác đào tạo của một trường đại học, các thực thể: NHÂN VIÊN, SINH VIÊN, MÔN HỌC thường tham gia vào nhiều mối kết hợp. BƯỚC 4: Chuẩn hóa dữ liệu: Áp dụng các quy tắc chuẩn hóa trong lý thuyết thiết kế cơ sở dữ liệu để tách các quan hệ thành các quan hệ ở dạng chuẩn cao nhất có thể có (thường ở dạng chuẩn thứ ba hay tốt nhất là BCNF). Tóm lại, mục tiêu cụ thể của giai đoạn này là: căn cứ vào kết quả của mô hình thực thể - kết hợp cùng những ràng buộc toàn vẹn mà đã xây dựng ở bước trước, chúng ta phải biết chuyển chúng thành cơ sở dữ liệu quan hệ theo mô hình quan hệ. Kết quả phải đạt được của bước này là: • Một cơ sở dữ liệu quan hệ: tức là một tập các quan hệ ở dạng chuẩn nào đó (thường là dạng chuẩn thứ 3 hay tốt nhất là BCNF). • Một tập hợp các ràng buộc toàn vẹn giữa các dữ liệu nói trên.
  80. Thí dụ : Với mô hình thực thể - kết hợp về hệ thống quản lý mua bán hàng hóa đã được trình bày cuối phần trên, trước khi chuyển sang mô hình logic cho dữ liệu ta biến đổi như sau: ghép thực thể nhân viên vào thực thể khách hàng và hai chuyên biệt hóa đơn bán sỉ và hóa đơn bán lẻ thành một thực thể hóa đơn chung để có mô hình như sau:
  81. Ta có các quan hệ như sau: 1. CỬAHÀNG (MA_CH, Tên cửa hàng, Ðịa chỉ cửa hàng) 2. KHÁCHHÀNG (MAKHÁCH, Họ tên khách, Ðịa chỉ khách, Mã số thuế) 3. HÀNG (MAHÀNG, Tên hàng, Ðơn vị tính) 4. CỬAHÀNG (MA_CH, Tên cửa hàng, Ðịa chỉ cửa hàng) 5. PHIẾUNHẬP (STT_PN, Ngày nhập, Thuế suất nhập, MA_CH, MAKHACH) 6. NHẬP (STT_PN, MAHÀNG, SL nhập, ÐG nhập) 7. HÓAÐƠN (STT_HÐ, Ngày bán, Thuế suất bán, Ngày thanh toán, MA_CH, MAKHACH, Số seri) 8. BÁN (STT_HÐ, MAHÀNG, SL bán, ÐG bán) Chương V Lưu Đồ Dữ Liệu V.1. GIỚI THIỆU Mô hình mô hình thực thể - kết hợp đã làm rõ ràng các mối liên hệ về ngữ nghĩa giữa các dữ liệu mà không hề giả thiết trước về cách thức mà các dữ liệu này sẽ được tạo ra, thay đổi và luân chuyển ra sao bên trong tổ chức. V.1.1. Các cách tiếp cận cổ điển Cách tiếp cận cổ điển: theo sơ đồ tổ chức dựa vào các chức năng, các nhiệm vụ của các đơn vị trong tổ chức. Bộ phận nào phụ trách nhiệm vụ nào, chức năng xử lý nhiệm vụ đó ra sao. Cách tiếp cận này đề cập đến những phạm trù như sau:
  82. Ta có các quan hệ như sau: 1. CỬAHÀNG (MA_CH, Tên cửa hàng, Ðịa chỉ cửa hàng) 2. KHÁCHHÀNG (MAKHÁCH, Họ tên khách, Ðịa chỉ khách, Mã số thuế) 3. HÀNG (MAHÀNG, Tên hàng, Ðơn vị tính) 4. CỬAHÀNG (MA_CH, Tên cửa hàng, Ðịa chỉ cửa hàng) 5. PHIẾUNHẬP (STT_PN, Ngày nhập, Thuế suất nhập, MA_CH, MAKHACH) 6. NHẬP (STT_PN, MAHÀNG, SL nhập, ÐG nhập) 7. HÓAÐƠN (STT_HÐ, Ngày bán, Thuế suất bán, Ngày thanh toán, MA_CH, MAKHACH, Số seri) 8. BÁN (STT_HÐ, MAHÀNG, SL bán, ÐG bán) Chương V Lưu Đồ Dữ Liệu V.1. GIỚI THIỆU Mô hình mô hình thực thể - kết hợp đã làm rõ ràng các mối liên hệ về ngữ nghĩa giữa các dữ liệu mà không hề giả thiết trước về cách thức mà các dữ liệu này sẽ được tạo ra, thay đổi và luân chuyển ra sao bên trong tổ chức. V.1.1. Các cách tiếp cận cổ điển Cách tiếp cận cổ điển: theo sơ đồ tổ chức dựa vào các chức năng, các nhiệm vụ của các đơn vị trong tổ chức. Bộ phận nào phụ trách nhiệm vụ nào, chức năng xử lý nhiệm vụ đó ra sao. Cách tiếp cận này đề cập đến những phạm trù như sau:
  83. • Chức năng logic. • Bản chất của xử lý: ƒ Kiểu xử lý: đơn hay theo lô. ƒ Thời gian thực hiện: thời gian thực (interactive) hay thời gian được trễ. • Tần suất của xử lý: số lần khai thác/đơn vị thời gian. • Dữ liệu cần dùng cho xử lý: ƒ Dữ liệu thường trực (tồn tại lâu, ít thay đổi), chẳng hạn dữ liệu về các đặc tính của sinh viên, cán bộ. ƒ Dữ liệu biến động (giá trị thay đổi theo thời gian), chẳng hạn dữ liệu thời khóa biểu. ƒ Dữ liệu tình trạng (thể hiện tình trạng của đối tượng tại một thời điểm nào đó), chẳng hạn dữ liệu kết quả học tập của sinh viên tại từng học kỳ. ƒ Dữ liệu quá trình( thể hiện một quá trình trong quá khứ), chẳng hạn dữ liệu quá trình hoạt động của cán bộ công chức. ƒ Dữ liệu lưu, chẳng hạn dữ liệu về hóa đơn, chứng từ. • Nội dung các tác vụ (thao tác cơ sở), chẳng hạn: ƒ Nạp vào. ƒ Tìm kiếm → kiểm tra → chọn ra → gán vào. ƒ Tính toán. ƒ Xóa. ƒ Sửa, Cách tiếp cận theo phương pháp cổ điển là theo kiểu tĩnh, không xét mối quan hệ giữa các xử lý cũng như sự phối hợp giữa chúng như thế nào. V.1.2. Các phương pháp tiếp cận kiểu mới Các quan điểm tiếp cận thành phần xử lý kiểu mới đề cập đến những phạm trù sau: • Lúc nào khởi động một xử lý.
  84. • Việc phối hợp với các xử lý khác như thế nào? có cần chờ đợi một xử lý khác không? có các xử lý song song nào không? • Một xử lý như vậy dùng dữ liệu gì? phát sinh ra dữ liệu gì? dữ liệu kết quả phục vụ xử lý nào? • Việc phối hợp các xử lý xảy ra trong không gian, thời gian nào? Thành phần xử lý là khía cạnh động của hệ thống thông tin. Nói chung nó cũng rất phức tạp cho nên để hiểu biết thấu đáo và mô tả chúng một cách chính xác, cần phải tiếp cận từng mức và phải có những phương pháp thích hợp. Cũng như đối với thành phần dữ liệu, việc phân tích thành phần xử lý cũng phân ra nhiều mức. Ở mức quan niệm đối với thành phần xử lý là làm rõ những quan hệ có tính bản chất ngữ nghĩa mà không quan tâm tới khía cạnh tổ chức. Nhiệm vụ cơ bản trong giai đoạn này là vạch ra các hoạt động của đơn vị. Các hoạt động này không phụ thuộc vào cách thức tổ chức thực hiện chúng ra sao. Câu hỏi đặt ra cho giai đoạn này: “cái gì” (đơn vị phải làm cái gì) bỏ qua các câu hỏi “ở đâu”, “ai làm”, “bao giờ” và “làm như thế nào”. Thí dụ với việc quản lý mua bán hàng của một đơn vị nào đó mà chúng ta đang đề cập, khi mô hình hóa mức quan niệm đối với thành phần xử lý chúng ta không quan tâm tới việc đơn vị đó phải thuê bao nhiêu nhân viên, trang bị phương tiện quản lý (máy tính, máy đọc barcode, ) như thế nào. Nhưng cho dù đơn vị có tổ chức quản lý như thế nào thì để đảm bảo cho việc quản lý mua bán hàng, nó phải làm phiếu nhập kho khi có sự mua hàng về, lập hóa đơn khi có khách mua, cuối tháng phải làm công tác kiểm kê, kế toán. Những hoạt động này có tính đặc trưng cơ bản để thực hiện mục tiêu đã định trước của đơn vị. Ðể tiếp cận thành phần xử lý cũng phải phân chia thành các giai đoạn do tính chất phức tạp của nó, và dĩ nhiên mỗi giai đoạn có những cách thức hay công cụ thích hợp để biểu diễn chúng. Ở mức quan niệm, chúng ta không đi sâu vào việc mô tả chi tiết từng xử lý mà cần nhận biết chúng gồm những hoạt động xử lý nào, sinh ra kết quả gì, bản chất và sự kết hợp của chúng ra sao để có sự hình dung sơ bộ nhưng chính xác các
  85. xử lý. Có hai trường phái chính tiếp cận thành phần xử lý, đó là: a. Cách tiếp cận của các nước Bắc Mỹ Các nước Bắc Mỹ xây dựng thành phần xử lý dựa trên cơ sở khái niệm liên quan đến lưu đồ dòng dữ liệu: ô xử lý, nguồn/đích, dữ liệu vào, dữ liệu ra Lưu đồ dòng dữ liệu là cách tiếp cận thành phần xử lý ở hai mức: mức quan niệm và mức vật lý, bằng cách phân rã các ô xử lý từ hệ thống tổng quát đầu tiên tới mức chi tiết mà người lập trình có thể nắm bắt và triển khai. b. Cách tiếp cận của các nước Châu Âu Các nước Châu Aâu trình bày thành phần xử lý với mô hình Merise trên cơ sở các khái niệm: biến cố, hoạt động, sự đồng bộ hóa, Ở mức logic đi sâu thêm về tổ chức các xử lý thông qua các khái niệm như: trạm làm việc, bản chất của các xử lý, thủ tục chức năng, đơn vị tổ chức xử lý, Lưu đồ dòng dữ liệu (data flow diagram) là cách phân tích thành phần xử lý của một hệ thống thông tin thuộc trường phái các nước Bắc Mỹ. Lưu đồ dòng dữ liệu biểu diễn sự kết nối giữa các hoạt động của hệ thống, thông qua việc trao đổi dữ liệu khi hệ thống hoạt động. Trong lưu đồ dòng dữ liệu phải thể hiện những xử lý nào khởi đầu, xử lý nào phụ thuộc vào những xử lý khác và mỗi xử lý cần những dữ liệu gì. Tùy từng mức độ mà lưu đồ dòng dữ liệu được phân rã chi tiến dần, đến khi có thể chuyển cho người lập trình để triển khai. Có thể nói lưu đồ dòng dữ liệu chỉ có hai mức: mức quan niệm và mức vật lý, không có ranh giới giữa hai mức trên bởi mức logic. V.2. CÁC KHÁI NIỆM CƠ BẢN TRONG LƯU ĐỒ DÒNG DỮ LIỆU
  86. V.2.1. Ô xử lý hay quá trình xử lý Thường gồm nhiều thao tác trong một lĩnh vực nào đó. Một quá trình xử lý trong thế giới thực tương ứng với một xử lý trong hệ thống thông tin. Xử lý trong hệ thống thông tin thường là việc ghi nhận dữ liệu của các đối tượng tham gia vào quá trình xử lý trong thực tế hoặc là sự biến đổi dữ liệu đã có tạo để ra dữ liệu mới, nó thường bỏ qua những thao tác khó lượng hóa được trong thế giới thực. Khi định danh một ô xử lý nên tìm thuật ngữ thích hợp đặc tả đúng bản chất của quá trình xử lý, nó thường là một động từ. Ðiều khó khăn là cùng một bản chất nhưng có thể nó được đặc tả bằng những thuật ngữ khác nhau, cho nên các thành phần tham gia phải thống nhất với nhau về việc đặt tên cho một ô xử lý. Chẳng hạn dùng “quản lý hàng hóa” hay “quản lý mua bán hàng hóa”, dùng xử lý “nhập hàng” hay “lập phiếu nhập kho” Mỗi ô xử lý thường được ký hiệu bằng một hình oval hay hình chữ nhật góc tròn, bên trong có đánh một số thứ tự kèm theo một tên của nó. Dòng dữ liệu bao gồm dữ liệu vào và dữ liệu ra. V.2.2. Dữ liệu vào
  87. Thường liên quan đến các đối tượng tham gia vào quá trình xử lý, đó là giá trị của các thuộc tính của các đối tượng đó. V.2.3. Dữ liệu ra Dữ liệu ra là kết quả của một quá trình xử lý trong thế giới thực thường là một vật chứng nào đó (chẳng hạn: phiếu nhập, hóa đơn, bảng kê, danh sách?). Vật chứng đó thể hiện kết quả của quá trình xử lý. Trong hệ thống thông tin kết quả của xử lý là các dữ liệu đầu ra ghi nhận kết quả của quá trình xử lý. Dòng dữ liệu thường được ký hiệu bằng các mũi tên để chỉ hướng vào hoặc ra đối với một ô xử lý và có nhãn đặc tả dữ liệu đó. V.2.4. Nguồn / đích Nguồn / đích là những thực thể bên ngoài hệ thống; nguồn tác động vào hệ thống làm cho hệ thống khởi tạo các quá trình xử lý, còn đích là những đối tượng mà hệ thống phải cung cấp cho. Trong nhiều trường hợp một đối tượng có thể là nguồn, cũng có thể là đích. Chúng được ký hiệu bằng những hình chữ nhật bên trong có gán tên.
  88. V.2.5. Kho dữ liệu Kho dữ liệu là nơi chứa dữ liệu mà quá trình xử lý cần tham khảo hay cần lưu trữ lại sau quá trình xử lý. Chúng được ký hiệu bằng những hình chữ nhật một bên đóng, hoặc cả hai bên đều mở và bên trong có gán nhãn và tên. V.3. CÁC CẤP CỦA LƯU ĐỒ DÒNG DỮ LIỆU Phân tích thành phần xử lý bằng lưu đồ dòng dữ liệu là phương pháp phân tích đi xuống. Cấp 0: Cấp thấp nhất, ban đầu có thể xem toàn bộ hệ thống chỉ bao gồm một ô xử lý, đó là xử lý tổng quát, nguồn là các đối tượng khởi tạo hệ thống còn đích là các đối tượng mà hệ thống phải phục vụ, các dữ liệu tham gia vào hệ thống phát sinh từ môi trường, và dữ liệu ra kết xuất ra môi trường bên ngoài. Các kho dữ liệu ở cấp này là có thể là những kho trừu tượng:
  89. Thí dụ: Cấp 0 của lưu đồ dòng dữ liệu cho hệ thống quản lý mua bán hàng: Các cấp cao hơn có được bằng cách chi tiết hóa ô xử lý cấp trước. Ðiều khó khăn là ở chổ nhận diện ra chúng phân chia thành những ô xử lý nào, phạm vi của mỗi ô xử lý ra sao. Chẳng hạn việc “quản lý mua bán hàng” chỉ đơn thuần là việc theo dõi nhập hàng, bán hàng, lập báo cáo tồn kho, thẻ kho hay còn bao gồm cả việc lập các bảng thuế giá trị gia tăng đầu vào, thuế giá trị gia tăng đầu ra, hay còn những xử lý khác nữa. Và như vậy việc xác định phạm vi của mỗi ô xử lý cần có sự thống nhất chung giữa các thành phần đặc biệt là người phân tích hệ thống và người dùng.
  90. Cấp n (n ¦1): có được bằng cách phân rã mỗi ô xử lý cấp n-1 thành nhiều ô xử lý cấp n. Ta có hình ảnh phân cấp như sau:
  91. Việc phân rã dừng ở mức nào là do người phân tích hệ thống cũng như các thành phân tham gia vào việc xây dựng hệ thống thông tin quyết định. Thường là tới mức mà mọi thành phần đều chấp nhận trong việc nhận thức về thành phần xử lý của hệ thống. Tuy nhiên, để làm rõ nội dung của mỗi ô xử lý đòi hỏi phải có sự giải thích, hướng dẫn hay còn gọi là đặc tả ô xử lý. Ở những mức thấp như cấp 0 hoặc cấp 1 không nên đi sâu vào các trường hợp đặc biệt, chi tiết nên trình bày từ mức thứ hai trở đi. Việc đặc tả các ô xử lý không chỉ để cho các thành phần nhận thức về thành phần xử lý mà còn giúp cho người thiết kế cũng như người lập trình triển khai trong các bước tiếp theo. V.4. CÁC CÔNG CỤ ĐẶC TẢ NỘI DUNG Ô XỬ LÝ. Việc đặc tả nội dung ô xử lý thường phải kết hợp các công cụ sau: ƒ Văn bản có cấu trúc. ƒ Mã giả. ƒ Bảng quyết định. ƒ Cây quyết định. ƒ Lưu đồ. Ðiều quan trọng trong việc đặc tả các ô xử lý là phải nêu được trình tự logic các thao tác, tính chất mỗi thao tác: tuần tự, lựa chọn hoặc lặp. Mỗi thao tác có thể liên quan tới các quy tắc quản lý, những điều kiện để phát sinh kết quả, những ứng xử mà có khi phải gọi thực thi một ô xử lý khác, cùng kết quả tạo ra sau khi xử lý. Việc xây dựng lưu đồ dòng dữ liệu trình bày như trên là bài bản, khoa học, tuy nhiên có khi rườm rà. Ðôi khi người ta trình bày lưu đồ dòng dữ liệu bằng cách chỉ quan tâm đến dữ liệu vào, dữ liệu ra và các ô xử lý. Chẳng hạn lưu đồ dòng dữ liệu cho bài toán quản lý mua bán hàng được mô tả như sau:
  92. Ðể đặc tả các ô xử lý, người ta xét mối quan hệ giữa mô hình thực thể - kết hợp và lưu đồ dòng dữ liệu. Trong đó các quá trình xử lý thuộc loại ghi nhận dữ liệu trong lưu đồ dòng dữ liệu có mối liên quan tới một sơ đồ con trong mô hình thực thể - kết hợp. Ðể làm rõ điều này trong lưu đồ dòng dữ liệu chúng ta đánh số thứ tự các ô xử lý, còn trong mô hình thực thể - kết hợp chúng ta bao các thực thể, các mối kết hợp liên quan đến quá trình xử lý bởi một đường cong khép kín có số thứ tự xử lý tương ứng trong đó. Khi đó để rõ thêm các ô xử lý chúng ta có thể mô tả chúng ghi nhận các thành thần dữ liệu nào: chẳng hạn nó bổ sung thể hiện của thực thể nào hay xác định giá trị của những thuộc tính nào và liên quan tới thực thể hay mối kết hợp nào. Ðối với những ô xử lý thuộc loại biến đổi dữ liệu đã có ta cũng dùng cách đặc tả nội dung chúng bằng việc kết hợp các công cụ như đã trình bay ở phần trên.
  93. Mối quan hệ giữa mô hình thực thể - kết hợp và lưu đồ dòng dữ liệu cho ta thấy mỗi hoạt động liên quan đến những thực thể và mối kết hợp nào. Chẳng hạn hoạt động “nhập hàng” liên quan đến thực thể PHIẾU NHẬP và các mối kết hợp “nhập”, “nhập của” và “nhập vào”. Bản chất của mổi một hoạt động “nhập hàng” là bổ sung một thể hiện vào thực thể PHIẾU NHẬP và liên quan đến thể hiện đó phải phản ánh được phiếu nhập đó là “nhập của” KHÁCH HÀNG nào, “nhập vào” KHO HÀNG nào và “nhập” mặt HÀNG nào với số lượng và đơn giá nhập lương ứng là bao nhiêu. Hoạt động “bán hàng” liên quan đến thực thể HÓA ÐƠN và các mối kết hợp “bán”, “bán cho” và “bán từ”. Bản chất của mổi một hoạt động “bán hàng” là bổ sung một thể hiện vào thực thể HÓA ÐƠN và liên quan đến thể hiện đó phải phản ánh được hóa đơn đó là “bán cho” KHÁCH HÀNG nào, “bán từ” KHO HÀNG nào và “bán” mặt HÀNG nào với số lượng và đơn giá bán tương ứng là bao nhiêu. Chẳng hạn việc đặc tả nội dung xử lý “bán hàng” hay “lập hoá đơn bán hàng” có thể trình bày như sau: 1. Cập nhật số thứ tự hóa đơn. 2. Cập nhật loại hóa đơn (thường có loại mặc nhiên phổ biến). 3. Cập nhật ngày phát hành hóa đơn (giá trị mặc nhiên là ngày hiện tại). 4. Số seri của hoá đơn (chỉ thay đổi khi sang quyển khác). 5. Cập nhật mã số của khách hàng. a. Nếu khách hàng đã có trong dữ liệu thì tìm kiếm từ thông tin (họ tên hay địa chỉ) rồi gán mã số vào.
  94. b. Nếu khách hàng chưa có trong dữ liệu thì gọi xử lý “bổ sung khách hàng” rồi gán mã số mới cập nhật vào. 6. Cập nhật tỷ lệ thuế giá trị gia tăng (thuế suất). 7. Với mỗi mặt hàng: a. Cập nhật mã hàng. i. Nếu mặt hàng đã có trong dữ liệu thì tìm kiếm từ thông tin (tên hàng cùng đơn vị tính) rồi gán mã số vào. ii. Nếu mặt hàng chưa có trong dữ liệu thì gọi xử lý “bổ sung mặt hàng” rồi gán mã số mới cập nhật vào. b. Xác định số lượng tồn kho của mặt hàng vừa cập nhật. c. Nạp số lượng bán. Nếu số lượng bán > số lượng tồn kho thì từ chối →nạp lại. d. Nạp đơn giá bán. e. Tính số tiền bán mặt hàng đó. f. Tính tổng số tiền bán hàng. g. Tính thuế giá trị gia tăng.
  95. 8. Tính tổng số tiền bán hàng+ thuế giá trị gia tăng. 9. Ðổi tổng số tiền ra chuỗi. 10. In hóa đơn. 11. Thu tiền - Giao hàng và một liên hóa đơn (màu đỏ) cho khách. Trong hệ thống thông tin quản lý việc mua bán hàng, xử lý “lập hóa đơn bán hàng” có chức năng ghi nhận thông tin về các hóa đơn. Kết thúc việc lập một hóa đơn các giá trị của các thuộc tính vừa thực hiện được lưu trong hai quan hệ HÓAÐƠN và BÁN. Cụ thể các giá trị của các thuộc tính (STT_HÐ, Ngày bán, Thuế suất bán, Ngày thanh toán, MA_CH, MAKHACH, Số seri) sẽ được đưa vào quan hệ HÓAÐƠN, còn các giá trị của các thuộc tính (STT_HÐ, MAHÀNG, SL bán, ÐG bán) được đưa vào quan hệ BÁN. Việc đặc tả ô xử lý cùng các ứng xử với mỗi thành phần trình bày như trên là cơ sở cho việc triển khai các modul khi lập trình. Một cách nhìn tổng quát liên hoàn các xử lý cho hệ thống quản lý mua bán hàng là sơ đồ PERT của các ô xử lý như sau: Trong các xử lý trên, xử lý số 1 và xử lý số 2 thuộc loại ghi nhận dữ liệu vì nó liên quan trực tiếp tới các thực thể, mối kết hợp của mô hình thực thể - kết hợp. Các xử lý còn lại thuộc loại biến đổi các dữ liệu đã có để tạo ra các dữ liệu mới, thường phục vụ cho việc kết xuất những thông tin nào đó.