I. Tổng Quan Về Công Nghệ Phần Mềm Đề Tài 6
Công nghệ phần mềm đề tài 6 tập trung vào phát triển ứng dụng quản lý sinh viên hiện đại, một trong những dự án quan trọng trong chương trình đào tạo công nghệ thông tin. Đây là bài tập lớn của học phần công nghệ phần mềm, được thực hiện bởi nhóm sinh viên từ Trường Đại Học Công Nghệ Đông Á. Ứng dụng này được thiết kế để cải thiện hiệu suất quản lý các hoạt động liên quan đến sinh viên trong các cơ sở giáo dục. Qua dự án này, sinh viên sẽ nắm vững các giai đoạn phát triển phần mềm, từ thu thập yêu cầu, phân tích, thiết kế cho đến triển khai. Mục tiêu chính là xây dựng một hệ thống quản lý sinh viên toàn diện, đáp ứng các nhu cầu thực tiễn của nhà trường.
1.1. Mục Đích Và Ý Nghĩa Của Dự Án
Dự án phát triển ứng dụng quản lý sinh viên nhằm cung cấp giải pháp công nghệ hiện đại để tối ưu hóa quản lý học tập và hành chính. Ứng dụng giúp lưu trữ, cập nhật và truy vấn thông tin sinh viên một cách hiệu quả. Điều này giảm thiểu sai sót, tiết kiệm thời gian và nâng cao chất lượng dịch vụ giáo dục. Qua dự án này, sinh viên học được cách áp dụng các phương pháp phát triển phần mềm trong thực tế, rèn luyện kỹ năng làm việc nhóm và quản lý dự án.
1.2. Nhóm Thực Hiện Và Phân Công Công Việc
Nhóm gồm năm sinh viên: Nguyễn Đức Hải, Nguyễn Trọng Việt Hoàng, Đào Đức Hưng, Đỗ Thị Sao, Nguyễn Ngọc Tiến từ lớp DCCNTT11.6. Công việc được phân công rõ ràng cho từng thành viên, từ lựa chọn bài toán, phân tích yêu cầu, đặc tả chức năng đến thiết kế kiến trúc hệ thống. Mỗi sinh viên chịu trách nhiệm cho các module khác nhau như quản lý tài khoản, thông tin sinh viên, lớp học, môn học, điểm số, học phí và hoạt động rèn luyện.
II. Phân Tích Yêu Cầu Hệ Thống Quản Lý Sinh Viên
Phân tích yêu cầu là giai đoạn quan trọng trong quy trình phát triển phần mềm, xác định những chức năng cần thiết cho ứng dụng. Trong dự án này, hệ thống quản lý sinh viên cần đáp ứng nhiều yêu cầu chức năng khác nhau. Những yêu cầu này được chia thành các nhóm chính: quản lý tài khoản người dùng, quản lý thông tin sinh viên, quản lý lớp học, quản lý môn học, quản lý điểm, quản lý học phí và quản lý hoạt động rèn luyện. Bên cạnh những yêu cầu chức năng, hệ thống cũng phải đáp ứng các yêu cầu phi chức năng như bảo mật, tính hiệu quả, tính dễ sử dụng và khả năng mở rộng trong tương lai.
2.1. Danh Sách Yêu Cầu Chức Năng Chính
Yêu cầu chức năng của ứng dụng bao gồm: quản lý tài khoản (thêm, sửa, xóa, tìm kiếm); quản lý thông tin sinh viên (CRUD + thống kê); quản lý lớp học; quản lý môn học; quản lý điểm và thống kê học lực; quản lý học phí và thống kê học phí; quản lý hoạt động rèn luyện. Mỗi chức năng được thiết kế để giải quyết các tác vụ cụ thể trong quá trình quản lý, đảm bảo dữ liệu luôn được cập nhật và chính xác.
2.2. Yêu Cầu Phi Chức Năng Và Ràng Buộc
Yêu cầu phi chức năng bao gồm bảo mật dữ liệu, xác thực người dùng, kiểm soát quyền truy cập, và hiệu suất hệ thống. Hệ thống cần đảm bảo tính toàn vẹn dữ liệu, phòng chống truy cập trái phép, và có khả năng xử lý đồng thời nhiều người dùng. Giao diện phải thân thiện, dễ học và sử dụng cho những người không chuyên về công nghệ, đồng thời có khả năng mở rộng khi cần thêm các tính năng mới.
III. Đặc Tả Máy Trạng Thái Và Biểu Đồ Use Case
Đặc tả máy trạng thái hữu hạn (Finite State Machine) là công cụ mô tả các trạng thái và chuyển tiếp của từng chức năng trong hệ thống. Dự án này chứa 32 biểu đồ đặc tả máy trạng thái cho các chức năng khác nhau, từ quản lý tài khoản đến quản lý hoạt động rèn luyện. Biểu đồ Use Case cung cấp cái nhìn tổng quát về các tương tác giữa người dùng (actor) và hệ thống (use case). Có tổng cộng 8 biểu đồ Use Case chính, mỗi cái biểu diễn một nhóm chức năng cụ thể. Những công cụ này giúp đảm bảo rằng hệ thống được thiết kế một cách logic và toàn diện.
3.1. Cấu Trúc Biểu Đồ Use Case Tổng Quát
Biểu đồ Use Case tổng quát thể hiện toàn bộ chức năng của hệ thống và các nhóm người dùng (actor) tương tác. Hệ thống có hai loại actor chính: quản trị viên và nhân viên quản lý. Các Use Case được nhóm theo 8 nhóm chính tương ứng với các module của ứng dụng. Mỗi biểu đồ con chi tiết hơn các Use Case riêng biệt của từng module, giúp hiểu rõ hơn về các chức năng cụ thể và mối liên hệ giữa chúng.
3.2. Đặc Tả Chi Tiết Máy Trạng Thái Cho Các Chức Năng
Mỗi chức năng được mô tả chi tiết thông qua máy trạng thái hữu hạn, xác định các trạng thái có thể có và các sự kiện gây ra chuyển tiếp. Ví dụ, chức năng thêm tài khoản có các trạng thái: chờ nhập dữ liệu, đang xác thực, thành công, lỗi. Những đặc tả này đảm bảo rằng các developer hiểu rõ logic của từng chức năng và có thể triển khai chính xác.
IV. Thiết Kế Kiến Trúc Hệ Thống Và Biểu Đồ Tuần Tự
Thiết kế kiến trúc hệ thống là bước quan trọng để xác định cấu trúc tổng thể của ứng dụng. Dự án sử dụng biểu đồ Sequence Diagram để mô tả luồng tương tác giữa các đối tượng (objects) khi thực hiện các chức năng. Có 32+ biểu đồ tuần tự tương ứng với các chức năng khác nhau, giúp developer hiểu rõ thứ tự gọi các phương thức và tương tác giữa các thành phần hệ thống. Biểu đồ ERD (Entity-Relationship Diagram) mô tả cấu trúc cơ sở dữ liệu, xác định các thực thể, thuộc tính và mối quan hệ giữa chúng. Sơ đồ phân cấp chức năng cung cấp cái nhìn tổng quan về các chức năng và mối liên hệ phân cấp của chúng.
4.1. Biểu Đồ Sequence Diagram Và Luồng Tương Tác
Biểu đồ Sequence Diagram mô tả cách các đối tượng tương tác theo thời gian. Ví dụ, với chức năng thêm tài khoản, diagram cho thấy các bước: người dùng nhập dữ liệu, gửi yêu cầu đến hệ thống, xác thực dữ liệu, lưu vào cơ sở dữ liệu, và trả về kết quả cho người dùng. Những diagram này giúp identify các vấn đề tiềm ẩn và đảm bảo logic ứng dụng chính xác.
4.2. Mô Hình Dữ Liệu ERD Và Cấu Trúc Cơ Sở Dữ Liệu
Biểu đồ ERD xác định các entity chính như Account, Student, Class, Subject, Score, Tuition, Activity. Mỗi entity có các thuộc tính riêng và mối quan hệ với các entity khác. Ví dụ, Student có mối quan hệ nhiều-một với Class, có mối quan hệ một-nhiều với Score. Cấu trúc này đảm bảo lưu trữ dữ liệu hiệu quả, tránh dư thừa, và hỗ trợ các truy vấn phức tạp.