Phạm vi nghiên cứu: Các vấn đề bảo mật, ứng dụng chữ ký điện tử sử dụng các thuật toán mã hóa trong hệ thống eOffice.Ứng dụng cho công tác quản lý tại khoa Công nghệ Thông tin, trường Đại học Bách Khoa, đại học Đà Nẵng.
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
HỒ PHAN HIẾU
XÂY DỰNG HỆ THỐNG E-OFFICE PHỤC VỤQUẢN LÝ THEO TIÊU CHUẨN ISO
LUẬN VĂN THẠC SĨ KỸ THUẬT
Đà Nẵng - Năm 2009
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
HỒ PHAN HIẾU
XÂY DỰNG HỆ THỐNG E-OFFICE PHỤC VỤQUẢN LÝ THEO TIÊU CHUẨN ISO
Chuyên ngành: KHOA HỌC MÁY TÍNHMã số: 60.48.01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Người hướng dẫn khoa học: PGS.TS Phan Huy Khánh
Đà Nẵng - Năm 2009
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được aicông bố trong bất kỳ công trình nào khác.
Tác giả
Hồ Phan Hiếu
Trang 42 Mục tiêu và nhiệm vụ nghiên cứu 3
3 Đối tượng và phạm vi nghiên cứu 3
4 Phương pháp nghiên cứu 4
5 Kết quả dự kiến 5
6 Ý nghĩa khoa học và thực tiễn của luận văn 5
7 Đặt tên đề tài 6
8 Bố cục luận văn 6
CHƯƠNG 1:NGHIÊN CỨU TỔNG QUAN 7
1.1 PHƯƠNG PHÁP PHÂN TÍCH THIẾT KẾ HỆ THỐNG 7
1.1.1 Hệ thống 7
1.1.2 Phân tích thiết kế hệ thống 8
1.1.2.1 Thế nào là phân tích thiết kế hệ thống 8
1.1.2.2 Các phương pháp phân tích thiết kế hệ thống 8
1.1.2.3 Lựa chọn phương pháp phân tích thiết kế hệ thống 10
1.1.3 Ngôn ngữ UML 11
1.1.3.1 Phân tích và thiết kế hệ thống theo UML 11
1.1.3.2 Các phần tử mô hình trong UML 12
1.1.3.3 Biểu đồ (Diagram) 12
1.1.3.4 Phần mềm Rational Rose 12
1.2 HỆ THỐNG EOFFICE 13
1.2.1 Giới thiệu về eOffice 13
1.2.2 Ứng dụng các chức năng của eOffice vào hệ thống 13
1.3 HỆ THỐNG QUẢN LÝ CHẤT LƯỢNG ISO 15
Trang 51.3.1 Khái niệm về ISO 15
1.3.2 Tiêu chuẩn ISO 9001:2000 16
1.3.3 Trường ĐHBK triển khai hệ thống ISO 16
1.4 CƠ SỞ LÝ THUYẾT LIÊN QUAN 18
1.4.4 Hệ quản trị cơ sở dữ liệu SQL Server 2005 24
CHƯƠNG 2:VẤN ĐỀ MÃ HÓA TRONG HỆ THỐNG 25
2.1 ĐẶT VẤN ĐỀ 25
2.2 MÃ HÓA DỮ LIỆU 25
2.2.1 Khái niệm 25
2.2.2 Kỹ thuật mã hóa khóa bí mật 27
2.2.3 Kỹ thuật mã hóa khóa công khai 27
2.2.4 Chữ ký điện tử 29
2.3 THUẬT TOÁN BĂM MD5 29
2.4 THUẬT TOÁN MÃ HÓA RSA 30
3.1.3 Công tác quản lý lưu trữ hồ sơ theo ISO 37
3.1.4 Thực trạng công tác quản lý hồ sơ 40
3.1.5 Tóm tắt kết quả khảo sát hiện trạng 40
3.1.6 Giải pháp xây dựng hệ thống 41
3.2 PHÂN TÍCH VÀ NHẬN ĐỊNH VỀ HỆ THỐNG EOFFICE 42
Trang 63.2.1 Nhận định về hệ thống 42
3.2.2 Một số bất cập của hệ thống hiện tại 42
3.2.3 Yêu cầu của hệ thống 43
3.2.4 Yêu cầu khi triển khai hệ thống 43
3.3.2.1 Gói quản lý công văn 55
3.3.2.2 Gói quản lý thông tin sinh viên 55
3.3.2.3 Gói quản lý thông tin cán bộ 56
3.3.2.4 Gói quản lý lịch thực hành 56
3.3.2.5 Gói quản lý lịch trình giảng dạy 57
3.3.2.6 Gói quản lý thiết bị 57
3.3.3 Mô tả các ca sử dụng 58
3.3.3.1 Gửi công văn 58
3.3.3.2 Nhận công văn 59
3.3.3.3 Cập nhật công văn đi 59
3.3.3.4 Nhập thông tin sinh viên 60
3.3.3.5 Sửa thông tin sinh viên 61
3.3.3.6 Xóa sinh viên 62
3.3.3.7 In lịch báo giảng cho từng giảng viên 62
3.3.4 Biểu đồ tuần tự 63
3.3.4.1 Gửi công văn 63
3.3.4.2 Nhận công văn 64
3.3.4.3 Nhập công văn đi 64
3.3.4.4 Sửa công văn 65
3.3.4.5 Xóa công văn đi 65
3.3.6.1 Gói quản lý công văn 69
3.3.6.2 Gói quản lý thông tin sinh viên 70
3.3.6.3 Gói quản lý thông tin cán bộ 70
3.3.6.4 Gói quản lý lịch trình giảng dạy 71
3.3.6.5 Gói quản lý lịch thực hành 72
3.3.6.6 Gói quản lý thiết bị 72
Trang 73.3.7 Thiết kế cơ sở dữ liệu 73
CHƯƠNG 4:CÀI ĐẶT VÀ KẾT QUẢ MINH HỌA 83
4.1 CÀI ĐẶT CHƯƠNG TRÌNH 83
4.2 KẾT QUẢ MINH HỌA 83
4.2.1 Chương trình chạy trên Server 83
Trang 8DANH MỤC BẢNG
Bảng 1.1 So sánh các phương pháp phân tích thiết kế hệ thống 10
Bảng 2.1 Khái niệm và kí hiệu mã hóa dữ liệu 26
Bảng 3.1 Yêu cầu thiết bị và phần mềm của hệ thống 41
Bảng 3.2 Xác định các tác nhân 46
Bảng 3.3 Danh mục công văn 73
Bảng 3.4 Danh mục công văn đến 73
Bảng 3.5 Danh mục công văn đi 73
Bảng 3.6 Danh mục hồ sơ lưu trữ 74
Bảng 3.7 Danh mục cấp độ 74
Bảng 3.8 Danh mục bộ phận 74
Bảng 3.9 Danh mục thông báo công văn 74
Bảng 3.10 Danh mục loại công văn 75
Bảng 3.22 Danh mục tôn giáo 77
Bảng 3.23 Danh mục đối tượng 77
Bảng 3.24 Danh mục ngạch lương 77
Bảng 3.25 Danh mục quan hệ gia đình 78
Bảng 3.26 Danh mục cán bộ 78
Bảng 3.27 Danh mục quan hệ 79
Trang 9Bảng 3.28 Danh mục giảng viên 79
Bảng 3.29 Danh mục sinh viên 79
Bảng 3.30 Danh mục lịch thực hành 80
Bảng 3.31 Danh mục loại thiết bị 80
Bảng 3.32 Danh mục thiết bị 80
Bảng 3.33 Danh mục thiết bị trong từng phòng 80
Bảng 3.34 Danh mục thanh lý thiết bị 81
Bảng 3.35 Danh mục quyết định liên quan đến sinh viên 81
Bảng 3.36 Danh mục học bổng 81
Bảng 3.37 Danh mục thông báo nhận và trả công văn 81
Bảng 3.38 Danh mục quyền người dùng 82
Bảng 3.39 Danh mục module hệ thống 82
Bảng 3.40 Danh mục tài khoản người dùng 82
Trang 10DANH MỤC HÌNH
Hình 2.1 Quy trình mã hóa dữ liệu 25
Hình 2.2 Mô tả quy trình mã hóa khóa công khai 28
Hình 2.3 Minh họa hàm băm 29
Hình 2.4 Sơ đồ biểu diễn thuật toán mã hóa RSA 31
Hình 2.5 Sơ đồ mô tả quá trình ký và gửi file văn bản 33
Hình 2.6 Sơ đồ mô tả quá trình nhận file văn bản 34
Hình 3.1 Các chức năng chính của hệ thống 45
Hình 3.2 Sơ đồ Use case tổng quan của hệ thống 54
Hình 3.3 Sơ đồ Use case quản lý công văn 55
Hình 3.4 Sơ đồ Use case quản lý thông tin sinh viên 55
Hình 3.5 Sơ đồ Use case quản lý thông tin cán bộ 56
Hình 3.6 Sơ đồ Use case quản lý lịch thực hành 56
Hình 3.7 Sơ đồ Use case quản lý lịch trình giảng dạy 57
Hình 3.8 Sơ đồ Use case quản lý thiết bị 57
Hình 3.9 Biểu đồ tuần tự quá trình gửi công văn 63
Hình 3.10 Biểu đồ tuần tự quá trình nhận công văn 64
Hình 3.11 Biểu đồ tuần tự quá trình nhập công văn 64
Hình 3.12 Biểu đồ tuần tự quá trình sửa công văn 65
Hình 3.13 Biểu đồ tuần tự quá trình xóa công văn 65
Hình 3.14 Biểu đồ tuần tự quá trình đăng nhập hệ thống 66
Hình 3.15 Biểu đồ tuần tự quá trình in báo cáo 66
Hình 3.16 Biểu đồ hoạt động của quá trình gửi công văn 67
Hình 3.17 Biểu đồ hoạt động của quá trình nhận công văn 68
Hình 3.18 Biểu đồ hoạt động của quá trình nhập thời khóa biểu 68
Hình 3.19 Biểu đồ lớp gói quản lý công văn 69
Hình 3.20 Biểu đồ lớp gói quản lý thông tin sinh viên 70
Hình 3.21 Biểu đồ lớp gói quản lý thông tin cán bộ 70
Hình 3.22 Biểu đồ lớp gói quản lý lịch trình giảng dạy 71
Hình 3.23 Biểu đồ lớp gói quản lý lịch thực hành 72
Trang 11Hình 4.5 Tìm kiếm thông tin cán bộ 85
Hình 4.6 Chức năng gửi công văn 86
Hình 4.7 Chức năng nhận công văn 86
Hình 4.8 Thống kế danh sách công văn đi 87
Hình 4.9 In chi tiết thông tin cán bộ 87
Hình 4.10 Thống kê danh mục hồ sơ 88
Trang 12THỐNG KÊ TÀI LIỆU THAM KHẢO
Số thứ tự tài liệu tham khảoĐược trích dẫn tại trang
Trang 13MỞ ĐẦU1 Lý do chọn đề tài
Trước đây công tác quản lý của hầu hết các cơ quan, đơn vị, xí nghiệp trườnghọc ở nước ta chủ yếu là phương pháp thủ công vì thế mọi công tác quản lý lưu trữhồ sơ đều sử dụng các giấy tờ, văn bản Điều này gây ra nhiều khó khăn trong việclưu trữ như dễ bị thất lạc hay hư hỏng qua thời gian, việc tìm kiếm tốn nhiều thờigian, công sức và đòi hỏi nhiều nguồn nhân lực… do vậy hiệu quả của công tácchưa cao.
Ngày nay, cùng với sự phát triển của khoa học kỹ thuật, nhu cầu học tập,nghiên cứu khoa học của con người cũng không ngừng nâng cao Đặc biệt, trongnhững năm gần đây lĩnh vực công nghệ thông tin đã có những bước tiến vượt bậc,tin học đi sâu vào nhiều lĩnh vực của xã hội và được ứng dụng ngày càng mạnh mẽ.Trong đó, công tác quản lý là một trong những lĩnh vực được tin học hóa nhanhnhất Và hiện nay tất cả các khó khăn trong việc quản lý thủ công dường như đãđược khắc phục một cách triệt để vì sự ra đời của các phần mềm quản lý và đặc biệtlà hệ thống eOffice - Văn phòng điện tử
eOffice ra đời không chỉ giúp thực hiện lưu trữ dữ liệu trên máy tính gọn gàngvà chính xác mà còn hỗ trợ việc tìm kiếm một cách nhanh chóng Hiệu quả màeOffice mang lại đã nâng cao trình độ ứng dụng và sử dụng các công cụ Công nghệThông tin, tạo tác phong làm việc hiện đại, hiệu quả trong môi trường mạng và sửdụng thông tin điện tử, tạo sự thay đổi tích cực trong các quy trình quản lý xử lýthông tin, xử lý công việc của lãnh đạo, cán bộ Chính vì vậy mà công tác quản lýhiện nay trở nên đơn giản, thuận tiện và đem lại hiệu quả cao hơn.
Gần đây, phần mềm eOffice do nhóm kỹ sư Trung tâm An ninh mạng củaTrường đại học Bách khoa BKIS thiết kế bởi kiến trúc sư trưởng Nguyễn Tử Quảngđã được triển khai ở nhiều nơi và có đem lại hiệu quả cho các đơn vị sử dụng;nhưng chưa được sử dụng trong các trường đại học Ở đại học Đà Nẵng cũng đang
Trang 14xúc tiến việc xây dựng hệ thống eOffice hỗ trợ cho việc quản lý công văn nhưngđến nay vẫn chưa hoàn thành và không biết có triển khai được hay không Với cácyếu tố trên đòi hỏi tại đơn vị là khoa Công nghệ Thông tin cần có hệ thống phầnmềm hỗ trợ trong công việc.
Khoa Công nghệ Thông tin, trường Đại học Bách Khoa, đại học Đà Nẵng lànơi đào tạo nguồn nhân lực trong lĩnh vực Công nghệ Thông tin Hiện đang quản lýhơn 1500 sinh viên và cán bộ chủ yếu là giảng dạy, không trực tiếp tham gia côngtác quản lý trong khi đòi hỏi phải giải quyết một khối lượng lớn công việc Do đócông tác quản lý là rất vất vả, đòi hỏi phải có hệ thống phần mềm hỗ trợ công tácquản lý tại Khoa có nhiều chức năng cần thiết và đảm bảo tính chính xác, kịp thời,giảm tải, hỗ trợ việc báo cáo định kỳ tới các cấp chỉ đạo; đặc biệt là công tác vănthư, giáo vụ Bản thân tôi đang đảm nhận công tác giáo vụ của khoa nên thấy rất rỏnhững khó khăn bức xúc đòi hỏi phải có phần mềm phục vụ công việc của Khoa
Và trong năm học 2007 - 2008, trường Đại học Bách khoa, đại học Đà Nẵng
bắt đầu triển khai hệ thống quản lý theo tiêu chuẩn ISO Tại công văn số ĐBCLGD về việc Thống nhất quản lý, lưu trữ hồ sơ của Hiệu trưởng trường đại học
15/ĐHBK-Bách khoa ký ngày 10 tháng 01 năm 2008 gửi tất cả các Khoa để thống nhất việcphân loại và lập danh mục hồ sơ theo tiêu chuẩn ISO Chính vì vậy, Khoa cần phảicó phần mềm quản lý với những tính năng theo tiêu chuẩn ISO nhà trường banhành.
Bên cạnh đó, vấn đề nan giải trong hệ thống quản lý thông tin dữ liệu là việcchia sẽ, phân quyền, bảo mật thông tin hệ thống để tránh sự thất lạc, mất mát thôngtin Vì vậy, muốn xây dựng một hệ thống quản lý cần phải lưu tâm, xem xét đến vấnđề bảo mật, nghiên cứu các vấn đề về mã hóa thông tin để đảm bảo tính toàn vẹn dữliệu trong hệ thống.
Xuất phát từ những lý do trên mà tôi đã chọn đề tài: “Xây dựng hệ thốngeOffice phục vụ quản lý theo tiêu chuẩn ISO”, ứng dụng tại khoa Công nghệ
Thông tin, có các giải pháp và tính năng bảo mật làm đề tài luận văn tốt nghiệp thạc
Trang 15sĩ của mình Chương trình được xây dựng và ứng dụng sẽ giúp hoàn thiện hơn kiếnthức được học và có ý nghĩa khoa học, thực tiễn cao.
2 Mục tiêu và nhiệm vụ nghiên cứu
Những kết quả nghiên cứu nhằm ứng dụng có hiệu quả cho công tác quản lýtại khoa Công nghệ Thông tin, trường Đại học Bách Khoa, đại học Đà Nẵng Đểhoàn thành mục đích ý tưởng đề ra cần nghiên cứu các nội dung như sau :
- Phân tích thực trạng tại đơn vị và các quy trình quản lý công văn để đề ragiải pháp hợp lý trong việc xây dựng và triển khai hệ thống.
- Nghiên cứu công nghệ bảo mật, các thuật toán mã hóa, các giải thuật,…- Phân tích, đánh giá và đề ra giải pháp ứng dụng vấn đề mã hóa trong việctruyền và nhận thông tin.
- Nghiên cứu, ứng dụng các công nghệ bảo mật RSA, MD5… trong chữ ký sốhóa.
- Nghiên cứu, ứng dụng công nghệ dotNet, ngôn ngữ C#, SQL Server 2005,…trong tiến trình xây dựng hệ thống.
- Tìm hiểu, phân tích, đánh giá môi trường hệ thống mạng để xây dựng vàtriển khai hệ thống.
- Xây dựng hệ thống eOffice phục vụ quản lý hồ sơ công văn theo tiêu chuẩnISO ứng dụng tại khoa Công nghệ Thông tin, trường Đại học Bách Khoa, đại họcĐà Nẵng
- Cài đặt và triển khai trên môi trường mạng LAN.
3 Đối tượng và phạm vi nghiên cứu
- Tìm hiểu công tác quản lý tại khoa Công nghệ Thông tin, trường Đại họcBách Khoa, đại học Đà Nẵng có những bất cập, thiếu xót để đề ra giải pháp theoyêu cầu chung của Nhà trường nhằm đem lại hiệu quả cao hơn.
Trang 164 Phương pháp nghiên cứu
Đề tài này sẽ kết hợp hai phương pháp nghiên cứu, đó là:
- Nghiên cứu tài liệu, ngôn ngữ và công nghệ liên quan.- Tổng hợp các tài liệu.
- Phân tích và thiết kế hệ thống thông tin theo quy trình xây dựng ứng dụngphần mềm.
- Phân tích yêu cầu thực tế của bài toán và xây dựng các bước phân tích hệthống để hỗ trợ việc lập trình, xây dựng ứng dụng
- Vận dụng các vấn đề nghiên cứu về mã hóa thông tin trong tiến trình xâydựng hệ thống.
- Đánh giá kết quả đạt được
Trang 175 Kết quả dự kiến
- Phân tích được quy trình quản lý, lưu trữ hồ sơ theo tiêu chuẩn ISO.
- Phân tích môi trường hệ thống mạng tại đơn vị để xây dựng và triển khai hệthống.
- Đề ra giải pháp và ứng dụng các vấn đề về mã hóa thông tin trong việc xâydựng hệ thống.
- Xây dựng hệ thống eOffice phục vụ quản lý theo tiêu chuẩn ISO ứng dụngtại khoa Công nghệ Thông tin, trường Đại học Bách Khoa, đại học Đà Nẵng.
6 Ý nghĩa khoa học và thực tiễn của luận văn
- Đề xuất giải pháp ứng dụng chữ ký điện tử trong hệ thống eOffice.- Ứng dụng quy trình xây dựng phần mềm trong hệ thống quản lý.
- Ứng dụng các công cụ, ngôn ngữ hỗ trợ để xây dựng hệ thống phần mềm.- Sản phẩm là hệ thống eOffice phục vụ quản lý theo tiêu chuẩn ISO của nhàtrường ứng dụng tại khoa Công nghệ Thông tin và có tăng cường các tính năng bảomật.
- Triển khai hệ thống trên môi trường mạng cục bộ.
Trang 18Nội dung chính của luận văn được chia thành 4 chương như sau:
Chương 3: Phân tích và thiết kế hệ thống
Trang 19- 1 -
CHƯƠNG 1: NGHIÊN CỨU TỔNG QUAN
1.1.1 Hệ thống
Thuật ngữ hệ thống là một khái niệm rộng và được định nghĩa theo nhiều cáchkhác nhau Trong cuộc sống hàng ngày, con người tiếp xúc với những hiện tượng,những sự kiện, những hoạt động… tất cả đều nhắc tới hoặc liên quan tới thuật ngữhệ thống
Nói một cách tổng quát, hệ thống là tập hợp các phần tử hay đối tượng trên đóthực hiện một hay nhiều quan hệ cho trước với những tính chất nhất định Hệ thốngcó nhiều thành phần bao gồm các phần tử, môi trường của hệ thống, các đầu vào vàđầu ra, trạng thái và hành vi, cấu trúc và mục tiêu của hệ thống.
Hệ thống có rất nhiều loại và có nhiều cách phân chia hệ thống Ở đây, trongkhuôn khổ của luận văn này tôi chỉ nói đến hệ thống thông tin (HTTT) mà đặc biệtlà hệ thống thông tin quản lý (HTTTQL).
Trong các hệ thống thông tin, HTTTQL là HTTT được biết đến sớm và phổbiến nhất Đối tượng phục vụ của HTTTQL thực sự rộng hơn rất nhiều so với ýnghĩa của chính bản thân tên gọi của nó Đối tượng của nó không chỉ là các nhàquản lý, mà còn bao gồm cả những người trong một tổ chức làm việc trên HTTT,những người làm công tác phân tích và thiết kế HTTT Chính xác hơn HTTTQL làhệ thống quản lý thông tin của một tổ chức HTTTQL trợ giúp các hoạt động quảnlý của tổ chức như lập kế hoạch, kiểm tra thực hiện, tổng hợp và làm các báo cáo,làm các quyết định quản lý trên cơ sở các quy trình thủ tục cho trước
Trong bất kỳ một cơ quan tổ chức xã hội nào thì thông tin luôn là một phầnkhông thể thiếu do đó việc quản lý cũng là một điều tất yếu Tùy theo nhu cầu vàđặc thù thông tin riêng của từng tổ chức mà mỗi tổ chức có một cách quản lý thôngtin khác nhau Tuy nhiên để có thể quản lý và tổ chức các thông tin ấy có hiệu quả
Trang 20- 2 -
người quản lý cần phải phân tích toàn bộ hệ thống của tổ chức cũng như HTTTtrong tổ chức để có thể tạo nên một HTTTQL có hiệu quả Đó là lý do chúng ta cầnphải phân tích và thiết kế hệ thống thông tin.
1.1.2 Phân tích thiết kế hệ thống
1.1.2.1 Thế nào là phân tích thiết kế hệ thống
Phân tích hệ thống chính là sự khảo sát một hệ thống hay một vấn đề để cảitiến hệ thống đang tồn tại hoặc thiết kế và cài đặt hệ thống mới.
Thiết kế hệ thống chính là việc thiết kế các thành phần, các hệ thống con củahệ thống, tạo dựng các mối liên hệ, liên kết giữa các thành phần và đảm bảo toàn hệthống vận hành tốt Những người thiết kế hệ thống chính là các kiến trúc sư của hệthống.
Việc phân tích thiết kế hệ thống gắn liền với việc sử dụng phần cứng và phầnmềm tin học, bao gồm việc nghiên cứu chi tiết vấn đề, thiết kế, xây dựng nhữngphương pháp tốt để giải quyết, nhằm đạt được mục đích theo những hạn chế và khảnăng có thể.
1.1.2.2 Các phương pháp phân tích thiết kế hệ thống
Hiện nay có rất nhiều phương pháp phân tích thiết kế hệ thống đã được đềxuất và áp dụng như: AXIAL, CIAM (Conceptual Information AnalysisMethodology), JSD (Jackson System Development), MERISE (Méthode pourRassembler les Idées Sans Effort), SADT (Structured Analysic and DesignTechnique), SDM (Structured Design Methods)… Ở đây tôi chỉ giới thiệu sơ lượcba phương pháp điển hình sau:
Phương pháp SADT (viết tắt từ cụm từ Structured Analysic and DesignTechnique – kỹ thuật phân tích và thiết kế có cấu trúc), do công ty Softech Inc (Mỹ)phát triển, nhưng được áp dụng tương đối phổ biến ở châu Âu và ở Pháp.
Trang 21- 3 -
Phương pháp này xem hệ thống là tập hợp các chức năng có quan hệ với môitrường Nó sử dụng mô hình hóa để xây dựng các đơn thể theo hướng tiếp cận từtrên xuống và tiến hành phân tích các chức năng của hệ thống để thành lập một môhình logic về chức năng của hệ thống mới dưới dạng một biểu đồ luồng dữ liệu.
Phương pháp MERISE (viết tắt từ cụm từ Méthode pour Rassembler les IdéesSans Effort, tạm dịch phương pháp tập hợp những ý tưởng dễ dàng) được đề xuấtbởi CETE (Centre d’Etude Technique de I’Équipement d’Aix-en-Provence), INRIA(Institut Nationale de Recherche en Informatique et Automatique) và Viện Đại HọcMarseilles III tại Pháp vào năm 1974 Đây là một phương pháp có cơ sở khoa họcvững chắc, được sử dụng nhiều ở Pháp và châu Âu.
Phương pháp này đưa ra cách nhìn tổng quan về HTTT của xí nghiệp hay củamột tổ chức, dựa trên mô hình hệ thống: hệ thống quyết định, hệ thống thông tin vàhệ thống tác nghiệp Từ quan niệm này, HTTT được kiến trúc theo 3 mức: mức ýniệm (conceptual level), mức logic hay mức tổ chức (organizational level) và mứcvật lý (technical level)
Những đặc trưng cơ bản của phương pháp MERISE là:- Tiếp cận theo mức nhằm hình thức hóa hệ thống tương lai.- Tiếp cận theo giai đoạn nhằm phân cấp các quyết định.
Phương pháp phân tích thiết kế hệ thống hướng đối tượng
Phương pháp này xem hệ thống như các thực thể được tổ chức từ các thànhphần mà các thực thể chỉ được xác định khi nó thừa nhận và có quan hệ với cácthành phần khác Phân tích dựa trên việc tìm hiểu hệ thống là cái gì và hệ thống làmgì Các chức năng của hệ thống được biểu diễn thông qua các đối tượng, nên việcthay đổi, tiến hóa các chức năng sẽ không ảnh hưởng đến cấu trúc tĩnh của phầnmềm, có khả năng thống nhất cao để xây dựng các thực thể phức tạp từ các thực thểđơn giản Phương pháp phân tích thiết kế hệ thống hướng đối tượng thực hiện tìm
Trang 22- 4 -
kiếm, mô tả các đối tượng từ đó thực hiện đặc tả các hành vi, bổ sung chi tiết nếucần thiết để cài đặt hệ thống.
1.1.2.3 Lựa chọn phương pháp phân tích thiết kế hệ thống
Bảng 1.1 So sánh các phương pháp phân tích thiết kế hệ thống
Xem hệ thống là mộttập hợp các chức năng.
Xem hệ thống đang xétgồm các hệ thống con:hệ thống quyết định, hệthống thông tin và hệthống tác nghiệp.
Xem hệ thống là tập hợp cácthực thể nhỏ liên kết lại vớinhau.
Hệ thống được biểudiễn dưới dạng các biểuđồ phân cấp.
Hệ thống được kiến trúctheo ba mức: mức ýniệm, mức logic và mứcvật lý.
Hệ thống được biểu diễn dướidạng nhiều loại biểu đồ và theonhiều hướng nhìn khác nhau,mỗi loại biểu diễn một khíacạnh của hệ thống.
Với phương pháp phântích này thì khó có thểthay đổi theo thời gianmà theo yêu cầu củacác hệ thống tin học thìluôn cần sự thay đổi.
Phương pháp này tiếpcận hệ thống theo mứcvà giai đoạn sẽ hìnhthức hóa hệ thống tươnglai và phân cấp cácquyết định.
Có thể giải quyết được đối vớinhững hệ thống lớn, có độphức tạp cao Dễ thay đổi khichức năng của hệ thống thayđổi.
Từ bảng so sánh trên, tôi nhận thấy rằng phương pháp phân tích thiết kế hệthống hướng đối tượng có các đặc điểm nổi trội hơn so với các phương pháp cònlại Sử dụng phương pháp phân tích thiết kế hướng đối tượng làm cho việc phân tíchthiết kế rõ ràng hơn, trong sáng hơn, người phân tích có thể nhìn thấy mọi khía cạnhcủa vấn đề theo nhiều hướng khác nhau Đồng thời khi sử dụng phương pháp nàychúng ta dễ thực hiện đối với các hệ thống lớn, cũng như dễ dàng trong việc mởrộng hệ thống sau này.
1.1.3 Ngôn ngữ UML
Trang 23- 5 -
Nói đến phân tích thiết kế hướng đối tượng thường nhắc đến UML (UnifiedlModeling Language) là một ngôn ngữ bao gồm một bảng từ vựng và các quy tắc đểkết hợp các từ vựng đó phục vụ cho mục đích giao tiếp Một ngôn ngữ dùng choviệc lập mô hình là ngôn ngữ mà bảng từ vựng (các ký hiệu) và các quy tắc của nótập trung vào việc thể hiện về mặt khái niệm cũng như vật lý của một hệ thống Môhình hóa mang lại sự hiểu biết về một hệ thống Một mô hình không thể giúp chúngta hiểu rõ một hệ thống, thường là phải xây dựng một số mô hình xét từ những gócđộ khác nhau Các mô hình này có quan hệ với nhau.
1.1.3.1 Phân tích và thiết kế hệ thống theo UML
Việc phân tích thiết kế hướng đối tượng được hệ thống hóa thông qua ngônngữ UML theo các bước như sau:
Phân tích ca sử dụng: Tìm tác nhân (Actor), tìm ca sử dụng (Use case),
xây dựng biểu đồ Use case. Tìm lớp: Tìm lớp, tìm gói.
Phân tích sự tương tác giữa các đối tượng: Kịch bản, xây dựng biểu đồ
tuần tự, xây dựng biểu đồ hợp tác.
Thêm vào các thuộc tính và phương thức cho các lớp
dựng biểu đồ hoạt động.
dựng biểu đồ triển khai, kiểm tra lại mô hình.
1.1.3.2 Các phần tử mô hình trong UML
Trang 24- 6 -
Các khái niệm được sử dụng trong các sơ đồ được gọi là các phần tử mô hình,ví dụ như lớp, đối tượng, thông điệp, liên kết, phụ thuộc,…Mỗi phần tử mô hìnhđược định nghĩa với ngữ nghĩa, đó là một định nghĩa về bản chất phần tử, hay làmột xác định ý nghĩa chính xác xem nó sẽ thể hiện điều gì trong những lời khẳngđịnh rõ ràng Mỗi một phần tử mô hình còn có một sự miêu tả trực quan, một kíhiệu hình học được sử dụng để miêu tả phần tử này trong sơ đồ
1.1.3.3 Biểu đồ (Diagram)
Biểu đồ là các hình vẽ miêu tả nội dung trong một hướng nhìn UML có tất cả9 loại biểu đồ khác nhau được sử dụng trong những sự kết hợp khác nhau để cungcấp tất cả các hướng nhìn của một hệ thống.
1 Biểu đồ Use case (Use case Diagram)2 Biểu đồ lớp (Class Diagram)
3 Biểu đồ đối tượng (Object Diagram)4 Biểu đồ trạng thái (State Diagram)5 Biểu đồ tuần tự (Sequence Diagram)6 Biểu đồ cộng tác (Collaboration Diagram) 7 Biểu đồ hoạt động (Activity Diagram)8 Biểu đồ thành phần (Component Diagram)9 Biểu đồ triển khai (Deployment Diagram)
1.1.3.4 Phần mềm Rational Rose
Rational Rose là công cụ phần mềm mạnh, hỗ trợ cho quá trình phân tích, thiếtkế hệ thống hướng đối tượng Nó giúp cho việc mô hình hóa hệ thống trước khi viếtchương trình, đồng thời có khả năng kiểm tra đảm bảo tính đúng đắn, hợp lý củakiến trúc hệ thống từ khi khởi đầu dự án.
Một trong số các chức năng của Rational Rose là hỗ trợ để xây dựng các biểuđồ UML mô hình hóa các lớp, các thành phần và mối quan hệ của chúng trong hệthống một cách trực quan và thống nhất.
Trang 25- 7 -
Với những lý do trên, để xây dựng hệ thống eOffice phục vụ quản lý tôi chọnphân tích thiết kế hệ thống theo hướng đối tượng, ứng dụng ngôn ngữ UML và côngcụ Rational Rose để phân tích và thể hiện.
1.2.1 Giới thiệu về eOffice
eOffice - Văn phòng điện tử là hệ thống trao đổi thông tin, điều hành tácnghiệp và quản lý công văn, văn bản, hồ sơ, công việc trên mạng máy tính.
Ngày nay, việc ứng dụng các thành tựu của công nghệ thông tin, nhằm đápứng yêu cầu nâng cao hiệu quả và chất lượng hoạt động trong các đơn vị đã trởthành nhu cầu tất yếu và đang diễn ra một cách rộng rãi, phổ biến Hơn nữa, việcứng dụng này như là phương thức hoạt động ưu việt, đem lại hiệu quả và chất lượngcao, giảm chi phí, thời gian và sức lao động Văn phòng điện tử được xây dựngnhằm đạt được những tiêu chí trên.
Văn phòng điện tử là giải pháp giúp cho các đơn vị hành chính sự nghiệp quảnlý hệ thống thông tin nội bộ của mình nhằm nâng cao hiệu quả công việc Với cácchức năng và ứng dụng được xây dựng tích hợp sẵn, văn phòng điện tử có thể thiếtkế ra một ứng dụng quản lý thông tin đơn vị theo mô hình hoạt động của mình Hệthống eOffice cung cấp rất nhiều chức năng như quản lý, tra cứu văn bản tài liệu,quản lý lịch công tác, tin tức, email, nhắc việc tất cả được thiết kế trong một môitrường hợp nhất chia sẻ và tương tác
Hệ thống eOffice có giao diện thân thiện dễ sử dụng, phân quyền chi tiết đếntừng người sử dụng Bên cạnh đó, các ứng dụng được tích hợp trong cùng một“gói”, chỉ cần cài đặt trên một máy tính là mọi người trong đơn vị có thể sử dụng vàgiao tiếp với nhau.
1.2.2 Ứng dụng các chức năng của eOffice vào hệ thống
Mục tiêu chính đặt ra trong đề tài là xây dựng hệ thống eOffice phục vụ quảnlý theo tiêu chuẩn ISO ứng dụng tại khoa Công nghệ Thông tin, trường Đại học
Trang 26- 8 -
Bách Khoa, đại học Đà Nẵng và có tăng cường các tính năng bảo mật Vì vậy, hệthống eOffice được xây dựng phải phù hợp với mô hình hoạt động của Khoa vàtheo sự thống nhất chung của Nhà trường nên không nhất thiết phải xây dựng đầyđủ các tính năng của một hệ thống eOffice mà chỉ cần các chức năng chính sau đây:
Cung cấp công cụ quản trị người dùng theo từng nhóm, bộ phận Người quảntrị có thể định nghĩa ra các nhóm, sử dụng chức năng này để gán quyền cho ngườidùng thuộc nhóm nào và được xem hay quản trị nội dung thông tin của phần nào đó.
Hệ thống được thiết kế cho nhiều lớp người sử dụng khác nhau Với từng đốitượng sử dụng, tùy thuộc vào mức quyền được phân bởi người quản trị hệ thống màngười sử dụng có thể có những quyền hạn khác nhau đối với từng loại dữ liệu Hệthống quản lý dữ liệu theo các Folder với cấu trúc hình cây, mỗi Folder như mộtkho dữ liệu và được phân quyền chặt chẽ.
Hệ thống hỗ trợ quản lý hồ sơ, văn bản Kho hồ sơ sẽ được quản lý tập trung,thống nhất, chặt chẽ, tránh sự tản mác, thất lạc và khó kiểm soát như cách lưu trữthông thường Khi có yêu cầu, hệ thống sẽ tìm kiếm và đưa ra thông tin về hồ sơ,văn bản một cách nhanh chóng, chính xác nhất Người dùng có thể tạo ra các Folderlưu trữ công văn giống như cách lưu trữ thực tế.
Nhận công văn, cập nhật thông tin xử lý, lưu trữ công văn đến trong cây thưmục của người dùng
Gửi công văn đi qua hệ thống mạng, có thể gửi các công văn đến các bộ phậnkhác trong đơn vị hoặc các cấp khác
Trang 27- 9 -
Thông báo cho người dùng biết khi có công văn mới hoặc các công văn bị trảlại khi gửi không đúng đối tượng.
Hệ thống có khả năng thống kê một số chức năng theo yêu cầu và in ấn cácbáo cáo theo định kỳ.
1.3.1 Khái niệm về ISO
ISO là một tổ chức quốc tế về tiêu chuẩn hóa, có tên đầy đủ là: “TheInternational Organnization For Tandardization”.
ISO là một tổ chức phi chính phủ Nhiệm vụ chính của tổ chức này là nghiêncứu xây dựng, công bố các tiêu chuẩn thuộc nhiều lĩnh vực khác nhau.
ISO có trên 120 thành viên, Việt Nam là thành viên chính thức từ năm 1977 vàlà thành viên thứ 72 của ISO Cơ quan đại diện là Tổng cục tiêu chuẩn – Đo lường –Chất lượng.
Bộ tiêu chuẩn ISO 9000 lần đầu tiên vào năm 1987, sau lần soát xét đầu tiênnăm 1994, bộ tiêu chuẩn này bao gồm 24 tiêu chuẩn với 3 mô hình đảm bảo chấtlượng cơ bản (ISO 9001, ISO 9002 và ISO 9003) và một số tiêu chuẩn hướng dẫn.
Sau lần soát xét thứ hai vào năm 2000, bộ tiêu chuẩn ISO 9000:2000 được hợpnhất và chuyển đổi còn lại 4 tiêu chuẩn chính sau :
- ISO 9000:2000 Hệ thống quản lý chất lượng – Cơ sở và từ vựng- ISO 9001:2000 Hệ thống quản lý chất lượng – Các yêu cầu
- ISO 9004:2000 Hệ thống quản lý chất lượng – Hướng dẫn cải tiến
- ISO 9011: 2002 Hướng dẫn đánh giá các hệ thống quản lý chất lượng và môitrường
Trang 28- 10 -
1.3.2 Tiêu chuẩn ISO 9001:2000
Dựa trên các tiêu chuẩn về hệ thống ISO, các thành viên trong tổ chức đãthống nhất đưa ra bộ tiêu chuẩn về ISO 9001:2000.
- Đó là tiêu chuẩn quốc tế mới nhất về hệ thống quản lý chất lượng đã được Tổchức Tiêu chuẩn hóa Quốc tế ISO ban hành vào tháng 12/2000 sau khi sửa đổi cáctiêu chuẩn phiên bản 1994
- ISO 9001:2000 là phương pháp làm việc khoa học, được coi như là một quytrình công nghệ quản lý mới, giúp các tổ chức chủ động, sáng tạo, đạt hiệu quả caotrong hoạt động của mình.
Xét trên các mặt cụ thể thì ISO 9001:2000 có các lợi ích cơ bản sau đây: - Thúc đẩy cả hệ thống làm việc tốt, đặc biệt giải phóng người lãnh đạo khỏicông việc sự vụ lặp đi lặp lại.
- Ngăn chặn được nhiều sai sót nhờ mọi người có tinh thần trách nhiệm cao vàtự kiểm soát được công việc của chính mình.
- Tạo điều kiện xác định nhiệm vụ đúng và cách đạt được kết quả đúng.
- Lập văn bản các hoạt động một cách rõ ràng, từ đó làm cơ sở để giáo dục,đào tạo nhân lực và cải tiến công việc có hệ thống.
- Cung cấp cách nhận biết, giải quyết các sai sót và ngăn ngừa chúng tái diễn- Cung cấp bằng chứng khách quan để chứng minh chất lượng sản phẩm haydịch vụ của tổ chức và mọi hoạt động đều đã được kiểm soát.
- Cung cấp dữ liệu phục vụ cho hoạt động cải tiến.
1.3.3 Trường ĐHBK triển khai hệ thống ISO
Phạm vi áp dụng hệ thống quản lý chất lượng theo ISO 9001:2000 của trườngđại học Bách khoa, đại học Đà Nẵng bao gồm:
Trang 29- 11 -
- Về phạm vi địa lý: Ban Giám hiệu Trường quyết định giai đoạn đầu Hệthống QLCL sẽ được xây dựng cho hệ chính quy và không chính quy tại trườngĐHBK, 54 Nguyễn Lương Bằng, thành phố Đà Nẵng; không bao gồm các Trungtâm
- Về phạm vi sản phẩm: là đào tạo một đội ngũ nhân sự có trình độ học vấn,năng lực và kỹ năng làm việc đáp ứng yêu cầu của Bộ Giáo dục và Đào tạo và yêucầu của xã hội cho những cá nhân có nhu cầu đào tạo đại học và sau đại học
- Về phạm vi hoạt động: do sản phẩm đầu ra khó có thể đánh giá được mộtcách đầy đủ và rõ ràng do đó hệ thống sẽ áp dụng điều khoản 7.5.2, xác nhận giá trịsử dụng của các quá trình Tức là hệ thống không loại trừ bất kỳ một yêu cầu nàocủa tiêu chuẩn ISO 9001:2000.
Quy định chức năng, nhiệm vụ của các đơn vị trường đại học Bách khoa.Trong đó có một số điều khoản liên quan đến Khoa:
- Xây dựng chương trình, kế hoạch giảng dạy, học tập và chủ trì tổ chức quátrình đào tạo một hoặc một số ngành; tổ chức quá trình đào tạo và các hoạt độnggiáo dục khác trong chương trình, kế hoạch giảng dạy chung của trường
- Tổ chức hoạt động khoa học và công nghệ, chủ động khai thác các dự án hợptác quốc tế; phối hợp với các tổ chức khoa học và công nghệ, cơ sở giáo dục, cơ sởsản xuất kinh doanh, gắn đào tạo với nghiên cứu khoa học, sản xuất kinh doanh vàđời sống xã hội.
- Quản lý giảng viên, cán bộ, nhân viên và người học thuộc khoa theo phân cấpcủa Hiệu trưởng
- Quản lý chất lượng, nội dung, phương pháp đào tạo và nghiên cứu khoa học - Tổ chức biên soạn chương trình, giáo trình môn học do Hiệu trưởng giao; tổchức nghiên cứu cải tiến phương pháp giảng dạy, học tập; đề xuất xây dựng kế hoạchbổ sung, bảo trì thiết bị dạy - học, thực hành, thực tập và nghiên cứu khoa học
Trang 30- 12 -
- Xây dựng kế hoạch và tổ chức thực hiện công tác giáo dục chính trị, tư tưởng,đạo đức, lối sống cho đội ngũ giảng viên, cán bộ, nhân viên và người học; tổ chứcđào tạo, bồi dưỡng nâng cao trình độ chuyên môn, nghiệp vụ cho giảng viên và cánbộ, nhân viên thuộc khoa
Nhằm phục vụ cho công tác đánh giá nội bộ và hoàn thiện hệ thống quản lýchất lượng của Nhà trường, Ban Giám hiệu ban hành công văn số 15/ĐHBK-ĐBCLGD về việc Thống nhất công tác quản lý, lưu trữ hồ sơ do PGS.TS Trần VănChính ký ngày 10 tháng 01 năm 2008 đề nghị các đơn vị thực hiện thống nhất côngtác quản lý lưu trữ hồ sơ tài liệu Với lý do đó mà một phần trong đề tài là xây dựnghệ thống theo tiêu chuẩn ISO.
Trong phần này, tôi xin giới thiệu sơ lược về các công cụ, mô hình, ngôn ngữ,công nghệ sử dụng để xây dựng hệ thống.
1.4.1 Mô hình client/server
Mô hình Client/Server là mô hình tổ chức trao đổi thông tin trong đó mô tảcách mà các máy tính có thể giao tiếp với nhau theo một phương thức nhất định.Phương thức này là một chiến lược tổ chức phân cấp mà trong đó có một máy tínhđặc biệt phục vụ các yêu cầu về lưu trữ, xử lý, tính toán tất cả các máy trên mạng.Kiểu tổ chức tổng quát của mô hình này là một mạng LAN được thiết lập từ nhiềumáy tính khác nhau, trong đó một máy tính gọi là Server Một chương trình Clientchạy từ bất kỳ máy tính nào trong mạng cũng có thể gởi yêu cầu của mình đếnServer, khi Server nhận được các yêu cầu này thì nó sẽ thực hiện và gởi kết quả vềcho Client.
Có nhiều mô hình được sử dụng trong các chương trình mạng nhưng mô hìnhClient/Server là mô hình chuẩn Một Server là một quá trình, quá trình này chờ sựliên hệ từ một Client Một phiên làm việc điển hình của mô hình này như sau:
Trang 31- 13 -
- Phía Client gởi một yêu cầu thông qua mạng đến Server để yêu cầu một sốdạng dịch vụ nào đó.
- Phía Server được khởi động trước trên hệ thống máy tính Sau khi khởi độngnó sẽ chờ Client liên hệ nó để yêu cầu một số dịch vụ Quá trình của Server chia ra2 kiểu:
1 Khi chỉ có một yêu cầu của Client được Server phục vụ tại một thời điểmthì gọi đó là Server lặp.
2 Khi Server có thể phục vụ đồng thời nhiều yêu cầu từ Client gởi đến gọiđó là Server đồng thời.
Client/Server là mô hình tổng quát nhất, trên thực tế thì một Server có thểđược nối tới nhiều Server khác nhằm làm việc hiệu quả hơn Khi nhận được mộtyêu cầu từ Client, Server này có thể gửi tiếp yêu cầu vừa nhận được cho Serverkhác ví dụ như Database Server vì bản thân nó không thể xử lý yêu cầu này được.Máy Server có thể thi hành các nhiệm vụ đơn giản hoặc phức tạp.
Mô hình Client/Server được sử dụng rộng rải, phổ biến trên môi trường mạngLAN nên tôi chọn mô hình này để xây dựng và triển khai hệ thống.
1.4.2 Công nghệ dotNET
1.4.2.1 Giới thiệu Microsoft NET
Microsoft NET được phát triển từ đầu năm 1998, lúc đầu có tên là NextGeneration Windows Services (NGWS) Nó được thiết kế hoàn toàn từ con sốkhông để dùng cho Internet Viễn tượng của Microsoft là xây dựng một hệ thốngphân tán toàn cục (globally distributed system), dùng XML (chứa những cơ sở dữliệu tí hon) làm chất keo để kết hợp chức năng của những máy tính khác nhau trongcùng một tổ chức hay trên khắp thế giới.
Những máy tính này có thể là Servers, Desktop, Notebook hay PocketComputers, đều có thể chạy cùng một phần mềm dựa trên một nền tảng (platform)duy nhất, độc lập với phần cứng và ngôn ngữ lập trình Đó là NET Framework Nó
Trang 32- 14 -
sẽ trở thành một phần của MS Windows và sẽ được chuyển qua các nền tảng khác,có thể ngay cả Unix.
Nền tảng NET là một công nghệ mới với một giao diện lập trình Windowsservice và các hàm API, nó tích hợp các kỹ thuật của Microsoft từ những năm 90đến nay Ngoài ra NET còn hợp nhất COM+, nền tảng phát triển web ASP, XMLvà thiết kế hướng đối tượng; nó hổ trợ các giao thức web mới như SOAP, WSDL vàUDDI Nền tảng NET được phân thành 4 nhóm sản phẩm riêng biệt:
- Các công cụ phát triển: Một tập các ngôn ngữ, bao gồm C# và VB.NET;
một tập các công cụ phát triển, bao gồm Visual Studio.NET; một thư viện các lớptoàn diện dành cho việc xây dựng các dịch vụ Web, Web và các ứng dụngWindows; thêm vào đó còn có CLR (Common Language Runtime) dùng để thựcthi các đối tượng được xây dựng bởi nền tảng NET.
- Các phần mềm server chuyên dụng: Một tập hợp của .NET Enterprise
Server, trước đây được biết như SQL Server 2000, Exchange 2000, BizTalk 2000 nó cung cấp các chức năng chuyên dụng để lưu trữ dữ liệu quan hệ, email và B2B.
- Các dịch vụ Web: Các dịch vụ về Web, trước đây được giới thiệu như dự án
HailStorm; với một chi phí nào đó, những nhà phát triển có thể sử dụng những dịchvụ đã được viết sẵn này để xây dựng những ứng dụng có yêu cầu về thẩm định địnhdanh người dùng.
- Các loại thiết bị: Nền tảng NET có thể được sử dụng cho các thiết bị không
phải của PC, từ điện thoại cho đến máy chơi game
Với những tính năng vượt trội của mình, NET sẽ là một môi trường phát triểnmạnh hiện nay và trong tương lai Nó sẽ giúp ta dễ dàng trong việc phát triển và bảotrì các phần mềm trong máy đơn cũng như trên hệ thống mạng và có thể sử dụngchương trình trên nhiều nền tảng khác nhau.
1.4.2.2 Ngôn ngữ lập trình C#.Net
Trang 33- 15 -
Microsoft Visual C#.NET là ngôn ngữ lập trình mạnh nhưng đơn giản, chủyếu dùng cho việc tạo ra các ứng dụng chạy trên nền Microsoft NET C# đóng vaitrò quan trọng trong kiến trúc NET Framework của Microsoft Nó thừa hưởngnhiều đặc tính hay của ngôn ngữ C++ và VB, loại bỏ đi những mâu thuẫn đặc tínhlỗi thời C# có những đặc tính mới giúp tăng nhanh tốc độ phát triển ứng dụng, đặcbiệt khi kết hợp với Microsoft Visual Studio NET.
C# là ngôn ngữ sử dụng giới hạn những từ khóa Phần lớn các từ khóa được sửdụng để mô tả thông tin Một ngôn ngữ có nhiều từ khóa thì sẽ mạnh hơn Điều nàykhông phải sự thật, ít nhất là trong trường hợp ngôn ngữ C#, chúng ta có thể tìmthấy rằng ngôn ngữ này có thể được sử dụng để làm bất cứ nhiệm vụ nào.
1.4.2.3 Visual Studio.Net
Visual Studio.NET là một môi trường tích hợp triển khai phần mềm(Intergrated Development Environmet, IDE) Nó được thiết kế để lập ra một tiếntrình viết mã, gỡ rối và biên dịch thành một assembly một cách dễ dàng VisualStudio.NET cho bạn một ứng dụng multiple-document-interface rất tinh vi, trong đóbạn có thể liên kết mọi thứ để phát triển đoạn mã của bạn Nó bao gồm:
-Text Editor, trong đó bạn có thể viết đoạn mã C# Text editor này thì
hơi phức tạp, và rất rành cú pháp C# Tức là, khi bạn gõ các câu lệnh vào, nó sẽ tựđộng bố trí đoạn của bạn, ví dụ như bằng cách thụt canh cột các dòng lệnh, chokhớp cặp dấu {}, và tô màu những từ khóa Ngoài ra, nó sẽ thực hiện kiểm tra vàicú pháp khi bạn gõ và sẽ gạch dưới những dòng mã bị sai Nó còn có thêm mộtchức năng đặc biệt là Intelliense, nó sẽ tự động hiển thị tên của các lớp, trường
hay phương thức khi bạn bắt đầu gõ chúng Khi bạn bắt đầu đánh các tham số chophương thức, nó sẽ hiển thị danh sách tham số.
-Design view editor: nó cho phép bạn đặt giao diện người dùng và các
control dữ liệu truy cập trong dự án của bạn Khi bạn làm như vậy, Visualstudio.NET sẽ tự động thêm những mã C# cần thiết cho tập tin nguồn của bạn đểtạo những control này trong dự án của bạn.
Trang 34- 16 -
-Các cửa sổ hỗ trợ: cho phép bạn xem và sửa đổi những khía cạnh
khác nhau trên dự án của bạn.
-Biên dịch trong lòng môi trường: để thay cho việc chạy trình
biên dịch C# từ dòng lệnh, bạn có thể chọn một tuỳ chọn menu để biên dịch vàVisual Studio.NET sẽ gọi trình biên dịch cho bạn.
-Intergated MSDN help: Visual studio.NET có thể gọi tài liệu MSDN
cho bạn Ví dụ như khi bạn không biết ý nghĩa của một từ khóa thì bạn chọn nó vànhấn F1 thì nó sẽ gọi MSDN lên để giải thích từ đó cho bạn.
1.4.2.4 Visual C# 2008
Visual C# 2008 là ngôn ngữ mạnh nhất trong bộ Microsoft Visual Studio 2008(VS 2008) với sự kết hợp hoàn hảo giữa sức mạnh của ngôn ngữ lập trình C++ vàtính hoa mỹ của Visual Basic NET, chúng có thể giúp chúng ta:
- Tạo ứng dụng Desktop phục vụ quản lý.- Giao diện người dùng thân thiện.
- Tương tác với cơ sở dữ liệu SQL Server.- Trình bày dữ liệu nhiều hình thức khác nhau - Làm việc nhóm với Visual SourceSafe 2005 - Báo cáo bằng Report hay Crystal Report.- Mở rộng bằng cách thêm Component.
Với những ưu điểm nổi trội đó nên trong tiến trình xây dựng hệ thống, tôichọn Net làm môi trường để phát triển và sử dụng bộ công cụ VS 2008 với ngônngữ chủ đạo là C# để xây dựng hệ thống.
1.4.3 Mô hình ADO.NET
Trang 35- 17 -
Trong nhiều năm qua, lập trình viên đã rất quen thuộc với cách truy xuất dữliệu thông qua đối tượng ADO để đơn giản hóa quá trình truy xuất trong những ứngdụng cơ sở dữ liệu Môi trường NET giới thiệu một mô hình mới sử dụng truy nhậpcơ sở dữ liệu gọi là ADO.NET, mô hình làm việc mới này có những cải tiến rấtnhiều so với ADO.
Thành phần của ADO.NET được thiết kế nhằm tăng tốc độ truy cập và thaotác dữ liệu trong môi trường đa lớp, gồm 2 thành phần chính là đối tượng DataSetvà NET Provider.
.NET Provider là một tập các đối tượng trong thành phần NET bao gồmConnection (Kết nối cơ sở dữ liệu), Command (Lệnh thi hành), DataReader (Bộ đọcdữ liệu) và DataAdapter (Kết nối dữ liệu) Khi sử dụng DataSet chúng ta có thể kếtnối nguồn dữ liệu, thực hiện truy vấn một hay nhiều bảng, sau đó yêu cầu hệ thốngđóng kết nối.
Provider được xem như một cầu nối giữa ứng dụng với cơ sở dữ liệu, chúngdùng để kết nối nguồn dữ liệu, thực hiện câu lệnh và nhận dữ liệu trả về Những dữliệu này có thể được xử lý trực tiếp, hay lưu trữ trên đối tượng DataSet củaADO.NET.
ADO.NET bao gồm hai Provider như sau:
- SQL Server.NET data provider: Sử dụng cho SQL Server 7.0 và các phiên
Trang 36- 18 -
- Command: Thực hiện lên trên nguồn dữ liệu, đặt vào các tham số và thu
nhận các chuyển tác từ kết nối Connection.
- DataReader: Đọc luồng dữ liệu từ nguồn dữ liệu theo thuộc tính
Forward-only (một chiều).
- DataAdapter: Cư trú một DataSet và giải quyết vấn đề cập nhật dữ liệu với
nguồn dữ liệu.
1.4.4 Hệ quản trị cơ sở dữ liệu SQL Server 2005
SQL Server (Structure Query Language Server) là một hệ thống quản lý cơ sởdữ liệu (CSDL) sử dụng Transact – SQL để trao đổi dữ liệu giữa máy Client vàSQL Server.
SQL Server 2005 là công cụ thiết kế và xây dựng CSDL có tính thực thi caođược trải nghiệm qua nhiểu phiên bản nhằm đem lại sự tối ưu Những người pháttriển ứng dụng, những người quản lí CSDL, những nhà phân tích thiết kế hệ thốngvà tất cả những ai quan tâm đến việc thiết kế, phát triển, bảo lưu và quản lí các trìnhứng dụng đều có thể sử dụng công cụ này.
SQL Server 2005 là giải pháp phân tích và quản trị dữ liệu thế hệ kế tiếp củaMicrosoft Nó sẽ cho phép nâng cao độ bảo mật, khả năng sắp xếp, giá trị cho dữliệu hoạt động kinh doanh và các ứng dụng phân tích, làm cho chúng dễ dàng hơntrong việc tạo dựng, triển khai và quản lý
Với những ưu điểm vượt trội và sự kết hợp mạnh với môi trường Net nên tôichọn SQL Server 2005 để tổ chức lưu trữ, quản lý cơ sở dữ liệu và để truy xuất cơsở dữ liệu tôi chọn mô hình ADO.NET
Tóm lại, việc sử dụng UML để phân tích hệ thống và sự kết hợpgiữa NET, ngôn ngữ C# với SQL Server 2005 thông qua ADO.NETtheo mô hình Client/Server là sự lựa chọn cần thiết để xây dựng hệthống eOffice phục vụ quản lý theo tiêu chuẩn ISO.
Trang 37- 19 -
CHƯƠNG 2: VẤN ĐỀ MÃ HÓA TRONG HỆ THỐNG
Hiện nay, việc đảm bảo toàn vẹn dữ liệu, an toàn thông tin, tránh mọi nguy cơbị thay đổi, sao chép hoặc mất mát dữ liệu trong các ứng dụng trên mạng luôn luônlà vấn đề bức xúc, được nhiều người quan tâm.
Trên thực tế, chữ ký điện tử (Digital Signature) đã được ứng dụng rộng rãi,nhất là trong lĩnh vực thương mại điện tử Một trong những ứng dụng quan trọngcủa chữ ký điện tử là đảm bảo an toàn dữ liệu khi truyền trên mạng Tuy nhiên, khixây dựng một ứng dụng, các nhà phát triển thường chỉ tập trung xây dựng các chứcnăng của hệ thống, ít quan tâm đến vấn đề an toàn trong quá trình truyền tin.
Trong bối cảnh triển khai xây dựng hệ thống eOffice phục vụ công tác quản lýứng dụng tại khoa Công nghệ Thông tin, tôi phải giải quyết vấn đề xử lý các giaodịch trao đổi văn bản trên mạng Vì vậy, tôi đã chọn giải pháp ứng dụng chữ ký điệntử trên cơ sở kết hợp giữa thuật toán băm MD5 và thuật toán mã hóa RSA.
2.2.1 Khái niệm
Mã hóa dữ liệu là sử dụng một phương pháp biến đổi dữ liệu từ dạng bìnhthường sang một dạng khác, mà một người không có thẩm quyền, không có phươngtiện giải mã thì không thể đọc hiểu được Giải mã dữ liệu là quá trình ngược lại, làsử dụng một phương pháp biến đổi dữ liệu đã được mã hóa về dạng thông tin banđầu Có thể mô tả quy trình thực hiện mã hóa dữ liệu và giải mã dữ liệu như sau :
Hình 1.1 Quy trình mã hóa dữ liệu
Khóa mã hóaMã hóa
Hệ thốngquản lý khóaDữ liệu mã hóa
(Bản mã)
Dữ liệu gốc
Giải mãKhóa giải mã
Dữ liệu gốc
Trang 38- 20 -
Sau đây là một số khái niệm và kí hiệu liên quan về vấn đề mã hóa dữ liệu :
Bảng 1.1 Khái niệm và kí hiệu mã hóa dữ liệu
bản gốc(Plaintext)
Tệp dữ liệu chưa được mã hóa
(Ciphertext) Tệp dữ liệu đã được mã hóa
tự, số
Theo quy ước, khi mã hóa thì C = E(M) và khi giải mã thì M = D(C) =D(E(M))
Theo phương pháp truyền thống, người ta thường dùng cùng một khóa để mãhóa và giải mã Lúc đó khóa phải được giữ bí mật tuyệt đối Người ta gọi đây là hệthống mã hóa cổ điển (các tên gọi khác: đối xứng, một khóa, khóa bí mật, ).
Một phương pháp khác, sử dụng khóa công khai (còn gọi là phương pháp mãhóa bất đối xứng, hay hệ thống hai khóa) trong đó khóa để mã hóa và khóa để giảimã là khác nhau Các khóa này tạo thành một cặp chuyển đổi ngược nhau và khôngkhóa nào có thể suy ra được từ khóa kia.
2.2.2 Kỹ thuật mã hóa khóa bí mật
Trang 39- 21 -
Kỹ thuật mã hóa khóa bí mật hay còn gọi là kỹ thuật mã hóa khóa đối xứng,kỹ thuật mã hóa một khóa, kỹ thuật mã hóa truyền thống Kỹ thuật mã hóa này đãđược dùng bởi Julius Caesar, những người chỉ huy tàu Đức nhằm phục vụ chonhững ứng dụng trong quân đội, chính phủ và các đối tượng đặc biệt Nó đòi hỏi tấtcả các bên tham gia truyền thông chia sẻ một khóa dùng chung.
Trong lược đồ mã hóa khóa bí mật có 5 thành phần chính gồm có: bản gốc,thuật toán mã hóa, khóa bí mật, bản mã, thuật toán giải mã.
Trong khi sử dụng kỹ thuật mã hóa này, điều cơ bản là người gửi và ngườinhận phải có cách để trao đổi khóa bí mật một cách an toàn Nếu ai đó biết đượckhóa bí mật và đoán ra được thuật toán, truyền thông đó sẽ không còn an toàn nữa.Đây cũng là yêu cầu đối với một thuật toán mã hóa kiên cố
Các cách phá hủy hệ thống mã hóa khóa bí mật: Brute – force và phân tích mã.Brute – force là một phương pháp (hay một máy tính) tìm kiếm tất cả các sự kết hợpcó thể xảy ra với mục đích tìm ra thông điệp gốc Phân tích mã tấn công vào nhữngđặc tính của thuật toán để suy ra một bản gốc cụ thể hay khóa được dùng Sau khisuy ra khóa được dùng trong kỹ thuật mã hóa khóa bí mật thì từ đó có thể biết đượccác thông điệp trong quá khứ cũng như trong tương lai nếu khóa đó tiếp tục bị thỏahiệp.
2.2.3 Kỹ thuật mã hóa khóa công khai
Đối với hệ thống mã hóa khóa bí mật, các khóa dùng để mã hóa và giải mãvăn bản là giống nhau Đây không phải là điều kiện cần thiết Vì vậy, có thể pháttriển thuật toán mã hóa dựa vào một khóa để mã hóa và một khóa khác để giải mã.Các thuật toán này phải có đặc điểm quan trọng là:
Không thể tính toán để tìm ra khóa giải mã khi biết thuật toán mã hóa và khóamã hóa.
Một vài thuật toán, chẳng hạn như RSA, cũng biểu hiện đặc trưng: một tronghai khóa liên quan được dùng để mã hóa, khóa còn lại dùng để giải mã.
Thuật toán mã hóa
Thuật toán giải mãKhóa
công khai B
Khóa riêng của B
Trang 40- 22 -
Hình 1.1 Mô tả quy trình mã hóa khóa công khai
Quy trình mã hóa khóa công khai gồm có các bước cơ bản như sau:
- Mỗi một hệ thống đầu cuối trên mạng tạo một cặp khóa dùng cho quá trìnhmã hóa và giải mã mà hệ thống đó sẽ nhận.
- Mỗi hệ thống công bố khóa mã hóa của mình bằng cách đặt nó trong mộtthanh ghi hoặc một file chung; đây là khóa công khai, khóa còn lại phải được giữ bímật.
- Nếu A muốn gửi thông điệp cho B, A mã hóa thông điệp sử dụng khóa côngkhai của B.
- Khi B nhận thông điệp, B giải mã bằng khóa riêng của B Không có ngườinào có thể giải mã thông điệp ngoại trừ B vì chỉ có B biết khóa riêng của mình.
Với phương pháp này, mọi người có thể truy cập đến khóa công khai Và khóariêng được tạo ra bởi mỗi bên tham gia do đó không cần phân phối, miễn là hệthống kiểm soát được khóa riêng của mình và truyền thông đến nó an toàn.
Theo kỹ thuật mã hóa khóa công khai tương tự như trên cũng có thể xảy ra cáctrường hợp như:
- Dùng khoá bí mật ký một thông điệp và dùng khoá công khai xác minh chữký.