Lời mở đầu
Microsoft Visual C Sharp (C#) NET là một ngơn ngữ mạnh nhưng
đơn giản, chủ yếu dùng cho các nhà phát triển để tạo các ứng dụng chạy trên
bề mặt Microsoft.NET Nĩ thừa hưởng nhiều đặc tính của ngơn ngữ C++,
đồng thời cĩ nhiều đặc tính giúp tăng nhanh tốc độ phát triển ứng dụng, đặc biệt khi kết hợp với Micrsoft Visual Studio.NET Nĩ được dùng khá phổ biến, hỗ trợ rất hiệu quả cho các phần mềm quản lý (như quán lý sinh viên, quản lý nhân sự, quản lý khách sạn )
Vì 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 đự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 2Chương 1
GIỚI THIỆU VỀ MƠI TRƯỜNG LÀM VIỆC MICROSOFT
VISUAL STUDIO 2005
%2.l.Ϥ
1 Tống quan về C#
Như chúng ta đều biết C# là một ngơn ngữ khơng bao giờ tách biệt mà nĩ luơn đồng hành với “bộ khung.Net” C# là một trình biên dịch hướng Net,
nghĩa là tất cả các mã của C# luơn luơn chạy trên mơi trường Net
Framework Diéu d6 dan dén 2 hệ quả sau:
° 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ữ hồn tồ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 tốn tử)
Trang 32 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
° Các đặc tính của ASP.NET
- ASP là một cơng nghệ của Microsoft dùng dé tạo các trang web cĩ nội dung động
- ASP.NET 1a m6t phiên bản mới của ASP đã cải tiến rất nhiều các thiếu
sĩt của nĩ Nĩ khơng chỉ thay thế ÁP, hơn nữa các trang ASP>NET cĩ thể
sống chung với các ứng dụng ASP trên cùng một máy chủ Tất nhiên bạn cĩ
thé lap trình ASP>NET với C#
° 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 co kha 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 da lam
Trang 4- 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 1a mét trang ASP>NET theo dinh dang XML thay vì theo định dạng HTML để yêu cầu các client Cac trang này cĩ một code- behind DLL chứa các lớp xuất phát từ WebService VS.NET cung cap 1 co
chế dể tiện cho việc phát trién Web Service
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, va Windows Forms ding Windows Controls
M6t Windows Control la m6t ActiveX control Dang 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é duoc dat trong Windows Forms Giống trường hợp này các Web Control, Windows Control duge tạo thành từ
một lớp khác System.Windows.Forms.Control ° Windows Services
Mot 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í đụ 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 5Thật đễ 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ụ, ngồ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
Cách sử dụng các vịng lặp và câu lệnh
Gọi và hiển thị lớp và phương thức
Cách sử dụng mảng
Tốn tử
An tồn kiểu và cách để chuyên các kiêu dữ liệu Enumerations
Namespaces
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 dé thực hiện I/O
Sử dụng chú thích trong C# và Visual Studio NET
Các định danh và từ khố trong C#
Trang 6CHƯƠNG 2
TONG QUAN VE HE THONG
%2.2.c8
I Tong quan vé dé tai 1 Tĩm tắt về bài tốn
Tĩm tắt hoạt động của hệ thống mà dự án ứng dụng
- Yêu cầu xây dựng một hệ thống quản lý cơng tác thực tập của sinh vién Cao Dang Tin trường ĐHBK Hà Nội
- Mơ tả về tổ chức như sau: Một khoa Cơng nghệ thơng tin (CNTT) trong trường ĐHBK Hà Nội sẽ quản lý cơng tác thực tập của sinh viên theo
các khĩa học KI, K2, K3, và theo các bộ mơn trong khoa (bao gồm 4 bộ
mơn chính: Hệ thống thơng tin, Cơng nghệ phần mềm, Khoa học máy tính, 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 Ngồ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 ly thơng tin thực tập của sinh viên CD Tin nhu 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 cau xây dựng hệ thống với hai chức năng chính: ° 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 7- Sinh viên chỉ cĩ quyền xem và tìm kiếm các thơng tin về lich 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
° Chức năng quan tri:
- Cĩ 2 nhĩm vai trị: Cán bộ quản sinh và giảng viên hướng dẫn Họ
phái đăng nhập vào hệ thống đề sử dụng chức năng quản trị
- Cán bộ quản sinh cũng cĩ tất cả các chức năng như người dùng bình thường
- Ngồi quyền xem và tìm kiếm thơng tin như sinh viên ra thi cán bộ
quán sinh cịn cĩ quyền chỉnh sửa và xĩa các thơng tin liên quan đến cơng tác thực tập sau khi đăng nhập hệ thống Cịn giảng viên hướng dẫn thực tập sẽ cĩ
quyền chỉnh sửa các thơng tin liên quan đến điểm, báo cáo và lịch thực tập cho từng tuần
Phạm vì 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ử đụng để quản lý cơng tác thực tip cia Cao Dang 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
Doi 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 chỉ 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 8- 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é thong 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 dang 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é hoach trién khai: tir ngay 18/03 dén ngay 18/04/2008 IH 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ệ cao đẳng CNTT, khoa sẽ tổ chức 3 đợt thực tập chính (thực tập cơ sở, thực tập
Trang 9chuyê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 10- 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 hồ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 Ngồ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 đữ 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 quan ly nay Co cau 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ý đanh 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 11
- 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 tồ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 q 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ể quan lý tự động hĩa
mà khơng mắt nhiều thời gian Quản ly 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à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 12
Đị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 chỉ 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 13
Ngà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
- Sự cố xay ra:
+ Mật khâu đo cán bộ quản sinh và giảng viên khơng đúng đắn Người
dùng nhập lại hoặc kết thúc sử dụng hệ thống
+ Mã giảng viên sai Người dùng nhập lại mã giảng viên hoặc kết thúc sử dụng
4.2 Quan lý danh mục
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 tồ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 tồ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 đanh 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 14
4.2.3 Quản lý bộ mơn
- Bộ mơn thì khong 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 Quan ly lop
- 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ã khoa - Đầu ra: Danh sách các lớp - Module xử lý: in danh sách lớp 4.3 Cập nhật
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 15
- 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
- Dau vao: 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
4.3.2 Cập nhật thơng tin về nhĩm thực tập
-_ Mục đích: Việc quản lý nhĩm thực tập sẽ giúp cho quá trình thao dõi qua trình thực tập của sinh viên hiệu quả hơn
- Tĩm lược: Sau khi đăng nhập thành cơng, hệ thống sẽ cho phép người sử
dụng hệ thống được thao tác các chức năng: sửa, xĩa, lưu và tìm kiếm thơng tin về nhĩm thực tập - Dau vao: Ma nhom Dé 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 xw lý: In danh sách nhĩm thực tập
Trang 16
CHƯƠNG 3
PHÂN TÍCH HỆ THĨNG
%2.3.G8 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 ly 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à chỉ tiết về chức năng quản lý mà hệ thống xây dung 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 I: 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
và nhĩm thực tập
- Chức năng 3: xĩa thơng tin về sinh viên, giảng viên, điểm thực tập và
nhĩm thực tập
- Chức năng 4: tìm kiếm sinh viên, giảng viên, điểm thực tập, lớp và nhĩm
thực tập
- Chức năng 5: in danh sách, báo cáo: in danh sách sinh viên, giảng viên,
bộ mơn, bảng điểm thực tập
Trang 17
Quản lý sinh viên thực tập
non Sua thong Xĩa thơng tin
ơng tin tin
Sửa thơng
Thêm tin sinh viên Xĩa thơng tin thơng tin sinh viên sinh viên
Sửa thơng tin giảng
Thêm viên Xĩa thơng tin
thơng tin giảng viên
giáng vien Sửa thơng
tin bảng điêm TT
rn I 2 ^ tin bảng Xe
bảng điểm Sửa thơng lễ
TT ig tin vé lop diém TT
Sửa thơng Xĩa thơng
tin về nhĩm tin về nhĩm TT 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
ek In danh Tìm kiêm sách, báo cáo um kiếm In danh nh viền sách sinh viên Tìm kiếm In danh giảng viên sách giảng viên Tìm kiếm In danh bảng điêm dách bộ mơn Tìm kiếm lớp In bảng điêm TT Tìm kiếm nhĩm TT
- Chúng ta sẽ đi vào tìm hiểu chỉ 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
17
Trang 182 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 tồn bộ BLD bối cảnh và khơng được phát sinh mới ở các mức đướ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 đữ 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 19
Thơng tin về bộ mơn
Thơng tin về GVHDTT
A 3x ˆ Giảng viên Yêu câu đăng nhập hướng dẫn TT
Thơng tin vê nhĩm Thực tập
Yêu cầu lập báo cáo
Thơng tin sinh viên
Sinh viên Thơng tin về lớp học Thơng tin về GVHDTT Bảng điểm kết quả thực tập
IBáo cáo thơng tin thực tập
Quản lý Sinh viên Thực tập
Yêu cau inbang] Can bộ
điêm thực tập | quản sinh
Yêu cầu đăng nhập trước khi sử dụng HT
Hình 3.2: Biếu đồ mức bối cảnh quán lý sinh viên thực tập
Trang 20
II Phân tích thiết kế hệ thống về mặt dữ liệu
1
2
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) Bảng điểm thực tập (BangDiemTT) Nhĩm thực tập (NhomTT) Lớp (Lop) Khĩa học (Khoa) Bộ mơn (BoMon) Đăng nhập hệ thống (DangNhap)
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, dé tai thực tap, 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 21
3 Thiết kế mơ hình thực thể liên kết *š Relationships
SinhVien
DangNhap
Hình 3.3: Mơ hình thực thể liên kết 4 Thiết kế chỉ tiết cơ sở dữ liệu
Sinh viên
RE SinhVien : Table
1 Field Name Data Type [
| II Text Mã số sinh viên
|_ |TenSV Text Họ của sinh viền |_ |Ngay5inh Date/Time Ngày sinh sinh viên
|_ |Noi5inh Text Nơi sinh
|_ |DiaChi Text Địa chỉ của sinh viên | |DienThoai Text Điện thoại của sinh viền |_| GioiTinh Yes/No Gới tính
|_ |Email Text Email của sinh viên
|_ |MaLop Text Mã lúp
7 MaNhom Text Mã nhĩm thực tập
Hình 3.4: Bảng chuẩn hĩa thực thế sinh viên
Trang 22ên hướng dẫn thực tậ
& GiangVienHDTT : Table
FieldName _ Data Type
@ [Macy Text Mã giảng viên hướng dẫn thực tap TenGW Text Họ tên giảng viên hướng dẫn thực tập GioiTinhGW Yes/No Giới tính của giảng viên
NgaySinhGy Date/Time Ngày sinh của giảng viền
SDT Text Số điện thoại của giảng viên hướng dẫn thực tập
EmailGW Text Email của giảng viền hướng dẫn thực tập Diachicy Text Địa chỉ của giảng viên hướng dẫn thực tập
MaBM Text Mã bộ mơn
Hình 3.5: Báng chuẩn hĩa thực thế giảng viên HDTT
Bảng điểm thực tập
R BangDiemTT : Iable
Field Name Data Type !
'ÿ |Ma5V Text Mã số sinh viên
| |Diem Number Điểm thực tập của sinh viên
|_|TenLHTT Text Tên loại hình thực tập [# |LanThucTap Text Lần thực tập |_ |ThoiGianTT Text Thời gian thực tập
L | GhiChu Text Ghi chú|
Hình 3.6: Bảng chuẩn hĩa thực thể bảng điểm thực tập Nhĩm thực tập
& NhomTT : Table
Field Name Data Type |
1# MaNhom| Text Mã nhĩm thực tập
DeTaiTT Text Đề tài thực tập
LichTT Text Lịch thực tập
MaGV Text Mã giảng viên hướng dẫn thực tập
Hình 3.7: Bảng chuẩn hĩa thực thế nhĩm thực tập
Lớp
Lop : Table
Field Name Data Type
'ÿ |MaLop Text Mã lớp
TenLop Text Tén lap
SiSo Text Sĩ số lap
Makhoa Text Mã khĩa hoe]
Hình 3.8: Bảng chuẩn hĩa thực thể lớp
Trang 23
Khĩa học
& Khoahoc : Table
Field Name Data Type
'#w|MaKhoal Text Mã khĩa học
TenKhoa Text Tên khĩa học
Hình 3.9: Bảng chuẩn hĩa thực thế khĩa học Bơn mơn
R BoMon : Table
Field Name Data Type
'Ở |MaBM Text Mã bộ mơn
TenBM Text Tên bộ mơn
Hình 3.10: Bảng chuẩn hĩa thực thể bơn mơn
Đăng nhập
# DangNhap : Table
Eield Name Data Type
‘Gy UserName] Text Tên đăng nhập
Password Text Mật khẩu
Hình 3.11: Bảng chuẩn hĩa thực thế đăng nhập
Trang 24CHƯƠNG 4
THIET KE CHUONG TRINH CHÍNH
%).4.C8
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:
Quan ly sinh vien thuc tap
QUAN LÝ HỆ THONG lần _ Đẩmậtkhẩu | @ QL Sinh vign thực tập beara ® QL Giang vien HDTT
QUAN LY DANH MUC
GE) Ho sd sinh vien
l@i M4 M0 „Ơ ® Bộ mơn be HS l@ Lép CAP NHAT
[#\ Thơng tin điểm thực tập
[89 Nhém thue tép
Hình 4.1: Form giao diện chính của chương trình
- Vao 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 25
- Dung 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, thốt), quản lý đanh 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 thich hop cho groupbox va button Vao Name dé dat 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” thi 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 () 7
+ Nếu bạn click vào button “QL Sinh viên thực tập” thì fmSinhVien sẽ hiện
ra Thêm đoạn mã vào phương thức btnQLSV TT:
frmSinhVien sv = new frmSinhVien();
Trang 26
sv.Show();
+ Néu ban click vao button “QL Giảng viên thực tập” thi frmGiangVien sé hiện ra Thêm đoạn mã sau vào phương thức btnQLGV:
frmGiangVien gv = new frmGiangVien();
gv.Show();
+ Nếu bạn click vào button “Hồ sơ sinh viên” thì frmHSSV sẽ hiện ra Thêm đoạn mã sau vào phương thức btnHSSYV:
frmHSSV hssv = new frmHSSV();
hssv.Show();
+ Nếu bạn click vào button “Hồ sơ giảng viên” thi frmHSGV sé hién ra
Thêm đoạnmã sau vào phương thức btnHSGV:
£rmHSGV hsgv = new £rmHSGV();
hsgv Show ();
+ Nếu bạn click vào button “Bộ mơn” thì mBoMon sẽ hiện ra Thêm đoạn mã sau vào phương thức btnBoMon:
£rmBcMon bm = nẹw £rmBoMon(); bm Show () ;
+ Nếu bạn click vào button “Lớp” thì frmLop sẽ hiện ra Thêm đoạn mã sau
vào phương thức btnLop:
frmLop fl = new frmLop(); f£1.Show();
+ Nếu bạn click vào button “Thơng tin điểm thực tập” thì frmBangDiem se hiện ra.Thêm đoạn mã sau vào phương thức btnBangDIem:
frmBangDiem bd = new frmBangDiem(); bd Show () 7
+ Nếu click vào button “Nhĩm thực tập” thì frmNhomTT sẽ hiện ra.Thêm đoạn mã sau vào phương thức btnNhomTT:
frmNhomTT nhomtt = new frmNhomTT(); nhomtt.Show() ;
+ Bấm vào menu Trợ giúp->Thơng tin tác giả một hộp thoại thơng báo sẽ
hiện ra để cho bạn biết thơng tin về tác giả Để tạo ra hộp thoại đĩ bạn cần
thêm đoạn mã sau vào mnTroGiup_ TTTG:
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ị Dung\nLớp: CD Tin 4 - K50\nTrudéng: DH Bach Khoa Hà Nội") ;
Trang 27
+ 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 để đữ 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
ban ");
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
'R
Tên đăng nhập: | admin Mật khẩu:
Hình 4.2: Form đăng nhập của hệ thống
- Khi ban bat dau tao ra Project “QLSVTT_ProjectThucTapTotN ghiep”
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
- Tir 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 28
- Tir toolbox rê thành phần điều khiển labellvà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 lablel, đố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
- Tir 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
đbConn.Open () ;
DataSet dbSet = new DataSet()¿;
string strString = "Select mUserName, mPassword From DangNhap Where mUserName = '" + cboUser.Text + "!";
OleDbDataAdapter dbAdpt = new
Trang 291£ (txtMatkhau.Text == đbSet.Tables[0] Rows [0] ["mPassword"] ToString () )
{
QLSVTT_ProjectThucTapTotNghiep.clsProcess.mTen =
dbSet.Tables[0].Rows[0] ["mUserName"] ToString(); frmMain frm = new frmMain(); frm Show ();
this.Hide(); }
else {
MessageBox.Show("Bạn nhập sai Password", "Thơng
Báo",MessageBoxButtons.OK,MessageBoxTcon.Exclamation );
txtMatkhau Focus () ; txtMatkhau.SelectAll ();
}
- Đồng thời để lấy được dữ liệu vào trong cboUser tiện lợi cho quá trình đăng nhập thì bạn cũng cân thêm đoạn mã sau:
private void frmLogin_Load(object sender, EventArgs e)
{
//lây thơng tin đưa vào cboUser
đbConn Open () ;
DataSet dbset = new DataSet ();
string str = "Select * From DangNhap";
OleDbDataAdapter dbAdpt = new OleDbDataAdapter (str,
dbConn );
dbAdpt.Fill(dbset );
đbConn.Close () ;
cboUser.DataSource = dbset.Tables[0];
cboUser.DisplayMember = "mUserName";
- Néu ban khéng muén ding nhap dé xem théng tin vé céng tac quan ly
sinh viên thực tập trong hệ thống nữa, ban co thé click button Huy bd
Đoạn mã cho phương thức btnHuy chỉ với 1 câu lênh rất đơn giản:
this.Close();
Trang 30
III Form đối mật khấu — frmDọMatKhau
1 Quá trình thiết kế và thiết lập thuộc tính của frmDoiMatKhau
So omar te ait UserName : admin Password cf : Password mai : ác nhận lại :
[ElLuu thay đổi
Hình 4.3: Form đỗi mật khẩu
- Vao 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
- Tir toolbox, ré thành phần điều khiển label vào groupbox rùi đổi thuộc tinh Name 1a IbUser va text 1a UserName
- Thém label2 vao groupbox, déi thudc tinh Name 1a IbPasscu va text 1a 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à IbPassmoi và text là Password mới
-_ Thêm label4 vào groupbox, đồi thuộc tính Name là IbNhapLaiPass 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
labell Đối thuộc tính Name là txtUserName và chọn thuộc tính
Trang 31
readonly 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à Thốt
2 Xử lý các sự kiện trong frmDoiMatKhau e 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ĩ I 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 thi 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 32
OleDbConnection dbConn = new OleDbConnection("Provider =
Microsoft.JET.OLEDB.4.0; Data Source = " +
Application.StartupPath + "\\QLSVTT.mdb");
Doan mA cua btnLuuthaydoi:
dbConn.Open();
DataSet dbSet = new DataSet ();
string strString = "Select * From DangNhap Where mUserName = '" + txtUserName.Text + "'";
OleDbDataAdapter dbAdpt = new
OleDbDataAdapter (strString, dbConn);
dbAdpt Fill (dbSet);
dbConn.Close();
if (txtPassCu Text ==
dbSet.Tables[0].Rows[0] ["mPassword"] ToString() ) {
if (txtPassMoi.Text == txtXacNhan.Text {
đbConn.Open () ;
string mstrString = "Update DangNhap Set mPassword = '" + txtPassMoi.Text + "' Where mUserName = '!'" + txtUserName.Text + "'";
OleDbCommand mdbCmd = new
OleDbCommand (mstrString, dbConn);
mdbCmd.ExecuteNonQuery ();
dbConn.Close();
MessageBox Show ("Đã thay đổi thành
cơng", "Thơng bao",MessageBoxButtons.OK, MessageBoxIcon.Information
)7
this.Close();
}
else {
MessageBox.Show("Xác nhận mật khẩu sai Hãy
nhập lại", "Thơng báo", MessageBoxButtons.OK,
MessageBoxTcon.Exclamation) ; txtXacNhan Focus (); txtXacNhan.SelectAll(); } else {
MessageBox.Show("Nhập mật khẩu cũ sai Hãy nhập lại","Thơng báo",MessageBoxButtons.OK, MessageBoxIcon.Exclamation
Trang 33e 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:
7 Thong Tin Sinh Vien
Thơng tín sinh viên S
i Tìm Kiếm - Mã Lập: MLD04 vị lấp Tn3 v eed ` MãSV: | | TmMäSV Mã sinh vién: [0482349 M3Nhém: MN001 Tên SV: Tìm Tên SV Ngày sinh : 20/04/2008 ¥ |
Ndi sinh: ‘Quang Ninh ap Thém méi
Số điện thoại: | 0987463522
[# sua
Gidi tinh: @ Nam Nũ
Email: |Nga@yahoo.com (2]_ Cap Nhat
Dia chi: (Hồng Mai
Thơng Tin Về Sinh Viên
DienThoai Bùi Thị Dung
Cũ481515 Nguyễn Trung Đức 13/05/1386 Vĩnh Bào | Thai nguyên 836542002 Cũ984675 Hồng Biang | 20/09/1987 Lao Cai | Hoang Mai | 0922220034 Cũ482343 | Cao Thị Nga 20/04/2008 | Quang Ninh Hoang Mai | 0987463522
Hinh 4.4: Form sinh vién
- Vao Add New Item -> Windows Form dé tao ra một form mới với tên la frmSinhVien
Trang 34Trong 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à IbMaLop, IbMaSV, lbTenSV, IbMaNhom, IbNgaySinh, IbNoiSinh, IbSDT, IbGioiTinh, IbEmai, IbDiaChi 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
là cbMaLop, cbMaNhom
Thêm các textbox vào grTTSV, đổi thuộc tính Name lần lượt là txtMaSV, txtTenSV, txtNoiSinh, txtSDT, txtEmail, txtDiaChi
Từ toolbox rê thanh điều khiển datatimepicker vào grTTSV doi tên
thuộc tính name là dtPickerNgaySinh
Thêm thanh điều khiển radio vào trong grTTSV, đổi thuộc tính name là rdNam, rdNu tương ứng với text Nam, Nữ
Thêm label vào grTK, đổi thuộc tính name là IbLop, IbMaSinhVien,
IbTenSinhVien và text tương ứng: Lớp, mã sinh viên, tên sinh viên
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 vao grTK, đối thuộc tính name là IlbMaSV, IlbTenSV 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 1a dgvListSinhVien
Trang 35
-_ Thêm Ilinklabel 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ở đữ liệu bằng câu lệnh đướ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") ;
e Xt ly su kién cho nút btnThemSV:
- Thém sinh viên chỉ là hình thtrc lam trang cdc 6 textbox va 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 đi 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 va combobox thì bạn phải thêm đoạn mã
sau vao btnThemSV:
//Nhap trang lai cac 6 textbox va combobox
private void btnThemSV_Click(object sender, EventArgs e)
{ txtMaSV.Text = ""; txtTenSV.Text = ""; txtNoiSinh.Text = ""; txtSDT.Text = ""; txtEmail.Text = ""; txtDiaChi.Text = ""; btnLuuSV.Text = "Lưu"; }
e Xt ly 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 36
thấy được ngay Lưu ý: khi chọn sửa bất kỳ 1 row nao 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)
{
đbConn.Open () ;
DataSet dbset = new DataSet();
string strString = "SELECT
Lop TenLop, SinhVien.MaLop, SinhVien.MaSvV, 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 dbAdpt = new
OleDbDataAdapter(strString, dbConn); dbAdpt.Fill(dbset);
dbConn.Close();
cboMaLop Text =
đbset.Tables [0] Rows [0] ["MaLop"] ToString () ;
txtMaSV Text =
dbset.Tables[0].Rows[0]["MaSv"].ToString();
txtTenSV.Text =
dbset.Tables[0] Rows [0] ["TenSV"] ToString () ;
dtPickerNgaySinh.Text =
dbset.Tables[0].Rows[0] ["NgaySinh"].ToString();
txtNoiSinh.Text =
dbset.Tables[0].Rows[0] ["NoiSinh"] ToString();
txtSDT.Text =
dbset.Tables[0].Rows[0] ["DienThoai"] ToString();
if
(dbset.Tables[0] Rows[0] ["GioiTinh"] ToString() «Equals ("True") )
{ rbtNam.Checked = true; } else { rbtNu.Checked = true; } txtEmail.Text = dbset.Tables[0].Rows[0] ["EMail"].ToString(); txtDiaChi.Text = dbset.Tables[0].Rows[0] ["DiaChi"].ToString(); }
btnLuuSV.Text = "Cap Nhat"; cboMaLop.Visible = true;
Trang 37
}
e_ Xử lý sự kiện cho nut btnLuuSV:
-_ Khi người quanr lý hệ thống đăng nhập thành cơng và muốn vào sửa hay thêm các thơng tin về sinh viên thì các thơng tin đĩ cần phải lưu lại
trong cơ sở dữ liệu sau khi thêm hoặc sửa Nếu bạn thêm thơng tin sinh
viên thì nút lưu vẫn là lưu, cịn nếu bạn sửa thơng tin sinh viên thì nút lưu sẽ chuyền thành cập nhật
- Như vậy button btnLuuSV là rất quan trọng trong việc cập nhật những
thay đối thơng tin về sinh viên thực tập
- _ Sau đây là đoạn mã cần phải thêm vào phương thức btnLuuSV:
//cập nhật thơng tin sinh viên
private void btnLuuSV_Click(object sender, EventArgs e)
{
đbConn Open () ;
if (btnLuuSV.Text == "Cap Nhat")
{
string strString = "Update SinhVien Set MaSv = '"
+ txtMaSV.Text + "', TenSV = '"
+ txtTenSV.Text + "', NgaySinh = '" + dtPickerNgaySinh.Text + "', NoiSinh = '"
+ txtNoiSinh Text + mr DiaChi = uw +
txtDiaChi.Text + "', DienThoai = '"
+ txtSDT.Text + mr GioiTinh = " +
rbtNam.Checked + ", Email = '"
+ txtEmail.Text + mr MaNhom =
cboMaNhom.Text + "', MaLop = '" + cboMaLop.Text + "' Where MaSV =
+ txtMaSv.Text + "'";
OleDbCommand dbCmd = new OleDbCommand (strString,
dbConn) ;
dbCmd ExecuteNonQuery () ;
newRefresh ();
else
DataSet dbSet = new DataSet();
string mstr = "Select * From SinhVien";
OleDbDataAdapter dbAdpt = new
OleDbDataAdapter(mstr, dbConn) ;
dbAdpt Fill (dbSet);
Trang 38if ((txtMaSV.Text != "") && (txtTenSV.Text !=
nny y
//dbConn.Open () ;
string striInsert = "Insert into Sinhvien values ('"; strInsert += txtMaSV.Text + "','"; strInsert += txtTenSV.Text + "','"; strInsert += dt PickerNgaySinh.Value + strinsert += txtNoiSinh.Text + "','"; striInsert += txtDiaChi.Text + "','"; strInsert += txtSDT.Text + "',"; strInsert += rbtNam.Checked + ",'"; strinsert += txtEmail.Text + "', ; striInsert += cboMaLop.Text + "','"; strinsert += cboMaNhom.Text + "')";
OleDbCommand dbInsert = new
OleDbCommand(strInsert, dbConn); dbInsert ExecuteNonQuery (); dbConn.Close (); newRefresh (); } else {
MessageBox.Show("Chua nhập mã sinh viên và tên sinh viên Hãy kiểm tra lại", "Thơng báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) ;
} }
else
{
MessageBox.Show("Da Trùng mã sinh viên Mời
bạn nhập lại", "Thơng bao", MessageBoxButtons.OK, MessageBoxTcon.Exclamation) ;
txtMaSV Focus () ;
txtMaSV.SelectAll();
}
e_ Xử lý sự kiện cho nut btnXoaSV:
-_ Khi muốn xĩa thơng tin về một sinh viên nào đĩ thì bạn chỉ can chon 1
row ở datagridview rùi click vào button xĩa Một hộp thoại thơng báo hỏi “Bạn cĩ muốn xĩa hay khơng?” hiện ra Nếu đồng ý xĩa thì chọn
Yes thơng tin về sinh viên đĩ sẽ được loại bỏ khỏi danh sách sinh viên đã hiển thị trên datafridview, nếu khơng thì chọn No thơng tin vẫn cịn đảm bảo tồn vẹn
Trang 39
- Để làm được điều đĩ, bạn chỉ cần thêm đoạn mã sau vào nút btnXoaSV là hệ thống sẽ làm việc được như trên:
//xĩa thơng tin sinh viên
private void btnXoaSV_Click(object sender, EventArgs e)
{
if (MessageBox.Show("Bạn cĩ muốn xĩa hay khơng?"
"Thơng báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult Yes)
{
đbConn.Open () ;
string str = "Delete from SinhVien Where MaSV = '" + dgvListSinhVien.SelectedRows[0].Cells[0].Value + "'";
OleDbCommand dbDelete = new OleDbCommand (str,
dbConn) ;
dbDelete.ExecuteNonQuery (); dbConn.Close();
newRefresh () ;
}
e_ Xử lý sự kiện cho nut btnDongLai:
- Tương tự như các câu lệnh xử lý đống form lại ở trên, bạn cũng chỉ cần
dùng I câu lệnh:
private void btnDongLai_Click(object sender, EventArgs e) {
this.Close();
}
- Cũng cĩ thể bạn dùng 1 câu lệnh khác để đống form ứng dụng đang
chạy lại:
Application.Exit();
e Lay dir liéu vao cdc combobox::
- Vi dé thay déi các thơng tin về sinh viên trong bảng sinh viên thi ban
cần phải để ý đến ràng buộc N -— 1 giữa chúng với bảng lớp và nhĩm
thực tập Đặc biệt khi thêm mới sinh viên, thì điều đĩ là khá quan trọng, nếu khơng câu lệnh truy vấn của bạn sẽ bị lỗi trong khi insert các
trường đĩ vào datagridview
- Chính vì lý do đĩ mà bạn cần tiến hành viết mã ở một phương thức
frmSinhVien Load như sau:
//thực hiện hiển thị đữ liệu vào lưới và dưa thơng tin tên lớp và mã lớp và cboL và cboMaLop
Trang 40
private void frmSinhVien_Load(object sender, EventArgs e)
{
newRefresh ();//Câu lệnh gọi phương thức newRefresh dbConn.Open () ;
string strString = "Select MaLop, TenLop From Lop";
DataSet dbSet = new DataSet();
OleDbDataAdapter dbAdptm = new
OleDbDataAdapter(strString, dbConn);
dbConn) ;
}
dbAdptm Fill (dbSet);
cboL.DataSource = dbSet.Tables[0]; cboL.DisplayMember = "TenLop";
cboMaLop.DataSource = dbSet.Tables[0]; cboMaLop.DisplayMember = "MaLop"; // Đưa thơng tin vào cboMaNhom
DataSet dbSetm = new DataSet();
string str = "Select MaNhom From NhomTT";
OleDbDataAdapter dbAdpt = new OleDbDataAdapter (str, dbAdpt Fill (dbSetm) ;
đbConn.Close () ;
cboMaNhom.DataSource = dbSetm.Tables[0];
cboMaNhom.DisplayMember = "MaNhom";
- Dữ liệu sẽ được lay vao trong cac cboL va cboMaLop, cboMaNhom Khi chạy chương trình, các dữ liệu này sẽ cĩ định và số xuống dé người dùng tự chọn tùy theo yêu cầu mỗi người
e_ Lấy dữ liệu cho dgvListSinhVien:
- Dé xem thơng tin chung về sinh viên và đề hiển thị những thay đổi thơng tin vê sinh viên thì bạn cần khai báo một phương thức mới là Private void
newRefreshQ Đồng thời dùng lưới để bớt đi I khâu tim kiếm trước khi thao
tác câc chức năng sửa và cập nhật thơng tin Ở đây, sửa thơng tin sinh viên khơng cần thơng qua việc tìm kiếm
/private hiển thị csdl vào datagridview
private void newRefresh()
{
//dbConn.Open () ;
OleDbDataAdapter dbAdpt = new OleDbDataAdapter ("SELECT
* FROM SinhVien", dbConn) ;
DataSet dbSet = new DataSet (); dbAdpt Fill (dbSet) ;
dbConn.Close();
dgvListSinhVien.DataSource = dbSet.Tables [0];