软件工程课程设计说明书汤永龙曾国鸿.docx
《软件工程课程设计说明书汤永龙曾国鸿.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计说明书汤永龙曾国鸿.docx(38页珍藏版)》请在冰豆网上搜索。
![软件工程课程设计说明书汤永龙曾国鸿.docx](https://file1.bdocx.com/fileroot1/2023-1/26/a849354f-dc7e-445f-a5c5-fbb53605db37/a849354f-dc7e-445f-a5c5-fbb53605db371.gif)
软件工程课程设计说明书汤永龙曾国鸿
软件工程课程设计说明书
题目:
简易学生选课系统
院、部:
计算机信息科学学院
学生姓名:
汤永龙曾国鸿
指导教师:
陈利平职称教授
专业:
网络工程
班级:
12011202
完成时间:
2015年6月12日
摘要
本系统实现学生选课的基本功能,包括学生退选课,查看自己的选课信息教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。
系统利用.Net平台技术进行开发,实现学生选课的动态管理,使得对信息的管理更加及时、高效,提高了效率。
同时还对系统的开发原理、功能特点和设计方案进行了介绍。
关键词课程设计论文;计算机;学生选课;数据库;软件工程
ABSTRACT
Realizationstudentchoosestheclassthebasicfunctionsofthesystem,includingstudentbackcourse,viewitsownelectiveinformationteachersviewofstudentcourseselectioninformation,submitgrades.Administratorcanaddstudents,studentmanagement,grademanagement,addteachers,administrators,teachersandmanagementcourses.Thesystemusesthe.Netplatformtechnologytodevelopandrealizesthedynamicmanagementofthestudentsselectingcourses,makingthemanagementofinformationmoretimely,efficientandimprovingtheefficiencyofthestudents.Atthesametime,thedevelopmentprinciple,thefunctioncharacteristicandthedesignplanofthesystemareintroduced.
KeywordsCoursedesignpaper;computer;studentscourseselection;database;softwareengineering
第1章概述
通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。
具体如下:
●学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;
●熟悉自动化的软件开发工具RationalRose2003,并将其运用于软件开发的全过程;
●进一步加强和提高软件工程文档的编写能力;
●运用面向对象技术、UML及可视化的建模工具完成系统的需求分析与设计。
●采用分层模式的应用设计模式进行系统的设计实现。
●系统要实现四个模块功能:
教师模块、学生模块、管理员模块和公用模块。
●初步建立系统原型,实现关键的功能,并对系统进行测试。
●编写课程设计报告。
1.1课题题目
简易学生选课系统
1.2系统的主要目标
本系统目标是实现选课系统所需的各种基本功能,包括学生选课、退课功能和教师查看选修课程、提交课程成绩功能以及管理员添加学生、维护学生信息、成绩管理、添加教师、维护教师信息、维护选修课程,还有公用的修改密码等功能。
1.3系统的开发环境及运行环境
操作系统:
WindowsXPProSP2
建模工具:
RationalRose2003
数据库系统:
SQLServer2000
开发工具:
VisualStudio2005
Web服务器:
IIS+ASP.NET2.0平台
1.4软件体系结构
基于B/S模式,通过ASP.NET实现
1.5系统完成情况
初步设计完成,代码区需要完善
1.6软件开发计划
第14周:
实现相关文档编写,如大纲,需求分析,概要设计
第15周:
开始实现代码部分,完成详细设计,完成课程设计
第2章.需求分析
2.1引言
2.1.1使用人员:
项目的技术负责人,系统设计人员,项目管理人员,质量保证人员,项目开发人员
2.1.2编写目的:
本软件需求说明书的编写目是描述一个简化的学生选课系统(以下简称为:
选课系统)在功能、性能、可靠性、出错处理、接口、约束等方面的需求,对选课系统的处理逻辑和流程进行分析,为选课系统的开发和测试提供依据。
同时作为用户和软件开发者对该系统共同的理解,使之成为最后系统验收的一个依据。
2.1.3背景
为了提高学生的选课效率,进一步加强选课系统的性能。
方便简明的服务于学生,管理员,湖南工学院决定重新规划选课系统。
软件系统的名称:
湖南工学院选课系统
项目提出者:
湖南工学院
项目开发者:
网络12届
本系统用户:
学生,老师
2.1.4定义与缩写
术语:
学生
解释:
选课的主体
术语:
老师
解释:
确定选课信息并配合安排选课的上课时间与地点
术语:
管理员
解释:
管理系统的相关人员
术语:
B/S
解释:
浏览器/服务器结构
术语:
选课
解释:
学生选择某一课程作为选修科目,并与必修科目区分开来。
术语:
学分
解释:
每门课程对应1~2分不等的学分点,每选修完成一门课程并考试合格的学生获得相应学分。
2.2.任务概述
2.2.1目标
为了提高学生的选课效率,进一步加强选课系统的性能。
方便简明的服务于学生,管理员,湖南工学院决定重新规划选课系统。
具体的操作包括:
√支持客户进行新的输入、查询、修改和删除
√支持管理员进行数据的更新维护,以及课程的安排
√支持老师和学生的互动协调课程
√支持与其他系统,如学生信息系统,教师信息系统的协调
√可进行退课选课操作
要求系统能有效、快速、安全、可靠和无误地完成上述操作。
并要求用户界面要简单明了,易于操作,服务程序易于维护、安全可靠。
2.2.2用户特点
用户分为网络选课的学生、老师和对系统进行管理的管理员。
管理人员对本系统的使用频率最高,但他们的操作水平相应的要求会高些,应对他们进行相应的培训。
普通的客户普遍对系统不了解,所以外部的交互部分要简洁易懂。
2.2.3应用环境
专用于湖南工学院选课
登陆后,只能对本账号的课程进行操作,不能为其他用户选课。
2.2.4假定和约束
选课规则:
1、该系统有若干管理员(Administrator),管理员有各自登陆系统需要的id和password,可直接对数据库进行操作。
2、教师或学生为管理员提供信息后,管理员可以依此设置系统,修改数据库的资料,如增删或修改学生、教师和课程的信息。
3、学生有各自的ID和password,院系,在登陆界面成功登陆后进入选课界面。
4、课程有课程ID,授课教师,课容量等,可记录选课人数,计算课余量,有bool值draw标志选该课程的学生是否需抽签。
5、选课界面显示学生信息,学生已选课程信息,可增加的课程并提示是否有课程需抽签,有则提供该课ID。
6、选课前判断增删合法性。
7、如果一门课程的课余量不为0且不与学生已选的其它课程冲突,学生可选择该课。
8、如果选课人数大于课容量,学生必须抽签,抽签成功则该课被保留,不成功该课被删除。
9、学生可删除任意已选的课程。
10、该系统通过提供课程ID来查询,增删,修改课程和对课程进行抽签。
人力资源时间约束:
●合同总额为(人民币大写):
贰拾万元整。
其中,系统开发:
拾贰元整,软件和硬件购置费用:
陆万元整,后期维护及培训费:
贰万元整.
●开发周期为自合同签定之日起,三个月内交付产品
采用B/S(浏览器/服务器)结构开发系统
2.3.需求规定
2.3.1对功能的规定
业务流程:
图2.3.1业务流程图
管理员用例图
图2.3.2管理员用例图
学生用例图
图2.3.3学生用例图
教师用例图
图2.3.4教师用例图
数据字典:
名称:
管理员资料
描述:
存放所有管理员的基本信息
组成:
姓名+ID+密码+身份证号码+联系电话
查询要求:
能够立即查询,只有管理员能够查询和使用
名称:
学生资料
描述:
存放学生自身的基本信息
组成:
姓名+学号+密码+注册时间+身份证号码+联系电话
查询要求:
能够立即查询,只有管理员和会员自己能够查询(密码除外)。
名称:
老师资料
描述:
存放所有已订票或曾经订票客户的基本信息
组成:
姓名+身份证号码+联系电话
查询要求:
能够立即查询,只有管理员能够看到。
名称:
可选课程列表
描述:
存放管理员设计的可以供学生选修课程信息
组成:
课程号+授课周数+授课时间+地点+选修人数+备注
查询要求:
能够立即查询,学生可以查询
名称:
开设课程列表
描述:
存放经管理员统计选修人数多于20人的确定开设的课程信息
组成:
课程号+教师号+授课周数+授课时间+地点+选修人数
查询要求:
能立即查询,学生和教师可以查询
名称:
选课信息
描述:
存放学生选择的选修课程以及成绩
组成:
学号+课程号+成绩+备注
查询要求:
学生可以查询自己的有关信息,教师可以查询选修相应课程的所有学生成绩
名称:
任课信息
组成:
教师号+课程号+学期+授课周数+授课时间+地点+备注
查询要求:
可以立即查询,教师可以查询
2.3.2对性能的规定
查询要求:
能够立即查询,只有会员和游客能够查询。
精度:
精确到整数,范围1~2
时间特性要求:
●网络响应时间:
小于15秒,否则显示操作超时
●一般更新处理时间:
小于1秒
●系统响应时间:
小于3秒
●数据库读写响应时间:
小于2秒
●并发响应顺序,先到先得
灵活性:
运行环境的变化:
支持winXp,Win7,Win8系统的运行以及后台数据库管理系统的变化
2.3.3输人输出要求
自行判断输入,如果输入不合法,应当会有相应的提示;如果合法,才能进行正常操作。
如果一门课程的课余量不为0且不与学生已选的其它课程冲突,学生可选择该课。
2.3.4数据管理能力要求
数据冗余性低,数据之间要求一致,不出现矛盾
数据完整,不缺少相关的数据
2.3.5故障处理要求
数据库:
可以恢复备份的数据库。
服务器:
可以更换或修复服务器,并恢复备份的数据。
2.3.6其他专门要求
暂无
2.4.运行环境规定
2.4.1设备:
服务器端子系统的运行要求
硬件要求:
HPML570G2(345317-AA1),4GRAM,300GHD
客户端子系统的运行要求
硬件要求:
PentiumIII450以上,256MRAM,10GHD
2.4.2支持软件:
服务器端子系统的运行要求
系统软件:
MicrosoftServer2003及以上版本
数据库管理系统:
MicrosoftSQLServer2000及以上版本
操作系统:
WindowsXPProSP2
建模工具:
RationalRose2003
开发工具:
VisualStudio2005
Web服务器:
IIS+ASP.NET2.0平台
客户端子系统的运行要求
系统软件:
Window2000/XP及Window7,Window8
2.4.3接口
与学生管理系统,教师管理系统的关系
与学生管理系统,教师管理系统进行资料核实,并可以获取部分数据
2.4.4控制
暂无
第3章软件设计
3.1总体结构设计
学生选课系统是实现学生选课退课、教师提交成绩以及学校教务管理员维护信息的一个平台,整个学生选课系统有前台和后台两部分,共分为4个模块:
管理员模块,教师模块,学生模块和公有模块,分别用于完成各自的功能。
以下为学生选课系统总体设计图和各功能模块说明:
3.1.1总体设计图
图3.1学生选课系统总体设计图
3.1.2各模块功能
功能模块分成管理员模块,教师模块,学生模块,公有模块;而管理员模块接着划分为学生管理模块,教师管理模块,课程管理模块。
功能模块
包含子功能模块
功能
管理员模块
学生管理子模块
对学生信息的添加、修改,删除操作
教师管理子模块
对教师的添加,修改,删除,查询操作
课程管理子模块
对课程的添加,添加时为其分配任课教师,上课时间和地点,实现对课程的修改,删除,查看某个课程的详细信息等
教师模块
实现查看自己所教授的课程,课程有哪些学生选修,以及利用本系统提交学生的成绩
学生模块
实现学生选课,查看所选课程,修改自己的选课信息
公有模块
实现用户的身份验证,密码修改,退出系统等功能
表3.2学生选课系统功能模块表
3.1.3设计数据管理子系统
(1)数据库表
序号
数据库表
数据表存储的内容
1
Student
存储学生的信息
2
Teacher
存储教师的信息
3
Users
存储管理员的信息
4
Elect
存储选课统计的信息
5
Cource
存储课程的信息
表3.3数据库表
类图说明:
图3.4数据表之间的关系图
(1)BaseUser类是一个系统角色用户的基类,主要方法有两个:
modifyPWD()用于修改用户的密码;
loginCheck()用于用户登录验证。
(2)Admin类继承自BaseUser类。
(3)Student类继承自BaseUser类,主要方法有:
studentAdd()用于添加学生;
studentDel()用于删除学生;
studentUpdate()用于更新学生信息;
getStudents()用于获取学生列表。
(4)Teacher类继承自BaseUser类,主要方法有:
teacherAdd()用于添加教师;
teacherDel()用于删除教师;
teacherUpdate()用于更新教师信息;
getTeachers()用于获取教师列表。
(5)Course类是一个课程类,主要方法有:
courseAdd()用于添加课程;
courseDel()用于删除课程;
courseUpdate()用于修改课程信息;
getCourses()用于获取课程列表。
(6)Elect类是一个选课表类,主要方法有:
elect()选修课程;
electDel()退选课程;
getElectInfo()获取选课信息;
haveSubmit()检测是否已提交过成绩;
submitScore()提交成绩。
顺序图
(1)管理员修改课程信息顺序图
图3.5管理员修改课程信息顺序图
(2)学生用户退选课的顺序图
图3.6学生用户退选课的顺序图
(3)教师提交成绩顺序图
图3.7教师提交成绩顺序图
协作图
(1)学生用户选课协作图
图3.8学生用户选课协作图
(2)教师提交成绩协作图
图3.9教师提交成绩协作图
(3)数据库表结构
①学生表Student的详细数据字段:
序号
字段名
字段类型
说明
备注
1
stuID
nvarchar(20)notnull
学生学号
关键字
2
stuPwd
nvarchar(20)notnul
学生密码
3
stuSex
Char(4)
学生性别
4
stuName
nvarchar(20)notnul
学生姓名
5
stuDepart
Int
学生系院号
6
stuGrade
int
学生年级
7
stuClass
int
学生班级
表3.10Student学生用户表
②教师表Teacher的详细数据字段:
序号
字段名
字段类型
说明
备注
1
teaID
nvarchar(20)notnull
教师编号
关键字
2
teaPwd
nvarchar(20)notnull
教师密码
3
teaName
nvarchar(100)notnull
教师姓名
4
teaDepart
Int(4)
教师系院号
5
teaTel
Char(11)
教师联系方式
表3.11Teacher教师用户表
③课程表Course的详细数据字段:
序号
字段名
字段类型
说明
备注
1
courseID
nvarchar(20)notnull
课程编号
关键字
2
teaID
nvarchar(20)notnull
教师编号
关键字
3
courseName
nvarchar(100)notnull
课程名称
4
courseTime
nvarchar(20)
上课时间
5
courseAddress
nvarchar(50)
上课地点
6
courseInfo
Text
课程简介
表3.12Cource课程信息表
④选课表Elect的详细数据字段:
序号
字段名
字段类型
说明
备注
1
stuID
nvarchar(20)notnull
学生学号
关键字
2
courseID
nvarchar(20)notnull
课程编号
关键字
3
teaID
nvarchar(20)notnull
教师编号
关键字
4
Score
int
课程成绩
表3.13Elect选课信息表
⑤系统管理员表Users的详细数据字段:
序号
字段名
字段类型
说明
备注
1
adminName
nvarchar(20)notnull
系统管理员用户名
关键字
2
adminPwd
nvarchar(20)notnull
系统管理员密码
表3.14Users管理员表
3.1.4设计人机交互子系统
(1)用户分类
本系统的用户可分为三类:
①管理员用户;
②教师用户;
③学生用户。
(2)用户描述
①管理员用户的描述:
管理员用户在整个选课系统中起到管理和维护的作用,对学生和教师的信息进行管理和维护以及开设课设等职责。
②教师用户的描述:
教师用户在本系统中具有管理选修了自己开设的课程的学生的权限,查看选修了自己开设课程的学生信息有及提交学生成绩。
③学生用户的描述:
选课系统主要是针对管理学生的,学生在本系统中具有修改自己的信息,以及选课和退选的功能。
(3)设计命令层次
①系统的人机交互子系统的内容和准则:
本学生选课系统的人机交互子系统在根据不同的用户身份登陆到不同的页面,然后按照不同的用户只能进行用户权限内的操作,其结构图如下:
图3.15人机交互子系统结构图
②通过采用树形结构,细化命令的组织方式,如下:
图3.16细化命令组织方式
系统界面由学生用户界面,管理员界面,教师用户界面共同组成,学生用户可以通过系统选课,查看选课,退选。
管理员可以退过系统进行学生管理,教师管理和课程管理,教师可以通过系统进行课程信息发布和成绩发布。
管理员可以删除,添加,修改学生用户,教师用户,课程。
3.2详细设计
学生选课系统是实现学生网上选课、教师提交成绩以及学校教务管理员维护信息的一个平台,整个学生选课系统共分为4个大模块:
管理员模块,教师模块,学生模块和公有模块,其中复杂的方法和模块的详细设计流程图如下。
1系统用户登录流程图
输入用户名,密码进行系统登录,登陆前进行验证,成功进入系统,失败则提示登录失败,进入后可以进行相应的操作,在不同的用户界面。
图3.17系统用户登录流程图
2.用户密码修改流程图
输入旧密码,新密码,验证旧密码正确与否,新密码是否符合规则,合法则进行修改,不合法则提示重新输入。
图3.18用户密码修改流程图
3教师提交成绩流程图
教师登陆系统,输入成绩,检查成绩是否已经存在,不存在就提交成功,否则提交失败
图3.19教师提交成绩流程图
4管理员添加课程流程图
管理员登陆界面后添加课程,填写课程信息,填写课程编号,查看是否符合规则,不符合重新填写,符合添加成功。
图3.20管理员添加课程流程图
5.学生选修课程流程图
学生登陆系统后进行选课,选课后比较选课时间和当前课程时间,冲突则提示不能选修不冲突则成功,成功后若想要退选,则退选,然后更新课程信息。
图3.21学生选修课程流程图
3.3系统实现
本系统采用了三层架构来实现,即分为用户界面层(UI)、业务逻辑层(BLL)和数据访问层(DAL),用户界面层是展示给用户的界面,方便用户与系统进行交互;业务逻辑层是对系统业务实体的封装,完成系统业务功能;数据访问层直接与数据库打交道,为业务逻辑层提供底层的数据库操作。
第4章软件测试
4.1测试计划
4.1.1软件说明
功能
输入
输出
指标
学生管理
用户名
登录系统
nvarchar(20)notnull
密码
nvarchar(20)notnull
教师管理
用户名
登陆系统
nvarchar(20)notnull
密码
nvarchar(20)notnull
课程管理
课程名
所有的剩余课程数
nvarchar(20)notnull
管理员管理
用户名
进入系统
nvarchar(20)notnull
密码
nvarchar(20)notnull
密码管理
原密码
修改成功
nvarchar(20)notnull
新密码
nvarchar(20)notnull
表4.1测试模块表
4.1.2测试内容
列出组装测试和确认测试中的每一项测试内容的名称标识符、这些测试的进度安排以及这些测试的内容和目的,例如模块功能测试、接口正确性测试、数据文卷存取的测试、运行时间的测试、设计约束和极限的测试等。
4.1.3测试1(教师管理)
测试教师发布课程功能是否完善
进度安排
测试安排
测试内容
测试时间
用户名
测试用户名是否符合规则:
超过nvarchar(20)是否能够处理,是否识别空
2015年6月12日
密码
测试密码是否符合规则:
超过nvarchar(20)是否能够处理,是否识别空
2015年6月12日
教师编号
测试编号是否符合规则:
超过nvarchar(20)是否能够处理,是否识别空
2015年6月12日
课程编号
测试编号是否符合规则:
超过nvarchar(20)是否能够处理,是否识别空
2015年6月12日
教师系别
测试密码是否符合规则:
超过int(4)是否能够处理,是否可以为空
2015年6月12日
表4.2教师管理测试用例表
条件
测试硬件资源:
硬件要求:
HPML570G2(345317-AA1),4GRAM,300GHD
测试软件资源:
windows系统