摘要:該文將學(xué)生成績管理系統(tǒng)劃分為三個(gè)功能模塊:管理員管理模塊,教師成績錄入模塊,學(xué)生成績查詢模塊。并采用三層架構(gòu)來設(shè)計(jì)系統(tǒng)。在SQL server Management 2005中通過新建查詢的方式建立數(shù)據(jù)庫,在Visual studio 2010環(huán)境下,編寫C#語言加以實(shí)現(xiàn)。
關(guān)鍵詞:ASP.NET;成績管理;C#;三層架構(gòu);SQL數(shù)據(jù)庫
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2013)04-0679-04
Design on a Student Score Management System Based on ASP.NET
YU Lu
(Department of Computer Science and Technology, Nanjing Normal University, Nanjing 210000, China)
Abstract: This paper divides student score management system into three independent functional modules:administrator management module, teacher input score module, and student query score module,and uses three-tier architecture to design system. In SQL server Management 2005,this paper creates database by newing query , in the Visual Studio 2010 environment, this paper uses C# language to achieve system functions .
Key words: ASP.NET; score management; C#; three-tier architecture
學(xué)生成績管理工作是教育管理工作中非常重要的一項(xiàng),然而傳統(tǒng)的手工管理方式下教師的工作量往往非常大,學(xué)生查詢成績時(shí)也會受到各種因素的限制,此外手工管理不便于學(xué)生信息規(guī)范化和系統(tǒng)化。隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展,利用計(jì)算機(jī)在線管理系統(tǒng),方便教師管理成績、學(xué)生查詢成績、師生了解教務(wù)新聞,從而大大提高學(xué)生成績管理的效率。
1 系統(tǒng)需求
本文的系統(tǒng)用戶可以分為:管理員,教師,學(xué)生。
系統(tǒng)所需實(shí)現(xiàn)的功能:
①管理員管理系統(tǒng)用戶的信息,具體包括對教師,學(xué)生信息的增加,刪除和修改。
②管理員管理行政信息,具體包括對學(xué)院,班級信息的增加,刪除和修改。
③管理員管理教務(wù)信息,具體包括對課程、教務(wù)新聞信息的增加,刪除和修改。
④教師管理學(xué)生成績的錄入,修改和查詢。
⑤學(xué)生查詢成績,課程信息。
2 數(shù)據(jù)庫的設(shè)計(jì)
數(shù)據(jù)庫:SQL數(shù)據(jù)庫
設(shè)計(jì)語言:SQL
設(shè)計(jì)平臺:SQL server Management 2005
2.1表的建立
在SQL Server Management 2005中用create 語句建立如下表格:
2.2表之間的聯(lián)系(外鍵約束)
在SQL server Management2005中為各表中相關(guān)聯(lián),且為NOT NULL的字段建立外鍵約束,如下所示:
alter table score add constraint fk_no foreign key (no) references student(no) ;
alter table score add constraint fk_course foreign key (courseno)references course(no) ;
alter table student add constraint fk_class foreign key (class)references class(no) ;
alter table student add constraint fk_dep foreign key (dep)references dep(name) ;
2.3存儲過程
在SQL Server Management 2005中用create procedure語句建立存儲過程,示例如下:
1)查詢某學(xué)期某一同學(xué)的所有成績
create proc sp_display
@no char(8),@xueqi char(20)
as
begin
select b.no as '課程代碼',b.name as '課程名',c.grade as '成績'
from student a,course b,score c
where a.no=c.no and c.courseno=b.no and a.no=@no and b.xueqi=@xueqi
end
調(diào)用存儲過程:
exec sp_display '19100201','5'
2)查詢某班某學(xué)期開設(shè)的所有課程(課程代碼、課程名)
創(chuàng)建存儲過程
create proc sp_display2
@class char(3),@xueqi char(20)
as
begin
select distinct b.no as'課程代碼',b.name as'課程名'
from student a,course b,score c
where a.no=c.no and c.courseno=b.no and a.class=@class and b.xueqi=@xueqi
end
調(diào)用存儲過程
exec sp_display2 '191002','5'
3 系統(tǒng)的設(shè)計(jì)結(jié)構(gòu)
采用經(jīng)典的三層設(shè)計(jì)架構(gòu),分別為:表示層設(shè)計(jì)、業(yè)務(wù)邏輯層設(shè)計(jì)、數(shù)據(jù)訪問層設(shè)計(jì),提高了應(yīng)用程序內(nèi)部的聚合度,降低了應(yīng)用程序的耦合度。
3.1三層構(gòu)架的表現(xiàn)
3.1.1表示層設(shè)計(jì)(UI)
1)采用DIV+CSS布局技術(shù),展現(xiàn)結(jié)構(gòu)和表現(xiàn)的分離,方便日后網(wǎng)站的維修和升級。
2)采用模板頁和內(nèi)容頁相結(jié)合技術(shù),對頁面進(jìn)行集中處理,使得前臺頁面格調(diào)統(tǒng)一協(xié)調(diào)。
3.1.2業(yè)務(wù)邏輯層設(shè)計(jì)(BLL)
業(yè)務(wù)邏輯層連接表示層和數(shù)據(jù)訪問層。
3.1.3數(shù)據(jù)訪問層設(shè)計(jì)(DAL)
建立一個(gè)DBHelper類,用來定義訪問數(shù)據(jù)庫的方法,在.aspx文件中創(chuàng)建該類的對象,并調(diào)用其方法。
3.2核心代碼
DBHelper類的定義:
public class DBHelper : System.Web.UI.Page
{String strConn;//定義變連接字符串
public DBHelper()
{strConn =
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
}
//類的方法的定義:
public int Method(String procedureName,String parameter)
{DataSet ds = new DataSet();
SqlConnection Conn = new SqlConnection(strConn);
if (Conn.State!=ConnectionState.Open)
{Conn.Open();
}
SqlDataAdapter Cmd = new SqlDataAdapter(strSql, Conn);
Cmd.CommandType=CommandType.StoredProcedure;(下轉(zhuǎn)第685頁)
(上接第682頁)
Cmd.Parameters.Add(“@parameter”);
Cmd.Parameters["@parameter"].Value=parameter;
Cmd.ExecuteNonQuery();
Conn.Close();
return 0;
}
.aspx文件通過構(gòu)造DBHelper類來訪問數(shù)據(jù)庫:
private void Page_Load(object sender, System.EventArgs e)
{DBHeper helper=new DBHeper();
String parameter=TextBox_no.Text.ToString();
DataSet MyDataSet=new DataSet();
helper.method(“sp_display”,parameter);
}
4 總結(jié)
本文實(shí)現(xiàn)了在線學(xué)生成績管理系統(tǒng)的基本功能,提高了學(xué)生成績管理工作的效率。然而,基于三層架構(gòu)的設(shè)計(jì)使得本能夠直接訪問數(shù)據(jù)庫的業(yè)務(wù)必須通過中間層,不可避免的導(dǎo)致了系統(tǒng)性能的降低。
參考文獻(xiàn):
[1] 鄭阿奇.ASP.NET3.5實(shí)用教程[M].北京:電子工業(yè)出版社,2011.
[2] 顧兵.數(shù)據(jù)庫技術(shù)與應(yīng)用[M].北京:清華大學(xué)出版社,2010.
[3] 周姝,張慧茹.基于VB的學(xué)生成績檔案管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J],計(jì)算機(jī)光盤軟件應(yīng)用系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),2012(21):229-230.