Giáo trình Phân tích thiết kế hệ thống (Phần 2)

pdf 24 trang ngocly 160
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Phân tích thiết kế hệ thống (Phần 2)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

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

  • pdfgiao_trinh_phan_tich_thiet_ke_he_thong_phan_2.pdf

Nội dung text: Giáo trình Phân tích thiết kế hệ thống (Phần 2)

  1. Chương 4: PHÂN TÍCH THÀNH PHẦN XỬ LÝ MỨC QUAN NIỆM I- MỤC TIÊU: Mục tiêu cơ bản trong giai đoạn này là xác định các hoạt động xử lý của hệ thống và các dòng thông tin giữa các hoạt động xử lý này. Ở mức quan niệm, chúng ta không đi sâu vào việc mô tả chi tiết từng xử lý mà cần nhận biết: Hệ thống gồm những hoạt động xử lý nào; lúc nào sẽ khởi động một xử lý. Một xử lý như vậy dùng dữ liệu gì? phát sinh ra dữ liệu gì? dữ liệu kết quả phục vụ cho xử lý nào? Việc phối hợp với các xử lý khác như thế nào? có cần chờ đợi một xử lý khác không? có các xử lý song song nào không? Việc phối hợp các xử lý xảy ra trong không gian, thời gian nào? Kết quả của giai đoạn này là lược đồ chức năng (Functional schema) biểu diễn các hoạt động, dòng thông tin và các đặc trưng khác. Hiện nay có nhiều phương pháp mô tả thành phần xử lý, trong đó có hai mô hình hiện đang sử dụng khá phổ biến đó là: a. Mô hình Merise : Mô hình Merise được sử dụng phổ biến ở các nước Châu Âu, trình bày thành phần xử lý dựa trên cơ sở các khái niệm: biến cố, hoạt động, sự đồng bộ hóa, Ở mức logic đi sâu thêm về tổ chức các xử lý thông qua các khái niệm như: trạm làm việc, bản chất của các xử lý, thủ tục chức năng, đơn vị tổ chức xử lý, b. Mô hình dòng dữ liệu (Data Flow Diagram): Các nước Bắc Mỹ trình bày thành phần xử lý dựa trên lưu đồ dòng dữ liệu bao gồm các khái niệm cơ sở: ô xử lý, nguồn/đích, dữ liệu vào, dữ liệu ra Lưu đồ dòng dữ liệu biểu diễn sự kết nối giữa các hoạt động của hệ thống, thông qua việc trao đổi dữ liệu khi hệ thống hoạt động. Tùy từng mức độ mà lưu đồ dòng dữ liệu được phân rã chi tiết dần, đến khi có thể chuyển cho người lập trình để triển khai. Có thể nói lưu đồ dòng dữ liệu chỉ có hai mức: mức quan niệm và mức vật lý, không có ranh giới giữa hai mức trên bởi mức logic. Trong chương này chúng ta sẽ làm quen với mô hình này. II- CÁC KHÁI NIỆM CƠ BẢN TRONG MÔ HÌNH DÒNG DỮ LIỆU: Mô hình dòng dữ liệu bao gồm các khái niệm chính là: Xử lý (Process), Dòng dữ liệu (Data Flow), Kho dữ liệu (Data Store) và Đầu cuối (Terminator). 1- Đầu cuối: Đầu cuối là những đối tượng bên ngoài có quan hệ giao tiếp với HTTT: Gởi yêu cầu đến HTTT khởi tạo các quá trình xử lý hoặc nhận dữ liệu từ hệ thống. Ký hiệu Đầu cuối bằng những hình chữ nhật bên trong có gán tên. Tên của đầu cuối là tên của đối tượng liên quan, ví dụ như tên người, bộ phận, tác nhân, tổ chức Ví dụ: Khách Hàng; Nhà Cung Ứng; Kế toán trưởng 2- Ô xử lý : Ô xử lý dùng mô tả một hoạt động xử lý thông tin bên trong HTTT. Hoạt động đó thường là kiểm tra, tạo mới, sử dụng, cập nhật hay hủy bỏ thông tin Khi một xử lý không tạo mới hay hủy bỏ thông tin, nó sẽ chuyển đổi dữ liệu vào thành dữ liệu ra. 26
  2. Ký hiệu ô xử lý bằng một hình bầu dục (oval) hay hình chữ nhật góc tròn, bên trong có đánh một số thứ tự kèm theo một tên của nó. Tên ô xử lý nên đặt phù hợp với bản chất của hoạt động xử lý, nó thường là một động từ (cho biết sẽ Làm gì) kèm theo bổ ngữ (cho biết Cái gì) Ví dụ: “Tiếp nhận đơn đặt hàng”; “Kiểm tra Tồn kho”, “Đối chiếu công nợ” Mỗi ô xử lý đều phải có dòng dữ liệu vào phục vụ cho quá trình xử lý và dòng dữ liệu ra thể hiện kết quả sau khi xử lý dữ liệu vào. 3- Dòng dữ liệu: Dòng dữ liệu biểu diễn sự di chuyển dữ liệu từ thành phần này đến thành phần kia của mô hình dòng dữ liệu. Các thành phần đó có thể là : ĐầuCuối của hệ thống, ô xử lý, kho dữ liệu. Dòng dữ liệu chỉ biểu diễn thuần tuý các “dữ liệu” di chuyển bên trong HTTT, không mang ý nghĩa động như “dòng điều khiển”. Ký hiệu: Dòng dữ liệu thường được ký hiệu đồ họa bằng một cung với mũi tên cho biết hướng di chuyển của dữ liệu và có nhãn đặc tả dữ liệu đó. Một số trường hợp sử dụng dòng dữ liệu: 1 Hàng cần mua Xử lý 1 3 3 Khách Kiểm tra Xử lý 3 hàng ĐH Hàng không bán 2 Xử lý 2 2 Lập phiếu 1 giao Xử lý 1 3 Xử lý 3 3 3 2 Xử lý Cập nhật DDH tồn kho Xử lý 2 4 Lập hóa đơn 27
  3. 4- Kho dữ liệu Kho dữ liệu biểu diễn nơi chứa dữ liệu bên trong HTTT như: các tập hồ sơ, các bảng tra cứu, các tập tin mà quá trình xử lý cần tham khảo hay cần lưu trữ lại sau quá trình xử lý. - Dòng dữ liệu từ kho đến một ô xử lý cho biết dữ liệu trong kho được sử dụng để xử lý. - Dòng dữ liệu từ ô xử lý đến kho dữ liệu cho biết dữ liệu sau khi xử lý sẽ được lưu trữ vào kho. Kho dữ liệu được ký hiệu bằng những hình chữ nhật một bên đóng, hoặc cả hai bên đều mở và bên trong có tên kho dữ liệu. Tên kho dữ liệu cho biết nội dung của dữ liệu lưu trữ bên trong. Ví dụ: Qui trình xử lý đặt hàng Khách Đơn đặt hàng 1 Hàng 2 Tiếp nhận Giải quyết Hàng bị từ chối DDH DDH DDHàng Đơn ĐH Hóa đơn Kháchhàng Phiếu GH 2 Tiền thanh toán Giải quyết công nợ Khách Hàng Phiếu thanh toán III- THIẾT KẾ LƯỢC ĐỒ XỬ LÝ: 1- Phương pháp luận cho phân tích xử lý: Mô hình xử lý thường được xây dựng dựa trên phương pháp phân tích Top-Down, gồm các bước cơ bản như sau : (1) Xác định các Đầu Cuối (2) Xác định các dòng dữ liệu vào/ra ở các Đầu Cuối. (3) Thiết kế sơ đồ DDL cấp 0 (còn gọi là Sơ đồ ngữ cảnh) bao gồm một ô xử lý có tên là tên của đề án cần thực hiện, các đầu cuối và các dòng dữ liệu vào ra từ ô xử lý đến các đầu cuối đó, thể hiện sự trao đổi thông tin giữa hệ thống với các đầu cuối. (4) Thiết kế mô hình DDL cấp 1, tinh chế từ sơ đồ DDL cấp 0, thường thể hiện các lĩnh vực hoạt động bên trong hệ thống. Mỗi ô xử lý là một lĩnh vực và được đánh số thứ tự từ 1 N. Các dòng thông tin thể hiện việc trao đổi thông tin ở từng lĩnh vựv với các đầu cuối, kho dữ liệu và giữa các lĩnh vực với nhau. (5) Với mỗi lĩnh vực, thiết kế mô hình DDL cấp 2 thể hiện chi tiết các hoạt động xử lý trong từng lĩnh vực. 28
  4. (6) I = 2 (7) Tinh chế các hoạt động xử lý phức tạp ở cấp i tạo ra mô hình DDL ở cấp i+1 (8) Lặp lại (7) cho đến khi, tất cả các xử lý đã được diễn tả chi tiết trên lưu đồ (9) Kiểm tra chất lượng của lược đồ: đầy đủ, rõ ràng, dễ đọc và tối thiểu. 2- Một số qui định khi xây dựng DFD: Mỗi ô xử lý thể hiện một chức năng xử lý độc lập với những ô xử lý khác và nó chỉ liên lạc với các ô xử lý khác bởi những dòng dữ liệu vào/ra. Dòng dữ liệu vào ra một kho dữ liệu có thể ghi tên các thuộc tính cần lưu hoặc truy xuất hoặc có thể ghi dấu “!” để thể hiện những thuộc tính cần thiết hoặc không ghi nếu truy nhập tất cả các thuộc tính. Trường hợp dữ liệu ra từ 1 ô xử lý được mang sang xử lý ở ô thứ 2 mà ô thứ 2 cho phép thực hiện với thời gian được trể thì nên xử lý thông qua kho dữ liệu. Mỗi cấp thể hiện nên có tiêu đề là tên của tiến trình đang triển khai. Các ô xử lý của cấp dưới nên đánh số theo ô xử lý của cấp trên và chỉ số của cấp này. Khi phân cấp 1 ô xử lý: nếu có những dòng dữ liệu vào ra ở ô xử lý thì cũng có dòng dữ liệu vào ra ở cấp phân tích. 29
  5. Độ sâu của việc phân cấp tùy thuộc người phân tích cảm nhận về sự hiển nhiên của ô xử lý. Mỗi cấp chi tiết chỉ nên có từ 3 7 ô xử lý để dễ quan sát một cách tổng quát. 3- Một số luật tinh chế cơ bản: Việc tinh chế sơ đồ cấp i có thể dựa trên các luật cơ bản như sau: Luật T1: Tinh chế ô xử lý thành một cặp xử lý kết nối với nhau bằng dòng dữ liệu Luật này được áp dụng khi công việc cần thực hiện bao gồm 2 công đoạn phụ thuộc nhau, công đoạn sau thực hiện dựa trên kết quả xử lý của công đoạn đầu Ví dụ: Công việc tiếp nhận DDH bao gồm 2 công việc: Nhận đơn đặt hàng từ khách và kiểm tra chi tiết đặt hàng có thể đáp ứng được hay không. 1 1 2 Ti ếp nhận DDH Nhận DDH Kiểm tra DDH Luật T2: Tinh chế một ô xử lý thành một cặp xử lý và một kho dữ liệu. Luật này được áp dụng khi 2 xử lý có thể được thực hiện tại 2 thời điểm khác nhau. Ví dụ: 1 1 2 Xử lý Lương Chấm công Tính lương Bảng chấm công Luật T3: Phân rã một xử lý thành 2 xử lý riêng biệt. Luật này được dùng khi công việc cần thực hiện bao gồm 2 công đoạn độc lập nhau, không có nhu cầu trao đổi thông tin với nhau hoặc không được kết nối trực tiếp với nhau . 1 1 2 Sản xuất Sản xuất Kinh doanh Kinh doanh Luật T4: Phân chia một dòng dữ liệu thành nhiều dòng dữ liệu Luật này được áp dụng khi dòng dữ liệu chứa đựng nhiều loại thông tin khác nhau Ví dụ: Hóa đơn Hóa đơn kiêm phiếu giao hàng Phiếu giao hàng Luật T5: Tinh chế một dòng dữ liệu thành hai dòng dữ liệu và một xử lý. Luật này được áp dụng khi chúng ta nhận ra trong dòng dữ liệu tiềm ẩn việc chuyển đổi nội dung thông tin. Ví dụ: 1 Thông tin thanh toán Thanh toán Phiếu chuyển tiền Lập phiếu chuyển công nợ Luật T6: Phân chia một kho dữ liệu thành 2 kho độc lập. Luật này được áp dụng khi kho dữ liệu chứa 2 lớp đối tượng khác nhau, mỗi lớp kết nối với các xử lý hay đầu cuối khác nhau. 30
  6. Ví dụ: Đơn đặt hàng của Đơn đặt hàng khách hàng Khách hàng Luật T7: Tinh chế một kho dữ liệu thành hai kho dữ liệu kết nối bởi một xử lý Luật này được áp dụng khi kho dữ liệu chứa 2 lớp đối tượng phụ thuộc nhau qua một thao tác xử lý Ví dụ: Đơ n đặt hàng Đơn đặt hàng Đơn đặt hàng lưu trữ 1 Lưu trữ 4- KIỂM TRA TÍNH ĐÚNG ĐẮN CỦA SƠ ĐỒ: Tự đặt những câu hỏi để kiểm tra: 1) Các thành phần nào chưa đặt tên? - Dòng dữ liệu không có tên thường được hiểu là lấy hết hoặc cập nhật đầy đủ thông tin dữ liệu. - Dòng dữ liệu giữa 2 ô xử lý phải có tên. 2) Những kho dữ liệu ở cấp trên có hiện diện ở cấp dưới hay không? 3) Xem xét các dòng dữ liệu vào các ô xử lý có tải đủ dữ liệu để xử lý hay không? 4) Có ô xử lý hay kho dữ liệu nào có dòng dữ liệu vào mà không có dòng dữ liệu ra, hoặc có dữ liệu ra không có dữ liệu vào hay không? - Đối với ô xử lý là sai - Đối với kho dữ liệu thì phải kiểm tra xem kho dữ liệu có ở mức trên. 5) Xem có dòng dữ liệu nào dư hay không? Tức là xem có dòng dữ liệu nào không được dùng trong quá trình xử lý hay không? IV- CÁC SƯU LIỆU CHO MÔ HÌNH QUAN NIỆM XỬ LÝ Đi kèm với sơ đồ dòng dữ liệu, chúng ta cần phải mô tả các dòng dữ liệu, các kho dữ liệu, và các ô xử lý. Đó là các sưu liệu cần có của mô hình quan niện xử lý. Các danh mục này được gôm theo loại và mỗi loại theo thứ tự ABC. 1- Mô tả dòng dữ liệu: Hệ thống thông tin MÔ HÌNH QUAN NIỆM XỬ LÝ Trang: Hiện tại : [ ] Tương lai: [ ] Ứng dụng: Mô tả dòng dữ liệu Ngày lập: / / Tên: Thông tin thanh toán Người lập: Tờ : . - Nguồn đi: Ô xử lý 1.3 : Lập séc thanh toán - Nguồn đến: Kho dữ liệu: Nhà cung cấp - Diễn giải: Thanh toán hoá đơn cho nhà cung cấp - Cấu trúc: Hoa Don(SoHD, Tong tri gia, Ngay thanh toan) Nha Cung Cap(Ten NCC, Dia Chi NCC, So tai khoan NCC, Ten Ngan Hang NCC) - Khối lượng: Hiện tại: 5 lần/ tuần Tương lai : tăng 20% mỗi năm 31
  7. 2- Mô tả Kho dữ liệu: Hệ thống thông tin MÔ HÌNH QUAN NIỆM XỬ LÝ Trang: Hiện tại : [ ] Tương lai: [ ] Ứng dụng: Mô tả kho dữ liệu Ngày lập: / / Tên: CONG NO NCC Người lập: Tờ : . - Dòng dữ liệu vào: Thông tin công nợ (từ ô xử lý 1.2 : Kiểm tra dư nợ) - Dòng dữ liệu ra: Cập nhật công nợ (từ ô xử lý 1.3: Lập séc thanh toán) - Diễn giải: Thông tin công nợ phải trả cho nhà cung cấp - Cấu trúc dữ liệu: Nha Cung Cap HOA DON - Khối lượng: (Khối lượng dữ liệu chứa trong kho hiện tại và tương lai) Hiện tại: 500 trường hợp/ năm Tương lai : tăng 15% mỗi năm - Thông tin thường truy xuất: MaNCC, HoTenNCC 3- Mô tả Ô xử lý: Hệ thống thông tin MÔ HÌNH QUAN NIỆM XỬ LÝ Trang: Hiện tại : [ ] Tương lai: [ ] Ứng dụng: Mô tả ô xử lý Ngày lập: / / Số : 1.1 Người lập: Tên: Xác Nhận Hóa Đơn Tờ : - Dòng dữ liệu vào: Thông tin hóa đơn (từ đầu cuối: Nhà cung cấp) Thông tin ĐĐH (từ kho dữ liệu: Đơn đặt hàng) - Dòng dữ liệu ra: Hóa đơn đã xác nhận (đến ô xử lý 1.2: Kiểm tra dư nợ) - Diễn giải: Xác nhận hóa đơn của nhà cung cấp gởi đến có hợp lệ hay không - Tóm tắt nội dung: : (1) Tìm ĐĐH đã gởi cho nhà cung cấp (2) Đối chiếu ĐĐH với hóa đơn nhận được (3) Nếu có (1) và (2) thì xác nhận hóa đơn hợp lệ, nếu không thì xác nhận hóa đơn không hợp lệ Lưu đồ dòng dữ liệu cho ta cách nhìn các xử lý gắn với dữ liệu, nó có tính ưu việt là dễ dàng triển khai cho người thiết kế thành phần xử lý và lập trình. Tuy nhiên nó không đề cập đến việc khi nào thì khởi tạo một xử lý, ai thực hiện và thực hiện trong không gian, thời gain nào. Nếu bổ sung những điểm này trong phần đặc tả kèm theo mỗi ô xử lý chúng ta có sự hiểu biết tổng thể cũng như chi tiết, trọn vẹn về thành phần xử lý của hệ thống. 32
  8. Chương 5: THIẾT KẾ THÀNH PHẦN DỮ LIỆU I- GIỚI THIỆU: Chúng ta đã làm quen với cách thức và phương pháp tạo ra một mô hình dữ liệu mức quan niệm về các thông tin của một tổ chức bằng Mô hình TT-MKH. Nó rất giàu về mặt ngữ nghĩa, do đó dễ dàng để mọi thành phần tham gia vào việc phát triển hệ thống thông tin hiểu được, đặc biệt là với người dùng. Nhưng nó lại không dễ dàng để hệ thống quản lý tập tin và các hệ quản trị cơ sở dữ liệu hiểu được. Do đó cần thiết phải qua một giai đoạn chuyển đổi mô hình quan niệm về dữ liệu thành mô hình logic cho dữ liệu - một mô hình "gần gũi" với ngôn ngữ máy tính hơn. Chúng ta đã biết rằng có 3 kiểu mô hình cơ sở dữ liệu: mô hình mạng, mô hình phân cấp, và mô hình quan hệ. Mô hình kiểu mạng xuất hiện trước nhất, vào những năm 70. Sau đó là mô hình quan hệ và mô hình phân cấp gần như xuất hiện đồng thời. Mô hình quan hệ dù xuất hiện sau nhưng có nhiều đặc tính ưu việt hơn hai kiểu mô hình còn lại và nhanh chóng phát triển. Hiện nay hầu hết các hệ quản trị cơ sở dữ liệu cài đặt theo mô hình quan hệ. Chính vì vậy mà chúng ta quan tâm tới việc chuyển mô hình thực thể - kết hợp thành cơ sở dữ liệu theo mô hình quan hệ. II- Chuyển Đổi Mô Hình TTKH Sang Mô Hình Quan Hệ: Quá trình chuyển đổi có thể chia thành các bước với những quy tắc như sau: Bước 1: Chuyển đổi cấu trúc tổng quát hóa - chuyên biệt hóa (nếu có) với quy tắc sau: a) Nếu các thực thể chuyên biệt không có thuộc tính : thì loại bỏ và thêm thuộc tính phân biệt ở thực thể tổng quát hóa. MACB Cán Bộ THUỘC Đơn Vị HOTEN NTNS DIACHI Cán Bộ MACB HOTEN CBHC CBGD NTNS DIACHI LOAICB b) Nếu thực thể chuyên biệt có N thuộc tính riêng: Trường hợp N < 3 và không tham gia vào MKH: thì loại bỏ, thêm thuộc tính phân biệt và ghi các thuộc tính riêng đó vào trong thực thể tổng quát hóa. Đồng thời, phát sinh RBTV liên thuộc tính trên quan hệ Tổng quát. Ví dụ: Thực thể CBGD có thuộc tính ghi nhận chức danh của họ. RBTV:  nv CanBo thì Nếu nv.LoaiCB = “CBHC” thì nv.ChucDanh = NULL Cuối Nếu Cuối  Trường hợp N < 3 và có tham gia vào 1 MKH: thì loại bỏ, thêm thuộc tính phân biệt và ghi các thuộc tính riêng đó vào trong thực thể tổng hợp. Đồng thời, khai báo RBTV liên quan hệ Ví dụ: Chỉ có các Cán bộ giảng dạy mới phụ trách quản lý các đề án cần thực hiện 33
  9. MACB CanBo CanBo HOTEN NTNS DIACHI PHỤTRÁCH CBHC CBGD RBTV: q CanBo PHUTRÁCH thì PHỤTRÁCH q.LoaiCB = “CBGD” DE_AN Cuối  DE_AN Trường hợp N>= 3 thuộc tính riêng: nếu đưa thành những thuộc tính của quan hệ thì sẽ có quá nhiều vùng NULL. Khi đó, loại bỏ đi thực thể tổng quát. Các MKH giữa thực thể tổng quát với các thực thể khác phải tách ra theo các thực thể chuyên biệt. Các thực thể chuyên biệt ngoài thuộc tính của bản thân nó (nếu có) còn được thừa hưởng mọi thuộc tính của thực thể tổng quát, tuy nhiên chúng ta nên điều chỉnh tên gọi cho mô hình hợp lý. Ví dụ: ĐơnVị TKTHUỘC CBTHUỘC CÁNBỘ MACBGD CBHC HOTENCBGD CBGD PHỤTRÁCH MACBHC NTNSCBGD HOTENHC DIACHICBGD NTNSHC {Các TT riêng) DIACHIHC DE_AN Bước 2: Chuyển thực thể thành quan hệ - Thuộc tính của thực thể sẽ trở thành thuộc tính của quan hệ. - Khóa của thực thể trở thành khóa của quan hệ. Đối với thực thể phụ thuộc thì khóa của nó được kết hợp bởi các khóa của các thực thể cha. Áp dụng các quy tắc chuyển đổi như sau: Quy tắc 1. Một thực thể chuyển thành một bảng. Quy tắc 2. Thuộc tính của thực thể chuyển thành thuộc tính của bảng tương ứng. Quy tắc 3. KHÓA của thực thể chuyển thành KHÓA của bảng. Bước 3: Chuyển các MKH cấp 1 34
  10. Quy tắc 1: Loại bỏ mối kết hợp phân cấp 1 - n, nhưng thêm các thuộc tính khóa của thực thể cha vào quan hệ được chuyển từ thực thể con. Tập thuộc tính này được gọi là khóa ngoại. Nếu mối kết hợp đó có thuộc tính, các thuộc tính này được đưa thêm vào bảng con. Ví dụ: Mối kết hợp có thuộc tính: Ví dụ: Trong gia phả dòng họ: Quy tắc 2: Chuyển đổi MKH 1 – 1: Xét 3 trường hợp: a) (1,1) – (1,1) : Gộp tất cả vào chung 1 quan hệ với tất cả các thuộc tính. Quan hệ này có 2 khóa là khóa chính của 2 thực thể NgườiĐạiDiện CôngTy (1,1) ĐạiDiện (1,1) 35
  11. - SoCMND - MaCT - HotenNDD - TenCT CôngTy(MaCT, TenCT, SoCMND, HoTenNDD) b) (0,1) – (1,1) : Gộp MKH và thực thể nhánh (1,1) thành một quan hệ, chứa cả khóa của thực thể nhánh (0,1). Nhân Viên Khu Vực (0,1) Quản Lý (1,1) - MaNV - MaKV - TenNV - TenKV KhuVực(MaKV, TenKV, MaNVQL) c) (0,1) – (0,1) : Chuyển MKH thành 1 quan hệ có chứa 2 khóa chính của 2 thực thể. Quan hệ này có 2 khóa là khóa chính của 2 thực thể Nam Nữ (0,1) KetHon (0,1) - SoCMNDNam - SoCMNDNu - TenNam - NgàyKH - TenNu KếtHôn(SoCMNDNam, SoCMNDNu, NgayKH) Quy tắc 3: Các mối kết hợp loại khác được chuyển thành quan hệ. - Thuộc tính của MKH được chuyển thành thuộc tính của quan hệ. - Khóa của MKH được chuyển thành khóa của quan hệ. Từng thành phần khóa này đồng thời là khóa ngoại. Ví dụ: Chú ý rằng tên của quan hệ không cần thiếp phải trùng với tên của thực thể (hoặc của mối kết hợp), tên của thuộc tính không nhất thiết phải giữ nguyên sau khi chuyển. Bước 4: Lần lượt chuyển các mối kết hợp bậc 2, 3, Trong trường hợp một mối kết hợp dựa trên một mối kết hợp khác thì ta có thể xem mối kết hợp có trước như một thực thể để áp dụng các quy tắc trên: 36
  12. Thí dụ: Bước 5: Nhập các quan hệ cùng khóa lại thành 1 quan hệ (nếu cần) Bước 6: Chuẩn hóa lược đồ quan hệ để có được những quan hệ đạt dạng chuẩn cao nhất Bước 7: Thể hiện các ràng buộc toàn vẹn Nếu có bản số dạng ( ? , 1 ) thì có phụ thuộc hàm đến các thực thể ( ?,N) Nếu có bản số [4, 4] thì có RBTV về tổng số bộ Bản số dạng ( ?, N) không trở thành các RBTV. III- HỒ SƠ THIẾT KẾ THÀNH PHẦN DỮ LIỆU : 1- Sơ đồ logic dữ liệu: 2- Từ điển dữ liệu : Thuộc tính Diễn giải MaSach Mã số sách 3- Mô tả các lược đồ quan hệ: Với mỗi quan hệ cần mô tả các thông tin sau: Tên Bảng : Tân từ : Khóa chỉ định (Unique Key / Candidate Key) : Khóa chính (Primary Key ) : Các thuộc tính : Thuộc tính Kiểu Kích thước Miền giá trị Not Null Các khóa ngoại : Khóa ngoại Bảng tham chiếu Khóa nội Các chỉ mục (Indexes): Tên chỉ mục Thuộc tính Thứ tự Unique Not Null 37
  13. 4- Các RBTV trên các quan hệ Mỗi ràng buộc cần thể hiện các thành phần: - Mã RB - Bối cảnh - Mô tả RB : bằng văn bản, ngôn ngữ đại số quan hệ. - Tầm ảnh hưởng: - Thuật toán kiểm tra và xử lý ràng buộc. 5- Bảng tầm ảnh hưởng các RBTV Các RBTV được trình bày theo các cột, các thực thể và MKH được trình bày theo các dòng. Ô giao điểm giữa cột và dòng ghi nhận tầm ảnh hưởng của các thao tác thêm sửa xóa. 38
  14. Chương 6: THIẾT KẾ THÀNH PHẦN XỬ LÝ Ở MỨC TỔ CHỨC I- Mục Đích Thiết Kế:  Xét bản chất của từng hoạt động xử lý để quyết định: hoạt động nào thực hiện bằng phương pháp thủ công, hoạt động nào có thể tự động hóa được.  Xem xét sự bố trí của từng hoạt động xử lý trong không gian, thời gian như thế nào. Không gian: Ai làm gì và ở đâu Thời gian: Khi nào sẽ thực hiện Từ đó, hình thành mô hình tổ chức xử lý cùng với việc đặc tả các chức năng xử lý tự động hóa. II- CÁC KHÁI NIỆM CỦA MÔ HÌNH TCXL: 1- Chổ làm việc: Trạm làm việc là nơi thực hiện một họat động xử lý cụ thể nào đó, nó đặc trưng bởi những phạm trù sau đây:  Vị trí địa lý (quan trọng nếu ở xa nhau).  Con người: là những người liên quan đến các hoạt động của hệ thống Những người bên trong tổ chức bao gồm: . Người chuẩn bị dữ liệu hay cung cấp dữ liệu. . Người ghi nhận dữ liệu. . Người truyền dữ liệu. . Người biến đổi dữ liệu. . Người khai thác dữ liệu. Những người bên ngoài tổ chức: ví dụ công ty thương mại thì có các đối tượng ngoài là khách hàng, nhà cung ứng  Máy móc Ví dụ : Tổ tiếp nhận đơn đặt hàng ở phòng kinh doanh. 2- Thủ tục chức năng: Một thủ tục chức năng có thể bao gồm các công việc sơ cấp nhưng trong cùng một chu kỳ và được thực hiện bởi 1 diễn viên duy nhất, hoặc một máy duy nhất. Ví dụ: Cập nhật hồ sơ khách hàng Gởi hoá đơn cho khách hàng. Một ô xử lý ở mức quan niệm xử lý có thể gồm nhiều thủ tục chức năng ở mức tổ chức xử lý. Với mỗi thủ tục chức năng cần xác định: - Thời gian thực hiện - Bản chất của chức năng: Thủ công Tự động: Thời gian thực hay thời gian được trể . Thời gian thực (TGT): tương tác qua lại với hệ thống. . Thời gian được trễ (TGÐT) - Xử lý theo lô : tồn trữ dữ liệu của các biến cố, rồi xử lý một lần theo định kỳ. Ví dụ: Báo cáo tồn kho, - Chổ làm việc - Nguồn gốc : QTQL Ví dụ: Tổ chức “Kiểm tra đơn đặt hàng” gồm những thủ tục chức năng: a- Nhận ĐĐH mới Thủ công b- Kiểm tra khả năng của một khách hàng Tự động, thời gian thực c- Kiểm tra tồn kho Tự động, thời gian thực d- Cập nhật ĐĐH Tự động 39
  15. Một thủ tục chức năng phải có một bản chất xử lý duy nhất: hoặc là thủ công hoặc là tự động. Nếu nó phức tạp lại có thể chia nhỏ ra thành các chức năng để dễ nhận biết cũng như triển khai sau này. Người ta thường lập bảng các thủ tục chức năng để theo dõi, kiểm soát nếu có thủ tục chức năng nào trùng lắp hay có mặt ở nhiều đơn vị tổ chức xử lý thì điều chỉnh để có một tập hợp đầy đủ nhưng gọn nhất. Cấu trúc bảng kê các thủ tục chức năng như sau: STT TTCN Thời gian Bản chất Chổ L/Việc Xuất xứ từ ô xử lý 1 T/n đặt hàng Trong giờ làm việc TC Tổ tiếp nhận DDH 1: KT DDH 2 Ktra về KH Nt TĐ, TGT nt 1:Ktra DDH 3 Ktra về tồn kho Nt TĐ, TGT Kho hàng Nt 3- Dòng dữ liệu ở mức tổ chức: Mỗi dòng dữ liệu sẽ ghi nhận về trạng thái của thông tin tại thời điểm xử lý. Các yếu tố để mô tả 1 dòng dữ liệu ở mức tổ chức : - Nơi phát sinh - Nơi nhận - Tần suất xuất hiện sự kiện: bao nhiêu lần trong ngày, tuần, (liên quan đến các đơn vị xử lý, các TTCN) Bao nhiêu lâu có 1 đơn đặt hàng mới Trong 1 ngày/tuần có bao nhiêu đơn đặt hàng mới - Thời gian đáp ứng: ngay hay cuối ngày, cuối tuần Đối với các sự kiện lịch: cần phân biệt rõ ràng: cuối 1 tuần, cuối 1 ngày, cuối 1 tháng. Cuối 1 ngày thì vào lúc mấy giờ, cuối 1 tháng thì vào ngày nào trong tháng. III- Xây Dựng Sơ Đồ DDL Ở Mức Tổ Chức Qua Các Chổ Làm Việc: Dựa trên mô hình quan niệm xử lý, với mỗi ô xử lý ta xác định các thủ tục chức năng. Ví dụ: Từ mô hình xử lý Khách Hàng Khách Hàng MH 1 2 3 KT XLý Theo dõi Khách DDH DDH TToán HĐ Hàng MH KH HD 4 Xlý GHàng KH Ta xây dựng bảng chức năng STT TTCN Thời gian Bản chất Chổ L/Việc Xuất xứ từ Ô xử lý 1 T/n đặt hàng Trong giờ lv TC Tổ tiếp nhận 1: KT DDH 2 Ktra về KH Nt TĐ, TGT nt 1:Ktra DDH 3 Ktra về tồn kho Nt TĐ, TGT Kho hàng Nt 4 Thông báo DDH không GQ Nt TC, TGT Tổ tiếp nhận Nt 40
  16. được 5 Lập PGH và HD Nt TĐ, TGT Nt 2 6 Cập nhật tồn kho Nt TĐ, TGT Kho hàng Nt 7 Giao hàng cho khách Nt TC Tổ giao hàng 4 8 Ghi nhận thanh toán Nt TĐ, TGT P. kế toán 3:Theo dỏi TTHD 9 Đóng dấu thanh toán đủ trên Nt TC P. kế toán Nt HD lưu Thiết lập Sơ đồ tổ chức xử lý: KH Tổ tiếp nhận ĐH Kho Hàng P. Kế toán ĐĐH 3. Kiểm tra 1. Tiếp nhận tồn kho ĐH KH 2. Kiểm Tra HD về KH MH MH DDH bị 4. Tbáo từ chối từ chối DDH PGH & HĐ 6. Cập nhật MH MH KH tồn kho HD 5. Lập PGH & HD MH Hóa Đơn Hg để giao cho KH&PGH&HD 7. Giao Hàng Hàng, PGH,HĐ Công nợ 8. Ghi nhận đư ợc giao Công nợ KH TT HĐ KH Hóa đơn đã TT đủ Hóa đơn 9. Đóng dấu được TT TT đủ lên HĐ lưu Lưu HĐ đã được đóng dấu 41
  17. IV- Đặc tả xử lý: Đặc tả xử lý là công việc rất quan trọng trong quá trình thiết kế xử lý. Đặc tả xử lý tốt sẽ giúp cho các lập trình viên hiểu được nội dung xử lý và phương pháp thực hiện để triển khai thành các đơn thể chương trình. Tương tự như giai đoạn phân tích, mỗi chức năng xử lý cần được mô tả các nội dung: Tên chức năng, Input (dòng dữ liệu vào), Output (dòng dữ liệu ra) và thuật giải Việc đặc tả xử lý có thể được thực hiện bằng những công cụ thông dụng như : - Mã giả - Lưu đồ thuật giải - Bảng quyết định - Cây quyết định 1- Mã giả: a- Các khái niệm cơ bản: - Tập dữ liệu: dùng thể hiện thông tin có cầu trúc của một lớp đối tượng. Tên của tập dữ liệu được biểu diễn bằng chữ in hoa: NHA_CUNG_CAP, DDH - Phần tử: là thông tin của một đối tượng trong lớp đối tượng. Tên của phần tử được biểu diễn bằng chữ thường. Ví dụ: ncc1 NHA_CUNG_CẤP - Thuộc tính của phần tử được ký hiệu : TênPT.TênThuộcTính - Biến: dùng lưu trữ giá trị tạm thời : a = ncc1.TEN_NCC b- Các cấu trúc điều khiển: Ngoài các cấu trúc điều khiển cơ bản trong các ngôn ngữ lập trình, riêng đối với tập dữ liệu chúng ta có thể bổ sung thêm 2 cấu trúc sau: Cấu trúc chọn: Dùng chọn 1 phần tử trong tập hợp thỏa mãn một số tiêu chuẩn nào đó: CHỌN ddh DDH sao cho ddh.SO_DH = 100 NẾUKHÔNGCHỌNĐƯỢC thì xử lý không tồn tại NẾUCHỌNĐƯỢC thì xử lý ddh đã chọn CUỐI_CHỌN Cấu trúc duyệt: Dùng thể hiện một công việc được thực hiện tuần tự trên từng phần tử của tập dữ liệu: ddh DDH sao cho ddh.TongTriGia >= 1.000.000 thì Ddh.GiamGia = 0.20 CUỐI_ 2- Cây quyết định. Cây quyết định thường được sử dụng khi quy tắc xử lý không quá phức tạp. Nó là công cụ dễ hiểu, dễ kiểm chứng đối với người sử dụng. Dễ dàng phát hiện những điểm không hợp lý: một tình huống không bao giờ xảy ra hai hành động khác nhau. Cấu trúc của một cây quyết định: 42
  18. 3- Bảng quyết định. Thường dùng trong những trường hợp phức tạp khi lựa chọn một quyết định. Kiểu 1: Bảng quyết định theo điều kiện (Ðúng/Sai) Chú ý: Nếu có n điều kiện thì sẽ có tối đa 2n tình huống do sự kết hợp giữa các điều kiện. Kiểu 2: Bảng quyết định theo chỉ tiêu. Mỗi một công cụ có một ưu điểm và nhược điểm riêng. Tùy theo tính chất của xử lý và đối tượng trình bày mà lựa chọn công cụ thích hợp, và có thể kết hợp tất cả các phương pháp trên. 43
  19. Chương 7: THIẾT KẾ GIAO DIỆN NGƯỜI VÀ MÁY I- ĐẶT VẤN ĐỀ: Đối với User giao diện cần: - Dễ chịu - Thích thú - Tiện nghi - Tạo năng suất làm việc cao cho người sử dụng Dẫn đến, không còn xử lý theo lô mà lập trình xử lý theo biến cố. Các nguyên tắc thiết kế: 1- Tính dễ dùng: Bảo đảm hệ thống dễ dùng cho người sử dụng không chuyên. Thông qua các đặc trưng sau: 1.1 Tính thân thiện: (User Friendly) - Các chức năng được mô tả một cách dễ hiểu. - Các hoạt động được thực hiện theo trình tự tự nhiên nhất đối với User - Hệ thống có thể phát hiện được những sai sót do bất cẩn, sơ ý của người dùng. - Dự trù sẵn những hành động gợi ý người khai thác khi có những tình huống đặc biệt. - Người khai thác biết được mình đang thực hiện ở đâu trong thứ tự thực hiện. - Có hướng dẫn trợ giúp đầy đủ. 1.2 Tính Ergonomic: Làm cho người dùng cảm thấy dễ chịu, không mệt mỏi khi làm việc lâu với phần mềm. Điều này phụ thuộc ở các yêu tố: - Màu sắc giao diện - Vị trí của các lệnh - Cách giao tiếp với hệ thống, Cần phải thống nhất các yếu tố trên ở các màn hình nhập xuất. 2- Tính nhất quán của hệ thống: Được đánh giá thông qua một số tiêu chuẩn dựa trên NSD và người bảo trì. Đối với NSD: Dễ nhớ, dễ dùng Đối với người bào trì: Dễ bảo trì Có 4 tiêu chuẩn: - Dữ liệu: Sử dụng tên gọi, cách trình bày thống nhất. - Sưu liệu: tài liệu hướng dẫn người sử dụng và người bảo trì phải như nhau. - Mã hóa dữ liệu: chọn hình thức mã hóa duy nhất - Cấu trúc của toàn hệ thống: Cách trình bày menu các cấp phải như nhau. Cách phân chia như nhau. Có 3 loại giao diện: Đầu vào: Thiết kế màn hình nhập xóa sửa dữ liệu. Đầu ra: màn hình kết xuất báo biểu Đối thoại giữa người sử dụng và hệ thống. II- THIẾT KẾ ĐẦU VÀO: 1- Mục tiêu: Cần tránh các vấn đề sau: (i) Tránh tình trạng bị ứ đọng dữ liệu: khi giải quyết cho nhiều người cùng cập nhật dữ liệu (ii) Tránh cho người khai thác bị phạm lỗi khi cập nhật dữ liệu như gõ dữ liệu sai hay bỏ sót dữ liệu. (iii) Tránh những công đoạn thừa làm chậm thao tác của user. 44
  20. (iv) Chọn lựa qui trình nhập đơn giản nhất và hợp với tự nhiên. Điều đó sẽ làm tăng năng suất, giảm lỗi. 2- Nội dung màn hình nhập: Dựa trên nội dung dữ liệu nhập, thời điểm phát sinh dữ liệu Ví dụ: Cần nhập một hóa đơn ở thời gian t. Khi đó cần tổ chức màn hình nhập chung hay riêng rẽ: (i) Nhập hóa đơn (ii) Nhập chi tiết hóa đơn (iii) Thông tin khách hàng 3- Cách trình bày các dữ liệu nhập: Cần phù hợp với mẫu điền tay trong thực tế và thói quen của User. Thường có các kiểu nhập như sau: - Dạng ô nhập (Text Box): Người dùng phải gõ dữ liệu trong ô. - Dạng chọn lựa: Combo/List Box - Dạng đánh dấu chọn: Check box, Option, Toggle Vị trí tiêu đề có thể đặt ở: Trước ô: Họ tên : Sau ô : . Họ tên Trên ô: thường được dùng ở Châu Âu Dưới ô: thường được dùng ở Bắc Mỹ. 4- Chú ý kiểm tra RBTV và phát hiện sai sót khi nhập liệu: (i) Quyết định kiểm tra lúc nào: Thường có 2 thời điểm: Ngay lúc nhập hay khi kết thúc ca làm việc. Điều này, phụ thuộc vào yêu cầu thực tế và yêu cầu công việc. (ii) Phản ứng của hệ thống khi phát hiện lỗi: - Chọn hướng giải quyết cho User - Từ chối hẳn toàn bộ dữ liệu nhập 5- Chọn lựa phương tiện nhập: Bàn phím, chuột, máy quét, Dùng viết chỉ thẳng lên màn hình, viết quang học. Dựa trên phương châm: Dễ dùng, ít bị phạm lỗi. 6- Thiết kế đối thoại để hướng dẫn User: Giúp người dùng không cảm thấy bồi rối và biết làm gi tiếp theo. Khi User phạm lỗi thì phải thông báo và kèm theo hướng dẫn để User biết sẽ phải làm gì tiếp theo. III- THIẾT KẾ ĐẦU RA: Báo biểu hay tập tin 1- Các dạng kết xuất: Phụ thuộc yêu cầu của người sử dụng. Thường có các dạng kết xuất như: - Báo biểu - Sao chép ra tập tin - Thông báo 2- Nội dung kết xuất: Dữ liệu trên các kết xuất có thể lấy từ: - Các dữ liệu lưu trữ bên trong hệ thống - Tính toán từ 1 xử lý - Do người dùng mới nhập Hai nội dung sau cần phải kiểm tra trước khi kết xuất. 3- Hình thức trình bày kết xuất: Bảng biểu: ví dụ như bảng lương, Bảng điểm các sinh viên trong lớp 45
  21. Thích hợp với những kết xuất chứa nhiều chi tiết dữ liệu. Trong đó: - Ít phải giải thích - Xếp loại theo thứ tự, theo loại dữ liệu - Có dữ liệu tổng cộng cần tính toán. Dạng phiếu: Thích hợp với những kết xuất chứa thông tin của một đối tượng, một chi tiết dữ liệu Biểu đồ: Được sử dụng khi: - Muốn nhìn toàn cảnh, Quan tâm đến khuynh hướng phát triển của dữ liệu - So sánh dữ liệu giữa các thành phần Cách dùng màu trên kết xuất: - Những thông tin muốn nhấn mạnh, gây chú ý: Màu sáng chói - Những thông tin không muốn nhấn mạnh: Màu nhạt IV- THIẾT KẾ ĐỐI THOẠI: 1- Đặc điểm: Dựa trên giao diện đồ họa GUI (Graphical User Interface) người ta đưa ra mô hình giao diện WIMP ( Windows Icons Menu Pointer). Đặc trưng của mô hình này là: - Hổ trợ thao tác trực tiếp: Các chức năng được hiển thị bằng các biểu tượng hình vẽ giúp người dùng học tập sử dụng nhanh - Phù hợp nguyên tắc: WYSIWYG ( What You See Is What You Get) - Sử dụng hệ thống cửa sổ để trình bày bối cảnh của hệ thống thông tin. Bao gồm: Cửa sổ làm việc, cửa sổ thông báo, cửa sổ trợ giúp Có 2 cách trình bày: Cách 1: Chia màn hình ra cố định 1 số cửa sổ. Cách 2: Các cửa sổ được mở chồng lên nhau, có thể di chuyển, và có một cửa sổ hiện hành. - Sử dụng hệ thống thực đơn giúp chọn lựa nhanh một chức năng cần thực hiện - Không cần phải theo một thứ tự thực hiện. 2- Các mức thiết kế: Giao diện là nơi giao tiếp, thông dịch giữa người và máy. Có 3 mức thiết kế: (i) Mức ngữ nghĩa: Xác định nội dung của giao diện. Bao gồm: Xác định các chức năng cần xử lý, phân loại và gom nhóm. Thường phân chia 3 nhóm: Nhóm 1: gồm các chức năng xử lý các dữ liệu thường trực, như thêm, xóa, sửa, tham khảo. Nhóm 2: Các xử lý đặc thù của hệ thống trên các dữ liệu biến động. Nhóm 3: Các thống kê thực hiện định kỳ. Xác định dữ liệu cần thao tác trong từng chức năng xử lý. Ví dụ: Sửa chữa dữ liệu khách hàng: cho phép sửa các thuộc tính ngoại trừ mã số khách hàng. (ii) Mức cú pháp: Xác định kiểu đối thoại giữa người sử dụng và hệ thống - Kiểu câu hỏi – trả lời - Thực đơn: User không cần nhớ cú pháp - Mẫu biểu để điền: thường dùng trong nhập liệu - Phím chức năng: rất hiệu quả khi có ít phím chức năng. Cần chuẩn hóa theo thực tế thói quen. - Ngôn ngữ lệnh đưa từ bàn phím: Đạt yêu cầu xử lý tốc độ cao, nhưng thời gian huấn luyện lâu. 46
  22. (iii) Mức từ vựng: Xác định cách trình bày từ vựng trên giao diện dễ hiểu, dễ nhớ, phù hợp để người dùng dễ thao tác. Bao gồm: - Hình thức trình bày các biểu tượng - Tên gọi các chức năng, nút lệnh - Cách diễn đạt thông báo lỗi. - Cách hướng dẫn - Cách dùng màu: trên 1 màn hình dùng tối đa 8 màu và nên chọn ra 1 số màu cho các thao tác có ý nghĩa nhất, ví dụ như màu đỏ báo lỗi, màu cam nguy hiểm, màu xanh có thể tiếp tục. Khi phân tích có thể bắt đầu từ mức nào trước cũng được. Nhưng người ta thường phân tích: (i) < (ii)< (iii) 47
  23. CẤU TRÚC CỦA ĐỒ ÁN Môn: Phân tích Thiết kế Hệ Thống Thông Tin I- Phần giới thiệu: Nhu cầu và mục tiêu xây dựng hệ thống thông tin mới. II- Khảo sát hiện trạng: Giới thiệu tổng quan về chức năng, tình hình họat động, mục tiêu phát triển của tổ chức; Hiện trạng quản lý Hiện trạng tin học hóa quản lý tại tổ chức Đánh giá và phê phán hiện trạng Đề xuất hướng phát triển của hệ thống mới Lên kế hoạch thực hiện. Đánh giá tính khả thi, dự đoán sơ bộ về chi phí và lợi nhuận III- Phân tích: a. Phân tích thành phần dữ liệu mức quan niệm i. Mô hình thực thể - kết hợp ii. Sưu liệu b. Phân tích thành phần xử lý mức quan niệm i. Các yêu cầu chức năng và phi chức năng ii. Mô hình DFD quan niệm hệ thống mới (và sưu liệu) IV- Thiết kế : a. Thiết kế dữ liệu i. Mô hình quan hệ biểu diễn cài đặt dữ liệu hệ thống ii. Ràng buộc toàn vẹn b. Thành phần xử lý mức tổ chức c. Thiết kế chức năng hệ thống i. Các module hệ thống ii. Kiến trúc hệ thống d. Thiết kế giao diện e. Thiết kế report V- Cài đặt Ghi chú: Font size: 13 Font: Times new roman Đồ án được kiểm tra kết quả theo 4 phần: Giới thiệu (2 đ), Phân tích (4đ), thiết kế (2 đ), cài đặt (2đ). (tổng cộng 10 đ). 48
  24. Tài Liệu Tham Khảo 1. Phân tích, thiết kế, cài đặt hệ thống thông tin quản lý - Nhóm tác giả thuộc Viện Tin Học. Viện Tin Học, Hà Nội 1990. 2. Phân tích thiết kế hệ thống thông tin quản lý – T.S Trần Thành Trai 3. Analysis and Design of Information Systems - James A. Senn. Mc Graw Hill, New York 1989. Structured Analysis and System Specification - James Martin. Yourdon Inc., New York 1978. 49