软件工程学习报告模板.docx
- 文档编号:11303520
- 上传时间:2023-02-26
- 格式:DOCX
- 页数:28
- 大小:504.21KB
软件工程学习报告模板.docx
《软件工程学习报告模板.docx》由会员分享,可在线阅读,更多相关《软件工程学习报告模板.docx(28页珍藏版)》请在冰豆网上搜索。
软件工程学习报告模板
学习报告
课程名称:
题目名称:
学生姓名:
学号:
课程成绩:
二零一五年月
目录
1前言1
1.1系统的背景及开发意义1
1.2系统的开发环境及工具1
2系统需求分析3
2.1系统功能需求分析3
2.1.1用户分析需求描述3
2.1.2系统功能分析建模4
2.2系统数据需求分析6
2.2.1系统数据信息描述6
2.2.2系统数据分析建模7
2.3其他需求分析9
3系统总体设计11
3.1整体架构设计11
3.2系统总体结构设计11
3.3系统数据库设计12
4系统详细设计及编码实现16
4.1公共模块的设计与实现16
4.1.1公共模块的功能16
4.1.2公共模块的算法设计16
4.2考勤管理模块设计与实现17
4.2.1考勤管理模块的功能17
4.2.2考勤管理模块的算法设计17
4.3请假管理模块设计与实现18
4.3.1请假管理模块的功能18
4.3.2请假管理模块的算法18
4.4课程管理模块设计与实现18
4.4.1课程管理模块的功能19
4.4.2课程管理模块的算法设计19
4.5系统管理模块设计与实现19
4.5.1系统管理模块的功能19
4.5.2系统管理模块的算法20
5系统测试21
5.1测试的目的及技术21
5.2测试的步骤21
5.3测试的过程22
5.3.1上课考勤模块功能测试22
5.3.2考勤查询功能模块测试23
5.3.3请假申请模块功能测试25
5.4集成测试及确认测试26
5.4.1集成测试27
5.4.2确认测试27
1前言
1.1系统的背景及开发意义
(1)系统背景介绍
(2)系统开发的意义
1.2系统的开发环境及工具
(1)系统开发的环境
硬件:
Windows2000服务器、希捷ST9500420AS(500GB/7200转/分)硬盘、2GB(DDR31333MHz)内存
软件:
Windows7旗舰版32位SP1(DirectX11)
(2)系统开发的工具
系统采用MicrosoftVisualStudio2010、SQLServer2008数据库开发工具、C/S结构。
下面对开发中采用的工具进行说明:
1 MicrosoftVisualStudio2010简介
VisualStudio是目前最流行的Windows平台应用程序的集成开发环境,VisualStudio2010版本集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。
并且支持开发面向Windows7的应用程序。
除了MicrosoftSQLServer,它还支持 IBM DB2和Oracle数据库。
2 SQLServer2008数据库简介
SQLServer2008在Microsoft的数据平台上发布,可以组织管理任何数据。
可以将各种文档的数据直接存储到数据库中。
可以对数据进行多种操作。
这个平台具有可信任、高效、智能三大特点。
3 C/S结构简介
C/S结构,即客户机和服务器结构。
它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。
C/S结构构相对于B/S架构而言有许多优点:
a.响应速度快
b.软件设计可以更好的满足用户个性化的需求
c.数据处理能力强大
d.系统安全性更有保障
2系统需求分析
2.1系统功能需求分析
2.1.1用户分析需求描述
本系统包括学生用户子系统、教师用户子系统和管理员用户子系统三个用户子系统
(1)学生用户
学生用户子系统具有登录、注册、修改密码、个人信息查询、考勤信息查询、考勤成绩查询、请假申请、请假信息查询的功能。
1 登录:
输入用户名、用户密码、选择学生登录角色
2 注册:
输入学号、姓名、性别、密码、班级、联系方式、身份证信息
3 修改密码:
学生在系统管理中的修改密码模块进行密码修改
4 个人信息查询:
学生在系统管理中的个人信息模块查询
5 考勤信息查询:
学生在考勤管理中的考勤查询模块查询考勤信息
6 考勤成绩查询:
学生在成绩查询模块查询考勤成绩
7 请假申请:
学生在请假管理中的请假申请模块填写请假条进行请假申请
8 请假信息查询:
学生在请假管理中的请假查询模块查询请假信息
(2)教师用户
教师用户子系统具有登录、修改密码、个人信息查询、上课考勤记录、考勤信息查询、请假审批、请假信息查询的功能。
1 登录:
输入登录名、登录密码、选择教师登录角色
2 修改密码:
教师在系统管理中的修改密码模块进行密码修改
3 个人信息查询:
教师在系统管理中的个人信息模块查询
4 上课考勤记录:
教师在上课考勤模块输入课程名称、任课教师、上课时间、班级信息,显示出考勤学生信息,进行考勤记录
5 考勤信息查询:
教师进入考勤查询模块输入查询条件进行查询
6 请假审批:
教师在请假审批模块选中未审批的请假条进行审批
7 请假信息查询:
教师在请假查询模块中查询请假信息
(3)管理员用户
管理员用户子系统具有登录、修改密码、个人信息查询、系统用户管理、请假审批、课程维护的功能。
1 登陆:
输入登录名、登录密码、选择管理员登陆角色
2 修改密码:
管理员在系统管理中的修改密码模块进行密码修改
3 个人信息查询:
管理员在系统管理中的个人信息模块查询
4 系统用户管理:
管理员在用户管理模块可以对用户信息进行添加、修改、删除操作
5 请假审批:
管理员在请假审批模块选中未审批的请假条进行审批
6 课程维护:
管理员在课程维护模块对课程名称和任课教师进行添加、修改、删除操作
2.1.2系统功能分析建模
本系统采用数据流图的模型工具建模。
(1)数据流图(DFD)的介绍
数据流图简称DFD图,是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,它只反映系统必须完成的逻辑功能,是一种功能模型。
(2)数据流图的建立
1 建立系统顶层数据流图:
根据学生考勤管理系统需求分析可知学生考勤管理系统的顶层数据流图是学生考勤管理系统与学生、教师、管理员三个外部实体进行数据交换,如图2.1。
图2.1学生考勤管理系统顶层图
2 数据流图分解:
学生管理系统按功能划分为学生用户子系统、教师用户子系统、管理员用户子系统三部分,如图2.2。
学生用户通过考勤信息表查看自己的考勤信息,通过成绩信息表查看自己的成绩信息,通过递交请假条更新请假条信息表申请请假,通过请假审批信息表查看请假审批信息;教师用户通过录入考勤和成绩更新考勤信息表和成绩信息表,
管理员更新课程信息,通过请假条信息表进行请假审批。
图2.2学生考勤管理系统0层图
3 数据流图功能分解,如图2.3
图2.3学生考勤管理1层图
2.2系统数据需求分析
2.2.1系统数据信息描述
本系统的数据信息有学生基本信息、教师基本信息、管理员基本信息、课程信息、考勤信息、请假信息。
(1)学生信息:
学号、姓名、性别、班级、密码、联系方式、身份证号
(2)教师信息:
用户名、密码、所教课程
(3)管理员信息:
管理员的用户名、密码
(4)课程信息:
课程名称、任课教师
(5)考勤信息:
课程名称、任课教师、上课时间、上课班级、考勤情况
(6)请假信息:
班级、学号、姓名、请假时间、请假原因
2.2.2系统数据分析建模
(1)实体-关系模型建立
实体-关系模型简记E-R图是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。
1 学生实体关系:
学生实体具有班级、学号、姓名、性别等属性;考勤情况记录实体具有考勤时间、考勤课程、考勤教师、考勤班级等属性;请假情况记录实体具有请假学生班级、学号、姓名、请假时间、请假原因等属性。
三个实体之间具有考勤和请假的联系,如图2.4。
图2.4学生实体E-R图
2 教师实体关系:
教师实体具有编号、姓名、班级、课程等属性;学生考勤信息具有班级、学号、姓名、出勤情况等属性;三个实体之间具有记录和审批的联系,如图2.5。
图2.5教师实体E-R图
3 管理员实体关系:
管理员实体具有登录名、密码属性;数据信息具有课程名、任课教师属性;请假信息记录具有请假学生班级、学号、姓名、请假时间、请假原因等属性;三个实体之间具有更新和审批的联系,如图2.6.
图2.6管理员实体E-R图
2.3其他需求分析
(1)系统性能需求分析
1 数据精确度需求:
在精度需求上,根据实际需要,数据在输入、输出及传输的过程中要满足各种精度的需求根据关键字精度的不同。
2 响应时间需求:
无论是客户端和服务端,当用户登录进行操作时,系统反应的时间应在5秒以内。
系统应能及时反映各种非正常情况,避免用户出现长时间等待甚至系统无响应。
3 用户使用性需求:
界面设计易于操作,在用户使用时在客户端服务器端进行验证,并提示用户输入正确数据和正确的操作系统。
4 安全保密性需求:
每个用户都有权限设置,对用户的登录密码进行加密设置,非本系统用户不能登录使用。
5 操作性需求:
支持Windows2000及以上的操作系统,设计连接SQLServer数据库。
(2)系统输入/输出需求分析
符合精度的设定,数据的输入输出都应该为数字、字母及汉字,不应该含有字符形式。
(3)系统错误处理需求分析
1 数据库存储空间不够,引起数据库访问变慢等问题需要对磁盘进行扩展和维护。
2 执行程序非正常退出,响应确实,修改源代码前应备份。
3 数据库没启动引起访问问题,须启动数据库服务器。
3系统总体设计
3.1整体架构设计
本系统采用C/S结构(客户机/服务器结构)作为设计模型。
其中包括学生用户子系统、教师用户子系统和管理员用户子系统三部分。
根据现在所掌握的计算机技术,选择SQLServer2008作为后台数据库开发工具,SQL查询语言进行数据库的操作访问;选择VisualStudio2010作为应用程序开发工具,WinForm窗体应用程序搭建系统运行模块。
学生考勤管理系统主要实现教师进行上课考勤和学生在线申请请假的功能,本系统包括上课考勤、考勤查询、成绩查询、请假申请、请假审批、请假查询、课程维护、用户管理、个人信息、修改密码十个功能模块。
3.2系统总体结构设计
学生考勤管理系统分为考勤管理模块结构设计、请假管理模块结构设计、课程管理模块结构设计和系统管理模块结构设计四个部分。
(1)系统的主要功能如下:
1 系统用户的登录、注册功能
2 教师对上课考勤信息的录入
3 教师对考勤信息、考勤成绩的查询、修改
4 教师根据请假条信息对学生的请假申请进行请假审批,并对学生的请假申请进行查询
5 学生对自己考勤信息、考勤成绩的查询
6 学生填写请假条进行申请请假,并对自己的请假申请进行查询
7 管理员对考勤信息查询
8 管理员根据学生请假条信息对学生进行请假审批,并可以查询学生请假信息
9 管理员对系统的课程信息进行更新维护
10 系统用户查看自己的个人信息,修改个人密码
(2)学生考勤管理系统的功能模块结构图:
图3.1学生考勤管理系统功能模块结构图
3.3系统数据库设计
本系统的数据库名称是xskqgl.mdf,里面包含5个表,依次分别是课程表、上课信息表、考勤信息表、请假表、人员信息表,下面将对这些表格一一介绍。
(1)课程表
课程表设计有外课程编号、课程名称和任课教师共3个字段。
表3.1课程表
字段
类型
列名
备注
id
int
编号
自动增长列
kcmc
varchar
课程名称
rkjs
varchar
任课教师
(2)上课信息表
上课信息表设计有上课信息编号、流水号、课程名称、任课教师、上课日期、上课时间、下课时间、班级、备注共9个字段。
其中流水号与考勤信息表中的流水号对应。
表3.2上课信息表
字段
类型
列名
备注
id
int
编号
自动增长列
lsh
varchar
流水号
与考勤信息表中的流水号对应
kcmc
varchar
课程名称
rkjs
varchar
任课教师
skrq
varchar
上课日期
Sksj1
varchar
上课时间
Sksj2
varchar
下课时间
bj
varchar
班级
bz
varchar
备注
(3)考勤信息表
考勤信息表设计有考勤信息编号、流水号、学生学号、学生姓名、出勤情况、备注共6个字段。
其中流水号与上课信息中的流水号对应。
出勤情况包括出勤、缺勤、请假。
表3.3考勤信息表
字段
类型
列名
备注
id
int
编号
自动增长列
lsh
varchar
流水号
与上课信息表中的流水号对应
xsgh
varchar
学生学号
xsxm
varchar
学生姓名
cqqk
varchar
出勤情况
出勤、缺勤、请假
续表
字段
类型
列名
备注
bz
varchar
备注
(4)请假表
请假表包括13个字段,分别为请假编号、流水号、学生学号、学生姓名、开始日期、开始时间、结束日期、结束时间、请假原因、审批人、审批时间、状态、申请时间。
其中状态况包括同意、不同意。
表3.4请假表
字段
类型
列名
备注
id
int
编号
自动增长列
bj
varchar
流水号
xh
varchar
学生学号
xm
varchar
姓名
Rq1
varchar
开始日期
Sj1
varchar
开始时间
Rq2
varchar
结束日期
Sj2
varchar
结束时间
qjyy
varchar
请假原因
spr
varchar
审批人
spsj
varchar
审批时间
zt
varchar
状态
同意、不同意
sqsj
varchar
申请时间
(5)人员信息表
人员信息包括10个字段,分别为人员编号、登陆账号、登录密码、真实姓名、权限类别、姓名、班级、专业名称、联系方式、身份证号。
其中权限类别划分是管理员、教师、学生。
表3.5人员信息表
字段
类型
列名
备注
id
int
编号
自动增长列
uname
varchar
登录账号
pwd
varchar
登录密码
name
varchar
真实姓名
qx
varchar
权限类别
管理员、教师、学生
xb
varchar
性别
bj
varchar
班级
zy
varchar
专业名称
sfzh
varchar
身份证号
lxfs
varchar
联系方式
4系统详细设计及编码实现
学生考勤管理系统有公共模块、考勤管理模块、请假管理模块、课程管理模块和系统管理模块五大部分。
4.1公共模块的设计与实现
4.1.1公共模块的功能
(1)用户登录模块功能:
用户输入用户名、密码,在学生、教师、管理员三个角色中选择相应的进行登录,未注册的学生用户点击注册按钮,教师用户登录名和密码有管理员分配不用注册。
(2)学生注册模块功能:
未注册的学生点击注册按钮,进入注册界面,注册信息包括班级、学号、姓名、性别、密码、联系方式和身份证号,均为必填项。
4.1.2公共模块的算法设计
根据功能需求分析和结构设计来实现用户登录模块算法,算法用程序流程图表示,如图4.1
图4.1用户登录模块程序流图
4.2考勤管理模块设计与实现
4.2.1考勤管理模块的功能
(1)上课考勤模块功能:
教师登录学生考勤管理系统,进行上课考勤,选中上课名称,任课教师,上课时间和班级,窗口弹出此班级学生信息,包括学号,姓名,是否请假备注。
教师通过下拉菜单选中出勤、缺勤或请假,进行考勤记录,考勤完成后点击保存。
教师可以通过输入关键字进行考勤记录的查询,也可以对某一次考勤记录进行修改或是删除。
(2)考勤查询模块功能:
教师、学生或管理员进入考勤查询界面、可以通过输入要查询考勤记录的课程名称、任课教师、出勤情况、班级、学号或姓名任意一个或多个进行查询。
(3)查询成绩模块功能:
学生或教师进入考勤成绩查询的界面,考勤成绩默认为学生缺勤一次扣除十分的原则,输入查询学生的学号或是姓名就可以查询该学生的考勤成绩。
4.2.2考勤管理模块的算法设计
根据功能需求分析和结构设计来实现考勤管理模块中上课考勤算法,算法用程序流程图表示,如图4.4
图4.4上课考勤模块程序流程图
4.3请假管理模块设计与实现
4.3.1请假管理模块的功能
(1)请假申请模块功能:
学生进入请假申请界面,填写自己的班级、学号、姓名、请假时间、请假原因等信息,然后进行保存,在下方就会生成该学生的请假申请表,等待管理员或是教师的考勤审批。
(2)请假审批模块功能:
管理员或教师进入请假审批系统,选中申请请假学生的请假条,然后进行审批同意或不同意。
(3)请假查询模块功能:
学生进入请假查询界面输入自己的班级、学号或是姓名等关键字查询自己填写的请假条审批是否通过;教师可以通过检索自己班级来查询学生的请假信息。
4.3.2请假管理模块的算法
根据功能需求分析和结构设计来实现请假管理模块中请假申请算法,算法用程序流程图表示,如图4.8
图4.8请假申请模块程序流程图
4.4课程管理模块设计与实现
4.4.1课程管理模块的功能
课程维护模块功能:
管理员进入课程维护界面,可以课程名称和任课教师进行调整修改。
通过课程名或任课教师名的关键字检索可以查询相应信息。
4.4.2课程管理模块的算法设计
根据功能需求分析和结构设计来实现请假管理模块中课程维护算法,算法用程序流程图表示,如图5.12
图5.12课程维护模块程序流程图
4.5系统管理模块设计与实现
4.5.1系统管理模块的功能
(1)用户管理模块功能:
管理员进入用户管理界面,通过录入账号、姓名、密码、用户角色、班级、联系方式等信息新增用户。
(2)个人信息模块功能:
用户进入个人信息界面,个人信息默认为登录这的信息,用户可以修改自己的账号、姓名、性别、班级、联系方式、身份证号等信息,点击保存。
(3)修改密码模块功能:
用户登录学生考勤管理系统进入修改密码界面,用户名默认为登陆者名,输入旧密码、新密码、新密码验证,点击确认修改密码。
4.5.2系统管理模块的算法
根据功能需求分析和结构设计来实现请假管理模块中用户管理算法,算法用程序流程图表示,如图5.14
图5.14用户管理模块程序流程图
5系统测试
5.1测试的目的及技术
本系统采用测试技术有黑盒测试技术和白盒测试技术,采用的测试步骤有单元测试、集成测试和确认测试。
(1)测试的目的
系统测试其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方,从而提出更加完善的方案,尽可能彻底地检查出程序中的错误,提高软件系统的可靠性。
(2)测试的技术
①黑盒测试技术
黑盒测试是通过使用整个软件或某种软件功能来严格地测试,在测试时只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收和正确的输出。
②白盒测试技术
白盒测试是通过程序的源代码进行测试而不使用用户界面。
这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。
5.2测试的步骤
(1)单元测试
单元测试是指对软件中的最小可测试单元进行检查和验证。
对于单元测试中单元的含义。
总的来说,单元就是人为规定的最小的被测功能模块。
单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
(2)集成测试
集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。
。
集成测试是在单元测试的基础上,集成测试采用的方法是测试软件单元的组合能否正常工作,以及与其他组的模块能否集成起来工作。
最后,还要测试系统所有模块组合在一起能否正常工作。
集成测试的主要目的在于发现单元之间接口的错误以及发现集成后软件同总体设计分析不一致的地方,重点在于测试各个模块连接起来后通过接口传递的数据是否会错误或丢失。
(3)确认测试
确认测试的目的是进一步验证软件的有效性,这就是确认测试的任务,验证软件的功能和性能如同用户所合理期待的那样。
确认测试过程包括安装测试,功能测试,可靠性测试,安全性测试,时间及空间性能测试,易用性测试,可移植型测试,可维护性测试,文档测试。
5.3测试的过程
5.3.1上课考勤模块功能测试
(1)上课考勤模块的功能
以教师角色登录系统,进入考勤管理中的上课考勤模块,输入课程名称、任课教师、上课时间、班级等信息,显示出考勤班级IDE信息,对学生进行上课考勤,并点击保存。
(2)上课考勤模块测试用例:
表5.1上课考勤模块测试用例
输入条件
预期输出结果
控件的使用
点击考勤管理菜单
弹出考勤管理下拉列表
点击上课考勤
进入上课考勤界面
输入课程名称、任课教师、上课时间、班级
弹出考勤班级的学生信息
进行考勤结果的录入
考勤班级学生考勤记录
点击上课考勤的保存
保存考勤信息,生成考勤信息单
(3)测试结果
测试结果与预期结果相同,输入课程名称等信息可以显示出考勤班级的学生信息,如图4.1,可以对学生进行考勤记录并保存考勤信息,如图4.2,因此上课考勤模块功能完整,并可以对考勤表进行查询检索。
图5.1上课考勤输入数据界面
图5.2上课考勤测试结果界面
(4)评价
根据系统的测试和实际需求的分析,可以看出上课考勤模块的运行正常,实现的功能与预期结果一致,基本实现了上课考勤的功能
5.3.2考勤查询功能模块测试
(1)考勤查询模块的功能
以教师角色登录系统,进入考勤管理中的考勤查询模快,输入考勤查询的数据,点击检索,显示出符合条件的查询信息。
(2)考勤查询模块测试用例
表5.2考勤查询模块测试用例
输入条件
预期输出结果
控件的使用
点击考勤管理菜单
弹出考勤管理下拉列表
点击考勤查询
进入考勤查询界面
输入查询信息
显示所查询的考勤信息
(3)测试结果
输入学生学号为112054201数据,如图5.3,查询结果如图5.4,测试结果与预期结果相同,对学生进行考勤查询的功能完善。
图5.3考勤查询输入数据界面
图5.4考勤查询测试结果界面
(4)评价
根据系统的测试和实际需求的分析,可以看出考勤查询模块的运行正常,实现的功能与预期结果一致。
5.3.3请假申请模块功能测试
(1)请假申请模块的功能
以学生角色登录系统,进入请假管理中的请假申请模块,填写班级、学号、姓名、请假时间、请假原因等信息、然后点击保存提交请假申请单。
(2)请假申请模块测试用例
表5.3请假申请模块测试用例
输入条件
预期输出结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 学习 报告 模板