Bài giảng Phân tích và thiết kế hệ thống thông tin
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phân tích và thiết kế hệ thống thông tin", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_phan_tich_va_thiet_ke_he_thong_thong_tin.doc
Nội dung text: Bài giảng Phân tích và thiết kế hệ thống thông tin
- PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN
- Môn học PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN (4 ĐVHT + 1 bài tập lớn) Kiến thức chuẩn bị: + Cơ sở dữ liệu + Ngôn ngữ lập trình Mục đích môn học: + Giới thiệu về phương pháp PTTK HT có cấu trúc + Cụ thể phương pháp luận PTTK có cấu trúc + Giới thiệu các công cụ phân tích + Cách thiết kế một hệ thống. Cách tiếp cận: TopDown Nội dung gồm: Chương 1: Đại cương về các hệ thống thông tin quản lý Chương 2: Khảo sát hiện trạng và xác lập dự án Chương 3: Phương pháp luận phân tích và thiết kế hệ thống Chương 4: Phân tích hệ thống về xử lý Chương 5: Phân tích hệ thống về dữ liệu Chương 6: Thiết kế hệ thống Tài liệu tham khảo: 1. Nguyễn Văn Ba. Phân tích thiết kế HTTT - NXB ĐHQG Hà Nội 3. Thạc Bình Cường. Phân tích thiết kế HTTT – NXB Khoa học và kỹ thuật 4. Đinh Thế Hiển. Phân tích thiết kế HTTT – NXB Thống kê 5. Ngô Trung Việt, Phân tích và thiết kế hệ thống quản lý- kinh doanh – nghiệp vụ, nxb Giao thông Vận tải 6. Lê Tiến Vương, Nhập môn CSDL quan hệ 1
- 7. Nguyễn Bá Tường, Cơ sở dữ liệu lý thuyết và thực hành, Nxb ĐHQG 2
- Mục lục Mục lục 1 Chương I Đại cương về các hệ thống thông tin trong quản lý 4 1. Khái niệm về hệ thống 4 1.1. Hệ thống 4 1.2. Môi trường của hệ thống 4 2. Hệ thống kinh doanh 5 2.1. Hệ thống kinh doanh 5 2.2. Đặc điểm của hệ thống KD 5 2.3. Các thành phần của hệ thống KD 6 3. Hệ thống thông tin quản lý 6 3.1. Khái niệm quản lý 6 3.2. Chức năng của hệ thống thông tin quản lý 7 3.3. Nhiệm vụ của hệ thống thông tin 7 3.4. Vòng đời của hệ thống thông tin 8 3.4. Các bộ phận hợp thành của Hệ thống thông tin 9 4. Các hệ thống thông tin tự động hoá (tin học hoá) 9 4.1. Mức độ tự động hoá 9 4.2. Các phương thức xử lý bằng máy tính 10 5. Các giai đoạn phân tích và thiết kế Hệ thống thông tin 10 5.1. Giới thiệu 10 5.2. Các giai đoạn phân tích thiết kế hệ thống thông tin theo 10 Chương II Khảo sát hiện trạng và xác lập dự án 13 1. Mục đích, yêu cầu của việc khảo sát 14 2. Khảo sát và đánh giá hiện trạng 14 2.1. Nội dung khảo sát và đánh giá hiện trạng 14 2.2. Các mức khảo sát 15 2.3. Các hình thức tiến hành khảo sát 15 2.4. Phân loại và hệ thống hoá thông tin thu thập được 15 2.5. Phát hiện những yếu kém của hiện trạng và những yêu cầu trong tương lai 16 3. Xác định phạm vi, khả năng và mục tiêu của dự án 16 3.1. Xác định phạm vi (khoanh vùng dự án) 16 3.2. Khả năng và hạn chế thực hiện dự án 17 3.3. Mục tiêu của việc tin học hoá 17 3.4. Xác định yếu tố thành công của bài toán 17 4. Phác hoạ giải pháp, cân nhắc tính khả thi 17 4.1. Các mức tự động hoá 17 4.2. Hình thức sử dụng máy tính 17 4.3. Phân tích hiệu quả và đánh giá tính khả thi 18 5. Lập dự trù và kế hoạch triển khai dự án 18 5.1. Hình thành hợp đồng 18 2. Lập dự trù thiết bị 18 3. Lập kế hoạch triển khai dự án 18 Chương 3: Phương pháp luận phân tích thiết kế hệ thống có cấu trúc 19 1. Cách tiếp cận tin học hoá: 2 cách 21 3
- 2. Phân tích thiết kế hệ thống có phương pháp 22 3. Phương pháp luận phân tích thiết kế hệ thống có cấu trúc 22 4. Các phiên bản khác nhau của phương pháp luận phân tích có cấu trúc 23 5. Tổ chức xây dựng hệ thống thông tin 23 Chương 4: Phân tích hệ thống về xử lý 25 1. Mục đích, yêu cầu của giai đoạn phân tích 25 1.1. Mục đích 25 1.2. Cách tiến hành 25 2. Biểu đồ phân cấp chức năng (BFD - Bussiness Function Diagram) 25 2.1. Khái niệm 25 2.2. Các thành phần của BFD 25 2.3. Đặc điểm của biểu đồ phân cấp chức năng 26 2.4. Cách xây dựng BFD 27 3. Biểu đồ luồng dữ liệu (DFD - Data Flow Diagram) 28 3.1. Giới thiệu về DFD 28 3.2 Biểu đồ luồng dữ liệu mức vật lý (Hay các lưu đồ hệ thống) 28 3.3 Biểu đồ luồng dữ liệu (DFD- Data Flow Diagram) 31 3.4. Chuyển từ DFD mức vật lý sang mức logic 43 Chương 5: Phân tích hệ thống về dữ liệu 48 1. Mục đích, yêu cầu của việc phân tích dữ liệu 48 1.1. Mục đích của giai đoạn 48 1.2. Yêu cầu 48 1.3. Phương pháp thực hiện: Có 2 phương pháp tiếp cận: 48 2. Biểu đồ cấu trúc dữ liệu theo mô hình thực thể liên kết (ER entity relation ) 48 2.1. Sơ đồ thực thể 48 2.2. Các thành phần của sơ đồ thực thể 48 2.3. Xây dựng sơ đồ thực thể - liên kết 52 3. Hai cách tiếp cận để thiết kế cơ sở dữ liệu quan hệ 55 3.1. Chuẩn hoá theo hướng phân tích: 55 3.2. Chuẩn hoá theo hướng tổng hợp: 56 4. Xây dựng biểu đồ cấu trúc dữ liệu theo mô hình dữ liệu quan hệ 58 5. Xác định mối quan hệ xây dựng sơ đồ E-R 59 6. Mã hoá các tên gọi: 63 6.1. Khái niệm mã hoá 63 6.2. Chất lượng cơ bản của mã hoá 63 6.3. Các kiểu mã hoá khác nhau 64 7. Từ điển dữ liệu 66 7.1. Khái niệm: 66 7.2. Các hình thức thực hiện từ điển: 67 7.3. Cấu tạo từ điển: 67 Chương 6: Thiết kế hệ thống 69 1. Thiết kế tổng thể 69 1.1. Phân định ranh giới giữa chức năng máy tính và chức năng thủ công 69 1.2. Phân định các hệ thống con của máy tính 71 2. Thiết kế chi tiết về các thủ tục thủ công và và các giao tiếp người - máy 71 2.1. Các chức năng thủ công 71 2.2. Thiết kế đầu vào của thông tin 72 2.4. Thiết kế màn hình chọn 73 4
- 3. Thiết kế chương trình 74 3.1.Đại cương 74 3.2. Các mô đun chương trình 74 3.3. Lược đồ cấu trúc 75 3.4. Đánh giá về lược đồ cấu trúc 76 3.5. Chuyển BLD thành LCT 76 4. Thiết kế cơ sở dữ liệu 78 4. 1. Mục đích 78 4.2. Thành lập lược đồ logic 79 4.2.5. Nguyên tắc truy nhập 83 4.3. Thành lập lược đồ vật lý 84 5. Thiết kế kiểm soát 85 5.1. Giới thiệu 85 5.2. Nghiên cứu kiểm tra thông tin nhập, xuất 85 5.3. Nghiên cứu các giai đoạn tiếp cận phân tích các kiểm soát 86 5.4. Nghiên cứu các khả năng gián đoạn chương trình và phục hồi 87 6. Lập trình, chạy thử và bảo trì 89 6.1. Lập trình 89 6.2. Viết tài liệu hướng dẫn sử dụng 89 6.3. Bảo trì hệ thống 90 5
- Chương I Đại cương về các hệ thống thông tin trong quản lý 1. Khái niệm về hệ thống 1.1. Hệ thống Định nghĩa: Hệ thống là 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. (ví dụ một cỗ máy là một hệ thống các chi tiết liên kết với nhau thực hiện chức năng của cỗ máy ). Nghiên cứu hệ thống là nghiên cứu xem hệ thống biến đổi cái gì, biến đổi như thế nào? Hệ thống Cái vào Cái ra Biến đổi Cịi vào Cịi vào Cịi ra Cịi ra Những yếu tố cơ bản của một hệ thống bao gồm: - Hệ thống luôn có mục tiêu, phải hướng về một mục đích chung - Phần tử trong hệ thống bao gồm các phương tiện, vật chất và nhân lực, mỗi phần tử đều có thuộc tính đặc trưng quyết định vai trò của nó trong hệ thống. - Hệ thống có giới hạn xác định những phần tử trong và ngoài hệ thống, tính giới hạn mang tính chất mở. Trong một hệ thống còn có thể có những hệ thống con. - Giữa các phần tử luôn có mối quan hệ, mối quan hệ này có thể là bản chất vật lý hoặc thông tin, các mối quan hệ quyết định sự tồn tại và phát triển của hệ thống. Mỗi khi thêm bớt phần tử sẽ làm biến đổi các mối quan hệ. - Hệ thống có tính kiểm soát (cân bằng và tự điều chỉnh) điều đó đảm bảo tính thống nhất, ổn định và để theo đuổi mục tiêu của mình. - Hệ thống nằm trong một môi trường, trong đó có một số phần tử của hệ tương tác với môi trường bên ngoài. Để phân biệt môi trường với hệ thống ta cần phải xác định giới hạn của hệ thống về phương diện vật lý hay khái niệm, chính xác hoá các giao điểm của môi trường và hệ thống 1.2. Môi trường của hệ thống Môi trường của hệ thống là tập hợp các phần tử không thuộc về hệ thống nhưng trao đổi thông tin với hệ thống. Việc xác định môi trường (hay còn gọi là khoanh vùng hệ thống) dựa trên mục tiêu cơ bản trên toàn hệ thống. Môi trường 6 Hệ thống
- Hình 1 môi trường và hệ thống VD: Sơ đồ quan hệ giữa Xí nghiệp và môi trường (H.2) NHÀ CUNG CẤP NVL, dịch vụ Dịch vụ NGÂN HÀNG hàng hoá tài chính NVL, dịch vị NVL, dịch vị hàng hoá hàng hoá Dịch vị DịchDòng vị thanh toán tài chính XÍ NGHIỆP tài chính Sản phẩm KHÁCH HÀNG ĐẠI LÝ Hình 2 ví dụ về một hệ thống 2. Hệ thống kinh doanh 2.1. Hệ thống kinh doanh Là khái niệm chung dùng cho các tổ chức kinh tế như nhà máy, xí nghiệp, công ty, tổ chức dịch vụ có mục đích phục vụ cho kinh doanh (business). Kinh doanh có thể vì lợi ích hoặc vì lợi nhuận. Ví dụ: - Các công ty, nhà máy, dịch vụ là các hệ thống kinh doanh vì lợi nhuận - Các trường học, các công trình công cộng, bệnh viện, là các hệ thống kinh doanh vì lợi ích. 2.2. Đặc điểm của hệ thống KD - Có sự tham gia của con người, có sự sáng tạo bằng trí tuệ con người, luôn biến động cạnh tranh không ngừng về số lượng và chất lượng - Mục đích của hệ thống này do con người đặt ra và phục vụ con người 2.3. Các thành phần của hệ thống KD 7
- Hệ quyết định: Hệ quyết định gồm con người, phương tiện, phương pháp để đề xuất các quyết định, các chiến lược kinh doanh, nó có liên quan đến mọi hoạt động của toàn hệ thống. Quá trình ra một quyết định trải qua hai bước: -Tìm hiểu tình hình -Lựa chọn giải pháp Tuỳ theo tầm quan trọng, phạm vi ảnh hưởng ta chia làm 2 loại quyết định: - Quyết định chiến lược: Là quyết định cho một kế hoạch tổng thể lâu dài, có tính chất định hướng - Quyết định chiến thuật: Quyết định này có tính chất cục bộ có phạm vi hẹp trong thời gian ngắn để hỗ trợ cho quyết định chiến lược Hệ tác nghiệp: Hệ tác nghiệp bao gồm con người, phương tiện trực tiếp thực hiện các nhiệm vụ của hệ thống kinh doanh để đạt mục tiêu đã xác định. Hệ thống thông tin: Bao gồm con người, phương tiện và phương pháp tham gia vào quá trình thu thập, lưu trữ, xử lý thông tin đảm báo mỗi quan hệ giữa hệ quyết định và hệ tác nghiệp. Thông tin bao gồm: -Những thông phản ảnh tình trạng hiện thời của hệ thống (tình trạng kinh doanh, thông tin về vật tư, thiết bị, nhân sự -Những thông tin vào, ra Hệ QĐ Vào Ra Hệ thống thông tin Hệ tác nghiệp Hình 3 cấu trúc của hệ thống KD 3. Hệ thống thông tin quản lý 3.1. Khái niệm quản lý - Công tác quản lý: - Quản lý như một quá trình biến đổi thông tin đưa đến hành động, là một quá trình tương đương việc ra quyết định . (J.W.Forsester) 8
- - Quản lý bao gồm việc điều hoà các nguồn tài nguyên (nhân lực và vật chất) để đạt tới mục đích (F.Kasat và J.Rosenweig). - Công tác quản lý là một nghệ thuật ứng xử riêng của từng cá nhân lãnh đạo tuỳ thuộc vào hoàn cảnh kinh tế xã hội, tính đa dạng của môi trường là một nghệ thuật để đạt được một mục đích nào đó thông qua một số người nào đó. - Tri thức quản lý: Là kinh nghiệm thực tế kết hợp với kết quả nghiên cứu khoa học của nhiều ngành trong đó ý nghĩ chủ quan đóng vai trò quan trọng. - Các tố cơ bản cuả công tác quản lý:- Hướng tới mục đích - Thông qua con người - Sử dụng các kỹ thuật - Bên trong một tổ chức - Các chức năng quản lý: -Vạch kế hoạch -Tổ chức thực hiện -Bố trí cán bộ -Lãnh đạo -Kiểm soát 3.2. Chức năng của hệ thống thông tin quản lý - Hệ thống thông tin phải hỗ trợ cho các nhà quản lý để họ có thể đưa ra những sách lược, chiến lược trong việc chỉ đạo. - Thông tin phải mềm dẻo thích ứng được với những thay đổi và nhu cầu về thông tin bằng cách điều chỉnh những khả năng xử lý của hệ thống. - Nhu cầu thông tin ở các mức quản lý khác nhau: Phân tích xu hướng C. lược Kế hoạch, điều chỉnh Sách lược Báo cáo định kỳ Tác nghiệp Xử lý giao dịch Thừa hành Hình 4 Các mức nhu cầu thông tin 3.3. Nhiệm vụ của hệ thống thông tin - Đối ngoại: Trao đổi thông tin với môi trường bên ngoài 9
- - Đối nội: HTTT là cầu nối liên lạc giữa các bộ phận của hệ thống kinh doanh. Nó cung cấp cho bộ phận quyết định và bộ phận tác nghiệp các thông tin phản ánh tình trạng nội bộ của cơ quan, tổ chức trong hệ thống và tình trạng hoạt động kinh doanh của hệ thống. 3.4. Vòng đời của hệ thống thông tin Giai đoạn Giai đoạn Hình thành Phát triển Giai đoạn Giai đoạn Thoái hoá Khai thác Hhình 5 Vòng đời của hệ thống thông tin - Giai đoạn hình thành: Một ai đó có ý tưởng về hệ thống thông tin có thể giúp cung cấp thông tin được tốt hơn. - Giai đoạn phát triển: ý tưởng trở thành thực tế, nhà phân tích hệ thống, người lập trình và người sử dụng cùng làm việc với nhau để phân tích các nhu cầu xử lý thông tin và thiết kế ra hệ thống thông tin. Đặc tả thiết kế được chuyển thành các chương trình và hệ thống được cài đặt. - Giai đoạn khai thác: Sau khi cài đặt, hệ thông tin bước vào giai đoạn sản xuất và đi vào vận hành bình thường phục vụ cho nhu cầu thông tin của công ty. Giai đoạn khai thác là giai đoạn dài nhất trong cả 4 giai đoạn (thường kéo dài từ 4-7 năm). Trong giai đoạn này hệ thông tin liên tục được sửa đổi hoặc bảo trì để giữ nó thay đổi cùng với nhu cầu của công ty. - Giai đoạn thoái hoá: Việc tích luỹ những thông tin biến đổi, tăng trưởng làm ảnh hưởng đến tính hiệu quả của hệ thống. Hệ thống thông tin trở thành rắc rối đến mức không thể bảo trì được nữa, việc duy trì nó không còn kinh tế và hiệu quả nữa. Lúc này nó sẽ bị loại bỏ và chấm dứt vòng đời hệ thống ta phải xây dựng hệ thống mới. Tuy vậy, có thể một số mô đun được tái sử dụng trong hệ thống mới. Việc xác định vòng đời hệ thống dẫn tới việc cần đưa cả yếu tố loại bỏ hệ thống vào ngay trong quá trình phát triển hệ thống. 10
- 3.4. Các bộ phận hợp thành của Hệ thống thông tin Nếu không kể đến con người, phương tiện thì HTTT chỉ gồm 2 bộ phận là: các dữ liệu & các xử lý - Các dữ liệu: Dữ liệu về cấu trúc: Là những sự kiện, quá trình tiến hoá, tăng trưởng, cập nhật được lưu trữ tương đối ổn định. Dữ liệu kinh doanh: Những thông tin về hoạt động giao dịch, thường là những tập dữ liệu có cấu trúc (hoá đơn chứng từ). Thống tin có cấu trúc bao gồm luồng thông tin vào và luồng thông tin ra: Luồng thông tin vào: phân loại các thông tin cần xử lý thành 3 loại: + Thông tin cần cho tra cứu: Các thông tin ít bị thay đổi, thường được cập nhật 1 lần. + Thông tin luân chuyển chi tiết: là loại thông tin hoạt động của đơn vị, khối lượng thông tin thường lớn, cần phải xử lý kịp thời + Thông tin luân chuyển tổng hợp: là loại thông tin được tổng hợp từ các cấp thấp hơn, thông tin này thường cô đọng xử lý theo kỳ hay theo lô Luồng thông tin ra: + Thông tin đầu ra được tổng hợp từ thông tin đầu vào, phụ thuộc vào nhu cầu quản lý trong từng trường hợp cụ thể, từng đơn vị cụ thể. + Thông tin đầu ra quan trọng nhất là các tổng hợp, thống kê, thông báo. - Các xử lý: - Là các chức năng, quy trình, phương pháp, thủ tục xử lý cho phép thu thập, lưu trữ, tìm kiếm, chế biến thông tin, thực chất là biến đổi từ tập thông tin vào thành tập thông tin ra - Các chức năng xử lý trong hệ thống có tính liên hoàn với nhau trong đó đảm bảo sự thống nhất, an toàn tránh sự cố 4. Các hệ thống thông tin tự động hoá (tin học hoá) 4.1. Mức độ tự động hoá Hệ thống tự động hoá có thể theo hình thức: - Tự động hoá toàn bộ: Hệ thống được xử lý hoàn toàn tự động bằng máy tính trong đó con người chỉ đóng vai trò phụ trong hệ thống. - Tự động hoá một phần (bộ phận): Hệ thống được chia thành hai phần công việc phần xử lý giữa con người (thực hiện thủ công) và phần thực hiện trên máy tính (không tính những công việc con người phục vụ máy tính. Việc tự động hoá một hệ thống kinh doanh có thể làm với hai cách: - Phương pháp "hồ": Sử dụng máy tính tập trung bao trùm toàn bộ hệ thống 11
- - Phương pháp "giếng": áp dụng máy tính cho từng bộ phận riêng rẽ, cho từng phạm vi nhất định. Tin học hoá toàn bộ là mục đích cuối cùng nhưng không phải bao giờ cũng thực hiện được, mà nhiều khi người ta phải tiến hành tin học hoá bộ phận trước. 4.2. Các phương thức xử lý bằng máy tính - Xử lý theo lô (batch processing): thường dùng trong các trường hợp sau: - Xử lý có tính chất định kỳ, (in các báo cáo, kết xuất, thống kê) - Trong trường hợp in các giấy tờ có số lượng lớn - Xử lý trực tuyến (on-line processing): Các giao dịch phát sinh, các thông tin đến được cập nhật và cần tự động xử lý ngay. Thí dụ: Bán vé máy bay, vé tàu, cung cấp thông tin trên INTERNET +Ưu điểm của xử lý trực tuyến: - Giảm được công việc giấy tờ, các khâu trung gian - Kiểm tra được sự đúng đắn của dữ liệu ngay sau khi nhập - Cho trả lời nhanh chóng +Nhược điểm: - Xây dựng hệ thống tốn công sức, thời gian, chi phí đắt hơn cả về phần cứng và phần mềm - Xử lý không kịp khi khối lượng thông tin vào ra lớn - Dễ bị nhầm lẫn. - Khó phục hồi dữ liệu (vì dữ liệu luôn trên dòng dữ liệu) Thông thường một hệ thống có cả hai chế độ xử lý trên và có sự điểu khiển chuyển đổi giữa hai phương thức để thực hiện phù hợp với yêu cầu trả lời thông tin. 5. Các giai đoạn phân tích và thiết kế Hệ thống thông tin 5.1. Giới thiệu Phân tích và thiết kế một hệ thống là vấn đề nhận thức một hệ thống. Để phân tích, thiết kế ta phải dùng các phương pháp mô tả. Có nhiều phương pháp nhưng ở Việt Nam sử dụng chủ yếu hai phương pháp: - SADT (Structure Analysis and Design Technology) - MERI (của Pháp) 5.2. Các giai đoạn phân tích thiết kế hệ thống thông tin theo phương pháp SADT (kỹ thuật phân tích và thiết kế có cấu trúc) 12
- How? Mô tả hệ thống Xác định hệ thống thực làm việc như mới thực hiện như thế nào? thế nào? Mức vật lý Mức khái niệm Để hiểu hệ thống Xác định hệ thống làm gì? mới làm gì? What? Cần cải tiến gì? - Giai đoạn 1 xác định vấn đề cơ bản và tính khả thi của dự án: Cần trả lời các câu hỏi như: “Có nên thực hiện không?; Mức độ chi phí bao nhiêu?; Quy mô đến đâu? Cần đưa ra các lập luận để làm xuất hiện mục tiêu của đề án cuối cùng nếu chấp nhận dự án thì phải vạch kế hoạch cho giai đoạn 2. - Giai đoạn 2 phân tích hệ thống: Giai đoạn này ta mô tả hệ thống ở mức khái niệm phân tích sâu sắc hơn các chức năng, dữ liệu của hệ thống cũ (trả lời các câu hỏi là gì?; làm gì?) sau đó đưa ra mô tả khái niệm cho hệ thống mới Khi phân tích dùng các biểu đồ (chức năng nghiệp vụ, luồng dữ liệu, mô hình dữ liệu) - Giai đoạn 3 thiết kế đại thể: Trên cơ sở mô hình khái niệm ở GĐ 2 ta mô tả hệ thống ở mức vật lý, trả lời các câu hỏi làm thế nào? Xác định các hệ thống con, vai trò của máy tính - Giai đoạn 4 thiết kế chi tiết bao gồm: -Thiết kế cơ sở dữ liệu -Thiết kế các thủ tục, các mô đun xử lý -Thiết kế các chức năng chương trình -Thiết kế các mẫu thử -Thiết kế giao diện -Thiết kế các kiểm soát - Giai đoạn 5 cài đặt chương trình - Giai đoạn 6 khai thác và bảo trì Chú ý: Việc phân chia giai đoạn trên chỉ có tính chất tương đối. Đánh giá tương quan giữa các phần công việc có thể có nhiều tiêu chuẩn khác nhau tuỳ theo trình độ tin học từng quốc gia. 13
- VD: ở các nước phương Tây phần công việc từ giai đoạn 1 - 4 được đánh giá từ 50-60%, phần lập trình cài đặt từ 20-30%, còn lại là phần bảo trì. KHẢO SÁT BẢO TRÌ VÀ PHÁT TRIỂN PHÂN TÍCH CÀI ĐẶT THIẾT KẾ XÂY DỰNG Hình 6 Sơ đồ thể hiện các giai đoạn triển khai xây dựng một dự án Câu hỏi chương 1 1/ Tại sao khi xây dựng các HTTT cần phải có phân tích thiết kế hệ thống? 2/ Mục đích của phân tích thiết kế hệ thống? 3/ Nhiệm vụ của HTTT 4/ Vai trò của HTTT trong hệ thống kinh doanh? 5/ Các giai đoạn của quá trình PTTK hệ thống? 6/ Những lĩnh vực nào xử lý theo lô, trực tuyến? 14
- Chương II Khảo sát hiện trạng và xác lập dự án Tiến trình triển khai một dự án Đây là giai đoạn đầu tiên của quá trình phân tích và thiết kế hệ thống, nó quyết định dự án có tồn tại hay không. Các bước tiến hành tổng quát như sau: Khảo sát hiện trạng và thu thập thông tin (Khảo sát ở 4 mức: Thừa hành, quản lý, lãnh đạo, chuyên gia) Phát hiện yếu kém và yêu cầu đặt ra cho tương lai Xác định mục tiêu dự án (cục bộ, toàn bộ) Đánh giá khả năng thực hiện (con người, tài chính, thiết bị, thời gian, không gian, môi trường) Cân nhắc tính khả thi và lựa chọn giải pháp Lập dự trù và triển khai dự án Cho phép giải đáp một số câu hỏi cơ bản sau: + Môi trưởng, hoàn cảnh, các ràng buộc và hạn chế đối với hệ thống đó như thế nào? + Chức năng và nhiệm vụ và mục tiêu cần đạt được của hệ thống đó là gì, tức là người dùng muốn gì ở hệ thống ? + Có thể hình dung sơ bộ một giải pháp có thể đáp ứng được các yêu cầu đặt ra như thế nào? 15
- 1. Mục đích, yêu cầu của việc khảo sát Mục đích: Khảo sát hiện trạng và xác lập dự án là giai đoạn đầu của quá trình phân tích và thiết kế hệ thống. Mục đích của giai đoạn này là tìm được sự mô tả hệ thống bằng văn bản, đề xuất ra phương án thực hiện, cuối cùng là ký được một hợp đồng và hình thành 1 dự án mang tính khả thi (giai đoạn khảo sát còn có thể coi như "Nghiên cứu tính khả thi" hoặc "Nghiên cứu hiện trạng") Việc khảo sát thường được tiến hành qua 2 giai đoạn: - Khảo sát sơ bộ nhằm xác định tính khả thi của dự án. - Khảo sát chi tiết nhằm xác định chính xác những gì sẽ thực hiện và khẳng định những lợi ích kèm theo Các yêu của việc khảo sát: - Khảo sát, tìm hiểu, đánh giá sự hoạt động của hệ thống cũ - Đề xuất các yêu cầu, các mục tiêu và các ưu tiên giải quyết cho hệ thống mới. - Phác hoạ giải pháp mới và cân nhắc tính khả thi của dự án - Lập kế hoạch cho dự án cùng với các dự trù tổng quát. 2. Khảo sát và đánh giá hiện trạng 2.1. Nội dung khảo sát và đánh giá hiện trạng - Tìm hiểu môi trường XH, kinh tế, kỹ thuật của hệ thống, nghiên cứu cơ cấu tổ chức của cơ quan đó - Nghiên cứu 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, nghiên cứu các hồ sơ, sổ sách, các tệp cùng với các phương thức xử lý thông tin trong đó - Thu thập và nghiên cứu các qui tắc quản lý, các qui định, các công thức làm căn cứ cho quá trình xử lý thông tin - Thu thập các chứng từ giao dịch và mô tả các chu trình lưu chuyển và xử lý thông tin và tài liệu giao dịch - Thống kê các phương tiện và tài nguyên đã và có thể sử dụng - Thu thập các đòi hỏi về thông tin, các ý kiến, dự đoán, nguyện vọng trong tương lai Đánh giá phê phán hiện trạng, đề ra hướng giải quyết - Lập sơ đồ tổng thể về hiện trạng 16
- 2.2. Các mức khảo sát Việc tiến hành khảo sát được tiến hành trên 4 mức đối tượng - Thao tác thừa hành: Đó là khảo sát những người trực tiếp với những thao tác của hệ thống. Họ có kỹ năng, nghiệp vụ cao, nhận biết được những khó khăn, phức tạp và nhiều vấn đề chuyên sâu trong công việc. - Điều phối quản lý: Đây là những người quản lý trực tiếp về một mảng công việc nào đó, chẳng hạn quản đốc phân xưởng, họ hiểu được tình hình cơ quan ở thời điểm hiện tại nhưng không có khả năng nhìn nhận được các vấn đề xảy ra trong tương lai - Quyết định của lãnh đạo: Đây là những người ra quyết định nên họ có yêu cầu về các thông tin trợ giúp - Mức chuyên gia cố vấn: Đây là những người nhận thức được sự phát triển và vận động của hệ thống trong những môi trường 2.3. Các hình thức tiến hành khảo sát Có nhiều hình thức khảo sát, chúng được sử dụng kết hợp để nâng cao hiệu quả, tính xác thực, tính khách quan, tính toàn diện của việc khảo sát. (1)- Quan sát, theo dõi, ghi chép (gồm quan sát chính thức và không chính thức): - Chính thức: Có chuẩn bị, có thông báo trước cho đối tác chuẩn bị thông tin trả lời theo yêu cầu của người khảo sát. - Không chính thức: Không thông báo trước cho đối tác chuẩn bị thực hiện bất kỳ lúc nào, ở đâu Với quan sát không chính thức thường cho kết luận chính xác hơn, tuy vậy cách này rất mất thời gian, thường làm việc với những người đã làm việc lâu ở đó để diễn tả cho mình. (2)- Phỏng vấn: Đưa ra nhiều loại câu hỏi, câu hỏi trực tiếp, câu hỏi đóng (liệt kê tất cả các phương án trả lời theo kiểu trắc nghiệm), câu hỏi mở có tính chất gợi ý. (3)- Nghiên cứu tài liệu, các tài liêu gồm: - Các báo cáo nghiệp vụ - Qui chế về chức năng, nhiệm vụ - Quy định, nội qui - Các sổ sách thông tin chi tiết giao dịch hàng ngày (4)- Dùng bảng hỏi, phiếu điều tra: Gửi phiếu điều tra cho đối tác thu thập trả lời xử lý gián tiếp không có sự trao đổi tranh luận. Phương pháp này thường nhanh, rẻ tiền nhưng độ tin cậy thấp. 2.4. Phân loại và hệ thống hoá thông tin thu thập được -Thông tin hiện tại phản ánh chung về môi trường, hoàn cảnh, các thông số có lợi ích cho việc tìm hiểu, nghiên cứu hệ thống trong quá khứ và hiện tại. 17
- - Thông tin cho tương lai phải được khảo sát tỉ mỉ và chặt chẽ. Những thông tin này bao gồm những thông tin được phát biểu ra chẳng hạn những lời ca thán, phàn nàn, mong muốn, có loại thông tin có ý thức nhưng không được phát biểu ra, trường hợp này phải gợi ý để lấy được lời phát biểu chính thức, có những thông tin vô ý thức, đấy là những phát biểu không rõ ràng, mập mờ, cần phải dự đoán để nhận được những thông tin đó. - Thông tin tĩnh (có thể các thông tin sơ đẳng, cấu trúc hoá): Như hồ sơ các phòng ban, cá nhân (họ tên, chức vụ, năm sinh). - Thông tin động: Hành trình của thông tin trong hệ thống. Động về thời gian là thời điểm thay đổi, xử lý, kiểm tra thông tin. Động về không gian là con đường di chuyển thông tin trong hệ thống. - Thông tin biến đổi: Các qui tắc quản lý, quy định của Nhà nước, của cơ quan làm nền cho việc tính toán, xử lý, kết xuất thông tin. - Thông tin môi trường và thông tin nội bộ. Thông tin môi trường để phân biệt được đâu là phần tử trong hệ thống, đâu là phần tử ngoài hệ thống. Dù thông tin về môi trường không liên quan đến hệ thống nhưng có ảnh hưởng lớn đến hệ thống ta không thể bỏ qua không xem xét kỹ - Xem xét sơ bộ các thông tin nhận được trên 4 khía cạnh sau: - Số lượng - Tần suất sử dụng - Độ chính xác - Thời gian sống 2.5. Phát hiện những yếu kém của hiện trạng và những yêu cầu trong tương lai + Yếu kém - Hệthống thiếu cái gì, (chức năng, phương tiện, nhân lực) - Kém hiệu quả, hiệu suất công việc thấp - Phương pháp xử lý không chặt chẽ, di chuyển thông tin vòng vèo - Cơ cấu tổ chức bất hợp lý - Giấy tờ, tài liệu trình bày kém gây ùn tắc làm cho hệ thống quá tải, gây tổn phí về vật tư, thiết bị, con người + Yêu cầu nảy sinh - Khắc phục những yếu kém trên - Những yêu cầu về thông tin chưa được đáp ứng - Những nguyện vọng của nhân viên - Các dự kiến và các kế hoạch phát triển về quy mô của đơn vị 3. Xác định phạm vi, khả năng và mục tiêu của dự án 3.1. Xác định phạm vi (khoanh vùng dự án) - Chỉ rõ hệ thống mới tiến hành trong phạm vi nào? + Trong toàn bộ cơ quan (phương pháp hồ) 18
- + Trong từng bộ phận (phương pháp giếng). Nên khảo sát tổng thể trước khi khoanh vùng nơi thực hiện tin học hoá. - Đánh giá từng phương pháp: + ưu điểm của phương pháp hồ là nhất quán trong xử lý, cơ sở dữ liệu tập trung nên tránh được dư thừa dữ liệu, tuy nhiên tốc độ xử lý sẽ chậm, cài đặt phức tạp + Với phương pháp giếng thì dễ thực hiện nhưng khó phát triển hệ thống con thành hệ thống tổng thể. Chú ý: Một HTTT thường khá phức tạp mà không thể thực hiện trong một thời gian nhất định bởi vậy cần hạn chế một số ràng buộc để hệ thống mang tính khả thi nhất định. Tại thời điểm này cần xác định các mục tiêu cho dự án, chính các mục tiêu này là thước đo để kiểm chứng và nghiệm thu dự án sau này. 3.2. Khả năng và hạn chế thực hiện dự án Xét trên 5 mặt sau: - Về mặt tài chính: Kinh phí cho phép triển khai. - Về con người: Khả năng quản lý, nắm bắt kỹ thuật mới, khả năng về đào tạo, tiếp nhận công nghệ mới - Về trang thiết bị kỹ thuật cho phép - Về mặt thời gian: Các ràng buộc của các hệ thống về thời gian hoàn thành. - Về môi trường: Các yếu tố ảnh hưởng về môi trường, xã hội. 3.3. Mục tiêu của việc tin học hoá - Khắc phục yếu kém hệ thống cũ - Đáp ứng được yêu cầu trong tương lai - Mang lại lợi ích kinh tế - Thoả mãn được hạn chế về chi phí và con người - Thể hiện được chiến lược phát triển lâu dài 3.4. Xác định yếu tố thành công của bài toán - Mục tiêu quản lý: Được chỉ ra bằng cụm danh động từ thể hiện tóm tắt các qui trình quản lý cơ bản - Yếu tố thành công của bài toán (CSF – Critical Successful Factor): Được thể hiện bằng một danh từ, đây là các thông tin đầu ra phải có mặt của hệ thống. 4. Phác hoạ giải pháp, cân nhắc tính khả thi 4.1. Các mức tự động hoá - Tổ chức lại các công việc thủ công - Tự động hoá việc xử lý tin nhưng không làm thay đổi cơ cấu tổ chức - Tự động hoá kèm theo thay đổi tổ chức 4.2. Hình thức sử dụng máy tính - Xử lý theo mẻ hay trực tuyến (offline or online) 19
- - Xử lý tập trung/phân tán 4.3. Phân tích hiệu quả và đánh giá tính khả thi -Tính hiệu quả: + Chi phí + Lợi ích (về kinh tế) - Tính khả thi: + Khả thi về mặt kĩ thuật + Khả thi về tác vụ + Khả thi về chi phí Nguyên tắc chung là đề xuất 1 số phương án để đối sánh 5. Lập dự trù và kế hoạch triển khai dự án 5.1. Hình thành hợp đồng Quyết định hệ thống khả thi hay không và thoả thuận các điều khoản sơ bộ dẫn đến 1 hợp đồng kinh tế và trách nhiệm của các bên tham gia. 2. Lập dự trù thiết bị - Sơ bộ về dự án + Khối lượng dữ liệu cần lưu trữ + Các dạng làm việc: Trực tuyến, từ xa, theo mẻ, + Số lượng người dùng + Khối lượng thông tin cần thu thập, xuất ra - Thiết bị cần có: Máy tinh đơn lẻ hay mạng máy tính, các thiết bị chuyên dụng và các phần mềm đang dùng - Điều kiện mua bán và lắp đặt: Điều kiện về mặt tài chính, điều kiện giao hàng, kế hoạch tập huấn, kế hoạch lắp đặt, đào tạo người dùng 3. Lập kế hoạch triển khai dự án - Lập hồ sơ kế hoạch gồm: Danh sách thành viên nhóm làm việc gồm cả hai bên; các kết quả khảo sát sơ bộ; các phê phán hiện trạng và yêu cầu phát triển trong tương lai; các giải pháp và lựa chọn; kế hoạch triển khai dự án. - Thông qua trao đổi để thảo luận hoàn tất các hồ sơ trên. Sau khi quyết định phân công nhiệm vụ cho từng nhóm hay từng cá nhân thực hiện các giai đoạn tiếp theo. 20
- Chương 3: Phương pháp luận phân tích thiết kế hệ thống có cấu trúc Nội dung: + Phân loại hệ thống tin học / Cách tiếp cận trong việc tin học hoá + Phương pháp phân tích thiết kế hệ thống + Phương pháp luận phân tích thiết kế hệ thống + Tổ chức xây dựng hệ thống Giới thiệu sơ lược một số phương pháp phân tích thiết kế Phân tích thiết kế HTTT là phương pháp luận để xây dựng và phát triển HTTT bao gồm các lý thuyết, mô hình, phương pháp và các công cụ sử dụng trong quá trình phân tích và thiết kế hệ thống. Có nhiều phương pháp khác nhau. Phương pháp SADT (Structured Analysis and Design Technique) – Kỹ thuật phân tích và thiết kế cấu trúc Phương pháp này xuất phát từ Mỹ, ý tưởng cơ bản của nó: Phân rã một hệ thống lớn thành các phân hệ nhỏ và đơn giản. - Được xây dựng dựa trên 7 nguyên lý sau: 1. Sử dụng 1 mô hình 2. Phân tích đi xuống (top down) 3. Dùng một mô hình chức năng và một mô hình quan niệm (gọi là mô hình thiết kế) 4. Thể hiện tính đối ngẫu của hệ thống 5. Sử dụng các biểu diễn dưới dạng đồ hoạ 6. Phối hợp hoạt động của nhóm 7. ưu tiên tuyệt đối cho sở đồ viết - SADT sử dụng các kỹ thuật: + Dòng dữ liệu hay còn gọi là biểu đồ luồng dữ liệu (Data Flow Diagrams) + Từ điển dữ liệu (Data Dictionary) + Tiếng anh có cấu trúc (Structured English) + Bảng quyết định + Cây quyết định 21
- Phương pháp MERISE (Methode pour Rassembler les Ide’es Sans Effort) Phương pháp MERISE là phương pháp phân tích có nguồn gốc từ Pháp, ra đời vào cuối thập niên 70. - ý tưởng cơ bản xuất phát từ 3 mặt cơ bản sau: + Mặt thứ nhất: Quan tâm đến chu kỳ sống của hệ thống thông tin trải qua nhiều giai đoạn ‘Thai ngén’- Quan niệm / ý niệm – Quản trị – Chết, có thể kéo dài từ 10 – 15 năm với các tổ chức lớn. + Mặt thứ hai: Đề cập tới chu kỳ đặc tả hay chu kỳ trừu tượng. Qui trình xử lý được mô tả trên bình diện quan niệm, kế tiếp là trên bình diện tổ chức và cuối cùng là trên bình diện tác nghiệp. + Mặt thứ ba: Liên quan đến chu kỳ của các quyết định - Đặc trưng cơ bản của phương pháp MERISE + Nhìn toàn cục + Tách rời các dữ liệu và xử lý + Tiếp vận theo mức - ưu điểm: có cơ sở khoa học vững chắc - Nhược điểm: Còng kềnh Phương pháp MCX (Methode de xavier castellani) Phương pháp phân tích MCX có nguồn gốc từ Pháp - Một số nét cơ bản về phương pháp phân tích MCX: + Cho phép xây dựng được mô hình tổng quát, chính xác, biểu diễn HTTT hạơc các phân hệ thông tin. + Cho phép phân tích, nắm được dữ liệu, quá trình xử lý và truyền thông các HTTT + Cho phép biểu diễn các xử lý với các lưu đồ và các chương trình, soạn thảo bởi 1 ngôn ngữ giải thuật dùng ở các mức khác nhau. + Cho phép lượng hoá các xử lý. - Các giai đoạn cơ bản của quá trình phân tích: + Phân tích macro + Phân tích sơ bộ + Phân tích quan niệm Phương pháp GALACSI (Groupe d’ Animation et de Liaison pour i’ Analyse et la Conception de syste’me d’ Information) 22
- Phương pháp GLACSI có nguòn gốc từ Pháp. Ra đời tháng 4/1982. Nội dung cơ bản trình bày một tập hợp cá công cụ và ‘nguyên liệu’ để tiến hành các giai đoạn cơ bản sau đây của quá trình phân tích: - Nghiên cứu các hệ thống tổ chức và các hệ thống thông tin tương ứng: nghiên cứu hiện trạng, nghiên cứu khả thi - Phân tích chức năng: mô hình dữ liệu, mô hình xử lý - Phân tích cấu trúc: tổ chức dữ liệu, tổ chức xử lý, môi trường tiếp nhận, giao diện người máy. - Lập trình Nhược điểm của phương pháp này là chưa thử nghiệm nhiều trong thực tế. 1. Cách tiếp cận tin học hoá: 2 cách - Tin học hoá bộ phận - Tin học hoá toàn phần Câu hỏi: + Như thế nào đủ điều kiện tin học hoá toàn phần ? + Hay điều kiện để tin học hoá được + Đề xuất tin học hoá bộ phận hay toàn phần? + Bắt đầu từ đâu trước? Điều kiện để tin học hoá được: + Khối lượng thông tin nhiều (ví dụ: xử lý kho) + Quá trình hoạt động ổn định (ví dụ: việc thu/chi) Tin học hoá toàn phần: + Khi khối lượng thông tin lớn + Mọi việc trao đổi thông tin được làm trong toàn phần Phân loại hệ thống tin học: + Hệ thống mức bộ phận: quản lý kế toán + Hệ thống mức xí nghiệp : giải pháp ERP – quản trị doanh nghiệp + Hệ thống mức toàn ngành Câu hỏi: + Tin học hoá bộ phận Tin học hoá toàn phần: là không tốt Vì: không nhìn thấy được một cách tổng thể, chắp vá + Giải pháp tổng thể: Đưa ra được nền chung nguy cơ không lường trước được việc dùng chung số liệu nên dễ dẫn đến sai + Toàn ngành: tài chính phân ra 3 cấp Cấp 1: cấp TW: đưa ra chính sách, bộ phận điều hành Cấp 2: đưa ra văn bản hướng dẫn của cấp 1: trung gian giữa 1 và 3 Cấp 3: cấp dưới + Mô hình tin học: là mô hình 2 cấp:Cấp dưới chuyến lên cấp trên 23
- 2. Phân tích thiết kế hệ thống có phương pháp Câu hỏi: Thế nào là Có phương pháp: (bản chất là phải trải qua các bước theo phân tích TK HT có 1 phương pháp luận nào đó) phương pháp? Thực hiện các bước theo phương châm làm kỹ 1 bước trước khi chuyển sang bước tiếp theo Câu hỏi: Tại sao làm Làm việc có phương pháp: việc có phương pháp - Tránh sai sót (giảm thiểu mức độ sai sót) lại có hiệu quả hơn ? - Dễ tổ chức quản lý thực hiện (Không quan trọng nắm) - Hiệu quả cao hơn: (yếu tố này quan trọng nhất) Chất lượng tốt hơn không chắp vá Nhanh hơn về tiến độ - Dễ bảo trì 3. Phương pháp luận phân tích thiết kế hệ thống có cấu trúc - Câu hỏi: Vì sao chọn phương pháp luận PTTK có cấu trúc? Phương pháp luận PTTK có cấu trúc có đặc thù gì? - Phân tích hệ thống có cấu trúc là cách tiếp cận hiện đại tới các giai đoạn phân tích và thiết kế của chu trình phát triển hệ thống, được chấp thuận để khắc phục các nhược điểm của nhiều cách tiếp cận truyền thống. Nó sử dụng phương pháp luận bao gồm: + Bộ công cụ, kỹ thuật, mô hình để ghi nhận và phân tích hệ thống hiện tại và các yêu cầu mới từ đó xác định khuôn dạng mới theo dự kiến. + Một khuôn khổ chung chỉ ra mỗi giai đoạn sử dụng những công cụ nào và liên quan với nhau ra sao Các đặc thù của phương pháp luận có cấu trúc: (1) Phân tích hệ thống từ 3 phương diện: Chức năng, dữ liệu, luồng dữ liệu (Đây vừa là ưu điểm, vừa là nhược điểm) Ưu điểm: + So với các phương pháp trước đây nó quan sát được cả chức năng và phân tích dữ liệu + Đơn giản hoá được bài toán Nhược điểm: Không xem xét được mối quan hệ giữa dữ liệu và chức năng Khắc phục: + Sinh ra mô hình luồng dữ liệu để gỡ rối cho nhược điểm này + Sinh ra phương pháp luận hướng đối tượng: quan sát cả hành động cả dữ liệu thông tin mà đối tượng đã có (2) Cách tiếp cận TopDown: Xem xét sự vật bắt đầu từ tổng thể chi tiết hoá dần dần từng bước 24
- Mục tiêu quản lý Dùng Làm Dliệu gì? gì? Mô hình Mô hình Phân chức năng dữ liệu tích Mô hình luồng dữ liệu Thiết kế Thiết kế Thiết kế Thiết kế (3) Sử dụng 3 công cụ kinh điển trong phân tích thiết kế - BFD – sơ đồ phân rã chức năng - DFD – sơ đồ dòng dữ liệu - ERD – sơ đồ quan hệ thực thể Cụ thể là xây dựng các sơ đồ: - Sơ đồ chức năng nghiệp vụ (BFD): Chỉ ra các chức năng của hệ thống cần thực hiện - Sơ đồ luồng dữ liệu (DFD): Chỉ ra các chức năng cùng với thông tin cần thiết để thực hiện các nhiệm vụ đó -Sơ đồ cấu trúc dữ liệu (ERD): Chỉ ra các thực thể và mối quan hệ giữa các thực thể trong cơ sở dữ liệu. 4. Các phiên bản khác nhau của phương pháp luận phân tích có cấu trúc Chung: + BFD – sơ đồ phân rã chức năng + ERD – sơ đồ quan hệ thực thể Khác nhau: + Các bước thực hiện (hay số lượng bước) + Các công cụ xử dụng để thể hiện luồng dữ liệu 5. Tổ chức xây dựng hệ thống thông tin - Phải có ban quản trị dự án Câu hỏi: Người quản lý dự án Tin học phải có năng lực thế nào? Trong các năng lực sau chọn cái nào: + Những hiểu biết về tin học + Có khả năng nghiệp vụ + Năng lực quản lý 25
- Quản trị dự án cần quan tâm + Có khả năng nghiệp vụ + Năng lực quản lý Năng lực quản lý: + Xác định mục đích nhanh + Biết điều phối, chỉ ra kế hoạch + Biết việc Lập kế hoạch: + Năng lực của từng cá nhân Kiểm soát + Chi phí Quản lý tài chính Quản trị dự án: chia làm 2 khối Phía lập trình Phía người dùng Quản trị dự án Quản trị dự án: 3 yếu tố + Phân tích, thiết kế + Người hiểu được cả lõi qui trình nhiệm vụ, đại + Lập trình viên diện cho quyền lợi bộ phận điều hành Kỹ sư trưởng + Đại diện cho bộ phận thực hiện Lập trình viên + ảnh hưởng + TestCase Việt Nam: Đa số không có bộ phận làm công việc kiểm chứng chuyên nghiệp Câu hỏi: Trong trường hợp không có bộ phận Test thì dùng đơn vị nào làm? - Nên nhờ người sử dụng - Hay dùng người phân tích - Không cho người lập trình viên làm vì người ta chỉ nhìn nhận hệ thống về mặt kỹ thuật chứ không nám được nghiệp vụ Kỹ sư trưởng làm gì? - Nắm về công cụ tham gia với thiết kế để làm công cụ lắp ghép các modul khác nhau vào hệ thống 26
- Chương 4: Phân tích hệ thống về xử lý 1. Mục đích, yêu cầu của giai đoạn phân tích 1.1. Mục đích - Nhận diện và phân định các thành phần và mối quan hệ trong hệ thống - Đầu vào của giai đoạn này là hồ sơ kết quả của khảo sát hệ thống - Đầu ra bao gồm: + Biểu đồ chức năng nghiệp vụ (BFD - Bussiness Function Diagram) + Biểu đồ dòng dữ liệu (DFD - Data Flow Diagram) + Biểu đồ cấu trúc dữ liệu (ERD – Entity Relational Diagram) 1.2. Cách tiến hành - Xuất phát từ hệ thống cũ và các nhu cầu phát triển để xây dựng hệ thống mới - Chuyển từ mô tả vật lý sang mô tả logic hay nói cách khác là chuyển từ mức vật lý sang mức khái niệm. - Sử dụng kĩ thuật phân tích từ trên xuống (Top-down) hay đi từ tổng thể đến chi tiết. Phân tích hệ thống thành 2 giai đoạn con là phân tích hệ thống về xử lý và phân tích hệ thống về dữ liệu. - Có thể tóm tắt giai đoạn phân tích hệ thống về xử lý thông qua lược đồ "How-What" Mô tả hệ thống làm Mô tả hệ thống mới How? việc như thế nào? làm việc như thế nào? Mô tả hệ thống Mô tả hệ thống mới What? làm việc gì? làm việc gì? Mô tả hệ thống làm việc gì chỉ ra nhược điểm của hệ thống cũ Mô tả hệ thống mới làm việc như thế nào chỉ ra ưu điểm của hệ thống mới. 2. Biểu đồ phân cấp chức năng (BFD - Bussiness Function Diagram) 2.1. Khái niệm BFD là việc phân rã có thứ bậc đơn giản các chức năng của hệ thống trong miền khảo cứu thành các chức năng nhỏ hơn, cuối cùng thu được một cây chứcnăng. 2.2. Các thành phần của BFD 27
- - Ký hiệu chức năng là một hình chữ nhật bên trong Quản lý kho là tên chức năng - Liên kết các chức năng là đường thẳng -Tên chức năng là Động từ - bổ ngữ và động từ nên ở dạng thức mệnh lệnh Ví dụ: Quản lý XN Quản lý nhân Quản lý tài chính Quản lý vật tư sự Quản lý hồ sơ Quản lý lao động 2.3. Đặc điểm của biểu đồ phân cấp chức năng - Cung cấp cách nhìn tổng quát về chức năng của hệ thống, phạm vi cần phân tích - BPC trình bày các chức năng của hệ thống ở dạng tĩnh, tức là không thể hiện được mối quan hệ về chuyển giao thông tin giữa các chức năng, không thể hiện trình tự thực hiện xử lý thông tin. - Biểu đồ phân rã chức năng thường được sử dụng để bổ trợ cho việc xây dựng biểu đồ luồng dữ liệu. - Chất lượng của tên đặt cho các chức năng là quan trọng cho thành công của hệ thống. Mỗi chức năng cần có một tên duy nhất, tên nên biểu thị thật sát, đầy đủ ý nghĩa của các chức năng con của chức năng được đặt tên. Tên của chức năng cần phải phản ánh được các chức năng của thế giới thực chứ không chỉ cho hệ thống thông tin. - Biểu đồ này rất gần với sơ đồ tổ chức, tuy nhiên không được lầm lẫn giữa 2 sơ đồ. Ví dụ: Sơ đồ cơ cấu tổ chức của xí nghiệp: Ban giám đốc Phòng tổ chức Phòng KH, tài vụ Phòng vật tư Biểu đồ phân cấp chức năng Quản lý xí nghiệp Quản lý nhân sự Quản lý tài chính Quản lý vật tư 28
- 2.4. Cách xây dựng BFD BFD thể hiện các đầu việc mà hệ thống cần thực hiện để đạt được mục tiêu quản lý (quản lý cái gì?), việc xây dựng dựa trên cơ sở của bước khảo sát, vì vậy khảo sát càng kỹ lưỡng thì việc xác định mô hình chức năng các đầy đủ chính xác. Mục tiêu quản lý Làm gì? Mô hình chức năng Thông tin có trên BFD: - Thể hiện đầy đủ các chức năng mà hệ thống thực hiện - Một chức năng lớn có thể được phân thành các chức năng nhỏ hơn - Việc phân rã được tiến hành theo tiêu chí: + Theo bản chất xử lý (chức năng) + Theo bộ phận thực hiện + Theo dữ liệu phải xử lý Xây dựng biểu đồ chức năng theo các bước sau: - Xem cả hệ thống là 1 chức năng duy nhất, còn gọi là mức 0 - Phân rã khối chức năng ở mức trên thành các chức năng nhỏ hơn ở mức dưới, lần lượt đánh số là mức 1, mức 2, Hệ thống Mức 0 A B C D Mức 1 Mức 2 - Trong mức cao nhất một chức năng chính sẽ là một trong những loại sau: - Quản lý tiến trình sản xuất. - Quản lý cung cấp dịch vụ - Quản lý tài nguyên, tiền vốn - Quản lý con người . . . Từ chức năng chính này chúng ta phân rã thành các chức năng con để hình thành nên một biểu đồ hình cây mà gốc ở trên. 29
- - Thông thường đối với hệ thống lớn cũng không nên có nhiều hơn 6 mức (vì khó theo dõi) và đối với hệ thống nhỏ và trung bình không nên quá 3 mức. - Một chức năng không nên quá 7 chức năng con (khó theo dõi mô hình) - Sơ đồ nên tương đối "cân bằng" theo nghĩa mức của các chức năng con thấp nhất nên được xác định tương đương như nhau. - Phân tích chức năng đưa ra những chi tiết quan trọng mà những chi tiết đó sẽ được dùng nhiều ở những giai đoạn sau của phân tích. 3. Biểu đồ luồng dữ liệu (DFD - Data Flow Diagram) 3.1. Giới thiệu về DFD Khái niệm - DFD diễn tả tập hợp các chức năng của hệ thống và mối quan hệ chuyển giao thông tin giữa các chức năng hay nói khác đi nó cung cấp bức tranh động về hệ thống. - DFD được sử dụng là công cụ cơ bản trong tất cả các giai đoạn phân tích, thiết kế, trao đổi và lưu trữ dữ liệu. Mục đích - Xác định yêu cầu của người sử dụng (NSD) - Lập kế hoạch và minh hoạ các phương án cho nhà phân tích và NSD xem xét - Là công cụ trao đổi giữa nhà phân tích và NSD do tính tường minh của DFD - Làm tài liệu đặc tả yêu cầu hình thức và đặc tả thiết kế hệ thống. Việc diễn tả biểu đồ được chia thành 2 mức: - Biểu đồ luồng dữ liệu mức vật lý: + Trong biểu đồ mức vật lý mô tả tất cả các chức năng xử lý, các phương tiện xử lý, các giá mang thông tin (phương tiện mang, vật mang) cùng với các mối liên quan không gian và thời gian. + Biểu đồ này mô tả hệ thống làm việc như thế nào (trả lời câu hỏi "How?"), do vậy nó dùng trong khảo sát hệ thống hiện tại và thiết kế hệ thống mới - Biểu đồ luồng dữ liệu mức logic (mức khái niệm, hay còn gọi là mức quan niệm) + Biểu đồ này bỏ qua yếu tố vật lý, chỉ tập trung vào mô tả hệ thống làm gì hay nói cách khác nó trả lời câu hỏi "What?" (mô tả hệ thống làm gì?) + Biểu đồ này chỉ quan tâm đến các chức năng nào cần xử lý trong hệ thống và những thông tin liên quan đến chức năng đó. 3.2 Biểu đồ luồng dữ liệu mức vật lý (Hay các lưu đồ hệ thống) . Kí hiệu chung 30
- Hoá đơn xuất . Kí hiệu riêng: Diễn tả chi tiết các thông tin có liên quan đến các thiết bị Trống từ Trang in Danh sách dài Bìa đục lỗ Băng từ Băng giấy Đĩa từ Màn hình . Các kí hiệu xử lý - Kí hiệu chung Tên chức năng - Xử lý thủ công Sửa hồ sơ - Xử lý nhập liệu Phân rã Nhập tệp Chèn tệp Xắp xếp 31
- . Kí hiệu đường truyền Chuyển giao thông tin Đường truyền xa Ví dụ 1: Mô tả bài toán về đăng ký mua hàng và thanh toán được trình bày như sau: Phiếu đăng Nhận đơn Từ chối kí mua hàng Tệp khách Đơn hàng Hoá đơn Phiếu được chấp Tệp hàng thanh toán nhận Ghi Ghi nhận Tệp khách đã Lập hoá Tệp khách đã nhận đơn hàng ghi nhận đơn đơn ghi hoá đơn thanh toán Đơn không giải quyết Phiếu ghi được Tệp khách đã nhận thanh thanh toán toán Khách hàng muốn mua hàng phải gửi 1 phiếu đăng ký cho bộ phận ghi nhận khách hàng, bộ phận này duyệt phiếu đăng kí nếu không giải quyết thì trả lại cho khách hàng, ngựơc lại thì lưu trữ lại phiếu đăng kí. Bộ phận ghi nhận đơn hàng căn cứ vào đơn mua hàng của khách cùng với các phiếu đăng kí đã được duyệt để lọc ra những đơn hàng không thể đáp ứng được và những đơn hàng có thể đáp ứng được. Các đơn này chuyển cho bộ phận lập hoá đơn. Bộ phận lập hoá đơn tra cứu thông tin về hàng cùng với đơn hàng đã chấp nhận viết thành hoá đơn. Một liên trả lại cho khách và 1 liên giữ lại. Bộ phận thanh toán căn cứ vào tờ hoá đơn trên để thanh toán cho khách hàng. Khi thanh toán phải làm thành 2 liên, 1 liên trả lại cho khách, 1 liên lưu trữ lại. (sơ đồ này còn có một cách gọi khác là sơ đồ luân chuyển thông tin trong hệ thống.) 32
- Ví dụ 2: Qui trình xử lý bài toán quản lý kho Nhà cung cấp Bộ phận kho Kế toán kho Đơn vị nhận Lãnh đạo Nhập Hàng hàng PNhập Kho Hàng Xuất hàng Phiếu xuất Tổng hợp tồn Báo cáo thẻ kho thẻ kho Lưu ý: - Xác định xem các bộ phân tham gia xử lý nằm ở cột nào - Vẽ vào ô sẽ nhận thông tin hay sinh ra đầu ra - Giữa 2 hình bình hành không có mũi tên (Các thực thể) - Giữa 2 hình chữ nhật có thể có mũi tên - Có những thông tin gì ở sơ đồ này Các chức năng mà hệ thống phải thực hiện: là hình chưc nhật Thông tin dữ liệu: Hình bình hành Luồng dữ liệu Đơn vị tham gia quản lý: Bộ phận kho, Kế toán kho, Lãnh đạo 3.3 Biểu đồ luồng dữ liệu (DFD- Data Flow Diagram) 3.3.1. Các thành phần của biểu đồ + Chức năng xử lý (Process) + Luồng thông tin (Data Flows) + Kho dữ liệu (Data Store) + Tác nhân ngoài (External Entity) + Tác nhân trong (Internal Entity) Các chức năng xử lý (Process) - Khái niệm: Chức năng là một quá trình biến đổi thông tin -Ký hiệu chức năng 33 năng>
- Tổng hợp tồn - Tên chức năng: Có dạng Động từ + 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ì. Trong thực tế tên các chức năng phải trùng với tên đã đặt cho các chức năng trong sơ đồ chức năng nghiệp vụ. Ví dụ: Ghi hoá đơn, nhập hồ sơ, . . . Luồng dữ liệu (Dòng dữ liệu – Data Flow) - Khái niệm: Đây là luồng thông tin vào hoặc ra của 1 chức năng xử lý. - Ký hiệu luồng thông tin: Là một đường kẻ có mũi tên, trên đó có viết tên của luồng dữ liệu Tên luồng dữ liệu phải là một danh từ, kèm thêm tính từ nếu cần, cho phép hiểu vắn tắt nội dung của dữ liệu được chuyển giao Ví dụ: Hoá đơn đã kiểm tra, Đơn hàng đã duyệt, Hồ sơ sinh viên Luồng dữ liệu thường gắn với 1 chức năng nào đó Trừ 1 số trường hợp cụ thể, nói chung mọi luồng thông tin đều phải có tên. Tên này không nhất thiết phải là duy nhất, theo nghĩa cùng thông tin có thể đi vào một số tiến trình, nhưng đảm bảo rằng các dòng thông tin khác nhau được mang các tên khác nhau. Những thông tin nào có thay đổi thì nên được mang tên đã sửa đổi để biểu thị rõ điều đó. Ví dụ: Hồ sơ Duyệt Hồ sơ đã duyệt hồ sơ Chú ý: Các dòng dữ liệu và tên được gắn cho chúng phải chỉ ra được thông tin "logic" tương ứng chứ không phải là tài liệu vật lý. Kho dữ liệu (Data Store) - Khái niệm: Một kho dữ liệu là một dữ liệu (đơn hay có cấu trúc) được lưu lại để có thể được truy nhập nhiều lần về sau. - Kí hiệu: - Tên kho có dạng Danh từ + tính từ nếu cần và cho phép hiểu một cách vắn tắt nội dung của dữ liệu được lưu dữ. Ví dụ: Hồ sơ cán bộ, hoá đơn nhập, điểm môn học, Danh sách giá 34
- - Liên quan giữa kho và chức năng có các tình huống như sau: + Cất hay ghi dữ liệu vào kho Hiệu Nhập giá cả Danh sách giá Hồ sơ cán bộ + Đọc dữ liệu từ kho Danh sách giá Hồ sơ cán bộ đơn kiếm hàng + Cập nhật dữ liệu trong kho Trong các trường hợp này tên luồng dữ liệu không phải ghi và được hiểu là tên kho Hiệu Bố trí chỉnh kho cho hồ sơ đơn hàng Hồ sơ cán bộ Tệp kho Tác nhân ngoài (External Entity) Là 1 người, 1 nhóm người, 1 tổ chức hay 1 đối tượng (thực thể) ở bên ngoài hệ thống, nhưng có trao đổi thông tin với hệ thống. Sự có mặt của các nhân tố trên sơ đồ chỉ ra giới hạn 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 quan trọng cần hiểu là "ngoài lĩnh vực nghiên cứu" không nhất thiết là bên ngoài tổ chức. VD: việc nghiên cứu hệ thống xử lý đơn hàng 35
- đang được xem xét thì bộ phận kế toán, bộ phận mua hàng và các bộ phận kho tàng có thể đều là nhân tố bên ngoài. Nhân tố bên ngoài là phần sống còn của hệ thống, chúng là nguồn gốc cung cấp thông tin cho hệ thống và là nơi nhận các sản phẩm của hệ thống. - Ký hiệu tác nhân ngoài là một hình chữ nhật - Tên tác nhân ngoài là Danh từ VD: Khách hàng, Nhà cung cấp, sinh viên, Giáo viên, Phòng đào tạo Tác nhân trong (Internal Entity) - Đây là 1 chức năng hay là 1 hệ thống con của hệ thống đang khảo sát được mô tả ở trang khác của biểu đồ. - Ký hiệu: Hình chữ nhật thiếu 1 cạnh, có ghi tên là Động từ kèm bổ ngữ hoặc T/D DM vật tư VD: cung ứng vật tư Mua hàng Bán hàng Chức năng xử lý thủ công Một số chú ý trong biểu đồ luồng dữ liệu: Trong biểu đồ không có 2 tác nhân ngoài trao đổi với nhau Không có trao đổi trực tiếp giữa 2 kho dữ liệu mà không thông qua chức năng xử lý Kho đã có tên, nên luồng dữ liệu vào 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ôngtin ở kho, người ta mới dùng tên cho luồng dữ liệu Vì lí do trình bày nên tác nhân ngoài, tác nhân trong và kho dữ liệu sử dụng nhiều lần có thể được vẽ lại ở nhiều nơi trong cùng biểu đồ để dễ đọc, dễ hiểu hơn 36
- Đối với kho dữ liệu phải có ít nhất 1 luồng vào và ít nhất một luồng ra. Nếu kho chỉ có 1 luồng vào và không có luồng ra là kho “Vô tích sự”, chỉ có luồng ra và không có luồng vào là kho “Rỗng” Tác nhân ngoài không trao đổi với kho dữ liệu mà phải thông qua chức năng xử lý Trong biểu đồ luồng dữ liệu có khi nào không có tác nhân ngoài không ? Tại sao?: 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 sản phẩm thông tin từ hệ thống 3.3.2. Phương pháp xây dựng biểu đồ dòng dữ liệu (DFD) - DFD cũng được chia thành các mức tương ứng với các mức trong biểu đồ phân cấp chức năng (BFD) - Có 3 mức cơ bản được đề cập đến: + Mức 0: BĐồ luồng dữ liệu mức khung cảnh (Context Data Plow Diagram) + Mức 1: Biểu đồ luồng dữ liệu mức đỉnh (Top level Data Plow Diagram) + Mức 2: Bđồ luồng dữ liệu mức dưới đỉnh( Levelling Data Plow Diagram) Biểu đồ luồng dữ liệu mức khung cảnh (Context Data Plow Diagram): Đây là mô hình hệ thống ở mức tổng quát nhất, ta xem cả hệ thống như 1 chức năng. Tại mức này hệ thống chỉ duy nhất có một chức năng. Các tác nhân ngoài và đồng thời các luồng dữ liệu vào ra từ tác nhân ngoài đến hệ thống được xác định Sơ đồ ngữ cảnh bao gồm 1 vòng tròn trung tâm biểu thị toàn bộ hệ thống đang nghiên cứu là một chức năng được nối với mọi tác nhân ngoài hệ thống. Các đường nối thể hiện thông tin vào - ra hệ thống. Ta có thể xây dựng DFD từ sơ đồ ngữ cảnh này. + Sơ đỗ ngữ cảnh (còn gọi là DFD mức khung cảnh - mức 0 ) Ban - Qui chế X Luồng dl2 giám đào tạo hiệu - Yêu cầu quản lý Báo cáo Hệ Thông tin HT cá nhân thố ng Luồng dl1 Luồng dl3 xử lý Thông Y điể báo Học sinh m Biểu đồ luồng dữ liệu mức đỉnh (Top level Data Flow Diagram) - DFD mức đỉnh (mức 1): Đây là sự phân rã trực tiếp từ biểu đồ mức khung cảnh và phải đáp ứng 1 số yêu cầu sau đây khi phân rã: + Bảo toàn các tác nhân ngoài và các luồng thông tin vào/ra của hệ thống + Thay thế 1 chức năng duy nhất của hệ thống bởi nhiều chức năng con 37
- + Bổ sung thêm các luồng dữ liệu nội bộ và các kho dữ liệu cần thiết X C B X K Biểu đồ luồng dữ liệu mức dưới đỉnh ( Levelling Data Plow Diagram) - Các chức năng được định nghĩa riêng từng biểuD đồ hoặc ghép lại thành 1 biểu đồ trong trường hợp biểu đồ đơn giản - Các thành phần của biểu đồ tuân thủ nguyên tắc: + Về chức năng: phân rã CN cấp trên thành CN cấp dưới thấp hơn + Luồng dữ liệu: vào/ra mức trên thì lặp lại ở mức dưới, bổ sung thêm các luồng dữ liệu do phân rã các chức năng và thêm kho dữ liệu + Kho dữ liệu dần dần xuất hiện theo nhu cầu nội bộ + Tác nhân ngoài: xuất hiện đầy đủ ở mức khung cảnh, ở mức dưới không thể thêm gì. - Ví dụ: từ mức đỉnh ta có dưới đỉnh định nghĩa như sau: B = E F C = I J D = H L X K K J E I F X K1 Y K H L - DFD mức dưới đỉnh: Từ mức 2 trở đi, được gọi là mức dưới đỉnh. Khi phân rã chức năng hệ thống từ DFD mức đỉnh, sẽ nhận được biểu đồ mức dưới đỉnh, theo nguyên tắc: + Thay thế 1 chức năng ở mức đỉnh bằng 1 DFD mới có một hoặc một số chức năng, có thể xuất hiện thêm các luồng dữ liệu liên hệ và các kho dữ liệu mới trong biểu đồ + Bảo toàn các tác nhân ngoài với các luồng thông tin vào ra hệ thống - Để dễ theo dõi quá trình phân rã, tiến hành đánh số các chức năng theo kiểu chương/mục 38
- 1.1.1 1.1 1.1.2 1 1.2.1 1.2 2 1.2.2 1.2.3 Số mức phân rã phụ thuộc vào từng bài toán và tuỳ thuộc vào yêu cầu của giai đoạn sau. Cụ thể quá trình phân rã dừng lại khi xác định rõ được chức năng đó là chức năng thủ công hay chức năng máy tính. Ví dụ 1: Hoạt động của quỹ tín dụng Khách hàng muốn vay tiền ở tín dụng, phải làm đơn vay. Đơn này được chuyển đến bộ phận cho vay của quỹ. Bộ phận này tiến hành duyệt đơn vay của khách để trả lời giải quyết cho vay hoặc từ chối. Căn cứ để duyệt do quỹ tín dụng quy định: khi 1 đơn được chấp nhận, quỹ tín dụng thực hiện cho khách vay, đồng thời ghi thông tin vào sổ nợ Khi khách hàng mang tiền đến trả, bộ phận thu nợ tiến hành xác định để phân loại khách trả đúng hạn và không đúng hạn để tính các lãi suất tương ứng và cập nhật vào sổ ghi nợ. Mục tiêu quản lý: - Theo dõi vay: Nhận đơn Duyệt vay Trả lời đơn - Theo dõi thu nợ: Xác nhận trả đúng hạn Xác định kỳ hạn trả Xác nhận trả đúng hạn yếu tố thành công của bài toán: Số nợ BFD của hệ thống như sau: Hoạt động tín dụng Thu nợ Cho vay Xác nhận trả Xác nhận trả Nhận Duyệt Trả lời đúng hạn KH đúng hạn đơn đơn đơn 39
- DFD mức khung cảnh Khách vay Đơn vay Trả lời đơn Hệ thống quỹ tín Hoàn trả dụng DFD mức đỉnh Đơn vay Cho vay Ghi nợ 1 Khách hàng Danh sách nợ Hoàn trả Thu nợ 2 DFD mức dưới đỉnh chức năng 1 Nhận đơn 1.1 Đơn đã nhận Khách vay Đơn vay Duyệt đơn 1.2 Trả lời Đơn trả lời đơn 1.3 Đơn đã duyệt Danh sách nợ 40
- DFD mức dưới đỉnh chức năng 2 Khách vay Trả tiền Cập nhật Trả đúng hạn trả đúng hạn 2.2 Xác định Danh sách nợ loại trả 2.1 Cập nhật trả không Trả không đúng hạn đúng hạn 2.3 Ví dụ 2: Chương trình quản lý Nhân sự - Tiền lương Xây dựng BFD và DFD của bài toán quản lý Nhân sự - Tiền lương của một Công ty với các yêu cầu sau: - Quản lý nhân sự: + Đáp ứng được yêu cầu cập nhật và lưu trữ hồ sơ nhân viên trong công ty (trong đó có cả lương cơ bản và phụ cấp chức vụ nếu có) + Xem lý lịch của bất kỳ nhân viên khi có yêu cầu + Điều chỉnh lý lịch nhân viên: Điều chỉnh thông tin về hồ sơ lý lịch, xoá - Quản lý tiền lương: Để tính lương dựa vào sổ chấm công của các bộ phận và các thông tin về lương cơ bản, hệ số phụ cấp, trong hồ sơ nhân viên. Chương trình cần đáp ứng được: + Nhập sổ chấm công hàng tháng của từng nhân viên + Thay đổi số liệu chấm công + Tính lương theo qui định cho từng nhân viên + Thống kê lương theo từng bộ phận + Thống kê lương toàn đơn vị. quản lý BFD: nhân sự tiền lương quản lý nhân sự quản lý tiền lương thêm hiệu tra t.tin chấm điều báo cáo mới chỉnh nv công chỉnh lương nv nv nv c.công 41
- DFD: + Biểu đồ khung cảnh Thông tin nhân sự Ban giám đốc Yêu cầu Phòng Tổ chức Báo cáo quản lý Yêu cầu nhân sự Thông tin ngày công tiền lương Phòng kế toán Bộ phận chấm công Báo cáo lương + DFD mức đỉnh Ban giám đốc Phòng kế toán Bộ phận chấm Phòng Tổ chức công Quản lý Hồ sơ nhân viên Bảng chấm công Nhân sự Quản lý 1 Tiền lương Hồ sơ nhân viên 2 + DFD mức dưới đỉnh chức năng 1: Thông tin NV mới Ban giám đốc Yêu cầu điều chỉnh Phòng Tổ chức Cập nhật Điều chỉnh hồ sơ NV hồ sơ NV 1.1 1.2 Lưu thông tin Hồ sơ nhân viên Thông tin theo yêu cầu Tra cứu Yêu cầu thông tin Ban giám đốc N.viên Phòng Tổ chức 1.3 Báo cáo kết quả 42
- + DFD mức dưới đỉnh chức năng 2: Qui định mức thưởng, phạt Ban giám đốc Bộ phận chấm công Phòng Tổ chức Thông tin ngày công Chấm Điều công chỉnh 2.1 chấm công 2.2 Bảng chấm công Hồ sơ nhân viên Tính Yêu cầu tính lương lương & Phòng Kế toán Báo cáo Kết quả lương 2.3 Ví dụ tổng hợp: Bài toán cung ứng vật tư ở nhà máy X Hoạt động cung ứng vật tư ở nhà máy X được mô tả như sau: Khi 1 phân xưởng có yêu cầu về vật tư để sản xuất, thì phân xưởng phải lập bản dự trù để gửi lên bộ phận đặt hàng (để đặt hàng). Bộ phận này tiếp nhận bản dự trù của các phân xưởng, tập hợp lại sau đó tiến hành thương lượng với các khách hàng (đã có hoặc chưa có giao dịch). Sau khi thảo luận với khách hàng bộ phận đặt hàng lập đơn hàng và chuyển cho người cung cấp. Người cung cấp mang hàng đến nhà máy giao cho bộ phận nhận hàng, bộ phận này có chức năng nhận hàng của người cung cấp đồng thời phát hàng về cho các phân xưởng. Khi nhận hàng họ phải thực hiện ghi nhận với người cung cấp số hàng đã nhận thông qua các phiếu giao hàng. Do họ không giữ các bản dự trù nên họ không thể tự động phát hàng cho các phân xưởng. Đồng thời họ không nắm giữ đơn hàng nên cũng không thể biết hàng đã nhận có đúng như yêu cầu đặt mua hay không. Do 2 hệ thống đặt hàng và phát hàng hoạt động với nhau như vậy nên nhà máy phải có 1 bộ phận đối chiêú thủ công thực hiện các công việc sau: 1. Đối chiếu hàng đã nhận với đơn hàng để phát hiện những sai lệch để trao đổi với khách hàng. 2. Kiểm tra lại số hàng đã nhận do bộ phận nhận hàng báo lại so với hoá đơn mà khách hàng mang đến để thanh toán, nếu có sai sót phải trao đổi lại với khách hàng. Sau khi hoàn tất thủ tục đối chiếu, bộ phận đối chiếu sẽ thông báo cho bộ phận phát hàng thông tin về các phân xưởng và hàng mà họ đã dự trù. Bộ phận phát hàng sẽ tiến hành giao hàng cho các phân xưởng. 43
- Đồng thời, bộ phận đối chiếu gửi cho bộ phận thanh toán xác nhận số tiền cần phải trả cho người cung cấp. Bộ phận thanh toán giao tiền cho người cung cấp và báo lại cho bên đặt hàng biết là đơn hàng đã giải quyết xong. Thực hiện bài toán Các chức năng chính của hệ thống bao gồm: - Đặt hàng - Nhận và phát hàng - Đối chiếu - Thanh toán Hai tác nhân ngoài là : - Phân xưởng - Người cung cấp (Người CC) BFD Quản lý vật tư Đặt hàng Phát hàng Đối chiếu Thanh toán Tìm Lập In Ghi In Lập Ghi Đối Xác Ghi Khớp người đơn danh nhận danh phiếu nhận chiếu định nhận hoá cung hàng sách hàng sách phát giao đơn đ/c trả đơn cấp đơn về nhận hàng hàng hàng phát tiền & hàng hàng & hàng hàng hàng về nhận DFD mức khung cảnh Thương lượng Đơn đặt hàng NCC Phiếu giao hàng Hoá đơn Dự trù Hệ cung ứng vật tư Tiền Phân xưởng Hoá đơn sai NCC Phiếu phát hàng Hàng sai 44
- DFD mức dưới đỉnh Đơn hàng Dự trù Người CC Phân xưởng Dự trù Thương lượng Khách hàng Tiền trả Đặt hàng Trả Đơn hàng tiền DS đơn hàng hàng Phiếu giao phát hàng Phiếu phát Xác nhận thanh toán Hoá đơn Đối chiếu Danh sách nhận hàng Hàng nhận Địa chỉ phát hàng Nhận & phát hàng 3.4. Chuyển từ DFD mức vật lý sang mức logic 3.4.1. DFD mức vật lý - Trong biểu đồ mức vật lý còn chức các yếu tố vật lý bao gồm các phương tiện, địa điểm, người thực hiện chức năng. - Khi các yếu tố vật lý có mặt trong biểu đồ sẽ gây cản trở cho việc khái quát hoá các chức năng cuả hệ thống, khó hiểu được bản chất của quy trình xử lý. 3.4.2. DFD mức logic Là biểu đồ DFD trong đó không còn chứa các yếu tố vật lý 3.4.3. Cách thức chuyển từ DFD mức vật lý sang mức logic - Loại bỏ các ngôn từ liên quan đến phương tiện, phương thức hay giá mang thông tin. - Loại bỏ các chức năng gắn liền với biện pháp, chỉ giữ lại các chức năng gắn với nội dung (duyệt xem, thương lượng, in ra giấy ) -Tổ chức lại biểu đồ: Có thể gom một số chức năng gần nhau ở mức dưới thành 1 chức năng ở mức trên. 45
- Ví dụ: Bài toán cung ứng vật tư Biểu đồ mức dưới đỉnh của chức năng 1 (Đặt hàng) Đơn hàng NCC Đơn đặt hàng Lập đơn hàng 1.2 In DS đơn hàng Nhà CC đã Dự trù đơn hàng 1.3 chọn số hiêu HĐ dự trù DS đơn hàng Chọn NCC Thương lượng 1.1 Đối chiếu Phân xưởng Người cung cấp Dự trù DFD mức dưới đỉnh chức năng 2 (Phát hàng) Đối chiếu NCC Danh sách Đ/c phát hàng nhận hàng Phiếu giao hàng In DS hàng nhận 2.2 Lập phiếu phát hàng Ghi nhận 2.3 hàng về 2.1 Phiếu phát hàng Ghi nhận giao hàng Hàng đã nhận Phân 2.4 xưởng 46
- DFD mức dưới đỉnh của chức năng 3 (Đối chiếu) Hàng sai DS đơn NCC đặt hàng Đặt hàng Hoá đơn sai Hoá đơn Khớp hoá Khớp đơn và Xác nhận trả đơn hàng đơn hàng & hàng đã 3.3 nhận 3.1 Trả tiền Đơn đã đối chiếu xong Đơn hàng Phát hàng DS hàng nhận Xác định đ/c phát Địa chỉ phát hàng hàng 3.2 DFD mức dưới đỉnh của chức năng 4 (Thanh toán) Xác nhận trả In phiếu 4.1 thanh toán 4.2 Phiếu Xác nhận thanh toán thanh toán Đối chiếu Người CC *Loại bỏ yếu tố vật lý - Phát hiện và loại bỏ các chức năng vật lý: Trong hệ thống có 2 chức năng 1.3, 2.2; đó là 2 chức năng in ấn, loại bỏ 2 chức năng này. - Chọn tên lô gíc phù hợp: Chức năng 4 “trả tiền” đổi thành “thanh toán”; * Cải tiến các thao tác thủ công * Tổ chức lại biểu đồ như sau - Chức năng 1.1 : thành chức năng 1 (Chọn người cung cấp) - Chức năng 1.2 : - 2 (Lầm đơn hàng) - Chức năng 2.1 : - 3 (Ghi nhận hàng về) - Chức năng 3.1, 3.3 : - 4 (Kiểm hàng về) - Chức năng 2.3 : - 5 (Làm phiếu phát hàng) - Chức năng 3.2 : - 6 (Xác định địa chỉ phát hàng) - Chức năng 4.1, 4.2 : - 7 (Thanh toán) 47
- Sau khi loại bỏ các yếu tố vật lý, tổ chức lại các chức năng ta có DFD đã phù hợp như sau: DFD sau khi gộp (ở mức logic) Nhà cung cấp Đơn hàng Hoá đơn Hoá đơn sai Kiểm Lập hàng về đơn hàng 4 2 Xác nhận toán TT Phiếu thanh Đơn hàng Hoá đơn Thanh toán Xác định 7 Số hiệu đơn địa chỉ hàng phát hàng Phiếu giao 6 Dự trù/Đơn hàng phát hàng Ghi nhận Dự trù Địa chỉ Chọn hàng về NCC 3 1 Hàng nhận Lập Thương phiếu lượng Nhà C.cấp phát hàng 5 Nhà cung cấp Dự trù Phiếu phát hàng Phân xưởng 3.4.4. Hoàn thiện DFD của hệ thống mới - Xem xét những nhược điểm của hệ thống cũ, các yêu cầu, mục đích của hệ thống mới - Xem xét DFD của hệ thống cũ để xác định những chỗ thừa, thiếu và những chỗ có biến đổi nhiều. Từ đó thực hiện khoanh vùng một số các thay đổi trong các vùng đã khoanh, có thể các chức năng và vùng dữ liệu theo nguyên tắc sau: - Bảo toàn luồng dữ liệu vào/ra của vùng - Xác định chức năng tổng quát của vùng thay đổi - Xoá toàn bộ biểu đồ ở trong vùng và vẽ lại theo định hướng sau: - Các trung tâm biến đổi vẽ trước - Biến đổi trạng thái từ vào thành ra - Có thể thêm các kho, luồng dữ liệu vào trong hệ thống. 48
- Ví dụ: Bài toán cung ứng vật tư Nhà cung cấp Đơn hàng Hoá đơn Hoá đơn sai Kiểm Lập hàng về đơn hàng 4 2 Xác nhận toán TT Phiếu thanh Đơn hàng Hoá đơn Thanh toán Xác định 7 Số hiệu đơn địa chỉ hàng phát hàng Phiếu giao 6 Dự trù/Đơn hàng phát hàng Ghi nhận Dự trù Địa chỉ Chọn hàng về NCC 3 1 Hàng nhận Lập Thương phiếu lượng Nhà C.cấp phát hàng 5 Nhà cung cấp Dự trù Phiếu phát hàng Tồn kho Phân xưởng CN 5 CN1 Duyệt dự trù Quản 8 lý kho 9 Phân xưởng 49
- Chương 5: Phân tích hệ thống về dữ liệu Nội dung: Mô hình thực thể liên kết ER (Entity Relationship) Mô hình quan hệ (Relation Base Modeling) 1. Mục đích, yêu cầu của việc phân tích dữ liệu 1.1. Mục đích của giai đoạn - Giúp cho việc tổ chức các kho dữ liệu một cách hợp lý, đầy đủ, và chuẩn mực. - Xây dựng được lược đồ cấu trúc dữ liệu (BCD). Trong lược đồ này cho biết được: + Cần lưu trữ những thông tin gì? + Mối liên hệ giữa các thông tin? 1.2. Yêu cầu - Tránh bỏ sót: cần gì phải có đấy - Tránh trùng lặp: Ví dụ đã khai năm sinh không cần phải khai tuổi - Tránh nhập nhằng: Loại bỏ tính đa trị của thông tin - Khi phân tích ta chưa quan tâm đến các yêu cầu về tính sẵn dùng, tính tối ưu trong lưu trữ và truy nhập. 1.3. Phương pháp thực hiện: Có 2 phương pháp tiếp cận: + Dùng mô hình thực thể - liên kết: còn được gọi là cách nhìn từ trên xuống (Top down) và cung cấp cái nhìn trực quan đối với dữ liệu + Sử dụng mô hình quan hệ: Tiếp cận từ dưới lên (BottomUp). Cụ thể: xuất phát từ những thông tin cần phải kết xuất ra để đi ngược lên hình thành lược đồ quan hệ. Cung cấp thông tin ở mức vừa đủ cho yêu cầu xử lý hiện tại. 2. Biểu đồ cấu trúc dữ liệu theo mô hình thực thể liên kết (ER entity relation ) 2.1. Sơ đồ thực thể - Sơ đồ thực thể xác định các đơn vị thông tin cơ sở cần thiết cho hệ thống (các thực thể) và mối quan hệ giữa chúng (điều này có nghĩa là tất cả dữ liệu chỉ lưu trữ một lần trong toàn bộ hệ thống và có thể thâm nhập từ bất cứ chương trình nào). - Trong thực tế có nhiều mô hình biểu diễn, phạm vi chương trình ta nghiên cứu một loại mô hình đó là mô hình quan hệ. Dữ liệu lưu trữ trong hệ thống dưới dạng tập các bảng. Sơ đồ thực thể liên kết sẽ xác định trong hệ thống có bao nhiêu bảng và mối quan hệ giữa chúng. 2.2. Các thành phần của sơ đồ thực thể - Thực thể: Là một đối tượng, một sự kiện cần được lưu trữ thông tin VD: mỗi khách hàng là một thực thể và nó thể hiện bằng một dòng trong bảng 50
- - Kiểu thực thể: Là tập các thực thể có cùng tính chất, mô tả cho một loại thông tin (bản thân nó không phải là thông tin). Trong sơ đồ mô hình E-R, kiểu thực thể được ký hiệu có dạng hình chữ nhật. Nó tương đương với cấu trúc của một bảng. VD: Khách hàng là một kiểu thực thể vì nó mô tả từng thực thể khách hàng -Thuộc tính 1 - Thuộc tính 2 Kiểu thực thể được xác định -Thuộc tính n + Liên quan đến thực thể mang thông tin + Liên quan đến đối tượng quản lý hoặc mang tính thống kê + Thông tin liên quan tới một giao dịch chủ yếu của hệ. (VD: Đơn đặt hàng, ) + Thông tin liên quan đến thuộc tính hoặc tài nguyên của hệ. (VD: Kho, Nhà cung cấp, Khách hàng, ) + Thông tin đã khái quát dưới dạng thống kê liên quan đến lập kế hoạch hoặc kiểm soát. (VD: Bảng lương, lịch điều xe, ) - Thuộc tính: Mỗi thực thể bao gồm nhiều thông tin, mỗi thông tin đó là thuộc tính của thực thể. Có 3 loại thuộc tính bao gồm: + Thuộc tính khoá: Gồm một hay nhiều thuộc tính trong Kiểu thực thể được dùng để xác định duy nhất một thực thể. VD: Thuộc tính Số hiệu khách hàng là thuộc tính khoá cho kiểu thực thể Khách hàng. Điều này có nghĩa là mọi khách hàng trong bảng đều phải có một số hiệu khách hàng khác nhau. Thuộc tính tên khách hàng có thể là một ứng cử viên cho khoá, nhưng bao giờ cũng có khả năng trùng tên giữa hai hoặc nhiều khách hàng. + Thuộc tính mô tả: Hầu hết các thuộc tính trong một kiểu thực thể đều có nhiệm vụ mô tả cho thực thể được nói tới, thông tin này làm tăng hiểu biết của ta về thực thể và phục vụ cho các mục đích quản lý của hệ thống. + Thuộc tính kết xuất: Là thuộc tính mà giá trị của chúng được tính toán từ các thuộc tính khác. + Thuộc tính kết nối (khoá ngoài): Dùng để xác định mối liên kết giữa các kiểu thực thể. Đó là thuộc tính trong mối quan hệ này là thuộc tính khoá nhưng trong mối quan hệ khác chỉ là thuộc tính mô tả. Việc xác định thuộc tính này khá trừu tượng và khó khăn. - Liên kết (mối quan hệ) và kiểu liên kết + Liên kết là chỉ ra 1 sự kết nối có ý nghĩa giữa 2 hay nhiều thực thể phản ánh sự ràng buộc về mặt quản lý. (VD: quan hệ giữa giáo viên với học sinh) + Kiểu liên kết: là tập hợp các liên kết có cùng bản chất 51
- - Các kiểu liên kết: + Liên kết 1-1 1 1 A B Thực thể A gọi là có quan hệ 1-1 với thực thể B VD: Con người Chứng minh thư Sinh viên Thẻ SV + Liên kết 1- n Thực thể A được gọi là liên kết 1-n với thực thể B 1 n Lớp HS VD: lớp có nhiều học sinh;1 học sinh thuộc vào 1 lớp nào đó + Liên kết n- n Thực thể A được gọi là liên kết n-n với thực thể B n n A B VD: Một giáo viên dạy nhiều môn học; 1 môn được dạy bởi nhiều giáo viên Nhân viên Lái xe Sinh viên Công việc Phương tiện Môn học - Để xác định các kiểu liên kết phải dựa vào các liên từ trong mệnh đề diễn tả quan hệ. Ví dụ: có, của, thuộc vào, cho - Trên thực tế khi xử lý mối quan hệ nhiều - nhiều người ta đưa thêm vào 1 thực thể trung gian để tách quan hệ nhiều - nhiều thành 2 quan hệ 1-nhiều (quan hệ n-n là không rõ ràng, dễ nhập nhằng không sử dụng được) n n n n A B A A/B B 52
- Ví dụ 1: Nếu thêm vào thực thể phụ: Lái xe Phiếu điều động Ngày điều động Xe nào Lái xe nào Phương tiện Thì quan hệ trên sẽ được chuyển: Lái xe Phiếu điều động Phương tiện Ví dụ 2: Nhân viên Nhân viên x Bản phân công Công việc Công việc Ví dụ 3: Sinh viên Giáo viên Sinh viên Giáo viên Thời khoá biểu Sinh viên Giáo viên Thời khoá biểu Lớp Trong ví dụ này để phân rã quan hệ n-n phải qua 2 công đoạn, thêm vào thực thể “thời khoá biểu” và “lớp”. 53
- Chú ý: Có 1 số quan hệ dạng đệ qui như sau: + Quan hệ đệ qui 1-n: Một thực thể có thể quan hệ với nhiều thực thể dưới quyền thuộc cùng 1 kiểu, nhưng từng thực thể dưới quyền chỉ có một thực thể cấp trên có liên quan với nó. VD: Kiểu thực thể "Nhân viên" thường chứa 1 quan hệ đệ qui. Nhân viên + Quan hệ đệ qui n-n: Từng thực thể trong bảng có thể có quan hệ với một số các thực thể dưới quyền trong cùng một bảng và cũng có nghĩa là từng thực thể dưới quyền có thể có một số các thực thể cấp trên trong cùng quan hệ. VD: Có một số thửa đất được hợp lại, rồi các thửa này lại được tách ra mới Thửa # Số hiệu thửa chi tiết tách nhập # Số hiệu thửa mới @ # Số hiệu thửa cũ @ 2.3. Xây dựng sơ đồ thực thể - liên kết 2.3.1. Lựa chọn mô hình Hiện nay trong các bài toán vẫn sử dụng chủ yếu là mô hình quan hệ 2.3.2. Phát hiện kiểu thực thể - Từ các nguồn tài nguyên như: vật tư, tài sản, con người, môi trường - Từ các giao dịch: những luồng thông tin đến từ môi trường bên ngoài và làm kích hoạt 1 chuỗi hoạt động nào đó của hệ thống (khi có 1 đơn hàng cung cấp đến thì bộ phận nhận hàng mang hàng đến kho, chuyển qua bộ phận kí nhận, ) - Những luồng thông tin đã cấu trúc hoá (VD: thẻ thư viện, sổ theo dõi kho sách, ) 2.3.3. Phát hiện các kiểu liên kết (1-1; 1-n; n-n) - Chỉ ghi nhận các kiểu liên kết có ích trực tiếp cho bài toán quản lý (VD: Quản lý nhân sự: chỉ để ý đến những liên kết có liên quan đến quản lý nhân sự) 54
- - Để xác định được kiểu liên kết phải căn cứ vào liên từ theo các mệnh đề mô tả về dữ liệu, mô tả về quy trình, quy phạm quản lý và xử lý thông tin. Có các kiểu liên kết sau: 1-1, 1- nhiều, nhiều-nhiều. VD: Quan hệ GV và môn học Giáo viên Môn học + Nếu quy định mỗi giáo viên chỉ dạy 1 môn thì đây là quan hệ 1-nhiều + Nếu mỗi giáo viên dạy nhiều môn thì đây là quan hệ nhiều-nhiều - Trước khi thành lập biểu đồ cấu trúc dữ liệu (BCD) phải giải trình quan hệ giữa các thực thể. - Nếu giữa 2 thực thể có quan hệ nhiều-nhiều thường tách thành 2 cặp quan hệ 1-nhiều bằng cách đưa vào 1 thực thể trung gian. 2.3.4. Phát hiện thuộc tính + Thuộc tính khoá + Thuộc tính mô tả + Thuộc tính kết xuất (thuộc tính này được loại bỏ không đưa vào danh sách. + Thuộc tính kết nối Mã người mua - Mã người mua - Họ tên - Địa chỉ Mã hàng - Mã hàng - Tên hàng Ví dụ minh hoạ: Trở lại bài toán cung ứng vật tư, tiến hành phát hiện các thực thể như sau: (1) Xác định thực thể: - Thực thể mang thông tin: Dự trù, Hoá đơn, Đơn hàng, Giao hàng, Phát hàng - Thực thể là đối tượng quản lý hoặc mang tính thống kê: Người cung cấp, Phân xưởng, Mặt hàng (2) Xác định quan hệ giữa các thực thể (3) Chuẩn hoá các quan hệ (biến đổi các liên kết n-n thành liên kết 1-n) (4) Xác định các thuộc tính của thực thể Ta thu được sơ đồ E-R như sau: 55
- Phân xưởng Phiếu phát hàng Dự trù Đơn hàng Mặt hàng Người cung cấp Hoá đơn Phiếu giao hàng Phân xưởng Phiếu phát hàng * SHPH * SHPX + SHPX Tên PX - Ngày Mô tả Dự trù * SHDT Dòng phát hàng * SHPH + SHPX *MãH Ngày DT - Số lượng Dòng dự trù * SHDT Dòng đơn hàng + MãH * SHĐH Sô lượng * MãH - Số lượng Đơ n hàng * SHđơn - Ngày + SHNCC Mặt hàng MH/NCC Người cung cấp * SHNCC * MãH Tên Tên hàng * SHNCC Địachỉ ĐVT * MãH Đơn giá Phiếu giao h ng Dòng hoá đơn * SốHĐ à * SHGH MãH * SHNCC Soluong Ngày Dòng giao hàng * SHGH Hoá đơn * SốHĐ * MãH * SHNCC - Lượng - Ngày 56
- 3. Hai cách tiếp cận để thiết kế cơ sở dữ liệu quan hệ 3.1. Chuẩn hoá theo hướng phân tích: Thực hiện chuẩn hoá dần dần theo 3 bước 1NF, 2NF, 3NF (1) Đưa về dạng chuẩn 1: tách các thuộc tính lặp (không đơn) - Nhóm các thuộc tính đơn (còn lại) tạo thành 1 quan hệ. Chọn khoá cho chúng. - Nhóm các thuộc tính lặp được tách ra, tăng thêm khoá của quan hệ trên tạo thành 1 quan hệ (hay 1 số quan hệ theo chủ đề). Chọn khoá cho (các) quan hệ này, thường là khoá bội, trong đó khoá của quan hệ trên là một thành phần. => Các quan hệ đều là 1NF (2) Đưa về dạng chuẩn 2 : - Tách các nhóm thuộc tính phụ thuộc hàm vào một phần của khoá. - Nhóm còn lại tạo thành một quan hệ với khoá như cũ - Mỗi nhóm tách ra (gồm các thuộc tính cùng phụ thuộc vào một (hay 1 số) thuộc tính nào đó của khoá) tăng thêm (các) thuộc tính mà chúng phụ thuộc tạo thành một quan hệ, với các khoá là (các) thuộc tính tăng thêm này. = > Quan hệ lập được đều là 2NF (3) Đưa về dạng chuẩn 3 : - Tách các nhóm thuộc tính phụ thuộc hàm vào một (hay một số) thuộc tính ngoài khoá. - Nhóm còn lại tạo thành một quan hệ với khoá như cũ. - Mỗi nhóm tách ra (gồm các thuộc tính cũng phụ thuộc vào một (hay một số) thuộc tính ngoài khoá) tăng thêm (các) thuộc tính mà chúng phụ thuộc, tạo thành một quan hệ, với khoá là (các) thuộc tính tăng thêm này. => Các quan hệ được lập đều là 3NF Ví dụ 1 : Trên một đơn hàng, ta gom được danh sách các thuộc tính như sau : + Các thuộc tính đơn : SH-ĐH SH NCC Tên NCC ĐChỉ NCC NgàyĐH Tổng cộng + Các thuộc tính lặp: Mã MH 57
- Mô tả MH ĐVT SL đặt Đơngiá Thành tiền Các thuộc tính Thànhtiền và Tổng cộng là các thuộc tính tính toán, bị loại khỏi danh sách. + Các PTH tìm được: F = {SH- ĐH -> SH NCC, Tên NCC, DChỉ NCC, Ngày ĐH SH- ĐH, MãH -> MôtảMH, ĐVT, Đơngiá, Sốlượng đặt SH-NCC -> TênNCC, ĐịachỉNCC MãMH -> MôtảMH, ĐVT, Đơn giá } Chứng từ giao dịch: Đơn hàng Danh sách thuộc tính 1NF 2NF 3NF SH-ĐH # SH-ĐH # SH-ĐH # SH-ĐH SH NCC SH NCC SH NCC SH NCC Tên NCC Tên NCC Tên NCC NgàyĐH ĐChỉ NCC ĐChỉ NCC ĐChỉ NCC NgàyĐH NgàyĐH NgàyĐH # SH NCC Mã MH Tên NCC TênMH # SH- ĐH # SH- ĐH ĐChỉ NCC Mô tả MH # Mã MH # Mã MH ĐVT TênMH SL đặt # SH- ĐH Đơngiá Mô tả MH # Mã MH SL đặt ĐVT # Mã MH SL đặt Đơngiá TênMH SL đặt Mô tả MH # Mã MH ĐVT TênMH Mô tả MH ĐVT Cuối cùng ta thu được 4 quan hệ: Đơn hàng (SH-ĐH, SH NCC, NgàyĐ) NgCCấp (SH NCC, tên NCC, địa chỉ NCC) Dòng ĐH (SH-ĐH, MaMH, SL đặt) Mặt hàng (MãMH, TênMH, ĐVT, Mô tả) 3.2. Chuẩn hoá theo hướng tổng hợp: 58
- Cách làm này cho ngay ra các lược đồ quan hệ 3NF mà không qua các giai đoạn 1NF, 2NF (1) Xuất phát từ danh sách các thuộc tính. Tìm các PTTH trong danh sách các thuộc tính đó (2) Lập đồ thị các PTH: - Mỗi thuộc tính trong danh sách là 1 nút - Mỗi nhóm thuộc tính là vế trái của PTH cũng là một nút - Nếu có PTH A->B thì vẽ một cung nối nút A tới nút B (3) Đưa đồ thị về phủ tối thiểu của nó: - Hoặc làm bằng tay, mà biến đổi chủ yếu là loại bỏ các cung kép kín hình tam giác. - Hoặc làm bằng máy tính Trên các đồ thị chỉ còn các PTH trực tiếp (4) Dùng các hình chữ nhật để khoanh vùng trên đồ thị thành các quan hệ như sau: mỗi nút trong (tức là nút con) lấy làm khoá, hợp thành với các con của nó lập thành 1 quan hệ các quan hệ đều là 3NF Ví dụ : F = {SH- ĐH -> SH NCC, Tên NCC, DChỉ NCC, Ngày ĐH SH- ĐH, MãMH -> MôtảMH, ĐVT, Đơngiá, SL đặt SH-NCC -> TênNCC, ĐịachỉNCC MãMH -> MôtảMH, ĐVT, Đơn giá } Thêm các PTH tầm thường SH- ĐH, MãH -> SH- ĐH, MãH SH- ĐH, MãH SH- ĐH SL đặt MãMH Ngày ĐH MôtảMH ĐVT Đơn giá SH NCC TênNCC ĐịachỉNCC Đồ thị PTH lập từ một đơn hàng 59
- SH- ĐH, MãH SH- ĐH SL đặt MãMH Ngày ĐH MôtảMH ĐVT Đơn giá SH NCC TênNCC ĐịachỉNCC Phủ tối thiểu và các quan hệ 3NF từ đơn hàng. 4. Xây dựng biểu đồ cấu trúc dữ liệu theo mô hình dữ liệu quan hệ (Relational Data Model) Mô hình dữ liệu quan hệ (mô hình quan hệ) là mô hình dữ liệu, trong đó sẽ xác định một danh sách các thuộc tính của các bảng thực thể Qui trình thành lập lược đồ dữ liệu cho hệ thống, theo mô hình quan hệ như sau : (1) Thành lập danh sách các thuộc tính gọi là danh sách xuất phát . Có thể xem đây là một quan hệ, với 1 ý nghĩ khỏi quát nào đó, danh sách này không bao trùm được các dữ liệu của toàn hệ thống, bởi vỡ quá trình sẽ cũng được lặp lại với nhiều danh sách xuất phát khác nhau cho đến khi vét cạn các thông tin cần thiết cho hệ thống. Có hai cách tiếp cận cho việc thành lập danh sách xuất phát : - Cách 1 : Đó là tập hợp các thông tin cơ bản, phát hiện được trong một phạm vi điều tra nào đó, mà ta xem là có ích cho công tác quản lý. - Cách 2 : Xuất phát từ 1 hay một số cái ra của hệ thống. Cái ra có thể là : + Một chứng từ hay một tài liệu in ra từ hệ thống + Màn hình trong giao tiếp người / máy. (2) Tu sửa lại danh sách xuất phát, qua các công việc sau: - Loại bỏ các tên đồng nghĩa - Loại bỏ các thuộc tính tính toán Ví dụ: Thành tiền = SLxDG Tổng cộng = Tổng thành tiền - Truy nguyên các thuộc tính dùng để tính toán các thuộc tính đó bị loại trên nếu chúng chưa có mặt trong danh sách - Thay thế các thuộc tính không đơn bởi các thuộc tính đơn. 60
- Ví dụ: Có thuộc tính điểm Toán: thực chất đấy là một dãy kết quả thi lần1, lần2, lần3, lần4. (3) Tìm phụ thuộc hàm trong danh sách các thuộc tính: - Đầu tiên là rà các khả năng có PTH giữa từng cặp các thuộc tính trong danh sách. - Sau đó xét các PTH có vế trái gồm 2, 3 thuộc tính (4) Tiến hành chuẩn hoá dựa trên tập các PTH đó lập được ở trên, sử dụng 1 trong các phương pháp chuẩn hoá đã biết. Kết quả thu được là tập các lược đồ ở 3NF. (5) Lặp lại các bước từ (1) đến (4) cho các danh sách xuất phát khác nhau, cho đến khi quét hết các phạm vi khảo sát. Ta được nhiều tập các lược đồ 3NF. (6) Lấy hợp các kết quả thu được từ các lần lặp trên. Khi lấy hợp như vậy, nếu có 2 quan hệ có khoá trùng nhau, thì chúng ta gộp thành 1 quan hệ với danh sách các thuộc tính là hợp của hai danh sách tương ứng 5. Xác định mối quan hệ xây dựng sơ đồ E-R - Xây dựng Ma trận thực thể/khoá: Để xác định các mối quan hệ trong mô hình ta lập bảng ma trận thực thể/khoá trong đó: + Các cột liệt kê các tập thực thể, các hàng liệt kê các thuộc tính khoá có trong các tập thực thể. + Tương ứng với mỗi ô giao giữa cột và hàng, nếu: * Khoá có trong tập thực thể ta cho dấu X * Nếu không phải là khoá nhưng có xuất hiện trong tập thực thể ta cho dấu O - Thiết lập các mối quan hệ: Căn cứ vào bảng thực thể/khoá ta liệt kê các mối quan hệ theo cách thức sau: Bắt đầu từ Tập thực thể ở cột thứ nhất, từ ô chứa khoá của nó ta chiếu qua các ô kế tiếp của hàng đó để xem ô nào có dấu X hoặc O thì ta sẽ có một liên kết của Tập thực thể đang xét với tập thực thể mà có ô chứa dấu trên cùng một hàng. - Xây dựng mô hình quan hệ Ví dụ: Có 1 đơn hàng bán của một công ty như sau: Công ty XYZ Số hiệu: Đơn hàng bán Ngày: Tên khách hàng: Mã số KH Địa chỉ: Mã số MH Tên ĐV Số lượng Đơn giá Thành tiền T 61
- Tổng số tiền: xxx xxx xxx Khảo sát chọn danh sách các thuộc tính Tinh chỉnh các thuộc tính. Xác định các phụ thuộc hàm Thực hiện quá trình chuẩn hoá: Đơn hàng bán chưa chuẩn hoá 1NF 2NF 3NF Số hiệu đơn Mã số KH Ngày đặt hàng Tên KH Địa chỉ Mã số MH Tên ĐVT Số lượng Đơn giá Chuẩn hoá dạng 1 Ta thấy các thuộc tính: Mã số MH Tên ĐVT Số lượng Đơn giá có thể lặp nhiều lần trong một thực thể đơn hàng, do đó cần loại bỏ và tạo ra tập thực thể mới 62
- Đơn hàng bán chưa chuẩn hoá 1NF 2NF 3NF Số hiệu đơn # Số hiệu đơn Mã số KH Mã số KH Ngày đặt hàng Ngày đặt hàng Tên KH Tên KH Địa chỉ Địa chỉ Mã số MH Tên Tập thực thể mới ĐVT # Số hiệu đơn Số lượng # Mã số MH Đơn giá Tên ĐVT Số lượng Đơn giá Chuẩn hoá dạng 2 Ta thấy mô tả mặt hàng chỉ phụ thuộc hàm vào Mã số MH chứ không phụ thuộc vào toàn bộ khoá là 2 thuộc tính ghép Mã số MH và Số hiệu đơn hàng. Do đó ta lập thêm tập thực thể mới để đạt tiêu chuẩn dạng 2. Đơn hàng bán chưa chuẩn hoá 1NF 2NF 3NF Số hiệu đơn # Số hiệu đơn # Số hiệu đơn Mã số KH Mã số KH Mã số KH Ngày đặt hàng Ngày đặt hàng Ngày đặt hàng Tên KH Tên KH Tên KH Địa chỉ Địa chỉ Địa chỉ Mã số MH Tên ĐVT # Số hiệu đơn # Số hiệu đơn Số lượng # Mã số MH # Mã số MH Đơn giá Tên Số lượng ĐVT Số lượng # Mã số MH Đơn giá Tên ĐVT Đơn giá Chuẩn hoá dạng 3 Ta thấy Tên KH và Địa chỉ KH phụ thuộc hàm vào Mã số KH là thuộc tính không phải là khoá trong tập thực thể, do đó chúng ta đưa chúng vào tập thực thể mới mà khoá chính là Mã số KH. 63
- Đơn hàng bán chưa chuẩn hoá 1NF 2NF 3NF Số hiệu đơn #Số hiệu đơn #Số hiệu đơn #Số hiệu đơn Mã số KH Mã số KH Mã số KH Mã số KH Ngày đặt hàng Ngày đặt hàng Ngày đặt hàng Ngày đặt hàng Tên KH Tên KH Tên KH Địa chỉ Địa chỉ Địa chỉ #Mã số KH Mã số MH Tên KH Tên Địa chỉ ĐVT # Số hiệu đơn # Số hiệu đơn Số lượng # Mã số MH # Mã số MH #Số hiệu đơn Đơn giá Tên Số lượng #Mã số MH ĐVT Số lượng Số lượng Đơn giá # Mã số MH #Mã số MH Tên Tên Đơn giá Đơn giá ĐVT ĐVT Sau khi chuẩn hoá dạng 3, từ Đơn hàng bán ta lập được 4 quan hệ chuẩn hoá ở 3NF là: Đơn hàng bán(Số hiệu đơn, Mã số KH, Ngày đặt hàng) Khách hàng(Mã số KH,Tên KH, Địa chỉ) Dòng đơn hàng(Số hiệu đơn, Mã số MH, Số lượng) Mặt hàng(Mã số MH, Tên, ĐVT, Đơn giá) Kết hợp các thông tin thu được: Giả sử ta có 2 tài liệu là Đơn hàng & Tài liệu giao nhận hàng được chuẩn hoá như sau: Đơn hàng bán(Số hiệu đơn, Mã số KH, Ngày đặt hàng) Khách hàng(Mã số KH, Tên KH, Địa chỉ KH) Dòng đơn hàng(Số hiệu đơn, Mã số KH, Số lượng) Mặt hàng(Mã số MH, Mô tả mặt hàng, đơn giá) Giao nhận(Số hiệu giao nhận, Mã số KH, Ngày giao, Địa chỉ giao nhận) Dòng giao nhận(Số hiệu giao nhận, Số hiệu đơn, Mã số MH, số lượng giao) Bước 4: Xác định các mối quan hệ Ma trận thực thể/khoá Giao Dòng Đơn hàng KH Dòng ĐH Mặt hàng nhận giao nhận Số hiệu đơn X X X 64
- Mã số KH O X X Mã số MH X X X Số hiệu GN X X Xây dựng mô hình thực thể liên kết: Khách hàng Đơn hàng Mặt hàng Giao nhận Dòng giao nhận Dòng đơn hàng 6. Mã hoá các tên gọi: 6.1. Khái niệm mã hoá Dữ liệu dùng trong hệ thống thường ở 2 dạng số và dãy ký tự (phi số). Về ý nghĩa thì dãy ký tự là tên của một đối tượng nào đó trong hệ thống. Ta gọi mã hoá (codification) là việc gán một tên gọi vắn tắt (gọi là mã) cho một đối tượng nào đó. Các đối tượng trong hệ thống được đặt tên có thể là: Các ứng dụng tin học khác nhau trong doanh nghiệp. Các chức năng. Các đơn vị xử lý. Các chương trình. Các tài liệu.p dữ liệu. Các thông tin trong các tài liệu và các tệp. Các biến dùng trong các chương trình 6.2. Chất lượng cơ bản của mã hoá Việc mã hoá phải cố gắng đạt một số yêu cầu về chất lượng như sau: - Không nhập nhằng: thể hiện ánh xạ 1-1 từ tập các đối tượng và tập các mã. - Thích hợp với phương thức sử dụng: Sử dụng cho người: mã phải dễ hiểu, dễ giải mã. Sử dụng cho máy tính: mã phải được định nghĩa một cách chặt chẽ. - Có khả năng mở rộng và xen thêm: 65
- Mở rộng: bổ sung phía trên và phía dưới. Xen thêm: bổ sung trong một thứ tự. Để thực hiện khả năng xen thêm có thể dùng 2 cách: Nhẩy cóc theo một giá trị nhất định. Nhẩy cóc theo một kết quả thống kê. - Phải ngắn gọn, bởi vì mã càng dài thì việc xử lý càng thêm khó khăn. Tuy nhiên, chiều dài của mã lại ảnh hưởng tới khả năng mở rộng mã. Ví dụ: Với mã là 4 con số thì nhiều nhất có thể chỉ định 9999 đối tượng. - Có tính gợi ý (diễn nghĩa): nhìn mã, con người có thể dễ đoán ra đối tượng. Chẳng hạn để mã hoá các thành phố thì: Hà Nội được gán mã 29 (trong biển số xe) là kém gợi ý. Trái lại, trong ngành hàng không, người ta chỉ cần dùng ba chữ cái để chỉ định các thành phố, mà vẫn giàu tính diễn nghĩa: Hà Nội có mã là HAN Băng cốc BKK Bombay BOM 6.3. Các kiểu mã hoá khác nhau (1) Mã hoá liên tiếp: - Dùng các số liên tiếp để chỉ các đối tượng Ví dụ: Mã hoá các khách hàng theo thứ tự thời gian: 001, 002, 084, - Ưu điểm: Không nhập nhằng (nếu không hạn chế về độ dài). Đơn giản. Mở rộng phía sau được (nếu không hạn chế về độ dài). - Khuyết điểm: Không xen thêm được. Không gợi ý, vậy phải có một bảng tương ứng mã và đối tượng, Không phân nhóm. (2) Mã hoá theo lát: 66
- Dùng từng lát cho từng đối tượng. Trong mỗi lát, thường dùng kiểu mã hoá liên tiếp. Ví dụ: các đối tượng là các hàng ngũ kim: 0001 - 0999: hàng ngũ kim bé, trong đó: 0001 - 0099 : các loại vít 0100 - 0299 : các loại ê-cu. 0300 - 0499 : các loại bu-long 1000-1999: các chi tiết bằng kim loại, trong đó: 1000 -1099 : các sắt chữ U. - Ưu điểm: Không nhập nhằng (nếu các lát là tách rời, tức là không có đối tượng thuộc vào 2 lát khác nhau). Đơn giản. Mở rộng và xen thêm được. - Khuyết điểm: Vẫn dùng bảng tương ứng. (3) Mã hoá phân đoạ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: 99 AA 999 Số hiệu liên tiếp Các chữ trỏ lát Số hiệu trỏ tỉnh, thành Số bảo hiểm xã hội cho từng cá nhân: 9 99 99 99 99 999 999 Số đăng ký trong phường } Phường xã Quận, huyện Nơi ở Tỉnh thành Năm } Ngày sinh Tháng Giới tính - Ưu điểm: Không nhập nhằng. Mở rộng và xen thêm được (nếu mỗi đoạn còn chỗ). 67
- Dùng phổ biến. Cho phép thiết lập các kiểm tra gián tiếp (Ví dụ: số bảo hiểm có khớp với các thông tin tương ứng ghi trong chứng minh thư không?). - Khuyết điểm: Thường quá dài. Thao tác nặng nề khi mã có quá nhiều đoạn. Vẫn có thể bị bão hoà. Mã không cố định (ví dụ đổi nơi ở thì phải đổi số bảo hiểm). (4) Mã hoá phân cấp: Cũng là phân đoạn, song mỗi đoạn trỏ một tập hợp các đối tượng và các tập hợp đó bao nhau theo thứ tự từ trái qua phải. Ví dụ: Đánh số các mục trong một cuốn sách 9 9 9 Số thứ tự mục trong tiết Số thứ tự tiết trong chương Số thứ tự chương (5) Mã hoá diễn nghĩa: Gán một tên ngắn gọn, nhưng hiểu được cho từng đối tượng. Ví dụ: #MANS: Là mã số cán bộ trong cơ quan. Ưu điểm: Tiện dùng cho xử lý thủ công. Khuyết điểm: Không giải mã được bằng máy tính. 7. Từ điển dữ liệu 7.1. Khái niệm: Từ điển dữ liệu là một tư liệu tập trung về mọi tên gọi của mọi đối tượng được dùng trong hệ thống trong cả các giai đoạn phân tích, thiết kế, cài đặt, bảo trì. Chẳng hạn + ở mức logic, có: các luồng dữ liệu, các giao dịch, các sự kiện, các chức năng xử lý, các thực thể, các thuộc tính, + ở mức vật lý: các tệp, các chương tình, các chương trình con, các modun, thử tục, Từ điển dữ liệu là cần thiết đặc biệt cho quá trình triển khai các hệ thống lớn, có đông người tham gia. Nó cho phép: 68
- + Trong PT và TK: quản lý tập trung và chính xác mọi thuật ngữ và các mã dùng trong hệ thống, kiểm soát được sự trùng lặp, đồng nghĩa hay đồng âm dị nghĩa, + Trong cài đặt: người cài đặt hiểu được chính xác các thuật ngữ từ kết quả PTTK + Trong bảo trì: khi cần thay đổi, thì phát hiện được các mối liên quan, các ảnh hưởng có thể nảy sinh. Từ điển dữ liệu : là một tập hợp các mục từ, mỗi mục từ tương ứng với một tên gọi kèm với giải thích đối với nó. 7.2. Các hình thức thực hiện từ điển: - Bằng tay: đó là một tập tài liệu - Bằng máy tính: dùng 1 hệ phần mềm cho phép dễ dàng thành lập, thay đổi 7.3. Cấu tạo từ điển: Ký pháp mô tả nội dung cho từ điển dữ liệu tuân theo bảng sau: Kết cấu dữ liệu Ký pháp ý nghĩa = được tạo từ Tuần tự + và Tuyển chọn [ | ] hoặc Lặp { }n lặp n lần ( ) dữ liệu tuỳ chọn * Lời chú thích * giới hạn chú thích Ví dụ: tờ hoá đơn bán hàng sau: HOÁ ĐƠN BÁN HÀNG Số hoá đơn: 135 Ngày bán: 10 – 11 – 2006 Bán cho ông / bà: Lê Hoài Nam Tài khoản: LTM010254 Địa chỉ: 354 Phan Đình Phùng Tel: (0280) 756350 STT Mã hàng Tên ĐVT Đơn giá Số lượng Thành tiền Ghi chú 1 X30 Tổng cộng: Bằng chữ: Kế toán trưởng Người nộp tiền Người bán hàng Ta có một phần từ điển sau: * Xác định một tờ hoá đơn như sau * 69
- + Hàng n Hoá đơn = Số HĐ + Ngày bán + Khách hàng + + Số lượng + Tổng cộng + KT trưởng + Người bán + Thành tiền * Xác định thông tin về khách hàng * Khách hàng = Họ tên khách + Tài khoản + Địa chỉ + Điện thoại * Xác định thông tin về từng mặt hàng * Hàng = Mã hàng + Tên + ĐVT + Đơn giá 70
- Chương 6: Thiết kế hệ thống Tổng quan về giai đoạn thiết kế Xuất phát: Đầu vào của giai đoạn này bao gồm biểu đồ phân cấp chức năng, biểu đồ luồng dữ liệu và biểu đồ cấu trúc dữ liệu. Nhiệm vụ: Nhiệm vụ của giai đoạn này là chuyển các mô tả ở mức khái niệm của hệ thống mới thành mô tả vật lý bằng cách bổ sung trở lại các biện pháp, các phương tiện (bổ sung lại các yếu tố vật lý) Tiến hành: Có thể phân chia thành 5 bước Bước 1: Thiết kế tổng thể, trong bước này được tách thành 2 bước nhỏ Bước 2: Thiết kế các mô đun xử lý Bước 3 Thiết kế giao diện Bước 4: Thiết kế các kiểm soát Bước 5: Thiết kế các tệp 1. Thiết kế tổng thể 1.1. Phân định ranh giới giữa chức năng máy tính và chức năng thủ công - Dữ liệu đầu vào của phần này là biểu đồ luồng dữ liệu ở mức nào đó, tài liệu ra (đầu ra) vẫn là biểu đồ đó nhưng đã được phân định rõ ranh giới giữa máy tính và thủ công. - Cách thực hiện như sau: a) Đối với các chức năng xử lý: Với các chức năng nằm hẳn về 1 bên hoặc là thủ công hoặc là máy tính thì giữ nguyên, còn với những chức năng chưa phân định rõ có thể xảy ra một trong hai khả năng: - Căn cứ vào tình hình mức độ tin học hoá chuyển sang thực hiện trên máy tính hoàn toàn; hoặc chuyển sang làm thủ công hoàn toàn - Phân rã tiếp thành một số chức năng cho đến khi chức năng mới được xác định là chức năng thủ công hay chức năng của máy tính. b) Đối với các kho dữ liệu: - Với các kho nằm ở vùng thủ công (có thể chỉ các hồ sơ chứng từ văn phòng) phải đối chiếu với biểu đồ cấu trúc dữ liệu để loại bỏ thực thể tương ứng với kho dữ liệu này. - Đối với kho dữ liệu nằm trong vùng máy tính thường nó sẽ là các tệp tin phải đối chiếu lại với biểu đồ cấu trúc dữ liệu để bổ sung thêm thực thể tương ứng với nó (nếu thiếu) VD: Trở lại bài toán cung ứng vật tư với chức năng là chọn nguồn cung cấp 71
- HĐ cung cấp Nhà CC/MH NCC Bổ sung NCC Làm Chọn hợp đồng NCC Nhà CC được chọn CC Thương lượng Yêu cầu CC Hợp đồng mới Chào hàng Yêu cầu CC Người CC Trong 2 chức năng trên đều có phần vừa thủ công vừa máy tính nên tiến hành phân rã tiếp như sau: HĐ cung cấp Nhà CC/MH NCC Tra Tra cứu Ghi nhận Ghi nhận cứu các về NCC NCC mới HĐ mới HĐ cũ 1.3 2.2 2.3 1.2 MT TC Tìm Thương NCC NCC được chọn lượng HĐ 1.1 2.1 TT HĐ Yêu cầu TT chào hàng mới chào hàng Nhà CC Chi tiết thương lượng 72
- Chú ý: Trong ví dụ này việc phân rã chỉ mang tính chất minh hoạ. Việc phân rã phải dựa vào quy trình xử lý cụ thể trong từng giai đoạn. 1.2. Phân định các hệ thống con của máy tính - Mục đích: Xây dựng được các bộ chương trình đóng gói (packet), mỗi gói tương ứng với hệ thống con trong hệ thống. Căn cứ vào các chức năng của hệ thống ở trong các biểu đồ đã phân rã. - Cách thực hiện: Dùng các đường gạch nối để khoanh từng vùng ứng với các chức năng liên quan đến nhau trong việc xử lý. Ngoài ra có một số căn cứ sau: a) Theo kiểu thực thể Gom tụ các chức năng có liên quan đến một kiểu thực thể hay một nhóm thực thể (có thể là 1 tệp). Ví dụ hệ thống con khách hàng bao gồm các chức năng liên quan đến thực thể khách hàng (ví dụ: chức năng chọn NCC, lập đơn hàng, trả lời thương lượng với khách hàng là một nhóm. Các chức năng về quản lý kho vật tư liên quan đến thực thể kho hàng bao gồm các chức năng nhập hàng, xuất hàng, báo cáo tồn vào một nhóm) b) Theo giao dịch Gom tụ theo giao dịch: Căn cứ vào luồng dữ liệu, khi từ môi trường bên ngoài vào sẽ kích hoạt 1 loạt các chức năng của hệ thống. VD: Khi có yêu cầu dự trù vật tư thì những chức năng liên quan khách hàng đều bị kích hoạt. c) Theo trung tâm biến đổi Quan sát trên biểu đồ luồng dữ liệu, nếu phát hiện được có 1 khu vực tập trung xử lý các thông tin chủ yếu thì gom những chức năng này lại. VD: Chức năng làm bảng lương sẽ kéo theo các chức năng nhập bảng chấm công, nhập định mức lương, chức năng in ấn các biểu lương. d) Theo tính thiết thực Theo cấu trúc kinh doanh của cơ quan, theo vị trí cơ sở, theo trình độ đội ngũ, trách nhiệm công tác (phân quyền) VD: Giám đốc có thể xem báo cáo nhưng giám đốc không sửa được. *Chú ý: Khi khoanh vùng giữa các vùng có thể xảy ra trường hợp là các vùng không liên thông với nhau khi đó hệ thống sẽ có nhiều chương trình con tách rời. Nếu các máy tính trong hệ thống có nối mạng ta có thể tổ chức thành CSDL chung có thể liên thông với nhau. 2. Thiết kế chi tiết về các thủ tục thủ công và và các giao tiếp người - máy 2.1. Các chức năng thủ công 73
- - Hành động ra quyết định: Con người làm chủ hệ thống nên mọi quyết định đều do con người thực hiện, máy tính chỉ có thể cung cấp thông tin trợ giúp - Hoạt động giao tiếp giữa con người và con người: Sự trao đổi với các tác nhân ngoài hệ thống (đối tác kinh doanh, các bộ phận tác nghiệp ) - Các nhiệm vụ phục vụ cho máy tính - Các chức năng thủ công bao gồm mã hoá thông tin, kiểm soát, sửa chữa thông tin, nhập thông tin, kiểm tra và phân phối tài liệu xuất. Các chức năng này có nhiều loại: Có loại không liên quan đến máy tính Có sự trợ giúp của máy tính ở 2 chế độ Online hoặc Offline. Là những chức năng thủ công "ăn theo" hay nói cách khác là những chức năng phát sinh do việc sử dụng máy tính. - Khi sử lý các chức năng thủ công phải chỉ rõ nội dung công việc phải làm theo không gian và thời gian, đặc biệt là khi pha trộn giữa máy tính và thủ công, yêu cầu về năng suất chất lượng, kỹ năng, quy trình thực hiện, các cách xử lý khi gặp sai sót. 2.2. Thiết kế đầu vào của thông tin a) Chọn phương thức thu thập thông tin - Phương thức trực tuyến - Phương thức theo mẻ - Phương thức thu thập từ xa qua cảm biến b) Kỹ thuật điều tra thu thập thông tin -Dùng mẫu điều tra: Dùng để thu thập thông tin, người được hỏi điền vào mẫu có sẵn. Mẫu thường chia làm 3 phần: Phần đầu: Là tiêu đề Phần nội dung: Chi tiết thông tin cần điều tra Phần cam đoan Phần ký tên Mặt sau phiếu là các hướng dẫn trả lời, cách điền vào các mục trong phiếu - Dùng câu hỏi (có hai loại câu hỏi đóng, câu hỏi mở): Câu hỏi đóng là những câu hỏi mà các phương án trả lời là đã được đưa ra sẵn; câu hỏi mở là những câu hỏi mang tính chất gợi ý, cần phải phối hợp nhiều câu hỏi mới xác định được đúng thông tin cần thiết. c) Yêu cầu việc thu thập thông tin - Thuận tiện cho người điều tra - Thuận tiện cho việc mã hoá - Thuận tiện cho việc gõ phím - Nội dung đơn giản, rõ ràng, chính xác 3. Thiết kế các tài liệu xuất 74
- -Yêu cầu đối với các tài liệu xuất là phải đủ thông tin theo yêu cầu và phải chính xác, dễ hiểu, dễ đọc. - Các phương thức xuất thông tin: Đưa ra máy in Đưa ra màn hình Đưa ra bộ nhớ ngoài Đưa ra các xung điều khiển -Các tài liệu xuất bao gồm các loại sau: - Thông tin tuỳ tiện không có chuẩn trước. Những thông tin này thường dưới dạng là kết quả của các truy vấn và đó là một trong những nhu cầu tương đối phổ dụng trong các bài toán quản lý. - Các tài liệu in có các mẫu biểu theo tiêu chuẩn. Các hình thức đưa ra: + Có khung in sẵn + Không có khung in sẵn - Về cách trình bày một biểu như sau: + Đầu biểu: tên của biểu + Thân biểu: bao gồm các nội dung cơ bản và các nhóm logic quan hệ với nhau + Cuối biểu: VD: Hà nội, ngày tháng năm 2.4. Thiết kế màn hình chọn - Mục đích sử dụng màn hình: Dùng để đối thoại Người – Máy sử dụng trong đối thoại có đặc điểm: + Thông tin thường là tối thiểu + Vào ra gần nhau (dạng hỏi - đáp) - Yêu cầu về mặt thiết kế + Có tính mỹ thuật, thân thiện, dễ nhìn, dễ hiểu + Biểu diễn câu lệnh ngắn gọn chỉ có các thông tin tối thiểu 75
- - Hình thức đối thoại trên màn hình + Dạng thực đơn chọn (menu): cấp 1, cấp 2, cấp 3 + Dạng câu lệnh, dấu nhắc + Dạng điền mẫu (form) + Dạng hộp chọn, nút điều khiển, danh sách chọn - Sử dụng đa phương tiện ví dụ như: âm thanh, các thiết bị điểm để làm sinh động trong giao tiếp người máy. 3. Thiết kế chương trình 3.1.Đại cương -Mục đích: Xác định tổng quan chương trình và phân định các mô đun để chuyển cho các lập trình viên cài đặt chương trình -Nội dung: Phân định các mô đun. Xác định mối quan hệ giữa các mô đun (việc trao đổi thông tin, gọi nhau trong chương trình chính). Đặc tả từng mô đun: xác định các biến, các thuật toán, các dữ liệu được xử lý, các chức năng xử lý. Cách ghép nối các mô đun. Thiết kế các mẫu thử riêng cho từng mô đun -Phương pháp: Thiết kế theo phương pháp Topdown làm mịn dần các mô đun. Sử dụng lược đồ cấu trúc 3.2. Các mô đun chương trình - Chương trình biên tập - Chương trình nhập - Chương trình cập nhật - Chương trình hiển thị - Chương trình tính toán - Chương trình tạo menu - Chương trình in -Mỗi mô đun có thể là một chương trình con, cũng có thể là một đoạn lệnh. Mỗi mô đun có những đặc trưng sau: (1)- Cái vào, ra: Những thông tin của mô đun khác truyền cho nó; thông tin nó truyền cho các mô đun khác (2)-Chức năng: Thể hiện ở việc biến đổi cái vào thành cái ra (3)-Cơ chế thực hiện: Các thuật toán dùng trong mô đun (4)-Dữ liệu cục bộ: Dữ liệu riêng của mô đun có thể chỉ sinh ra tạm thời trong bộ nhớ trong khi hoàn thành nhiệm vụ sẽ bị xoá đi. 76
- Đặc trưng 1, 2 gọi là đặc trưng ngoại, 3, 4 gọi là đặc trưng trong, ngoài ra còn các đặc trưng phụ như tên, vị trí của mô đun -Khi thiết kế chương trình trước hết ta phải mô tả cấu trúc chương trình theo các mô đun dựa trên các đặc trưng ngoài, sau đó chi tiết hoá các mô đun (Topdown) -Để mô tả cấu trúc chương trình ta dùng lược đồ cấu trúc (LCT) 3.3. Lược đồ cấu trúc -Biểu diễn mô đun: Dùng hình chữ nhật bên trong có tên mô đun, mô đun có sẵn dùng hình CN có hai vạch ở hai cạnh bên: -Biểu diễn các liên kết: Dùng đoạn thẳng có hướng, nếu gọi nhiều lần có thêm cung tròn: (A gọi B; A gọi C nhiều lần) A B A C -Cấu trúc gọi có lựa chọn: A gọi B hoặc C A B C - Biểu diễn luồng thông tin Ví dụ: Mô đun tính lương tính lương Bậc L. L. chính chính77 P. cấp L. P. cấp chính tính L. chính tính P. cấp in b. lương L. chính P. cấp PC cho NV PC cho NV PC cho NV trong Biên chế hợp đồng dài hợp đồng ngắn hạn hạn
- 3.4. Đánh giá về lược đồ cấu trúc -Sự tương tác: Nói lên sự ảnh hưởng lẫn nhau giữa các mô đun, các mô đun càng ít ảnh hưởng nhau càng tốt, đảm bảo sự độc lập giữa các mô đun. Có các sự tương tác sau: -Mô đun này can thiệp vào mô đun kia, tương tác này không tốt cần loại bỏ. -Tương tác về điều kiện: mô đun này chuyển thông tin điều kiện cho mô đun kia, phải hiểu nội bộ mô đun kia cần điều kiện gì như vậy vi phạm tính che dấu của mô đun mà thông thường mỗi mô đun là một hộp kín. Do đó tương tác này không tốt -Tương tác về dữ liệu: Tương tác càng đơn giản càng tốt, thường dùng tham trị, hạn chế dùng tham biến, nên truyền theo dữ liệu hơn là dùng con trỏ. - Sự câu kết: Phản ánh sự gắn bó về mặt lô gíc của các bộ phận trong mô đun -Hình thức: Biểu hiện cấu trúc bề ngoài của LCT có dạng Topdown -Phạm vi điều khiển: Là vai trò quyết định của mô đun này với mô đun khác mạnh hay yếu khác nhau giữa các mô đun. 3.5. Chuyển BLD thành LCT -Nguyên tắc: -Phải tinh chế BLD trước khi chuyển -Chú ý các chức năng chính yếu trước các chức năng phụ sau -Ngoài các chức năng trong BLD cần có thêm các mô đun vào ra 5.1-Phương phương pháp phân tích theo biến đổi (1) Dõi theo các dòng dữ liệu vào cho đến khi dữ liệu vào trở thành trừu tượng nhất hoặc gặp một thiết bị, một kho mà dữ liệu được coi là dữ liệu vào thì đánh dấu lại. (2). Làm ngược lại với thông tin ra. (3) Căn cứ vào các điểm đánh dấu khoanh lại một vùng của BLD ở đó ta lập một LCT 78
- (4) Đầu tiên vẽ mức cao nhất là mô đun chính mỗi dòng vào là một mô đun vào, mỗi dòng ra là một mô đun ra (5) Triển khai tiếp trong cấu trúc sẽ xuất hiện những mô đun giữa thực hiện các chức năng biến đổi trong mô đun chính -Ví dụ: x1 x2 x3 q3 Nguồn X A B C q1 H s1 s2 x4 J K L G y4 y1 y2 y3 q2 I q4 Nguồn Y A E F D Vào Biến đổi RA Vào biến đổi Ra Lấy x4 x4 G Lấy y4 x3 C Lấy x3 x3 G G x2 B Lấy x2 x2 J x1 A Lấy x1 x4 Nguồn 44 s1 x 79 y4 44 tạo s1 q1 q2 q3 q4 H I