课程设计报告书模板.docx
《课程设计报告书模板.docx》由会员分享,可在线阅读,更多相关《课程设计报告书模板.docx(17页珍藏版)》请在冰点文库上搜索。
课程设计报告书模板
湖北教育学院
ASP.NET课程设计报告书
题目:
餐饮管理系统
专业:
计算机网络技术
班级:
2011级
姓名:
学号:
设计时间:
2013-09-13
1.系统分析
1.1需求分析
(系统的总体性能要求和各个模块的功能要求,)
1.2可行性分析
1.3项目计划书
2.系统数据库与数据表设计
2.1数据库概念设计数据表设计
2.2数据表逻辑关系
2.3数据表设计
3.系统设计与实现
3.1系统目标
3.2系统功能结构
3.3系统业务流程图
3.4系统页面组织
3.5系统模块1的设计与实现(以下,一一叙述你所实现的功能的设计与实现
4.总结
1.需求分析
(主要内容包括本课题完成系统的功能描述,性能要求和输入输出要求、系统软硬件运行环境及开发工具。
有全组共同的可一致,对于个人自己负责的部分可单独描述。
)
✧我们所设计的学生信息管理系统包括用户登录和注册、课程信息管理功、学生信息管理功、学生成绩管理这四个模块,这四个模块的功能需要结合Visualstudio的集成开发环境以及SQL2008数据库软件实现
✧用户登录和注册主要实现两个功能:
①验证用户的信息是否合理,以及验证用户是否为系统的合法用户②如果没有用户可以合法登录,必须注册后才能登录
✧课程信息管理模块要实现对课程信息的添加、修改、删除的功能
✧学生信息模块主要实现对学生信息的添加、修改、删除、刷新、查询。
✧学生成绩管理模块主要实现对学生成绩进行管理的功能,如学生成绩的”添加”、”修改”是在输入姓名、学号、课程之后管理员在后台能够对成绩进行”添加”、“修改”,而一般的用户则不能实现对学生成绩进行”添加”、”修改”,”刷新”按钮则是对页面进行重新加载,防止”添加”、”修改”学生成绩时页面没有进行及时的响应,因此加入了”刷新”按钮来解决此问题,"课程名称”的获取是通过对数据库表”course”列值的动态获取,最后通过“返回”按钮回到学生信息管理主界面。
✧在数据库SQL2008当中创好数据库student,在student表中创建Course表、student表、
loginInfo表、score表。
✧在VisualStudio2010利用不同的控件设计系统界面,如下图。
3.系统设计
(主要叙述本课题设计中主要功能模块(全组一致),个人设计实现的功能的流程图(个人自己描述)、数据库设计(全组可一致)、个人完成功能涉及到的类的设计——属性、方法(个人描述自己的),类的关系(若涉及到系统的,可全组一致,若涉及某个模块的可单独描述自己的)。
本系统主要包括用户登录和注册功能、课程信息管理功能、学生信息管理功能以及学生成绩管理等主要功能模块。
系统整体流程图:
学生成绩管理模块包括学生成绩添加、修改、刷新以及返回到主页面,设计图如下所示:
返回主页面
学生成绩管理流程图:
学生姓名
学生编号
添加学生成绩
课程成绩
课程名称
输入
返回主界面
成绩刷新
修改学生成绩
数据库设计:
综合以上分析,要实现上面的所有功能模块,主要设计表如下:
本模块所需表:
Score表
Student表
4.系统实现
(每个人自己完成的模块的相关的算法和主要代码)
学生成绩管理主界面:
实现此模块主要包含:
4个Lable标签,3个TextBox文本框,1个DropDownList下拉列表框,
1个GridView数据显示控件,以及四个Button按钮。
核心代码:
1.DropDownList下拉列表框主要是用来向数据库课程表动态取数据显示所有课程;在Page_Load事件中添加如下代码:
protectedvoidPage_Load(objectsender,EventArgse)
{
SqlConnectionmyconnection=newSqlConnection("server=.;"+"database=student;Trusted_Connection=Yes");
SqlDataAdaptermyCommand=newSqlDataAdapter("SELECT"+"*FROMcourse",myconnection);
DataSetds=newDataSet();
myCommand.Fill(ds);
DataViewsource=newDataView(ds.Tables[0]);
DropDownList1.DataSource=source;
DropDownList1.DataBind();
}
2.GridView控件主要是用来动态显示数据;自定义FillGridView方法,实现填充GridView控件的功能,代码如下:
privatevoidFillGridView()
{
SqlConnectioncon=newSqlConnection();
con.ConnectionString="DataSource=PC-20121005AWWE;InitialCatalog=student;IntegratedSecurity=True";
SqlCommandcmd=newSqlCommand();
cmd.CommandText="select*fromscore";
cmd.Connection=con;
SqlDataAdaptersda=newSqlDataAdapter();
sda.SelectCommand=cmd;
con.Open();
DataSetds=newDataSet();
sda.Fill(ds,"score");
con.Close();
this.GridView1.DataSource=ds;
this.GridView1.DataBind();
}
3.在Page_Load事件中,调用FillGridView()方法,代码如下:
protectedvoidPage_Load(objectsender,EventArgse)
{
this.FillGridView();
}
4.“添加”按钮用于添加学生成绩,“添加”按钮的Click事件中,用insert插入语句将成绩添加到数据库,其程序代码如下:
protectedvoidButton1_Click(objectsender,EventArgse)
{
if(this.TextBox1.Text==""||this.DropDownList1.Text==""||this.TextBox3.Text=="")
Response.Write("alert('信息不能为空,请必须全部填写!
’)");
else
{
SqlConnectioncon=newSqlConnection();
con.ConnectionString="DataSource=PC-20121005AWWE;InitialCatalog=student;IntegratedSecurity=True";
SqlCommandcmd=newSqlCommand();
cmd.CommandText="insertintoscorevalues('"+this.TextBox1.Text+"','"+this.TextBox4.Text+"','"+this.DropDownList1.Text+"','"+this.TextBox3.Text+"')";
cmd.Connection=con;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
5.“修改”按钮用于修改学生成绩,“修改”按钮的Click事件中,用update修改语句将成绩修改到数据库,其程序代码如下:
protectedvoidButton2_Click(objectsender,EventArgse)
{
if(this.TextBox1.Text==""||this.DropDownList1.Text==""||this.TextBox3.Text=="")
{
Response.Write("alter('信息不能为空,请必须全部填写!
')");
}
else
{
SqlConnectioncon=newSqlConnection();
con.ConnectionString="DataSource=PC-20121005AWWE;InitialCatalog=student;IntegratedSecurity=True";
SqlCommandcmd=newSqlCommand();
//cmd.CommandText="updatescoresetstuname="+this.TextBox1.Text+",course='"+this.DropDownList1.Text+"',mark='"+this.TextBox3.Text+"'wherestuid="+this.TextBox4.Text+"";
cmd.CommandText="updatescoresetmark='"+this.TextBox3.Text+"'wherestuid="+this.TextBox4.Text+"";
cmd.Connection=con;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
6.“刷新”按钮用于刷新学生成绩,实现对窗体刷新GridView控件的功能,代码如下:
protectedvoidButton4_Click(objectsender,EventArgse)
{
SqlConnectioncon=newSqlConnection();
con.ConnectionString="DataSource=PC-20121005AWWE;InitialCatalog=student;IntegratedSecurity=True";
SqlCommandcmd=newSqlCommand();
cmd.CommandText="select*fromscore";
cmd.Connection=con;
con.Open();
}
7.“返回”按钮用于跳转到学生信息管理的主界面,代码如下:
protectedvoidButton5_Click(objectsender,EventArgse)
{
Response.Redirect("UserLogin.aspx");
}
5.心得体会
(此部分每个人结合自己实际完成情况写,不得重复抄袭。
每个人根据自己完成系统的过程和实现结果,对自己所完成部分进行小结。
叙述在开发过程中遇到哪些问题和难点,是如何解决的。
通过此次开发过程,你的收获和经验教训是什么。
)
通过此次的项目合作,对于我所完成的学生成绩管理模板,我发现了很多的问题,例如用DropDownList下拉列表框控件向数据库表的某一列值怎样动态取数据,仅仅这一个问题就花了我一天半的时间才解决,周六一整天上网查资料,调试代码,可是总是存在问题,数据库的值总取不了,最后没办法,周日又跑到图书馆去查资料,最后终于找到关于DropDownLis动态取值的资料,通过调试终于正常取值了,可是当我解决这个问题之后,我发现好像又出现了一大堆的新问题,对于GridView控件怎样使它能按照我的要求进行显示数据,我发现这真的是一个非常难解决的问题,本来我想在成绩管理页面上添加一个“查询”按钮,实现单击“查询”按钮时能显示这个学生的所有科目成绩,我想这是一个不错的想法,使我的成绩管理模块能更加的完善,因此接下来的两天,我看了图书馆大部分关于GridView控件取值的方法,通过我的看书然后调试,仔细查看代码后才发现这些代码只需要将之前定义的FillGridView()方法中的一点点内容进行修改就能实现此功能,但是我却用了一天的时间才完成,最后值虽然取出来了,可是我却察觉虽然显示了科目成绩,但是却不是一个学生的科目成绩,而是所有学生的科目成绩,没想到最后这一天的功夫都白费了,但是我却深刻的领悟到做任何事除了要认真以外,更多的是不能心急,任何时候都要思维灵活,学会变通,最好能够举一反三,否则就会走弯路,明明很简单的东西最后花了时间但是却没得到想要的结果,这些仅仅只是我阐述的一小部分问题,还有一些其他的问题例如如何使用ListBox来选择学生所在年级,怎样让学生在跳转页面中的GridView控件上显示学生的所有课程成绩,这些看似不难的问题,却也不简单,说实话这次的作业真的让我学到了不少东西,以前一直觉得对于自己将来不会从事的职业就没有必要了解太多,也没有必要学得太好,但是通过这次的实验我却发现其实根本不是这样的,学专业学到的不仅仅是专业知识,更多的是思考问题、解决问题、自学的能力,而很多的问题则需要你自己真正认真的做了之后达到一定的高度,才会发现这些问题,甚至连吃饭睡觉的时候也会想着如何去解决这些问题,所以也很感谢老师,因为老师的严格要求,平时课讲的很好,所以我很喜欢,也很欣赏,希望老师能够一直继续坚持自己的原则下去,所以这是我大学以来所做的作业中最用心,最认真的一次,虽然整体效果并不是很好,但至少是自己真正用心做了的,感觉心里很踏实,也很骄傲,这次作业让我明白了很多的事情,除了专业知识以为的,还有对待人生、对待生活的态度。
6.参考文献
《ASP.NET系统开发网络应用》人民邮电出版社马军编著
《ASP.NET入门经典》清华大学出版社
《ASP.NET项目开发全程实录》清华大学出版社张领编著
《ASP.NET实例指南与高级应用》中国铁道出版社陈季编著
《ASP.NET高级程序设计》人民邮电出版社(美)麦克唐纳、佛里曼编著
《ASP.NET程序开发宝典(C#)》人民邮电出版社王小科、赵会东编著
《ASP.NETMVC高级编程》清华大学出版社(美)加洛韦等著
《ASP.NET典型模块与项目实战大全》清华大学出版社高宏等著
《ASP.NET开发实战1200例》清华大学出版社房大伟等编著
《亮剑ASP.NE项目开发案例导航》电子工业出版社丁士锋编著
《ASP.NET项目开发案例精粹》电子工业出版社炎士涛、陈文臣等编著
《ASP.NETWEB数据库开发教程》机械工业出版社宫继兵等著作
《ASP.NET网络程序设计教程》人民邮电出版社张恒等编著