Trong quá trình phát triển, nhóm chúng em đã sử dụng các nguyên lý và mô hình thiết kế phần mềm tiên tiến để đảm bảo tính linh hoạt, mở rộng và bảo trì của dự án.. Xác định yêu cầu Bước
Trang 1TRƯỜNG ĐẠI HỌC PHENIKAA KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO BÀI TẬP LỚN
Môn lập trình hướng đối tượng
Nhóm 3 - Lớp N04
ĐỀ TÀI: Xây dựng bài toán Quản Lý Dự Án
STT Mã sinh viên Họ và tên
Giảng viên: Phạm Đức Bắc
Trang 2GIỚI THIỆU 3
I Xác định yêu cầu 5
1 Mục tiêu của bài tập lớn: 5
2 Đối tượng sử dụng: 5
3 Công nghệ sử dụng: 6
II Phân tích, thiết kế hệ thống 6
1 Quy trình thực hiện của hệ thống 6
2 Các chức năng chính của phần mềm: 7
III Thiết kế kiến trúc: 8
1 3 gói chính trong mô hình MVC: 9
2 Thiết kế giao diện 20
3.Thiết kế cơ sở dữ liệu 21
KẾT LUẬN 22
Trang 3GIỚI THIỆU
Trong môi trường công nghệ hiện đại, quản lý dự án đóng vai trò quan trọng trong việc đảm bảo sự thành công của các dự án phát triển phần mềm Để giúp quản lý dự án trở nên hiệu quả hơn và dễ dàng hơn, việc sử dụng các ứng dụng và công cụ phần mềm là điều cần thiết Trong bối cảnh này, bài tập lớn này giới thiệu về một ứng dụng quản lý
dự án được phát triển bằng ngôn ngữ lập trình Java
Dự án quản lý dự án trong Java được xây dựng với mục đích cung cấp một nền tảng cho việc quản lý thông tin liên quan đến các dự án phát triển phần mềm Ứng dụng này cho phép quản lý thông tin về các nhân viên, dự án và các nhiệm vụ trong các dự án đó
Trong quá trình phát triển, nhóm chúng em đã sử dụng các nguyên lý và mô hình thiết kế phần mềm tiên tiến để đảm bảo tính linh hoạt, mở rộng và bảo trì của dự án Cụ thể, nhóm chúng em đã áp dụng các design paern như DAO (Data Access Object) và Singleton để quản
lý cơ sở dữ liệu và tối ưu hóa việc truy cập dữ liệu Ngoài ra, mô hình MVC cũng được sử dụng (Model-View-Controller) để tổ chức mã nguồn một cách rõ ràng và dễ bảo trì Báo cáo này sẽ đi vào chi tiết về cấu trúc của dự án, các lớp và chức năng của chúng, cũng như giải thích về cách triển khai các design paern và mô hình MVC trong dự án Cuối cùng, báo cáo sẽ đề xuất một số cải tiến và hướng phát triển tiềm năng cho dự
án quản lý dự án trong tương lai
Chi tiết quá trình xây dựng bài toán thiết kế phần mềm quản lý dự
án, bao gồm:
Trang 4+ Xác định yêu cầu: Mục tiêu, đối tượng sử dụng, ràng buộc của phần mềm
+ Phân tích hệ thống: Xác định chức năng, luồng dữ liệu, nghiệp vụ xử lý, ràng buộc hệ thống
+ Thiết kế kiến trúc: Mô hình 3 lớp, phân chia thành phần và mối quan hệ
+ Thiết kế giao diện: Giao diện người dùng, bố cục, thành phần giao diện
+ Thiết kế cơ sở dữ liệu: Cấu trúc bảng dữ liệu, kiểu dữ liệu, ràng buộc dữ liệu
Trang 51 Mục tiêu của bài tập lớn:
- Hiểu khái niệm, phân tích và giải quyết bài toán lập trình hướng đối tượng: Xác định các lớp đối tượng, mối quan hệ giữa các đối tượng trong một hệ thống thông tin
- Sử dụng ngôn ngữ Java để xây dựng, phát triển ứng dụng Quản lý
2 Đối tượng sử dụng:
- Đối tượng sử dụng chính của phần mềm là nhân viên hoặc các quản lý dự án bao gồm các chức năng như hiển thị thông tin người dùng, thông tin dự án đang tham gia, thêm, sửa, xóa, tìm kiếm các hạng mục và theo dõi tình trạng của chúng Với giao diện thân thiện và dễ sử
Trang 6dụng, phần mềm giúp nhân viên quản lý có thể thực hiện các nhiệm vụ của mình một cách hiệu quả
3 Công nghệ sử dụng:
- Bài tập lớn được thiết kế theo phương pháp “Lập trình hướng đối tượng” được xây dựng theo nguyên lý Allan-Kay, bằng ngôn ngữ Java do Sun MicroSystem đưa ra vào năm 1991 (nổi bật như các thư viện tích hợp sẵn của Java như Java.sql, java.util,
java.awt,.v.v…), sử dụng mô hình MVC (Model-View-Control)
- Kết hợp với ngôn ngữ Java là cơ sở dữ liệu được tạo bằng MySQL Workbench- một công cụ thiết kế cơ sở dữ liệu trực quan tích hợp phát triển, quản trị, thiết kế, tạo và bảo trì cơ sở dữ liệu SQL vào một môi trường phát triển tích hợp duy nhất cho hệ thống cơ sở
dữ liệu MySQL
- Sử dụng các công nghệ này giúp đảm bảo tính linh hoạt, bảo mật
và hiệu suất của phần mềm Vì vậy nó giải quyết được những vướng mắc gặp khi thiết kế theo phương pháp lập trình thủ tục thuần túy:
+ Mã chương trình (code) rõ ràng, dễ đọc, dễ hiểu và dễ bảo trì + Chương trình được tổ chức thành những Class lắp ghép với nhau tạo thành một khối thống nhất
+ Mỗi Class gồm có nhiều Method đảm nhận các vai trò khác nhau trong chương trình
+ Có khả năng tái sử dụng tài nguyên
II Phân tích, thiết kế hệ thống
1 Quy trình thực hiện của hệ thống
- Người dùng đăng nhập vào hệ thống
- Người dùng thao tác với các chức năng của hệ thống (xem thông tin, thêm, sửa, xóa, tìm kiếm, hiển thị danh sách)
Trang 7- Tự động lưu các dữ liệu đã thay đổi vào trong database
- Người dùng thoát hệ thống sau khi thao tác xong
2 Các chức năng chính của phần mềm:
2.1 Quản lý danh sách các nhân viên (gồm mã nhân viên, tên, số điện thoại, email, địa chỉ, vai trò, tên đăng nhập, mật khẩu và trạng thái): Chỉnh sửa thông tin nhân viên, truy xuất các dự án mà nhân viên
đó đang tham gia/ chịu trách nhiệm, thêm, sửa, xóa các nhiệm vụ của dự
2.3 Quản lý thông tin dự án (gồm mã, tên, dung lượng phòng học, mã, tên , số lượng thiết bị trong phòng học): Thêm, sửa, xóa các dự
án, cập nhật nhân viên, quản lý đang thực hiện dự án đó
2.4 Tương tác với cơ sở dữ liệu: Truy vấn dữ liệu từ database:
Phần mềm có khả năng truy vấn dữ liệu từ cơ sở dữ liệu MySQL để lấy thông tin về các đối tượng và mối liên hệ giữa chúng Điều này đảm bảo rằng dữ liệu hiển thị trong phần mềm luôn được đồng bộ và chính xác Nhìn chung, các chức năng này cho phép người dùng quản lý và theo dõi tình trạng của các thiết bị một cách tỉ mỉ và linh hoạt, đồng thời tương tác hiệu quả với cơ sở dữ liệu để đảm bảo tính chính xác và hiệu suất của hệ thống
Trang 8III Thiết kế kiến trúc:
- Sử dụng Mô hình MVC (Model-View-Controller) gồm nhiều gói trong đó có 3 gói chính:
+ Gói mô hình (model) :
● Gói này chứa các thành phần liên quan đến dữ liệu và logic của ứng dụng
● Model biểu diễn dữ liệu và quản lý tất cả các hoạt động liên quan đến nó, bao gồm truy vấn, cập nhật và
xử lý logic
● Trong ngữ cảnh của một ứng dụng quản lý dự án, các lớp như Staff, Project và Task có thể đóng vai trò là các model
+ Gói giao diện (view) :
● Gói này chứa các thành phần liên quan đến giao diện người dùng của ứng dụng
● View là nơi mà dữ liệu từ Model được hiển thị và tương tác với người dùng
● Trong một ứng dụng quản lý dự án, các giao diện người dùng được tạo ra bằng Java Swing hoặc JavaFX
có thể đóng vai trò là các view
+ Gói điều khiển (controller):
● Gói này chứa các thành phần liên quan đến xử lý logic
và điều khiển các sự kiện từ người dùng
● Controller nhận các yêu cầu từ view, thực hiện các hành động tương ứng và cập nhật model hoặc view tương ứng
● Trong một ứng dụng quản lý dự án, các lớp điều khiển
có thể xử lý các tương tác của người dùng như thêm, sửa, xóa nhân viên, dự án hoặc nhiệm vụ
- Ngoài ra nhóm chúng em còn thiết kế gói truy cập dữ liệu của đối tượng (dao-Data access object): chứa các lớp để truy vấn dữ liệu
Trang 91 3 gói chính trong mô hình MVC:
a Gói Dữ Liệu (model):
Hình ảnh lớp Dự án
Trang 10Hình ảnh lớp nhân viên
Trang 11Hình ảnh lớp quản lý
Trang 12b Gói Giao diện (view):
Hình ảnh giao diện dự án
Trang 13Hình ảnh giao diện nhân viên
Trang 14Hình ảnh giao diện quản lý
Trang 15Hình ảnh giao diện đăng nhập
c Gói nghiệp vụ điều khiển (controller) :
Hình ảnh điều khiển đăng nhập
Trang 16Hình ảnh điều khiển nhân viên
Hình ảnh điều khiển dự án
Trang 17d Gói thao tác, truy vấn đối tượng dữ liệu (dao):
Hình ảnh lớp ManagerDao
Trang 18Hình ảnh lớp StaffDao
Trang 19Hình ảnh lớp ProjectDao
- Qua việc sử dụng kiến trúc 3 lớp của mô hình MVC , nhóm chúng em đảm bảo tính mô-đun của ứng dụng, giúp dễ dàng bảo trì và mở rộng trong tương lai Mỗi lớp đảm nhận một vai trò cụ thể, giúp chia nhỏ vấn đề thành các phần nhỏ hơn và tăng khả năng tái sử dụng mã nguồn
Trang 202 Thiết kế giao diện
Hình ảnh giao diện đăng nhập của người dùng
- Phần giao diện của ứng dụng này được thiết kế với nguyên tắc đơn giản và dễ sử dụng, đảm bảo người dùng có trải nghiệm mượt
mà và thuận tiện nhất có thể Mọi thành phần, từ các nút chức năng đến các hộp thoại và menu, đều được sắp xếp một cách logic
và trực quan Thông tin được hiển thị một cách rõ ràng và dễ hiểu, giúp người dùng nắm bắt nhanh chóng mọi thông tin mà họ cần
Trang 213.Thiết kế cơ sở dữ liệu
- Nhóm chúng em sử dụng cơ sở dữ liệu MySQL để lưu trữ dữ liệu
và thiết kế bảng dữ liệu phù hợp với chức năng của phần mềm, đồng thời đảm bảo tính toàn vẹn và bảo mật thông qua việc thiết lập ràng buộc và quyền truy cập phù hợp trong cơ sở dữ liệu
Trang 22KẾT LUẬN
Trong bài báo cáo này, nhóm chúng em đã trình bày về dự án quản lý dự án trong Java, một ứng dụng được phát triển để giúp quản lý thông tin về nhân viên, dự án và các nhiệm vụ trong một môi trường phát triển phần mềm Dự án này đã được thiết kế và triển khai theo mô hình MVC (Model-View-Controller), với sự sử dụng linh hoạt của các design paern như DAO và Singleton để quản lý cơ sở dữ liệu và tối ưu hóa mã nguồn
Qua quá trình phát triển, nhóm chúng em đã nhận thấy rằng việc
sử dụng mô hình MVC giúp việc tổ chức mã nguồn một cách rõ ràng, giảm thiểu sự phụ thuộc giữa các thành phần của ứng dụng và tăng tính tái sử dụng mã nguồn Đồng thời, việc áp dụng các design paern như DAO và Singleton cũng giúp việc quản lý cơ sở dữ liệu một cách hiệu quả và linh hoạt
Tuy nhiên, dự án vẫn còn một số điểm có thể cải thiện và phát triển trong tương lai Cụ thể, nhóm chúng em có thể tăng cường tính bảo mật của ứng dụng bằng cách thêm các cơ chế xác thực và phân quyền, cũng như mở rộng chức năng của ứng dụng để hỗ trợ việc quản lý dự
án một cách toàn diện hơn, bao gồm các tính năng như theo dõi tiến độ, lập lịch và phân công nhiệm vụ
Tóm lại, bài tập lớn quản lý dự án trong Java đã đạt được mục tiêu của mình trong việc cung cấp một nền tảng cho việc quản lý thông tin
dự án phát triển phần mềm Qua việc áp dụng các nguyên lý thiết kế phần mềm tiên tiến và mô hình hóa dự án theo mô hình MVC, nhóm chúng em tin rằng dự án này có thể mang lại giá trị lớn cho các tổ chức
và cá nhân trong việc quản lý dự án một cách hiệu quả và hiệu quả hơn trong tương lai