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
Trang 1TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀNỘI
KHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN MÔN HỌC CÔNG NGHỆ PHẦN MỀM
XÂY DỰNG PHẦM MỀM QUẢN LÝ SINH VIÊN CƠ
GVGD: TS.Nguyễn Đăng Khoa
Trưởng nhóm: Đàm Đức Huy – 2155010118 Thành viên:
Trang 2Trịnh Xuân Bách – 2155010028
Trần Đức Huy – 2155010123
Nguyễn Thành Công – 2155
Lớp: 21CN3 – Nhóm 10
Trang 3Lời nói đầu
Trong thời đại số hóa ngày nay, việc quản lý thông tin sinh viênđã trở thành một phần không thể thiếu trong hệ thống giáo dụctrên toàn thế giới Việc theo dõi hồ sơ học tập,tiến trình nghiêncứu, và thông tin cá nhân của sinh viên đòi hỏi sự tổ chức chặtchẽ và hiệu quả Để áp dụng những yêu cầu này, việc xây dựngphần mềm quản lý sinh viên đã trở thành một ưu tiên hàng đầucủa các trường đại học, trung học phổ thông cà các tổ chứcgiáo dục khác.
Phần mềm quản lý sinh viên không chỉ giúp các tổ chức giáodục theo dõi thông tin sinh viên một cách hiệu quả mà còn giúpcải thiện trải nghiệm học tập của họ Nó đóng vai trò quantrọng trong việc cung cấp thông tin liên quan đến học phí, lịchhọc, kết quả thi và nhiều khía cạnh khác của cuộc sống sinhviên Hơn nữa, phần mềm này còn giúp cải thiện quá trìnhnguồn nhân lực, tạo điều kiện thuận lợi cho việc tổ chức cáchoạt động ngoại khóa và tương tác giữa sinh viên, giáo viên vàquản lý.
Chính vì sự cần thiết của việc quản lý sinh viên bằng phần mềm, chúng em đã
quyết định xây dựng phần mềm “Quản lý sinh viên Khoa CNTT trường Đại Học Kiến Trúc” Đây chính là cơ hội để chúng em tìmhiểu các yêu cầu nghiệp vụ của ngành học, đồng thời cũng cố được những kiến thức mà chúng em đã học tập được trong thời gian vừa qua Nội dung được trình bày gồm 3 chương:
Chương 1:Giới thiệu chung Chương 2:Cơ sở lý thuyết Chương 3:Xác định yêu cầu Chương 4: Đặc tả (Phân tích) Chương 5:Thiết kế phần mềm Chương 6: Cài đặt và tích hợp Chương 7: Bảo trì và thôi sử dụng
Trang 41.5 Phương pháp nghiên cứu 3
1.6 Ý nghĩa lý luận và thực tiễn của đề tài 3
CHƯƠNG II CƠ SỞ LÝ THUYẾT 4
2.1 Giới thiệu về Microsoft Visual Studio 4
2.1.1 Khái niệm 4
2.1.2 Ưu điểm 5
2.1.3 Nhược điểm 5
2.2 Giới thiệu ngôn ngữ lập trình Python 5
CHƯƠNG III XÁC ĐỊNH YÊU CẦU 6
3 Pha xác định yêu cầu 6
a,Khảo sát nghiệp vụ quản lý sinh viên 6
b,Tìm hiểu yêu cầu khách hàng về phần mềm quản lý sinh viên: 8
3.2,Phân tích yêu cầu 8
3.2.1 Yêu cầu chung: 8
3.2.2 Yêu cầu chức năng: 9
3.2.3 Yêu cầu phi chức năng: 9
3.2.4 Đối tượng người dnng 9
3.2.5 Giả định và phụ thuộc 9
Trang 5CHƯƠNG IV ĐẶC TẢ BÀI TOÁN 10
4.1 Xây dựng mô hình use-case 10
4.2 Mô tả các use-case 10
4.2.1 Danh sách các tác nhân và mô tả chung: 11
4.2.2 Danh sách các use-case và mô tả: 11
4.2.3 Đặc tả UC1 “Đăng Nhập” 12
4.2.4 Đặc tả UC2 “Đổi mật khẩu” 12
4.2.5 Đặc tả UC3 ”cập nhật thông tin” 13
4.2.6 Đặc tả UC4 “Quản lý điểm” 14
4.2.7 Đặc tả UC5 “Quản lý môn học ” 15
4.2.8 Đặc tả UC6 “Xuất thông tin” 15
4.3 Xây dựng mô hình lớp 16
4.4 Xây dựng mô hình động 18
4.4.1 Biểu đồ hoạt động(acitivity diagram) 19
4.4.2 Biểu đồ luồng dữ liệu 22
4.5, Xây dựng kế hoạch quản lý dự án phần mềm(Software project management plan) 24
4.5.1 Tổng quan: 24
4.5.2 Chi tiết: 24
4.5.3 Phân công công việc: 26
Trang 6CHƯƠNG 1 GIỚI THIỆU CHUNG
1.1 Lý do chọn đề tàiCnng với sự phát triển mạnh mẽ của công nghệ thông tinvà sự xâm nhập nhanh chóng của công nghệ thông tin vào mọilĩnh vực đời sống xã hội, việc sử dụng máy tính trong công tácquản lý ngày càng trở thành nhu cầu cấp thiết là yếu tố cầnthiết để nâng cao chất lượng và hiệu quả công tác quản lý.
Trong lĩnh vực quản lý sinh viên, việc điều chỉnh và bổsung thông tin rất khó khăn và khó hiểu, việc tìm hiểu thông tintốn nhiều thời gian và mức độ chính xác thấp.
Các hệ thống quản lý sinh viên không chỉ dành cho trườnghọc và đại học, mà còn có thể áp dụng trong các tổ chức đàotạo, trung tâm học tập và các tổ chức quản lý đội ngũ nhânviên Do đó, nghiên cứu về chủ đề này có tính ứng dụng rộngrã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ềmquản lý sinh viên đang phát triển nhanh chóng, bao gồm cáccô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àycó thể giúp khám phá cách sử dụng những tiến bộ này để cảithiệ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ệcquản lý, thao tác tra cứu, báo cáo thống kê diễn ra nhanhchóng với độ chính xác cao thao tác đơn giản.
1.2 Đố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.
Trang 7chức năng tối ưu được đưa ra như sau:
Hỗ trợ trong việc quản lý thông tin sinh viên như: Mã sinhviê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 tinnhanh 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.
1.5 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ênvà 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ụngVisual Studio Code để thiết kế và xây dựng phần mềm.
1.6 Ý 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ựctiễn.
Chương trình cnng với thuyết minh sẽ trở thành một tàiliệu học tập, tham khảo, dễ hiểu, rất hữu ích cho sinh viênkhi 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.
Trang 8CHƯƠNG II CƠ SỞ LÝ THUYẾT
Chương này giới thiệu cơ bản lý thuyết về các công nghệ được sử dụng trongứngdụng, các tính năng chính cũng như ưu nhược điểm mà các công nghệ nàycó thể đáp ứng được.
2.1 Giới thiệu về Microsoft Visual Studio 2.1.1 Khái niệm
Microsoft Visual Studio là một môi trường phát triển tíchhợp (IDE) từ Microsoft, bao gồm trình soạn thảo mã, trình chỉnhsửa mã, trình gỡ lỗi, trình thiết kế Nó được dnng để phát triểnchương trình máy tính cho Mircosoft Windows, cũng như cáctrang web, ứng dụng điện thoại, …
Microsoft Visual Studio sử dụng nền tảng phát triểnphần mềm của Microsoft như Windows API, WindowsForms, Windows Presentation Foundation, Windows Store vàMicrosoft Silverlight Nó có thể sản xuất cả hai ngôn ngữ máyvà mã số quản lý.
Visual Studio hỗ trợ nhiều ngôn ngữ lập trình khác nhau và chophé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.
Trang 9Các ngôn ngữ tích hợp gồm C, C++ và C++/CLI (thông VisualC++), VB.NET (thông qua Visual Basic.NET), C# (thông quaVisual C#) và F# (như của Visual Studio 2010) Hỗ trợ cho cácngô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.
2.1.2 Ưu điểm
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.
2.2 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ậptrì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
Trang 10Cá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áctrự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 đơngiả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.
CHƯƠNG III XÁC ĐỊNH YÊU CẦU
3 Pha xác định yêu cầu3.1 Nắm bắt 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 khía cạnh quan trọng trong hệthống giáo dục hiện đại Nó bao gồm việc thu thập, lưutrữ, theo dõi và phân tích thông tin liến quan đến sinh viênđể dảm bảo học có một trải nghiệm học tập hiệu quả vàthành công Quản lý sinh viên không chỉ là vấn đề quản lýdữ liệu mà còn liên quan đến việc hỗ trợ sinh viên trongviệc đạ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ênnhậ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ướcnhư nộp hồ sơ, đăng kí học phần và tạo hồ sơ học tập.
Trang 11 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ã sinhviên, môn học đăng kí, điểm số, và tiến trình học tậpcủa sinh viên.
- Giấy tờ hành chính
Quản lý giấy tờ hành chính của sinh viên, chẳng hạnnhư chứng minh thư, hộ chiếu và các tài liệu liênquan đến đăng kí học.
Quản lý thời gian và lịch học- Lập lịch học
Trường học sẽ lập lịch học dựa trên sự môn học màkhoa phân cho lớp của sinh viên và sự phn hợp vớigiảng đường Qua đó sinh viên sẽ được biết thông tinvề môn học gồm mã môn học, tên môn học, số tínchỉ, giáo viên phụ trách môn học đó
- 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ệchoà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
Sinh viên sẽ được đánh giá môn học trên các thangđiểm với các mức độ hài lòng về giảng viên giảngdạy, cơ sở vật chất,….
- Hỗ trợ học tập
Giảng viên và cố vấn học tập thường hỗ trợ sinh viênbằng cách cung cấp lời khuyên và hướng dẫn để giúpsinh 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 sinhviê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.
Trang 12- Phương pháp phỏng vấn trực tiếp – phỏng vấn sâu.- Phiếu khảo sát.
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ý
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 đượcnhanh gọn dễ chỉnh sửa thao tác đơn giản tiện lợi.Và phầnmềm trước đã lỗi thời nên họ muốn có phần mềm cải tiếnhơ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ủasinh viên cài đặt chương trình có thể sử dụng sau khi đã đăng
Trang 13nhập và gõ đúng mật khẩu của mình Ở máy tính này sinhviên chỉ truy cập được ở mức chung nhất và chỉ thực hiện đượcthao tác tìm kiếm thông tin điểm môn học, học phí, lịchthi (chứ không sửa được) những thông tin liên quan đến chínhmình mà thôi Chỉ có giáo viên mới được quyền truy cập nhiềuchứ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,…
3.2,Phân tích yêu cầu
Từ những thông tin ở phần nắm bắt yêu cầu,ta nên phânra 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ànhthực tế thì có thể họ không có Như vậy thực ra họ thực hiệncá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ườisử 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ừ đó tatóm tắt lại phần mềm cần có các yêu cầu sau:
3.2.1 Yêu cầu chung:
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 trongkhoa CNTT
Cho phép lưu trữ thông tin với khối lượng sinh viên chophé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ầnmềm cũ
3.2.2 Yêu cầu chức năng:
Các chức năng hệ thống cần có: Với Giáo viên:
- Cập nhật thông tin cá nhân sinh viên:tên,ngày sinh,địachỉ,
- Cập nhật môn học - Cập nhật điểm thi Với sinh viên:
- 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ảngviên, và quản trị viên.
Trang 143.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ữ antoàn.
- Hệ thống bảo đảm được tính bảo mật, người đượcphân quyền chỉ được sử dụng đúng chức năng dành chomì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ìmkiếm của bạn đọc.
3.2.4 Đối tượng người dwng.
- Phần mềm được ứng dụng cho 2 đối tượng là: sinh viênvà 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.
Giảng viên
Cập nhật môn học. Thống kê sinh viên.
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ụngphầ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ủakhoa CNTT tại phòng Đào Tạo, khi đó hệ thống phần mềmmớ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ênmáy tính khác buộc phải có CSDL của khoa CNTT thì mớithực hiện đầy đủ được các thao tác nghiệp vụ.
Trang 15CHƯƠNG IV ĐẶC TẢ BÀI TOÁN
Pha phân tích hướng đối tượng bao gồm ba bước: xây dựng
mô hình use-case (use-case modeling), xây dựng môhình lớp (class modeling), và xây dựng mô hình đ ng
(dynamic modeling).
4.1 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ổ ậ ẩGi ng viềnả
Xuâất đi mể
Đăng nh pậ
viền
Trang 164.2 Mô tả các use-case
4.2.1 Danh sách các tácnhân và mô tả chung:Bảng 1.Thiếtkế hệ thống
thống Có quyền chỉnh sửacá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ả
C p nh t thông tin sinh viềnậ ậ
Thềm sinh viền
Xóa sinh viềnQu n lý thông tin sinh viềnả
Qu n lý môn h cả ọQu n lý đi mả ể
Xem thông tin