Chức năng delete ngành học: Người chịu trách nhiệm Tiền điều kiện Admin đã đăng nhập vào hệ thống website Đảm bảo tối thiểu Hệ thống yêu cầu admin delete lại ngành học khi delete không t
Trang 1PHẦN MỞ ĐẦU
1 Lý do chọn đề tài
Trong những năm gần đây, khoa học công nghệ Việt Nam đã từng bước hội nhập vào dòng chảy của khoa học công nghệ tiên tiến trên thế giới Công nghệ thông tin ở nước ta mới tuy mới bước đầu, song tốc độ phát triển của nó rất nhanh
và mạnh, chiếm một vị trí quan trọng trong các ngành khoa học công nghệ Một trong những lĩnh vực đang được ứng dụng tin học hóa rất phổ biến ở nước ta là lĩnh vực quản lý Tin học hóa trong quản lý đã giúp cho các nhà quản lý điều hành công việc một cách khoa học, chính xác và hiệu quả
Sự phát triển nhanh chóng của Internet trong mọi lĩnh vực của đời sống đã khiến nó trở thành một phần không thể thiếu trong cuộc sống của chúng ta Từ thương mại, y tế cho đến các tổ chức giáo dục tất cả đều chuyển sang ứng dụng trực tuyến để bắt kịp nhịp độ tiến triển của thế giới công nghệ số
Ngày nay, nhiều trường học và tổ chức giáo dục đã nhận ra tầm quan trọng của việc xây dựng website để tạo sự hiện diện trên internet Đưa việc giáo dục lên mạng đã không chỉ phục vụ cho các đối tượng là học viên mà còn là một cách hiệu quả để phục vụ các giảng viên, nhân viên, cha mẹ học viên và cả những học viên hiện tại Các website giáo dục không chỉ cung cấp thông tin về cơ sở, các khóa học của họ mà còn cung cấp những thông tin về hoạt động của trường, các chương trình học bổng và hỗ trợ sinh viên Do đó em quyết định chọn đề tài "Xây dựng Website quản lý sinh viên " để nghiên cứu làm đề tài tốt nghiệp
Trang 22 Mục tiêu đề tài
- Hệ thống website được xây dựng với mục tiêu chủ yếu là hỗ trợ công tác quản lý điểm, quản lý sinh viên, cập nhật các thông báo của nhà trường, của khoa Tin học,v.v… lên website chính xác và nhanh nhất
3 Đối tượng và phạm vi nghiên cứu
Sinh viên, giảng viên và hệ thống điểm của sinh viên khoa Tin học trường Đại học Sư phạm – Đại học Đà Nẵng
4 Phương pháp nghiên cứu
- Phân tích tổng hợp thông tin sinh viên và giảng viên
- Tìm hiểu cách thức đánh giá kết quả học tập của sinh viên trường Đại học
Sư phạm – Đại học Đà Nẵng
- Tổng hợp các thông tin, phân tích thiết kế hệ thống
-Tìm hiểu tài liệu thiết kế và xây dựng website Nghiên cứu thiết kế web bằng ngôn ngữ ASP.NET
5 Kết quả mong muốn
Website thực hiện được một số chức năng sau:
Giao diện than thiện gần gũi với người sử dụng
Dễ dàng cập nhật các thông tin sinh viên, thông tin giảng viên
Xem thời khóa biểu
Xem các thông tin, thông báo của nhà trường, của khoa Tin học
Tra cứu điểm học kỳ, điểm tổng kết
Liên kết các website
Cho phép chỉnh sửa dữ liệu và cập nhật thông tin mới
Trang 36 Cấu trúc của đề tài
Đề tài bao gồm các chương, mục như sau:
Mở đầu Giới thiệu sơ lượt về đề tài, hướng nghiên cứu và dự kiến kết quả đạt
được
Chương 1: Cơ sở lý thuyết: Giới thiệu các ngôn ngữ lập trình, ngôn ngữ sử
dụng để thiết kế hệ thống, cơ sở dữ liệu và các công cụ hỗ trợ
Chương 2: Phân tích – thiết kế hệ thống: Giới thiệu các sơ đồ chức năng,
các bảng cơ sỡ dữ liệu và mô hình cơ sỡ dữ liệu
Chương 3: Cài đặt và demo chương trình: Xây dựng chương trình, chạy
demo các ứng dụng
Trang 4Chương 1 CƠ SỞ LÝ THUYẾT 1.1 Tổng quan về hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2005
Hệ quản trị cơ sở dữ liệu Microsoft SQL Server (MSSQL) là một trong những hệ quản trị cơ sở dữ liệu thông dụng hiện nay Đây là hệ quản trị cơ sở dữ liệu thường được sử dụng với các hệ thống trung bình, với ưu điểm có các công
cụ quản lý mạnh mẽ giúp cho việc quản lý và bảo trì hệ thống dễ dàng , hỗ trợ nhiều phương pháp lưu trữ, phân vùng và đánh chỉ mục phục vụ cho việc tối ưu hóa hiệu năng Với phiên bản MSSQL 2005 Microsoft đã có những cải tiến đáng
kể nâng cao hiệu năng, tính sẵn sàng của hệ thống , khả năng mở rộng và bảo mật Phiên bản mới này còn cung cấp nhiều công cụ cho người phát triển ứng dụng được tích hợp với bộ Visual Studio do Microsoft cung cấp Dưới đây là mô hình về các dịch vụ của SQL server 2005
Hình 1.1 Các dịch vụ của SQL Server 2005 MSSQL 2005 có 4 dịch vụ lớn : Database Engine,Intergration Service, Reporting service, Analysis Services Trong phiên bản MSSQL 2005 này đã có những cải tiến đáng kể như sau:
Trang 5 DataBase Engine : được phát triển để thực thi tốt hơn với việc hỗ trợ cả
dữ liệu có cấu trúc và dữ liệu phi cấu trúc( XML)
Khả năng sẵn sàng của hệ thống được nâng cao hơn vì MSSQL 2005 hỗ trợ các chức năng : cơ sở dữ liệu gương (Database mirroring), failover clustering , snapshots và khôi phục dữ liệu nhanh
Việc quản lý chỉ mục được thực hiện song song với việc hoạt động của
hệ thống Người dùng có thể thêm chỉ mục, xây dựng lại chỉ mục hay xóa một chỉ mục đi trong khi hệ thống vẫn được sử dụng
Chức năng phân vùng dữ liệu được hỗ trợ: Trong phiên bản này người dùng có thể phân vùng các bảng và chỉ mục cũng như quản lý phân vùng dữ liệu một cách dễ dàng Việc hỗ trợ phân vùng dữ liệu giúp nâng cao hiệu năng hoạt động của hệ thống
Dịch vụ đồng bộ hóa dữ liệu được mở rộng với việc hỗ trợ mô hình đồng bộ hóa ngang hàng Đây là dịch vụ giúp đồng bộ hóa dữ liệu giữa các máy chủ dữ liệu, dịch vụ này làm khả năng mở rộng của hệ thống được nâng cao
Dịch vụ tích hợp (Integration Service ) thiết kế lại cho phép người dùng tích hợp dữ liệu và phân tích dữ liệu từ nhiều nguồn khác nhau Hỗ trợ việc quản lý chất lượng dữ liệu và làm sạch dữ liệu, một công việc quan trọng trong tiến trình ETL
Dịch vụ phân tích dữ liệu (Analysis Service ): cung cấp khung nhìn tích hợp và thống nhất về dữ liệu cho người dùng, hỗ trợ việc phân tích dữ liệu
Công cụ khai phá dữ liệu (Data mining ) được tích hợp hỗ trợ nhiều thuật toán khai phá dữ liệu, điều này hỗ trợ cho việc phân tích và khai phá dữ liệu và xây dựng các hệ thống hỗ trợ ra quyết định cho người quản lý
Trang 6 Dịch vụ xây dựng quản lý báo cáo (Reporting Service) được dựa trên nền tảng quản trị doanh nghiệp thông minh và được quản lý qua dịch vụ web Báo cáo có thể được xây dựng với ngôn ngữ truy vấn MDX Việc xây dựng báo cáo dễ dàng thông qua các công cụ trên Business Intelligent, người dùng truy cập báo cáo dễ dàng và trích xuất ra nhiều định dạng khác nhau thông qua trình duyệt web
1.2 Giới thiệu ngôn ngữ HTML
HTML là ngôn ngữ chuẩn để tạo lập các tài liệu cho WWW HTML được sử dụng trong các chương trình duyệt Web, Ví dụ như MS Internet Explorer, Nescape Navigator Một tài liệu HTML là một tệp văn bản chứa các phần tử mà các chương trình duyệt sẽ sử dụng để hiện các văn bản, các đối tượng Multimedia, và các siêu liên kết Người sử dụng có thể dùng chuột để chọn các văn bản được format như một siêu liên kết trong các tài liệu này Sau khi liên kết này được chọn, tài liệu mà
nó trỏ tới sẽ được nạp vào máy và hiện lên màn hình
Một phần tử là một đơn vị cơ sở của HTML Nó bao gồm một thẻ khởi đầu (start-tag), một thẻ kết thúc (end-tag), và các ký tự dữ liệu được đặt trong các thẻ này Một thẻ bắt đầu bằng một dấu nhỏ hơn (<) và kết thúc bằng một dấu lớn hơn (>) Thẻ kết thúc phải có thêm một dấu sổ chéo (/) ngay trước tên thẻ Có một số thẻ phải luôn luôn kết thúc bằng một thẻ phù hợp, còn một số khác lại cho phép bỏ qua thẻ kết thúc nếu kết quả là rõ ràng và không có sự mập mờ nào cả
HTML không mô tả trang tài liệu giống như một số ngôn ngữ máy tính khác
Có những ngôn ngữ mô tả từng phần tử đồ hoạ và vị trí của nó trên trang tài liệu, bao gồm font chữ, kích cỡ Ngược lại HTML lại không đưa ra bất cứ mô tả nào
về font, hình ảnh đồ hoạ và chỗ để đặt chúng HTML chỉ “gán thẻ” cho nội dung tập tin với những thuộc tính nào đó mà sau đó chúng được xác định bởi chương trình duyệt để xem tập tin này Điều này giống như người đánh dấu bằng tay một
Trang 7số đoạn trên văn bản tài liệu để chỉ cho người thư kí biết những việc cần thiết như:"chỗ này in đậm", "chỗ này in nghiêng"
HTML được thiết kế ra để dùng cho Web : trong phần lớn các chương trình
xử lý văn bản khá rắc rối trong một số tiểu tiết -ví dụ như chọn font - HTML, được thiết kế để dùng trên mọi kiểu máy tính Nó được thiết kế vừa để dễ vận chuyển trên internet, vừa thích hợp với các loại máy tính
HTML là một chuẩn mở:ngoài các thẻ trong bộ chuẩn, HTML có thể được
mở rộng bằng nhiều cách như : Mở rộng thêm các thẻ HTML, sử dụng Javascript, VBScript và các ngôn ngữ lập trình khác
HTML dễ đọc, dễ hiểu, có chứa các liên kết và hỗ trợ Multimedia
HTML là ngôn ngữ thông dịch : đây được coi là nhược điểm của ngôn ngữ bởi vì nó sẽ làm giảm tốc độ thực hiện các ứng dụng khác trên Web đồng thời nó khó đảm bảo tính an toàn, bảo mật
Trang 81.2.2 Phương pháp thiết kế một trang Web
Khi nói đến xây dựng một trang Web cũng đồng nghĩa với việc xây dựng một trang chủ Theo quan niệm chung, trang chủ là một trang Web chứa liên kết đến một hay nhiều trang khác và thường là trang cung cấp thông tin tổng quát nhất cho người xem Vì vậy việc thiết kế trang Web không chỉ là thiết kế một trang HTML đơn lẻ, mà còn là thiết kế các mối liên kết tới các tài liệu trong HTML khác ( chưa
kể đến việc phải xây dựng nhiều trang Web liên kết với nhau)
Để xây dựng trang Web với các kết nối trước tiên chúng ta nên xác định xem thiết kế nội dung gì, cho ai xem và môi trường thể hiện Web Thông thường có các bước sau:
• Xác định chủ đề
• Xác định nội dung
• Thiết kế sơ đồ hoạt động (Flow diagram)
• Thiết kế sơ đồ giao diện với người xem của trang chủ
• Thiết kế và xây dựng chi tiết
Chi tiết các bước:
- Xác định chủ đề: Xác định chủ đề trang Web là bước đầu tiên giúp cho việc định hướng cho các thao tác thiết kế và xây dựng sau này không đi chệch mục tiêu Chủ đề của trang Web tuy quan trọng song cũng dễ xác định bởi vì nó hoàn toàn dựa vào mục đích thiết kế trang Web đó
- Xác định nội dung: Xác định nội dung trang Web là bước quan trọng nhất Nó cho phép ta hình dung được công việc sẽ phải làm tiếp theo và xây dựng quy mô trang chủ, qua đó quy định khuôn khổ công tác thiết
kế giao diện và xây dựng trang HTML Khi xác định nội dung cần nhận
rõ những điểm chính yếu phải giới thiệu trên trang Web Những thông tin sẽ giới thiệu phải phân loại theo hai tiêu chí: tính kế thừa và mức độ
Trang 9quan trọng Việc xây dựng nội dung cũng phải được định trước phong cách khác nhau: trang nghiêm hay hài hước, cứng rắn hay mềm mại
- Thiết kế sơ đồ hoạt động: Sơ đồ hoạt động là mô hình sắp xếp các nội dung (được xác định ở bước trên) trong bước này ta sẽ sắp xếp các thông tin cần giới thiệu theo thứ tự ưu tiên như đã xác định Công việc sắp xếp bao gồm thứ tự Trên - Dưới, Trước - Sau, thông tin nào cần được nêu rõ trong một trang Web thành một phần riêng, thông tin nào
có thể mô tả ngay trên trang chủ
- Thiết kế giao diện với người xem: Sơ đồ giao diện với người xem là sơ
đồ khái quát của những gì mà người đến thăm trang chủ của chúng ta sẽ thấy Giao diện với người xem được thiết kế theo sơ đồ này Yêu cầu của giao diện là nêu bật được chủ đề chính, bố trí các liên kết sao cho hợp lý, phân bố mạng thông tin, đồ hoạ sao cho cân đối
- Thiết kế và xây dựng chi tiết : công tác thiết kế và xây dựng chi tiết là phần việc đồ sộ nhất khi xây dựng trang Web Nó cũng là phần việc đưa ra kết quả cuối cùng, vì vậy có thể nói đây là công tác quan trọng nhất Trong công tác thiết kế xây dựng chi tiết, việc lựa chọn các hình ảnh(để minh hoạ, để làm liên kết)là quan trọng Đây chính là cái sẽ gây
ấn tượng mạnh nhất đến người xem Vì vậy thiết kế và lựa chọn hình ảnh cực kỳ quan trọng
1.3 Giới thiệu ngôn ngữ ASP.NET
Hiện tại ASP 3.0 đã và đang trở thành kịch bản được nhiều người sử dụng để thiết kế ứng dụng thương mại điện tử dưới nhiều hình thức khác nhau Chúng được
sự hỗ trợ mạnh của ngôn ngữ lập trình C#, VB.NET… và cơ sở dữ liệu SQL Server 2005 cùng với sự ra đời của công nghệ COM và DCOM, ứng dụng trở nên
Trang 10hoàn hảo và ưu việt hơn trong quá trình trao đổi thông tin trên mạng Internet và Intranet
Tuy nhiên, Microsoft đã và đang nổ lực cho một công nghệ Web xử lý phía máy chủ hoàn toàn mới đó là ASP.NET độc lập với mọi trình duyệt Điều này có nghĩa là trình duyệt không cần phải cài đặt bất kỳ công cụ hỗ trợ nào để duyệt trang Web dạng ASP.NET(.aspx) Với kỹ thuật cho phép mọi thực thi đều nằm trên trình chủ (Server), có nghĩa là trình duyệt xử lý nhiều vấn đề cùng một lúc cho nhiều người dùng, chính vì vậy đòi hỏi cấu hình máy chủ có cấu hình mạnh và đòi hỏi băng thông có khả năng truyền dữ liệu với khối lượng lớn và tốc độ truy cập nhanh
ASP.NET được thiết kế tương thích với các phiên bản ASP trước đó Bạn có thể triển khai ứng dụng phát triển bằng ASP.NET chung với ứng dụng phát triển bằng ASP trên cùng một máy chủ mà không cần thay đổi cấu hình của ứng dụng ASP
Những ngôn ngữ được dùng để viết ASP.NET là VBScript, Jscript, C# Tùy thuộc vào khai báo chỉ mục trong đối tượng chỉ dẫn đầu trang ASP.NET, bạn có thể chỉ rõ ngôn ngữ lập trình bạn sử dụng để xây dựng trang ASP.NET
Công nghệ ASP.NET sẽ hướng các lập trình viên Web vào quỹ đạo của chúng bằng các lý do sau :
- Độc lập ngôn ngữ cho phép bạn không biên dịch ngôn ngữ, thực hiện tối
Trang 11- Tính mềm dẻo và khả năng nâng cấp: Cho phép chúng ta quản lý trạng thái của các Sesion và tạo form trên một ứng dụng sử dụng hệ thống Server
- Hỗ trợ nhiều trình khách có thể tự động nhận dạng trình khách để hiển thị cho phù hợp
- Thay vì sử dụng mô hình DLL, COM, DCOM trước đây, trong trường hợp ứng dụng sử dụng công nghệ ASP.NET bạn có thể sử dụng dịch vụ tương tự có tên là Web Services
1.3.1 Ưu điểm của ASP.NET
ASP.NET có nhiều ưu điểm hơn các nền tảng khác khi dùng nó để tạo ứng dụng Web Có thể phần lớn những ưu điểm quan trọng của nó đi kèm với các máy chủ Windows và các công cụ lập trình Windows Ứng dụng web được tạo bởi ASP.NET được tạo ra, bắt lỗi và triển khai rất dễ dàng thông qua các tác vụ có thể thực thi trọn vẹn trong một môi trường phát triển duy nhất - Visual Studio NET
Với những nhà phát triển ứng dụng Web, ASP.NET bộc lộ những ưu điểm sau đây :
- Những phần thực thi được của ứng dụng Web được biên dịch, vì vậy chúng thực thi nhanh hơn là các kịch bản thông dịch
- Các cập nhập ngay lập tức giúp cho việc triển khai các ứng dụng Web
mà không phải khởi động lại máy chủ
- Truy cập tới NET Framework, có thể đơn giản hóa nhiều khía cạnh trong lập trình Windows
- Sử dụng nhiều những hiểu biết về ngôn ngữ lập trình C#, VB, vốn đã được tăng cường để hỗ trợ lập trình hướng đối tượng
- Giới thiệu ngôn ngữ lập trình mới mà nó cung cấp khả năng an toàn kiểu, hướng đối tượng, so với ngôn ngữ lập trình C
Trang 12- Tự động quản lý trạng thái để điều khiển trang Web (được gọi là Server Controls) vì vậy chúng có gì đó giống với các Windows Controls
- Các tính năng bảo mật được xây dựng sẵn thông qua máy chủ Windows hoặc thông qua các phương thức xác nhận, phân quyền khác
- Tích hợp chặt chẽ với ADO.NET để cung cấp các truy xuất CSDL và các công cụ thiết kế CSDL trực quan trong bộ VS.NET
- Hỗ trợ đầy đủ XML, CSS và các chuẩn Web đã được thiết lập hoặc mới khác
- Các tính năng sẵn có để đệm các trang web thường xuyên được yêu cầu trên máy chủ, các nội dung bản địa hóa cho các ngôn ngữ và trao đổi, nhận ra khả năng tương thích trình duyệt
Data Binding là cách tham chiếu (mapping) các thành phần của một data source vào một thành phần GUI (giao diện sử dụng) và tự động làm việc với dữ liệu Ví dụ có thể bind một cột (col) vào một TextBox qua thuộc tính Text hoặc có thể bind cả một table vào DataGrid như DataGridView
Ví dụ sau sử dụng mã "inline", một dạng ngược lại với code behind
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Trang 13Một trang làm việc của ASP.NET bao gồm các thành phần:
- Khai báo ngôn ngữ kịch bản <%@language = ngôn ngữ %>
- Các thẻ HTML thiết kế giao diện
- Các hàm, các nút lệnh
- Có thể sử dụng trang riêng biệt để viết code cho chương trình
Trong đề tài này code được viết bằng ngôn ngữ C Sharp, trang viết code luôn có phần mở rộng cs
1.4 Sơ lượt về Csharp (C#)
Ngôn ngữ C# khá đơn giản, chỉ khoảng 80 từ khóa và hơn mười mấy kiểu dữ liệu được xây dựng sẵn Tuy nhiên, ngôn ngữ C# có ý nghĩa cao khi nó thực thi những khái niệm lập trình hiện đại C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phần component, lập trình hướng đối tượng Những tính chất đó hiện diện trong một ngôn ngữ lập trình hiện đại Và ngôn ngữ C# hội đủ những điều kiện như vậy, hơn nữa nó được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java Phần cốt lõi hay còn gọi là trái tim của bất cứ ngôn ngữ lập trình hướng đối tượng là sự hỗ trợ của nó cho việc định nghĩa và làm việc với những lớp Những lớp thì định nghĩa những kiểu dữ liệu mới, cho phép người phát triển
mở rộng ngôn ngữ để tạo mô hình tốt hơn để giải quyết vấn đề Ngôn ngữ C# chứa những từ khóa cho việc khai báo những kiểu lớp đối tượng mới và những phương thức hay thuộc tính của lớp, và cho việc thực thi đóng gói, kế thừa, và đa hình, ba thuộc tính cơ bản của bất cứ ngôn ngữ lập trình hướng đối tượng
Trong ngôn ngữ C# mọi thứ liên quan đến khai báo lớp điều được tìm thấy trong phần khai báo của nó Định nghĩa một lớp trong ngôn ngữ C# không đòi hỏi phải chia ra tập tin header và tập tin nguồn giống như trong ngôn ngữ C++ Hơn thế nữa, ngôn ngữ C# hỗ trợ kiểu XML, cho phép chèn các tag XML để phát sinh
Trang 14tự động các document cho lớp C# cũng hỗ trợ giao diện interface, nó được xem như một cam kết với một lớp cho những dịch vụ mà giao diện quy định Trong ngôn ngữ C#, một lớp chỉ có thể kế thừa từ duy nhất một lớp cha, tức là không cho
đa kế thừa như trong ngôn ngữ C++, tuy nhiên một lớp có thể thực thi nhiều giao diện Khi một lớp thực thi một giao diện thì nó sẽ cung cấp chức năng thực thi giao diện
Trong ngôn ngữ C#, những cấu trúc cũng được hỗ trợ, nhưng khái niệm về ngữ nghĩa của nó thay đổi khác với C++ Trong C#, một cấu trúc được giới hạn, là kiểu
dữ liệu nhỏ gọn, và khi tạo thể hiện thì nó yêu cầu ít hơn về hệ điều hành và bộ nhớ
so với một lớp Một cấu trúc thì không thể kế thừa từ một lớp hay được kế thừa nhưng một cấu trúc có thể thực thi một giao diện Ngôn ngữ C# cung cấp những đặc tính hướng thành phần (component-oriented), như là những thuộc tính, những
sự kiện Lập trình hướng thành phần được hỗ trợ bởi CLR cho phép lưu trữ metadata với mã nguồn cho một lớp Metadata mô tả cho một lớp, bao gồm những phương thức và những thuộc tính của nó, cũng như những sự bảo mật cần thiết và những thuộc tính khác Mã nguồn chứa đựng những logic cần thiết để thực hiện những chức năng của nó Do vậy, một lớp được biên dịch như là một khối self-contained, nên môi trường hosting biết được cách đọc metadata của một lớp và mã nguồn cần thiết mà không cần những thông tin khác để sử dụng nó Một lưu ý cuối cùng về ngôn ngữ C# là ngôn ngữ này cũng hỗ trợ việc truy cập bộ nhớ trực tiếp sử dụng kiểu con trỏ của C++ và từ khóa cho dấu ngoặc [ ] trong toán tử Các mã nguồn này là không an toàn (unsafe) Và bộ giải phóng bộ nhớ tự động của CLR sẽ không thực hiện việc giải phóng những đối tượng được tham chiếu bằng sử dụng con trỏ cho đến khi chúng được giải phóng
Trang 151.4.1 Cách khai báo, các câu lệnh thường sử dụng
Khai báo biến: kiểu tên_biến;
Vd: string chuoi;
Int giatri;
Lệnh rẽ nhánh if – if else
If (điều kiện) {
//thực hiện công việc }
If (điều kiện) {
//thực hiện công việc 1 }
else {
//thực hiện công việc 2 }
Lệnh for
VD: string giatri;
For ( int i=0,i<10,i++)
giatri +=To.string();
Trang 161.4.2 Lớp, thủ tục và hàm
Cũng như các ngôn ngữ lập trình khác, C Sharp (C#) cho phép người dùng định nghĩa và sử dụng các thủ tục và hàm để tiện dụng hơn trong khi viết chương trình
Để kết nối dữ liệu, gọi các hàm, các thủ tục thuận tiện hơn người ta xây dựng các lớp để chứa các hàm, thủ tục Sau đây là lớp chứa các thủ tục, các hàm kết nối cơ sở dữ liệu, và các hàm được sử dụng trong suốt quá trình thực hiện đề tài:
public class CKetnoi
public DataTable tb = new DataTable ();
public DataSet ds = new DataSet ();
//hàm load dữ liệu lên datatable
public DataTable load_DataTable( string sql, string ten_table)
Trang 17//hàm load dữ liệu lên dataset
public DataSet load_DataSet( string sql, string ten_table)
//hàm thực thi các câu lệnh Insert, Update, Delete
public bool ThucThi_SQLCommand( string sql)
//kiem tra du lieu
public bool Kiem_Tra_DL( string sql)
Trang 18//hàm đọc dữ liệu lên SqlDataReader
public SqlDataReader Load_DataReader( string sql)
//hàm xử lý load dữ liệu lên Gridview
public void hienthi_Gridview( GridView gridview, DataTable dt)
{
gridview.DataSource = dt;
gridview.DataBind();
}
//hàm xử lý load dữ liệu lên Detailview
public void hienthi_Detailview( DetailsView Detailview, DataTable dt)
{
Detailview.DataSource = dt;
Detailview.DataBind();
}
//hàm xử lý load dữ liệu lên Datalist
public void hienthi_DataList( DataList Datalist, DataTable dt)
{
Datalist.DataSource = dt;
Datalist.DataBind();
}
//hàm xử lý load dữ liệu lên Dropdowlist
public void hienthi_Dropdowlist( DropDownList drop, DataTable dt, string ten, string ma)
{
}
//hàm xử lý phân trang cho control hiển thị dữ liệu lên datalist
public int TongSoTrang = 0;
public void PhanTrang_DL( int trang, DataList dtl, DataTable dt, int SoDongMoiTrang)
Trang 20Chương 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.1 Sơ đồ chức năng tổng quát
Hệ thống gồm các tác nhân: người quản trị (admin) và khách (Guest)
Bảng điểm
DS lớp
Thông báo Ngành học
Lịch thi
Trang 21Tên chức năng Tìm kiếm
Tác nhân chính Người duyệt web thông thường
Người chịu trách nhiệm
Tiền điều kiện Hệ thống website đã được khởi động
Đảm bảo tối thiểu Hệ thống thông báo nội dung tìm kiếm không tồn
2 Người dùng nhập thông tin tìm kiếm và nhấn mục cần tìm
3 Hệ thống kiểm tra thông tin tìm kiếm và xác nhận hợp lệ
4 Hệ thống so sánh thông tin tìm kiếm với csdl
5 Hệ thống thông báo tìm kiếm thành công
6 Hệ thống hiện thị thông tin tìm kiếm cho người dùng xem
7 Người dùng thoát khỏi chức năng tìm kiếm
Ngoại lệ:
3 Hệ thống thông báo thông tin tìm kiếm không hợp lệ
- Hệ thống yêu cầu người dùng nhập thông tin tìm kiếm lại
- Người dùng thực hiện nhập thông tin tìm kiếm lại
5 Tìm kiếm không thành công
- Thông tin tìm kiếm không tồn tại trong csdl
- Hệ thống thông báo cho người dùng thông tin tìm kiếm không tồn tại trong csdl
- Người dùng thoát khỏi chức năng tìm kiếm
Trang 22Người chịu trách nhiệm
Tiền điều kiện Hệ thống website đã được khởi động
Đảm bảo tối thiểu Hệ thống loại bỏ thông tin đăng nhập sai
Đảm bảo thành công Admin sẽ được vào hệ thống theo quyền đăng
nhập Kích hoạt Admin chọn chức năng đăng nhập trong menu Chuỗi sự kiện chính:
1 Hệ thống hiện thị form đăng nhập và yêu cầu admin nhập thông tin vào
2 Admin nhập thông tin tài khoản và nhấn nút Đăng nhập
3 Hệ thống kiểm tra thông tin đăng nhập và xác nhận hợp lệ
Đăng nhập
Đổi mật khẩu
Tìm mật khẩu
Đăng ký
Trang 234 Hệ thống so sánh thông tin đăng nhập với csdl
5 Hệ thống thông báo đăng nhập thành công
6 Admin thoát khỏi chức năng đăng nhập
Ngoại lệ:
3 Hệ thống thông báo thông tin đăng nhập không hợp lệ
- Hệ thống yêu cầu admin đăng nhập lại
- Admin thực hiện đăng nhập lại
4 Đăng nhập không thành công
- Thông tin tài tài khoản không tồn tại trong csdl
- Admin thoát khỏi chức năng đăng nhập
2.3.2 Chức năng cập nhật thông tin
Người sử dụng
Trang 242.3.2.1 Cập nhật ngành học
Hình 3.5 Chức năng cập nhật ngành học 2.3.2.1.1 Chức năng insert ngành học:
Người chịu trách nhiệm
Tiền điều kiện Admin đã đăng nhập vào hệ thống website
Đảm bảo tối thiểu Hệ thống loại bỏ thông tin trùng và quay về trước Đảm bảo thành công Thông tin ngành học sẽ được thêm vào csdl
Kích hoạt Admin chọn chức năng cập nhật ngành học trong
menu Chuỗi sự kiện chính:
1 Hệ thống hiện thị form cập nhật ngành học và yêu cầu admin chọn khoa cần thêm ngành học
2 Hệ thống yêu cầu admin nhập thông tin ngành học
3 Admin nhập thông tin ngành học và nhấn nút Thêm
Sửa
Ngành học
Thêm
Xóa
Trang 254 Hệ thống kiểm tra thông tin ngành học và xác nhận hợp lệ
5 Hệ thống so sánh thông tin khoa và ngành học với csdl
6 Hệ thống thông báo insert ngành học thành công
7 Người dùng thoát khỏi chức năng cập nhật ngành học
Ngoại lệ:
4 Hệ thống thông báo thông tin ngành học không hợp lệ
- Hệ thống yêu cầu admin nhập lại thông tin ngành học
- Admin thực hiện nhập lại thông tin ngành học
6 Insert ngành học không thành công
- Thông tin ngành học thuộc khoa đã chọn có tồn tại trong csdl
- Admin thoát khỏi chức năng cập nhật ngành học
2.3.2.1.2 Chức năng delete ngành học:
Người chịu trách nhiệm
Tiền điều kiện Admin đã đăng nhập vào hệ thống website
Đảm bảo tối thiểu Hệ thống yêu cầu admin delete lại ngành học khi
delete không thành công Đảm bảo thành công Thông tin ngành học sẽ được delete khỏi csdl Kích hoạt Admin chọn chức năng cập nhật ngành học trong
menu Chuỗi sự kiện chính:
1 Hệ thống hiện thị form cập nhật ngành học và yêu cầu admin chọn khoa cần delete ngành học
2 Hệ thống yêu cầu admin chọn ngành học cần delete
3 Admin chọn ngành học cần delete và nhấn Xóa
4 Hệ thống kiểm tra thông tin ngành học cần delete và xác nhận hợp lệ
Trang 265 Hệ thống so sánh thông tin khoa và ngành học cần delete với csdl
6 Hệ thống thông báo delete ngành học thành công
7 Người dùng thoát khỏi chức năng cập nhật ngành học
Ngoại lệ:
4 Hệ thống thông báo thông tin ngành học cần delete không hợp lệ
- Hệ thống yêu cầu admin chọn lại ngành học cần delete
- Admin thực hiện chọn lại ngành học cần delete
6 Delete ngành học không thành công
- Thông tin ngành học thuộc khoa đã chọn không tồn tại trong csdl
- Admin thoát khỏi chức năng cập nhật ngành học
2.3.2.1.3 Chức năng update ngành học:
Người chụi trách nhiệm
Tiền điều kiện Admin đã đăng nhập vào hệ thống website
Đảm bảo tối thiểu Hệ thống yêu cầu admin update lại ngành học khi
update không thành công Đảm bảo thành công Thông tin ngành học sẽ được update lại trong
csdl
Kích hoạt Admin chọn chức năng cập nhật ngành học trong
menu Chuỗi sự kiện chính:
1 Hệ thống hiện thị form cập nhật ngành học và yêu cầu admin chọn khoa cần update ngành học
2 Hệ thống yêu cầu admin chọn ngành học cần update
3 Admin chọn ngành học cần update
4 Admin nhập thông tin ngành học mới và nhấn nút Cập nhật
Trang 275 Hệ thống kiểm tra thông tin ngành học mới và xác nhận hợp lệ
6 Hệ thống so sánh thông tin khoa và ngành học mới với csdl
7 Hệ thống thông báo update ngành học thành công
8 Người dùng thoát khỏi chức năng cập nhật ngành học
Ngoại lệ:
5 Hệ thống thông báo thông tin ngành học mới không hợp lệ
- Hệ thống yêu cầu admin nhập lại thông tin ngành học
- Admin thực hiện nhập lại thông tin ngành học
7 Update ngành học không thành công
- Thông tin ngành học thuộc khoa đã chọn cần update không tồn tại trong csdl
- Admin thoát khỏi chức năng cập nhật ngành học
Trang 282.3.2.1.1 Chức năng insert lớp học:
Người chịu trách nhiệm
Tiền điều kiện Admin đã đăng nhập vào hệ thống website
Đảm bảo tối thiểu Hệ thống loại bỏ thông tin trùng và quay về trước Đảm bảo thành công Thông tin lớp học sẽ được insert vào csdl
Kích hoạt Admin chọn chức năng cập nhật lớp học trong
menu Chuỗi sự kiện chính:
1 Hệ thống hiện thị form cập nhật lớp học và yêu cầu admin chọn ngành học cần thêm lớp học
2 Hệ thống yêu cầu admin nhập thông tin lớp học
3 Admin nhập thông tin lớp học và nhấn nút lệnh Thêm
4 Hệ thống kiểm tra thông tin lớp học và xác nhận hợp lệ
5 Hệ thống so sánh thông tin ngành học và lớp học với csdl
6 Hệ thống thông báo insert lớp học thành công
7 Người dùng thoát khỏi chức năng cập nhật lớp học
Ngoại lệ:
4 Hệ thống thông báo thông tin lớp học không hợp lệ
- Hệ thống yêu cầu admin nhập lại thông tin lớp học
- Admin thực hiện nhập lại thông tin lớp học
6 Insert lớp học không thành công
- Thông tin lớp học thuộc ngành học đã chọn có tồn tại trong csdl
- Admin thoát khỏi chức năng cập nhật lớp học
Trang 292.3.2.1.2 Chức năng delete lớp học:
Người chịu trách nhiệm
Tiền điều kiện Admin đã đăng nhập vào hệ thống website
Đảm bảo tối thiểu Hệ thống yêu cầu admin delete lại lớp học khi
delete không thành công
Đảm bảo thành công Thông tin lớp học sẽ được delete khỏi csdl
Kích hoạt Admin chọn chức năng cập nhật lớp học trong
menu Chuỗi sự kiện chính:
1 Hệ thống hiển thị form cập nhật lớp học và yêu cầu admin chọn ngành học cần delete lớp học
2 Hệ thống yêu cầu admin chọn lớp học cần delete
3 Admin chọn lớp học cần delete và nhấn Xóa
4 Hệ thống kiểm tra thông tin lớp học cần delete và xác nhận hợp lệ
5 Hệ thống so sánh thông tin ngành học và lớp học cần delete với csdl
6 Hệ thống thông báo delete lớp học thành công
7 Người dùng thoát khỏi chức năng cập nhật lớp học
Ngoại lệ:
4 Hệ thống thông báo thông tin lớp học cần delete không hợp lệ
- Hệ thống yêu cầu admin chọn lại lớp học cần delete
- Admin thực hiện chọn lại lớp học cần delete
6 Delete lớp học không thành công
- Thông tin lớp học cần delete thuộc ngành học đã chọn không tồn tại trong csdl
- Admin thoát khỏi chức năng cập nhật lớp học
Trang 302.3.2.1.3 Chức năng update lớp học:
Người chịu trách nhiệm
Tiền điều kiện Admin đã đăng nhập vào hệ thống website
Đảm bảo tối thiểu Hệ thống yêu cầu admin update lại lớp học khi
update không thành công
Đảm bảo thành công Thông tin lớp học sẽ được update lại trong csdl Kích hoạt Admin chọn chức năng cập nhật lớp học trong
menu Chuỗi sự kiện chính:
1 Hệ thống hiện thị form cập nhật lớp học và yêu cầu admin chọn ngành học cần update lớp học
2 Hệ thống yêu cầu admin chọn lớp học cần update
3 Admin chọn lớp học cần update
4 Admin thực hiện nhập thông tin lớp học mới và nhấn nút Cập nhật
5 Hệ thống kiểm tra thông tin lớp học mới và xác nhận hợp lệ
6 Hệ thống so sánh thông tin ngành học và lớp học mới với csdl
7 Hệ thống thông báo update lớp học thành công
8 Người dùng thoát khỏi chức năng cập nhật lớp học
Ngoại lệ:
5 Hệ thống thông báo thông tin lớp học mới không hợp lệ
- Hệ thống yêu cầu admin nhập lại thông tin lớp học
- Admin thực hiện nhập lại thông tin lớp học
6 Update lớp học không thành công
- Thông tin lớp học cần update thuộc ngành học đã chọn không tồn tại trong csdl
- Admin thoát khỏi chức năng cập nhật lớp học
Trang 312.3.2.1 Cập nhật sinh viên
Hình 3.7 Chức năng cập nhật sinh viên
2.3.2.1.1 Chức năng insert sinh viên:
Tên chức năng Insert sinh viên
Người chịu trách nhiệm
Tiền điều kiện Admin đã đăng nhập vào hệ thống website
Đảm bảo tối thiểu Hệ thống loại bỏ thông tin trùng và quay về trước Đảm bảo thành công Thông tin sinh viên sẽ được thêm vào csdl
Kích hoạt Admin chọn chức năng cập nhật sinh viên trong
menu Chuỗi sự kiện chính:
1 Hệ thống hiện thị form cập nhật sinh viên và yêu cầu admin chọn lớp học
Sửa
Sinh viên
Thêm
Xóa
Trang 32cần insert sinh viên
2 Hệ thống yêu cầu admin nhập thông tin sinh viên
3 Admin thực hiên nhập thông tin sinh viên và nhấn Thêm
4 Hệ thống kiểm tra thông tin sinh viên và xác nhận hợp lệ
5 Hệ thống so sánh thông tin lớp học và sinh viên với csdl
6 Hệ thống thông báo insert sinh viên thành công
7 Người dùng thoát khỏi chức năng cập nhật sinh viên
Ngoại lệ:
4 Hệ thống thông báo thông tin sinh viên không hợp lệ
- Hệ thống yêu cầu admin nhập lại thông tin sinh viên
- Admin thực hiện nhập lại thông tin sinh viên
6 Insert sinh viên không thành công
- Thông tin sinh viên đã tồn tại trong csdl
- Admin thoát khỏi chức năng cập nhật sinh viên
2.3.2.1.2 Chức năng delete sinh viên:
Tên chức năng Delete sinh viên
Người chịu trách nhiệm
Tiền điều kiện Admin đã đăng nhập vào hệ thống website
Đảm bảo tối thiểu Hệ thống yêu cầu delete sinh viên lại khi delete
không thành công
Đảm bảo thành công Thông tin sinh viên sẽ được delete khỏi csdl
Kích hoạt Admin chọn chức năng cập nhật sinh viên trong
menu Chuỗi sự kiện chính:
1 Hệ thống hiện thị form cập nhật sinh viên và yêu cầu admin chọn lớp học cần delete sinh viên
2 Hệ thống yêu cầu admin chọn sinh viên cần delete
Trang 333 Admin thực hiên chọn tin sinh viên và nhấn Xóa
4 Hệ thống kiểm tra thông tin sinh viên và xác nhận hợp lệ
5 Hệ thống so sánh thông tin lớp học và sinh viên với csdl
6 Hệ thống thông báo delete sinh viên thành công
7 Người dùng thoát khỏi chức năng cập nhật sinh viên
Ngoại lệ:
4 Hệ thống thông báo thông tin sinh viên không hợp lệ
- Hệ thống yêu cầu admin chọn lại sinh viên cần delete
- Admin thực hiện chọn lại sinh viên cần delete
6 Delete sinh viên không thành công
- Thông tin sinh viên không tồn tại trong csdl
- Admin thoát khỏi chức năng cập nhật sinh viên
2.3.2.1.3 Chức năng update sinh viên:
Người chịu trách nhiệm
Tiền điều kiện Admin đã đăng nhập vào hệ thống website
Đảm bảo tối thiểu Hệ thống yêu cầu admin update lại sinh viên khi
update không thành công
Đảm bảo thành công Thông tin sinh viên sẽ được update lại trong csdl Kích hoạt Admin chọn chức năng cập nhật sinh viên trong
menu Chuỗi sự kiện chính:
1 Hệ thống hiện thị form cập nhật sinh viên và yêu cầu admin chọn lớp học cần update sinh viên
2 Hệ thống yêu cầu admin chọn sinh viên cần update
3 Admin thực hiên chọn sinh viên cần update
Trang 344 Admin thực hiên nhập thông tin sinh viên mới và nhấn Cập nhật
5 Hệ thống kiểm tra thông tin sinh viên và xác nhận hợp lệ
6 Hệ thống so sánh thông tin lớp học và sinh viên với csdl
7 Hệ thống thông báo update sinh viên thành công
8 Người dùng thoát khỏi chức năng cập nhật sinh viên
Ngoại lệ:
5 Hệ thống thông báo thông tin sinh viên không hợp lệ
- Hệ thống yêu cầu admin nhập lại thông tin sinh viên
- Admin thực hiện nhập lại thông tin sinh viên
6 Update sinh viên không thành công
- Thông tin sinh viên cần update không tồn tại trong csdl
- Admin thoát khỏi chức năng cập nhật sinh viên
Trang 352.3.2.1.1 Chức năng insert môn học
Người chịu trách nhiệm
Tiền điều kiện Admin đã đăng nhập vào hệ thống website
Đảm bảo tối thiểu Hệ thống loại bỏ thông tin trùng và quay về trước Đảm bảo thành công Thông tin môn học sẽ được insert vào csdl
Kích hoạt Admin chọn chức năng cập nhật môn học trong
menu Chuỗi sự kiện chính:
1 Hệ thống hiện thị form cập nhật môn học và yêu cầu admin nhập thông tin môn học
2 Admin thực hiên nhập thông tin môn học và nhấn Thêm
3 Hệ thống kiểm tra thông tin môn học và xác nhận hợp lệ
4 Hệ thống so sánh thông tin môn học với csdl
5 Hệ thống thông báo insert môn học thành công
6 Người dùng thoát khỏi chức năng cập nhật môn học
Ngoại lệ:
3 Hệ thống thông báo thông tin môn học không hợp lệ
- Hệ thống yêu cầu admin nhập lại thông tin môn học
- Admin thực hiện nhập lại thông tin môn học
5 Insert môn học không thành công
- Thông tin môn học đã tồn tại trong csdl
- Admin thoát khỏi chức năng cập nhật môn học
Trang 362.3.2.1.2 Chức năng delete môn học:
Người chịu trách nhiệm
Tiền điều kiện Admin đã đăng nhập vào hệ thống website
Đảm bảo tối thiểu Hệ thống yêu cầu admin delete lại môn học khi
delete không thành công
Đảm bảo thành công Thông tin môn học sẽ được delete khỏi csdl
Kích hoạt Admin chọn chức năng cập nhật môn học trong
menu Chuỗi sự kiện chính:
1 Hệ thống hiện thị form cập nhật môn học và yêu cầu admin chọn môn học cần delete
2 Admin thực hiên chọn môn học và nhấn Xóa
3 Hệ thống kiểm tra thông tin môn học và xác nhận hợp lệ
4 Hệ thống so sánh thông tin môn học với csdl
5 Hệ thống thông báo delete môn học thành công
6 Người dùng thoát khỏi chức năng cập nhật môn học
Ngoại lệ:
3 Hệ thống thông báo thông tin môn học không hợp lệ
- Hệ thống yêu cầu admin chọn lại môn học
- Admin thực hiện chọn lại môn học
5 Delete môn học không thành công
- Thông tin môn học không tồn tại trong csdl
- Admin thoát khỏi chức năng cập nhật môn học