51CTO下载工程 学生成绩管理系统 课程设计 大师兄.docx
《51CTO下载工程 学生成绩管理系统 课程设计 大师兄.docx》由会员分享,可在线阅读,更多相关《51CTO下载工程 学生成绩管理系统 课程设计 大师兄.docx(22页珍藏版)》请在冰豆网上搜索。
51CTO下载工程学生成绩管理系统课程设计大师兄
2008~2009学年第二学期《软件工程》实验报告
————学生信息管理系统
学生信息管理系统
引言
1、项目名称学生信息管理系统
2、项目背景随着经济的迅速发展,许多高校不断扩招,以达到国家需求,使学生数量不断增加,学生管理已成为学校管理中的重中之重。
传统学生管理办法是从学生的各人自然情况出发,对其进行管理,这种方法不但效率低,需要消耗大量人力,而且容易遗失,出差错。
提高学生管理的管理水平,优化资源,尽可能降低学校管理成本,成为大学势在必行的新课题。
学生管理系统是从学生管理的现状出发,根据学生管理的新要求进行开发设计的,他解决了学生管理信息量大,修改不方便,对一系列数据统计与分析花费时间长等问题,帮助学生管理人员有效的管理学生信息。
3、工作条件及约束由于要在课程实验的时间内完成,时间上不免有一些仓促
4、参考资料
系统总体设计方案
1、模块设计
通过对学生管理的研究与分析,本系统应具有以下功能模块
(1)系统首页模块:
显示学生信息,应用搜索引擎搜索学生信息,显示学生资料并可在此界面进行登录
(2)查询模块:
查询学生信息
(3)学生信息管理模块:
查看、添加、修改、删除学生信息
(4)班级信息管理模块:
查看、添加、修改、删除班级信息
(5)信息留言模块:
查看和增加留言信息
删除学生信息
2、代码设计
见附件
3、安全保密设计
系统的系统用户管理保证了只有授权的用户才能进入系统进行数据操作,而且对一些重要数据,系统设置为只有更高权限的人员方可读取或是操作。
系统安全保密性较高。
4、维护设计
由于系统较小没有外加维护模块,因为维护工作比较简单,仅靠数据库的一些基本维护措施即可。
可行性分析报告
随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。
管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。
随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。
面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。
通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。
管理信息系统(MIS)是分散的过程控制系统和信息管理技术结合形成的管控一体系系统。
本设计是大学学生管理信息系统,主要是学生基本情况,以及数据查询和信息反馈。
学生基本情况是一个庞大的数据库。
如果用一个表来收集这些信息,就会显得非常繁杂。
为了解决这些缺点,现把学生有关情况分为:
学生信息表、班级信息表、留言表来实现数据的采集。
学生信息管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
一、系统目标
在对现有系统和现状认真调查分析的基础上,明确了学生信息管理工作本身存在的问题和建立管理信息系统的初步要求,进一步研究确定新系统的目标如下:
1、按照管理信息系统的原理和方法,采用成熟的信息技术和手段,支持学生管理的全过程,加强成绩表中信息资源的管理和应用,提高教务工作的效率。
2、针对现代计算机广泛应用的情况以及数据的封闭性,学生信息管理系统基于Windows系统研制、设计和开发。
3、考虑经费等的原因,新系统使用PC机和现有其他打印设备以节省资金、降低成本。
二、可行性分析
经过调查、研究、分析、计算,在学生信息管理中的应用已经条件成熟,我们将从以下几个方面总结系统开发的可行性,具体情况如下:
1、技术可行性
以Windows为操作系统,运用SQLServer的数据库技术,开发以Windows9x为用户的操作平台,界面友善、功能齐全的《学生系统管理系统》。
新系统的运行硬件环境PC机,当用户使用系统时,通过正确的口令进入系统,进行数据库的维护操作和运用。
2、经济可行性
一方面,新系统中友好的人机界面和更强劲的功能支持,会使教务人员的工作进一步提高,从而节省人力、物力,进而提高经济效益;另一方面系统开发成本低,现有PC机即可提供该系统开发工作需要的所有硬件设备环境,至于人员主要以现有教师为指导,学生为主体进行完成。
3、操作可行性
操作上是对Windows操作系统的引用,该系统的使用,主要凭借使用Windows操作技术即可完成数据录入,方便简单。
使用前只要对用户进行简单的说明或阅读帮助文件即可使用该系统。
需求分析
学校学生管理是中学教务管理中的一个极为重要的环节,它是整个中学管理的核心和基础。
由于学校规模进一步扩大,学生人数逐年上升,学生情况的管理也变得越来越复杂。
面对如此繁杂的任务。
如果让个人去管理文档,就会显得费时费力。
尤其在管理成绩时,任务更加繁重,就成绩管理本身来说,它是一项任务繁重、时效性较强的系统工作,它不但涉及学生个人成绩查询,更涉及到各教师的工作效率和质量。
近年来随着计算机的迅速发展,计算机已经在社会各个领域显示了它巨大的作用。
毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义。
通过调查及分析,本系统主要包括学生信息、班级信息和留言信息三部分。
其功能主要有:
1、学生信息的查询、增加、修改、删除
2、班级信息的查询、增加、修改、删除
3、留言的查询、增加
需求规约
1.引言
1.1编写目的
针对图书管理系统的功能,运行环境等方面的要求进行描述,对系统的设计提供指导。
1.2项目背景
项目名称:
学生信息管理系统
1.3项目约束
由于要在课程实验的时间内完成,时间上不免有一些仓促。
2.信息描述
本系统解决学生信息管理由纸质到计算机的输入、数据的存储、输出、统计以及提供信息给其他系统的接口。
3.功能描述
3.1系统用户身份的分类、录入、修改与删除;
3.2学生数据的查询、录入、修改、删除与较审等;
3.3班级数据的查询、录入、修改、删除与较审等;
3.4留言信息的查询、录入;
4.检验标准
4.1性能范围
系统是否实现了以上功能;系统操作是否方便;系统的容错能力。
4.2测试种类
功能确认测试、系统可靠性测试、系统容错测试。
5.参考书目
6.附录
详细设计
一、新系统的逻辑模型
系统分析的主要成果是系统的逻辑模型,本系统的逻辑模型主要以系统数据流图和数据字典为主要描述工具。
即在对学生信息管理方式和事务流程进行认真分析和研究基础上。
完全从事务管理功能和管理对象出发,按管理系统中应有的数据流图和数据结构构成系统的全貌。
1、据流图是在对系统分析调查的基础上,以系统的科学性、管理的合理性、技术的可行性角度出发,将信息处理功能和彼此之间的联系自顶向下、逐层分解,从逻辑上精确地描述应具有的数据加工功能、数据输入、数据输出、数据存储及数据的来源和去向。
学生信息管理系统经过划分出各子系统及其各自的功能,以及相互联系,绘制出数据流图如下:
顶层数据流图
图1
第0层数据流图
图2
第1层数据流图
图3
图4
第2层数据流图
图5
图6
2、数据字典
以上数据流图,已对数据处理和彼此之间的联系进行了说明,为了进一步明确数据的详细内容和加工过程,现将其组成部分的数据流、数据存储和加工通过数据字典描述清楚。
1)数据流描述
系统管理请求=帐号+密码
合法请求=数据库内存在
信息查询请求=班级+姓名
2)文件描述
“留言”文件=留言
组织:
按时间顺序
“文件”标准文件=学生信息库文件名
组织:
按“文件名”排序为主索引
学生信息文件由以下文件组成:
学生信息数据库文件=学生信息表.dbf+班级信息表.dbf
组织:
:
编号为主索引
学生信息表=编号+姓名+生日+入学时间+性别+帐号+密码+班级+电话+照片+备注
组织:
:
编号为主索引
班级表.dbf=编号+班级名称
组织:
编号为主索引
3)加工描述
加工编号:
1
加工名:
检查合法性
加工逻辑:
检查管理人员进入系统的合法性。
对不合法的用户,拒绝进入。
有关信息:
当有人要求进入该系统时执行此加工。
加工编号:
2
加工名:
请求类型处理
加工逻辑:
根据用户的合法请求,进行选择要进入的子系统
有关信息:
当用户有进入主系统,提出进入子系统的要求时,执行此加工。
加工编号:
3
加工名:
系统管理
加工逻辑:
管理员创建学生信息数据库和管理系统
有关信息:
当管理员要求对学生信息进行处理的请求时执行此加工。
加工编号:
4
加工名:
信息查询
加工逻辑:
合法用户对信息进行查询
有关信息:
当用户提出对信息进行查询的请求时执行此加工。
加工编号:
3.1
加工名:
学生信息处理
加工逻辑:
对学生基本信息进行处理
加工信息:
当管理员发出请求对学生数据进行处理时,执行此加工。
加工编号:
3.2
加工名:
班级信息处理
加工逻辑:
对学生进行有关班级处理
有关信息:
当提出对学生进行分班或调整班级时,执行此加工
加工编号;4.1
加工名:
信息查询类型处理
加工逻辑:
根据用户请求进入不同子系统
有关信息:
当用户有进入主系统,提出进入子系统的要求时,执行此加工。
加工编号:
4.2
加工名:
查询学生信息
加工逻辑:
根据用户提供的有关信息,查找满足用户请求的记录
有关信息:
当用户提出查询符合某些条件的记录时,执行此加工
加工编号:
4.3
加工名:
查询班级信息
加工逻辑:
根据用户提供的有关信息,查找满足用户请求的记录
有关信息:
当用户提出查询符合某些条件的记录时,执行此加工
加工编号:
3.2.1
加工名:
管理类型处理
加工逻辑:
根据管理员提出的请求,对学生信息进行不同处理
有关信息:
当管理员对一些信息提出不同请求时,执行此加工
加工编号:
3.2.2
加工名:
增加
加工逻辑:
根据管理员提出的请求,对学生信息进行增加处理
有关信息:
当有新生入校时,管理员发出请求,执行此加工
加工编号:
3.2.3
加工名:
修改
加工逻辑:
根据管理员提出的请求,对学生信息进行修改处理
有关信息:
当信息有误或需要变更时,执行此加工
加工编号:
3.2.4
加工名:
删除
加工逻辑:
根据管理员提出的请求,对学生信息进行修改删除处理
有关信息:
当对学生的信息进行删除时,执行此加工
加工编号:
3.3.1
加工名:
管理类型处理
加工逻辑:
根据管理员提出的请求,对班级信息进行不同处理
有关信息:
当管理员对一些信息提出不同请求时,执行此加工
加工编号:
3.3.2
加工名:
增加
加工逻辑:
根据管理员提出的请求,对班级信息进行增加处理
有关信息:
当有新生入校时,管理员发出请求,执行此加工
加工编号:
3.3.3
加工名:
修改
加工逻辑:
根据管理员提出的请求,对班级信息进行修改处理
有关信息:
当信息有误或需要变更时,执行此加工
加工编号:
3.3.4
加工名:
删除
加工逻辑:
根据管理员提出的请求,对班级信息进行修改删除处理
有关信息:
当对班级的信息进行删除时,执行此加工
二、数据库设计
1.1班级E-R图
1.2学生E-R图
1.3留言信息E-R图
2.1班级信息表
字段名
数据类型
大小
字段描述
Class_id
int
4
班级ID,作为主键
Class_name
varchar
50
班级名称
2.2学生信息表
字段名
数据类型
大小
字段描述
Stu_id
int
4
学生ID,作为主键
Name
varchar
50
姓名
brth
varchar
50
生日
Sch_time
varchar
50
入学时间
sex
char
2
性别
login
varchar
50
帐号
Password
varchar
50
密码
Class_id
int
4
班级
Picture
varchar
50
照片
Ph
varchar
50
电话
other
varchar
50
备注
2.3留言信息表
字段名
数据类型
大小
字段描述
Info_id
int
4
主键,唯一标识
title
varchar
50
标题
letter
text
16
留言信息
Info_time
datetime
8
留言时间
三、流程分析
系统总体流程图
1、查询模块
查询模块流程图
2、学生信息管理模块
学生信息管理流程图
3、班级信息管理模块
班级信息管理流程图
3、留言薄管理模块
留言薄管理流程图
四、代码
1.配置web.config
在系统工程web.config文件中定义了很多配置节处理程序声明和配置节处理程序。
在此文件中添加一个节,定义了数据库连接设置,在其他应用程序的后台程序中可以直接调用此设置,代码如下:
............
2.Stu.cs类文件
Stu.cs类为此系统中实现数据库操作的一个公共文件,建立了一系列的数据操作,例如:
连接数据库、数据查询、关闭数据库连接等操作。
并且包括本系统所要使用到的通用函数,过程,使得代码的重用性和系统开发效率大大提高。
代码如下:
(1)定义stu类文件的命名空间,其中usingSystem.Data.SqlClient、usingSystem.Configuration命名空间是新定义的,分别定义了使用SQLServer数据源和引用Web.config中的内容。
usingSystem;
usingSystem.Collections;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Data.SqlClient;
usingSystem.Drawing;
usingSystem.Web;
usingSystem.Web.SessionState;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.HtmlControls;
usingSystem.Configuration;
(2)定义PositionData类,用于设置和获取当前页面的位置信息。
PublicclassPositionData
{privatestringname;
privatestringCatID;
publicPositionData(stringname,stringCategoryID);
{this.name=name;
this.CatID=CategoryID;
}
}
(3)下面程序定义了发送name和的方法
publicstringname
{get
{returnname;
}
}
pubilcstringCategoryID
{get
{returnCatID;
}
}
(4)下面代码实现了类中的一些全局变量的定义,这些全局变量将会在类文件中得到应用。
publicconstintFIELD_TYPE_TEXT=0;
publicconstintFIELD_TYPE_Number=1;
publicconstintFIELD_TYPE_Date=2;
publicconstintFIELD_TYPE_Memo=3;
protectedHttpSessionStateSession;
protectedHttpServerUtilityServer;
protectedHttpRequestRquest;
protectedHttpResponseResponse;
(5)下面代码定义了字符转换的方法,在代码中根据传递过来iType的值,将字符串中的一些字符用指定的字符替换,使其成为正确的SQL字符串,从而实现正确的数据库连接。
publicstaticstringToSQL(stringParam,intiType)
{
if(Param==null||Param.Length==0)
{return“null”;
}
else
{
stringstr=Quote(Param);
if(iType==FIELD_TYPE_Number)
{returnstr.Replace(‘,’,’.’);
}
else
{return“\”+str+”\”;
}
}
}
(6)下面代码中首先定义了一个数据连接的全局变量Connection,然后建立了一个数据集,用于数据的存储,然后用了SqlDataAdapter方法,填充DataSet和更新SQLServer数据库的一组数据命令和一个数据库连接。
publicSqlConnetionConnection;
publicDataSetFillDataSet(stringsSQL)
{DataSetds=newDataSet();
SqlDataAdaptercommand=newSqlDataAdapter(sSQL,Connetion);
returnds;
}
(7)下面代码用于向数据集中填充数据,并返回该数据集
publicintFillDataSet(stringsSQL,refDataSetds)
{
SqlDataAdaptercommand=newSqlDataAdapter(sSQL,Connection);
returncommand.Fill(ds,”Table”)’
}
(8)下面程序定义了数据库查询操作,以及获取数据库数据的操作。
在程序中首先建立了一个查询语句,其中查询字段、表名和查询条件为变量,是由其他界面传递过来的参数,接下来创建了一个对象的方法执行此查询语句,应用方法关闭对象。
publicstringDlookup(stringtable,stringfield,stringsWhere)
{stringsSQL=”SELECT”+field+”FROM”+table+”WHERE”+sWhere;
sqlDataReaderreader=command.ExecuteReader(CommandBehavior.SingleRow);
stringsReturn;
if(reader.Read())
{
sReturn=reader[0].ToString();
if(sReturn==null)
sReturn=””;
}
else
{
sReturn=””;
}
reader.close();
returnsReturn;
}
测试计划
摘要:
从学生信息管理的角度分析了项目级软件测试的活动过程
随着社会对计算机的依赖程度的增加,软件产品应用到社
会的各个领域,用户为了保证业务的顺利完成,对软件产品的
质量要求也越来越高。
作为一个软件开发公司,软件的质量成
为公司生存的关键。
软件测试就是在软件投人运行前,对软件
需求分析、设计规格说明和编码的最终复审,是软件质量保证
的关键步骤。
软件测试是软件开发质量保证的重要环节,因
此,现在软件开发商越来越多地重视软件测试过程,软件测试
已经占到整个软件开发过程的40%到50%。
下面从软件的生
命周期来对软件测试阶段和各阶段活动特点进行分析。
软件测试的三个阶段及其作用
根据学生信息管理系统生命周期来看,测试分为三个阶段。
(1)单元测试本阶段是对软件的基本组成单元进行的
测试,是在软件开发过程中要进行的最低级别的测试活动,它
在编码完成后马上进行。
在单元测试活动中,软件的独立单元
将在与程序的其他部分相隔离的情况下进行测试。
单元测试
的日的是:
①使软件尽早正常运行;②为集成测试奠定基础;③快速定位错误;④使修改缺陷成本更低。
单元测试在整个软件
测试中占有很重要的地位。
在软件开发过程中有一个尽早测
试原则:
缺陷发现越早,消耗的成本就越低。
由于单元测试具
有不彻底性,对于模块间接口信息内容的正确性、相互调用的
关系是否符合设计无能为力。
(2)集成测试本阶段是一个应用系统的各个部件的联
合测试,以决定它们能否在一起共同工作,部件可以是代码块、
独立的应用、网络上的客户端或服务器端程序。
由于集成测试
具有可重复性强,对测试人员透明的特点,发现问题后很容易
定位。
这种类型的测试尤其与客户服务器和分布式系统有关。
(3)系统测试本阶段是基于系统整体需求说明书的测
试,它是验证整个系统需求的最终测试,属于黑盒测试,它应覆
盖系统所有联合的部件。
一、计划
1、测试方案
使用以界面为基础的测试,以界面为基础的测试仅仅依靠软件与其运行环境之间的界面来选择和产生测试数据,而不管软件的具体需求和具体实现细节。
包括软件输入,输出数据的类型取值范围以及取值的概率分布等等。
2、测试项目
单元测试
试计划主要包括对软件各个模块的测试,有:
1、管理系统首页测试
2、查询模块测试
4、学生信息模块测试
5、班级信息模块测试
6、留言薄模块测试
测试项目说明
(1)管理系统首页的测试
该测试的目的是保证登陆主窗口的正确性与在错误发生时的容错与纠错性。
具体通过在登陆框中输入空用户名,和错误的用户名来检测系统的出错运行情况。
要求系统在遇到这些情况时能给出正确的错误提示。
(2)查询模块的测试
该测试的目的是保证窗体与数据库连接无误及查找范围的正确性。
(3)学生信息模块的测试
该测试的目的是保证在添加、修改、删除学生信息信息时窗口的正确性与在数据输入不正确时的容错与纠错性。
(4)班级信息模块的测试
该测试的目的是保证在添加、修改、删除班级信息信息时窗口的正确性与在数据输入不正确时的容错与纠错性。
(5)留言薄模块的测试
该测试的目的是保证添加,查看信息时窗口的正确性与在数据输入不正确时的容错与纠错性。
测试机构及人员
由于软件规模较小,所以所有测试任务都由软件的开发人员完成。
集成测试
较多地采用黑盒方法构造测试用例对各个模块之间接口部分及与数据库连接进行测试,检查是否有数据丢失,或者连接到一起时达不到期望的效果。
本系统采用自定向下集成测试。
二、测试分析报告
1、软件测试分析结论
经过软件的测试,系统基本上达到需求定义阶段用户所提出的要求。
开发工作合格。
2、评价
软件基本达到设计要求,软件功能完整,用户界面良好,