Tiếp nội dung của phần 1 Bài tập Phân tích và thiết kế hệ thống thông tin quản lý: Phần 2 cung cấp các kiến thức về Phân tích hệ thống về dữ liệu; Thiết kế hệ thống, thiết kế tổng thể, thiết kế cơ sở dữ liệu, thiết kế các báo cáo, thiết kế các kiểm soát, thiết kế chương trình. Mời các bạn cùng tham khảo!
Bài tập Phân tích thiết kế hệ thống thơng tin quản lý Chương THIẾT KẾ HỆ THỐNG A TÓM TẮT LÝ THUYẾT Thiết kế hệ thống trình chuyển đặc tả lơ gic chức liệu hệ thống thành đặc tả vật lý sở xem xét yêu cầu người sử dụng ràng buộc vật lý Nói cách khác, thiết kế hệ thống trình xây dựng mơ hình vật lý cho hệ thống nhằm đáp ứng yêu cầu người sử dụng Khác với mơ hình nhắc đến q trình phân tích hệ thống, nhằm trả lời câu hỏi “ Làm gì?”, giai đoạn thiết kế hệ thống, mơ hình cần trả lời câu hỏi “Làm nào?” Nội dung thiết kế bao gồm nhiều vấn đề, số nội dung sau thường quan tâm triển khai dự án: - Thiết kế tổng thể : xác định rõ thành phần nhiệm vụ, chức phương thức xử lý thông tin chúng - Thiết kế giao diện: chi tiết hố hình thức giao tiếp giao tiếp người máy thơng qua mẫu hình (form), báo cáo - Thiết kế kiểm soát: nhằm xác định công cụ chế đảm bảo an toàn toàn vẹn liệu cho hệ thống - Thiết kế liệu: chuyển mơ hình liệu, phân tích giai đoạn trước, thành cấu trúc liệu cần thiết cho việc xây dựng, cài đặt phần mềm - Thiết kế chương trình: Thiết kế cấu trúc chương trình, thiết kế đặc tả mơ đun Những thơng tin cần thiết cho q trình thiết kế hệ thống bao gồm: - Các đặc tả logic hệ thống: sơ đồ phân rã chức năng, sơ đồ dịng liệu, mơ hình liệu - Các điều kiện ràng buộc yêu cầu khả đáp ứng phần cứng, phần mềm; yêu cầu thời gian cho đối thoại; yêu cầu tính xác xử lý Mỗi phương án thiết kế thường kết hợp hai yếu tố: mục tiêu, nhiệm vụ hệ thống điều kiện thực cụ thể Phạm Hùng Phú - Nguyễn Văn Thẩm 133 Bài tập Phân tích thiết kế hệ thống thông tin quản lý 4.1 Thiết kế tổng thể Việc thiết kế tiến trình máy tính thực dựa kiến trúc tổng thể hệ thống Trong đó, hệ thống phân chia thành hệ thống con, phân định nhiệm vụ người nhiệm vụ máy tính hệ thống 4.1.1 Xác định hệ thống Một hệ thống tập hợp số chức nhăm thực nhiệm vụ mục đích hệ thống Mục đích việc phân chia hệ thống thành hệ thống nhằm giảm bớt phức tạp tạo điều kiện thuận lợi cho việc thiết kế chương trình, liệu sửa chữa, bảo dưỡng sau Cơ sở để thực phân chia hệ thống thành hệ thống dựa vào: - Sự phân tách chức năng, tiến trình sơ đồ dịng liệu Sự phân tách sẵn có sơ đồ dòng liệu gợi ý tốt, nhiên, cần phải xem xét thêm khía cạnh: + Các chức hệ thống phải có gắn kết Các chức gắn kết theo mục đích hệ thống nhu cầu trao đổi thông tin + Sự trao đổi thông tin hệ thống với yếu đơn giản, tốt - Phân loại đối tượng hệ thống Gom chức xử lí liên quan tới đối tượng vào hệ thống - Các kiện giao dịch xảy hệ thống Gom chức khởi động, giao dịch xảy ra, vào hệ thống - Các nhu cầu xử lý thông tin theo thời gian - Các nhu cầu xử lý đặc biệt nhằm thoả mãn yêu cầu công tác nghiệp vụ, phù hợp với cấu trúc vật lý tổ chức đặc thù phân công nhiệm vụ tổ chức 4.1.2 Phân chia tiến trình Hai trường hợp xảy ra: - Một tiến trình xử lý trọn vẹn máy tính người sử dụng xử lý phương pháp truyền thống Tên tiến trình giữ nguyên 134 Phạm Hùng Phú - Nguyễn Văn Thẩm Bài tập Phân tích thiết kế hệ thống thơng tin quản lý - Một chức tách thành hai phần, phần xử lý máy tính, phần khác xử lý phương pháp thủ cơng Chọn tên thích hợp cho hai phần Cơ sở để phân chia tiến trình: - Thông tin phần cứng, phần mềm sử dụng - Tiến trình thực theo phương thức xử lý 4.1.3 Phân chia liệu - Kho liệu liên quan đến tiến trình máy tính mơ tả mơ hình liệu - Kho liệu thuộc phần xử lý thủ công bảng biểu, tập hồ sơ lưu trữ văn phòng Những kho liệu thuộc phần thực thủ công phải loại khỏi mơ hình liệu Như vậy, sau xác định tiến trình máy tính, mơ hình liệu bỏ bớt vài kiểu thực thể số thuộc tính kiểu thực thể 4.1.4 Xác định phương án thực - Khi xây dựng sơ đồ dòng liệu hệ thống, cần ý tới tính chất xử lý tiến trình Hai phương thức xử lý thơng tin: “Theo lô” “trực tuyến” thường sử dụng nhiều hệ thống - Nếu chọn phương thức xử lý theo lơ, có nghĩa thiếu tính đối thoại mơ hình, cần có mơ tả tiến trình máy tính chi tiết đầy đủ Bản mơ tả tiến trình cần trình bày ngơn ngữ có cấu trúc tự nhiên kèm theo mơ tả, thuật ngữ định nghĩa Từ điển liệu - Với tiến trình có tính trực tuyến mơ tả tiến trình phải thể sơ đồ dòng liệu hệ thống - Quyết định chọn cách xử lý phải dựa ý kiến người sử dụng Kết thiết kế phương án sử dụng máy tính ghi lại sơ đồ dòng liệu hệ thống 4.2 Thiết kế sở liệu Thiết kế sở liệu tiến trình tạo tệp liệu hệ thống Thơng tin đầu vào cho thiết kế liệu gồm phân tích liệu như: Mơ hình thực thể liên kết, mơ hình liệu quan hệ, Sơ đồ dòng liệu hệ thống mơ hình lịch sử Phạm Hùng Phú - Nguyễn Văn Thẩm 135 Bài tập Phân tích thiết kế hệ thống thông tin quản lý đời thực thể Thông tin ràng buộc thực phần cứng, phần mềm người sử dụng, thời gian đáp ứng yêu cầu, điều kiện kiểm soát, điều kiện an toàn hệ thống cần thiết cho thiết kế sở liệu 4.2.1 Phân tích sử dụng liệu - Bổ sung thuộc tính + Trong phân tích liệu, để giảm thiểu dư thừa liệu, thuộc tính tính tốn thường loại khỏi mơ hình Sự có mặt thuộc tính hệ thống chứa đựng nguy tiềm ẩn phá vỡ toàn vẹn liệu + Tuy nhiên thuộc tính có ích thực tiến trình Nếu thuộc tính thường xuyên tra cứu khoảng thời gian đó, lần tra cứu đến lại phải thực nhiều khâu phức tạp lưu giữ chúng mơ hình để giảm bớt tính tốn phức tạp có lợi + Trong giai đoạn thiết kế, cần xem xét giữ lại thuộc tính dạng tính tốn thường xun dùng liên quan đến tính tốn phức tạp Khi thiết kế, nên để thuộc tính thuộc tính bảng riêng phải xem xét ràng buộc toàn vẹn mới, để đảm bảo tính quán liệu hệ thống - Nghiên cứu yêu cầu truy nhập + Các yêu cầu thông tin cho chức xem xét sơ đồ dòng liệu Tuy nhiên, sơ đồ dòng liệu lại không cách thức truy nhập kho liệu Yêu cầu truy nhập thể yêu cầu tìm kiếm, cập nhật, bổ sung hay loại bỏ số thông tin sở liệu + Với bước truy nhập, cần mô tả thông tin: o Bảng liệu cần truy nhập, o Các thông tin biết trước, cịn gọi khố tìm kiếm, o Trường tra cứu, o Tần suất truy nhập - Đánh giá không gian lưu trữ + Số lượng ghi bảng liệu gọi dung lượng bảng liệu Thông tin cần bổ sung vào mơ tả (có thể ghi vào ngăn cuối bảng liệu) 136 Phạm Hùng Phú - Nguyễn Văn Thẩm Bài tập Phân tích thiết kế hệ thống thơng tin quản lý + Trong thực tế, số lượng ghi thường biến động Chúng tăng lên theo thời gian lại bị giảm Thông thường, người ta thường ghi số lượng trung bình khoảng thời gian ứng với chu kỳ hoạt động hệ thống + Việc tính tốn, ước lượng dung lượng bảng liệu có ảnh hưởng lớn tới việc lựa chọn thiết bị lưu trữ sau 4.2.2 Thiết kế sở liệu vật lý Lược đồ vật lý cấu trúc lưu trữ liệu nhớ ngồi Ngồi mơ hình lơ gic phân tích nhu cầu sử dụng, lược đồ vật lý phụ thuộc vào phần cứng phần mềm hệ thống - Tệp phương thức truy nhập: Có phương thức truy nhập Truy nhập Truy nhập theo dẫn Khi phải tìm ghi tệp có nhiều ghi, cách duyệt để tìm kiếm tốn nhiều thời gian Trong trường hợp này, thêm tệp dẫn dựa theo khố tìm kiếm việc truy nhập thực trực tiếp với ghi tệp - Thiết kế tệp sở liệu hợp lý: Quá trình thiết kế tệp sở liệu vật lý bao gồm nội dung: Thiết kế trường, ghi, tệp sở liệu Thông tin sử dụng để thiết kế tệp sở liệu bao gồm: Các lược đồ quan hệ chuẩn hoá, kể ước lượng dung lượng liệu cho lược đồ quan hệ; định nghĩa thuộc tính; mơ tả u cầu truy nhập; mô tả công nghệ sử dụng thiết bị lưu trữ, hệ điều hành hệ quản trị sở liệu 4.3 Thiết kế giao diện 4.3.1 Thiết kế giao diện theo hướng đối thoại 1) Một số yêu cầu chung Giao diện thiết kế phải thỏa mãn yêu cầu sau: - Dễ sử dụng với người chưa quen sử dụng máy tính - Người dùng dễ nắm bắt thao tác - Tốc độ thao tác nhanh tương đối chậm - Người dùng kiểm sốt việc đối thoại - Có thể phát triển yêu cầu khác 2) Một số dạng đối thoại thường gặp Phạm Hùng Phú - Nguyễn Văn Thẩm 137 Bài tập Phân tích thiết kế hệ thống thông tin quản lý - Dạng hỏi đáp: Đây dạng đối thoại đơn giản dễ sử dụng Dạng đối thoại phù hợp với người sử dụng trình độ khác Với dạng đối thoại hỏi đáp trên, cần có lời giải thích giải đầy đủ Dạng đối thoại có nhược điểm lời giải thích hướng dẫn lựa chọn bị hạn chế kích thước hình Tuy nhiên, ưu điểm lớn đơn giản dễ sử dụng, sử dụng rộng rãi với cải tiến nhằm khắc phục hạn chế dẫn lựa chọn Các cải tiến thường gặp tạo cửa sổ hướng dẫn dạng động (chỉ xuất gọi đến, xong việc lại cất cửa sổ), hướng dẫn dạng menu cuộn, lựa chọn nhằm làm tăng khả hướng dẫn lựa chọn đối thoại Bên cạnh việc giải nhược điểm nêu trên, dạng đối thoại thường tăng cường kỹ thuật mạnh tìm kiếm nhanh danh sánh hướng dẫn (dạng từ điển), nhập trực tiếp từ bàn phím chọn có sẵn Ví dụ hộp thoại hỏi khỏi chương trình Cad Hình 4.1 Hộp thoại hỏi khỏi chương trình Cad - Dạng thực đơn: Hình thức đối ngoại thơng qua thực đơn (menu: lựa chọn - đáp ứng) thể dạng thực đơn chữ thực đơn dạng biểu tượng Dạng đối thoại thông qua thực đơn sử dụng rộng rãi hầu hết hệ thống thông tin Trong trường hợp thực đơn chứa nhiều khả lựa chọn, người ta tổ chức phân nhóm lựa chọn, đưa thêm biểu tượng (hình vẽ) vào nhằm cung cấp thêm thông tin cho người sử dụng khả lựa chọn Cũng cần lưu ý rằng, hình thức đối thoại thông qua thực đơn phát triển, cải tiến nhiều Ví dụ thực đơn hệ điều hành Window 138 Phạm Hùng Phú - Nguyễn Văn Thẩm Bài tập Phân tích thiết kế hệ thống thơng tin quản lý Hình 4.2 Thực đơn hệ điều hành Window - Dạng điền mẫu: Là dạng đối thoại dùng phổ biến Dạng đối thoại thường sử dụng để nhập liệu ví dụ viết sẵn đơn hàng hình, sau điền nội dung cho mục Với hình thức đối thoại dạng điền mẫu, cần ý đảm bảo cho mẫu thể hình phải giống với mẫu thực tế có thêm trợ giúp mục phức tạp Ngoài ra, cần lưu ý ngôn ngữ trao đổi phải sáng, dễ hiểu, đơn nghĩa Ví dụ chương trình giải phương trình bậc Hình 4.3 Chương trình giải phương trình bậc Phạm Hùng Phú - Nguyễn Văn Thẩm 139 Bài tập Phân tích thiết kế hệ thống thơng tin quản lý - Ngôn ngữ lệnh: Nhập trực tiếp câu lệnh ứng với cú pháp ngơn ngữ lập trình sử dụng để yêu cầu máy tính thực công việc xác định, thông thường dạng SQL Tương tự cửa sổ lệnh chế đọ tượng tác trực tiếp số ngơn ngữ lập trình (như FoxPro, Dbase 4, SQL Server,…) 3) Một số hướng dẫn chung - Phải cung cấp thơng tin tình trạng hệ thống (trạng thái) hình thường xuyên cần thiết Việc cung cấp thông tin nhằm giúp cho người sử dụng tránh nhầm lẫn xảy thường xuyên có thông tin cần thiết hệ thống Với hệ thống (hay hệ thống con), cần xác định thông số cần thiết trạng thái hệ thống - Phải có chức kết thúc thao tác Với thao tác phức tạp quan trọng cần có chức kết thúc Nên tránh việc sử dụng thao tác khác làm chức kép kết thúc Ví dụ, vào thao tác in báo cáo, coi việc chọn máy in chức kích hoạt máy in gây cố Các thông số chưa chuẩn bị xong báo cáo in với thông số sai lệch - Giảm tối thiểu thao tác Các thao tác phải bố trí hợp lý xác tránh thao tác thừa không cần thiết - Chọn thông số thường lặp lại làm ngầm định - Có trợ giúp, có khả huỷ muốn loại bỏ thao tác xảy - Phải đảm bảo tính quán thao tác bố trí hình Việc dự tính thao tác bố trí hình cách quán nhằm giúp người sử dụng nhanh chóng nắm vững cách làm việc với hệ thống giảm bớt sai sót gặp phải Việc thống thao tác bố trí nhằm hình giúp cho việc kiểm soát hệ thống thuận tiện 4.3.2 Thiết kế hình 1) Yêu cầu kỹ thuật - Khi thiết kế hình nên có phân loại hình Tuỳ theo hệ thống mà có phân loại khác cho phù hợp Chẳng han, với đa số hệ thống thông tin quản lý, phân loại thành nhóm hình nhập liệu, nhóm 140 Phạm Hùng Phú - Nguyễn Văn Thẩm Bài tập Phân tích thiết kế hệ thống thơng tin quản lý hình nhập u cầu, nhóm hình đối thoại (phức tạp đơn giản) nhóm hình thơng báo - Giữa nhóm hình, nhóm thơng tin cần xếp có trật tự hợp lý Việc định vị hợp lý nhóm thơng tin giúp diễn đạt yêu cầu tốt - Nên sử dụng thống thứ tiếng Tránh sử dụng nhiều thứ tiếng hình, hệ thống Các thị yêu cầu phải thể cách rõ ràng dễ hiểu - Phải cung cấp trợ giúp cho người sử dụng khả thoát dễ dàng tình - Nên đưa hai mức thao tác cho người có trình độ sử dụng tốt trung bình Có thể cần cung cấp số thao tác Tuỳ chọn, cho phép người sử dụng đưa vào yêu cầu đa dạng phức tạp khó chuẩn hố trước Để thực thao tác Tuỳ chọn này, cần phải có trình độ định tốn học ngơn ngư lập trình đủ hiểu phép toán logic AND, OR, xor NOT Mặt khác, việc đưa thêm thao tác Tuỳ chọn vào hệ thống mở rộng khả khai thác thông tin từ hệ thống hướng tới đáp ứng nhu cầu khai thác thông tin khác người sử dụng 2) Màn hình nhập liệu Khi thiết kế hình nhập liệu, cần ý vấn dề thứ tự sử dụng, tần số sử dụng tầm quan trọng mục liệu Khi thiết kế hình nhập liệu, cần ý tới thuận tiện phương tiện nhập liệu Sự thuận tiện phương tiện nhập liệu không tuý dễ dàng di chuyển trỏ vùng liệu, mà thể khả dễ dàng sửa chữa liệu, ghi liệu, chép liệu Ví dụ hình nhập liệu cho hàm số Phạm Hùng Phú - Nguyễn Văn Thẩm 141 Bài tập Phân tích thiết kế hệ thống thơng tin quản lý Hình 4.4 Màn hình nhập liệu (Khơng Hình 4.5 Màn hình nhập liệu (Thuận tiện) thuận tiện) 3) Màn hình đối thoại Các hình đối thoại cần có thống cấu trúc Đây yêu cầu chung loại hình khác Ngồi ra, chủ đề đối thoại cần rõ ràng, ngắn gọn Tại thời điểm, nên đề cập đến vấn đề cụ thể Ví dụ 1, cửa sổ đối thoại tìm kiếm thay Microsoft Hình 4.6 Cửa sổ đối thoại tìm kiếm thay Ví dụ 2, cửa sổ đối thoại thiết lập thuộc tính hình Hình 4.7 Cửa sổ đối thoại thiết lập thuộc tính hình 142 Phạm Hùng Phú - Nguyễn Văn Thẩm Bài tập Phân tích thiết kế hệ thống thơng tin quản lý If op_m13.Value = True Then op_m12.Value = False rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText If rs.RecordCount > Then rpr_m13.Data1.RecordSource = str rpr_m13.Show Else MsgBox "Khơng tìm thấy !", vbOKOnly + vbExclamation, "Thông báo" End If End If End Sub „Thủ tục click Check box Cao đẳng quy Private Sub Checkcdcq_Click() If Checkcdcq.Value = Then Dcbmalop.Enabled = True Checkcdlt.Value = Checkdhcq.Value = Checkdhlt.Value = Dim name As String name = App.Path & "\quanlydiem.mdb" adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & name & "" adlop.CommandType = adCmdUnknown adlop.RecordSource = "select * from lop where left(tenlop,2)='CS' or left(tenlop,2)='CK'" adlop.Refresh Dcbmalop.DataField = "tenlop" Set Dcbmalop.DataSource = adlop Set Dcbmalop.RowSource = adlop Dcbmalop.ListField = "tenlop" Dcbmalop.Refresh dkmon = " left(mamon,4)='CDCQ' " End If End Sub „Thủ tục click Check box Cao đẳng liên thông Private Sub Checkcdlt_Click() 288 Phạm Hùng Phú - Nguyễn Văn Thẩm Bài tập Phân tích thiết kế hệ thống thơng tin quản lý If Checkcdlt.Value = Then Dcbmalop.Enabled = True Checkcdcq.Value = Checkdhcq.Value = Checkdhlt.Value = Dim name As String name = App.Path & "\quanlydiem.mdb" adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & name & "" adlop.CommandType = adCmdUnknown adlop.RecordSource = "select * from lop where left(tenlop,2)='CL' " adlop.Refresh Dcbmalop.DataField = "tenlop" Set Dcbmalop.DataSource = adlop Set Dcbmalop.RowSource = adlop Dcbmalop.ListField = "tenlop" Dcbmalop.Refresh dkmon = " left(mamon,4)='CDLT' " End If End Sub „Thủ tục click Check box Đại học quy Private Sub Checkdhcq_Click() If Checkdhcq.Value = Then Dcbmalop.Enabled = True Checkcdlt.Value = Checkcdcq.Value = Checkdhlt.Value = Dim name As String name = App.Path & "\quanlydiem.mdb" adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & name & "" adlop.CommandType = adCmdUnknown adlop.RecordSource = "select * from lop where left(tenlop,2)='ĐK' or left(tenlop,2)='ĐS'" adlop.Refresh Dcbmalop.DataField = "tenlop" Phạm Hùng Phú - Nguyễn Văn Thẩm 289 Bài tập Phân tích thiết kế hệ thống thơng tin quản lý Set Dcbmalop.DataSource = adlop Set Dcbmalop.RowSource = adlop Dcbmalop.ListField = "tenlop" Dcbmalop.Refresh dkmon = " left(mamon,4)='DHCQ' " End If End Sub „Thủ tục click Check box Đại học liên thông Private Sub Checkdhlt_Click() If Checkdhlt.Value = Then Dcbmalop.Enabled = True Checkcdlt.Value = Checkdhcq.Value = Checkcdcq.Value = Dim name As String name = App.Path & "\quanlydiem.mdb" adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & name & "" adlop.CommandType = adCmdUnknown adlop.RecordSource = "select * from lop where left(tenlop,2)='ĐL' " adlop.Refresh Dcbmalop.DataField = "tenlop" Set Dcbmalop.DataSource = adlop Set Dcbmalop.RowSource = adlop Dcbmalop.ListField = "tenlop" Dcbmalop.Refresh dkmon = " left(mamon,4)='DHLT' " End If End Sub „Thủ tục click Combox mã lớp Private Sub Dcbmalop_Click(Area As Integer) cbnamhoc.Enabled = True Dim rs As New ADODB.Recordset Dim str str = "select * from lop where (tenlop='" & Trim(Dcbmalop) & "')" rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText 290 Phạm Hùng Phú - Nguyễn Văn Thẩm Bài tập Phân tích thiết kế hệ thống thơng tin quản lý txttenlop = rs!malop End Sub „Thủ tục click Combox môn học Private Sub dcbmonhoc_Click(Area As Integer) op_m12.Enabled = True op_m13.Enabled = True End Sub „Thủ tục khởi tạo form Private Sub Form_Initialize() cbky.Enabled = False dcbmonhoc.Enabled = False dcbmonhoc.Text = "" Dcbmalop.Enabled = False cd_in.Enabled = False cbnamhoc.Enabled = False End Sub „Thủ tục nạp form Private Sub Form_Load() Open_mdb End Sub „Thủ tục giải phóng form Private Sub Form_Unload(Cancel As Integer) close_mdb End Sub „Thủ tục click Option in mẫu 12 Private Sub op_m12_Click() cd_in.Enabled = True End Sub „Thủ tục click Option in mẫu 13 Private Sub op_m13_Click() cd_in.Enabled = True End Sub 5) Chức in phiếu báo điểm đánh giá học phần Phạm Hùng Phú - Nguyễn Văn Thẩm 291 Bài tập Phân tích thiết kế hệ thống thơng tin quản lý Thiết kế control (đối tượng) form STT Thuộc tính Giá trị Name Checkcdcq Caption CK, CS Name Checkcdlt Caption CL Name Checkdhcq Caption ĐK, ĐS Combox Tên lớp Name Dcbmalop Combox Năm học Name cbnamhoc Combox Kỳ Name cbky Combox Tên môn Name dcbmonhoc Name op_m16 Caption Phiếu báo điểm học phần lý thuyết Name op_m17 Check box CK, CS Check box CL Check box ĐK, ĐS 292 Tên đối tượng Option Mẫu 1_12 10 Option Mẫu 16 Caption Phiếu báo điểm học phần thự hành 11 Command In ấn Name Cdin 12 Check box lân Name Checklan1 Caption Lân 13 Check box thi lại Name Checkthilai Caption Thi lại Phạm Hùng Phú - Nguyễn Văn Thẩm Bài tập Phân tích thiết kế hệ thống thơng tin quản lý Option Explicit Dim dkmon As String „Thủ tục click combox kỳ Private Sub cbky_Click() dcbmonhoc.Enabled = True Dim name As String name = App.Path & "\quanlydiem.mdb" If op_m16.Value = True Then Admon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & name & "" Admon.CommandType = adCmdUnknown Admon.RecordSource = "select * from mon_lop_ky_namhoc where (mid(tenmon,1,9)'Thùc hành' and mid(tenmon,1,8)'Thực tập')" & " and " & dkmon & " and ky='" & Trim(cbky) & "' and namhoc='" & Trim(cbnamhoc) & "' " & " and malop='" & Trim(txttenlop) & "' " Admon.Refresh dcbmonhoc.DataField = "tenmon" Set dcbmonhoc.DataSource = Admon Set dcbmonhoc.RowSource = Admon dcbmonhoc.ListField = "tenmon" dcbmonhoc.Refresh End If If op_m17.Value = True Then Admon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & name & "" Admon.CommandType = adCmdUnknown Admon.RecordSource = "select * from mon_lop_ky_namhoc where (mid(tenmon,1,9)='Thực hành' or mid(tenmon,1,8)='Thực tập')" & " and " & dkmon & " and ky='" & Trim(cbky) & "' and namhoc='" & Trim(cbnamhoc) & "' " & " and malop='" & Trim(txttenlop) & "' " Phạm Hùng Phú - Nguyễn Văn Thẩm 293 Bài tập Phân tích thiết kế hệ thống thông tin quản lý Admon.Refresh dcbmonhoc.DataField = "tenmon" Set dcbmonhoc.DataSource = Admon Set dcbmonhoc.RowSource = Admon dcbmonhoc.ListField = "tenmon" dcbmonhoc.Refresh End If End Sub „Thủ tục click combox năm học Private Sub cbnamhoc_Click() cbky.Enabled = True End Sub „Thủ tục click nút in Private Sub cd_in_Click() Dim str As String Dim rs As New ADODB.Recordset If Checklan1.Value = Then If op_m16.Value = True Then str = " select * from m112a where trim(tenlop)= '" & Trim(Dcbmalop.BoundText) & "'" str = str & " and ky='" & Trim(cbky) & "'" str = str & " and namhoc='" & Trim(cbnamhoc) & "'" str = str & " and tenmon='" & Trim(dcbmonhoc) & "'" str = str & " order by Masinhvien asc" op_m17.Value = False rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText If rs.RecordCount > Then rpr_m112a.Data1.RecordSource = str rpr_m112a.Show Else MsgBox "Khơng tìm thấy !", vbOKOnly + vbExclamation, "Thông báo" 294 Phạm Hùng Phú - Nguyễn Văn Thẩm Bài tập Phân tích thiết kế hệ thống thông tin quản lý End If End If If op_m17.Value = True Then str = " select * from m116al1_2 where trim(tenlop)= '" & Trim(Dcbmalop.BoundText) & "'" str = str & " and ky='" & Trim(cbky) & "'" str = str & " and namhoc='" & Trim(cbnamhoc) & "'" str = str & " and tenmon='" & Trim(dcbmonhoc) & "'" str = str & " order by Masinhvien asc" op_m16.Value = False rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText If rs.RecordCount > Then rpr_m116a2.Data1.RecordSource = str rpr_m116a2.Show Else MsgBox "Khơng tìm thấy !", vbOKOnly + vbExclamation, "Thơng báo" End If End If End If If Checkthilai.Value = Then str = " select * from m112al2 where trim(tenlop)= '" & Trim(Dcbmalop.BoundText) & "'" str = str & " and ky='" & Trim(cbky) & "'" str = str & " and namhoc='" & Trim(cbnamhoc) & "'" str = str & " and tenmon='" & Trim(dcbmonhoc) & "'" str = str & " order by Masinhvien asc" If op_m16.Value = True Then op_m17.Value = False rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText If rs.RecordCount > Then rpr_m112al2.Data1.RecordSource = str Phạm Hùng Phú - Nguyễn Văn Thẩm 295 Bài tập Phân tích thiết kế hệ thống thơng tin quản lý rpr_m112al2.Show Else MsgBox "Khơng tìm thấy !", vbOKOnly + vbExclamation, "Thông báo" End If End If If op_m17.Value = True Then op_m16.Value = False rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText If rs.RecordCount > Then rpr_m17_TL.Data1.RecordSource = str rpr_m17_TL.Show Else MsgBox "Khơng tìm thấy !", vbOKOnly + vbExclamation, "Thơng báo" End If End If End If End Sub „Thủ tục click check box cao đẳng quy Private Sub Checkcdcq_Click() If Checkcdcq.Value = Then Checkcdlt.Value = Checkdhcq.Value = Checkdhlt.Value = Dim name As String name = App.Path & "\quanlydiem.mdb" adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & name & "" adlop.CommandType = adCmdUnknown adlop.RecordSource = "select * from lop where left(tenlop,2)='CS' or left(tenlop,2)='CK'" adlop.Refresh 296 Phạm Hùng Phú - Nguyễn Văn Thẩm Bài tập Phân tích thiết kế hệ thống thơng tin quản lý Dcbmalop.DataField = "tenlop" Set Dcbmalop.DataSource = adlop Set Dcbmalop.RowSource = adlop Dcbmalop.ListField = "tenlop" Dcbmalop.Refresh dkmon = " left(mamon,4)='CDCQ' " End If End Sub „Thủ tục click check box cao đẳng liên thông Private Sub Checkcdlt_Click() If Checkcdlt.Value = Then 'Dcbmalop.Enabled = True Checkcdcq.Value = Checkdhcq.Value = Checkdhlt.Value = Dim name As String name = App.Path & "\quanlydiem.mdb" adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & name & "" adlop.CommandType = adCmdUnknown adlop.RecordSource = "select * from lop where left(tenlop,2)='CL' " adlop.Refresh Dcbmalop.DataField = "tenlop" Set Dcbmalop.DataSource = adlop Set Dcbmalop.RowSource = adlop Dcbmalop.ListField = "tenlop" Dcbmalop.Refresh dkmon = " left(mamon,4)='CDLT' " End If End Sub „Thủ tục click check box đại học quy Phạm Hùng Phú - Nguyễn Văn Thẩm 297 Bài tập Phân tích thiết kế hệ thống thơng tin quản lý Private Sub Checkdhcq_Click() If Checkdhcq.Value = Then 'Dcbmalop.Enabled = True Checkcdlt.Value = Checkcdcq.Value = Checkdhlt.Value = Dim name As String name = App.Path & "\quanlydiem.mdb" adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & name & "" adlop.CommandType = adCmdUnknown adlop.RecordSource = "select * from lop where left(tenlop,2)='ĐK' or left(tenlop,2)='ĐS'" adlop.Refresh Dcbmalop.DataField = "tenlop" Set Dcbmalop.DataSource = adlop Set Dcbmalop.RowSource = adlop Dcbmalop.ListField = "tenlop" Dcbmalop.Refresh dkmon = " left(mamon,4)='DHCQ' " End If End Sub „Thủ tục click check box đại học liên thông Private Sub Checkdhlt_Click() If Checkdhlt.Value = Then Checkcdlt.Value = Checkdhcq.Value = Checkcdcq.Value = Dim name As String name = App.Path & "\quanlydiem.mdb" 298 Phạm Hùng Phú - Nguyễn Văn Thẩm Bài tập Phân tích thiết kế hệ thống thông tin quản lý adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & name & "" adlop.CommandType = adCmdUnknown adlop.RecordSource = "select * from lop where left(tenlop,2)='ĐL' " adlop.Refresh Dcbmalop.DataField = "tenlop" Set Dcbmalop.DataSource = adlop Set Dcbmalop.RowSource = adlop Dcbmalop.ListField = "tenlop" Dcbmalop.Refresh dkmon = " left(mamon,4)='DHLT' " End If End Sub „Thủ tục click check box lần Private Sub Checklan1_Click() If Checklan1.Value = Then Checkthilai.Value = cd_in.Enabled = True End If End Sub „Thủ tục click check box thi lại Private Sub Checkthilai_Click() If Checkthilai.Value = Then Checklan1.Value = cd_in.Enabled = True End If End Sub „Thủ tục click combox mã lớp Private Sub Dcbmalop_Click(Area As Integer) cbnamhoc.Enabled = True Dim rs As New ADODB.Recordset Phạm Hùng Phú - Nguyễn Văn Thẩm 299 Bài tập Phân tích thiết kế hệ thống thông tin quản lý Dim str str = "select * from lop where (tenlop='" & Trim(Dcbmalop) & "')" rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText txttenlop = rs!malop End Sub „Thủ tục click combox môn học Private Sub dcbmonhoc_Click(Area As Integer) Checklan1.Enabled = True Checkthilai.Enabled = True End Sub „Thủ tục khởi tạo form Private Sub Form_Initialize() cbky.Enabled = False dcbmonhoc.Enabled = False dcbmonhoc.Text = "" Dcbmalop.Enabled = False cd_in.Enabled = False Checklan1.Enabled = False Checkthilai.Enabled = False cbnamhoc.Enabled = False End Sub „Thủ tục load form Private Sub Form_Load() Open_mdb End Sub „Thủ tục giải phóng form Private Sub Form_Unload(Cancel As Integer) close_mdb End Sub „Thủ tục click option in mẫu 1_12 Private Sub op_m16_Click() 300 Phạm Hùng Phú - Nguyễn Văn Thẩm Bài tập Phân tích thiết kế hệ thống thông tin quản lý Dim name As String name = App.Path & "\quanlydiem.mdb" If op_m16.Value = True Then Dcbmalop.Enabled = True Checkthilai.Value = Checklan1.Value = op_m17.Value = False Checklan1.Enabled = False Checkthilai.Enabled = False End If „Thủ tục click check box cao đẳng quy End Sub „Thủ tục click option in mẫu 16 Private Sub op_m17_Click() Dim name As String name = App.Path & "\quanlydiem.mdb" If op_m17.Value = True Then Dcbmalop.Enabled = True Checkthilai.Value = Checklan1.Value = op_m16.Value = False Checklan1.Enabled = False Checkthilai.Enabled = False End If End Sub Phạm Hùng Phú - Nguyễn Văn Thẩm 301 R222DCNCC (AGH) F222 = Ø Bài tập Phân tích thiết kế hệ thống thông tin quản lý TÀI LIỆU THAM KHẢO [1] Phạm Hùng Phú Phân tích thiết kế hệ thống thơng tin quản lý Giáo trình nội 2010 [2] Đinh Xuân Lâm Phân tích thiết kế hệ thống lập trình NXB thống kê 2005 [3] Nguyễn Văn Ba Phân tích thiết kế hệ thống thơng tin Nhà xuất Đại học quốc gia Hà Nội 2003 [4] Thạc Bình Cường Phân tích thiết kế hệ thống thông tin Nhà xuất Khoa học Kỹ thuật 2002 [5] Jeffref D Ulman Nguyên lý hệ sở liệu Tập 1,2 Biên dich Trần Đức Quang NXB Thống kê 2002 [6] Ngơ Trung Việt Phân tích thiết kế tin học hệ thống quản lý - kinh doanh - nghiệp vụ Nhà xuất Giao thông vận tải 2000 302 Phạm Hùng Phú - Nguyễn Văn Thẩm ... 163 Bài tập Phân tích thiết kế hệ thống thông tin quản lý Thiết kế chức cập nhật thơng tin cơng ty Hình 4 .26 Chức cập nhật thông tin công ty Thiết kế chức quản lý nhật ký hệ thống Hình 4 .27 Chức.. .Bài tập Phân tích thiết kế hệ thống thơng tin quản lý 4.1 Thiết kế tổng thể Việc thiết kế tiến trình máy tính thực dựa kiến trúc tổng thể hệ thống Trong đó, hệ thống phân chia thành hệ thống. .. Phú - Nguyễn Văn Thẩm 171 Bài tập Phân tích thiết kế hệ thống thơng tin quản lý Hình 4 .28 Chức tùy chỉnh Hình 4 .29 Chức cấu hình sở liệu 1 72 Phạm Hùng Phú - Nguyễn Văn Thẩm Bài tập Phân tích thiết