Ứng dụng demo được viết trên:
- Nền tảng .Net Framework bằng ngôn ngữ lập trình C#.
- Cơ sở dữ liệu Microsoft SQL server 2008 Express.
- Công cụ dùng để phát triển: Visual studio 2010
- Phần mềm quản lý dự án Microsoft project 2010
- Microsoft Entity framework Các thành phần ứng dụng
- ProjectPlan Application
o ProjectPlan Entity: lớp này mapping trực tiếp với cơ sở dữ liệu, là lớp trung gian giữa chương trình và cơ sở dữ liệu, có nhiệm vụ load dữ liệu lên trương trình và lưu dữ liệu khi chương trình yêu cầu vào database.
o ProjectPlan bussiness logic: Lớp này kế thừa thư viện giải thuật di truyền và sử dụng lớp ProjectPlan Entity để truy xuất vào cơ sở dữ liệu, là lớp
AForge.NET ProjectPlan database ProjectP Entities ProjectPlan BussinessLogic Tệp xml, và excel Add-ins Microsoft Project ProjectPlan program
trung tâm xử lý toàn bộ nghiệp vụ của chương trình. Cung cấp các tính năng sau:
Quản lý thông tin dự án
Quản lý thông tin task: thêm mới, xóa, sửa, định nghĩa mối quan hệ công việc trực tiếp phía trước, phía sau cho từng task.
Quản lý thông tin loại tài nguyên (resource type)
Quản lý thông tin tài nguyên (resource)
Ước lượng thời gian và số lượng tài nguyên ứng với từng loại tài nguyên để hoàn thành task.
Chạy giải thuật di truyền để tìm ra bài toán tối ưu phân bổ tài nguyên (resource ) để hoàn thành các công việc trong dự án. Cung cấp giao diện để tham số hóa các tham số đầu vào của giải thuật di truyền. Cung cấp các thông tin debug ra log file để phân tích quá trình chạy giải thuật di truyền. Xem lịch sử hàm thích nghi qua từng thế hệ khi chạy giải thuật di truyền.
Tạo mới và mở cơ sở dữ liệu có sẵn.
Cung cấp màn hình đồ họa công việc để quản lý task một cách trực quan.
Lưu trự và đọc lại các dữ liệu tại một thế hệ khi chạy giải thuật nhằm mục đích phân tích.
Kết xuất dữ liệu ra excel hoặc xml để Microsoft project add-ins có thể đọc.
o Thư viện Aforge.NET: Cung cấp thư viện nền tảng phục vụ cho giải thuật di truyền như các lớp cơ sở của thuật di truyền, bao gồm mã hóa nhiễm sắc thể, lớp có sở định nghĩa hàm thích nghi, lớp cơ sở định nghĩa lớp quần thể, các lớp định nghĩa quá trình chọn lọc cá thể, các phương pháp đột biến, lai tạo chéo, chọn lọc cá thể sang thế hệ mới.
o Cơ sở dữ liệu Microsoft SQL sever 2008 express: Lưu trữ dữ liệu về thông tin dự án, dữ liệu task, dữ liệu các loại tài nguyên, dữ liệu tài nguyên, dữ liệu về ước lượng tài nguyên thực hiện task.
- Microsoft Project Addin: Thành phần này cung cấp các chức năng như Export data, cho phép export các dữ liệu task từ màn hình Microsoft project sang database chương trình ProjectPlan. Chức năng import dữ liệu từ database chương trình sang màn hình Microsoft project. Chức năng xem biểu đồ gantt chart từ dữ liệu định dạng xml mà chương trình ProjectPlan xuất ra trong quá trình tính toán gán tài nguyên thực hiện các task trong dự án.
- Xml file và excel file là dữ liệu trung gian được chương trình xuất ra để thành phần Microsoft Add-ins có thể đọc được. Xem chi tiết ở phụ lục 9 (trang 104) và Phụ lục 10 (trang 105)
- Bảng Project, chứa thông tin dự án gồm tên dự án, ngày bắt đầu, ngày kết thúc dự án.
- Bảng Task lưu trữ các thông tin công việc như tên công việc, số giờ cần hoàn thành công việc, các công việc trực tiếp phía trước và các công việc trực tiếp phía sau nó. Ngoài ra còn có các thông tin về đồ họa dùng để hiển thị công việc này trên màn hình đồ thị công việc, các thông tin đó bao gồm: chiều dài, chiều rộng, tọa độ x, y và hình dạng là hình vuông hay hình tròn. Mỗi một task chỉ thuộc về một dự án duy nhất.
- Bảng ResrouceType lưu trữ thông tin các loại Resource dùng trong dự án.
- Bảng Resource lưu trự thông tin Resource, mỗi một resource sẽ thuộc về một loại resource nhất định.
- Bảng TaskEstimate lưu trữ dữ liệu lập kế hoạch nguồn lực thực hiện công việc. Dữ liệu này cho biết task cần bao nhiều tài nguyên ứng với loại tài nguyên cụ thể để hoàn thành công việc.