Hệ quản trị cơ sở dữ liệu - Chương 1: Đại cương về hệ thống

Tài liệu Hệ quản trị cơ sở dữ liệu - Chương 1: Đại cương về hệ thống: MỤC LỤC Chương 1: ĐẠI CƯƠNG VỀ HỆ THỐNG 1.1. HỆ THỐNG VÀ HỆ THỐNG THÔNG TIN 1.1.1. Khái niệm hệ thống - Hệ thống: Hệ thống là một tập hợp gồm nhiều phần tử, có các mối quan hệ ràng buộc lẫn nhau và cùng hoạt động hướng tới một mục đích chung. - Hệ thống thông tin bao gồm các thành phần: Các phần tử của hệ thống: Các phần tử rất đa dạng, có thể phần tử là một đối tượng cụ thể,như trong hệ thống mặt trời phần tử là mặt trời, mặt trăng, trái đất, sao hoả,có thể phần tử là đối tượng trừu tượng, như một phương pháp, một lập luận, một quy tắc, Như vậy phần tử có thể rất khác biệt về bản chất không những giữa các hệ thống khác nhau mà ngay cả trong cùng một hệ thống. Các quan hệ giữa các phần tử: Các phần tử của một hệ thống không phải được tập hợp một cách ngẫu nhiên, rời rạc mà giữa chúng luôn tồn tại những mối quan hệ (hay các ràng buộc) tạo thành một cấu trúc (hay tổ chức). Sự hoạt động và mục đích của hệ thống: Sự biến động của hệ thống thể hiện trên hai mặt: Sự tiến triển và ...

