软件工程课程设计报告.docx
- 文档编号:11143077
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:21
- 大小:349.34KB
软件工程课程设计报告.docx
《软件工程课程设计报告.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计报告.docx(21页珍藏版)》请在冰点文库上搜索。
软件工程课程设计报告
课程设计报告
学院:
江苏理工学院计算机工程学院
专业名称:
计算机科学与技术
课程设计科目
软件工程开发工具实践设计
学生姓名:
学号:
班级:
指导教师:
张俐
完成时间:
2013年6月
学生信息管理系统
1、设计任务与目标
学生档案管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有着手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生档案管理的效率。
因此,开发这样一套管理软件成为很有必要的事情。
现在我国的中小学校中档案的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
随着在校大学生人数的不断增加,教务系统的数量也不断的上涨,。
学校工作繁杂、资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。
并且这种传统的方式存在着很多的弊端,如:
保密性差、查询不便、效率低,很难维护和更新等。
然而,本系统针对以上缺点能够极大地提高学生信息管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。
所以如何自动高效地管理信息是这些年来许多人所研究的。
通过这个系统可以存储历届的学生档案,安全、高效,而且只需一到二名档案录入员即可操作系统,节省大量人力,还有就是可以迅速查到所需信息。
二、方案设计与论证
1、系统整体规划设计
a、根据用户要求完成设计;
b、运用数据库SQL以及ASP完成系统要求;
c、最后生成网站、用户访问、维护。
2、系统需求分析
需求分析的任务是通过详细调查用户的各种需求,在此基础之上确定新系统的功能。
新系统还必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。
a、先以表格形式输入学生记录,直接在SQL表中创建表格或通过代码完成表格的创建;
b、学生信息表格完成后可以被用户进行访问;
c、用户进入系统后可以进行如下操作--查找原表中学生记录、插入新学生记录、删除原有学生记录以及进行原有学生记录的修改;
d、进行维护完善。
3、概念设计
本系统是对学生信息、奖惩信息、课程信息和成绩信息进行管理,主要包括添加、修改和删除学生的基本信息、课程信息和成绩信息,对基本信息、成绩信息进行查询和统计操作,从而实现学生管理的自动化与计算机化。
为了方便操作,我们将系统主要划分为四个模块:
1.系统管理模块:
实现用户的登录及整个系统主窗体的管理。
2.基本信息管理模块:
实现学生基本信息的添加、修改、删除等操作。
3.成绩信息管理模块:
实现课程信息和成绩信息的添加、修改、删除等操作。
4.查询统计模块:
实现学生个人信息的查询及满足条件的班级的学生成绩的查询统计。
3、程序框图或流程图,程序清单与调用关系
所谓的概念结构设计,即是将需求分析得到的用户需求抽象为信息结构即概念模型的过程。
通过概念结构设计最终得到数据库的E-R模型,其主要步骤如下:
1.确定系统中存在的有用实体
根据需求分析,在学生信息管理系统中,需要完成学生基本信息、家庭信息、奖惩信息和成绩信息的管理。
我们可以很容易知道本系统中主要涉及学生、课程等实体。
2.确定实体之间联系的类型
实体之间联系主要存在三种,分别是:
一对一联系(1:
1),一对多联系(1:
N)和多对多联系(M:
N)。
根据需求分析,在学生信息管理系统中一个学生只能拥有一个家庭,一个家庭也只有一个孩子在班级中学习;一个学生可能有一条或多条奖惩信息;一个学生可以选修多门课程,一门课程也可以被多个不同的学生选修等。
因此,以上各实体之间存在如下关系:
学生:
家庭1:
1
学生:
奖惩1:
N
学生:
课程M:
N
3.将各个实体通过联系连接起来,形成简单的E-R图。
在信息系统中,后台数据存储的地位相当重要,数据库的设计是程序开发和设计的关键性工作。
设计合理的数据库能提高数据存储的效率,降低程序开发的难度,减缩软件开发的周期。
通过数据的需求分析得到的结果画出数据库E-R图,接着根据E-R图创建数据表及其数据对象,最后向数据库中添加数据。
这便是我们需要完成的数据库概念结构设计和数据库逻辑结构设计。
确定实体与联系的属性及码
学生实体E-R图如图2-3所示,包括学号、姓名、班级、性别、年龄、所在系等属性。
a、运用SQL完成学生信息的记录以及关系连接;
b、运用ASP完成数据库的连接;
c、在ASP中完成系统设计要求并测试;
d、生成网站进行联机访问;
e、最终进行完善进行总结。
4、逻辑设计
数据库与ASP连接
4、全部源程序清单
a、在SQL中完成表格的创建
SQL语句实现
数据表的创建:
(1)学生信息表创建:
CREATETABLEStudentInfo
(snoVARCHAR(10)PRIMARYKEY,
snameVARCHAR(20)NOTNULL,
classVARCHAR(30),
sexCHAR
(2),
ageSMALLINT,
、、、、、、
表格一
课程信息表创建:
CREATETABLECourseInfo
(cnochar(4)primarykey,
cnamevarchar(30)notnull,
ccreditsmallint,
chourssmallint
)
表格二
表格三
用户登录信息表创建:
CREATETABLEUserInfo(
usernochar(4)primarykey,
usernamevarchar(20)notnull,
passwordvarchar(20),
usertypevarchar(10)
)
完成关系图
b、连接数据库在ASP中进行网站编辑
学生信息管理系统运行后先点“系统管理”中的“系统登录”即可看到此界面,输入用户名和密码,验证正确后就可查看“学生信息编辑”、“成绩管理”、“查询统计”权力。
第一步显示全部学生记录
创建一个GridView表格并进行数据绑定将student数据库中的student表格显示其中的学生记录,并编辑列表将sno、sname、ssex、sage、sdept分别改成学号、姓名、性别、年龄、所在系。
在网站中显示如下
第二步进行查找
根据学号查找学生在student表中的记录
单一查询实现textbox显示以及GridView中的显示
新建label键、textbox键、button键和GridView键
注意:
GridView不需要数据绑定
进行如下编辑
双击button键进入student.aspx.cx页面输入如下代码
protectedvoidBtnSelect_Click(objectsender,EventArgse)
{
stringconStr="DataSource=DADI--20110826E;InitialCatalog=";
conStr=conStr+"student;IntegratedSecurity=True";
SqlConnectioncon=newSqlConnection(conStr);
con.Open();
SqlCommandcmd=newSqlCommand("select*fromstudentwhereSno='"+this.TxtSno.Text+"'",con);
SqlDataReaderdr=cmd.ExecuteReader();
if(dr.Read())
{
TxtSname.Text=dr["Sname"].ToString();
TextBox11.Text=dr["Ssex"].ToString();
TextBox10.Text=dr["Sage"].ToString();
TxtSdept.Text=dr["Sdept"].ToString();
}
else
{
Response.Write("");
}
dr.Close();
con.Close();
}
实现根据学号或姓名或所在系查询学生在student表中的记录。
新建label键、textbox键、button键和GridView键
并在GridView中的显示
进行如下编写
双击button键进行如下编写;
stringconStr="DataSource=DADI--20110826E;InitialCatalog=";
conStr=conStr+"student;IntegratedSecurity=True";
SqlConnectioncon=newSqlConnection(conStr);
con.Open();
SqlDataAdaptersda=newSqlDataAdapter("p_Qqq",con);
sda.SelectCommand.CommandType=CommandType.StoredProcedure;
sda.SelectCommand.Parameters.Add("@sno2",SqlDbType.VarChar,12).Value=this.TextBox4.Text;
sda.SelectCommand.Parameters.Add("@sname",SqlDbType.VarChar,20).Value=this.TextBox4.Text;
sda.SelectCommand.Parameters.Add("@sdept",SqlDbType.VarChar,20).Value=this.TextBox4.Text;
DataSetds=newDataSet();
sda.Fill(ds);
if(ds.Tables[0].Rows.Count==0)
{
Response.Write("");
}
else
{
this.GridView6.DataSource=ds;
this.GridView6.DataBind();
}
在SQL中新建查询,进行如下编写;
setANSI_NULLSON
setQUOTED_IDENTIFIERON
go
ALTERprocedure[dbo].[p_Qqq]
@sno2varchar(20),
@snamevarchar(20),
@sdeptvarchar(20)
as
select*fromstudentwhereSno=@sno2orSname=@snameorSdept=@sdept
例如:
输入姓名张逸凡则显示如下;
第三步插入记录
新建DetailsView表格实现表格直接插入数据;
新建label键、textbox键、button键;
并设计将DetailView表格进行数据绑定到student表格;
直接输入数据进行记录插入
双击button键进行如下编写
stringconStr="DataSource=DADI--20110826E;InitialCatalog=";
conStr=conStr+"student;IntegratedSecurity=True";
stringstr="insertintostudentvalues('";
str=str+this.TextBox5.Text+"','"+this.TextBox6.Text+"','"+this.TextBox7.Text+"','"+this.TextBox8.Text+"','"+this.TextBox9.Text+"')";
SqlConnectioncon=newSqlConnection(conStr);
con.Open();
SqlCommandcmd=newSqlCommand(str,con);
SqlDataReaderdr=cmd.ExecuteReader();
if(dr.Read())
{
TextBox5.Text=dr["Sno"].ToString();
TextBox6.Text=dr["Sname"].ToString();
TextBox7.Text=dr["Ssex"].ToString();
TextBox8.Text=dr["Sdept"].ToString();
TextBox9.Text=dr["Sage"].ToString();
}
dr.Close();
con.Close();
}
第三步进行数据删除
直接在表格中删除
新建GridView表格进行数据绑定,并设置高级选项;
运行时可以直接删除所选记录。
根据学号查询删除
双击button键进行如下编辑;
stringconStr="DataSource=DADI--20110826E;InitialCatalog=";
conStr=conStr+"student;IntegratedSecurity=True";
SqlConnectioncon=newSqlConnection(conStr);
con.Open();
stringcmdStr="deletefromstudentwheresno='"+this.TextBox1.Text+"'";
SqlCommandcmd=newSqlCommand(cmdStr,con);
try
{
cmd.ExecuteNonQuery();
Response.Write("");
}
catch(SqlExceptionsqle)
{
Response.Write("异常:
"+sqle.ToString());
}
finally
{
con.Close();
}
第四步修改记录
按要求修改例如:
输入学号修改所在系;
双击button键进行如下编写
stringconStr="DataSource=DADI--20110826E;InitialCatalog=";
conStr=conStr+"student;IntegratedSecurity=True";
SqlConnectioncon=newSqlConnection(conStr);
con.Open();
SqlCommandcmd=newSqlCommand("p_UpdateDept",con);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@sno",SqlDbType.VarChar,12).Value=this.TextBox2.Text;
cmd.Parameters.Add("@dept",SqlDbType.VarChar,20).Value=this.TextBox3.Text;
cmd.ExecuteNonQuery();
SqlDataAdaptersda=newSqlDataAdapter("select*fromstudent",con);
DataSetds=newDataSet();
sda.Fill(ds);
this.GridView2.DataSource=ds;
this.GridView2.DataBind();
直接修改由表格完成要求
进行数据绑定并选择高级选项编辑如上。
5、致谢
虽然只有短短的两个礼拜的时间,但让我学到了很多的东西,尤其是数据库方面的。
以前做实验都是按照步骤来的,自己几乎都没怎么动脑子。
然而这次,都是要自己来想,自己来做。
对visualstudio2005和SQLServer2005有了更加深刻的认识,并用#C结合visualstudio2005和SQLServer2005顺利的开发了这样的一个学生信息管理系统,我的课程设计取得了应有的效果。
张俐老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅,使我得到不少的提高,这对于我以后的学习有很大的帮助,在此感谢指导老师耐心的辅导。
其次,我也要感谢一下我的几位同学,他们总能在我需要他们的时候来帮助我,让我解决心中的疑惑,让我问题得到解决。
能够顺利完成课程设计课题,我们还要感谢计算机工程学院,给我们提供了良好实习和设计环境。
我在此对所有向我提供帮助的老师和同学致以最诚挚的敬意。
路漫漫其修远兮,吾将上下而求索。
愿在未来的学习中,以更加丰厚的成果来答谢曾经关心、帮助和支持过我的所有老师、同学和朋友们!
6、参考文献
(1)丁宝康:
《数据库实用教程》,清华大学出版社,2004年。
(2)汪诗林等:
《数据结构算法与应用》,机械工业出版社,2005年。
(3)王虎、张俊《管理信息系统》【M】武汉:
武汉理工大学出版社,2004.
(4)张海燕主编《软件工程导论》(第四版)【M】清华大学出版社2004.10
(5)汪杰汤倩《ASP动态网页编程》,人民邮电出版社,2006,7
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程设计 报告