软件工程选课系统终极文档1Word格式.docx
《软件工程选课系统终极文档1Word格式.docx》由会员分享,可在线阅读,更多相关《软件工程选课系统终极文档1Word格式.docx(70页珍藏版)》请在冰豆网上搜索。
3.2.7选课记录数据字典
四、E-R图---------------------------------------------------------------------10
五、总体设计
5.1设计过程及原理--------------------------------------15
5.2软件结构--------------------------------------------16
5.3HIPO图---------------------------------------------16
六、详细设计
6.1详细设计总体描述------------------------------------19
6.2程序流程图------------------------------------------19
6.2.1选课信息查询程序流程图
6.2.2课程导入程序流程图
6.2.3管理员设置程序流程图
6.2.4管理员添加
6.2.5管理员修改
6.2.6管理员删除
6.2.7选课程序流程图
6.3核心代码----------------------------------------------------27
七、软件测试
7.1软件测试----------------------------------------------------54
7.1.1测试目标
7.1.2测试环境
7.2测试报告----------------------------------------------------55
7.2.1登陆控制及权限所有测试
7.2.2界面测试
7.2.3预定功能测试
7.3测试结论----------------------------------------------------62
附录:
编者话---------------------------------------------------------63
1.1引言
1.1.1目的
本项目计划旨在明确开发过程,保证项目质量,统一小组成员对项目的理解,并对开发过程进行指导;
并且作为项目通过评审的依据;
并说明该软件开发项目的实现在技术上,经济上,社会因素上得可行性,评述为了合理地达到开发目标可供选择的各种选择实施方案,说明并论证所选定实施方案的理由。
1.1.2背景
1.系统的名称:
学生管理选课系统
2.项目的任务提出者是本次课程设计辅导老师程凡老师
3.开发者:
张昂王习武翟洋洋蓝天张尧伍
4.项目使用者:
高校管理员、老师和学生
1.1.3参考资料
XX文库
开发软件:
VC++6.0
数据库软件:
MicrosoftOfficeAccess2003
开发环境:
WindowsXP
1.2可行性研究的前提
1.2.1要求
1.功能
1)普通用户:
学生
修改个人密码;
查看学生基本信息及详细信息;
学生个人选课;
查看课表;
查看学生个人在校学习成绩;
评价教师;
2)普通用户:
教师
查看教师基本信息及消息信息;
3)特殊用户:
管理员
注册师生信息;
删除师生信息;
查看师生信息;
课程信息添加;
课程信息删除;
课程信息修改;
1.2.2性能
查询效率尽可能的做到准确,信息维护做到简单易用,不需要对用户进行培训;
1.2.3完成期限:
到本学期17周
1.2.4 目标
系统应尽量做到以下功能:
1)人力与设备费用的减少、
2)采用现代课程设计技术
3)数据的处理速度的提高
4)管理信息服务的改进
5)人员利用率尽量提高
6)结果应尽可能的审查
1.2.5 条件、假设、和限制
本系统的条件、假设和所受到的限制有以下几方面:
1)本系统仅为实验所用
2)硬件、软件、运行环境和开发环境方面的条件和限制:
由于是个人电脑,所以硬件设施可能在性能上比较差,软件完全是免费得,功能可能会受到相应的限制;
对windowsXP比较熟悉,所以,开发主要在这个平台上进行的
3)可利用的信息和资源:
没有相应的软件项目开发的经验,所以能力还是有限的,收集的资源有限,故对信息的了解不够全面;
4)系统投入使用的最晚时间:
本学期第17周
1.2.6进行可行性研究的方法
根据课本里面的相关知识、图书馆所借的书以及平时所累积的一些经验,综合本系统所要达到的目标进行分析而得到。
1.3所建议的系统
1.3.1对所建议系统的说明
本系统是运用MFC制作的一个小型学生选课系统,实现这个系统将用到以下几种技术:
1)MFC的各种应用
2)数据库系统技术
1.3.2工作负荷
现有系统所承担的工作及工作量:
系统功能:
(1)登陆
(2)选课功能
(3)查询功能
(4)修改功能
1.3.3技术条件方面的可行性
1.在当前的限制条件下,该系统的功能目标是能够达到预期效果的
2.开发人员的数量:
5人;
均接受过相关知识的培训,但首次做系统,经验不足
3.在规定的时间内,本系统的开发可以实现
1.3.4社会因素方面的可行性
1.法律方面的可行性
本系统纯属于团队的开发所成,不会因为版权问题造成纠纷,不作为商业用途
2.适用方面的可行性
界面设计时充分考虑管理人员的习惯,使得操作简单;
数据录入迅速规范可靠;
统计准确;
制表灵活;
适应力强;
容易扩充.第2章内容主要是:
系统需求分析包括,现有系统介绍;
系统的实体分析,实体关系图.
1.3.5经济可行性
由于本系统是为学生选课管理使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力.所带来的效益远远大于系统软件的开发成本.在经济上完全可行.
1.3.6结论
本系统可以立即开始进行实施;
并尽可能提前完成,;
从人力资源上面来看,可以充分利用各人的擅长来开发本系统;
从开发成本上面来看,将支出成本降到最低;
所以本方案最佳。
2.1系统需求
用户的需求具体体现在各种学习成绩的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。
收集基本数据、数据结构及数据处理的流程,组成一份详细数据词典,为后面的具体设计打下基础。
2.2功能需求
通过系统功能分析,针对一般的上网选课系统,总结出以下的需求信息:
(1)学生的需求:
网上选课、选课查询情况包括该门课程的老师信息,上课时间及该门课程的学分,修改密码等;
(2)本系统主要实现学生信息管理和选课查询。
选课学生具体信息包括学工号、年龄、性别、民族、年级、专业、宿舍号、联系电话、邮箱、身份证号、生日、籍贯;
学生简要信息包括学工号、密码、姓名、性别、年级、专业、限制学分、课程信息;
课程信息包括课程代码、课程名称、系别、任课老师id、上课时间、上课地点、课程容量、课程剩余量、课时、课程性质、届别;
老师信息包括职工号、密码、姓名、性别、院系、职称、课程信息;
管理员信息包括用管理员编号、密码、姓名、性别、联系电话、所属部门;
院系信息包括学院名称、学院代码、上级部门编号、简介
选课记录信息包括学工号、课程代码、考试成绩
2.3性能需求
2.3.1响应时间
系统响应的最短时间要求
2.3.2精度需求
系统输入输出的精度要求
2.4运行环境需求
2.4.1软件环境
操作系统及版本:
支撑软件:
VC++6.0
数据库环境:
CPU:
内存:
外存:
输入输出设备:
现阶段所使用的计算机均可.
2.5用户特点
本系统是面向高校学生教师和网络管理员的.对电脑都有一定的操作能力,根据菜单提示都能熟练使用本系统.
3.1数据流图
3.2数据字典
3.2.1课程信息数据字典
课程信息
系统名
选课系统
别名
无
描述
每一门的课程信息
定义
课程信息=课程代码+课程名称+系别+职工号+上课时间+上课地点+课程容量+课程剩余量+课时+课程性质+届别
位置
课程目录文件
简要说明
课程代码是课程唯一识别信息
备注:
1、课程代码:
识别课程的唯一标准。
形如:
GM00364
2、课程名称:
软件工程
3、系别:
形如计算机科学与技术学院软件工程系
4、职工号:
教师教工号。
例如:
李强E918520
5、上课时间:
周五第1,2节{第1-10周}
6、上课地点:
笃南A207
7、课程容量:
该课程能能容纳学生的人数。
8、课程剩余量:
该课程还能让多少学生选。
9、课时:
36课时|54课时|72课时
10、课程性质:
专业基础课|专业核心课|人文素质课|科技素质课|体育课|跨专业
11、届别:
大一|大二|大三|大四
课程信息的每个字段定义如下:
属性名
数据类型
长度
允许空
备注
课程代码
char
10
N
唯一
课程名称
50
系别
30
任课老师id
上课时间
int
上课地点
课程容量
课程剩余量
课时
Int
课程性质
Char
届别
3.2.2选课学生简要信息数据字典
选课学生简要信息
每一位选课学生信息
选课学生简要信息=学工号+密码+姓名+性别+年级+专业+限制学分+课程信息
选课者目录文件
简要说明:
学工号是选课者唯一识别码
1、学工号:
识别学生的唯一标准。
E20914094
2、密码:
六个数字组成。
000000
3、姓名:
由2-4个汉字组成。
蓝天。
4、性别:
男|女
5、年级:
6、限制学分:
能多能选多少学分。
7、课程信息:
选择的课程的信息。
选课学生信息的每个字段定义如下:
学工号
40
密码
姓名
性别
5
年级
Y
专业
限制学分
100
3.2.3选课学生具体信息数据字典
学生具体信息
每一位学生具体信息
学生具体信息=学工号+年龄+性别+民族+年级+专业+宿舍号+联系方式+邮箱+身份证+生日+籍贯
学工号是学生唯一识别码
备注:
1、学工号:
2、年龄:
学生年龄。
3、性别:
4、名族:
汉
6、专业:
7、宿舍号:
枣园1615
8、联系方式:
手机号:
形如138XXXXXXXX
9、邮箱:
形如111111111@
10、身份证:
省份证号码
11、生日:
形如3月1号
12、籍贯:
宣城。
选课学生具体信息的每个字段定义如下:
年龄
民族
宿舍号
联系方式
邮箱
20
身份证
生日
籍贯
3.2.4教师信息数据字典
教师信息
每一位教师具体信息
教师信息=职工号+密码+姓名+性别+院系+职称+课程信息
教师目录文件
职工号是教师唯一识别码
1、职工号:
识别教师的唯一标准。
李强918520
2、密码:
6位数字组成。
3、姓名:
教师姓名
4、性别:
5、院系:
所属院系用一个字母代替(该字母为院系代码)。
E:
计算机学院
6、职称:
讲师|副教授|教授
7、课程信息:
所教的课程的信息。
教师信息的每个字段定义如下:
职工号
院系
职称
3.2.5院系信息数据字典
院系信息
院系具体信息
院系信息=学院名称+学院代码+上级部门编号+简介
院系目录文件
学院代码是学院唯一识别码
1、学院名称:
2、学院代码:
一个大写字母代替。
E计算机学院
3、上级部门编号:
4、简介:
关于该学院的大致介绍。
院系信息的每个字段定义如下:
学院名称
学院代码
上级部门编号
简介
txt
3.2.6管理员信息数据字典
管理员信息
每一位管理员具体信息
管理员信息=管理员编号+密码+姓名+性别+联系电话+所属部门
管理员目录文件
管理员编号是管理员的唯一识别码
1、管理员编号:
识别管理员的唯一标准。
如:
一号管理员编号为001
6个数字组成。
管理员的姓名
5、联系方式:
138xxxxxxxx
6、所属部门:
维护部|管理部|宣传部
.管理员信息中每个字段如下:
管理员编号
2
联系电话
11
所属部门
3
3.2.7选课记录表数据字典
选课记录信息
每一位学生的选课记录具体信息
选课记录信息=学工号+课程代码+考试成绩
选课记录文件
:
1、选课记录信息:
学生所选课程的信息
2、学工号:
3、课程代码:
4、考试成绩:
学生这门课的考试成绩。
考试成绩
四、E-R图
5.1设计过程及原理
选课系统下分为查询子系统和系统登录,查询子系统也就是选课者对选课的查询。
系统登录下分为管理子系统和基本信息设置,基本信息设置即对管理员信息的添加、删除以及修改,也即对系统的操作员进行权限的控制,以提高系统的安全性。
管理子系统分为课程导入系统、学生选课系统、学工号注册以及注销系统。
师生选课子系统通过学工号对选课者实时控制,选课子系统可以对课程进行选择管理,选课时,首先检查选课者的学工号信息是否有效,有效的话将进入选课系统,同时调出选课者选择课程情况。
学工号注册和注销子系统可以对选课者对选课权限的控制。
只有学工号的才可以进行选课活动,已注销的选课者将不再享有选课的权限。
5.2软件结构
5.3HIPO图
1.11.2
2.12.2
6.1详细设计总体描述
选课系统详细设计是设计的第二个阶段,这个阶段的主要任务是在选课系统概要设计书基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括算法和详细数据结构,为编写源代码提供必要的说明。
概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等。
详细设计则要解决如何实现各个模块的内部功能,即模块设计。
具体的说,模块设计就是要为已经产生的选课系统各子系统设计详细的算法。
但这并不等同于系统实现阶段用具体的语言编码,它只是对实现细节作精确的描述,这样编码阶段就可以将详细设计中对功能实现的描述,直接翻译、转化为用某种程序设计语言书写的程序。
选课系统查询中,已经注册学工号的师生才有权利查询图书信息.也即选课者向管理员提供其学工号和要查询的课程名和任课老师,管理员首先让系统验证该学工号是否有效,若有效,则可继续输入课程名字和任课教师,给选课者提供查询出课程的具体信息。
管理员信息设置:
初始系统时设置一位管理员(即超级管理员),包括该管理员的编号(如001)/密码/姓名/性别/联系方式/所属部门(维护部,管理部,宣传部等)。
超级管理员拥有最高权限,其他管理员由初始的管理员添加/修改/删除,权限由超级管理员设定,设置为除对管理员数据库进行添加/修改/删除的其他任何权限。
管理员编号:
每位管理员拥有一个编号,作为该管理员登录的用户名,用户名不得重复
密码:
在添加普通管理员时由被添加的管理员自己设置
姓名:
被添加的管理员的真实姓名,判断该管理员是谁,重名者在姓名后添加标志,适当区分
性别:
男/女/空
联系方式:
限定仅为电话号码,不可用邮箱
所属部门:
在添加管理员是选择被添加的管理员是那个部门的(维护部,管理部,宣传部等)
(1)管理员信息的添加
管理员姓名唯一,如有重名管理员,在后注册的管理员姓名后加上01,加以区别,依次类推
此外每个管理员都有一个管理员编号(001,002,003…..),管理员编号由超级管理员按照一定的顺序分配
(2)管理员信息的修改和删除
删除管理员信息时,先验证管理员的编号和密码,由超级管理员从数据库中直接删除
管理员信息的修改只能由超级管理员进行修改
选课时,首先将选课者向系统输入学工号,如果此号有效,才可以进入系统选课,可以继续一门选课的条件是:
学生所选课程还有剩余量;
学生的剩余学分小于所选课程的学分。
两个条件具备则允许学生选课,否则,不允许。
并计算当前学生已选学分,然后将学生所选的课程记录档案,记录所选课程的基本信息。
本次选课活动结束。
6.2程序流程图
6.2.5管理员修改
6.2.6管理员删除
6.3核心代码
选课系统核心代码及数据结构概要
数据库连接模块
构造数据库连接类ADOConn
classADOConn
{