TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀNỘIKHOA CÔNG NGHỆ THÔNG TINBÀI TẬP LỚN MÔN HỌC CÔNG NGHỆ PHẦN MỀMXÂY DỰNG PHẦM MỀM QUẢN LÝ SINH VIÊN CƠGVGD: TS.Nguyễn Đăng KhoaTrưởng nhóm: Đàm Đức Huy – 2155
GIỚI THIỆU CHUNG
Lý do chọn đề tài
Cnng với sự phát triển mạnh mẽ của công nghệ thông tin và sự xâm nhập nhanh chóng của công nghệ thông tin vào mọi lĩnh vực đời sống xã hội, việc sử dụng máy tính trong công tác quản lý ngày càng trở thành nhu cầu cấp thiết là yếu tố cần thiết để nâng cao chất lượng và hiệu quả công tác quản lý.
Trong quản lý sinh viên, việc cập nhật và chỉnh sửa thông tin thường phức tạp và thiếu sự rõ ràng, khiến quá trình tìm kiếm mất nhiều thời gian và độ chính xác kém hiệu quả.
Các hệ thống quản lý sinh viên không chỉ dành cho trường học và đại học, mà còn có thể áp dụng trong các tổ chức đào tạo, trung tâm học tập và các tổ chức quản lý đội ngũ nhân viên Do đó, nghiên cứu về chủ đề này có tính ứng dụng rộng rãi và có thể mang lại lợi ích cho nhiều lĩnh vực khác nhau.
Lĩnh vực công nghệ thông tin liên quan đến phần mềm quản lý sinh viên đang phát triển nhanh chóng, bao gồm các công nghệ như trí tuệ nhân tạo, học máy, và tích hợp dữ liệu từ nhiều nguồn dữ liệu khác nhau Nghiên cứu trong lĩnh vực này có thể giúp khám phá cách sử dụng những tiến bộ này để cải thiện quản lý sinh viên
Do đó, chúng em đã thống nhất tìm hiểu nghiên cứu và xây dựng phần mềm quản lý sinh viên nhằm hỗ trợ tối đa việc quản lý, thao tác tra cứu, báo cáo thống kê diễn ra nhanh chóng với độ chính xác cao thao tác đơn giản.
Đối tượng nghiên cứu
Phần mềm quản lý sinh viên cho khoa công nghệ thông tin.
Phạm vi nghiên cứu
Người có nhu cầu sử dụng phần mềm quản lý sinh viên.
Quy trình hoạt động của các phần mềm quản lý sinh viên thông thường.
Mục đích nghiên cứu
Phần mềm quản lý sinh viên được thiết kế với mục tiêu giải quyết bài toán quản lý thông tin sinh viên một cách hiệu quả Để đạt được mục tiêu này, phần mềm sẽ cung cấp các chức năng tối ưu, đáp ứng nhu cầu quản lý thông tin sinh viên một cách toàn diện.
Hỗ trợ trong việc quản lý thông tin sinh viên như: Mã sinh viên, tên sinh viên, địa chỉ, giới tính, ngày tháng năm sinh, điểm số,… v.v.
Hỗ trợ các chức năng tìm kiếm và tra cứu.
Hỗ trợ các chức năng thêm, bớt hoặc sửa, xóa thông tin nhanh chóng.
Đưa ra các báo cáo, thống kê, tổng hợp và phân tích.
Hỗ trợ người dnng tiết kiệm được thời gian, quản lý thông tin nhanh chóng, thao tác đơn giản, dễ dàng sử dụng.
Xây dựng một hệ thống mới hơn các phiên bản cũ, tối ưu hơn, dễ hiểu hơn, tiện lợi hơn.
Phương pháp nghiên cứu
Tìm hiểu và nghiên cứu ngôn ngữ lập trình Python.
Phân tích thiết kế hệ thống bằng biểu đồ.
Tìm hiểu cách thức quản lý thông tin sinh viên, giảng viên và kế hoạch đào tạo
Tìm hiểu các công cụ xây dựng chương trình: Sử dụng
Visual Studio Code để thiết kế và xây dựng phần mềm.
Ý nghĩa lý luận và thực tiễn của đề tài
Đề tài sẽ mang lại ý nghĩa to lớn về cả mặt lý luận lẫn thực tiễn.
Chương trình cnng với thuyết minh sẽ trở thành một tài liệu học tập, tham khảo, dễ hiểu, rất hữu ích cho sinh viên khi nghiên cứu về kiến trúc hướng dịch vụ.
Đề tài là một sản phẩm mang tính ứng dụng cao phục vụ cho việc quản lý thông tin sinh viên trong nhà trường.
Là một công cụ giúp nhà trường quản lý giảng viên, sinh viên, tìm kiếm thông tin và lớp một cách dễ dàng, có khả năng nâng cấp sau này.
CƠ SỞ LÝ THUYẾT
Giới thiệu về Microsoft Visual Studio
Microsoft Visual Studio là một môi trường phát triển tích hợp (IDE) từ Microsoft, bao gồm trình soạn thảo mã, trình chỉnh sửa mã, trình gỡ lỗi, trình thiết kế Nó được dnng để phát triển chương trình máy tính cho Mircosoft Windows, cũng như các trang web, ứng dụng điện thoại, …
Microsoft Visual Studio sử dụng nền tảng phát triển phần mềm của Microsoft như Windows API, Windows Forms, Windows Presentation Foundation, Windows Store và Microsoft Silverlight Nó có thể sản xuất cả hai ngôn ngữ máy và mã số quản lý.
Visual Studio hỗ trợ nhiều ngôn ngữ lập trình khác nhau và cho phép trình biên tập mã và gỡ lỗi để hỗ trợ (mức độ khác nhau) hầu như mọi ngôn ngữ lập trình.
Các ngôn ngữ tích hợp gồm C, C++ và C++/CLI (thông Visual C++), VB.NET (thông qua Visual Basic.NET), C# (thông qua Visual C#) và F# (như của Visual Studio 2010) Hỗ trợ cho các ngôn ngữ khác như J++/J#, Python và Ruby thông qua dịch vụ cài đặt riêng rẽ Nó cũng hỗ trợ XML/XSLT, HTML/XHTML, JavaScript và CSS.
Hỗ trợ nhiều ngôn ngữ lập trình khác nhau.
Cho phép sử dụng plug-in hoặc thư viện bên thứ ba.
Hỗ trợ nhiều dòng máy và hệ điều hành khác nhau.
Hỗ trợ kéo thả để xây dựng ứng dụng một cách chuyên nghiêp.
Giao diện đẹp và nhiều tính năng.
Có nhiều tài liệu hướng dẫn và tham khảo.
Tuy có giao diện đẹp, nhưng khá khó sử dụng đối với người mới học lập tình, vì có khá nhiều bước thiết lập và cài đặt.
Visual là một IDE nặng nên cần sử dụng nhiều tài nguyên để khởi động và vận hành, chiếm nhiều bộ nhớ máy tính và tiêu hao pin máy tính.
Giới thiệu ngôn ngữ lập trình Python
Python là một ngôn ngữ lập trình bậc cao cho các mục đích lập trình đa năng, do Guido van Rossum tạo ra và lần đầu ra mắt vào năm 1991 Python được thiết kế với ưu điểm mạnh là dễ đọc, dễ học và dễ nhớ Python là ngôn ngữ có hình thức rất sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình và là ngôn ngữ lập trình dễ học; được dnng rộng rãi trong phát triển trí tuệ nhân tạo
Các đặc tính của ngôn ngữ lập trình python:
Ngôn ngữ thông dịch: Python được xử lý trong thời gian chạy bởi Trình thông dịch Python.
Ngôn ngữ hướng đối tượng: Nó hỗ trợ các tính năng và kỹ thuật lập trình hướng đối tượng.
Ngôn ngữ lập trình tương tác: Người dnng có thể tương tác trực tiếp với trình thông dịch python để viết chương trình.
Ngôn ngữ dễ học: Python rất dễ học, đặc biệt là cho người mới bắt đầu.
Cú pháp đơn giản: Việc hình thành cú pháp Python rất đơn giản và dễ hiểu, điều này cũng làm cho nó trở nên phổ biến.
Dễ đọc: Mã nguồn Python được xác định rõ ràng và có thể nhìn thấy bằng mắt.
Di động: Mã Python có thể chạy trên nhiều nền tảng phần cứng có cnng giao diện.
Có thể mở rộng: Người dnng có thể thêm các mô-đun cấp thấp vào trình thông dịch Python.
Có thể cải tiến: Python cung cấp một cấu trúc cải tiến để hỗ trợ các chương trình lớn sau đó là shell-script.
XÁC ĐỊNH YÊU CẦU
Pha xác định yêu cầu
a,Khảo sát nghiệp vụ quản lý sinh viên
Quản lý sinh viên là một quá trình quan trọng giúp thu thập, lưu trữ, theo dõi và phân tích dữ liệu liên quan đến sinh viên để đảm bảo trải nghiệm học tập suôn sẻ và thành công Quá trình này không chỉ giới hạn ở việc quản lý dữ liệu mà còn bao gồm việc cung cấp hỗ trợ liên tục cho sinh viên nhằm giúp họ đạt được mục tiêu học tập và phát triển cá nhân.
Thu thập thông tin sinh viên
Một trường đại học mỗi năm tiếp nhận nhiều sinh viên nhập học nên quá trình thu thập thông tin sinh viên bắt đầu từ quá trình đăng kí và tiếp tục qua các các bước như nộp hồ sơ, đăng kí học phần và tạo hồ sơ học tập.
Quản lý hồ sơ và tài liệu - Hồ sơ học tập
Hồ sơ học tập sinh viên bao gồm thông tin về mã sinh viên, môn học đăng kí, điểm số, và tiến trình học tập của sinh viên.
Quản lý giấy tờ hành chính của sinh viên, chẳng hạn như chứng minh thư, hộ chiếu và các tài liệu liên quan đến đăng kí học.
Quản lý thời gian và lịch học
Trường học lên lịch học căn cứ vào các môn học được khoa phân cho lớp sinh viên và phù hợp với giảng đường Từ đó, sinh viên được cung cấp thông tin về mỗi môn học như mã môn, tên môn, số tín chỉ và giảng viên phụ trách.
- Quản lý thời gian học tập Sinh viên cần quản lý thời gian học tập của họ để có thể tham gia vào các buổi học, thực hiện bài tập và nghiên cứu.
- Quản lý tiến độ học tập Quản lý tiến độ học tập bao gồm việc theo dõi việc hoàn thành các môn học và đảm bảo rằng sinh viên đạt được mục tiêu của mình.
Đánh giá tiến trình học tập là quá trình thu thập thông tin phản hồi từ sinh viên về môn học đang học Các thông tin này được sử dụng để cải thiện chất lượng giảng dạy, cơ sở vật chất và các yếu tố khác có ảnh hưởng đến trải nghiệm học tập của sinh viên Quá trình đánh giá thường được thực hiện thông qua các bảng câu hỏi hoặc phỏng vấn, với các câu hỏi liên quan đến nội dung môn học, phương pháp giảng dạy, cơ sở vật chất và hỗ trợ học tập Phản hồi của sinh viên rất quan trọng vì giúp giảng viên và nhà trường hiểu được những hiệu quả và thiếu sót trong quá trình giảng dạy, từ đó có những điều chỉnh phù hợp để nâng cao chất lượng giáo dục.
- Hỗ trợ học tập Giảng viên và cố vấn học tập thường hỗ trợ sinh viên bằng cách cung cấp lời khuyên và hướng dẫn để giúp sinh viên thành công trong học tập.
Sau khi đủ điều kiện và hoàn thành các môn học được giao sinh viên sẽ được thi các môn thi tốt nghiệp
Phương pháp khảo sát- Phương pháp thu thập thông tin.
- Phương pháp phỏng vấn trực tiếp – phỏng vấn sâu.
Dữ liệu thu thập - Các thấy cô thuộc phòng công tác sinh viên của trường đại học Kiến Trúc Hà Nội
Tóm tắt kết quả khảo sát - Khảo sát 100 người : 80% người được khảo sát cần sử dụng phần mềm quản lí, 90% người tham gia khảo sát cho rằng việc sự dụng phần mềm để quản lý là cần thiết, 40% người khảo sát cho rằng các phần mềm khó sử dụng.
Báo cáo chi tiết -Sử dụng phần mềm để quản lý
Có sử dụng phần mềm 85%
Không sử dụng phần mềm 15%
Bảng 1.1: Tỉ lệ sử dụng phần mềm để quản lý
-Sự cần thiết của các phần mềm quản lý
Cần thiết sử dụng phần mềm 90%
Không cần thiết sử dụng phần mềm 10%
Bảng 1.2: Tỉ lệ cần thiết của các phần mềm quản lý
-Trải nghiệm khi sử dụng các phần mềm quản lý
Dễ sử dụng,tiện lợi 70%
Bảng 1.3: Tỉ lệ trải nghiệm khi sử dụng các phần mềm quản lý b,Tìm hiểu yêu cầu khách hàng về phần mềm quản lý sinh viên:
Phòng quản lý muốn rằng các thao tác trên đây được nhanh gọn dễ chỉnh sửa thao tác đơn giản tiện lợi.Và phần mềm trước đã lỗi thời nên họ muốn có phần mềm cải tiến hơn để hỗ trợ quản lý sinh viên tốt hơn Cũng có thể dữ liệu được lưu trữ ở máy chủ (server) Các máy tính cilent của sinh viên cài đặt chương trình có thể sử dụng sau khi đã đăng nhập và gõ đúng mật khẩu của mình Ở máy tính này sinh viên chỉ truy cập được ở mức chung nhất và chỉ thực hiện được thao tác tìm kiếm thông tin điểm môn học, học phí, lịch thi (chứ không sửa được) những thông tin liên quan đến chính mình mà thôi Chỉ có giáo viên mới được quyền truy cập nhiều chức năng hơn, như kiểm tra và nhập thông tin về sinh viên, nhập,sửa điểm sinh viên,…
Từ những thông tin ở phần nắm bắt yêu cầu,ta nên phân ra một người đảm nhận,giám sát toàn bộ sự hoạt động của phần mềm là người quản trị, mà ta thường gọi là người quản trị hệ thống Người quản trị hệ thống thường là người am hiểu tin học nhất trong cơ quan Về mặt quyền hành thực tế thì có thể họ không có Như vậy thực ra họ thực hiện các thao tác trên phần mềm với sự ủy nhiệm của người có trách nhiệm thực sự trong cơ quan Vậy có ba nhóm người sử dụng phần mềm với ba mức phân quyền từ thấp nhất đến cao nhất là: sinh viên,giáo viên,người quản trị Từ đó ta tóm tắt lại phần mềm cần có các yêu cầu sau:
Thể hiện được mô hình quản lý sinh viên
Quản lý được các thông tin cá nhân của sinh viên trong khoa CNTT
Cho phép lưu trữ thông tin với khối lượng sinh viên cho phép(khoảng 500 – 700 sinh viên)
Tạo phần mềm có tính cải tiến, hiện đại hơn so với phần mềm cũ
Các chức năng hệ thống cần có:
- Cập nhật thông tin cá nhân sinh viên:tên,ngày sinh,địa chỉ,
- Hiển thị danh sách điểm.
- Hiển thị danh sách môn học.
Tạo và quản lý tài khoản người dnng cho sinh viên, giảng viên, và quản trị viên.
3.2.3 Yêu cầu phi chức năng:
Hệ thống hoạt động tin cậy, dữ liệu luôn được cất giữ an toàn.
- Hệ thống bảo đảm được tính bảo mật, người được phân quyền chỉ được sử dụng đúng chức năng dành cho mình.
- Có giao diện thân thiện với người dnng.
- Chương trình chạy nhanh, đáp ứng kịp thời nhu cầu tìm kiếm của bạn đọc.
- Phần mềm được ứng dụng cho 2 đối tượng là: sinh viên và giáo viên:
Sinh viên chỉ sử dụng phần mềm khi đã đăng nhập và chỉ thực hiện được các chức năng chung không thể thêm,sửa thông tin.
Cập nhật thông tin sinh viên. o Quản trị viên: kiểm tra, phân quyền người sử dụng phần mềm.
3.2.5 Giả định và phụ thu c
Phần mềm chỉ được cái đặt trên hệ thống máy tính của khoa CNTT tại phòng Đào Tạo, khi đó hệ thống phần mềm mới kết nối được CSDL của khoa CNTT Hoặc nếu không cài đặt trên hệ thống máy tính của khoa CNTT mà cài đặt trên máy tính khác buộc phải có CSDL của khoa CNTT thì mới thực hiện đầy đủ được các thao tác nghiệp vụ.
ĐẶC TẢ BÀI TOÁN
Xây dựng mô hình use-case
XÂY D NG PHÂẦN MỀẦM QU N LÝ SINH VIỀN C B N Ự Ả Ơ Ả
Admin Qu n tr tài kho nả ị ảPhân quyềền user Đ i m t kh uổ ậ ẩ
Xuâất đi mể Đăng nh pậ
Xuâất l ch thiị Sinh viền
Mô tả các use-case
Bảng 1.Thiết kế hệ thống
Tác nhân Mô tả tác nhân Ghi chú
(admin) nhật,ch ửa thông tin trong toàn hệ thống.Với quản lý hệ thống có chức năng cập như:họ tên, ngày sinh, quê quán, ngành học, lớp học,điểm…
Người truy cập hệ thống Có quyền chỉnh sửa các thông tin sinh viên như: Họ tên, ngày sinh, quê quán, ngành học, lớp học, điểm, Có quyền xem thời khoá biểu và xem danh sách phòng thi.
4.2.2 Danh sách các use-case và mô tả:
Bảng 2 Danh sách các use case và mô tả
ID Tên Use case Chức năng
UC1 Đăng nhập Đăng nhập vào hệ
C p nh t thông tin sinh viềnậ ậ
Xóa sinh viền Qu n lý thông tin sinh viềnả
Qu n lý môn h cả ọ Qu n lý đi mả ể
- UC2: Cấp lại mật khẩu cho sinh viên khi họ quên mật khẩu.**Quản lý thông tin sinh viên** - UC3: Quản lý thông tin sinh viên bao gồm thêm sinh viên mới, cập nhật và chỉnh sửa các thông tin như họ tên, ngày sinh, quê quán, lớp, điểm
UC4 Quản lý điểm Cho phép giảng viên quản lý điểm qua thao tác nhập điểm, sửa điểm của các sinh viên
UC5 Quản lý môn học: Giảng viên có thể xem, thêm, xóa và chỉnh sửa thông tin môn học của sinh viên UC6 Xuất thông tin sinh viên: Người dùng có thể thống kê số lượng sinh viên và xuất thông tin sinh viên ra file.
4.2.3 Đặc tả UC1 “Đăng Nhập”
Bảng 3.Đặc tả use case “Đăng Nhập”
Tên use case Đăng nhập
Mô tả Mô tả hoạt động đăng nhập vào hệ thống của tác nhân Điều kiện tiên quyết Hệ thống đã được khởi động sẵn sàng ,tác nhân đã được đăng kí tài khoản trước đó.
Kịch bản đăng nhập 1 Tác nhân khởi động giao diện chương trình 2 Hệ thống hiển thị và yêu cầu nhập thông tin3 Tác nhân nhập thông tin cần thiết,chọn nút đăng 4 Hệ thống kiểm tra thông nhập Trường hợp ngoại lệ Tác nhân nhập sai thông tintin
Hệ thống báo lỗi và yêu cầu nhập lại
Tác nhân lặp lại bước 3 Điệu kiện cuối Không có
4.2.4 Đặc tả UC2 “Đổi mật khẩu”
Bảng 4 Đặc tả UC ”Đổi mật khẩu”
Tên use case Đổi mật khẩu
Tác nhân Admin, giảng viên, sinh viên Mô tả Mô tả hoạt động đổi lại mật khẩu đăng nhập vào hệ thống của tác nhân Điều kiện tiên quyết Hệ thống đã được khởi động sẵn sàng ,tác nhân đổi mật Kịch bản đổi mật khẩu 1.Tác nhân khởi động giao khẩu diện chương trình 2 Hệ thống hiển thị và yêu cầu nhập thông tin
3 Tác nhân chọn “Đổi mật khẩu”
4 Hệ thống yêu cập nhập thông tin xác thực
5 Hệ thống yêu cập nhật lại mật khẩu
6 Tác nhân xác nhận đổi mật khẩu, hệ thống lưu lại
Trường hợp ngoại lệ Tác nhân nhập sai thông tin xác thực Hệ thống yêu cầu nhập lại thông tin xác thực
Tác nhân lặp lại bước 4 Hệ thống yêu cầu nhập mật khẩu mới và xác nhận lại mật khẩuTác nhân nhập mật khẩu lần 2 không khớp
Tác nhân thực hiện lại bước 5 Điệu kiện cuối Không có
4.2.5 Đặc tả UC3 ”cập nhật thông tin”
Bảng 5.Đặc tả UC”cập nhật thông tin”
Tên use case Cập nhật thông tin
Tác nhân phải là Người quản trị hoặc giảng viên, có quyền truy cập vào hệ thống quản lý sinh viên Trước khi cập nhật thông tin sinh viên vào hệ thống, tác nhân cần đảm bảo hệ thống đã được khởi động sẵn sàng Ngoài ra, tác nhân cũng phải có tài khoản đăng nhập hợp lệ và đã đăng nhập thành công vào hệ thống.
Kịch bản cập nhật thông tin 1.Tác nhân khởi động giao diện chương trình 2 Tác nhân chọn 1 trong các thao tác: thêm, xóa, sửa 3 Tác nhân nhập các thông tin cần thiết của sinh viên để tiến hành thêm hoặc sửa thông tin sinh viên
4 Tác nhân chọn vào sinh viên cần xóa và chọn thao tác xoá để xoá thông tin của sinh viên đó
5 Hệ thống tiến hành cập nhật dữ liệu vừa mới được chỉnh sửa vào database
Trường hợp ngoại lệ Tác nhân để trống 1 hoặc 1 số thông tin của sinh viên Hệ thống báo lỗi và yêu cầu điền đầy đủ thông tin
Tác nhân lặp lại bước 3 Điệu kiện cuối Không có
4.2.6 Đặc tả UC4 “Quản lý điểm”
Bảng 6.Đặc tả UC “quản lý điểm”
Tên use case Quản lý điểm
Giảng viên và quản trị viên có thể xem và chỉnh sửa điểm của sinh viên trên hệ thống đã khởi động và người dùng đã đăng nhập thành công.
Kịch bản quản lý điểm 1.Tác nhân khởi động giao diện chương trình 2 Tác nhân chọn vào tính năng quản lý điểm
3 Hệ thống đưa ra lựa chọn các danh sách điểm và các thao tác: thêm, xóa, sửa điểm của sinh viên
4 Tác nhân lựa chọn danh sách điểm cần thao tác và thực hiện các thao tác quản lý 5 Hệ thống cập nhật các thay đổi vào database sau khi tác nhân hoàn thành 1 thao tác
Trường hợp ngoại lệ Không có Điệu kiện cuối Không có
4.2.7 Đặc tả UC5 “Quản lý môn học ”
Bảng 7 Đặc tả UC “Quản lý môn học”
Tên use case Quản lý môn học
Tác nhân Admin,giảng viên
Mô tả Mô tả hoạt động chỉnh sửa môn học của giảng viên,admin Điều kiện tiên quyết Hệ thống đã được khởi động sẵn sàng ,tác nhân đã được đăng ký tài khoản trước đó và đăng nhập thành công
Kịch bản quản lý môn học 1.Tác nhân khởi động giao diện chương trình 2 Tác nhân chọn vào tính năng quản lý môn học
3 Hệ thống hiển thị danh sách các môn học
4 Tác nhân lựa chọn danh sách môn học cần chỉnh sửa 5 Tác nhân tiến hành thao tác thêm môn học, xóa môn học hoặc điều chỉnh môn học6 Hệ thống cập nhật những thay đổi vào Database
Trường hợp ngoại lệ Không có Điệu kiện cuối Không có
4.2.8 Đặc tả UC6 “Xuất thông tin”
Bảng 8 Đặc tả UC “Xuất thông tin”
Tên use case Xuất thông tin
Tác nhân Admin,giảng viên,sinh viên Mô tả Mô tả hoạt động xuất danh sách thông tin sinh viên thành file Excel Điều kiện tiên quyết Hệ thống đã được khởi động sẵn sàng ,tác nhân đã được đăng ký tài khoản trước đó và đăng nhập thành công
Kịch bản xuất thông tin 1.Tác nhân khởi động giao diện chương trình 2 Tác nhân chọn vào tính năng in thông tin
3.Hệ thống tiến hành xuất thông tin theo từng yêu cầu ra màn hình
Trường hợp ngoại lệ Không có Điệu kiện cuối Không có
Xây dựng mô hình lớp
Mục đích chính của bước này là đưa ra định nghĩa các lớp cnng các thuộc tính, xác định các quan hệ và các tương tác giữa chúng Trong bước này các lớp chỉ có các thuộc tính và được biểu diễn dưới dạng sơ đồ thực thể- quan hệ (entity- relationship model, ERM) Các phương thức (tức là các hàm thành phần) của các lớp sẽ được đưa vào trong giai đoạn thiết kế (OOD).
Từ việc xác định yêu cầu và các kịch bản như đã trình bày ở trên, ta có thể đưa ra các danh từ ứng cử viên cho các lớp dự kiến như sau:
Sinh viên,môn học,điểm,tài khoản, giáo viên, quản trị viên,báo cáo,Khoa,Lớp
Tuy nhiên không phải tất cả các danh từ đều được sử dụng để tạo lớp Đối với mô hình use-case, ta đã thực hiện theo cách đưa ra các tác nhân của phần mềm rồi chọn tác nhân quan trọng nhất, sau đó xác định xem tác nhân đó làm gì với hệ thống Chúng ta sẽ làm theo cách tương tự với biểu đồ lớp: trước hết ta xác định xem trong các danh từ thì danh từ nào đóng vai trò quan trọng nhất Bây giờ ta sẽ phân tích là nên giữa lại cái nào và bỏ đi cái nào Ta sẽ lần lượt xem xét các danh từ:
Thông tin của sinh viên gồm : họ tên,điểm,mã sinh viên,môn học,địa chỉ,lớp Mục đích của phần mềm là quản lý sinh viên nên thì hoạt động của sinh viên cần phải quản lý và ta xây dựng thành một lớp, ta phải lưu giữ lại tất cả sinh viên cnng với các thông tin cần thiết trên cơ sở dữ liệu của khoa Trong pha thiết kế ta sẽ chỉ rõ cấu trúc của csdl này, còn ở pha này ta chỉ gọi đơn giản là CSDL sinh viên.
Thông tin của giáo viên gồm: họ tên,môn dạy,thời khóa biểu nên cũng cần phải quản lý, giáo viên có thao tác trực tiếp đến quản lý sinh viên,do vậy giáo viên được coi là tác nhân quan trọng thứ hai của hệ thống sau sinh viên nên ta cũng cần xây dựng thành m t lớp giáo viên.
Với môn học thì cần các thông tin về giáo viên giảng dạy,tên môn,mã khoa cần phải quản lý thành một lớp riêng nên ta sẽ xây dựng lớp môn học.
Do đặc thù quản trị viên chỉ giới hạn trong phạm vi hệ thống Khoa CNTT, nên số lượng quản trị viên có thể không cần nhiều Việc xác định quản trị viên nào quản lý cũng không cần thiết phải đưa vào phần mềm, chỉ cần xem đó là thuộc tính tính toán mà thôi.
Với thông tin của tài khoản sẽ được thể hiện trong thuộc tính logic có rồi của lớp sinh viên và giáo viên nên ta không cần xây dựng lớp.
Thông tin của lớp sẽ gồm :tên lớp,mã lớp ,do khoa chỉ giới hạn khoa CNTT nên ta không cần xác định mã khoa,trong một khoa sẽ có nhiều lớp cần quản lý nên ta cũng cần xây dựng lớp lớp học.
Do thông tin của khoa nếu ta xác định phần mềm quản lý sinh viên trong trường học thì sẽ cần phải xác định các thuộc tính: mã khoa, tên khoa, nhưng do chỉ giới hạn ở khoa CNTT nên ta chỉ coi là thu c tính mà thôi.
Tóm lại ta có lớp sau đây:
Họ tên Địa chỉ LớpMôn Học ĐiểmMã SV Ngày sinh Xem Thông tinCó rồi?
Căn c vứ ào các d li u bền trềnữ ệ , ta đ aư ra sơ đôề l p như sau:ớ
Hình 2.2.2 Biểu đồ lớp của hệ thống quản lý sinh viên
Mã GV Mã Môn Tền Môn
Mã GV Họ tên Địa chỉ Môn Dạy
Do những hạn chế của phần mềm chỉ nằm ở hệ thống khoa học công nghệ thông tin, nên ta có thể lược bỏ đi một vài yếu tố không cần thiết khi xây dựng lớp học như trường đại học và khoa.
Xây dựng mô hình động
Bước thứ ba trong phân tích HĐT là xây dựng mô hình động Mô hình động (dynamic model) bao gồm hai loại biểu đồ: biểu đồ hoạt động (activity diagram) và biểu đồ luồng dữ liệu (dynamic flow diagram).
4.4.1 Biểu đồ hoạt đ ng(acitivity diagram) a, Activity diagram Đăng Nhập
Nhập tên đăng nhập và mật khẩu Đăng nhập Đăng nhập thành công Yes
Kiểm tra tên đăng nhập và mật khẩu
Hình 4.4.a Activity diagram Đăng nhập b, Activitiy diagram đổi mật khẩu
Hình 4.4.b Activity diagram Đổi Mật Khẩu c,Activity diagram hiển thị thông tin sinh viên
Guest System Đổi mật khẩu thành công Nhập mật khẩu mới và xác nhận mật khẩu mới Yêu cầu nhập mật khẩu mới
Gửi vào hệ thống Nhập mật khẩu hiện tại
Lưu vào hệ thốngXác nhậnXác nhận
Hình 4.4.c Activity diagram Hiển thị thông tin d, Activity diagram cập nhật thông tin sinh viên
Tìm kiếm Không tìm thâấy
Hình 4.4.d Activity diagram Cập Nhật Thông Tin
4.4.2 Biểu đồ luồng dữ liệu
Trong giai đoạn này của pha phân tích, biểu đồ luồng dữ liệu thường được sử dụng để mô tả dữ liệu của các lớp qua một hoặc nhiều use-case Từ những bản thiết kế của những biểu đồ hoạt động được nêu trên, ta có thể xây dựng một biểu đồ luồng dữ liệu tổng quát các đối tượng như sau:
Bảng điểm sinh viên Xử lý điểm Quy định, tiêu chuẩn Bảng điểm sinh viên Bảng điểm sinh viên
Danh sách sinh viên liệt kê các thông tin về sinh viên, bao gồm báo cáo thống kê, danh sách xét duyệt, bảng điểm, phiếu điểm, thông báo và điểm số Những thông tin này giúp nhà trường quản lý sinh viên hiệu quả hơn, đồng thời cũng cung cấp cho sinh viên những thông tin cần thiết về quá trình học tập của mình.
1 213 Điểm sinh viên Danh sách sinh viên Điểm sinh viên
Xử lý điểm Cập nhật điểm Thống kê điểm
Nhập thông tin sinh viên
Cập nhật thành công Yes
Kiểm tra thông tin có rỗng không?
Hình 4.4.2 Biểu đồ DFD (Dynamic flow diagram)
4.5, Xây dựng kế hoạch quản lý dự án phần mềm(Software project management plan)
Sau khi biên soạn tài liệu đặc tả thì phần tiếp theo là: xây dựng kế hoạch chi tiết và ước lược thời gian hoàn thành và giá trị phần mềm.Nội dung kế hoạch sẽ phản ánh các giai đoạn khác nhau của quá trình phát triền phần mềm,những thành viên tham gia trong từng giai đoạn và thời hạn cần hoàn thành.Những thành phần chính của kế hoạch là: những phần sản phẩm chuyển giao cho khách hàng,các mốc thời gian cần chuyển giao chi phí, của các phần sản phẩm này.Bản kế hoạch mô tả tỉ mỉ quy trình phần mềm bao gồm:
Mô hình vòng đời phần mềm được sử dụng, cơ cấu tổ chức của công ty phần mềm,những mục tiêu của dự án,các kỹ thuật và các công cụ CASE(computer active software engineer) được sử dụng, lịch trình làm việc chi tiết,
Giai đoạn "Phân tích & Thiết kế" diễn ra từ Ngày 13/9 – Ngày 16/9
Giai đoạn "Phát triển" diễn ra từ Ngày 17/9 – Ngày 28/9 với phần mềm và giao diện người dùng được phát triển song song.
Giai đoạn "Kiểm tra & Đánh giá" diễn ra từ Ngày 29/9 – Ngày 03/10, với kiểm tra chức năng và đánh giá hiệu suất.
Giai đoạn "Triển khai & Bàn giao" diễn ra từ Ngày 04/10 – Ngày 09/10, bao gồm việc triển khai phần mềm và đào tạo người dùng cuối.
Giai đoạn "Kết thúc dự án" diễn ra từ Ngày 10/10 – Ngày 12/10 để hoàn tất dự án và bàn giao quản lý.
Giai đoạn 1: Phân tích và Thiết kế (Ngày 13/9 – Ngày 16/9)
Xác định yêu cầu dự án (Ngày 13/9)
Tiến hành cuộc họp với người dùng cuối để xác định yêu cầu cụ thể.
Tạo tài liệu yêu cầu chi tiết.
Phân tích yêu cầu (Ngày 14/9):
Phân tích yêu cầu và xác định các chức năng và tính năng cần thiết.
Xây dựng mô hình dữ liệu ban đầu.
Thiết kế hệ thống (Ngày 15/9 – ngày 16/9):
Xây dựng thiết kế kiến trúc hệ thống và cơ sở dữ liệu.
Lập kế hoạch cho giao diện người dùng.
Giai đoạn 2: Phát triển (Ngày 17/9 – Ngày 28/9) Phát triển hệ thống (Ngày 17/9 – Ngày 23/9):
Bắt đầu phát triển phần mềm theo thiết kế kiến trúc đã được xác định.
Tiến hành kiểm thử đơn vị liên tục.
Phát triển giao diện người dùng (Ngày 22/9 – Ngày 28/9):
Xây dựng giao diện người dùng dựa trên thiết kế đã được xác định.
Kiểm tra giao diện người dùng với người dùng cuối.
Giai đoạn 3: Kiểm tra và Đánh giá (Ngày 29/9 – Ngày 03/10) Kiểm tra và sửa lỗi (Ngày 29/9 – Ngày 01/10):
Tiến hành kiểm thử chức năng toàn diện của phần mềm.
Sửa lỗi và cải thiện tính năng dựa trên kết quả kiểm tra. Đánh giá và tối ưu hóa (Ngày 02/10 – Ngày 3/10):
Tiến hành đánh giá chất lượng và hiệu suất của phần mềm.
Tối ưu hóa hiệu suất và tính ổn định.
Giai đoạn 4: Triển khai và Bàn giao (Ngày 04/10 – Ngày 09/10)
Triển khai phần mềm Triển khai phần mềm vào môi trường sản xuất. Đào tạo người dùng cuối.
Giai đoạn 5: Kết thúc dự án (Ngày 10/10 – Ngày 12/10) Kết thúc dự án Đánh giá tổng quan về dự án và hoàn tất tất cả các tài liệu liên quan.
Kết thúc dự án và bàn giao quản lý cho người quản lý dự án.