doc85 trang | Chia sẻ: Khủng Long | Lượt xem: 1070 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Hệ quản trị cơ sở dữ liệu - Chương 1: Đại cương về hệ thống, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
MỤC LỤC Chương 1: ĐẠI CƯƠNG VỀ HỆ THỐNG 1.1. HỆ THỐNG VÀ HỆ THỐNG THÔNG TIN 1.1.1. Khái niệm hệ thống - Hệ thống: Hệ thống là một tập hợp gồm nhiều phần tử, có các mối quan hệ ràng buộc lẫn nhau và cùng hoạt động hướng tới một mục đích chung. - Hệ thống thông tin bao gồm các thành phần: Các phần tử của hệ thống: Các phần tử rất đa dạng, có thể phần tử là một đối tượng cụ thể,như trong hệ thống mặt trời phần tử là mặt trời, mặt trăng, trái đất, sao hoả,có thể phần tử là đối tượng trừu tượng, như một phương pháp, một lập luận, một quy tắc, Như vậy phần tử có thể rất khác biệt về bản chất không những giữa các hệ thống khác nhau mà ngay cả trong cùng một hệ thống. Các quan hệ giữa các phần tử: Các phần tử của một hệ thống không phải được tập hợp một cách ngẫu nhiên, rời rạc mà giữa chúng luôn tồn tại những mối quan hệ (hay các ràng buộc) tạo thành một cấu trúc (hay tổ chức). Sự hoạt động và mục đích của hệ thống: Sự biến động của hệ thống thể hiện trên hai mặt: Sự tiến triển và sự hoạt động. Sự tiến triển thể hiện là các phần tử và các quan hệ của hệ thống có thể phát sinh, có tăng trưởng, có suy thoái, có mất đi. Sự hoạt động, tức là các phần tử của hệ thống, trong các mối ràng buộc đã định, cùng cộng tác với nhau để thực hiện một mục đích chung của hệ thống. Mục đích của hệ thống thường thể hiện ở chỗ hệ thống nhận những cái vào để tạo thành những cái ra nhất định. 1.1.2. Hệ thống thông tin - Hệ thống thông tin (Information System) là hệ thống sử dụng công nghệ thông tin để thu thập lưu giữ xử lý, truyền và biểu diễn thông tin. - Là hệ thống bao gồm các bộ phận sau: Phần cứng (các thiết bị) Phần mềm Con người Các thủ tục, qui tắc quản lý, tổ chức Các dữ liệu được tổ chức được hình thành để làm nhiệm vụ thu thập, lưu trữ, xử lý, truyền và biểu diễn thông tin. - Chức năng của hệ thống thông tin:Hệ thống thông tin có 4 chức năng chính là đưa thông tin vào, lưu trữ, xử lý và đưa ra thông tin. Hệ thống thông tin có thể nhận thông tin vào dưới dạng: Các dữ liệu gốc và một chủ điểm., một sự kiện hoặc một đối tượng nào đó trong hệ thống. Các yêu cầu xử lý cần cung cấp thông tin. Các lệnh Hệ thống thông tin có thể thực hiện: Sắp xếp dữ liệu theo một thứ tự nào đó. Sửa chữa thay đổidữ liệu trong bộ nhớ Thực hiện các tính toán tạo ra thông tin mới Thống kê, tìm kiếm, các thông tin thoả mãn một đìều kiện nào đó. Hệ thống thông tin có thể lưu trữ các loại thông tin khác nhau với các cấu trúc đa dạng, phù hợp với nhiều loại thông tin và phương tiện xử lý thông tin, để phục vụ cho các yêu cầu xử lý thông tin và phương tiện xử lý thông tin khác nhau. Hệ thống thông tin có thể đưa dữ liệu vào các khuôn dạng khác nhau ra các thiết bị như bộ nhớ ngoài, màn hình, máy in, thiết bị mạng hoặc các thiết bị điều khiển. 1.1.3. Hệ thống thực và hệ thống con Hệ thống thực: Một hệ thống thực có thể được xem như một mô hình gồm 3 phần hợp thành là hệ thống quyết định, hệ thống thông tin và hệ thống tác nghiệp. Các thành phần này chính là các hệ thống con của hệ thống thực. - Hệ thống quyết định: Bao gồm con người, phương tiện, phương pháp tham gia đề xuất quyết định. - Hệ thống thông tin: Bao gồm con người, phương tiện, phương pháp tham gia xử lý thông tin (hệ quản trị). Hệ thống thông tin đóng vai trò trung gian giữa hệ thống và môi trường, giữa hệ thống con quyết định và hệ thống con tác nghiệp. - Hệ thống tác nghiệp: Bao gồm con người, phương tiện, phương pháp tham gia trực tiếp thực hiện mục tiêu của hệ thống. HT Thông tin HT Quyết định HT Tác nghiệp Thông tin ra Thông tin vào - Nguyên vật liệu - Tiền - Thông tin - Nguyên vật liệu - Tiền - Thông tin Môi trường Hình 1.1. Hệ thống thực và các hệ thống con 1.1.4. Các giai đoạn triển khai một dự án xây dựng HTTT Việc phân giai đoạn tuỳ từng phương pháp và chỉ có tính tương đối. Để triển khai một dự án xây dựng HTTT ta có thể chia thành các giai đoạn sau: Giai đoạn 1: Khảo sát hiện trạng và xác lập dự án Tìm hiểu, phê phán để đưa ra giải pháp Giai đoạn 2: Phân tích hệ thống. Phân tích sâu hơn các chức năng, các dữ liệu của hoạt động cũ để đưa ra mô tả hoạt động mới (giai đoạn thiết kế logic). Giai đoạn 3: Thiết kế tổng thể (Xác lập vai trò của môi trường một cách tổng thể trong hệ thống). Thiết kế tổng thể: Biểu đồ luồng dữ liệu, thực thể liên kết E-R. Giai đoạn 4: Thiết kế chi tiết. Thủ công Kiểm soát phục hồi Thiết kế cơ sở dữ liệu Chương trình Giai đoạn 5: Cài đặt, lập trình. Giai đoạn 6: Khai thác và bảo trì. 1.2. XỬ LÝ THÔNG TIN BẰNG MÁY TÍNH 1.2.1. Các phương thức xử lý thông tin Xử lý thông tin bằng máy tính có thể thực hiện theo nhiều phương thức khác nhau: Xử lý tương tác (interactive processing) và xử lý giao dịch (transactional processing) - Xử lý tương tác: là xử lý thực hiện từng phần, xen kẽ giữa phần thực hiện bởi con người và phần thực hiện bởi máy tính. Nói cách khác, trong xử lý tương tác, con người dẫn dắt các quá trình xử lý, có thể ngắt và tham gia vào các quá trình xử lý. Trong quá tình xử lý tương tác, máy tính đóng vai trò hỗ trợ cho các quá trình đó. Xử lý tương tác là phương tiện lựa chọn cho các hệ thống phải xử lý nhiều thông tin có mối quan hệ phức tạp với nhau, khó mô tả bằng các công thức, các phương trình toán học. Con người phải thường xuyên vận dụng những kinh nghiệm công tác của mình vào trong quá trình xử lý. - Xử lý giao dịch: Trong xử lý giao dịch, xuất phát từ yêu cầu của con người, máy tính thực hiện cho đến kết quả cuối cùng. Quá trình xử lý chon vẹn như vậy của máy tính không có sự ngưng ngắt can thiệp từ bên ngoài vào được gọi là một giai dịch. Ví dụ: Thủ tục rút tiền từ ngân hàng là một ví dụ về xử lý giao dịch. Khởi đầu là kiểm tra lỗi các thông tin nhập vào, tiếp theo là kiểm tra sự tương thích của các thông tin này với các dữ liệu đã có trong hệ thống. Trên cơ sở kết quả kiểm tra, hệ thống đáp ứng các yêu cầu của khách hàng. Xử lý theo lô (batch processing) và xử lý trực tuyến (on - line processing) - Xử lý theo lô: Trong xử lý theo lô, mỗi khi thông tin đến (hay khi yêu cầu xử lý xuất hiện), thì chưa được đem xử lý ngay, mà được gom lại tạo thành một nhóm (một lô hay một mẻ) mới được xử lý một các tập thể. Phương thức xử lý theo lô thích hợp với những tiến trình xử lý thông tin mà trong đó: Việc truy cập thông tin được diển ra theo định kỳ. Khuôn dạng và kiểu dữ liệu hoàn toàn xác định. Thông tin khá ổn định trong khoảng thời gian giữa 2 tiến trình xử lý liên tiếp - Xử lý trực tuyến: trong xử lý trực tuyến thì thông tin đến được đem xử lý ngay trực tiếp, một cách cá thể và bất kể vào lúc nào. Xử lý trực tuyến thường áp dụng cho việc hiển thị, sửa chữa nội dung các tệp dữ liệu, cho việc phục vụ các giao dịch với khối lượng thông tin không nhiều, lại cần thực hiện tại chỗ và cần được trả lời ngay. Vídụ, dịch vụ gửi tiền tại ngân hàng, các xử lý tại phòng bán vé máy bay, tàu hoả , hoặc dịch vụ thông tin tại tổng đài thường là các xử lý trực tuyến. Xử lý thời gian thực ( real - time processing) Xử lý thời gian thực là cách tiến trình máy tính phải bảo đảm các yêu cầu rất ngặt nghẽo của hệ thống về thời gian. Thông thường các xử lý thời gian thực xuất hiện trong các hệ thống có liên quan với các hệ thống ngoài như hệ thống điều khiển đường bay của tên lửa hoặc các hệ thống mô phỏng. Xử lý thời gian thực phải đảm bảo đồng bộ các tiến trình máy tính với các hoạt động diễn ra trong thực tế Xử lý phân tán (distributed processing) Các xử lý phân tán có thể diễn ra tại các bộ phận ở những vị trí khác nhau, có những yêu cầu khác nhau vào những thời điểm cũng có thể khác nhau. Nói chung, với những hệ thống có xử lý phân tán, dữ liệu thường được bố trí ở những vị ttrí địa lý khác nhau và được quy định dùng chung. Trong xử lý phân tán, với một số thành phần dữ liệu, có thể cùng một lúc xảy ra nhiều thao tác như cập nhật sửa chữa hoặc khai thác khác nhau. Vì vậy, một trong những vấn đề cần quan tâm đối với các xử lý phân tán là đảm bảo tính đồng bộ trong hệ thống. 1.2.2. Một số loại hệ thống tin học thường gặp Hệ thống thông tin quản lý (Management information systems) Là hệ thống nhằm cung cấp các thông tin cần thiết cho sự quản lý, điều hành của một doanh nghiệp. Hạt nhân của hệ thống thông tin quản lý là một CSDL chứa các thông tin phản ánh tình trạng và hoạt động kinh doanh hiện thời của doanh nghiệp. Các hệ thống thông tin quản lý thường được phân làm 2 mức: Mức thấp, hay còn gọi là mức tác nghiệp, hệ thống chỉ có nhiệm vụ in ra các bảng biểu, chứng từ giao dịch theo khuôn mẫu của cách xử lý bằng tay truyền thống. Hệ thống lúc này còn được gọi là các hệ xử lý dữ liệu, như các hệ: xử lý đơn hàng, hệ quản lý nhân sự, hệ quản lý thiết bị, hệ kế toán, Mức cao, còn gọi là mức điều hành, hệ thống phải đưa ra các thông tin có tính chất chiến lược và kế hoạch giúp cho người lãnh đạo doanh nghiệp đưa ra các quyết định đúng đắn trong công tác điều hành. Hệ thống còn được gọi là hệ hỗ trợ quyết định. Phần lớn các hệ hỗ trợ giúp quyết định được xây dựng dựa trên CSDL mà còn dựa trên hạt nhân là các mô hình đã được chon lọc. Từ các dữ liệu đầu vào, hỗ trợ giúp quyết định đưa ra các phương án và đánh giá về các phương án này, sắp xếp chúng theo một tiêu chuẩn nào đó. Người sử dụng dựa vào các thông tin gợi ý này để xây dựng một phương án thực hiện. Hệ thống điều khiển (Process control systems) Đó là các hệ thống nhằm xử lý và điều khiển tự động các quá trình vận hành các thiết bị sản xuất, viễn thông, quân sự,Các hệ thống này phải làm việc theo phương thức xử lý thời gian thực. Về kiến trúc vật lý , thì bên cạnh phần mềm, hệ thống này bao gồm nhiều loại thiết bị tin học đa dạng. Hệ thống nhúng thời gian thực (Embedded real - time systems) Các hệ thống này được thực hiện trên các phần cứng đơn giản và nhúng trong một thiết bị nào đó, như mobiphone, ô tô, Các hệ thống này thường được lập trình ở mức thấp, và cũng được thực hiện xử lý theo thời gian thực. Phần mềm hệ thống (System software) Các hệ thống này thiết lập nên hạ tầng kỹ thuật của các hệ thống máy tính, phục vụ cho các phần mềm ứng dụng chạy trên đó. Đó có thể là hệ điều hành, chương trình dịch, hệ quản trị CSDL, Các hệ thống tự động hoá văn phòng (Automated office systems) Tự động hoá văn phòng là cách tiếp cận nhằm đa máy tính vào hoạt động văn phòng, cho phép thâu tóm mọi việc tính toán, giao lưu, quản lý thông tin bằng máy tính. Một số hệ thống tự động hoá văn phòng thường bao gồm hai hệ thống con chính, đó là hệ thống xử lý văn bản, và hệ thống trợ giúp tính toán. 1.3. SỰ PHÁT TRIỂN HỆ THỐNG 1.3.1. Vòng đời của hệ thống Một hệ thống bất kỳ bao giờ cũng có một vòng đời cùng với các chu kỳ sống có những đặc trưng riêng. Nó được sinh ra, phát triển và cuối cùng thì bị thay thế (loại bỏ) bởi một hệ thống khác tiên tiến hơn, hiện đại hơn. Ta có thể chia vòng đời của một hệ thống ra làm các giai đoạn sau: Giai đoạn chuẩn bị: Giai đoạn này tính từ khi trong tổ chức xuất hiện nhu cầu xây dựng hệ thống thông tin được triển khai thực hiện trong thực tế. Các chuyên gia phân tích hệ thống, nhà quản lý và các lập trình viên cùng nghiên cứu, khảo sát nghiên cứu, phân tích thiết kế và xây dựng hệ thống. Hệ thống được thử nghiệm, cài đặt và đưa vào sử dụng. Giai đoạn khai thác và xử dụng: Thông thường đây là giai đoạn đoạn dài nhất trong vòng đời của một hệ thống, trong giai đoạn này hệ thống được vận hành phục vụ cho nhu cầu khai thác và sử dụng thông tin trong tổ chức, doanh nghiệp. Trong quá trình sử dụng, hệ thống được bảo trì, sửa chữa để phù hợp với sự thay đổi về thông tin hoặc nhu cầu thông tin. Giai đoạn thay thế: Trong quá trình sử dụng và khai thác hệ thống, luôn gặp phải sự thay đổi về thông tin (thay đổi về dung lượng và về cấu trúc) và thay đổi về nhu cầu sử dụng (thay đổi nhiệm vụ và quy mô quản lý). Những sửa chữa và thay đổi trong hệ thống làm cho nó trở nên cồng kềnh. Hoạt động kém hiệu quả à phải thay thế bằng một hệ thống mới tiên tiến hơn, hiện đại hơn. 1.3.2. Các bước xây dựng hệ thống thông tin Việc xây dựng và phát triển hệ thống thông tin quản lý thông thường phải qua các bước: lập kế hoạch xây dựng, phân tích, thiết kế, kiểm tra và cài đặt. Các bước này không nhất thiết phải thực hiện tách rời nhau về thời gian mà có thể được thực hiện xen kẽ nhau. Lập kế hoạch phát triển hệ thống thông tin quản lý Nhiệm vụ đặt ra trong giai đoạn này là xác định được mục tiêu của hệ thống, những thời điểm cùng kết quả cần đạt được của lịch trình khảo sát, phân tích và thiết kế hệ thống. Trong giai đoạn này phải có được những hình dung cơ bản về hệ thống thông tin quản lý cần xây dựng. Khảo sát hệ thống Mục đích của khảo sát hệ thống thực là thu thập thông tin, tài liệu, nghiên cứu hiện trạng nhằm làm rõ tình trạng hoạt động của hệ thống thông tin cũ trong hệ thống thực và nhu cầu xây dựng hệ thống thông tin mới. Cần phải làm rõ các yêu cầu đặt ra đối với hệ thống thông tin cần xây dựng. Phân tích hệ thống Xây dựng các mô hình của hệ thống thông tin quản lý, như sơ đồ chức năng nghiệp vụ, sơ đồ luồng dữ liệu và mô hình dữ liệu, trên cơ sở các kết quả khảo sát hệ thống thực, cần làm rõ mô hình hoạt động của tổ chức và hệ thống thông tin. Các công việc cần thực hiện là : Phân tích các mẫu biểu, các bảng biểu, các hồ sơ đã thu thập được. Xác định các phần tử trong hệ thống. Phân tích các luồng thông tin và các mối quan hệ giữa các phần tử trong hệ thống. Phân tích quy trình xử lý thông tin hiện có và phác hoạ quy trình xử lý thông tin cần có đối với hệ thống mới. Xác định các chức năng nghiệp vụ của hệ thống thực, các thủ tục để từ đó xây dựng sơ đồ luồng dữ liệu nghiệp vụ của hệ thống thực. Phân tích dữ liệu để xây dựng mô hình dữ liệu cho hệ thống. Thiết kế hệ thống Trong thực tế, hai giai đoạn phân tích và thiết kế hệ thống không phải là hai giai đoạn hoàn toàn riêng rẽ. Trong giai đoạn khảo sát hệ thống, người ta có thể phân tích sơ bộ hệ thống hoặc phân tích một số hệ thống con nào đó. Căn cứ vào kết quả phân tích này, có thể tiến hành thiết kế một số phần của hệ thống. Các công việc thiết kế bao gồm: Thiết kế dữ liệu: định ra các đối tượng và cấu trúc dữ liệu trong hệ thống. Thiết kế chức năng: định ra module xư lý thể hiện các chức năng của hệ thống thông tin. Thiết kế giao diện: chi tiết hoá hình thức giao tiếp giữa con người với máy tính. Thiết kế an toàn cho hệ thống thông tin quản lý. Thiết kế phần cứng: tính toán các yêu cầu kỹ thuật cho hệ thống thông tin quản lý, hay nói cách khác, là thiết kế hệ thống máy tính. Kiểm tra, thử nghiệm hệ thống Nói chung với nhiều hệ thống thông tin, việc kiểm tra tính đúng đắn của các module xử lý trong hệ thống là khó. Vì vậy , thông thường, người ta kiểm tra hệ thống thông tin quản lý thông qua thử nghiệm. Việc thử nghiệm hệ thống trên một tập hợp các dữ liệu chuẩn cũng khó thực hiện được trong thực tế, bởi vì không phải hệ thống thực nào cũng có sẵn một tập hợp các dữ liệu chuẩn như vậy. Người ta thường dùng các thông tin, dữ liệu thực tế đã qua xử lý bằng các phương pháp khác để vận hành thử nghiệm hệ thống thông tin mới, rồi so sánh kết quả đã xử lý theo các phương pháp khác hoặc với kết quả trên thực tế rút ra kết luận về tính đúng đắn của các xử lý trong hệ thống mới Nghiệm thu và cài đặt Hệ thống được nghiệm thu trên cơ sở những tiêu chuẩn đặt ra trong kế hoạch phát triển hệ thống ban đầu, Song song với khâu cài đặt cũng cần phải chú ý tới khâu huấn luyện vận hành sử dụng hệ thống mới. 1.3.3. Chu trình phát triển hệ thống Có nhiều loại chu trình phát triển khác nhau. Phần này trình bày vắn tắt một số chu trình phát triển chính. Cũng cần phải lưu ý rằng, số lượng và tên các giai đoạn trong các chu trình không giống nhau, mặc dù về cơ bản, nội dung của chúng gần như nhau. Chu trình thác nước Chu trình này mô tả sự phát triển hệ thống trên cơ sở phân chia các giai đoạn riêng rẽ với nhau về thời gian. Điểm cốt yếu của chu trình phát triển này là các giai đoạn được tiến hành kế tiếp nhau, giai đoạn sau được bắt đầu khi giai đoạn trước đó đã kết thúc, không chờm nên nhau về thời gian. Chính vì vậy, chu trình thác nước cong được gọi là chu trình tuyến tính. Phân tích Thiết kế Mã hoá Kiểm định Nghiệm thu Hình 1.2. Chu trình thác nước Nhược điểm của chu trình phát triển thác nước không có sự quay lui để chỉnh sửa khi phát hiện sai sót trong một khâu nào đó. Chu trình tăng trưởng Ý tưởng chính của phương pháp là dựa trên các bước tăng trưởng dần dần, cho phép hoàn thiện hệ thống từng mảng một. Mỗi bước tăng trưởng thực hiện một tiến trình tuyến tính để triển khi một phần có thể chuyển giao được của cả hệ thống. Quy trình này lặp lại nhiều lần cho đến khi có một phương án hoàn chỉnh cho cả hệ thống. Ví dụ: Trong một trường đại học, người ta dự định phát triển hệ thống quản lý đào tạo. Các phân hệ được phát triển theo thời gian: - Hệ thống quản lý tuyển sinh. - Hệ thống quản lý sinh viên - Hệ thống quản lý chương trình đào tạo - Hệ thống quản lý thời khoá biểu, và - Hệ thống quản lý giáo viên. Các hệ thống này được phát triển dần dần, bàn giao xong hệ thống này với phát triển tiếp hệ thống kia. Chu trình xoắn ốc Phương pháp này duy tri quá trình lặp một dãy các tiến trình mà qua mỗi lần thực hiện, các tiến trình đó các mẫu được hoàn thiện dần. Theo một số tác giả thì chu trình xoắn ốc được chia ra thành bốn giai đoạn chính: Phát hiện các nhu cầu và xác lập các mục tiêu Đánh giá các phương án Thiết kế và lậ các nguyên mẫu Thử nghiệm các mẫu Các vòng lặp trên được tiếp tục cho đến khi xét thấy nguyên mẫu là tốt để có thể chuyển sang sản xuất thực sự. Chu trình lắp ráp các thành phần Chu trình lắp ráp các thành phần dựa trên việc sử dụng các thành phần phần mềm. Việc tạo lập hệ thống được thực hiện bằng cách lắp ráp các thành phần có sẵn. Vấn đề quan trọng là cần phải xác định và thu gom các thành phần có khả năng sử dụng lại càng sớm càng tốt. Các thành phần khác tham gia vào hệ thống có thể được điều chỉnh, thích ứng từ các thành phần có sẵn hoặc được xây dựng từ số không. Một số tác giả chia làm các giai đoạn: Nghiên cứu, nhận thức, hình thành các giải pháp và xác định các thành phần của hệ thống. Các kết quả của giai đoạn này là một tập hợp các thành phần có khả năng áp dụng cho hệ thống đang tạo lập cùng với các giải pháp dựa trên chức năng của các thành phần đó. Đánh giá, lựa chọn các thành phần thích hợp của hệ thống Tích hợp các thành phần. Kết quả của giai đoạn này là tạo được một thành phần nào đó (hệ con) của hệ thống toàn thể trên cơ sở lắp ráp các thành phần. Thử nghiệm và đánh giá kết quả. 1.3.4. Phương pháp mô hình hoá hệ thống - Mô hình: Mô hình (model) là một dạng trừu tượng hoá của hệ thống thực. - Mục đích của mô hình hoá: Mô hình hóa để hiểu hệ thống. Mô hình hoá để trao đổi, Mô hình hoá để hoàn chỉnh hệ thống, - Các thành phần của một phương pháp mô hình hoá hệ thống: Tập hợp các khái niệm và mô hình: Mỗi phương pháp đều phải dựa trên một số không nhiều các khái niệm cơ bản, và sử dụng một số dạng mô hình nhất định kèm với các kỹ thuật để triển khai hay biến đổi mô hình đó. Một tiến độ triển khai: bao gồm các bước đi lần lượt, các hoạt động cần làm, các sản phẩm qua từng giai đoạn, cách điều hành với tiến độ đó và cách đánh giá chất lượng các kết quả thu được. Các công cụ trợ giúp: Đó là các phần mềm hỗ trợ cho quá trình mô hình hoá. - Các bước chính: Quá trình phát triển hệ thống trên cơ sở xây dựng các mô hình được thực hiện theo một số giai đoạn như sau: Nghiên cứu sơ bộ hệ thống: Giai đoạn này tập trung vào việc thu thập các thông tin, tài liệu liên quan tới cấu trúc của hệ thống và các hoạt động của hệ thống. Mô hình được xây dựng ở giai đoạn này thường ở dạng mô hình vật lý. Mục tiêu của việc xây dựng mô hình ở giai đoạn này là để mô tả cách thức thực hiện các công việc trong hệ thống Phân tích hệ thống: Giai đoạn này tập trung vào phân tích chi tiết bản chất của hệ thống. Các mô hình được xây dựng ở giai đoạn này tập trung vào các câu hỏi: Hệ thống là gì, và làm những gì. Sản phẩm của giai đoạn này là các mô hình về chức năng và các mô hình về dữ liệu. Thiết kế hệ thống: Lựa chọn các giải pháp cài đặt nhằm thực hiện các kết quả phân tích. Có thể coi việc thiết kế hệ thống là sự cài đặt cho mô hình có được sau khi phân tích, trên cơ sở dung hoà các yêu cầu, các ràng buộc và các sự kịên thực thể. Trong các công việc đã nêu ở đây, xây dựng được coi là khâu có ý nghía quyết định. Chất lượng của hệ thống cần xây dựng phụ thuộc hoàn toàn vào chất lượng của mô hình. Cùng một hệ thống thực nhưng mục tiêu nghiên cứu khác nhau sẽ dẫn tới các mô hình mô tả chúng cũng khác nhau Do các hệ thống thực rất phức tạp, chúng có thểphức tạp theo mục tiêu, phức tạo về dữ liệu hoặc phức tạp theo yêu cầu của người sử dụng, mà khó có thể mô tả mọi chi tiết có liên quan tới hệ thống,. Vì vâỵ, căn cứ vào mục đích nghiên cứu mà tập trung vào sự chú ý và các yếu tố quan trọng trong hệ thống và lựa chọn một quan điểm xem xét thích hợp để tiếp cận hệ thống. - Một số phương pháp mô hình hoá: Người ta thường mô hình hoá theo 2 dạng: mô hình hoá hướng chức năng và mô hình hoá hướng đối tượng. Ta có một số phương pháp nổi tiếng sau: Các phương pháp "hệ thống": MERISE (H. Tardieu, A.Rochfeld 1976) Các phương pháp chức năng hay cấu trúc: SA (De Marco 1978) SADT (Douglas T. Ross, 1977) SA-RT (Ward-Mellor, 1985; Hatley-Pirbhai, 1987) Phương pháp theo sự kiện: State Charts (D. Harel, 1987) Phương pháp tích hợp (O. Foucaut, O. Thiéry 1996) Các phương pháp hướng dữ liệu LCP, LCS (J.D Warnier, 1969-1970) E/A (H. Tardieu, P.Chen, 1976) Các phương pháp hướng đối tượng: OOA/RD ( Shlaer - Mellor, 1991-1992) OOAD (G.Booch, 1992-1993) OMT (J.Rumbaugh, 1992) OOA/OOD (P.Coad, E.Yourdon, 1991) OOSE (I.Jacobson, 1992) Fusion (D. Coleman, 1994) SOART (P.Lavret, 1994) UML+RUP+Rational Rose (G.Booch, J.Rumbaugh, I.Jacobson, 1997) Chương 2: KHẢO SÁT HỆ THỐNG 2.1. KHẢO SÁT VÀ ĐÁNH GIÁ HIỆN TRẠNG 2.1.1. Mục đích và yêu cầu công tác khảo sát. Thông thường thì một hệ thống mới được xây dựnglà nhằm để thay thế cho một hệ thống cũ đã bộc lộ nhiều điều bất cập. Việc tìm hiểu nhu cầu của hệ thống mới thường bắt đầu từ việc khảo sát và đánh giá hệ thống cũ đó. Việc khảo sát hiện trạng nhằm mục đích là: Tiếp cận với nghiệp vụ chuyên môn, môi trường hoạt động của hệ thống. Tìm hiểu các chức năng, nhiệm vụ và cung cách hoạt động của hệ thống. Chỉ ra các chỗ hợp lý của hệ thống, cần được kế thừa và các chỗ bất hợp lý của hệ thống cần được nghiên cứu và khắc phục. Yêu cầu của công tác khảo sát: Việc khoả sát và điều tra cần đảm bảo được các yêu cầu như sau: Trung thực, khách quan, phản ánh đúng tình hình thực tại. Không bỏ sót thông tin, Các thông tin thu thập phải được đo đếm, Không trùng lặp, nghĩa là phải tiến hành trong một trật tự, sao cho mỗi người được điều tra không bị nhiều người điều tra hỏi đi hỏi lại về một việc. Không gây càm giác xấu hay phản ứng tiêu cực ở người bị điều tra: phải luôn gợi mở, tế nhị, tuyệt đối không can thiệp vào công việc nội bộ của cơ quan, hay làm tăng thêm các mâu thuẫn trong cơ quan. 2.1.2. Chiến lược và quy trình khảo sát. - Chiến lược điều tra: Một cuộc điều tra phải thực hiện theo một chiến lược được cân nhắc kỹ càng từ trước. Một chiến lược bao gồm các yếu tố sau (Hình 2.1): Các nguồn thông tin điều tra, Các phương pháp áp dụng cho mỗi nguồn thông tin điều tra, Các quy trình điều tra thích hợp. Các triển khai một chiến lược điều tra: Các nguồn điều tra Các phương pháp điều tra Các phương pháp mô hình hoá Chọn các nguồn và các phương pháp Chọn các quy trình điều tra thích hợp Hình 2.1. Triển khai một chiến lược điều tra - Quy trình khảo sát: Một quy trình khảo sát là một kế hoạch xác định việc khai thác các nguồn điều tra cần được tiến hành theo trật tự nào, với các phương pháp nào và nhằm thu thập những thông tin nào. Khi vạch ra một quy trình điều tra phải tuân thủ ba nguyên tắc sau: Quy trình điều tra phải hỗ trợ một cách đắc lực nhất cho phương pháp mô hình hoá. Quy trình điều tra phải được tiến hành từ tổng thể đến chi tiết và từ phải được tiến hành từ trên xuống. Quá trình điều tra phải được tiến hành lặp đi lặp lại. 2.2. NỘI DUNG KHẢO SÁT 2.2.1. Khảo sát công tác nghiệp vụ. Mỗi một hệ thống có công tác nghiệp vụ riêng, ví dụ hệ thống kế toán cần phải đẩm bảo nghiệp vụ kế toán, hệ thống quản lý tuyển sinh phải đảm bảo nghiệp vụ tuyển sinh.v.v Do đó khi xây dựng hệ thống ta cần phải nắm bắt được công tác nghiệp vụ đối với hệ thống đó. - Tìm hiểu môi trường xã hội, kinh tế và kỹ thuật của hệ thống; nghiên cứu cơ cấu tổ chức của cơ quan chủ quản hệ thống đó. - Nghiên cứu các chức trách, nhiệm vụ, các trung tâm ra quyết định và điều hành, sự phân cấp các quyền hạn. - Thu thập và mô tả các quy tắc quản lý, tức là các quy định, các công thức do nhà nước hoặc cơ quan đó đưa ra làm căn cứ cho các quá trình xử lý thông tin 2.2.2. Khảo sát nhu cầu xử lý thông tin. - Thu thập các đòi hỏi về thông tin, các ý kiến phê phán, phàn nàn về hiện trạng, các dự đoán, nguyện vọng và kế hoạch cho tương lai. - Đánh giá, phê phán hiện trạng và đề xuất ra hướng giải quyết. 2.2.3. Thu thập thông tin, tài liệu. - Thu thập và nghiên cứu hồ sơ, sổ sách, các tẹp cùng với các phương thức xử lý các thông tin đó. - Thu thập các chứng từ giao dịch và mô tả các chu trình lư chuyển và xử lý các thông tin và tài liệu giao dịch. 2.2.4. Viết báo cáo khảo sát. Sau khi khảo sát cần viết báo cáo tổng hợp dựa trên những kết quả của khảo sát hiện trạng để có được những thông tin tổng quát về hệ thống nhằm giúp cho việc đưa ra những quyết định cho giai đoạn tiếp theo. Qua các nội dung trên có thể thấy mục tiêu của người phân tích và thiết kế cần đạt được trong giai đoạn này là : + Khảo sát đánh giá sự hoạt động của hệ thống cũ. + Đề xuất mục tiêu, ưu tiên cho hệ thống mới. + Đề xuất ý tưởng cho giải pháp mới. + Vạch kế hoạch cho dự án triển khai hệ thống mới. 2.3. MỘT SỐ PHƯƠNG PHÁP THU THẬP THÔNG TIN THÔNG DỤNG 2.3.1. Nghiên cứu tài liệu viết Nghiên cứu tài liệu viết giống như quan sát hệ thống một cách gián tiếp. Thông qua việc nghiên cứu tài liệu viết mà có được hình dung tổng quan về hệ thống. Các tài liệu viết nghiên cứu có thể là: Tài liệu giao dịch như: hoá đơn, phiếu thanh toán, thời gian biểu, Tài liệu lưu trữ như: sổ ghi chép, các tập công văn, các tệp dữ liệu, các hồ sơ cán bộ, hồ sơ dự án, Tài liệu tổng hợp như: các báo cáo tổng kết hàng tuần, hàng tháng, báo cáo kiểm kê, Tài liệu chuẩn bị cho các buổi họp hoặc báo cáo không địng kỳ Tài liệu quy định, quy chế nghiệp vụ. Qua đó ta có thể thu thập được nhiều loại thông tin, từ các hoạt động chung của cơ quan, đến các dữ liệu cơ bản, các dữ liệu cấu trúc. Việc nghiên cứu tài liệu thường kết hợp với phỏng vấn ở mức thấp. 2.3.2. Phương pháp quan sát Quan sát nhằm giúp cho phân tích viên có được một bức tranh khái quát về tổ chức cần tìm hiểu và cách thức quản lý, tổ chức thực hiện các hoạt động trong hệ thống thực. Ngoài ra, trong một số trường hợp, quan sát có thể giúp cho phân tích viên nắm bắt được kỹ thuật xử lý công việc bằng các phương pháp truyền thống, để từ đó đưa ra kỹ thuật xử lý cho hệ thống mới. Ví dụ: khi theo dõi tiến trình xếp thời khoá biểu, chuyên gia tin học có thể học tập, đúc rút những kinh nghiệm và tìm cách đưa những kinh nghiệm này vào trong các bảng phân tích, thiết kế của mình, để cho sao lưu sau này. Phương pháp quan sát này sử dụng 2 dạng quan sát, đó là quan sát chính thức và quan sát không chính thức. Ví dụ: khi cần quan sát cách thức làm việc của cán bộ xếp thời khoá biểu, chuyên gia tin học có thể đề nghị cùng làm việc với nhóm cán bộ này để từ đó có điều kiện hiểu về công việc được đầy đủ hơn. Việc quan sát thường đòi hỏi mất khá nhiều thời gian và việc quan sát tỉ mỉ không phải là phương pháp hữu hiệu để thu thập thông tin cần thiết cho việc phát triển hệ thống máy tính. 2.3.3. Phương pháp phỏng vấn Đây là phương pháp rất quan trọng trong công tác khảo sát hệ thống, quá trình phỏng vấn có thể cho những thông tin mà việc quan sát, nghiên cứu tài liệu viết không thể cung cấp được. Để có được chất lượng phỏng vấn tốt cần chú ý tới một số vấn đề sau: Xây dựng kế hoạch phỏng vấn: Điểm quan trọng nhất trong kế hoạch phỏng vấn là mục tiêu của cuộc phỏng vấn. Ngoài ra cần phải xác định được danh sách những người sẽ được phỏng vấn và kế phỏng vấn từng người. Chuẩn bị câu hỏi có chất lượng tốt, phục vụ trực tiếp cho mục đích cuộc phỏng vấn. Câu hỏi phải phù hợp với phạm vi liên quan của vấn đề đang được quan tâm, phù hợp với đối tượng được phỏng vấn. Thiết lập quan hệ tốt, mang tính hợp tác trong quá trình phỏng vấn. Chuẩn bị tình huống phỏng vấn phải được lưu trong biên bản phỏng vấn và nói chung phải có xác nhận kết quả phỏng vấn. Chú ý trong quá trình phỏng vấn, người phỏng vấn dẫn dắt các câu hỏi không được thể hiện sự áp đặt, một định kiến chủ quan. 2.3.4. Phương pháp sử dụng bảng hỏi, mẫu điều tra Nội dung chính của phương pháp này là xây dựng hành loạt các câu hỏi và có thể đưa ra các phương án trả lời sẵn để người học hỏi diễn câu trả lời. Vấn đề quan trọng nhất đối vớiphương pháp này là xây dựng được danh sách các câu hỏi có chất lượng. Mỗi câu hỏi phải có phương án trả lời xác định, tránh những câu hỏi khó trả lời hoặc câu trả lời không xác định. Các câu hỏi phải có tác dụng kiểm tra về độ tin cậy của thông tin trong câu trả lời. 2.4. XÂY DỰNG DỰ ÁN 2.4.1. Xác định mục tiêu và phạm vi a) Xác định mục tiêu Một dự án có thể gắn với nhiều mục tiêu. Tuy nhiên, việc xác định đúng đắn của các mục tiêu là vô cùng quan trọng, vì đây sẽ là cơ sở xem xét nghiệm thu sau này. Thông thường thì một hệ thống thông tin được xây dựng là nhằm vào các mục tiêu sau: + Khắc phục những yếu kém hiện tại. Đáp ứng được những nhu cầu trong tương lai, thể hiện chiến lược phát triển lâu dài của cơ quan. Phù hợp với các hạn chế về thời gian, chi phí, con người. + Mang lại lợi ích nghiệp vụ: tăng khả năng xử lý, đáp ứng yêu cầu nghiệp vụ một cách nhanh chóng, thuận lợi, chính xác, an toàn. + Mang lại lợi ích kinh tế: giảm biên chế cán bộ, giảm chi phí hoạt động, tăng thu nhập. b) Xác định phạm vi Cần xác định các phạm vi: - Phạm vi vấn đề cần giải quyết: Danh mục các vấn đề cần giải quyết, nội dung và phạm vi giải quyết của từng vấn đề phải được thoả mãn giữa cơ quan chủ quản và những người phát triển hệ thống Sơ đồ phân cấp của hệ thống thông tin quản lý cần xây dựng là cơ sở chính để lập danh mục các vấn đề cần giải quyết trong hệ thống - Phạm vi ảnh hưởng trong tổ chức Toàn bộ dự án và từng công việc đều có ảnh hưởng tới tổ chức và các bộ phận trong tổ chức. Cần phải xác định rõ ràng ảnh hưởng của từng công việc đến từng bộ phận trong tổ chức, đặc biệt là những ảnh hưởng liên quan tới nhân sự, sau đó là ảnh hưởng liên quan tới tổ chức thực hiện các công việc - Phạm vi về nhân lực,vật lực tài chính Phạm vi về nhân lực vật lực và tài chính là vấn đề thường xuyên phải quan tâm. Cần phải chú ý tới từng khía cạnh của các hạn chế. Ví dụ, hạn chế về nhân lực không chỉ giới hạn về số lượng người tham gia vào dự án, số người tham gia vận hành sau này, mà còn là hạn chế về trình độ, về thời gian đào tạo sau này. 2.4.2. Xây dựng giải pháp Trong giai đoạn khảo sát, chưa có sự phân tích chi tiết các thông tin thu thập được, có thể đưa ra một giải pháp sơ bộ về phần cứng, phần mềm để có thể xác định được mức độ đầu tư. Giải pháp sơ bộ cho dự án phải có được các thông tin: Chiến lược đầu tư: phần cứng, phần mềm đào tạo. Biện pháp và kỹ thuật giải quyết cho từng vấn đề Kiến trúc tổng thể của dự án Khả năng của hệ thống thông tin quản lý Các chức năng chính của hệ thống thông tin quoản lí Tiếp theo giải pháp sơ bộ là xây dựng giải pháp có tính khả khi. Để làm đựoc việc này cần có phân tích chi tiết các kết quả khảo sát hệ thống về các nhiệm vụ, chức năng của hệ thống thông tin, phạm vi giải quyết từng vấn đề và các ràng buộc thực hiện. Giải pháp khả thi có thể được lựa từ một số giả pháp đề nghị. Các giải pháp này có thể khác nhau về mức độ tự động hoá hoặc chi phí. Giải pháp khả thi có thể chỉ là dung máy tính hỗ trợ cho một số công việc phức tạp: Có thể là xây dựng một hệ thống thông tin hỗ trợ hầu hết các công việc trong tổ chức, kể cả công việc điều hành, nhưng không gây ra nhiều thay đổi về cơ cấu tổ chức: có thể là tự động hoá ở mức cao, gây nhiều htay đổi trong tổ chức. Dù là giải pháp nào thì tính khả thi luôn được xem xét trên nhiều khía cạnh: Khả thi về nghiệp vụ, tức là phải đáp ứng các yêu cầu về nghiệp vụ Khả thi về kỹ thuật, tức là đối với yêu cầu nghiệp vụ và ràng buộc thực hiện, phải đảm bảo về kỹ thuật và công nghệ Khả năng tài chính , nhân , vật lực Hình thành các yếu tố đánh giá đối với hệ thống thông tin quản lý 2.4.3. Xây dựng kế hoạch triển khai Một số thông tin cần thiết để lập kế hoạch triển khai dự án là: Mục tiêu đặt ra cho hệ thống thông tin Nhiệm vụ, phạm vi và các ràng buộc thực hiện Giải pháp có tính khả thi Trong việc lập kế hoạch triển khai dự án thi khâu thường xuyên được quan tâm nhiều nhất là dự trù thiết bị, kinh phí và tiến trình của dự án Một số thông tin thường được sử dụng để dự trù thiết bị: Thời gian khai thác tối thiểu và dự kiến tối đa Dung lượng dữ liệu dự kiến Phương thức xử lý và yêu cầu xủe lý Số lượng người sử dụng Nhu cầu kết thúc thông tin Một số thông tin thường được sử dụng để dự trù kinh phí: Dự trù thiết bị Khối lượng công việc và số lượng người tham gia thực hiện dự án Yêu cầu về chất lượng sản phẩm Thời gian thực hiện Yêu cầu bảo hành 2.5. BÀI TẬP 1 Bài tập kkhảo sát hệ thống. Để kết thúc chương, ta hãy xét một ví dụ. Ví dụ này được gọi là Ví dụ QLCƯVT, Ví dụ này sẽ còn được dùng để minh họa cho các bước phân tích và thiết kế hệ thống sau này. Nhà máy X bao gồm các phân xưởng, sản xuất một số sản phẩm nhất định. Trong quá trình sản xuất các phân xưởng sử dụng vật tư. Nhà máy có bộ phận cung ứng vật tư. - Nhiệm vụ của bộ phận cung ứng vật tư: Khi các phân xưởng có yêu cầu vật tư thì bộ phận cung ứng vật tư phải thực hiện mua hàng ở các nhà cung cấp đáp ứng kịp thời cho các phân xưởng, không để xảy ra sai sót về nhận hàng và trả tiền. - Cơ cấu tổ chức và sự phân công trách nhiệm Bộ phận cung ứng vật tư gồm ba tổ, hoạt động tương đối độc lập với nhau: + Tổ thứ nhất đảm nhiệm việc đặt hàng dựa trên các dự trù vật tư của các phân xưởng. Tổ này có sử dụng một máy tính, trên đó có một hệ chương trình gọi là hệ đặt hàng trợ giúp các việc: chọn người cung cấp, làm đơn hàng và theo dõi sự hoàn tất của đơn hàng. + Tổ thứ hai đảm nhiệm việc nhận và phát hàng. Tổ này cũng có một máy tính, trên đó có một hệ chương trình gọi là hệ phát hàng trợ giúp các việc: ghi nhận hàng về và làm thủ tục phát hàng cho các phân xưởng. + Tổ thứ ba gọi là tổ đối chiếu và kiểm tra. Sở dĩ có tổ này vì hai máy tính ở hai tổ trên là không tương thích nên không ghép nối được với nhau. Vì vậy các thông tin về đặt hàng và nhận hàng quản lý ở hai máy tính đó là hoàn toàn tách rời và do đó hàng về mà không xác định được là hàng cho phân xưởng nào. Tổ đối chiếu sẽ lấy các thông tin của các đợt đặt hàng, của các đợt nhận hàng từ hai tổ nói trên khớp lại để tìm ra phân xưởng có hàng, giúp cho tổ thứ hai phát hàng. Ngoài ra tổ đối chiếu còn có nhiệm vụ phát hiện các sai sót về nhận hàng và trả tiền để khiếu nại với nhà cung cấp nhằm chỉnh sửa lại cho đúng. Tổ đối chiếu làm việc hoàn toàn thủ công. - Qui trình xử lý và các dữ liệu xử lý Qua điều tra khảo sát, ta thấy qui trình làm việc cùng các loại chứng từ giao dịch sử dụng trong qui trình đó như sau: Khi các nhu cầu về vật tư sản xuất, các phân xưởng lập dự trù gửi cho tổ đặt hàng, trong đó có các mặt hàng yêu cầu với số lượng tương ứng. Tổ đặt hàng trước hết chọn nhà cung cấp để dặt mua các mặt hàng nói trên. Muốn thế, nó dùng máy tính để tìm các thông tin về các nhà cung cấp được lưu trong tệp NH_CCAP. Sau đó tiến hành thương lượng với nhà cung cấp được chọn. Sau khi đã thỏa thuận, dùng hệ chương trình đặt hàng để in một đơn hàng và gửi cho nhà cung cấp. Các thông tin trên đơn hàng được lưu trong tệp đơn hàng. Trong đơn hàng mỗi mặt hàng là một yêu cầu về mặt hàng đó của một dự trù. Tuy nhiên một đơn hàng gồm nhiều mặt hàng, có thể đáp ứng yêu cầu của nhiều dự trù. Các mặt hàng yêu cầu trên một bản dự trù có thể được phân bổ lên nhiều đơn hàng khác nhau, gửi đến nhiều nhà cung cấp khác nhau. Đơn hàng gửi tới nhà cung cấp không chứa thông tin về phân xưởng dự trù. Vì vậy cần lưu mối liên hệ giữa các bản dự trù của các phân xưởng với các đơn hàng đã được phát đi trong một tệp gọi là tệp DT_ĐH, ở đó đặt liên hệ mỗi Số hiệu dự trù và mỗi Số hiệu mặt hàng với một Số hiệu đơn hàng. Nhà cung cấp căn cứ trên đơn đặt hàng sẽ chuyển hàng đến nhà máy, kèm theo phiếu giao hàng. Tổ nhận và phát hàng tiếp nhận hàng và cất tạm vào một kho (có nhiều kho). Thông tin trên phiếu giao hàng và địa điểm cất hàng được lưu trong tệp nhận hàng. Trên phiếu giao hàng, mỗi mặt hàng được giao đều có ghi rõ Số hiệu đơn hàng đã đặt mặt hàng đó (số lượng giao có thể chưa đủ như số lượng đặt). Hàng tuần tổ nhận hàng sử dụng hệ chương trình phát hàng, in ra một danh sách nhận hàng trong tuần gửi cho tổ đối chiếu với nội dung như sau: SH giao hàng, Tên NH_CCAP, SH mặt hàng, Số lượng nhận, Số hiệu đơn hàng. Cũng hàng tuần tổ Đặt hàng sử dụng hệ chương trình đặt hàng, in ra một danh sách Đặt hàng trong tuần, gửi cho tổ Đối chiếu với nội dung như sau: SH đơn hàng, Tên NH_CCAP, SH mặt hàng, Số lượng đặt, Số hiệu dự trù, SH phân xưởng. Tổ Đối chiếu khớp hai danh sách này, tìm ra SH đơn hàng và SH mặt hàng chung từ đó xác định được lượng hàng nào là cần phát về cho phân xưởng nào. Danh sách các địa chỉ phát hàng được lập và gửi cho tổ nhận và phát hàng, để tổ này chuyển hàng kèm theo phiếu phát hàng cho các phân xưởng. Tổ đối chiếu và kiểm tra còn có nhiệm vụ tiếp nhận hóa đơn từ nhà cung cấp gửi đến, đối chiếu với hàng đã nhận, nếu chính xác thì xác nhận chi lên hóa đơn và gửi cho bộ phận thanh toán để làm thủ tục trả tiền. Nếu phát hiện có sự không khớp giữa hàng đặt, hàng nhận và tiền phải trả thì khiếu nại với nhà cung cấp để chỉnh sửa lại. Việc kiểm tra thường có khó khăn, vì nhiều khi nhà cung cấp không đủ hàng, chưa đáp ứng đủ hàng, mà còn nợ một phần để giao sau. Về phía nhà máy, có khi chưa đủ tiền để trả theo hoá đơn, mà còn nợ lại một phần để trả sau. Tổ Đặt hàng thì muốn biết đơn hàng do mình phát ra đã hoàn tất hay chưa nên tổ này đã yêu cầu bộ phận thanh toán mỗi khi trả tiền cho nhà cung cấp thì gửi cho tổ một bản ghi trả tiền. Thông tin trả tiền này được cập nhật vào tệp đơn hàng , nhờ đó biết đơn hàng nào là đã hoàn tất. Qua giai đoạn khảo sát ở trên ta đánh giá hiện trạng của hệ thống. Yếu kém: Thiếu : Không có kho hàng thông dụng để lưu tạm thời các mặt hàng nhập về và tạm thời chưa sử dụng Kém hiệu lực do: - Giải quyết đơn hàng, dự trù quá chậm do cách đối chiếu thủ công và cách lấy thông tin - Theo dõi việc thực hiện đơn hàng không sát, xảy ra nhiều sai sót do phân tán về quản lý. Tổn phí: tốn nhân lực ở khâu đối chiếu và kiểm tra bằng tay. Mục tiêu Thêm hàng vào kho thông dụng Khắc phục 2 điều kém hiệu lực bằng cách tổ chức lại để rút ngắn quá trình giải quyết 1 dự trù hàng Tổ chức lại để theo dõi thực hiện đơn hàng chặt chẽ, tránh sai sót. Cố gắng tận dụng phần mềm và phần cứng đã có. Phác hoạ các giải pháp: Ở đây ta đưa ra 5 giải pháp để cân nhắc lựa chọn: Giải pháp 1: Tạo kênh liên lạc để kết nối hai máy tính, xóa bỏ tổ đối chiếu và kiểm tra. Giải pháp này vi phạm tính khả thi về kỹ thuật vì giả thiết 2 máy không tương thích Giải pháp 2: Gộp hệ đặt hàng vào hệ phát hàng hay ngược lại nhằm loại bỏ một máy tính , bỏ tổ đối chiếu và kiểm tra. Giải pháp 3: Loại bỏ 2 máy tính đưa các toàn bộ các nhiệm vụ vào trung tâm máy tính của nhà máy. Giải pháp 4: Thêm một máy tính để giải quyết khâu đối chiếu. Ba máy tính được kết nối Giải pháp 5: Chuyển nhiệm vụ nhận dự trù từ hệ Đặt hàng sang hệ Phát hàng. Như vậy hệ ĐH làm nhiệm vụ mua hàng và kiểm tra việc thực hiện đơn hàng. Hệ PH vừa quản lý dự trù, vừa nhận và phát hàng, vừa quản lý kho dự trữ. Cân nhắc tính khả thi và lựa chọn giải pháp - Các giải pháp 1 và 4 là không khả thi về kỹ thuật vì các máy tính đã có là không tương thích nên không thể ghép nối được. - Giải pháp 2 là có thể được, nếu máy tính cũ giữ lại đủ mạnh. Tuy nhiên nếu hai máy tính là không tương thích đến mức không chạy được chương trình của nhau, thì như vậy ít ra cũng phải viết lại khoảng một nửa số chương trình ( kém khả thi về kinh tế) - Giải pháp 3 là rất có ích nếu thông tin về cung ứng vật tư còn được sử dụng ở một số bộ phận khác trong cơ quan. Tuy nhiên dường như cung ứng vật tư chỉ là một công việc đóng khung trong một bộ phận nhỏ, và như vậy sẽ phải tốn kém cho việc viết lại tất cả các chương trình. - Giải pháp 5 là một giải pháp có tính chất thỏa hiệp. Hai máy tính cũ cùng hai hệ chương trình được tận dụng triệt để. Việc đưa thêm kho hàng dự trữ cùng với các cải tiến mới về khâu phát hiện địa chỉ phát hàng và kiểm tra đã đáp ứng được các mục tiêu, mà không gây tốn kém nhiều. Do đó giải pháp 5 đã được chọn. Chương 3: PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG 3.1. BIỂU ĐỒ PHÂN CẤP CHỨC NĂNG 3.1.1. Các khái niệm - Định nghĩa: Biểu đồ phân cấp chức năng (BPC) là công cụ biểu diễn việc phân rã có thứ bậc đơn giản các công việc cần thực hiện. Mỗi chức năng được ghi trong một khung và nếu cần sẽ được phân thành những chức năng con, số mức phân ra phụ thuộc vào kích cỡ và độ phức tạp của hệ thống. BPC là công cụ khởi đầu để mô tả hệ thống qua chức năng, là một trong những mô hình tương đối đơn giản, dễ hiểu, thân thiện với người sử dụng mà ký thuật mô hình hoá lại không quá phức tạp, nó rất có ích cho các giai đoạn sau. Một khâu rất quan trọng trong khi xây dựng biểu đồ phân cấp chức năng là xác định chức năng. - Chức năng: là khái niệm dùng để mô tả công việc cần thiết sao cho công tác nghiệp vụ được thực hiện. Trong chức năng không cần thiết nêu ra rằng nghiệp vụ đó được thực hiện ở đâu?, như thế nào?, bởi ai? có nghĩa là nó không quan tâm đến các yếu tố vật lý của vấn đề mà chỉ quan tâm tới khía cạnh hình thức, logic của vấn đề. Ví dụ: Chức năng lập thời khoá biểu dùng để mô tả cho công tác nghiệp vụ của một một trường học nào đó có nhiệm vụ thu thập thông tin về số lớp học, sĩ số của từng lớp, số phòng học, phân công nhiệm vụ giảng dạy của từng giáo viên để từ đó sắp xếp tạo ra một thời khoá biểu chung cho toàn trường. Để hiểu rõ hơn các chức năng ta cần phân rã, hay nói cách khác là mô tả chúng chi tiết hơn nữa. Để làm việc này chúng ta có thể sử dụng BPC. Thành phần của biểu đồ bao gồm: + Các chức năng: Tên chức năng: mỗi chức năng phải có một tên duy nhất dưới dạng động từ- bổ ngữ. Ví dụ: Lấy đơn hàng, mua hàng, lập thời khoá biểu. Ký hiệu: chức năng được ký hiệu bằng hình chữ nhật bên trong có tên chức năng. Mua hàng Ví dụ: + Kết nối: Kết nối giữa các chức năng mang tính chất phân cấp và được ký hiệu bằng đoạn thẳng nối chức năng “cha” với các chức năng “con”. Đặc điểm của BPC + Các chức năng được nhìn thấy một cách khái quát nhất, trực quan, dễ hiểu, thể hiện tính cấu trúc của phân rã chức năng. + Dễ thành lập vì tính đơn giản: Nó trình bày hệ thống phải làm gì hơn là hệ thống làm như thế nào ? + Mang tính chất tĩnh vì bỏ qua mối liên quan thông tin giữa các chức năng. Các chức năng không bị lặp lại và không dư thừa. + Rất gần gũi với sơ đồ tổ chức nhưng ta không đồng nhất nó với sơ đồ tổ chức: phần lớn các tổ chức của doanh nghiệp nói chung thường gắn liền với chức năng. Vì những đặc điểm trên mà BPC thường được sử dụng làm mô hình chức năng trong bước đầu phân tích. Ví dụ: Xét hệ thống quản lý bán hàng tại một công ty cung ứng vật tư. Khi có nhu cầu mua hàng khách hàng gửi Đơn đặt hàng cho bộ phận nhận đơn hàng. Bộ phận này xem xét tính hợp lệ của đơn đặt hàng ( xem xét về khách hàng, về mặt hàng trong đơn ). Nếu đơn hàng được chấp nhận thì sẽ được chuyển sang bộ phận thanh toán và khách hàng trả tiền cho bộ phận này. Bộ phận giao hàng căn cứ vào đơn hàng đã được chấp nhận gom hàng từ các kho, đóng gói và giao hàng cho khách hàng. Biểu đồ phân cấp chức năng của hệ thống này được mô tả như sau: QUẢN LÝ BÁN HÀNG Nhận đơn hàng hµng Giao hàng Thanh toán Tiếp nhận đơn đặt hàng Kiểm tra khách hàng Kiểm tra mặt hàng Tập trung mặt hàng Đóng gói bao bì Giao hàng cho khách 3.1.2. Kỹ thuật phân rã Kỹ thuật phân rã hay còn gọi là “phân tích từ trên xuống” tiến hành sự phân tích chức năng của hệ thống bằng cách đi dần từ một mô tả cụ thể đến những mô tả chi tiết thông qua nhiều mức. Sự chuyển dịch từ một mức tới mức tiếp theo thực chất là sự phân rã chức năng ở mức trên thành một số các chức năng ở mức dưới. Vậy đây là quá trình triển khai theo một cây, và chính vì vậy mà phương pháp này còn có tên là phương pháp phân tích có cấu trúc. Có hai cách vận dụng kỹ thuật phân rã : dùng biểu đồ phân cấp chức năng (BPC) và dùng biểu đồ luồng dữ liệu (BLD). Với BPC, thì phân tích trên xuống thực hiện bằng cách triển khai dần cây phân cấp từ gốc đến ngọn lần lượt qua các mức (mỗi mức bao gồm một tâp hợp các chức năng). Để triển khai từ một mức đến mức tiếp theo ta xem xét từng chức năng và đặt câu hỏi: để hoàn thành chức năng đó thì phải hoàn thành các chức năng con nào . Nhờ đó ta phát hiện các chức năng thuộc mức tiếp theo mà mối liên quan với các chức năng ở mức trên là quan hệ bao hàm (hay cha-con). Tên của mỗi chức năng (ở mỗi nút của cây) được chọn lựa để có thể phản ánh một cách ngắn gọn nội dung của chức năng đó. Chức năng ở gốc (mức 0) thể hiện nhiệm vụ tổng quát của hệ thống. Ví dụ: Xét hệ thống hoạt động tín dụng của ngân hàng. Đây là một trong lĩnh vực hoạt động của ngân hàng bên cạnh các hệ thống tiết kiệm, chuyển khoản. Sơ đồ luân chuyển thông tin của hệ thống Cho vay Khách hàng Lưu hồ sơ Thu nợ Hệ thống tín dụng Hồ sơ Trả nợ Giấy báo Trả lời Đối với khách hàng đến vay tiền ở ngân hàng thì phải có một hồ sơ (gồm: Đơn xin vay, chứng minh thư) và yêu cầu được vay. Nếu hồ sơ hợp lệ hoặc không hợp lệ thì hệ thống sẽ trả lời khách hàng. Đối với ngân hàng nếu yêu cầu và hồ sơ của khách vay hợp lệ tức là yêu cầu của khách hàng được đáp ứng thì ngân hàng lập một tài khoản tương ứng với khế ước vay mà ngân hàng quy định về số tài khoản, thời gian vay, mức lãi xuất và ngày hoàn trả. Khách vay phải thanh toán (gốc + lãi) cho ngân hàng theo đúng hạn ghi trên khế ước vay, nếu quá hạn khách hàng không đến trả ngân hàng thì hệ thống sẽ thông báo với khách hàng đồng thời áp dụng mức lãi xuất quá hạn. Đến kỳ hạn hoản trả khách vay đến thanh toán (trả nợ) bộ phận thu nợ tính ra số tiền mà khách hàng phải trả, căn cứ vào ngày vay, ngày hoàn trả và lãi xuất. Sau đó hệ thống đối chiếu với tài khoản gốc, in hoá đơn thanh toán và thông báo tới khách hàng. Xây dựng biểu đồ phân cấp chức năng của hệ thống Hệ thống bao gồm có các mức sau: Mức 0: Hoạt động của hệ thống tín dụng Mức 1: Gồm các chức năng sau: - Cập nhật dữ liệu - Thu nợ - Thống kê và tra cứu - In ấn Mức 2: gồm các chức năng cập nhật khách hàng, xác định mức lãi xuất, lập khế ước là các chức năng con của chức năng Cập nhật dữ liệu; Xác nhận hoàn trả, ghi nhận trả đúng hạn, ghi nhận trả sai hạn là các chức năng con của chức năng Thu nợ; thống kê khách vay, thống kê nợ quá hạn, tra cứu theo mã khách là các chức năng con của chức năng tra cứu theo mã khách; In hóa đơn thanh toán, in phiếu báo nợ là các chức năng con của chức năng In ấn Qua phân tích các chức năng ở trên ta xây dựng được biều đồ phân cấp chức năng của hệ thống như sau: HỆ THỐNG TÍN DỤNG NGÂN HÀNG Cập nhật Thu nợ Thống kê In ấn Hồ sơ khách hàng Mức lãi suất Kế ước Xác định hoàn trả Ghi nhận trả đúng hạn Ghi nhận trả sai hạn Thống kê khách vay Tra cứu khách Hoá đơn thanh toán Phiếu báo nợ Tuy nhiên qua một cách phân tích khác chúng ta có thể nhận được BPC khác như đưới đây. Điều đó không có mâu thuẫn gì do quan niệm của yêu cầu hệ thống và cách phân tích. Làm tín dụng Cho vay Thu nợ Xác định kỳ hạn trả Xử lý nợ trả trong hạn Xử lý nợ trả ngoài hạn Nhận đơn Duyệt vay Trả lời đơn Dễ thấy quá trình phân tích với BPC , mà thực chất là sự phân rã dần dần các chức năng là tự nhiên và dễ làm. Tuy nhiên kết qua thu được có thể nói là nghèo nàn: hệ thống chỉ được diễn tả bằng một tập hợp các chức năng rời rạc (ở một mức của BPC). Vì vậy cách làm này chỉ thích hợp cho sự phân tích bước đầu, hoặc cho các hệ thống đơn giản . 3.2. BIỂU ĐỒ LUỒNG DỮ LIỆU 3.2.1. Các khái niệm Biểu đồ luồng dữ liệu (Data Flow Diagrams - BLD) là một loại biểu đồ nhằm mục đích diễn tả một qúa trình xử lý thông tin với các yêu cầu sau: - Sự diễn tả là ở mức logic, nghĩa là nhằm trả lời câu hỏi "Làm gì?" mà bỏ qua câu hỏi "Làm như thế nào?". - Chỉ rõ các chức năng (con) phải thực hiện để hoàn tất quá trình xử lý cần mô tả. - Chỉ rõ các thông tin được chuyển giao giữa các chức năng đó và qua đó phần nào thấy được trình tự thực hiện của chúng. BLD là công cụ chính của quá trình phân tích, nhằm mục đích thiết kế trao đổi và tạo lập dữ liệu. Nó thể hiện rõ ràng và khá đầy đủ các nét đặc trưng của hệ thống trong các bước phân tích, thiết kế và trao đổi dữ liệu. Hình thức biểu diễn: Trong một số tài liệu khác nhau với các phương pháp tiếp cận khác nhau người ta thường dùng các ký hiệu không hoàn toàn giống nhau. Tuy vậy các thành phần cơ bản không thay đổi và nó được sử dụng nhất quán trong các quá trình phân tích, thiết kế. 3.2.2. Các thành phần của biểu đồ luồng dữ liệu BLD gồm có các thành phần sau: - Chức năng xử lý (Process) - Luồng dữ liệu (Data Flows) - Kho dữ liệu (Data Store) - Tác nhân ngoài (External Entity) - Tác nhân trong (Internal Entity) Chức năng xử lý (Process) + Khái niệm: Chức năng xử lý được hiểu là các quá trình biến đổi thông tin, từ thông tin vào nó biến đổi, tổ chức lại thông tin, bổ xung thông tin hoặc tạo ra thông tin mới tổ chức thành thông tin đầu ra phục vụ cho hoạt động của hệ thống như lưu vào kho dữ liệu hoặc gửi cho các chức năng khác. + Biểu diễn: Chức năng xử lý được biểu diễn bằng hình tròn hay hình ôvan, trong đó có ghi tên của chức năng. + Tên chức năng: Bởi vì chức năng là các thao tác nên tên phải được dùng là một động từ cộng với bổ ngữ nếu cần, cho phép hiểu một cách vắn tắt chức năng làm gì. Ví dụ: Chức năng “Mua hàng”, “Nhận đơn hàng” Mua hàng Nhận đơn hàng Cần chú ý rằng tên của chức năng trong biểu đồ luồng dữ liệu phải trùng với tên đã được đặt trong biểu đồ phân cấp chức năng. Khi xây dựng biểu đồ luồng dữ liệu nếu có chức năng nào không tạo ra thông tin mới thì nó chưa phải là chức năng trong biểu đồ luồng dữ liệu và khi đó cần phải xem xét lại biểu đồ phân cấp chức năng. Thông thường nên xem xét đến khả năng chức năng này đã bị tách ra khỏi chức năng khác một cách không hợp lý. Luồng dữ liệu + Khái niệm: Luồng dữ liệu là luồng thông tin vào hay ra của một chức năng xử lý. Bởi vậy luồng dữ liệu được coi như các giao diện giữa các thành phần của biểu đồ. + Biểu diễn: Luồng dữ liệu trên biểu đồ được biểu diễn bằng mũi tên có hướng trên đó có ghi tên là tên luồng thông tin mang theo. Mũi tên để chỉ hướng của luồng thông tin. + Tên luồng dữ liệu: Vì thông tin mang trên luồng, nên tên là danh từ cộng với tính từ nếu cần thiết, cho phép hiểu một cách vắn tắt nội dung của dữ liệu được chuyển giao. Các luồng dữ liệu và tên được gán cho chúng là các thông tin “logic” chứ không phải là các tài liệu vật lý - giá mang thông tin. Tuy nhiên trong một số trường hợp tên dòng dữ liệu trùng (hoặc ta đã quen dùng) với tên tài liệu vật lý. Ví dụ: “Hoá đơn”, “Hoá đơn đã kiểm tra”, “Điểm thi”, “Danh sách thi lại” , "Phiếu nhập", "Hồ sơ dự thi" Nhận hồ sơ Hồ sơ dự thi Hồ sơ đã kiểm tra Hoá đơn Ví dụ về chức năng xử lý và luồng dữ liệu tương ứng Kho dữ liệu + Khái niệm: Kho dữ liệu là các thông tin cần lưu giữ lại trong một khoảng thời gian, để sau đó một hay một vài chức năng xử lý, hoặc tác nhân trong sử dụng. + Biểu diễn: Kho dữ liệu được biểu diễn bằng cặp đoạn thẳng song song trên đó có ghi tên của kho. + Tên: Bởi vì kho chứa các dữ liệu nên tên của kho là danh từ kèm theo tính từ nếu cần thiết, nó nói lên nội dung thông tin chứ không phải là giá mang thông tin. Ví dụ: Kho “Hồ sơ Cán bộ”, “Độc giả” v.v... Biểu diễn mối liên quan giữa chức năng xử lý, kho dữ liệu, luồng dữ liệu trong biểu đồ luồng dữ liệu: Cập nhật kho Lấy thông tin từ kho Vừa lấy thông tin vừa cập nhật Ví dụ: việc quản lý lương của cán bộ, công nhân viên tại một cơ quan. Khi có nhân viên mới về cơ quan phải gửi các thông tin về lương của cá nhân cho bộ phận này. Bộ phận này kiểm tra tính đầy đủ và chính xác của các thông tin và lưu trữ các thông tin này. Theo định kỳ làm các bảng lương đồng thời thường xuyên cập nhật các thông tin mới về lương cho cán bộ công nhân viên. Ta có thể mô tả mô tả các công việc đó của bộ phận quản lý lương như sau: Hồ sơ Cập nhật hồ sơ Hồ sơ Làm bảng lương Hồ sơ Hiệu chỉnh lương Một số chú ý khi xác định các kho dữ liệu: - Không có luồng dữ liệu giữa hai kho dữ liệu - Nói chung kho đã có tên nên luồng dữ liệu vào ra kho không cần tên chỉ khi việc cập nhật, hoặc trích từ kho chỉ một phần thông tin ở kho, người ta mới dùng tên cho luồng dữ liệu - Đối với kho dữ liệu phải có ít nhất một luồng dữ liệu vào và ít nhất một luồng ra. Nếu kho chỉ có luồng vào mà không có luồng ra là kho “vô tích sự”, nếu kho chỉ có luồng ra mà không có luồng vào là kho “rỗng”. -Trong biểu đồ luồng dữ liệu ta có thể đặt một kho dữ liệu ở nhiều nơi để thuận lợi cho việc theo dõi. (nhưng phải hiểu chỉ là một). Tác nhân ngoài Tác nhân ngoài còn được gọi là Đối tác, là một người, một nhóm người hay một tổ chức ở bên ngoài lĩnh vực nghiên cứu của hệ thống nhưng có tiếp xúc, trao đổi thông tin với hệ thống. Sự có mặt của các nhân tố này trên sơ đồ chỉ ra giới hạn của hệ thống, và định rõ mối quan hệ của hệ thống với thế giới bên ngoài. Điều đáng chú ý là hiểu nghĩa “ngoài lĩnh vực nghiên cứu” không có nghĩa là bên ngoài tổ chức, chẳng hạn như với hệ thống xử lý đơn hàng thì bộ phận kế toán, bộ phận mua hàng và các bộ phận kho tàng vẫn là tác nhân ngoài. Đối với hệ thống tuyển sinh đại học thì tác nhân ngoài vẫn có thể là thí sinh, giáo viên chấm thi và hội đồng tuyển sinh. Tác nhân ngoài là phần sống còn của hệ thống, chúng là nguồn cung cấp thông tin cho hệ thống cũng như chúng nhận các sản phẩm thông tin từ hệ thống. + Biểu diễn: Bằng hình chữ nhật có tên + Tên: Được xác định bằng danh từ kèm theo tính từ nếu cần thiết Ví dụ: Thí sinh Khách hàng Một số chú ý với tác nhân ngoài khi xây dựng biểu đồ - Trong biểu đồ không có luồng dữ liệu giữa hai tác nhân ngoài . - Trong một biểu đồ luồng dữ liệu ta có thể đặt một tác nhân ngoài ở nhiều chỗ để dễ đọc, dễ hiểu (nhưng phải hiểu chỉ là một). Trong biểu đồ luồng dữ liệu không có luồng dữ liệu giữa tác nhân ngoài với kho dữ liệu Tác nhân trong + Khái niệm: Tác nhân trong là một chức năng hay một hệ thống con của hệ thống được mô tả ở trang khác của biểu đồ, nhưng có trao đổi thông tin với các phần tử thuộc trang hiện tại của biểu đồ. Thông thường mọi biểu đồ có thể bao gồm một số trang, đặc biệt là trong các hệ thống phức tạp và với khuôn khổ giấy có hạn thông tin được truyền giữa các quá trình trên các trang khác nhau được chỉ ra nhờ ký hiệu này. ý nghĩa của tác nhân trong với ký hiệu tương tự như nút tiếp nối của sơ đồ thuật toán. + Biểu diễn: Tác nhân trong biểu diễn bằng hình chữ nhật hở một phía và trong có ghi tên. + Tên tác nhân trong: Được biểu diễn bằng Động từ kèm bổ ngữ nếu cần. Quản lý kho Tính lương Khi xây dựng biểu đồ một tác nhân trong có thể được đặt ở nhiều nơi trong biểu đồ cho dễ đọc, dễ hiểu. Ví dụ: BLD diễn tả hệ thống cung ứng vật tư trong Ví dụ QLCƯVT ở phần trước. 4 chức năng chính: Đặt hàng Nhận, phát hàng Đối chiếu và kiểm tra Thanh toán Tác nhân ngoài Phân xưởng Nhà cung cấp Ta có biểu đồ luồng dữ liệu sau: Đơn hàng Hệ đặt hàng Nhà cung cấp Hệ phát hàng Phân xưởng Thương lượng mua hàng Đơn hàng Dự trù Hàng nhận Phiếu giao hàng Thanh toán Đối chiếu & Kiểm tra ĐH/Dự trù Danh sách hàng về Địa chỉ phát hàng 3.2.3. Phân rã biểu đồ luồng dữ liệu theo mức Với BLD thì quá trình phân rã từ trên xuống lại là quá trình thành lập dần dần các BLD diễn tả các chức năng của hệ thống theo từng mức. Mỗi mức là một tập hợp các BLD: Mức bối cảnh hay khung cảnh (còn gọi là mức 0) chỉ có một BLD, trong đó chỉ có một chức năng duy nhất - chức năng tổng quát của hệ thống và các luồng thông tin trao đổi với các tác nhân ngoài. Mức đỉnh (còn gọi là mức 1) cũng chỉ có một BLD gồm các các chức năng chính của hệ thống. Các mức dưới đỉnh( còn gọi là các mức 2,3,4,...) , mỗi mức gồm nhiều BLD được thành lập như sau: Với mỗi chức năng mức trên, ta thành lập một BLD ở mức dưới, gọi là BLD định nghĩa (hay giả thích, diễn tả), chức năng đó, theo cách sau: Phân rã chức năng đó nthành nhiều chức năng con. Vẽ tại các luồng dữ liệu vào và ra chức năng trên nhưng nay phải vào hay ra ở các chức năng con thích hợp; Nghiên cứu các quan hệ về dữ liệu giữa các chức năng con, nhờ đó bổ xung các luồng dữ liệu nội bộ hoặc các kho dữ liệu nội bộ. Cách đánh số các chức năng Các chức năng được đánh số theo ký pháp chấm theo dõi vệt triển khai từ trên xuống. Các chức năng ở mức đỉnh được đánh số 1.2.3,.... Các chức năng ở các mức dưới đỉnh, chẳng hạn các chức năng mức 2 được đánh số là: 1.1, 1.2,...,2.1, 2.2,... Các chức năng mức 3 được đánh số là: 1.1.1, 1.1.2,...,2.1.1, 2.1.2,... Khi triển khai dần các mức như trên ta phải tuân thủ một số quy tắc sau đây, gọi là các quy tắc về sự tương hợp giữa các mức: Khi định nghĩa một chức năng ở mức trên thành một BLD ở mức dưới thì các luồng dữ liệu vào và ra chức năng đó phải được bảo toàn, nghĩa là phải được vẽ lại đầy đủ trong BLD định nghĩa. Khi bảo toàn từ mức trên xuống mức dưới như vậy thì một luồng dữ liệu có thể phân rã ra thành nhiều luồng con, nếu cần. Các tác nhân ngoài phải xuất hiện toàn bộ trong BLD khung cảnh, và không được phát sinh mới ở các mức dưới. Tuy nhiên có thể vẽ lại một tác nhân ngoài ở mức dưới nếu thấy cần (chẳng hạn để thấy nơi xuất phát hoặc nơi đến của một luồng dữ liệu nào đó). Các kho dữ liệu không xuất hiện trong BLD bối cảnh. Tuy nhiên chúng dần dần phát sinh ở các mức dưới khi cần đến . Ví dụ 1: Trở lại Ví dụ về hệ thống thông tin ở cơ sở tín dụng thì quá trình phân tích trên xuống là như sau: - Mức khung cảnh (mức 0): chức năng tổng quát của hệ thống là: Làm tín dụng. Tác nhân ngoài của hệ thống là khách vay(cũng có thể con có những đối tác khác như là Ngân hàng, chính quyền địa phương v.v., song ta tạm thời lược bỏ cho đơn giản ). Bổ sung các luồng dữ liệu trao đổi giữa hệ thống và tác nhân ngoài, ta có biểu đồ luồng dữ liệu khung cảnh như sau: Khách vay Hệ thống tín dụng Đơn vay Phiếu thu - Mức đỉnh (mức 1): Chức năng làm tín dụng có thể phân rã thành hai chức năng con là Cho vay và thu nợ. Ngoài ba luồng dữ liệu vào / ra ở mức khung cảnh được bảo toàn, thì ta thấy luồng thông tin trao đổi giữa hai chứcc năng cho vay và thu nợ là không trực tiếp, mà phải thông qua một kho dữ liệu , là sổ nợ. Từ đó có BLD mức đỉnh như sau: 1. Cho vay Khách vay Hoàn trả Sổ ghi nợ 2. Thu nợ Trả lời đơn vay - Mức dưới đỉnh (mức 2) Chức năng 1 được phân rã thành ba chức năng: Nhận đơn, duyệt vay và trả lời đơn . Còn chức năng 2 thì được phân rã thành 3 chức năng: Xác đinh kỳ hạn trả , xử lý nợ trả trong hạn và xử lý trả nợ ngoài hạn. Bảo toàn các luồng DL vào/ra và thêm các luồng DL nội bộ, ta lập được hai BLD định nghĩa hai chức năng 1 và 2 như sau: Định nghĩa chức năng 1 1.1 Cho vay Khách vay Từ chối/Đáp ứng vay Sổ ghi nợ 1.3 Trả lời đơn Đơn vay 1.2 Duyệt vay Đơn đã kiểm tra Đơn đã duyệt Định nghĩa chức năng 2 2.2 XL nợ trong hạn Khách vay 2.3 XL nợ sai hạn Hoàn trả 2.1 Xác định loại trả Phiếu thu Nợ trả trong hạn Sổ ghi nợ Phiếu thu Nợ trả ngoài hạn Ví dụ 2: Biểu đồ luồng dữ liệu của hệ thống quản lý thư viện Nguồn c/cấp sách Độc giả Hệ thống QL thư viện Kiểm tra và đáp ứng yêu cầu Cung cấp sách Yêu cầu cung cấp sách Làm thẻ Yêu cầu mượn - Mức khung cảnh: - Mức đỉnh: Nguồn c/cấp sách Độc giả QL sách và tài liệu Yêu cầu Cung cấp Yêu cầu làm thẻ QL Mượn Trả Sách & tài liệu Cập nhật Thông tin sách & tài liệu Thẻ +Yêu cầu Thẻ +sách/tài liệu Sách mượn Sách trả Xét và cấp thẻ Độc giả QL sách và tài liệu CChú ý: Nếu cùng một hệ thống, mà ta tiến hành phân tích bằng cả hai cách: dùng BPC và dùng BLD thì đương nhiên giữa hai mô hình phải có mối liên quan ăn khớp: Luôn luôn phải có ánh xạ 1-1 giữa các chức năng trong BPC với các chức năng trong các BLD tương ứng. Quá trình triển khai trên xuống không thể kéo dài mãi, mà phải dừng sau một số mức. Ta quyết định dừng quá trình, khi có những biểu hiện sau: Các chức năng đã là khá đơn giản . Với các hệ thống vừa và nhỏ số mức thường là 3, với các hệ thống lớn số mức cũng chỉ khoảng 6 Khi dừng việc triển khai bằng BLD, thì mỗi chức năng trong các BLD ở mức cuối cùng, ta phải cho một đặc tả trực tiếp. Quá trình triển khai đã làm phát sinh rất nhiều tên gọi: tên chức năng, tên luồng dữ liệu, tên kho dữ liệu. Các tên đó rất dễ gây lầm lẫn cho các người dùng cũng như các người thiết kế sau này. Vậy phải lập một từ điển dữ liệu để giải thích các tên gọi đó. 3.2.4. Mô hình vật lý và mô hình logic Việc phân tích thường được bắt đầu từ các mô hình chứa nhiều yếu tố vật lý mà mục đích của phân tích là đi tới một mô hình lôgic của hệ thống . Quá trình phân mức nói ở mục trên chỉ có thể dẫn ta vào những mô tả chi tiết, chứ không phải là đã đưa đến những mô tả lôgic. Bởi vì trong mô tả mà ta thu được(dưới dạng các BLD) thì vãn còn lẫn các yếu tố vật lý nào đó. Nhất là khi sự mô tả mà ta thành lập lại dựa trên sự khảo sát một hệ thống đang tồn tạih , đang hoạt động , thì các yếu tố vật lý vốn đầy dẫy trong thực tế, sẽ có nhiều cơ hội lọt qua sự sàng lọc của người phân tích để đi vào các BLD được thành lập. Có ba loại yếu tố vật lý có thể lẫn vào các BLD: (1) Các yếu tố vật lý xuất hiện tường minh trong ngôn từ hay hình vẽ ở ttrong biểu đồ như là: Các phương tiện, phương thức được dùng để thực hiện các chức năng (như máy tính, bàn phím, máy in, xủ lý thủ công v.v) Các giá mang thông tin (như đĩa từ, sổ sách, chứng từ trên giấy , đường điện thoại ...) Các tác nhân thực hiện chức năng (như giám đốc, kế toán viên, thủ kho ...) (2) Các chức năng vật lý, đó là những chức năng gắn liền với một công cụ hay một biện pháp xử lý nhất định , và sẽ không còn lý do tồn tại khi công cụ hay biện pháp đó bị thay đổi; chẳng hạn chức năng nhập dữ liệu vào máy tính sẽ không tồn tại nữa khi ta không dùng máy tính, và đó là một chức năng vật lý. (3) Cấu trúc vật lý, ấy là cấu trúc chung của biểu đồ đang còn phản ánh trực tiếp cách bố trí, tổ chức hay cài đặt hiện tại, mà chưa phản ánh rõ bản chất lôgic của hệ thống , chưa thoát ra ngoài mọi cách cài đặt cụ thể, chẳng hạn ở hệ CƯVT ở nhà máy Z có 3 tổ công tác là: đặt hàng, nhận hàng/phát hàng và đối chiếu. Do đó một cách tự nhiên, BLD mức đỉnh được thành lập với 3 chức năng tương ứng với 3 tổ chức đó. Cấu trúc như vậy là cấu trúc chủ quan ,vì nó bị áp đăt bởi một hình thức tổ chức công việc có thể là còn tạm thời và chưa hẳn đúng thực chất . Các yếu tố vật lý nói trên xen lẫn vào BLD, làm cho BLD phản ánh không thật trúng bản chất của hệ thống, cần phải gạt bỏ chúng ra khỏi biểu đồ . Để loại bỏ các yếu tố vật lý loại (1), ta chỉ cần loại bỏ ra khỏi biểu đồ các phần ngôn từ hay hình vẽ biểu thị phương tiện, giá mang thông tin hay tác nhân, và chỉ giữ lại sự diễn tả nội dung của chức năng hay thông tin mà thôi, chẳng hạn : 1. Hệ ĐH 1. Đặt hàng thay bởi Séc trả tiền thay bởi thay bởi 3 Đối chiếu và kiểm tra thủ công 3 Đối chiếu và kiểm tra Để loại bỏ các yếu tố loại (2), tức là các chức năng vật lý, trước hết phải làm cho chúng xuất hiện trong biểu đồ đã thường thì các chức năng vật lý là các chức năng nhỏ, chưa xuất hiện ở các BLD mức trên. Vì vậy ta phải triển khai các BLD xuống các mức thấp. Khi phân dã mỗi chức năng thành các chức năng nhỏ, ta sẽ tách được các chức năng vật lý rời khỏi các chức năng lôgic. Từ đó ta loại các chức năng vật lý ra khỏi biểu đồ. Sau khi loại bỏ hết các chức năng vật lý ,thì các chức năng còn lại là các chức năng lôgíc và ta đang ở một mức thấp nào đó. Bấy giờ ta sẽ loại bỏ yếu tố vật lý loại(3), tức là cấu trúc vật lý, bằng cách tổ chức lại các biểu đồ, từ dưới lên trên ,xuất phát từ các chức năng lôgíc nói trên ,theo các bước như sau : Trước hết do có các chức năng vật lý bị loại, một số luồng dữ liệu đã bị đứt quãng, ta phải tìm cách nối chúng lại cho liên tục . Tiếp đó xem xét nội dung các chức năng lôgíc, tìm cách gom cụm các chức năng gần gũi và hợp tác với nhau trong một mục đích xử lý vào một chức năng lớn , cho dù trước đây chúng bị chia lìa bởi các lý do cài đặt. Làm như thế, đang ở mức dưới, ta lại thành lạp được BLD ở mức trên, và cứ thế tiếp tục, ta tổ chức lại các BLD ở các mức, cho đến mức đỉnh. Cấu trúc của các biểu đồ bấy giờ sẽ không còn mang tính chất vật lý nữa. Tóm lại, từ BLD vật lý mức đỉnh, ta triển khai xuống các mức thấp, rũ bỏ các chức năng vật lý, rồi lại trở về các mức cao để chỉnh đốn lại cấu trúc của các biểu đồ. Rốt cục ta trở lại về mức đỉnh với một BLD lôgic. Quá trình đó được khái quát như sau: BLD vật lý mức đỉnh BLD Logic mức đỉnh Gom nhóm các chức năng để tổ chức lại các BLD Triển khai xuống thấp để làm lộ các chức năng vật lý Xoá các chức năng vật lý Nối lại các luồng DL 3.3. ĐẶC TẢ TIẾN TRÌNH 3.3.1. Mục đích và yêu cầu đặc tả chức năng Một điểm chung trong việc sử dụng BPC và BLD là để diễn tả một chức năng phức tạp ta phân rã nó ra thành nhiều chức năng con đơn giản hơn. Nói cách khác là từ một “hộp đen”, ta giải thích nó bằng cách tách nó ra thành nhiều “hộp đen”. Có vẻ như đó là một sự luẩn quẩn, song thực ra là đã có sự tiến bộ vì các chức năng con thu được là đơn giản hơn trước. Muốn đẩy tới sự tiến bộ đó, ta tiếp tục phân rã các chức năng con này. Sự lặp lại quá trình phân rã (thông qua các BPC hay BLD) đương nhiên tới một lúc phải dừng lại. Các chức năng thu được ở mức cuối cùng, đã là rất đơn giản, cũng vẫn cần được giải thích (nếu không thì vẫn cứ là “ hộp đen”). Bấy giờ sự giải thích chức năng phải được thực hiện bởi những phương tiện diễn tả trực tiếp (khác với các BPC và BLD). Gọi đó là sự đặc tả chức năng, thường gọi tắt là P-Spec (Process Specification). Một đặc tả chức năng thường được trình bày một cách ngắn gọn, không vượt quá một trang A4 và gồm hai phần: Phần đầu đề gồm: - Tên chức năng. - Các dữ liệu vào, - Các dữ liệu ra. Phần thân mô tả nội dung xử lí, ở đó thường sử dụng các phương tiện mô tả sau đây (liệt kê theo trật tự ưu tiên giảm dần): - Các phương trình toán học. - Các bảng quyết định hay cây quyết định. - Các sơ đồ khối. - Các ngôn ngữ tự nhiên cấu trúc hoá. 3.3.2. Các phương tiện đặc tả chức năng a) Các bảng quyết định và cây quyết định Chúng được sử dụng khi chức năng được đặc tả thực chất một sự phân chia các trưòng hợp tuỳ thuộc một số điều kiện vào. ứng với mỗi trường hợp thì có một sự chọn lựa khác biệt một số hành động ( hay giá trị) ra nào đó . Số các giá trị có thể của mỗi điều kiện vào phải là hữu hạn . Chẳng hạn : “Là thương binh” có thể lấy giá trị Đúng (Đ) hay Sai (S). “Điều kiện tuổi tác” có thể lấy 4 giá trị: Tuổi thơ (dưới 13 tuổi) Tuổi trẻ (Từ 13 đến 29 tuổi) Trung niên (Từ 30 đến 59 tuổi ) Tuổi già ( Từ 60 tuổi trở nên). Như vậy số các trường hợp có thể có là được biết trước (bằng tích của các số những giá trị có thể của các điều kiện vào). Nhờ vậy ta không để sót các trường hợp. Đó là một ưu điểm đáng kể của các quyết định và các cây quyết định. Điều kiện X Đ Đ Đ Đ S S S S Điều kiện Y Đ Đ S S Đ Đ S S Điều kiện Z Đ S Đ S Đ S Đ S Hành động A X X Hành động B X Hành động C X X X X X Hành động D X X X X X X Các hành động Các điều kiện Các trường hợp Bảng quyết định là một bảng hai chiều, trong đó một chiều (có thể là chiều ngang hay chiều dọc) được tách làm hai phần: một phần cho các điều kiện vào và phần kia cho các hành động hay các biến ra. Chiều thứ hai là các trường hợp có thể xảy ra tuỳ thuộc giá trị của các điều kiện. ứng với mỗi truờng hợp (là cột hay là dòng), thì các hành động chọn lựa sẽ được đánh dấu X hoặc nếu cái ra là các biến, thì cho các giá trị tương ứng của các biến đó. Ví dụ: Một cửa hàng quyết định: Giảm giá 10% cho thương binh . Giảm giá 5% cho con liệt sỹ. Không được phép hưởng hai tiêu chuẩn(bấy giờ lấy mức cao nhất) Như vậy chức năng “ xác định mức giảm giá cho khách hàng” được đặc tả bằng bảng quyết định sau: Là thương binh Là con liệt sĩ Đ Đ Đ S S Đ S S Giảm giá 10% Giảm giá 5% Giảm giá 0% X X X X Bảng quyết định giảm giá 0% Là con liệt sĩ Là con liệt sĩ Là thương binh 10% 10% 5% Đ Đ S S Cây quyết định chỉ là một biến tướng của bảng quyết định; nó phân chia các trường hợp nhờ cấu trúc cây thay vì cấu trúc bảng . Chẳng hạn tương ứng của bảng quyết định ở trên ta có cây quyêt định sau: Đ S Cây quyết định giảm giá b) Sơ đồ khối. Sơ đồ khối là loại biểu đồ diễn tả giải thuật quen thuộc và ưa dùng với các người mới học lập trình, vì nó đơn giản dễ hiểu. Với lập trình nâng cao, thì nó bộc lộ nhiều nhược điểm, cho nên nó lại ít được ưa dùng: nó khuyến khích việc sử dụng tràn lan GO TO. Nó không thể hiện rõ ba cấu trúc điều khiển cơ bản (tuần tự chọn, lặp), nó hỗ trợ kém cho lập trình trên xuống và càng tỏ ra gượng ép với lập trình đệ quy v.vTuy nhiên với nhiệm vụ đặc tả các chức năng đơn giản mà ta cần ở đây, thì nó đáp ứng được yêu cầu. Nếu như BLD chỉ có một loại nút là chức năng (tức là các hành động phải làm), thì sơ đồ khối lại có hai loại nút: Nút hành động xử lý(hình chữ nhật ) Nút kiểm tra điều kiện (hình thoi). Nếu trong BLD một cung là một tuyến chuyển giao dữ liệu thì trong sơ đồ khối một cung là một tuyến chuyển giao điều khiển (nghĩa là chuyển giao quyền thực hiện) Như vậy nếu như các BLD chi tập trung diễn tả những việc phải làm là gì (với mối liên quan về dữ liệu giữa chúng ), thì các sơ đồ khối lại có phần ôm đồm hơn, không những chỉ ra các việc phải làm, mà còn chỉ ra cách dẫn dắt các việc đó. Chính vì sự ôm đồm đó mà nó không thích hợp để diễn tả các chức năng phức tạp và lớn. Dưới đây là một Ví dụ dùng sơ đồ khối để đặc tả chức năng “ lập danh sách trúng tuyển và danh sách trượt”. Còn thí sinh chưa xét? Tra cứu điểm thí sinh Đưa thí sinh vào danh sách trượt S Đưa thí sinh vào danh sách đỗ Đ Ra S Đ Điểm ts >= điểm chuấn? c) Các ngôn ngữ có cấu trúc. Ngôn ngữ có cấu trúc (cũng còn được gọi là mã giả) là một ngôn ngữ tự nhiên (chẳng hạn tiếng Việt) bị hạn chế: Chỉ được phép dùng các câu đơn sai khiến hay khẳng định (thể hiện các lệnh hay các điều kiện). Các câu đơn này được ghép nối nhờ một từ khoá thể hiện các cấu trúc điều khiển chọn và lặp. Như vậy ngôn ngữ có cấu trúc có những đặc điểm của một ngôn ngữ lập trình, song nó không chịu những hạn chế và quy định ngặt nghèo của các ngôn ngữ lập trình, cho nên được dùng thoải mái hơn. Tuy nhiên nó cũng không quá phóng túng như một ngôn ngữ tự do. Dưới đây là đặc tả của chức năng “lập danh sách trúng tuyển và danh sách trượt” ở dạng ngôn ngữ có cấu trúc. Lặp: Lấy một thí sinh từ kho các thí sinh Tra cứu điểm của một thí sinh nào đó. Nếu Điểm của thí sinh >= điểm chuẩn. Thì Đưa thí sinh vào danh sách đỗ Không thì Đưa thí sinh vào danh sách trượt Đến khi Hết thí sinh. 3.4. BÀI TẬP Chương 4: PHÂN TÍCH HỆ THỐNG VỀ DỮ LIỆU 4.1. CÁC PHƯƠNG TIỆN MÔ TẢ DỮ LIỆU Một hệ thống trong trạng thái vận động bao gồm hai yếu tố là các chức năng xử lý và dữ liệu. Giữa xử lý và dữ liệu có mối quan hệ mật thiết chặt chẽ và bản thân dữ liệu có mối liên kết nội bộ không liên quan đến xử lý đó là tính độc lập dữ liệu. Mô tả dữ liệu được xem như việc xác định tên, dạng dữ liệu và tính chất của dữ liệu. Dữ liệu không phụ thuộc vào người sử dụng đồng thời không phụ thuộc vào yêu cầu tìm kiếm và thay đổi thông tin. Trong mục này để thuận tiện cho phương pháp nghiên cứu chúng ta chỉ tập trung đến các phương tiện và mô hình diễn tả dữ liệu. Đó là các thông tin được quan tâm đến trong quản lý, nó được lưu trữ lâu dài, được xử lý và sử dụng trong hệ thống thông tin quản lý. Có nhiều công cụ để mô tả dữ liệu. Các công cụ này là các cách trừu tượng hoá dữ liệu đặc biệt là mối quan hệ của dữ liệu nhằm phổ biến những cái chung nhất mà con người ta có thể trao đổi với nhau. Trong phần này chúng ta đề cập đến 4 công cụ chủ yếu: Mã hoá dữ liệu Từ điển dữ liệu Mô hình thực thể liên kết Mô hình quan hệ 4.1.1. Mã hoá các tên gọi Khái niệm mã hoá Mã là tên viết tắt gắn cho một đối tượng nào đó hay nói cách khác mỗi đối tượng cần có tên và vấn đề đặt ra là ta sẽ đặt tên cho đối tượng như thế nào. Trong mỗi đối tượng gồm nhiều thuộc tính khác nhau thì yêu cầu mã hoá cho các thuộc tính cũng là yêu cầu cần thiết. Ngoài ra mã hoá còn là hình thức chuẩn hoá dữ liệu để phân loại dữ liệu lưu trữ và tìm kiếm có hiệu quả và bảo mật dữ liệu đặc biệt trong các hệ thống thông tin xử lý bằng máy tính. Một số Ví dụ về mã hoá: - Khi ta cần xác định một công dân thì số chứng minh thư hoặc số hộ chiếu là mã của công dân đó. - Khi cần xác định xe ô tô hay xe máy thì biển số xe là mã của xe đó. Chất lượng và yêu cầu đối với mã hoá Trong thực tế ta gặp rất nhiều đối tượng cần mã hoá như mã hoá ngành nghề cần đào tạo, mã hoá các bệnh, mã số điện thoại, mã thẻ sinh viên, thẻ bảo hiểm y tế,... Chúng ta có nhiều phương pháp mã khác nhau. Do vậy cần xác định một số tiêu chí để đánh giá chất lượng của việc mã hoá: Mã hoá không được nhập nhằng: Thể hiện ánh xạ 1-1 giữa mã hoá và giải mã mỗi đối tượng được xác định rõ ràng và duy nhất với một mã nhất định. Thích ứng với phương thức sử dụng: Việc mã hoá có thể tiến hành bằng thủ công nên cần phải rễ hiểu, dễ giải mã, và việc mã hoá bằng máy đòi hỏi cú pháp chặt chẽ. Có khả năng mở rộng mã: Thêm phía cuối (sau) của các mã đã có Xen mã mới vào giữa các mã đã có, thường mã xen phải dùng phương pháp cóc nhảy, nhảy đều đặn dựa vào thống kê để tránh tình trạng “bùng nổ ” mã. Mã phải ngắn gọn làm giảm kích cỡ của mã, đây cũng là mục tiêu của mã hoá. Tuy nhiên điều này đôi khi mâu thuẫn với khái niệm mở rộng mã sau này. Mã có tính gợi ý: Thể hiện tính ngữ nghĩa của mã. Đôi khi tính gợi ý là yêu cầu đối với mã công khai, và làm cho việc mã hoá thuận tiện dễ dàng. Cách mã cần xác định sao cho tối thiểu hoá sai sót khi mã và giảm tính dư thừa của mã. Các kiểu mã hoá (1). Mã hoá liên tiếp (Serial Coding): Ta dùng các số nguyên liên tiếp 000,001, 002...để mã hoá. Phương pháp này thường để đánh số thứ tự trong danh sách các đối tượng. Ưu điểm: Không nhập nhằng, đơn giản, thêm phía sau. Khuyết điểm: Không xen được, thiếu tình gợi ý vì cần phải có bảng tương ứng và không phân theo nhóm. (2). Mã hoá theo lát Sử dụng các số nguyên như mã hoá liên tiếp nhưng phân ratheo lát( lớp) cho từng loại đối tượng, trong mỗi lát dùng mã liên tiếp. Ví dụ: Mã hoá các đối tượng là các hàng ngũ kim Vùng 1: 0001 – 0999 để mã hóa các hàng ngũ kim bé, trong đó: 001 – 0099 để mã hóa các loại vít 0100 – 0299 để mã hóa các loại êcu 0300 – 0499 để mã hóa các loại bulong 0500 – 0599 để mã hóa các loại đinh .... Vùng 2: 1000 – 1999 để mã hóa các chi tiết kim loại, trong đó 1000 – 1099 để mã hóa các loại sắt chữ U .... Ưu điểm: Không nhập nhằng, đơn giản, có thể mở rộng và xen thêm được. Nhược điểm: vẫn phải dùng bảng tương ứng. (3). Mã phân đoạn: Bản thân mã được phân thành nhiều đoạn mỗi đoạn mang một ý nghĩa riêng. Ví dụ: Số đăng kí xe máy: Tỉnh Lát (xê ri) Số liên tiếp 2 9 F 6 6 9 5 6 Biển số xe của ông X là 29 F6 6956 là biển xe đăng kí tại Hà Nội (mã tỉnh là 29). Ưu điểm: Không nhập nhằng, mở rộng ,xen thêm được và được dùng khá phổ biến, loại mã này cho phép thiết lập các phương thức kiểm tra gián tiếp đối với mã của các đối tượng bằng cách trích rút các đoạn mã để kiểm tra. Nhược điểm: Mã quá dài nên thủ tục mã nặng nề, không cố định và vẫn có thể bị bão hoà mã. (4). Mã phân cấp: Các đối tượng được mã hoá theo chế độ phân cấp các chi tiết nhỏ dần. Một hình ảnh khá quen thuộc của mã hoá phân cấp là đánh số chương, tiết, mục trong một quyển sách. Chương 1 1.1 Bài 1 1.2 Bài 2 1.3 Bài 3 Chương 2 1.1 Bài 4 1.1.1 Mục 1 1.1.2 Mục 2 1.2 Bài 5 1.3 Bài 6 .... Ưu điểm : Các ưu điểm tương tự như mã hoá phân đoạn, ngoài ra việc tìm kiếm mã dễ dàng. Khuyết điểm :Tương nhự như các nhược điểm của mã phân đoạn. (5). Mã diễn nghĩa: Bằng cách gán một tên ngắn gọn nhưng hiểu được cho một đối tượng. Ví dụ : Đội bóng các nước tham gia giải Tiger cup được mã bằng cách lấy ba kí tự đầu như sau: VIE: Việt Nam, THA: Thailand, SIN: Singapore, IND: indonesia, MAL : Malaysia. Ưu điểm : Tiện dùng cho sử lý bằng thủ công. Khuyết điểm: Không giải mã được bằng máy tính. Các chú ý khi lựa chọn sự mã hoá Như đã nêu ở trên, có nhiều phương pháp mã hoá khác nhau, có thể sử dụng một kiểu mã nào đó, cũng có thể sử dụng kết hợp nhiều kiểu để đạt chất lượng mã tốt nhất. Việc lựa chọn mã hoá cần dựa vào các yếu tố sau: - Nghiên cứu việc sử dụng mã sau này. - Nghiên cứu số lượng đối tượng được mã hoá để lường trước được sự phát triển. - Nghiên cứu sự phân bố thống kê các đối tượng để phân bố theo lớp. - Tìm xem đã có những mã nào được dùng trước đó cho các đối tượng này để kế thừa. - Thỏa thuận với người dùng cách mã. - Thử nghiệm trước khi dùng chính thức để chỉnh lý kịp thời. 4.1.2. Từ điển dữ liệu Khái niệm Từ điển dữ liệu là một tư liệu tập trung mọi tên gọi của mọi đối tượng được dùng trong hệ thống trong cả các giai đoạn phân tích, thiết kế, cài đặt và bảo trì. Nó là văn phạm giả hình thức mô tả nội dung của các sự vật, đối tượng theo định nghĩa có cấu trúc. Chẳng hạn trong biểu đồ luồng dữ liệu(BLD): các chức năng xử lý, kho dữ liệu, luồng dữ liệu chỉ mô tả ở mức khái quát thường là tập hợp các khoản mục riêng lẻ. Các khái quát này cần được mô tả chi tiết hơn qua công cụ từ điển dữ liệu. Cấu tạo từ điển Từ điển dữ liệu gồm các mục từ và lời giải thích. Lời giải thích thể hiện được cấu trúc của 1 từ bản chất liền giá trị và phạm vi sử dụng Ví dụ: Luồng dữ liệu Mục từ Nội dung Phiếu yêu cầu - Ý nghĩa : Luồng dữ liệu chuyển từ tác nhân ngoài” Bạn đọc” đến tiến trình” Xử lý phiếu yêu cầu - Thành phần: Số thẻ đọc, Tên tài liệu, Tên tác giả, Số cá biệt, Ngày viết phiếu Hình 4.2. Mục từ cho luồng dữ liệu “Phiếu yêu cầu” Ví dụ: Kho dữ liệu Mục từ Nội dung Sách - Ý nghĩa: Chứa mọi thông tin về sách trong thư viện - Thành phần: Số cá biệt, Tên sách, Tên tác giả, Năm xuất bản, Nhà xuất bản, Lần xuất bản, Ngày nhập, Loại sách, Các từ khoá, Tóm tắt nội dung, Vị trí trong kho,Trạng thái mượn - Tổ chức: Lưu trữ tuần tự và được sắp xếp theo “Số cá biệt”. Khi cập nhật sách mới được xếp vào đúng vị trí của nó trong kho - Các xử lý liên quan : Cập nhật sách mới, Huỷ sách cũ, Tìm kiếm sách theo các thành phần thông tin riêng biệt Hình 4.2. Mục từ cho kho dư liệu “Sách” 4.2. MÔ HÌNH THỰC THỂ LIÊN KẾT 4.2.1. Các khái niệm của mô hình thực thể liên kết Mô hình thực thể liên kết (Entity Association E/A) xuất phát từ ba khái niệm cơ bản: thực thể, liên kết và thuộc tính. Thực thể: Một thực thể( entity) là một vật thể cụ thể hay trừu tượng, tồn tại thực sự và khá ổn định trong thế giới thực, mà ta muốn phản ánh nó trong hệ thống thông tin. Ví dụ: Thực thể cụ thể như: Học sinh Trần Ngọc Kha, Hóa đơn số 58 Thực thể trìu tượng như: Khoa Công Nghệ Thông Tin Thuộc tính: Thuộc tính (Property hay arttibute) là một giá trị dùng để mô tả một khía cạnh nào đó của một thực thể. Ví dụ: Tuổi của Trần Ngọc Kha là 17 Tổng tiền của hóa đơn số 58 là 800.000đ Giá trị thuộc tính thường được cho kèm theo một tên (tuổi 17, tổng tiền: 800.000đ). Tên đó thực tế là tên chung của mọi giá trị có thể chọn lựa để mô tả một khía cạnh nhất định của các thực thể (tuổi: 17, tuổi: 20, tuổi:14...). Ta gọi tên đó là một kiểu thuộc tính (property type). Ví dụ: Tuổi, tổng tiền ... là các kiểu thuộc tính. - Kiểu thuộc tính đa trị: Là kiểu thuộc tính mà giá trị của nó đối với một thực thể có thể là một dãy hay 1 tập các giá trị. - Ta gọi kiểu thực thể (entity type) là một tập hợp các thực thể được mô tả bởi cùng một tập hợp các kiểu thuộc tính và biểu diễn cho một lớp tự nhiên các vật thể trong thế giới thực. Ví dụ: Kiểu thực thể khách hàng được mô tả bằng các kiểu thuộc tính: tên, địa chỉ, số tài khoản. Một hay một tập kiểu thuộc tính của một kiểu thực thể được gọi là một khóa nếu giá trị của nó cho phép ta phân biệt các thực thể với nhau. Ví dụ: số tài khoản và mã hàng lần lượt là khóa của các kiểu thực thể tài khoản và mặt hàng. Còn với kiểu thực thể Sách mượn có thể lấy số hiệu sách, số hiệu độc giả, ngày mượn làm khóa (sách mượn về nhà nên một độc giả chỉ được mượn một cuốn sách nhiều nhất một lần trong một ngày). Nếu khóa chỉ gồm một kiểu thuộc tính duy nhất thì ta gọi thuộc tính đó là một định danh (identifier). Ví dụ: SH Nhân viên Mã Nhân viên Các thuộc tính trong mô hình thực thể liên kết có hai ràng buộc phải thoả mãn: - Giá trị duy nhất: Mỗi thuộc tính của một thực thể có thể lấy một và chỉ một giá trị duy nhất. - Giá trị sơ đẳng: Giá trị thuộc tính không thể tách thành các phần nhỏ hơn. Liên kết: Một liên kết là một sự gom nhóm các thực thể trong đó mỗi thực thể có một vai trò nhất định. Ví dụ: - Khách hàng Ân đã giao nộp đơn hàng 3428. - Đơn hàng 3428 đặt mua các mặt hàng 34 và 78 - Anh Liên là học trò của thầy Hà. Một kiểu liên kết (asociation type) là một tập hợp các liên kết có cùng ý nghĩa. Một kiểu liên kết là được định nghĩa giữa nhiều kiểu thực thể. Tên của kiểu liên kết thường được chọn là một động từ (chủ động hay bị động) phản ánh ý nghĩa của nó . Ví dụ: - Kiểu liên kết giao nộp giữa kiểu thực thể khách hàng và kiểu thực thể đơn hàng (2 ngôi). - Kiểu liên kết đặt mua giữa kiểu thực thể đơn hàng và kiểu thực thể mặt hàng (2 ngôi). - Kiểu liên kết dạy giữa kiểu thực thể thầy và kiểu thực thể trò (2 ngôi). - Thời khóa biểu là một kiểu liên kết giữa các kiểu thực thể: Môn, giờ, phòng, lớp ( liên kết nhiều ngôi ) Các giá trị ứng số thường dùng là 1 (1..1) một và chỉ một 0..1 không hay một 0.. * hay * từ không tới nhiều 1.. * từ một tới nhiều. m.. n từ m tới n. 4.2.2. Đặc tả mối quan hệ giữa hai kiểu thực thể Để đặc tả mối quan hệ giữa hai kiểu thực thể, mô hình thực thể liên kết thường được biểu diễn dưới dạng một đồ thị, trong đó các nút là các kiểu thực thể, còn các cung là các kiểu liên kết. Đồ thị đó được gọi là sơ đồ thực thể liên kết và được lập như sau: Một kiểu thực thể được biểu diễn bởi một hình chữ nhật gồm 2 ngăn, ngăn trên chứa tên của kiểu thực thể, ngăn dưới chứa danh sách các kiểu thuộc tính của nó. Tên kiểu thực thể thường là một danh từ (chỉ vật thể). Các kiểu thuộc tính hợp thành khóa của kiểu thực thể được gạch dưới, và thường đặt lên đầu danh sách. Một kiểu liên kết được biểu diễn bởi một hình thoi, được nối bằng nét liền tới các kiểu thực thể tham gia liên kết. Trong hình thoi viết tên kiểu liên kết(tên này có thể khuyết, nếu không cần làm rõ). Như trên đã nói tên kiểu liên kết thường là một động từ (chủ động hay bị động). Nếu kiểu liên kết là hai ngôi, thì ở hai đầu mút các đường nối, sát với các kiểu thực thể, ta ghi thêm ứng số (nếu thấy cần làm rõ). Mượn 1 0..* Sách mượn Số hiệu sách Tên sách Ngày Độc giả SH độc giả Họ tên Địa chỉ Ví dụ: Biểu diễn đồ họa của kiểu liên kết Mượn. Biểu diễn đồ họa của kiểu liên kết Có Có 0..1 0..1 Lương Bậc lương Hệ số Ngày lên CN viên SH CN viên Họ tên Địa chỉ Biểu diễn đồ họa của kiểu liên kết Cung ứng Cung ứng 0..* 0..* Mặt hàng SH mặt hàng Tên hàng Màu Nhà CC SH nhà CC Họ tên Địa chỉ * Một số trường hợp đặc biệt: - Liên kết đệ quy: Là kiểu liên kết giữa một thực thể với chính thực thể đó. kết hôn chồng 0..1 Người ID người Họ tên Địa chỉ vợ 0..1 - Nhiều kiểu liên kết giữa hai thực thể: Người Mã Họ tên Địa chỉ 0..* Sở hữu 1 Căn hộ Mã CH Diện tích Địa chỉ 0..* Thuê 0..1 - Kiểu liên kết có thuộc tính mô tả: Ta ghi danh sách các thuộc tính bên cạnh hình thoi; hoặc vẽ thêm một hình chữ nhật hai ngăn như kiểu thực thể: ngăn tên có thể chứa tên kiểu liên kết hoặc bỏ trống; ngăn thuộc tính chứa các thuộc tính, bổ sung các thuộc tính khoá của các kiểu thuộc tính tham gia liên kết. Và nó được nối với hình thoi bằng nét đứt. Dạy Học sinh ID HSinh Họ tên Lớp Giao viên ID GVien Họ tên Khoa ID GVien ID HSinh Môn học Năm học - Kiểu liên kết nhiều ngôi: Đơn hàng ID ĐH Ngày Địa chỉ Ngày Ngày Mặt hàng Mã hàng Tên hàng Mô tả Giao hàng Giao hàng ID ĐH Mã hàng Ngày Lượng giao 4.2.3. Mô hình thực thể liên kết mở rộng và hạn chế 4.2.3.1. Mô hình E/A mở rộng a) Các điểm mở rộng đối với mô hình E/A - Các kiểu thuộc tính đa trị: Trong mô hình mở rộng được phép dùng kiểu thuộc tính đa trị. Nghĩa là tồn tại kiểu thuộc tính mà giá trị của nó đối với một thực thể có thể là một dãy hay một tập các giá trị. Ví dụ: Tên, tuổi các con của một nhân viên. - Các kiểu thuộc tính phức hợp: Cho phép dùng kiểu thuộc tính phức hợp từ các thuộc tính sơ đẳng, tức là được tạo thành từ sự kết hợp từ nhiều kiểu thuộc tính khác. Mặc định, mỗi giá trị của kiểu thuộc tính phức hợp là sự ghép các giá trị của các thuộc tính sơ đẳng tương ứng. Ví dụ: Kiểu thuộc tính Địa chỉ là sự kết hợp của các thuộc tính Số nhà, Đường phố, Quận huyện, Tỉnh thành. - Các kiểu thực thể con: Nếu trong một kiểu thực thể A, ta chỉ ra một tập con B của A, mà các thực thể trong B vừa mang các kiểu thuộc tính chung của các thực thể trong A, lại vừa có thêm một số các kiểu thuộc tính mới, thì ta nói đó là sự chuyên biệt hóa. B được gọi là kiểu thực thể con của kiểu thực thể A. Các kiểu thuộc tính của B bao gồm mọi kiểu thuộc tính của A cộng thêm các kiểu thuộc tính riêng của nó. Ta nói: B thừa kế các thuộc tính của A. Quá trình ngược lại với chuyên biệt hóa là sự khái quát hóa: Từ nhiều kiểu thực thể B, C,... ta rút ra các kiểu thuộc tính chung để lập một kiểu thực thể A (với các kiểu thuộc tính chung đó) sao cho B,C,... đều là kiểu thực thể con của A. Người ID người Họ tên Địa chỉ Sinh viên lớp ngành học Nhân viên Phòng Đ.chỉ CQ Ví dụ: Các thực thể Sinh viên, Nhân viên là thực thể con của thực thể Người. b) Cách biến đổi biểu đồ E/A mở rộng về biểu đồ E/A kinh điển Quy tắc 1: Chuyển các thuộc tính đa trị về các thuộc tính có giá trị duy nhất. Thay một kiểu thuộc tính đa trị T của kiểu thực thể A bởi một kiểu thực thể mới E-T và kết nối A với E-T bởi một kiểu liên kết. Đưa vào kiểu thực thể E-T một kiểu thuộc tính đơn trị t, tương ứng với các giá trị thành phần của T. Nghiên cứu các ứng số cho kiểu liên kết mới (giữa A và E-T). Ví dụ 1: Kiểu thực thể Nhân viên có thuộc tính đa trị là các ngoại ngữ. Chú ý: Kiểu thực thể Nhân viên Mã NV Họ tên Các NN chuyển thành Nhân viên Mã NV Họ tên Ngoại ngữ Tên NN 0..* 0..* Biết nói trên được gọi là kiểu thực thể phụ thuộc; nó chỉ tồn tại cùng với kiểu thực thể chính. Ví dụ 2: Hoá đơn: Số hoá đơn:. Ngày:.. HOÁ ĐƠN Họ tên khách hàng:. Địa chỉ: Hình thức thanh toán:.. Mã hàng Tên hàng Đơn vị tính Số lượng Đơn giá Thành tiền Tổng tiền: chuyển thành Hoá đơn Số HĐ Ngày HĐ Khách Địa chỉ Cách TT Mã hàng Tên hàng ĐV tính Số lượng Đơn giá Thành tiền Tổng HĐ 0..* 0..* Hoá đơn Số HĐ Ngày HĐ Khách Địa chỉ Cách TT Tổng HĐ Dòng HĐ Mã hàng Tên hàng ĐV tính Số lượng Đơn giá Thành tiền Quy tắc 2: Xử lý các thuộc tính đa trị của một kiểu liên kết. Thực thể hoá liên kết kiểu đó, rồi áp dụng quy tắc 1 cho kiểu thựcthể mới lập. Quy tắc 3: Xử lý các kiểu thuộc tính phức hợp. Thay kiểu thuộc tính phức hợp bởi các kiểu thuộc tính mà tích hợp thành. Ví dụ: Kiểu thuộc tính Địa chỉ thay bằng các thuộc tính Số nhà, Đường phố, Quận huyện, Tỉnh thành. Quy tắc 4: Xử lý các kiểu thực thể con. Giả sử B là thực thể con của thực thể A. Có hai cách xử lý: - Loại bỏ kiểu thực thể B và bổ sung mọi kiểu thuộc tính của B vào trong A, đồng thời thêm một kiểu thuộc tính cho phép phân loại các thực thể của A (thuộc B hay không thuộc B). Chuyển mọi kiểu liên kết với B sang A, và nghiên cứu lại các ứng số cho chúng. - Thay đổi mối quan hệ thừa kế giữa A và B bằng một kiểu liên kết giữa A và B mà các ứng số tối đa bằng 1. Nghiên cứu cụ thể các ứng số tối thiểu. 4.2.3.2. Mô hình E/A hạn chế a) Các điểm hạn chế đối với mô hình E/A Mô hình thực thể liên kết hạn chế bị hạn chế nhiều về các hình thức diễn tả nhưng lại rất gần với mô hình quan hệ và do đó dễ dàng chuyển sang cài đặt với một hệ quản trị CSDL. Ngoài các ràng buộc các thuộc tính có giá trị duy nhất và có tính sơ đẳng thì mô hình E/A hạn chế có bổ sung thêm các ràng buộc sau: - Đối với các liên kết hai ngôi dạng: m..n A B p..q thì chỉ còn được dùng liên kết 1-nhiều, tức là trường hợp n=1 và q>1 hoặc q=*. A B Như vậy, các kiểu liên kết 1-1 (n=1 và q=1), cũng như các kiểu liên kết nhiều-nhiều (n>1 và q>1) đều không thể hiện tường minh trong mô hình E/A hạn chế. Do đó, mô hình E/A hạn chế đôi khi còn được gọi là mô hình E/A một - nhiều. - Đối với kiểu liên kết nhiều ngôi (>2) thì không có hình thức diễn tả tường minh trong mô hình E/A hạn chế. b) Cách biến đổi một mô hình E/A kinh điển về mô hình E/A hạn chế Tuy bị hạn chế về hình thức biểu diễn, song khả năng diễn tả của mô hình E/A hạn chế vẫn tốt. Ta có thể biến đổi mọi mô hình E/A kinh điển về mô hình hạn chế bằng cách áp dụng các quy tắc sau: Quy tắc 1: Xử lý kiểu liên kết 1-1. Ta có thể thực hiện bằng 1 trong 2 cách sau: Cách 1: Xem kiểu liên kết 1-1 là trường hợp riêng của liên kết 1-nhiều (nhiều ở đây là p..*, khi p=0 sẽ được hiểu là 0,1 hay nhiều) và vẽ lại nó bằng đường nối thẳng hay một đường nối có chân vịt ở một đầu. Cách làm này vi phạm sự hạn chế của mô hình, hay gây hiểu nhầm nên ít dùng. Cách 2: Gộp hai thực thể có quan hệ 1-1 thành một kiểu thực thể duy nhất bằng cách hoà trộn hai danh sách các kiểu thuộc tính với nhau. Ví dụ: Có hai kiểu thực thể Chứng minh thư và Lý lịch cán bộ có quan hệ 1-1. Có 1 0..1 Lý lịch cán bộ Mã cán bộ Họ tên Quê quán Nơi thường trú Đơn vị công tác Hệ số lương Chứng minh thư Số CMT Họ tên Quê quán Nơi thường trú Ngày cấp CMT Nơi cấp CMT Lý lịch cán bộ Mã cán bộ Họ tên Quê quán Nơi thường trú Đơn vị công tác Hệ số lương Chứng minh thư Số CMT Họ tên Quê quán Nơi thường trú Ngày cấp CMT Nơi cấp CMT Lý lịch cán bộ Mã cán bộ Họ tên Quê quán Nơi thường trú Đơn vị công tác Hệ số lương Chứng minh thư Số CMT Họ tên Quê quán Nơi thường trú Ngày cấp CMT Nơi cấp CMT Chuyển theo Cách 1: Chuyển theo Cách 2: Lý lịch cán bộ Mã cán bộ Họ tên Số CMT Họ tên Quê quán Nơi thường trú Ngày cấp CMT Nơi cấp CMT Đơn vị công tác Hệ số lương Quy tắc 2: Xử lý các kiểu liên kết 2 ngôi n - n và các kiểu liên kết nhiều ngôi. Thực thể hoá mỗi kiểu liên kết đó bằng một kiểu thực thể mới có chứa các kiểu thuộc tính là khoá của các kiểu thực thể tham gia (tập hợp các khoá này là khoá bội của kiểu thực thể mới). Nối thực thể này với các thực thể tham gia liên kết bằng các liên kết 1-n (phía nhiều ở thực thể mới này). Ví dụ: Có các kiểu quan hệ của các thực thể: Cung ứng 0..* 0..* Mặt hàng SH mặt hàng Tên hàng Màu Nhà CC SH nhà CC Họ tên Địa chỉ Mặt hàng SH mặt hàng Tên hàng Màu Nhà CC SH nhà CC Họ tên Địa chỉ Catalô SH mặt hàng Tên hàng Màu được chuyển thành: Thời khoá biểu Phòng Mã PH Lớp học Mã Lớp Tên lớp Môn học Mã môn Tên môn Thời gian Ngày giờ Thời khoá biểu Mã Lớp Mã PH Mã môn Ngày giờ Phòng Mã PH Lớp học Mã Lớp Tên lớp Môn học Mã môn Tên môn chuyển thành c) Các kiểu thuộc tính khoá và các kiểu thuộc tính kết nối * Khoá: là một tập các kiểu thuộc tính của một kiểu thực thể dùng để phân biệt các thực thể trong kiểu thực thể đó. Khoá có thể là khoá đơn (chỉ có một kiểu thuộc tính) và khóa bội (khoá gồm 2 kiểu thuộc tính trở nên). Khoá bội thường gặp trong các trường hợp sau: - Các kiểu thực thể phụ thuộc: Khoá của một kiểu thực thể phụ thuộc luôn phải bao gồm khoá của kiểu thực thể chính, và nó làm nhiệm vụ kết nối một thực thể phụ thuộc với một thực thể chính. - Các kiểu thực thể được lập từ Quy tắc 2, tức là các kiểu thực thể diến tả một quan hệ đều phải có khoá bội hợp thành từ khoá của các kiểu thực thể tham gia quan hệ. * Kiểu thuộc tính kết nối (hay còn gọi là khoá ngoại): là kiểu thuộc tính vốn là khoá của một kiểu thực thể khác nhưng lại xuất hiện trong kiểu thực thể này với nhiệm vụ mô tả mối quan hệ giữa hai kiểu thực thể. 4.2.4. Phương pháp phân tích theo mô hình thực thể liên kết Hai cách tiến hành: trên xuống và dưới lên Các thông tin được đưa vào mô hình thực thể liên kết dưới 3 hình thức: thực thể, liên kết và thuộc tính. Để phát hiện các kiểu thực thể và các kiểu thuộc tính của chúng có thể tiến hành theo hai cách ngược nhau: Cách (1): trước hết đối sánh với thực tế để tìm ra các kiểu thực thể, rồi sau đó đối với mỗi kiểu thực thể đã chọn, tìm các kiểu thuộc tính mô tả nó. Cách (2): tìm tập hợp các kiểu thuộc tính như là những loại thông tin sơ đẳng xuất hiện trong hệ thống, rồi gom nhóm, tổ chức chúng lại thành từng cụm theo chủ đề mô tả. Mỗi cụm đó trở thành một kiểu thực thể Tuy nhiên cách tốt nhất là hỗn hợp cả hai cách làm trên bằng cách lặp đi lặp lại nhiều lần: Từ các kiểu thực thể, tìm ra các kiểu thuộc tính, rồi từ kiểu thuộc tính ta tổ chức lại, chỉnh sửa và bổ xung thành các kiểu thực thể, vòng đi vòng lại cho đến khi thỏa đáng. Một thực thể, như ta đã định nghĩa ở trên, là một vật thể cụ thể hay trừu tượng, tồn tại thực sự và khá ổn định trong thế giới thực mà ta muốn phản ánh nó trong hệ thống thông tin. Tuy nhiên, không phải mọi vật thể có trong thực tế đều trở thành thực thể, mà phải có sự tuyển chọn khi đưa vào mô hình. Sự tuyển chọn đó dựa trên hai tiêu chí: - Có ích cho việc quản lý. - Có cách để phân biệt với các thực thể khác. Một thuộc tính, như đã định nghĩa ở trên, là một giá trị (dữ liệu) mô tả một khía cạnh nào đó của một thực thể. Cũng không phải mọi đặc điểm có thể của một thực thể đều được xem là thuộc tính cho nó, mà phải có sự tuyển chọn theo yêu cầu quản lý. Xét về vai trò của kiểu thuộc tính trong một kiểu thực thể, ta phân biệt ba loại kiểu thuộc tính: - Thuộc tính khóa - Thuộc tính kết nối (hay khóa ngoài) - Thuộc tính mô tả. Về các thuộc tính khóa và kết nối, ta sẽ đề cập ở dưới cùng với việc xem xét các liên kết. Còn đối với các thuộc tính mô tả, để tuyển chọn chúng ta dựa vào một số cách phân loại, đề cập ở hai mục nhỏ tiếp sau đây. Phân loại các thuộc tính theo nội dung diễn tả Các dữ liệu trong một hệ thống thông tin quản lý (nói ở đây là các thuộc tính và từ đó là các thực thể) có thể tách làm hai loại theo nội dung diễn tả: Các dữ liệu phản ánh cấu trúc tĩnh của hệ thống kinh doanh dịch vụ. Có thể nói đó là phần mô tả hạ tầng cơ sở của hệ thống kinh doanh dịch vụ và môi trường của nó, và là phần ổn định nhất trong CSDL, bao gồm: Về nhân lực: Nhân viên, Khách hàng, Nhà cung cấp.... Về tài sản, thiết bị nguyên vật liệu: Nhà xưởng, Cửa hàng, máy ôtô, Mặt hàng, nguyên liệu .... Về tổ chức và cơ cấu: Phòng ban, Phân xưởng, Khoa, Bộ môn, Lớp,.v.v... Các dữ liệu phản ánh các sự kiện trong hoạt động kinh doanh như : Các giao dịch: Đặt hàng, Đăng kí, Giao hàng, Thanh toán,... Các báo cáo, tổng kết thống kê. Trên một góc nhìn khác, lại có thể phân chia các dữ liệu thành : Các dữ liệu sống: là các dữ liệu phản ánh thực tế hiện tại và đang được sử dụng. Các dữ liệu này phải luôn luôn được cập nhật cho khỏi lạc hậu với thực tế. Ví dụ : Lý lịch các nhân viên đang tại chức, Đơn hàng đang xử lý (chưa hoàn tất). Các dữ liệu lịch sử: là các dữ liệu phản ánh quá khứ của hệ thống kinh doanh dịch vụ, được chuyển sang lưu giữ, không cập nhật, không dùng trong các tính toán xử lý, và chỉ có thể tham khảo khi cần. Thường thì các dữ liệu lịch sử được lưu trên bộ nhớ tách biệt với các dữ liệu sống (cho nên thường được gọi là “Cơ sở ngoài luồng”). Ví dụ: Hồ sơ về các nhân viên đã ra khỏi cơ quan, Đơn hàng đã hoàn tất, tài khoản đã đóng ... Phân loại các thuộc tính theo đặc điểm về giá trị của nó Xét về đặc điểm của giá trị mà thuộc tính có thể nhận, thì ta có thể phân loại dựa trên hai tiêu chí sau: Thuộc tính tính toán hay thuộc tính không tính toán ; Thuộc tính vững bền hay thuộc tính không bền vững. Thuộc tính tính toán là thuộc tính mà giá trị của nó thu được bởi sự tính toán theo một công thức (hay quy trình) xuất phát từ giá trị của một hoặc một số thuộc tính khác. Ví dụ: Thành tiền = đơn giá x số lượng Nhớ rằng hai yêu cầu đối với lược đồ về khái niệm dữ liệu là các thông tin phải đủ và không dư thừa. Thế thì các thuộc tính tính toán là dư thừa, vậy về nguyên tắc là không được đưa vào lược đồ. Tuy nhiên các thuộc tính tính toán không phải là không có ích. sau này đến giai đoạn thiết kế, khi xét thêm hai yêu cầu mới là: Tiện lợi và nhanh chóng, thì rất có thể là lại phải đưa chúng vào cơ sở dữ liệu. Vậy ở giai đoan phân tích, ta hãy ghi nhận chúng lại để sau này trở lại xem xét, thậm chí nếu thấy vai trò của chúng là không thể thiếu. Thuộc tính không tính toán (còn được gọi là thuộc tính nguyên thuỷ ) là thuộc tính mà giá trị của nó được cung cấp từ bên ngoài hệ thống (không thể suy ra được từ bên trong hệ thống ). Thuộc tính bền vững là thuộc tính mà giá trị của nó khi đã có thì không thay đổi được nữa. Ngược lại là thuộc tính không bền vững. Phối hợp hai tiêu chí trên, ta có bốn loại thuộc tính : Thuộc tính tính toán và bền vững, chẳng hạn : Tổng tiền của một hoá đơn, Tiền lương (của một nhân viên trong tháng hiện tại ). Thuộc tính tính toán và không bền vững, chẳng hạn: Lượng hàng tồn kho, Số dư tiết kiệm. Thuộc tính không tính toán và bền vững, chẳng hạn: Ngày sinh, Giới tính (của một người ). Thuộc tính không tính toán và không bền vững, chẳng hạn: Số các con của một nhân viên, địa chỉ một khách hàng. Các thuộc tính khoá,thuộc tính kết nối và các liên kết Một kiểu thuộc tính khoá của một kiểu thực thể là một kiểu thuộc tính mà giá trị của nó tương ứng với mỗi thực thể là riêng biệt cho thực thể đó.Vậy khoá cho phép chỉ định mỗi thực thể,cho phép phân biệt các thực thể với nhau. Trong bước đầu phân tích, có thể chưa cần quan tâm vội đến việc chọn khoá. Song cuối cùng thì trong lược đồ dữ liệu hoàn chỉnh , mỗi kiểu thực thể đều phải có khoá. Thuộc tính khoá có thể chọn trong số các thuộc tính tự nhiên, miễn là giá trị của nó là khác biệt cho mỗi thực thể. Chẳng hạn nếu tên chính thức cho mỗi công ty đều đã được đăng ký với nhà nước và bảo đảm không trùng lặp, thì có thể lấy Tên công ty làm khoá cho các công ty. Nếu trong một khách sạn, các phòng được sơn màu sắc khác nhau, thì có thể lấy màu làm khoá chỉ định các phòng trong khách sạn đó. Tuy nhiên, ít khi tìm được một thuộc tính tự nhiên làm khoá bây giờ người ta dùng thuộc tính khóa nhân tạo ấy là các mã, các số hiệu, như là mã hàng, Số hiệu đơn hàng... Trong một kiểu thực thể, một kiểu thuộc tính được gọi là kiểu thuộc tính kết nối (hay là còn gọi là một tham chiếu) nếu nó không phải là khoá của kiểu thực thể đó, nhưng lại là khoá của một kiểu thực thể khác. Sau khi đã có tập hợp các kiểu thực thể, thì ta cần nghiên cứu phát hiện các kiểu liên kết giữa hai kiểu thức thể. Việc tìm các kiểu liên kết có thể làm theo hai cách: Dựa trên ý nghĩa các kiểu thực thể ( thực thể trong đó, có thể đóng vai trò gì?), dựa theo các quy tắc quản lý hay các quy trình giao dịch mà ta phát hiện ra các kiểu liên kết. Ví dụ: Quy trình bán hàng bắt đầu bằng một khách hàng đưa đến đơn đặt hàng. Từ sự kiện ta phát hiện ra có mối liên quan giữa khách hàng và đơn hàng. Tìm trên danh sách các kiểu thuộc tính của các kiểu thực thể (đã lập ở bước trước) hoặc tìm trên các chứng từ giao dịch, ta có thể phát hiện ra các tham chiếu. Mỗi tham chiếu là biểu hiện cho một kiểu liên kết. Ví dụ: Xem các Đơn hàng, ta thấy đơn hàng nào

Các file đính kèm theo tài liệu này:

  • doctailieu.doc