Đăng ký Đăng nhập
Trang chủ Phân tích thiết kế hệ thống quản lý thiết bị và sự cố tin họctheo hướng đối tượn...

Tài liệu Phân tích thiết kế hệ thống quản lý thiết bị và sự cố tin họctheo hướng đối tượng

.PDF
90
3
108

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ TRẦN THỊ LAN PHƢƠNG PHÂN TÍCH THIẾT KẾ "HỆ THỐNG QUẢN LÝ THIẾT BỊ VÀ SỰ CỐ TIN HỌC” THEO HƢỚNG ĐỐI TƢỢNG LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội – 2013 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ TRẦN THỊ LAN PHƢƠNG PHÂN TÍCH THIẾT KẾ "HỆ THỐNG QUẢN LÝ THIẾT BỊ VÀ SỰ CỐ TIN HỌC” THEO HƢỚNG ĐỐI TƢỢNG Ngành : Công nghệ thông tin Chuyên ngành : Công nghệ phần mềm Mã số : 60.48.10 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: Tiến sỹ Lê Văn Phùng Hà Nội - 2013 MỤC LỤC MỞ ĐẦU ................................................................................................................ 1 CHƢƠNG 1 HIỆN TRẠNG CÔNG TÁC QUẢN LÝ THIẾT BỊ VÀ SỰ CỐ TIN HỌC TẠI TRUNG TÂM TIN HỌC - BỘ KẾ HOẠCH VÀ ĐẦU TƢ .... 3 1.1. Giới thiệu khái quát về Bộ Kế hoạch và Đầu tư .............................................. 3 1.2. Giới thiệu khái quát về Trung tâm Tin học - Bộ Kế hoạch và Đầu tư............. 3 1.3. Sự cần thiết phải xây dựng Hệ thống Quản lý thiết bị và sự cố tin học .......... 6 CHƢƠNG 2 CƠ SỞ LÝ LUẬN XÂY DỰNG HỆ THỐNG QUẢN LÝ THIẾT BỊ VÀ SỰ CỐ TIN HỌC THEO HƢỚNG ĐỐI TƢỢNG ................... 8 2.1. Tổng quan về cách tiếp cận hướng đối tượng .................................................. 8 2.2. Ngôn ngữ mô hình hóa thống nhất (UML) .................................................... 11 2.2.1. Giới thiệu tổng quát về UML ...................................................................... 11 2.2.2. Các khối xây dựng (building blocks) cơ bản của UML .............................. 13 2.2.2.1. Các sự vật (things) ................................................................................... 14 2.2.2.2. Các mối quan hệ (relationships) .............................................................. 17 2.2.2.3. Các sơ đồ .................................................................................................. 17 2.2.3. Một số khái niệm cơ bản trong UML.......................................................... 18 2.2.3.1. Các đối tượng ........................................................................................... 19 2.2.3.2. Lớp các đối tượng .................................................................................... 19 2.2.3.3. Các giá trị và thuộc tính của đối tượng ................................................... 19 2.2.3.4. Các thao tác và phương thức ................................................................... 20 2.2.3.5. Các gói ..................................................................................................... 20 2.2.4 Các quy tắc ngữ nghĩa của UML ................................................................. 20 2.2.5 Các cơ chế chung trong UML ...................................................................... 21 2.2.5.1. Các đặc tả (Specification) ........................................................................ 21 2.2.5.2. Các bài trí (Adornments) ......................................................................... 21 2.2.5.3. Sự phân hoạch chung (Common divisions).............................................. 21 2.2.5.4. Các cơ chế mở rộng (Extensibility mechanisms) ..................................... 21 2.2.6. Các quy tắc ràng buộc và suy diễn .............................................................. 21 2.3. Quá trình phát triển phần mềm hướng đối tượng........................................... 22 2.3.1 Xác định các yêu cầu của hệ thống .............................................................. 22 2.3.1.1. Xây dựng mô hình nghiệp vụ .................................................................... 22 2.3.1.2 Xác định yêu cầu ....................................................................................... 24 2.3.2. Phân tích hệ thống ....................................................................................... 27 2.3.2.1. Phân tích kiến trúc ................................................................................... 28 2.3.2.2. Phân tích một ca sử dụng ......................................................................... 29 2.3.2.3. Phân tích một lớp ..................................................................................... 30 2.3.2.4. Phân tích một gói ..................................................................................... 30 2.3.3. Thiết kế hệ thống ......................................................................................... 30 2.3.3.2. Thiết kế một ca sử dụng ........................................................................... 32 2.3.3.3. Thiết kế một lớp ........................................................................................ 34 2.3.3.4. Thiết kế một hệ thống con ........................................................................ 35 2.3.4. Lập trình và kiểm tra chương trình ............................................................. 36 2.3.5. Vận hành và bảo trì hệ thống ...................................................................... 37 2.4. Tổng quan về mẫu thiết kế trong kỹ nghệ hướng đối tượng .......................... 37 2.4.1. Mẫu thiết kế ................................................................................................. 37 2.4.1.1. Khái niệm mẫu thiết kế ............................................................................. 37 2.4.1.2. Các thành phần của mẫu thiết kế ............................................................. 37 2.4.2. Phân tích và thiết kế hướng mẫu trong công nghệ hướng đối tượng .......... 38 2.4.2.1. Vai trò của mẫu trong phát triển phần mềm ............................................ 38 2.4.2.2. Mục đích của việc phân tích thiết kế hướng mẫu .................................... 39 2.4.2.3. Những vấn đề thiết kế hướng mẫu ........................................................... 39 2.4.3. Phân loại mẫu thiết kế ................................................................................. 40 2.4.3.1. Phân loại theo mục đích sử dụng ............................................................. 40 2.4.3.2. Phân loại theo phạm vi sử dụng ............................................................... 40 CHƢƠNG 3 ỨNG DỤNG CÁCH TIẾP CẬN HƢỚNG ĐỐI TƢỢNG ĐỂ PHÂN TÍCH THIẾT KẾ HỆ THỐNG QUẢN LÝ THIẾT BỊ VÀ SỰ CỐ TIN HỌC .... 41 3.1. Bài toán Quản lý thiết bị và sự cố tin học tại Trung tâm tin học - Bộ Kế hoạch và Đầu tư..................................................................................................... 41 3.1.1. Mục tiêu và yêu cầu khi xây dựng Hệ thống Quản lý thiết bị và sự cố tin học ......................................................................................................................... 41 3.1.1.1. Mục tiêu tổng quát ................................................................................... 41 3.1.1.2. Mục tiêu và yêu cầu cụ thể ....................................................................... 41 3.1.2. Mô tả nghiệp vụ quản lý thiết bị và sự cố tin học ....................................... 42 3.1.3. Kiến trúc hệ thống quản lý thiế t bi ̣và sự cố tin ho ̣c ................................... 44 3.2. Các mô hình phân tích .................................................................................... 45 3.2.1. Phân tích các chức năng của hệ thống ........................................................ 45 3.2.2 Phân tích các ca sử dụng .............................................................................. 46 3.2.2.1 Các tác nhân của hệ thống ........................................................................ 46 3.2.2.2. Danh sách các ca sử dụng ....................................................................... 46 3.2.2.3. Mô hình các ca sử dụng và mô tả các ca sử dụng mô hình miền ............ 47 3.2.3. Mô hình lớp ................................................................................................. 62 3.2.3.1. Vấn đề xác định lớp .................................................................................. 62 3.2.3.2 Xây dựng biểu đồ lớp trong pha phân tích ............................................... 63 3.3. Các mô hình thiết kế ...................................................................................... 66 3.3.1. Biểu đồ cộng tác của các ca sử dụng........................................................... 66 3.3.2. Biểu đồ trình tự thực thi các ca sử dụng ..................................................... 68 3.3.3 Biểu đồ hoạt động ........................................................................................ 70 3.3.4 Biểu đồ lớp chi tiết ....................................................................................... 72 3.3.5 Biểu đồ thành phần ....................................................................................... 73 3.3.6 Biểu đồ triển khai ......................................................................................... 73 3.4. Cài đặt chương trình quản lý thiết bị và sự cố tin học ................................... 74 3.4.1. Môi trường cài đặt ....................................................................................... 74 3.4.1.1. Ngôn ngữ lập trình ................................................................................... 74 3.4.1.2. Hệ quản trị cơ sở dữ liệu SQL ................................................................. 75 3.4.2. Hướng dẫn cài đặt và sử dụng phần mềm ................................................... 76 3.4.3. Các module chương trình ............................................................................ 76 3.4.4. Thiết kế các Form........................................................................................ 76 KẾT LUẬN .......................................................................................................... 80 TÀI LIỆU THAM KHẢO .................................................................................. 81 DANH MỤC CÁC BẢNG Bảng 3.1. Bảng các chức năng của hệ thống....................................................... 45 Bảng 3.2. Bảng các bước trong ca sử dụng Tạo mới người sử dụng .................. 48 Bảng 3.3. Bảng các bước trong ca sử dụng Tạo dữ liệu phân quyền người sử dụng ... 49 Bảng 3.4. Bảng các bước trong ca sử dụng Sửa thông tin người sử dụng .......... 49 Bảng 3.5. Bảng các bước trong ca sử dụng Xóa thông tin người sử dụng ......... 50 Bảng 3.6. Bảng các bước trong ca sử dụng Tìm kiếm thông tin người sử dụng 51 Bảng 3.7. Bảng các bước trong ca sử dụng Nhập thêm danh mục ..................... 51 Bảng 3.8. Bảng các bước trong ca sử dụng Sửa thông tin danh mục ................. 52 Bảng 3.9. Bảng các bước trong ca sử dụng Xóa thông tin danh mục ................. 53 Bảng 3.10. Bảng các bước trong ca sử dụng Thêm thiết bị ................................ 53 Bảng 3.11. Bảng các bước trong ca sử dụng Sửa thông tin thiết bị .................... 54 Bảng 3.12. Bảng các bước trong ca sử dụng Xóa thông tin thiết bị ................... 55 Bảng 3.13. Bảng các bước trong ca sử dụng Thêm thông tin nhập/xuất linh kiện .......55 Bảng 3.14. Bảng các bước trong ca sử dụng Sửa thông tin nhập/xuất ............... 56 Bảng 3.15. Bảng các bước trong ca sử dụng Xóa thông tin nhập/xuất............... 57 Bảng 3.16. Bảng các bước trong ca sử dụng Thêm thông tin sự cố tin học ....... 57 Bảng 3.17. Bảng các bước trong ca sử dụng Sửa thông tin sự cố tin học .......... 58 Bảng 3.18. Bảng các bước trong ca sử dụng Xóa thông tin sự cố tin học .......... 59 Bảng 3.19. Bảng các bước trong ca sử dụng Tra cứu hồ sơ thiết bị ................... 59 Bảng 3.20. Bảng các bước trong ca sử dụng Tra cứu hồ sơ sự cố ...................... 60 Bảng 3.21. Bảng các bước trong ca sử dụng Kết xuất báo cáo thống kê tài sản 61 Bảng 3.22. Bảng các bước trong ca sử dụng Kết xuất báo cáo thống kê sự cố .. 61 Bảng 3.23. Bảng các bước trong ca sử dụng Kết xuất báo cáo thống kê chi tiết thiết bị .... 62 DANH MỤC HÌNH VẼ Hình 2.1: Tập các lớp đối tượng của hệ thống ........................................................ 9 Hình 2.2. Sự phát triển của UML .......................................................................... 11 Hình 2.3. Mô hình hóa kiến trúc hệ thống ............................................................ 12 Hình 2.4. Các thành phần cơ sở của UML ............................................................ 13 Hình 2.5. Lớp ........................................................................................................ 14 Hình 2.6. Giao diện ............................................................................................... 14 Hình 2.7. Sự cộng tác ............................................................................................ 14 Hình 2.8. Ca sử dụng ............................................................................................. 15 Hình 2.9. Lớp ........................................................................................................ 15 Hình 2.10. Thành phần .......................................................................................... 15 Hình 2.11 Nút ........................................................................................................ 15 Hình 2.12. Thông điệp/thông báo ......................................................................... 16 Hình 2.13. Trạng thái. ........................................................................................... 16 Hình 2.14. Gói ....................................................................................................... 16 Hình 2.15. Chú thích ............................................................................................. 16 Hình 2.16. Quan hệ phụ thuộc .............................................................................. 17 Hình 2.17. Kết hợp ................................................................................................ 17 Hình 2.18. Tổng quát hóa ...................................................................................... 17 Hình 2.19. Thực hiện hóa ...................................................................................... 17 DANH MỤC BIỂU ĐỒ VÀ MÔ HÌNH Hình 3.1. Mô hình ca sử dụng toàn hệ thống ........................................................ 47 Hình 3.2. Mô hình ca sử dụng gói Quản lý người dùng ....................................... 48 Hình 3.3. Mô hình ca sử dụng gói Quản lý danh mu ̣c .......................................... 51 Hình 3.4. Mô hình ca sử dụng gói Quản lý thiết bị............................................... 53 Hình 3.5. Mô hình ca sử dụng gói Quản lý nhâ ̣p xuấ t .......................................... 55 Hình 3.6. Mô hình ca sử dụng gói Quản lý sự cố tin ho ̣c ..................................... 57 Hình 3.7. Mô hình ca sử dụng gói Tra cứu hồ sơ.................................................. 59 Hình 3.8. Mô hình ca sử dụng gói Kế t xuấ t báo cáo thố ng kê.............................. 60 Hình 3.9. Biểu đồ lớp của hệ thống quản lý thiế t bi ̣và sự cố tin ho ̣c................... 64 Hình 3.10. Biểu đồ cộng tác thực thi ca sử dụng Nhập mới người sử dụng ......... 67 Hình 3.11 Biểu đồ cộng tác thực thi ca sử dụng Thêm thông tin sự cố ................ 67 Hình 3.12. Biểu đồ cộng tác thực thi ca sử dụng Sửa thông tin sự cố .................. 68 Hình 3.13. Biểu đồ cộng tác thực thi ca sử dụng Xóa thông tin sự cố ................. 68 Hình 3.14. Biểu đồ trình tự thực thi ca sử dụng Thêm người sử dụng ................. 69 Hình 3.15. Biểu đồ trình tự thực thi ca sử dụng Tiế p nhâ ̣n sự cố ......................... 69 Hình 3.16. Biểu đồ trình tự thực thi ca sử dụng Phân bổ xử lý sự cố ................... 70 Hình 3.17. Biểu đồ trình tự thực thi ca sử dụng Xử lý sự cố ................................ 70 Hình 3.18. Biểu đồ hoạt động thực thi ca sử dụng Đăng nhâ ̣p ............................. 71 Hình 3.19. Biểu đồ hoạt động thực thi ca sử dụng Nhâ ̣p thông tin sự cố tin ho ̣c . 72 Hình 3.20. Biểu đồ lớp chi tiết của chương trình .................................................. 72 Hình 3.21. Biểu đồ thành phần của chương trình ................................................. 73 Hình 3.22. Biểu đồ triển khai của chương trình .................................................... 74 1 MỞ ĐẦU Nhiệm vụ của các ngành khoa học là nghiên cứu các quá trình, các qui luật tự nhiên, tính chất và hành vi của các hệ thống để mô hình hoá, đề xuất những phương pháp để giải quyết những vấn đề xảy ra trong các hoạt động của con người sao cho hiệu quả nhất, sao cho phù hợp với các qui luật xã hội và tự nhiên nhất. Đóng góp vào sứ mệnh chung của các ngành khoa học, ngành công nghệ phần mềm thực hiện nhiệm vụ nghiên cứu các mô hình, phương pháp và công cụ để tạo ra những hệ thống phần mềm chất lượng cao trong phạm vi hạn chế về tài nguyên nhằm đáp ứng được những nhu cầu thường xuyên thay đổi của khách hàng, giải quyết được những vấn đề phức tạp đặt ra trong thực tế. Trong công nghệ phần mềm, nhiều mô hình, phương pháp phát triển phần mềm đã lần lượt ra đời với những ưu, nhược điểm riêng, có thể được ưa chuộng ở nơi này, ở lĩnh vực nào đó nhưng lại không được ưa chuộng ở những nơi khác. Trải qua thời gian, một số phương pháp như các phương pháp có cấu trúc vẫn có sức sống dẻo dai, vẫn đang được áp dụng rộng rãi trong thực tế. Tuy vẫn chưa lạc hậu và còn phát huy tác dụng trong những hệ thống có cấu trúc dữ liệu tương đối thuần nhất, nhưng do sự phong phú về phương pháp luận và sự đa dạng về sự biểu diễn các khái niệm (các ký hiệu rất khác nhau, không thống nhất) dẫn tới khó có thể đưa ra được một qui trình thống nhất cho quá trình phát triển phần mềm. Mặt khác, nhiều vấn đề phức tạp mới xuất hiện, không chỉ yêu cầu tính toán lớn, xử lý phân tán, thường xuyên thay đổi các yêu cầu mà còn đòi hỏi phải quản lý với nhiều loại dữ liệu khác nhau, dữ liệu đa phương tiện, dữ liệu âm thanh, hình ảnh, v.v. Tới những năm 90 của thế kỷ 20, sự ra đời của phương pháp hướng đối tượng đã đáp ứng được các tiêu chuẩn phần mềm theo yêu cầu của nền công nghệ thông tin hiện đại, giải quyết được những vấn đề phức tạp của thực tế đặt ra trong thế kỷ 21. Cách tiếp cận hướng đối tượng đặt trọng tâm vào việc xây dựng lý thuyết cho các hệ thống tổng quát như là mô hình khái niệm cơ sở. Hệ thống được xem như là tập các đối tượng tác động với nhau trên cơ sở truyền thông điệp để thực thi các nhiệm vụ đặt ra trong hệ thống đó. Cách tiếp cận này rất phù hợp với cách quan sát và quan niệm của chúng ta về thế giới xung quanh và tạo ra những công cụ mới, hữu hiệu để phát triển các hệ thống có tính mở, dễ thay đổi theo yêu cầu của người sử dụng. Có thể nói, hiện nay, giải pháp hướng đối tượng là một giải pháp tốt đang được sự quan tâm đặc biệt và nhiều công ty đã triển khai mặc dù giải pháp này vẫn còn tiếp tục được cải tiến cùng với mô hình phát triển phần mềm. Cùng với phương pháp luận, phương pháp phát triển phần mềm hướng đối tượng, công cụ UML (Unified Modeling Language) đã cung cấp một phương tiện mạnh cho phép triển khai phương pháp trên trong môi trường công nghiệp. UML là một ngôn ngữ mô hình hoá dùng để đặc tả, mô hình hoá, xây dựng và làm tài liệu cho một hệ thống phần mềm hướng đối tượng. Ngôn ngữ này thể hiện trực quan được những quyết định và sự hiểu biết của chúng ta về hệ thống cần xây dựng. Nó là một công cụ mạnh và đầy đủ được dùng để phân tích, thiết kế, cài đặt, bảo trì và kiểm soát thông tin của hệ thống phần mềm lớn và phức tạp. 2 Không chỉ vậy, các thay đổi yêu cầu từ phía khách hàng, các điều kiện phát sinh hay việc thiết kế một cách cứng nhắc trong quá trình thiết kế thường làm cho hệ thống trở nên rối rắm, các mô đun càng ngày càng bị phụ thuộc vào nhau. Việc tìm cách áp dụng những mô hình đã thành công trong thực tế đối với một số bài toán tương tự đã từng gặp vào thiết kế của mình mà không cần phải xem xét lại từ đầu, đảm bảo tiết kiệm chi phí, thời gian xây dựng và phát triển, nâng cao độ tin cậy và chất lượng phần mềm cũng là giải pháp thể hiện ưu thế trong phát triển phần mềm. Vì vậy việc nghiên cứu phương pháp phân tích, thiết kế hướng đối tượng, sử dụng UML và các mẫu thiết kế để phát triển phần mềm đang là một xu hướng trong kỹ nghệ phần mềm. Luận văn được thực hiện cũng không nằm ngoài xu hướng này. Mục đích nghiên cứu: Thực hiện luận văn với đề tài “Phân tích thiết kế Hệ thống Quản lý thiết bị và sự cố tin học theo hướng đối tượng” nhằm giúp tôi tìm hiểu sâu về phương pháp mô hình hoá hệ thống phần mềm hướng đối tượng, các mẫu thiết kế và các bước để phân tích, thiết kế một ứng dụng. Đồng thời, luận văn thực hiện phân tích thiết kế "hệ thống quản lý thiết bị và sự cố tin học" góp phần vào việc tin học hóa công tác quản lý, mang lại sự hiệu quả, chính xác và tiết kiệm thời gian, công sức của cán bộ chuyên trách của Trung tâm tin học – đơn vị đầu mối chuyên trách về công nghệ thông tin của Bộ Kế hoạch và Đầu tư. Nội dung chính của luận văn:  Tổng quan phương pháp phát triển phần mềm theo hướng đối tượng: Giới thiệu về hệ công cụ UML; Tìm hiểu quá trình phân tích, thiết kế hướng đối tượng; Tìm hiểu về mẫu thiết kế trong kỹ nghệ hướng đối tượng  Vận dụng phương pháp và công cụ nêu trên tiến hành phân tích, thiết kế "hệ thống quản lý thiết bị và sự cố tin học" tại Trung tâm Tin học – Bộ Kế hoạch và Đầu tư. Cấu trúc luận văn: gồm 3 chương:  Chương 1: Khảo sát hiện trạng quản lý thiết bị và sự cố tin học tại Trung tâm tin học – Bộ Kế hoạch và Đầu tư.  Chương 2: Giới thiệu tổng quan về phương pháp hướng đối tượng, quá trình phân tích thiết kế hướng đối tượng và mẫu thiết kế.  Chương 3: Ứng dụng cách tiếp cận hướng đối tượng để phân tích thiết kế "hệ thống quản lý thiết bị và sự cố tin học” Luận văn là kết quả bước đầu nghiên cứu khoa học, chắc chắn còn nhiều hạn chế, rất mong được sự đóng góp ý kiến của các thầy cô và các bạn. Em cũng xin chân thành cảm ơn TS. Lê Văn Phùng, người đã giúp đỡ em rất nhiều trong việc hoàn thành luận văn này. Hà Nội, tháng 9 năm 2013 Học viên thực hiện Trần Thị Lan Phƣơng 3 CHƢƠNG 1 HIỆN TRẠNG CÔNG TÁC QUẢN LÝ THIẾT BỊ VÀ SỰ CỐ TIN HỌC TẠI TRUNG TÂM TIN HỌC - BỘ KẾ HOẠCH VÀ ĐẦU TƢ 1.1. Giới thiệu khái quát về Bộ Kế hoạch và Đầu tƣ Bộ Kế hoạch và Đầu tư là cơ quan của Chính phủ có chức năng tham mưu tổng hợp về xây dựng chiến lược, quy hoạch, kế hoạch phát triển kinh tế - xã hội của cả nước, về cơ chế, chính sách quản lý kinh tế, quản lý nhà nước về lĩnh vực đầu tư trong và ngoài nước; giúp Chính phủ phối hợp điều hành thực hiện các mục tiêu và cân đối chủ yếu của nền kinh tế quốc dân. Về cơ cấu tổ chức, Bộ Kế hoạch và Đầu tư có 33 Cục, Vụ, Viện, Trung tâm, bao gồm: - 6 Vụ, Văn phòng, Trung tâm đảm nhận chức năng quản lý và hỗ trợ cơ quan mà Bộ nào cũng có (Văn phòng Bộ, Vụ Tổ chức cán bộ, Vụ Pháp chế, Thanh tra Bộ, Vụ Thi đua - Khen thưởng và Trung tâm Tin học); - 8 Vụ tập trung vào các lĩnh vực kinh tế theo ngành và có liên quan đến các Bộ tương ứng (Vụ Tài chính tiền tệ, Vụ Kinh tế công nghiệp, Vụ Kinh tế nông nghiệp, Vụ Kinh tế dịch vụ, Vụ Kết cấu hạ tầng và đô thị, Vụ Quốc phòng - An ninh, Vụ Khoa học, Giáo dục, Tài nguyên và Môi trường, Vụ Lao động, Văn hóa và Xã hội); - 11 Vụ, Cục tập trung vào các lĩnh vực liên quan đến nhiều ngành (Vụ Giám sát và Thẩm định đầu tư, Vụ Quản lý quy hoạch, Cục Quản lý đấu thầu, Cục Đầu tư nước ngoài, Vụ Kinh tế địa phương và lãnh thổ, Vụ Tổng hợp kinh tế quốc dân, Vụ Kinh tế đối ngoại, Cục Phát triển doanh nghiệp, Cục Quản lý đăng ký kinh doanh, Vụ Hợp tác xã, Vụ Quản lý các khu kinh tế); - 6 Viện, Trung tâm, đơn vị thuộc Bộ thực hiện công tác nghiên cứu và phổ biến thông tin (Trung tâm Thông tin và dự báo kinh tế - xã hội quốc gia, Viện Chiến lược phát triển, Viện Quản lý kinh tế trung ương, Báo Đầu tư, Tạp chí Kinh tế và Dự báo, Học viện Chính sách và Phát triển, Trường Cao đẳng Kinh tế - Kế hoạch Đà Nẵng). - Tổng cục Thống kê, chịu trách nhiệm thu thập, xử lý và phổ biến các dữ liệu thống kê và thực hiện quản lý nhà nước về công tác thống kê. Bộ Kế hoạch và Đầu tư có khoảng 1.470 cán bộ. Tổng cục Thống kê có trên 5.000 cán bộ, trong đó khoảng 600 cán bộ tại Trung ương và số cán bộ còn lại tại các tỉnh thành hoặc quận huyện. 1.2. Giới thiệu khái quát về Trung tâm Tin học - Bộ Kế hoạch và Đầu tƣ Chức năng và nhiệm vụ của Trung tâm Tin học được quy định rõ Quyết định số 522/QĐ-BKH của Bộ trưởng Bộ Kế hoạch và Đầu tư ngày 16/04/2009 Trung tâm Tin học thuộc Bộ Kế hoạch và Đầu tư có chức năng tham mưu, giúp Bộ trưởng thống nhất quản lý hoạt động ứng dụng công nghệ thông tin; nghiên cứu, 4 phát triển và ứng dụng công nghệ thông tin phục vụ các lĩnh vực công tác của Bộ Kế hoạch và Đầu tư và toàn ngành kế hoạch và đầu tư. Trung tâm Tin học là đơn vị sự nghiệp có thu, có con dấu và tài khoản riêng, được hoạt động tự chủ theo quy định của pháp luật và phân cấp quản lý của Bộ trưởng Bộ Kế hoạch và Đầu tư. Trung tâm Tin học có 9 nhiệm vụ chuyên môn chính: (1) Tổ chức xây dựng chiến lược, quy hoạch, kế hoạch tổng thể ứng dụng công nghệ thông tin trong Ngành, trình Bộ trưởng phê duyệt và quản lý thực hiện sau khi được phê duyệt; hướng dẫn các đơn vị thuộc Bộ xây dựng các kế hoạch và các dự án ứng dụng công nghệ thông tin phù hợp với kế hoạch tổng thể đã được phê duyệt; tổ chức theo dõi, giám sát việc thực hiện các kế hoạch, dự án ứng dụng công nghệ thông tin theo quy định của pháp luật; tổ chức thực hiện các dự án được Bộ trưởng giao làm chủ đầu tư. (2) Quản lý thống nhất các hoạt động ứng dụng công nghệ thông tin, bao gồm: Chủ trì xây dựng, trình Bộ trưởng ban hành các chế độ, chính sách, quy định về quản lý hoạt động ứng dụng công nghệ thông tin trong toàn ngành Kế hoạch và Đầu tư; quy định về ứng dụng công nghệ thông tin áp dụng thống nhất trong toàn cơ quan Bộ và trong toàn ngành Kế hoạch và Đầu tư; tham gia góp ý kiến và đề xuất phương án phân bổ các nguồn lực cho hoạt động ứng dụng công nghệ thông tin hàng năm của Bộ, bảo đảm phù hợp với kế hoạch tổng thể ứng dụng công nghệ thông tin đã được phê duyệt; có ý kiến thẩm định về mặt kỹ thuật và công nghệ đối với các dự án ứng dụng công nghệ thông tin, các dự án có nội dung ứng dụng công nghệ thông tin của các đơn vị thuộc Bộ. (3) Kiểm tra việc thực hiện các quy định của Nhà nước, của Bộ trong hoạt động ứng dụng công nghệ thông tin, bao gồm: kiểm tra việc thực hiện các quy định về ứng dụng công nghệ thông tin áp dụng thống nhất trong cơ quan Bộ và toàn ngành Kế hoạch và Đầu tư; các quy định của nhà nước trong hoạt động ứng dụng công nghệ thông tin; các kế hoạch, dự án ứng dụng công nghệ thông tin theo quy định; kiến nghị với Bộ trưởng xử lý những sai phạm của các đơn vị và cá nhân thuộc Bộ trong hoạt động ứng dụng công nghệ thông tin. (4) Tổ chức xây dựng, quản lý và vận hành hệ thống kết cấu hạ tầng kỹ thuật công nghệ thông tin dùng chung của Bộ, bao gồm: Mạng diện rộng (WAN); mạng cục bộ (LAN); Trung tâm dữ liệu và Trung tâm dữ liệu dự phòng; hệ thống mạng máy tính của Bộ; việc sử dụng Internet từ mạng máy tính của Bộ; chủ trì, phối hợp với các đơn vị thuộc Bộ, các tổ chức liên quan thực hiện công tác bảo đảm an toàn và bảo mật hệ thống thông tin, cơ sở dữ liệu điện tử của Bộ;… (5) Tổ chức xây dựng, quản lý và vận hành các hệ thống ứng dụng công nghệ thông tin dùng chung của Bộ, bao gồm: Cổng thông tin điện tử Bộ Kế hoạch và Đầu tư; Hệ thống thông tin điều hành nội bộ; Hệ thống thư điện tử; Hệ thống quản lý văn bản và hồ sơ công việc; Hệ thống hội nghị truyền hình và các hệ thống ứng dụng khác; 5 chủ trì, phối hợp với các đơn vị thuộc Bộ và các cơ quan liên quan xây dựng, tích hợp các cơ sở dữ liệu về các lĩnh vực thuộc phạm vi quản lý nhà nước của Bộ;… (6) Chủ trì, phối hợp với Văn phòng Bộ, Người phát ngôn của Bộ và các tổ chức, đơn vị liên quan thu thập, lưu trữ, biên tập và cung cấp thông tin điện tử phục vụ công tác điều hành và quản lý nhà nước của Bộ. (7) Phối hợp với Vụ Tổ chức cán bộ xây dựng kế hoạch bồi dưỡng và nâng cao kiến thức về ứng dụng công nghệ thông tin cho các cán bộ, công chức, viên chức của Bộ; chủ trì và phối hợp với các đơn vị liên quan tổ chức thực hiện kế hoạch đã được phê duyệt. Đào tạo, bồi dưỡng và cấp chứng chỉ công nghệ thông tin theo quy định của pháp luật và của Bộ. (8) Phối hợp với các đơn vị trong Bộ và các cơ quan liên quan hợp tác nghiên cứu, phát triển ứng dụng công nghệ thông tin theo sự phân công của Bộ. (9) Thực hiện cung cấp sản phẩm, dịch vụ công nghệ thông tin và thông tin theo quy định của pháp luật và của Bộ. Trong 9 nhiệm vụ nêu trên: 3 nhiệm vụ đầu tiên là hoạt động quản lý nhà nước về mặt ứng dụng công nghệ thông tin trong phạm vi toàn ngành Kế hoạch và Đầu tư; nhiệm vụ thứ 4 đến thứ 7 là hoạt động kết hợp giữa quản lý và vận hành các hệ thống kỹ thuật phục vụ các hoạt động nghiệp vụ của Bộ Kế hoạch và Đầu tư; Công tác quản lý thiết bị và sự cố tin học cũng chính là một trong những công việc thường xuyên nhằm thực hiện nhiệm vụ thứ 4; nhiệm vụ thứ 8 là hoạt động nghiên cứu phát triển ứng dụng công nghệ thông tin phục vụ các hoạt động nghiệp vụ của Bộ Kế hoạch và Đầu tư; nhiệm vụ thứ 9 là hoạt động cung cấp các dịch vụ ứng dụng công nghệ thông tin và thông tin có thu để tạo điều kiện củng cố, phát triển nguồn lực về ứng dụng về công nghệ thông tin của Bộ Kế hoạch và Đầu tư. Trong những năm qua, Trung tâm Tin học đã động viên được tinh thần nỗ lực cao trong đơn vị, phấn đấu hoàn thành một khối lượng công việc chuyên môn rất lớn so với nguồn nhân lực và kinh phí có hạn. Tuy nhiên, với tư cách là đơn vị sự nghiệp, Trung tâm Tin học mới thực hiện được chức năng và nhiệm vụ phục vụ các đơn vị thuộc Bộ là chính, chưa mở rộng phục vụ cho toàn ngành Kế hoạch và Đầu tư; chưa thực hiện được chức năng và các nhiệm vụ về tham mưu, giúp Bộ trưởng quản lý thống nhất các hoạt động ứng dụng công nghệ thông tin trong phạm vi của Bộ cũng như toàn ngành Kế hoạch và Đầu tư. Về cơ cấu tổ chức, Trung tâm Tin học thuộc Bộ Kế hoạch và Đầu tư có 01 Văn phòng và 04 Phòng chuyên môn, gồm: Phòng Quản lý chất lượng thông tin và dữ liệu; Phòng Quản lý và vận hành mạng; Phòng Công nghệ phần mềm; Phòng Nội dung thông tin. Về tình hình ứng dụng công nghệ thông tin tại Trung tâm Tin hoc – Bộ Kế hoạch và Đầu tư: Thực hiện Nghị định số 64/2007/NĐ-CP, Trung tâm Tin học chủ trì và phối hợp với các đơn vị trong Bộ xây dựng Kế hoạch tổng thể ứng dụng công nghệ thông tin trong hoạt động của Bộ Kế hoạch và Đầu tư giai đoạn 2011-2015 và định 6 hướng đến năm 2020 và được Lãnh đạo Bộ phê duyệt tại Quyết định số 2094/QĐBKH ngày 01/12/2010. Trung tâm Tin học là đơn vị đầu mối chuyên trách về công nghệ thông tin của Bộ Kế hoạch và Đầu tư. Đây cũng là đơn vị tiên phong trong việc ứng dụng công nghệ thông tin trong các hoạt động chuyên môn. Hiện nay Trung tâm Tin học trao đổi công việc hầu hết qua môi trường mạng (thông qua Hệ thống Quản lý văn bản và hồ sơ công việc tại website https://portal.mpi.gov.vn, Hệ thống mail tại website https://mail.mpi.gov.vn). Song song với việc trao đổi văn bản điện tử qua môi trường mạng, Trung tâm Tin học đã triển khai áp dụng chữ ký số nhằm đảm bảo an toàn trong trao đổi thông tin. Bên cạnh đó, Trung tâm Tin học đã xây dựng và đưa vào sử dụng phần mềm Quản lý cán bộ, phần mềm Quản lý thi đua – khen thưởng. Ngoài ra, Trung tâm Tin học còn sử dụng phần mềm Quản lý tài sản, phần mềm Kế toán,… Trung tâm Tin học cũng triển khai các giải pháp đảm bảo an toàn, an ninh thông tin cho toàn Bộ Kế hoạch và Đầu tư nói chung và Trung tâm Tin học nói riêng: + Hệ thống tường lửa; + Hệ thống mail sercurity; + Hệ thống antivirus tập trung; + Hệ thống vá lỗi tập trung (WSUS); + Hệ thống ghi nhật ký tập trung (Logcentre); + Hệ thống phát hiện xâm nhập; + Hệ thống sao lưu và phục hồi dữ liệu tập trung; + Triển khai Port Sercurity; + Hệ thống PKI chuyên dùng của Bộ Kế hoạch và Đầu tư; + Hệ thống danh bạ điện tử dùng chung cho toàn bộ các ứng dụng; + Hệ thống quản lý wi-fi tập trung. Việc ứng dụng công nghệ thông tin trong hoạt động của Trung tâm Tin học nói riêng và Bộ Kế hoạch và Đầu tư nói chung đã góp phần nâng cao hiệu quả hoạt động chuyên môn nghiệp vụ của các đơn vị thuộc Bộ cũng như của Trung tâm Tin học. 1.3. Sự cần thiết phải xây dựng Hệ thống Quản lý thiết bị và sự cố tin học Theo quy định tại Điều 45 và Điều 46 của Nghị định số 64/2007/NĐ-CP, Trung tâm Tin học là đơn vị đầu mối chuyên trách về công nghệ thông tin của Bộ Kế hoạch và Đầu tư. Riêng công tác quản lý hoạt động ứng dụng công nghệ thông tin của Tổng cục Thống kê do Vụ Phương pháp chế độ thống kê và công nghệ thông tin thuộc Tổng cục thực hiện. Trụ sở chính của Bộ Kế hoạch và Đầu tư đặt tại địa chỉ 6B Hoàng Diệu, Ba Đình, Hà Nội, ngoài ra trên địa bàn Hà Nội Bộ Kế hoạch và Đầu tư còn 02 trụ sở đặt tại 68 Phan Đình Phùng và 65 Văn Miếu. Các hệ thống thiết bị thuộc hệ thống mạng của Bộ bao gồm các hệ thống: Hệ thống thiết bị thuộc Trung tâm dữ liệu, 69 thiết bị chuyển mạch ngoài trung tâm dữ liệu, 21 thiết bị wifi và khoảng 1500 thiết bị đầu cuối, bao gồm máy tính, máy in, máy scan. 7 Hiện tại Trung tâm Tin học – Bộ Kế hoạch và Đầu tư có 30 cán bộ trong đó chỉ có 07 cán bộ trực tiếp quản lý thiết bị và hỗ trợ xử lý sự cố tin học trong toàn Bộ. Với lượng nhân lực này thì việc quản lý thiết bị và sự cố tin học thực sự rất khó khăn. Hơn nữa các thiết bị tin học có được do nhiều nguồn khác nhau, có thể được đầu tư từ ngân sách, cũng có thể được đầu tư từ các dự án. Để biết được thiết bị này được đầu tư từ nguồn nào, đã được thay thế linh kiện nào, đã xảy ra bao nhiêu sự cố và thiết bị này do ai quản lý là rất khó nếu như chỉ lưu trên giấy tờ. Sự cố tin học: là sự cố xảy ra được ghi nhận trên máy tính của cán bộ, hệ thống cơ sở hạ tầng công nghệ thông tin tại Bộ Kế hoạch và Đầu tư liên quan đến các chi tiết trong máy tính, mạng máy tính, các phần mềm ứng dụng, hệ thống thư điện tử, dịch vụ online, các thiết bị chuyển mạch, thiết bị wifi trong và ngoài trung tâm dữ liệu. Hàng năm Trung tâm Tin học khắc phục trên 1000 sự cố thường xuyên, gần 100 sự cố máy tính phát sinh và sự cố máy tính cần thay thế thiết bị cho các máy tính của các cán bộ công chức, viên chức thuộc Bộ (trong khu vực Hà Nội). Cụ thể, năm 2012 tính đến ngày 05/12 Trung tâm đã khắc phục tổng cộng 1620 sự cố thường xuyên; 52 sự cố máy tính phát sinh và 37 sự cố máy tính cần thay thế thiết bị cho các máy tính của các cán bộ công chức, viên chức thuộc Bộ (trong khu vực Hà Nội). Với lượng nhân lực hiện tại, để quản lý tốt các thiết bị và sự cố tin học cần thiết phải xây dựng hệ thống quản lý thiết bị và sự cố tin học. Hệ thống sẽ giúp các cán bộ kỹ thuật dễ dàng trả lời được các câu hỏi: thiết bị này được đầu tư từ nguồn nào? do ai quản lý? đặt tại vị trí nào? đã thay thế những linh kiện gì? đã xảy ra những sự cố nào? 8 CHƢƠNG 2 CƠ SỞ LÝ LUẬN XÂY DỰNG HỆ THỐNG QUẢN LÝ THIẾT BỊ VÀ SỰ CỐ TIN HỌC THEO HƢỚNG ĐỐI TƢỢNG 2.1. Tổng quan về cách tiếp cận hƣớng đối tƣợng Vào đầu những năm 90 của thế kỷ 20, người ta đã nghiên cứu một mô hình mới thích hợp với việc phát triển phần mềm lớn và phức tạp. Đó là mô hình hướng đối tượng. Theo cách tiếp cận hướng đối tượng, hệ thống được nhìn nhận như một bộ các đối tượng. Trong đó, đối tượng là sự kết hợp giữa chức năng và dữ liệu – đó là một sự kết hợp có lý vì mỗi chức năng chỉ thao tác trên một số dữ liệu nhất định và ngược lại, mỗi dữ liệu cũng chỉ được xử lý bởi một số chức năng nào đó. Điều này không những hợp lý mà còn rất tự nhiên và dễ hiểu: các đối tượng tin học thường dùng để phản ánh hay mô phỏng các đối tượng trong thế giới thực. Phương pháp hướng đối tượng sẽ dẫn đến việc cài đặt các hệ thống bằng ngôn ngữ lập trình hướng đối tượng. Cách tiếp cận hướng đối tượng dựa trên ý tưởng che dấu thông tin. Thiết kế hướng đối tượng gần đây được phát triển nhiều đã tạo ra các hệ thống cấu tạo bởi nhiều thành phần độc lập và có tương tác với nhau. Che dấu thông tin là chiến lược thiết kế dấu càng nhiều thông tin trong các thành phần càng hay. Liên lạc thông qua các thông tin trạng thái dùng chung (các biến tổng thể) là ít nhất, nhờ vậy khả năng hiểu được nâng lên. Thiết kế là tương đối dễ thay đổi vì sự thay đổi một thành phần không thể không dự kiến các hiệu ứng phụ trên các thành phần khác. Thực tế, các hệ phần mềm lớn đều phức tạp đến mức mà người ta đã dùng các phương pháp tiếp cận khác nhau trong việc thiết kế các thành phần khác nhau của một hệ thống. Chẳng có một chiến lược tốt nhất nào cho các dự án lớn. Các cách tiếp cận hướng chức năng và hướng đối tượng là bổ sung hỗ trợ cho nhau chứ không đối kháng nhau. Kỹ sư phần mềm sẽ chọn cách tiếp cận thích hợp nhất cho từng giai đoạn thiết kế. Nhìn ở mức tổng thể thì hệ thống như một bộ các đối tượng (chứ không phải là bộ các chức năng), cho nên ở mức trừu tượng thì cách tiếp cận hướng đối tượng là thích hợp hơn. Đến mức chi tiết thì tự nhiên hơn là nên xem chúng là các chức năng tương tác giữa các đối tượng. Sau đó mỗi đối tượng lại được phân giải thành các thành phần, tức là lại có thể xem nó như là một hệ (con). Rất nhiều hệ thống, đặc biệt là hệ thống thời gian thực được nhúng (vào một hệ thiết bị vật chất có thực), được cấu tạo như là một hệ gồm một bộ các quá trình hoạt động song song và có liên lạc với nhau. Các hệ này thường phải tuân theo các ràng buộc nghiêm ngặt về thời gian, mà các phần cứng thường hoạt động tương đối chậm, chỉ có cách tiếp cận nhiều bộ xử lý hoạt động song song mới có thể hoàn thành được yêu cầu về thời gian. [3], [4] Một vấn đề cơ bản đặt ra cho phương pháp hướng đối tượng là từ một bài toán ban đầu, làm sao để thu được một tập các đối tượng, với các chức năng được phối hợp với nhau, đáp ứng được yêu cầu của bài toán đặt ra? 9 Phương pháp phân tích thiết kế hướng đối tượng ra đời nhằm trả lời cho câu hỏi này. Mục đích là xây dựng một tập các lớp đối tượng tương ứng với mỗi bài toán, phương pháp này tiến hành theo hai pha chính: Pha phân tích: Chuyển đổi yêu cầu bài toán từ ngôn ngữ tự nhiên sang ngôn ngữ mô hình. Pha thiết kế: Chuyển đổi đặc tả bài toán dưới dạng ngôn ngữ mô hình sang một mô hình cụ thể có thể cài đặt được. * Cách tiếp cận hƣớng đối tƣợng có những đặc trƣng sau: 1. Đặt trọng tâm vào dữ liệu (thực thể). Khi khảo sát, phân tích một hệ thống chúng ta không tập trung vào các nhiệm vụ như trước đây mà tìm hiểu xem nó gồm những thực thể nào. Thực thể hay còn gọi là đối tượng, là những gì như người, vật, sự kiện mà chúng ta đang quan tâm, hay cần phải xử lý. 2. Xem hệ thống như là tập các thực thể, các đối tượng. Để hiểu rõ về hệ thống, chúng ta phân tách hệ thống thành các đơn thể đơn giản hơn. Quá trình này được lặp lại cho đến khi thu được những đơn thể tương đối đơn giản, dễ hiểu và thực hiện cài đặt chúng mà không làm tăng thêm độ phức tạp khi liên kết chúng trong hệ thống. Xét “Hệ thống quản lý thiết bị”, chúng ta có các lớp đối tượng sau: Thiết_Bị Linh_Kiện Hãng_Sản_Xuất Nhà_Cung_Cấp Hình 2.1: Tập các lớp đối tƣợng của hệ thống 3. Các lớp đối tượng trao đổi với nhau bằng các thông điệp. Theo nghĩa thông thường thì lớp là nhóm một số người, vật có những đặc tính tương tự nhau hoặc có những hành vi ứng xử giống nhau. Trong mô hình đối tượng, khái niệm lớp là cấu trúc mô tả hợp nhất các thuộc tính, hay dữ liệu thành phần thể hiện các đặc tính của mỗi đối tượng và các phương thức, hay hàm thành phần thao tác trên các dữ liệu riêng và là giao diện trao đổi với các đối tượng khác để xác định hành vi của chúng trong hệ thống. Khi có yêu cầu dữ liệu để thực hiện một nhiệm vụ nào đó, một đối tượng sẽ gửi một thông điệp (gọi một phương thức) cho đối tượng khác. Đối tượng nhận được thông điệp yêu cầu sẽ phải thực hiện một số công việc trên các dữ liệu mà nó sẵn có hoặc lại tiếp tục yêu cầu những đối tượng khác hỗ trợ để có những thông tin trả lời cho đối tượng yêu cầu. Với phương thức xử lý như thế thì một chương trình hướng đối tượng thực sự có thể không cần sử dụng biến toàn cục nữa. 4. Tính mở và thích nghi của hệ thống cao hơn vì: Hệ thống được xây dựng dựa vào các lớp đối tượng nên khi có yêu cầu thay đổi thì chỉ thay đổi những lớp đối tượng có liên quan hoặc bổ sung thêm một số lớp đối tượng mới (có thể kế thừa từ những lớp có trước) để thực thi những nhiệm vụ mới mà hệ thống cần thực hiện. 10 5. Hỗ trợ sử dụng lại và cơ chế kế thừa: Các lớp đối tượng được tổ chức theo nguyên lý bao gói và che giấu thông tin, điều này làm tăng thêm hiệu quả của kế thừa và độ tin cậy của hệ thống. * Ƣu điểm của cách tiếp cận hƣớng đối tƣợng - Đối tượng là cơ sở để kết hợp các đơn thể có thể sử dụng lại thành hệ thống lớn hơn, tạo ra những sản phẩm có chất lượng cao. Đây cũng là cơ sở để thực hiện theo công nghệ thành phần. - Qui ước truyền thông điệp giữa các đối tượng đảm bảo cho việc mô tả các giao diện giữa các đối tượng thành phần bên trong hệ thống và những hệ thống bên ngoài trở nên dễ dàng hơn. Điều đó giúp cho việc phân chia những dự án lớn, phức tạp để phân tích, thiết kế theo cách chia nhỏ bài toán thành các lớp đối tượng hoàn toàn tương ứng với quan điểm hướng tới lời giải phù hợp với thế giới thực một cách tự nhiên. - Nguyên lý bao gói, che giấu thông tin hỗ trợ cho việc xây dựng những hệ thống thông tin an toàn và tin cậy. - Không những có thể giảm thiểu được thời gian thực hiện mà còn làm cho hệ thống có tính mở, tin cậy hơn do nguyên lý kế thừa dựa chính vào dữ liệu rất phù hợp với ngữ nghĩa của mô hình trong cài đặt. - Nguyên lý kế thừa cho phép dễ dàng xác định những bộ phận cơ bản, xây dựng các lớp như là các đơn vị cơ sở của hệ thống và sử dụng ngay khi chúng mà không cần phải hoàn thiện, không đòi hỏi phải thực hiện đầy đủ tất cả các chức năng (đơn thể mở) và sau đó có thể mở rộng dần và không làm ảnh hưởng tới các đơn thể khác, không đòi hỏi phải thiết kế lại. - Định hướng đối tượng cung cấp những công cụ, môi trường mới, hiệu quả để phát triển phần mềm theo hướng công nghiệp và hỗ trợ để tận dụng được những khả năng kế thừa, sử dụng lại ở phạm vi diện rộng để xây dựng được những hệ thống phức tạp, nhạy cảm. - Xoá bỏ được hố ngăn cách giữa các pha phân tích, thiết kế, cài đặt và kiểm định trong quá trình xây dựng phần mềm. Nhiều kết quả (sản phẩm) của các giai đoạn trước có thể sử dụng ngay ở những giai đoạn sau. * Hạn chế của cách tiếp cận hƣớng đối tƣợng - Sự tường minh các đối tượng hệ thống thích hợp là khó khăn. Cách nhìn tự nhiên nhiều hệ thống là cách nhìn chức năng và việc thích nghi với cách nhìn hướng đối tượng đôi khi là khó khăn, nhất là đối tượng trừu tượng, không phải đối tượng cụ thể. - Phương pháp thiết kế hướng đối tượng vẫn còn tương đối chưa chín muồi, vẫn còn đang thay đổi nhanh chóng. Phương pháp hiện đang được sử dụng rộng rãi nhất vẫn là phương pháp dựa trên sự phân rã chức năng (hướng cấu trúc). 11 2.2. Ngôn ngữ mô hình hóa thống nhất (UML) 2.2.1. Giới thiệu tổng quát về UML Tiến trình phát triển phần mềm thống nhất (Unified Software Development Proccess: USDP) và ngôn ngữ mô hình hóa thống nhất (Unified Modeling Language: UML) là phương pháp luận và công cụ điển hình cho công nghệ phát triển phần mềm hướng đối tượng. UML là ngôn ngữ mô hình hóa chuẩn, ngôn ngữ mô hình đồ họa, trực quan, vừa đặc tả vừa có cấu trúc, đồng thời lại là ngôn ngữ làm tài liệu. Vì vậy đối với việc phát triển phần mềm hướng đối tượng, UML đặc biệt có khả năng sau: - Cho phép mô tả toàn bộ các sản phẩm phân tích và thiết kế - Trợ giúp việc tự động hóa quá trình thiết kế trên máy tính. - Trợ giúp việc dịch xuôi và dịch ngược các thiết kế sang mã nguồn của ngôn ngữ lập trình và cơ sở dữ liệu. UML là một ngôn ngữ mô hình hoá thống nhất có phần chính bao gồm những ký hiệu hình học, được các phương pháp hướng đối tượng sử dụng để thể hiện và miêu tả các thiết kế của một hệ thống. Nó là một ngôn ngữ để đặc tả, trực quan hoá, xây dựng và làm sưu liệu cho nhiều khía cạnh khác nhau của một hệ thống có nồng độ phần mềm cao. UML có thể được sử dụng làm công cụ giao tiếp giữa người dùng, nhà phân tích, nhà thiết kế và nhà phát triển phần mềm. UML được sử dụng trong nhiều giai đoạn, từ phát triển, thiết kế cho tới thực hiện và bảo trì. Vì mục đích chính của ngôn ngữ này là dùng các biểu đồ hướng đối tượng để mô tả hệ thống nên miền ứng dụng của UML bao gồm nhiều loại hệ thống khác nhau. Hình 2.2. Sự phát triển của UML 12 Quá trình hình thành UML bắt đầu từ ngôn ngữ Ada (Booch) trước năm 1990. UML được hợp nhất từ nhiều thành tựu, kinh nghiệm nghiên cứu và triển khai nhờ: - Cách tiếp cận của Grady Booch (Booch Approach), - Kỹ thuật mô hình đối tượng (OMT: Object Modeling Technique) của James Rumbaugh - Kỹ nghệ phần mềm hướng đối tượng (OOSE: Object-Oriented Software Engineering) của Ivar Jacobson - Thống nhất được nhiều ký pháp, khái niệm của nhiều phương pháp khác nhau. Trong UML, kiến trúc của hệ thống phần mềm chuyên sâu (cho ta một cách nhìn khái quát nhất về hệ thống phần mềm ở các góc độ khác nhau) được mô tả theo 5 loại khung nhìn (views) khác nhau. Mỗi khung nhìn phản ánh về một khía cạnh của tổ chức và cấu trúc của hệ thống, tập trung vào từng mặt cụ thể giúp cho ta hiểu và sử dụng hệ thống tốt nhất. Mỗi khung nhìn thường được thể hiện trong một số sơ đồ nhất định. [16] – [19] Khung nhìn thiết kế /logic Khung nhìn tiến trình /tương tranh Khung nhìn ca sử dụng Khung nhìn triển khai/bố trí Khung nhìn cài đặt /thành phần Hình 2.3. Mô hình hóa kiến trúc hệ thống - Khung nhìn ca sử dụng (Use case view) chứa các tác nhân, ca sử dụng, sơ đồ ca sử dụng (khía cạnh tĩnh của khung nhìn) trong hệ thống. Chúng cũng có thể bao gồm vài sơ đồ trình tự, sơ đồ cộng tác (khía cạnh động của khung nhìn) và gói. Khung nhìn ca sử dụng tập trung vào mức cao của cái hệ thống sẽ làm, không quan tâm đến hệ thống làm như thế nào. - Khung nhìn thiết kế (design view) tập trung vào hệ thống cài đặt hành vi trong ca sử dụng như thế nào. Nó bao gồm các lớp, sơ đồ lớp, sơ đồ đối tượng (khía cạnh tĩnh của khung hình), sơ đồ tương tác, sơ đồ hoạt động, sơ đồ biển đổi trạng thái (khía cạnh động của khung hình) và các gói. Trong khung nhìn, người ta quan tâm đến hai lớp quan trọng là lớp phân tích (lớp biên, lớp điều khiển, lớp dữ liệu) và lớp thiết kế (lớp phụ thuộc vào ngôn ngữ). Khung nhìn này tập trung vào cấu trúc logic của hệ thống nên còn được gọi là khung nhìn logic (logical view). Khung nhìn này tập trung vào cấu trúc của hệ thống. Nhờ nó, người ta nhận ra các bộ phận cơ bản cấu thành hệ thống thể hiện mọi quá trình trao đổi, xử lý thông tin cơ bản trong hệ thống. - Khung nhìn tiến trình/tương tranh (process view) biểu diễn sự phân chia các luồng thực hiện công việc, các lớp đối tượng cho các tiến trình và sự đồng bộ giữa các luồng (thread) trong hệ thống. Khung nhìn này tập trung vào các nhiệm vụ tương
- Xem thêm -

Tài liệu liên quan