Ngoài ra hệ thống quản lý thực tập còn thêm các thông tin khác về sinh viên, về lớp, bộ môn, khóa, giảng viên hướng dẫn, nhóm… - Việc quản lý thông tin thực tập của sinh viên CĐ Tin như
Trang 1Luận văn Quản lý sinh viên thực tập
Trang 2Vì vậy trong đợt thực tập tốt nghiệp lần này, em đã chọn làm đề tài
“quản lý sinh viên thực tập” bằng ngôn ngữ C# xây dựng trong môi trường
Microsoft Visual Studio.Net Quản lý sinh viên thực tập là một công việc không thể thiếu được trong các trường đại học, cao đẳng, trung cấp…Hệ thống mà em xây dựng ở đây chỉ còn khá đơn giản, chỉ sử dụng để quản lý sinh viên thực tập trong cao đẳng khoa công nghệ thông tin
Trang 3Chương 1 GIỚI THIỆU VỀ MÔI TRƯỜNG LÀM VIỆC MICROSOFT
Cấu trúc và các lập luận C# được phản ánh các phương pháp luận của Net ngầm bên dưới
Trong nhiều trường hợp, các đặc trưng của C# thậm chí được quyết định dựa vào đặc trưng của Net, hoặc thư viện lớp cơ sở của Net
Chính bởi tầm quan trọng của Net, nên chúng ta cần phải biết sơ qua về Net trước khi đi vào ngôn ngữ C#
C# là một ngôn ngữ lập trình mới, và được biết đến với 2 lời chào:
Nó được thiết kế riwwng để dùng cho Microsoft’s.Net Framework (Một nền khá mạnh cho ho sự phát triển, triển khai, hiện thực và phân phối các ứng dụng)
Nó là một ngôn ngữ hoàn toàn hướng đối tượng được thiết kế dựa trên kinh nghiệm của ác ngôn ngữ hướng đối tượng khác
Một điều quan trọng cần nhớ C# là một ngôn ngữ độc lập Nó được thiết kế
để có thể sinh ra mã đích trong môi trường Net, nó không phải là một phần của Net bởi vậy có một vài đặc trưng được hỗ trợ bởi Net mà C# không hỗ trợ được Nhưng cũng có một vài đặc trưng C# hỗ trợ mà Net không hỗ trợ (chẳng hạn như quá tải toán tử)
Trang 42 Tạo các ứng dụng Net bằng C#
C# có thể dùng để tạo các ứng dụng console: các ứng dụng thuần văn bản chạy trên DOS window nhưng hầu như các ứng dụng console khi cần kiểm tra các thư viện lớp , hoặc cho các tiến trình daemon Unix/Linux Tất nhiên chúng ta cũng có thể dùng C# để tạo ứng dụng dùng cho công nghệ tương thích Net Dưới đây là các kiểu ứng dụng khác nhau có thể tạo ra bằng C#: 1) Tạo các ứng dụng ASP.NET
Web Forms
- Các trang ASP.NET là thực chất là các trang có cấu trúc
- Một điểm mạnh khác là các trang ASP.Net có thể được tạ trong môi trường VS.NET
- Đặc tính ASP.NET’s code-behind giúp bạn có thể dễ dàng cấu trúc một tang web ASP.NET cho phép bạn tách biệt với các chức năng server-side của trang thành một lớp , biên dịch lớp đó thành một DLL đó vào một thư mục bên dưới phần HTML
- ASP.NET có khả năng tăng cường thực thi
Web controls
- Để dễ dàng cho việc tạo các trang có cấu trúc, VS.NET cung cấp web forms Chúng cho phép bạn tạo các trang ASP.NET sinh động như cách mà VB6 hay C++ Builder Windows đã làm
Trang 5- Bạn có thể dùng C# hay VB.NET để mở rộng hộp công cụ web form Việc tạo một server-side control mới đơn giản là thực thi lớp NET System Web UI Webcontrols WebControl
Web Services
Web Services trong NET là môt trang ASP>NET theo định dạng XML thay
vì theo định dạng HTML để yêu cầu các client Các trang này có một behind DLL chứa các lớp xuất phát từ WebService VS.NET cung cấp 1 cơ chế dể tiện cho việc phát triển Web Service
code-2) Tạo các Windows Form
Windows Control
Mặc dù Web Forms và Windows Forms được phát triển theo cùng một cách, bạn dùng các loại khác nhau của controls để định vị chúng Web Forms dùng
Web Controls, và Windows Forms dùng Windows Controls
Một Windows Control là một ActiveX control Đằng sau sự thực thi của một Window control, là sự biên dich sang một DLL để có thể cài đặt trên máy khách Thật vậy, NET SDK cung cấp một tiện ích dùng để tạo một vỏ bọc cho các ActiveX control, vì thể chúng có thể được đặt trong Windows Forms Giống trường hợp này các Web Control, Windows Control được tạo thành từ một lớp khác System.Windows.Forms.Control
Windows Services
Một Windows Service là một chương trình được thiết kế để chạy trên nền Windows NT/2000/XP (không hỗ trợ trên Windows 9x) Các dịch vụ này rất hữu ích khi bạn muốn một chương trình có thể chạy liên tục và sẵn sàng đáp ứng các sự kiện mà không cần người dùng phải khởi động Ví dụ như một World Wide Web Service ở trên các web server luôn lắng nghe các yêu cầu từ trình khách
Trang 6Thật dễ dàng để viết các dịch vụ trong C# Với thư viện lớp cơ sở NET Framework sẵn có trong không gian tên System.ServiceProcess namespace chuyên dùng để tổ chức các tác vụ boilerplate kết hợp với các dịch vụ, ngoài
ra, Visual Studio NET cho phép bạn tạo một đề án C# Windows Service, với các mã nguồn cơ bản ban đầu Chúng ta sẽ khám cách viết một C# Windows Services trong chương 22
3 Cơ bản về C#
Những kiến thức cơ bản nhất của ngôn ngữ lập trình C# Những chủ đề chính chúng ta sẽ được học sau đây :
Khai báo biến
Khởi tạo và phạm vi hoạt động của biến
C#'s predefined data types
Phương thức của hàm Main( )
Cơ bản trình biên dịch dòng lệnh trong C#
Using System.Console để thực hiện I/O
Sử dụng chú thích trong C# và Visual Studio NET
Các định danh và từ khoá trong C#
Trang 7CHƯƠNG 2 TỔNG QUAN VỀ HỆ THỐNG
Kỹ thuật máy tính) Trong mỗi khóa lại chia thành nhiều lớp Tin1, Tin2, Tin3, Tin4,…và mỗi lớp gồm có ít nhất là 20 sinh viên và nhiều nhất là 30 sinh viên Như vậy sẽ chia lớp thành các nhóm thực tập (mỗi nhóm từ 2 đến 7 sinh viên…) do 1 giảng viên hướng dẫn thực tập
- Khoa quản lý các thông tin về công tác thực tập của sinh viên theo khóa, theo bộ môn, theo giảng viên hướng dẫn thực tập, theo lớp, theo nhóm,theo đề tài, theo mã số sinh viên Mà mã số sinh viên là thông tin duy nhất để phân biệt thông tin giữa các sinh viên với nhau Ngoài ra hệ thống quản lý thực tập còn thêm các thông tin khác về sinh viên, về lớp, bộ môn, khóa, giảng viên hướng dẫn, nhóm…
- Việc quản lý thông tin thực tập của sinh viên CĐ Tin như sau: Hệ thống sẽ lấy bộ môn làm khóa chính để quản lý các thông tin liên quan đến công tác thựuc tập của sinh viên
Yêu cầu xây dựng hệ thống với hai chức năng chính:
o Chức năng người dùng:
- Người dùng là sinh viên, giảng viên hướng dẫn thực tập…Những người có nhu cầu xem các thông tin về công tác thục tập
Trang 8- Sinh viên chỉ có quyền xem và tìm kiếm các thông tin về lịch thực tập, giáo viên hướng dẫn thực tập, danh sách nhóm thực tập, báo cáo thực tập, điểm sau khi kết thúc đợt thực tập…và các hồ sơ sinh viên mà không có quyền sửa đổi thông tin trong hệ thống
- Giảng viên hướng dẫn cũng sẽ có quyền xem các thông tin tương tự như sinh viên
Phạm vi hệ thống sử dụng
- Do hệ thống còn đơn giản, các chức năng chưa được linh hoạt nên hệ thống chỉ sử dụng để quản lý công tác thực tập của Cao Đẳng Tin trường Đại Học Bách Khoa Hà Nội Đây cũng là hạn chế về quy mô của hệ thống
Đối tượng sử dụng và mô tả các tiến trình có liên quan
Hệ thống được xây dựng dựa trên nhu cầu của ba đối tượng chính Đó là:
- Sinh viên thực tập
- Giáo viên hưởng dẫn thực tập cho sinh viên
- Cán Bộ quản sinh, là người chịu trách nhiệm duy trì hệ thống QLSVTT
Các thông tin sử dụng trong hệ thống
- Các thông tin chi tiết về sinh viên thực tập, giảng viên thực tập, lớp, bộ môn và nhóm thực tập
Trang 9- Bảng điểm thực tập được chuyển cho các lớp cao đẳng tin
- Các báo cáo về công tác thực tập của sinh viên
Các yêu cầu đặt ra với hệ thống trong tương lai
- Hệ thống phải thực hiện được các chức năng: thêm, sửa, xóa, tìm kiếm
và lưu các thông tin
- Ưu tiên: phía người quản lý và giảng viên
- Hạn chế: chỉ sử dụng để quản lý sinh viên thực tập của cao đẳng tin
2 Hệ thống dự định
Mục đích của hệ thống
- Đây là một ứng dụng của Microsoft Visual Studio 2005, tiện ích cho công việc hỗ trợ và tự động hóa cho công tác quản lý sinh viên thực tập trong một trường đại học hoặc cao đẳng, trung cấp
Tên hệ thống
- Quản lý sinh viên thực tập
Môi trường triển khai
- Hệ thống triển khai trong môi trường:Visual Studio 2005
- Công cụ phát triển hệ thống: Microsoft Access 2003
- Ngôn ngữ lập trình C#
Dự trù cho dự án
- Rủi do của dự án:Trong quá trình xây dựng hệ thống sẽ không tránh khỏi các thiếu sót Vì vậy khi đưa hệ thống vào sử dụng nguy cơ hệ thống còn đơn giản, qui mô ứng dụng nhỏ, sẽ không thực hiện hết các chức năng như đã phân tích
- Kế hoạch triển khai: từ ngày 18/03 đến ngày 18/04/2008
II Mô tả các yêu cầu của hệ thống
1 Tổng quan về hệ thống
- Thực tập là một học phần trong chương trình đào tạo sinh viên Hàng năm khoa sẽ có kế hoạch cho sinh viên các khóa tiến hành thực tập Riêng với hệ
Trang 10chuyên ngành, thực tập tốt nghiêp) với thời gian hợp lý Công tác thực tập hàng năm sẽ dokhoa chịu trách nhiệm lập kế hoạch và thực hiện Kế hoạch này cũng có thể thay đổi hàng năm tùy theo ình hình thực tế, chẳng hạn như : thời gian, thời điểm cho sinh viên thực tập năm này sẽ khác với năm trước, khóa này khác với khóa trước, giảng viên hướng dẫn thực tập đợt này sẽ khác với đợt trước…
- Mỗi sinh viên khi vào trường nhập học sẽ được gán cho một mã số gọi là
Mã sinh viên Mã sinh viên này sẽ không thay đổi trong quá trình 3 năm học tập tại cao đẳng Người ta cũng cần quản lý thêm họ tên, giới tính, ngày sinh, quê quán, địa chỉ nơi ở hiện tại, số điện thoại…của sinh viên
- Trước khi triển khai cho sinh viên thực tâp, khoa cũng cần phải liên hệ trước với các bộ môn và các giảng viên trong từng bộ môn đó để tiến hành một cuộc họp Từ đó đưa bảng thông tin phân chia các lớp vào từng bộ môn, phân chia nhóm thực tập trong từng nhóm, phân công giảng viên hướng dẫn thực tập cho từng nhóm và thời gian thực tập… thông báo cho sinh viên khoa mình
- Sau khi nhận thông báo từ khoa do các lớp trưởng đem về, đúng ngày hẹn, sinh viên các lớp sẽ đến bộ môn trong khoa để họp nhóm, gặp giảng viên hướng dấn thực tập để nhận đề tài, lịch thực tập hàng tuần…Có thể là một nhóm một đề tài hoặc cũng có thể nhiều đề tài 1 nhóm tùy theo giảng viên hướng dẫn yêu cầu
- Sinh viên sẽ triển khai quá trình thực tập hàng tuần: nộp báo cáo hàng tuần cho giảng viên hướng dẫn thực tập (gửi qua thư điện tử hoặc là nộp trực tiếp cho giảng viên hướng dẫn mình), tiếp thu đóng góp ý kiến của GVHD để về làm tiếp Hết thời gian quy định thực tập do khoa quy định, sinh viên sẽ bảo
vệ đề tài của mình với giảng viên hướng dẫn thực tập mình Nộp báo cáo kèm theo đĩa mềm lưu trữ project của mình cho giảng viên hướng dẫn thực tập
Trang 11- Giảng viên sẽ chấm điểm và nộp lên khoa để cán bộ sinh đưa thông tin vào
hệ thống Sau khi hoàn tất mỗi đợt thực tập, khoa sẽ thông báo cho sinh viên
về điểm thực tập theo danh sách từng lớp
- Mặt khác, những sinh viên dưới 5 điểm sẽ phải thực tập lại Lớp trưởng sẽ lên danh sách và gửi cho khoa danh sách thực tập tín chỉ của lớp mình Từ đó khoa sẽ tổ chức thực tập lần 2, lần 3,… cho sinh viên khoa mình
2 Các đối tác
- Sinh viên thực tập: là người được phép sử dụng hệ thống để xem và tìm kiếm tất cả các thông tin mà hệ thống cập nhật lên: thông tin về giảng viên hướng dẫn thực tập, về bộ môn, lớp, nhóm thực tập, thậm chí là các thông tin
về các sinh viên học cùng khóa với mình
- Giảng viên hướng dẫn thực tập: là người có tất cả các quyền giống như sinh viên thực tập Ngoài ra giảng viên còn có quyền của một người quản trị nhưng ở một mức độ nhất định: Giảng viên chỉ có thể thao tác chỉnh sửa, xóa các thông tin về nhóm thực tập và điểm thực tập
- Cán bộ quản sinh: là người có tất cả các đặc quyền mà sinh viên và giảng viên có và không có Cán bộ quản sinh có quyền được thay đổi, chỉnh sửa và xóa bỏ các thông tin liên quan đến các dữ liệu trong hệ thống “Quản lý sinh viên thực tập” Và cán bộ quản lý chính là người duy trì hoạt động của hệ thống
3 Nhận định về cơ cấu quản lý của hệ thống
Với hệ thống quản lý sinh viên thực tập, ta sẽ đặc tả từng giai đoạn của cơ cấu quản lý này Cơ cấu quản lý của hệ thống sẽ bao gồm:
- Chức năng quản lý chính: Quản lý sinh viên thực tập (Thêm, sửa, xóa tìm kiếm thông tin về sinh viên thực tập) và quản lý giảng viên hướng dẫn thực tập (Thêm, sửa, xóa và tìm kiếm thông tin về giảng viên hướng dẫn thực)
- Quản lý danh mục: quản lý hồ sơ sinh viên, quản lý hồ sơ giảng viên, bộ môn, lớp (sửa, lưu và tìm kiếm thông tin về lớp)
Trang 12- Cập nhật: thêm, sửa, xóa, lưu thông tin về bảng điểm thực tập, nhóm thực tập
4 Đặc tả cơ cấu quản lý của hệ thống
- Hệ thống quản lý sinh viên thực tập này đã được phân quyền cho người sử dụng hệ thống này Hơn nữa sự phân quyền này còn dựa trên các chức năng cho phép ngưởi dùng sử dụng hệ thống một cách hiệu quả nhất Bên cạnh đó,
hệ thống là tích hợp các chức năng liên quan đến quản lý sinh viên thực tập,
có khả năng thao tác với các chức năng: thêm, sửa, xóa, sao lưu các dữ liệu khi thay đổi thông tin, bảo toàn trọn vẹn các thông tin một cách tối ưu nhất
- Để hiểu hơn về hoạt động của hệ thống, ta đi tìm hiểu cụ thể hơn về cơ cấu quản lý của hệ thống:
4.1 Chức năng quản lý chính:
Hệ thống quản lý sinh viên thực tập được sử dụng với mục đích để theo dõi quá trình thực tập của sinh viên, công tác hướng dẫn của giảng viên trong bộ môn của khoa công nghệ thông tin, giúp cho khoa có thể quản lý tự động hóa
mà không mất nhiều thời gian Quản lý sinh viên thực và giảng viên và giảng viên hướng dẫn thực tập là 2 khâu quan trọng của hệ thống
4.1.1 Quản lý sinh viên thực tập
- Mục đích: Giúp sinh viên, giảng viên hướng dẫn có thể xem được các thông tin của sinh viên một cách dễ dàng hơn
- Tóm lược: Cán bộ quản sinh đăng nhập hệ thống QLSVTT và nhập mật khẩu của mình Hệ thống kiểm tra thấy mật khẩu đó là đúng đắn và nhắc cán
bộ quản sinh chọn ra một khóa bất kỳ, sau đó có thể thêm, bỏ, xem, tìm kiếm,
in kết quả thực tập cho khóa đó theo từng lớp
- Đối tác: Cán bộ quản sinh (chính)
- Đầu vào: Mã sinh viên
Tên sinh viên Ngày sinh Nơi sinh
Trang 13Địa chỉ Điện thoại Giới tính Địa chỉ Email
Mã lớp
Mã nhóm
- Đầu ra: Danh sách lớp
Thông tin chi tiết về sinh viên
- Module xử lý: In ra danh sách lớp, danh sách sinh viên để gửi cho sinh viên các lớp trong khoa CNTT
- Sự cố xảy ra với hệ thống:
+ Mật khẩu do cán bộ quản sinh đưa vào là không đúng đắn Người dùng phải đưa lại mật khẩu hoặc kết thúc sử dụng
+ Mã số sinh viên, mã lớp đưa vào là không đúng
4.1.2 Quản lý giảng viên hướng dẫn thực tập
- Mục đích: giúp cho sinh viên có thể có thể nắm bắt các thông tin về giảng viên hướng dẫn thực tập mình
- Tóm lược: cán bộ quản sinh và giảng viên hướng dẫn thực tập có thể đăng nhập vào hệ thống và nhập mật khẩu của mình Hệ thống kiểm tra thấy mật khẩu đó là đúng đắn thì cả 2 đối tượng đó có thể sử dụng hệ thống để xem, thêm, bỏ, tìm kiếm thông tin về các giảng viên Nói chung trong ca này Chức năng và quyền của cả cán bộ quản sinh và giảng viên là như nhau, có thể: thêm, sửa, xóa, tìm kiếm các thông tin về giảng viên Sinh viên chỉ có quyền xem
- Đối tác: Cán bộ quản sinh, giảng viên hướng dẫn sử dụng
- Đầu vào:
Mã giảng viên hướng dẫn thực tập Tên giảng viên
Giới tính
Trang 14Ngày sinh
Số điện thoại của giảng viên Địa chỉ email của giảng viên Tên bộ môn
- Đầu ra: Thông tin về giảng viên hướng dẫn thực tập
- Module xử lý: In danh sách các giảng viên
Phân hệ danh mục được chia ra làm nhiều chức năng con: hồ sơ sinh viên, hồ
sơ giảng viên, bộ môn, lớp…tổng hợp của toàn bộ các hạng mục thiết yếu trong hệ thống quản lý sinh viên thực tập của cao đẳng tin k50 Hệ thống này cho phép cập nhật toàn bộ các thông tin liên quan đến các đối tượng có liên quan và tham gia vào quá trình thực tập của sinh viên
4.2.1 Hồ sơ sinh viên
- Công việc quản lý hồ sơ sinh viên ở đây khá đơn giản Đó chỉ là một hình thức đưa ra danh danh sách sinh viên với đầy đủ các thông cần thiết có liên quan đến sinh viên đó
- Đầu ra: in danh sách chung về sinh viên
4.2.2 Hồ sơ giảng viên
- Đây là mục giúp cho người sử dụng hệ thống có cái nhìn tống thể về thông tin liên quan đến giảng viên Từ đó năm na\bắt một cách tống quát về các thông tin giúp cho việc quản lý quá trình thực tập tốt hơn
- Đầu ra: in danh sách Giảng viên hướng dẫn thực tập
Trang 154.2.3 Quản lý bộ môn
- Bộ môn thì không thể thay đổi hay sửa xóa được vì đó là do nhà trường và khoa công nghê đã quy định và phân chia Vì vậy ở đây hệ thống sẽ cho phép người sử dụng xem thông tin về bộ môn một cách tổng thể nhất và chung nhất
- Đầu ra: in danh sách các bộ môn
4.2.4 Quản lý lớp
- Mục đích: Quản lý lớp cũng khá là quan trọng do trong một khoa công nghệ thông tin có rất nhiều khóa học có nhiều sinh viên Vì vậy công việc quản lý sẽ trở lên khó khăn nếu như ta không quản lý theo lớp
- Tóm lược: Một lớp có nhiều sinh viên, từ đo phân chia thành nhiều nhóm thực tập Nhưng đối với lớp chỉ có thể chỉnh sửa thông tin , lưu và tìm kiếm Chúng ta không thể thêm hay xóa lớp đó ra khỏi danh sách các lớp của khóa đó hay khoa đó được Hệ thống sẽ cho phép sửa, lưu và tìm kiếm các thông tin liên quan đến lớp
- Đầu vào:
Mã lớp Tên lớp
4.3.1 Cập nhật thông tin về bảng điểm
- Mục đích: Hệ thống được xây dựng với mục đích quản lý sinh viên thực tập Vậy nên việc quản lý bảng điểm thực tập là khá quan trọng trong hệ thống
Trang 16- Tóm lược: Sau khi đăng nhập thành công hệ thống sẽ cho phép thao tác với các chức năng thêm, sửa, xóa và tìm kiếm trên form bảng điểm
- Đầu vào:
Mã sinh viên Điểm
Loại hình thực tập Lần thực tập Thời gian Ghi chú
- Đầu ra : thông tin điểm của sinh viên
- Module xử lý: in bảng điểm của sinh viên
- Đầu vào:
Mã nhóm
Đề tài thực tập Lịch thực tập
Mã giảng viên
- Đầu ra : thông tin về nhóm thực tập
- Module xử lý: In danh sách nhóm thực tập
Trang 17CHƯƠNG 3 PHÂN TÍCH HỆ THỐNG
.3.
I Phân tích hệ thống về mặt xử lý
1 Biểu đồ phân cấp chức năng
Trong chương 2 đã phân tích rất rõ ràng và cụ thể về cơ cấu quản lý của hệ thống quản lý sinh viên thực tập Từ đó có thể thấy, hệ thống quản lý này chỉ bao gồm 5 chức năng chính, đó là: thêm, sửa xóa, tìm kiếm và in báo cáo Vì vậy trong biểu đồ phân cấp chức năng dưới đây sẽ mô tả một cách khái quát và chi tiết về chức năng quản lý mà hệ thống xây dựng dưới dạng cấu trức cây Biểu đồ sẽ tiến hành phân mức từ trên xuống (mức đỉnh và dưới đỉnh):
- Chức năng 1: thêm thông tin về giảng viên, sinh viên và điểm thực tập
- Chức năng 2: sửa thông tin về sinh viên, giảng viên, điểm thực tập, lớp
Trang 18- Chúng ta sẽ đi vào tìm hiểu chi tiết về việc phân cấp quản lý ở biểu đồ phân cấp chức năng ở trên ở biểu đồ mức khung cảnh và biểu đồ mức đỉnh và dưới đỉnh ở phẩn tiếp theo
Quản lý sinh viên thực tập
Tìm kiếm Sửa thông
tin
Sửa thông tin sinh viên
Sửa thông tin giảng viên
Sửa thông tin bảng điểm TT
Xóa thông tin
Xóa thông tin sinh viên
Xóa thông tin giảng viên
Tìm kiếm sinh viên
Sửa thông tin về lớp
In danh sách, báo cáo
Tìm kiếm giảng viên
Tìm kiếm bảng điểm Thêm
thông tin
bảng điểm
TT
Sửa thông tin về nhóm
TT
Xóa thông tin bảng điểm TT
Xóa thông tin về nhóm
TT
Tìm kiếm lớp
Tìm kiếm nhóm TT
In danh sách sinh viên
In danh sách giảng viên
In danh dách bộ môn
In bảng điểm TT
Hình 3.1: Biểu đồ phân cấp chức năng hệ thống quản lý sinh viên thực tập
Trang 192 Biểu đồ mức bối cảnh
- Biểu đồ phân cấp chức năng trên chỉ là mô tả khải quát về các chức năng chính của hệ thống giúp cho người sử dụng có thể hình dung một cách tổng quát, dễ dàng về hệ thống Vì vậy để biểu diễn quá trình hoạt động của hệ thống quản lý sinh viên, ta phải biểu diễn từng mức của biểu đồ đó Trước hết là mức 0: chức năng tổng quát của hệ thống quản
lý sinh viên thực tập Các đối tác phải xuất hiện trong toàn bộ BLD bối cảnh và không được phát sinh mới ở các mức dưới tuy nhiên có thể vẽ lại một đối tác ở mức dưới nếu thấy cần thiết
- Như đã phân tích ở trên hệ thống gồm có 3 đối tác chính đó là: sinh viên thực tập, giảng viên hướng dẫn thực tập và cán bộ quản sinh Giữa các đối tác này sẽ có sự trao đổi các luồng dữ liệu với nhau: + Sinh viên thực tập: cung cấp tất cả các thông tin về mình để nhập vào hệ thống quản lý này Nhưng đồng thời sinh viên có quyền yêu cầu hệ thống cho xem các thông tin về bộ môn, về giảng viên hướng dẫn thực tập, về lớp và bảng điểm tsau quá tình thực tập
+ Giảng viên hướng dẫn thực tập: cung cấp tất cả các thông tin để nhập và lưu lại trong hệ thống Còn hệ thống yêu cầu giảng viên cung cấp thông tin
về nhóm thực tập và đăng nhập trước khi sử dụng hệ thống
+ Cán bộ quản sinh: yêu cầu hệ thống lập báo cáo và in bảng điểm thực tập Còn hệ thống sẽ yêu cầu cán bộ quản sinh báo cáo thông tin thực tập
và săng nhập trước khi sử dụng hệ thống
Trang 20Quản lý Sinh viên Thực tập
Hình 3.2: Biểu đồ mức bối cảnh quản lý sinh viên thực tập
Bảng điểm kết quả thực tập
Thông tin về GVHDTT
Giảng viên hướng dẫn TT
Thông tin về bộ môn
Thông tin về GVHDTT Yêu cầu đăng nhập
Yêu cầu in bảng điểm thực tập Báo cáo thông tin thực tập Thông tin về nhóm
Thực tập
Trang 21II Phân tích thiết kế hệ thống về mặt dữ liệu
1 Các thực thể có trong hệ thống
- Sinh viên thực tập (SinhVien)
- Giảng viên hướng dẫn thực tập (GiangVienHDTT)
2 Thuộc tính cụ thể của các thực thể và chuẩn hóa chúng
- Sinh viên (Mã sinh viên, tên sinh viên, ngày sinh, nơi sinh, địa chỉ, điện thoại, giới tính, email, mã lớp, mã nhóm)
- Giảng viên hướng dẫn thực tập (mã giảng viên, tên giảng viên, giới tính giảng viên, ngày sinh giảng viên, số điện thoại, email, địa chỉ, mã bộ môn)
- Bảng điểm thực tập (Mã sinh viên, điểm thực tập, thực tập, lần thực tập, thời gian thực tập, ghi chú)
- Nhóm thực tập (Mã nhóm, đề tài thực tập, lịch thực tập, mã giảng viên)
- Lớp (Mã lớp, tên lớp, sĩ số, mã khoa)
- Khóa học (Mã khóa học, tên khóa học)
- Bộ môn (Mã bộ môn, tên bộ môn)
- Đăng nhập hệ thống (UserName, Password)
(Các thuộc tính được chọn làm khóa chính là các thuộc tính được gạch chân
ở từng thực thể trên)
Trang 223 Thiết kế mô hình thực thể liên kết
Trang 23Giảng viên hướng dẫn thực tập
Hình 3.5: Bảng chuẩn hóa thực thể giảng viên HDTT
Trang 25CHƯƠNG 4 THIẾT KẾ CHƯƠNG TRÌNH CHÍNH
.4.
I Form giao diện chính của hệ thống- frmMain
1 Quá trình thiết kế và thiết lập các thuộc tính của frmMain:
Hình 4.1: Form giao diện chính của chương trình
- Vào Add New Item -> Windows Form để tạo ra một form mới.Dùng
chuột để điều chỉnh kích thước của form tùy theo người thiết kế hệ
thống
Trang 26- Dùng menustrip để hiển thị các menu chính của hệ thống: Quản lý hệ thống (đổi mật khẩu, thoát), quản lý danh mục (hồ sơ sinh viên, hồ sơ giảng viên, bộ môn, lớp), quản lý sinh viên thực tập, quản lý giảng viên HDTT, cập nhật (thông tin điểm thực tập, nhóm thực tập), trợ giúp (thông tin về tác giả, hướng dẫn sử dụng hệ thống)
- Trong hộp toolbox, chọn button, groupbox sử dụng để thiết kế cho các chức năng trên, tùy theo người thiết kế hệ thống
- Trong cửa sổ Properties, chọn thuộc tính Name, sau đó nhập vào frmMain trong đó để thay đổi tên của Form (Nếu cửa sổ Properties chưa hiển thị, bấm chọn cửa sổ từ trình đơn View hoặc nhấn F4) Sau
đó chọn thuộc tính Text, sau đó nhập “Quản lý sinh viên thực tập” để thay đổi thanh tiêu đề của form
- Cũng tương tự như vậy, trong cửa sổ Properties ta chọn các thuộc tính thích hợp cho groupbox và button Vào Name để đặt tên và váo text để nhập tên cho các các button và groupbox nếu cần thiết
2 Xử lý các sự kiện trong Form giao diện chính:
- Trong form này chưa phải xử lý các sự kiện cho các chức năng: thêm, sửa, xóa và tìm kiếm như ở các form típ theo
- Người dùng sau khi đăng nhập vào hệ thống, sẽ lựa chọn mục mà mình muốn xem thông tin bằng cách bấm vào các button hiển thị trên form hoặc là các menu ở trên cùng của form Một form khác sẽ được hiển thị với các thông tin bạn cần, và các chức năng cần thao tác trên form đó Cụ thể là:
+ Nếu bạn click vào button “đổi mật khẩu” thì frmDoiMatKhau sẽ hiện ra
Để làm được điều đó, bận cần thêm đoạn đoạn mã sau vào phương thức sự kiện btnDoiMK:
frmDoiMatKhau mk = new frmDoiMatKhau ();
mk.Show();
+ Nếu bạn click vào button “QL Sinh viên thực tập” thì frmSinhVien sẽ hiện
ra Thêm đoạn mã vào phương thức btnQLSVTT:
frmSinhVien sv = new frmSinhVien ();
Trang 27+ Nếu bạn click vào button “Bộ môn” thì frmBoMon sẽ hiện ra Thêm đoạn
mã sau vào phương thức btnBoMon:
frmBoMon bm = new frmBoMon ();
MessageBox Show( "Đề tài thực tập: Quản lý sinh viên thực tập\nGiảng viên HDTT: Trịnh Văn Loan\nSinh viên thực tập: Bùi Thị
Trang 28+ Còn khì bấm vào menu Trợ giúp->Hướng dẫn sử dụng hệ thống, một hộp thoại thông báo cũng hiện ra để cho bạn biết về cách sử dụng hệ thống.Như vậy bạn cần thêm đoạn mã sau vào phương thức mnTroGiup_HDHT:
MessageBox Show( "Bạn có thể thao tác các chức năng: thêm, sửa, xóa
và tìm kiếm trên tất cả các ứng dụng của hệ thống Khi thêm, bạn chỉ cần nhấn nút thêm, các ô textbox và combobox sẽ tự động nhập trắng lại, nhập các thông tin vào đó rùi nhận nút lưu.Còn khi sửa thì bạn phải chọn một record ở datagridview để dữ liệu muốn sửa sẽ hiện lên các ô textbox và combobox, sửa các thông tin bạn muốn sửa trên đó rùi nhấn nút cập nhật Thông tin sẽ được lưu lại và hiển thị ngay trên datagriview Khi xóa thì chỉ cần chọn 1 record ở datagridview rùi nhấn nút xóa Còn tìm kiếm tùy theo yêu cầu của bạn " );
II Form đăng nhập của hệ thống - frmLogin
1 Quá trình thiết kế và thiết lập thuộc tính của frmLogin
Hình 4.2: Form đăng nhập của hệ thống
- Khi bạn bắt đầu tạo ra Project “QLSVTT_ProjectThucTapTotNghiep” thì một form mới sẽ xuất hiện trong cửa sổ Designer View Trong Properties chọn Name để đổi tên cho form này là frmLogin
- Từ toolbox, rê thành phần điều khiển PictureBox vào form, điều chỉnh kích thước của PictureBox bằng chuột Trong Properties chọn thuộc tính Image để chọn hình ảnh cho form đồng thời chọn thuộc tính Locked của picturebox là true
Trang 29- Từ toolbox rê thành phần điều khiển label1vào bên trái form.Đổi tên text của nó là Tên đăng nhập
- Từ toolbox tiếp tục rê thành phần điều khiển label2 vào form, đổi tên text là Mật khẩu
- Thêm một combobox vào frmLogin và đặt nó kế bên lable1, đổi tên là cboUser
- Thêm một textbox vào frmLogin và đặt nó kế bên label2, đổi tên là txtMatKhau
- Từ toolbox, rê 2 thanh điều khiển button vào form và lần lượt đổi thuộc tính Name là btnDangNhap và btnHuy, đồng thời đổi tên text tương ứng là Đăng nhập và Hủy bỏ
2 Xử lý các sự kiện trong frmLogin
- Khi sinh viên thực tập, giảng viên hướng dẫn thực tập hay cán bộ quản sinh sử dụng hệ thống thì cần phải đăng nhập vào hệ thống Mội một đối tượng sử dụng hệ thống sẽ có một password và username riêng để đăng nhập vào hệ thống Nếu nhập sai tên pass hay user thì hệ thống sẽ hiện lên một hộp thoại thông báo “Bạn nhập sai password” Người sử dụng sẽ nhập lại hoặc kết thúc sử dụng hệ thống
- Để formLogin làm việc được như mô tả ở trên bạn cần phải thêm đoạn
mã sau cho phương thức btnDangNhap sau khi đã kết nối cơ sở dữ liệu bằng câu lệnh:
OleDbConnection dbConn = new OleDbConnection ( "Provider = Microsoft.JET.OLEDB.4.0; Data Source = " +
Application StartupPath + "\\QLSVTT.mdb" );
Đoạn mã cuae btnDangNhap
dbConn.Open();
DataSet dbSet = new DataSet ();
string strString = "Select mUserName, mPassword From DangNhap Where mUserName = '" + cboUser.Text + "'" ;
OleDbDataAdapter (strString, dbConn);
dbAdpt.Fill(dbSet );
Trang 30if (txtMatkhau.Text == dbSet.Tables[0].Rows[0][ "mPassword" ].ToString())
DataSet dbset = new DataSet ();
string str = "Select * From DangNhap" ;
OleDbDataAdapter dbAdpt = new OleDbDataAdapter (str, dbConn );
this Close();
Trang 31III Form đổi mật khẩu – frmDoiMatKhau
1 Quá trình thiết kế và thiết lập thuộc tính của frmDoiMatKhau
Hình 4.3: Form đổi mật khẩu
- Vào Add New Item -> Windows Form để tạo ra một form mới với tên
là frmDoiMatKhau Dùng chuột để điều chỉnh kích thước của form tùy theo người thiết kế hệ thống Trong properties thay đổi thuộc tính text của frmDoiMatKhau là Đổi mật khẩu
- Từ toolbox, rê thành phần điều khiển groupbox vào form và điều chỉnh kích thước của groupbox cho đầy form
- Từ toolbox, rê thành phần điều khiển labe1 vào groupbox rùi đổi thuộc tính Name là lbUser và text là UserName
- Thêm label2 vào groupbox, đổi thuộc tính Name là lbPasscu và text là Pasword cũ
- Từ hộp công cụ rê thanh điều khiển label3 vào groupbox đỏi thuộc tính name là lbPassmoi và text là Password mới
- Thêm label4 vào groupbox, đổi thuộc tính Name là lbNhapLaiPass và text là Xác nhận lại
- Từ hộp công cụ rê thanh điều khiển textbox vào groupbox, đặt kế bên label1 Đổi thuộc tính Name là txtUserName và chọn thuộc tính
Trang 32readonly là true cho textbox này để cho phép người dùng thay đổi mật khẩu chứ không hco phép người dùng thay đổi tên sử dụng
- Thêm textbox vào trong groupbox vào bên cạnh label2 và đổi thuộc tính Name là txtPassCu
- Từ hộp công cụ rê thanh điều khiển textbox vào groupbox trong form vào bên cạnh label3, đổi thuộc tính name là txtPassMoi
- Thêm textbox vào groupbox đặt bên cạnh label4, đổi thuộc tính name là txtXacNhan
- Từ toolbox, rê thanh điều khiển button vào groupbox, thay đổi thuộc tính name là btnLuuthaydoi và text là Lưu thay đổi
- Thêm button vào groupbox, thay đổ thuộc tính name là btnThoat và text là Thoát
2 Xử lý các sự kiện trong frmDoiMatKhau
Xử lý sự kiện cho btnLuuthaydoi:
- Khi mật khẩu mà hệ thống cung cấp cho các đổi tượng không được bảo mật, hay các dối tượng đó muốn thay đổi mật khẩu thì sẽ nhập đúng password cũ vào txtPassCu, nếu nhập sai hệ thống sẽ hiển thị một hộp thoại thông báo “Nhập mật khẩu cũ sai.Hãy nhập lại!” Nếu nhập đúng passwprd cũ thì tiếp tục nhập password mới mà bạn muốn thay đổi rùi sau đó xác nhận lại 1 lần nữa.Nếu bạn không xác nhận lại thì hệ thống
sẽ có 1 hộp thoại thông báo “Xác nhận mật khẩu sai Hãy nhập lại!” Nếu đã nhập tất cả các thông tin theo yêu cầu của hệ thống thì mật khẩu
sẽ được thay đổi thành công Hệ thống hiển thị thông báo “Đã thay đổi thành công”
- Để thực hiện được các mô tả như trên thì bạn cần thêm 1 đoạn mã vào phương thức của btnLuuthay doi sau khi đã kết nối cơ sở dữ liệu bằng câu lệnh:
Trang 33OleDbConnection dbConn = new OleDbConnection ( "Provider = Microsoft.JET.OLEDB.4.0; Data Source = " +
Application StartupPath + "\\QLSVTT.mdb" );
Đoạn mã của btnLuuthaydoi:
dbConn.Open();
DataSet dbSet = new DataSet ();
string strString = "Select * From DangNhap Where mUserName = '" + txtUserName.Text + "'" ;
OleDbDataAdapter (strString, dbConn);
Trang 34 Xử lý sự kiện cho btnThoat
- Tương tự như các form khác Để đóng form này lại t chỉ cần thêm 1 câu lệnh:
this Close();
IV Form sinh viên – frmSinhVien
1 Quá trình thiết kế và thiết lập thuộc tính của frmSinhVien:
Hình 4.4: Form sinh viên
- Vào Add New Item -> Windows Form để tạo ra một form mới với tên
là frmSinhVien
Trang 35- Trong hộp công cụ, rê thanhd diều khiển groupbox vào form, đổi thuộc tính name là grTTSV, grTK, grThongtinsvvà text là Thông tin sinh viên, Tìm kiếm, Thông tin về sinh viên
- Từ toolbox, rê 10 thanh điều khiển label vào grTTSV rồi lần lượt đổi thuộc tính Name cho nó là lbMaLop, lbMaSV, lbTenSV, lbMaNhom, lbNgaySinh, lbNoiSinh, lbSDT, lbGioiTinh, lbEmai, lbDiaChi và đổi text tương ứng là: Mã lớp, Mã sinh viên, Tên sinh viên, Mã nhóm, Ngày sinh, Nơi sinh, Số điện thoại, Giới tính, Email, Địa chỉ
- Thêm các combobox vào grTTSV, đổi thuộc tính name cho nó lần lượt
- Thêm combobox vào grTK, thuộc tính name là cboL
- Thêm textbox vào grTK, đổi thuộc tính name là txtTimMaSV, txtTimTenSV
- Thêm linklabel vào grTK, đổi thuộc tính name là llbMaSV, llbTenSV
và text tương ứng: Tìm MaSV, Tìm TenSV
- Thêm các button vào form, đổi thuộc tính name là btnThemSV, btnXoaSV, btnLuuSV, btnSuaSV, btnDongLai
- Từ hộp công cụ rê thanh điều khiển datagridview vào grThongtinsinhvien, đởi thuộc tính name là dgvListSinhVien
Trang 36- Thêm linklabel vào form, thuộc tính name là llbXemTatCa và text là Xem tất cả
2 Xử lý các sự kiện trong frmSinhVien:
- Sau khi đã kết nối thành công cơ sở dữ liệu bằng câu lệnh dưới đây thì
ta sẽ tiến hành xử lý các sự kiện trong frmSinhVien:
//câu lệnh kết nối csdl
OleDbConnection dbConn = new OleDbConnection ( "Provider
= Microsoft.JET.OLEDB.4.0; Data Source = " +
Application StartupPath + "\\QLSVTT.mdb" );
Xử lý sự kiện cho nút btnThemSV:
- Thêm sinh viên chỉ là hình thức làm trắng các ô textbox và combobox
để cho các đối tượng sử dụng hệ thống có thể nhập đấy đủ các thông tin cần thêm của một sinh viên vào đó Sau lhi đã nhập đỉ các thông tin cần thiết về sinh viên thì bạn click vào button Lưu
- Để làm trắng lại các ô textbox và combobox thì bạn phải thêm đoạn mã sau vào btnThemSV:
//Nhập trắng lại các ô textbox và combobox
private void btnThemSV_Click( object sender, EventArgs e) {
Xử lý sự kiện cho nút btnSuaSV:
- Nếu cán bộ quản lý sinh viên thực tập muốn chỉnh sửa lại các thông tin
về sinh viên trong khoa công nghệ thông tin thì sẽ vào form nsinh viên, chon 1 một sinh viên cần sửa từ datagridview rồi nhấn nút sửa, nút lưu
sẽ chuyển thành nứt cập nhật Các thông tin về sinh viên đó sẽ được hiển thị lên các textbox hay combobox ở trên Cán bộ quản sinh sẽ sửa lại thông tin tại các ô textbox và combobox rùi nhấn nút cập nhật Thông tin đã sửa về sinh viên sẽ được hiển thị ngay trên lưới có thể
Trang 37thấy được ngay Lưu ý: khi chọn sửa bất kỳ 1 row nào trong datagridview thì bạn phải click vào xem tất cả rùi mới sửa nếu không thực hiện các bước như vậy hệ thống sẽ báo lỗi
- Để thực hiện được các mô tả như ở trên thì bạn phải thêm đoạn mã sau cho phương thức btnSuaSV:
//sửa thông tin về sinh viên
private void btnSuaSV_Click( object sender, EventArgs e) {
if (dgvListSinhVien.SelectedRows.Count > 0)
{
dbConn.Open();
DataSet dbset = new DataSet ();
Lop.TenLop,SinhVien.MaLop, SinhVien.MaSV, SinhVien.TenSV, SinhVien.NgaySinh, SinhVien.NoiSinh, SinhVien.DienThoai, SinhVien.GioiTinh, SinhVien.Email, SinhVien.DiaChi FROM Lop INNER JOIN SinhVien ON Lop.MaLop = SinhVien.MaLop Where MaSV = '" + dgvListSinhVien.SelectedRows[0].Cells[0].Value + "'" ;
OleDbDataAdapter (strString, dbConn);