软件工程课程设计-学生选课系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程课程设计管理系统
姓名姓名::
专业专业::
计算机科学与技术 班级班级::
学号学号::
一、问题定义
问题定义
现在的大学中,老师和学生都注重理论与实际相结合,开设了很多与课程相配的课程设计。

而在实际人工管理中,因为提交的文档作业数量众多,处理复杂,造成管理的混乱。

随着科学技术的不断提高,计算机科学日渐成熟,其强大功能已为人们深刻认识,它已进入人们生活的各个领域,并发挥了越来越重要的作用,针对人工管理的缺点,最好的解决办法就是借助计算机技术提供一个电子化的课程设计管理平台。

为了更好地管理设计过程中所产生的资料文档,我们开发一个软件工程课程设计管理系统。

教师和学生可以应用该系统实现如下功能:
1、学生使用自己的姓名和学号(密码)登陆后,可以从题库中选择一个题目,并且填写同
组的其他同学的姓名,学号,班级,小组长等。

且选题一旦保存就不能再更改。

2、学生可以修改自己的密码。

可以查询自己的选题情况。

学生可以查询自己的课程设计成
绩。

3、学生在课程设计的各个阶段的工作报告上传至该系统。

4、教师使用姓名和工资号(密码)登陆后,可以查看学生的选题情况;可以查看学生的设计报告,填写学生的项目进度情况,并且给出最后的分数。

5、教师可以修改自己的密码。

教师把课程设计的题目,学习的资料等上传到该系统。

6、其他使用该系统的人,可以以客户身份登陆浏览。

性能需求
操作系统: Windows98 以上/ME/2000/XP 等
数据库: Microsoft Access 2000/ SQL Server 2000
二、可行性分析
1. 问题:
(1)目前的课程设计管理系统由人工统计处理。

(2)站用一个办公室和2-3个职工专门用来管理课程设计选课,每天有固定工作时间8小时。

(3)每人工资在每月2000-3000元。

(4)需要选题的同学按班级的方式报上来,经核对分配后方才生效,在通知老师选题情况。

双方如有问题还需在工作时间来此解决。

(5)由于是人工处理且工作量大,所以效率低,出错率高,修改麻烦。

2.项目目标:学生和老师可以方便的选课,同时可以查询和修改各自的信息,以便学校管理。

3.运行环境:
(1)以Windows98 以上/ME/2000/XP作为学生选课管理系统的后台操作系统。

(2)前台开发程序为JAVA,SQL Server 2000。

(3)后台数据库为Microsoft Access 2000/ SQL Server 2000。

(4)主要硬件设备:PC机一台。

4. 开发风险:浪费资金人力,会影响原有管理方式,总体风险不大。

5. 经济可行性:
成本估计:一台计算机每天电费(工作18小时以上),需要4-5名管理远和数据库维护人员每天工资(每天工作在8小时以上),人员培训费用,定期软硬件更新费用,每年总运营费用,杂项费用。

资源分析:现有计算机比较充足,相关人才在学校内就能找到,工资要求低。

6.技术可行性:我校计算机系以及其他系都有软硬件知识丰富,具有较高的文化水平和计算机操作水平,可以设计管理该系统的学生和老师,且课余时间丰富,
可以学习和了解在设计和应用当中会遇到或可能遇到的技术问题。

我校许多专业都以开设类似的课程设计题目,学生和老师在技术方面已经有经验,正缺少这样的实践机会。

7.法律可行性:虽然其他学校也有类似的管理系统,但都主要在本校使用,没有涉及到盈利方面,我校设计该系统也本着让学生和老师把握一次学习实践的机会的目的,锻炼他们的开发技术和能力,不会去抄袭已经设计好的管理系统,如有借鉴的地方发布时也会说明,而且该系统是本着方便学生学习的目的,而非盈利目的,所以不会和法律相冲突。

8.总体分析:比原有方式工作效率高,成本低,出错率低,使学校实现现代化网络教学管理。

系统功能分析
(三)系统功能分析
1.系统功能的划分:使用该系统有三个角色教师,学生,客户。

教师可以查看学生选课情况,可以查看学生设计报告,填写学生项目进度情况,给出最高分,修改密码,上传课程设计题目,学习资料。

学生可以查看选课情况和成绩,选课。

客户只可以浏览选课信息。

2.系统可分为5个模块:
(1) 基本信息:教师和学生的信息包括教师号,学生号,教师开设的课程设计题目, 学生选的课程设计题目,项目进度和分数。

(2) 选课:显示教师开设的课程设计题目,实现学生选课。

(3) 查询:学生查询可选题,自己选题情况,自己课程设计成绩。

教师查询学生选题情况,学生设计报告。

(4) 修改:教师填写项目进度情况和给出分数,学生填写同组的其他同学的姓名,学号,班级,小组长,修改结果存入相应数据库等。

(5) 密码:教师和学生可以修改自己的登陆密码,结果存入用户信息数据库。

数据描述
(四)数据描述
1.系统流程图:
2.数据流程图
简易数据流图:
完整数据流图:
3.数据字典:
数据流描述:
数据流名:用户名密码
数据来源:用户登陆处理
数据去向:验证信息处理。

说明:用户输入用户名和密码
数据组成:用户名+密码
数据流量:小
数据流名:直接登陆
数据来源:用户登陆处理
数据去向:客户界面
说明:普通用户不输入用户名和密码直接以客户身份登陆数据流名:登陆
数据来源:验证信息处理正确
数据去向:根据验证信息返回条件决定是教师界面还是学生界面说明:系统登陆到教师界面。

数据流名:选题,资料
数据来源:教师界面的输入选题和资料窗口
数据去向:上传处理
说明:教师输入要上传的课题和资料
数据流名:小组成员信息
数据来源:选课信息界面
数据去向:验证填写信息处理
说明:学生填写同组其他同学姓名,学号,班级,小组长名。

数据流名:工作报告。

数据来源:课题信息界面
数据去向:上传处理
说明:学生将各阶段工作报告上传。

数据流名:设计报告
数据来源:选题信息界面
数据去向:上传处理
说明:学生填写所选课题的设计报告上传。

数据元素词条描述:
4.E-R图:
5.用例图:
用户登陆活动图:
查询,更新活动图:
上传学习资料,设计题目活动图:
修改密码活动图:
其他需求::无
(五)其他需求
四、总体设计
4.1基本设计概念和处理流程
针对以上系统要完成的功能,本系统总体设计采用自顶向下,逐步细化的方法将功能层
次结构的各个部分组合起来,以完成整个系统的实现细节说明本系统的基本设计概念和处理流程,尽量使用图表的形式。

4.2 软件软件结构结构 4.2.1顶层结构:
4.2.2学生事务处理分结构:
4.2.3教师事务处理分结构:
4.2.4过客事务处理结构:
4.3 界面设计
采用的界面大致如下图所示:
图1 登陆界面
图2 教师功能界面
图3 组长功能界面
图4 组员功能界面
4.4数据结构
说有数据都以数据库形式存储,数据库模式如下所示:
表1
表名student
列名数据类型(精度
主/外码空/非空约束条件
范围)
id Char(8) 主码非空
name Char(40) 非空
Password Char(40) 非空
Sex Char(2) 非空‘男’OR‘女’Email Char(40) 非空
Isleader Char(2) 非空‘是’OR’否’ Leader Char(8) 非空
表2
表名teacher
列名数据类型(精度
主/外码空/非空约束条件
范围)
id Char(8) 主码非空
name Char(40) 非空
Password Char(40) 非空
Email Char(40) 非空
表3
表名course
列名数据类型(精度
主/外码空/非空约束条件
范围)
id Char(8) 主码非空
title nvarchar(10) 非空
number nvarchar(10)
content ntext
operateSystem nvarchar(40)
dataBaseType nvarchar(40)
表4
表名choose
主/外码空/非空约束条件列名数据类型(精度
范围)
masterId Char(8) 主码非空
courseId Char(8) 主码非空
mark real
content ntext
表5
表名files
主/外码空/非空约束条件列名数据类型(精度
范围)
Char(8) 主码非空
Id
leaderId Char(8) 外码非空
Filename Char(50)
date datetime
五.详细设计
详细设计
5.1.模块设计
本系统模块设计将对总体设计中模块结构进行。

5.1.1.用户登陆模块
(1)用户根据自己不同的身份使用相应的信息登录
(2)系统检查所填信息
(3)错误则转(一)重新输入
(4)进入相应的页面
(5)系统更新登录记录
(6)结束
5.1.2选题、填写小组信息功能模块
(1)进入相应的界面
(2)根据本小组的信息填写相应的内容
(3)系统更新文件
(4)小组浏览题目
(5)系统记录选题信息(6)系统增加相应记录5.1.3.上传文件功能模块 (1)进入相应的界面 (2)输入文件内容
(3)系统添加文件
(4)结束
5.1.4.查看功能模块:(1)用户根据需要查询(2)系统检查要查询的内容(3)输入错误转(一)(4)系统给出相关信息(5)写主数据文件
(6)写交易流水文件(7)结束
5.1.5.总体打分模块:
(1) 进入相应页面
(2) 老师打分
(3) 更新数据库
(4) 学生在界面看到成绩
(5) 退出
(1)进入相应页面
(2)小组填写进度
(3)系统更新文件
(4)结束
5.1.7.改密码:
(1)使用原密码登陆系统
(2)系统验证密码,如果密码正确则继续下列操作,否则返回(一)
(3)用户输入新密码
(4)再输入一次新密码进行验证,如果密码正确则继续下列操作,否则返回(三)
(5)系统接受新密码并修改数据库中的密码
(6)如果成功修改数据库转到(八),否则转入(七)
(7)维持原来密码,并提示修改密码失败,返回(三)
(8)提示密码修改成功
(9)结束
5.1.8浏览
(1)用户以游客身份登录系统
(2)浏览系统中公开的信息
(3)推出系统
(4)结束
5.2测试用例及分析
5.2.1白盒测试
登录模块:
1.Userid=“”usercode=0463001 预期结果:"用户名不能放空!" 2.Userid=0463001, usercode=“”预期结果:"密码不能放空!" 3.Userid=01234, usercode=01234 预期结果:"该用户不存在!" 4.Userid=0463001, usercode=01234 预期结果:"密码错误!"
修改密码模块:
1.old= 0463006,new1=046666,new2=046666
预期结果= "密码修改成功!"
2.old=0463005,new1=046666,new2=046666
预期结果= "你输入的旧密码不正确!"
3.old=0463006,new1=046666,new2=046677
预期结果= "两次输入的新密码不一样,请核对你的新密码!"
5.2.2黑盒测试用例
等价类划分法:
1.学生初始密码的等价类划分:
有效等价类:
(1)0463001---0463084
(2)0348041,0348043,0348072
无效等价类:
除有效等价类列出的学号
输入数据 期望结果 覆盖范围
0463060 输入有效 有效等价类(1) 1234567 输入无效 无效等价类
2.老师初始密码的等价类划分:
有效等价类:
00000000----99999999
无效等价类:
(1)小于00000000
大于99999999
输入数据 期望结果 覆盖范围
00000001 输入有效 有效等价类
-111111111 输入无效 无效等价类(1) 100000000 输入无效 无效等价类(2)
3.学生用户名的等价类划分:
有效等价类:
(1)0463001---0463084
(2)0348041,0348043,0348072
无效等价类:
除有效等价类列出的学号
输入数据 期望结果 覆盖范围 0463060 输入有效 有效等价类(1) 0348041 输入有效 有效等价类(2) 1234567 输入无效 无效等价类
4.老师用户名的等价类划分:
有效等价类:
00000000----99999999
无效等价类:
(1)小于00000000
(2)大于99999999
输入数据 期望结果 覆盖范围 00000001 输入有效 有效等价类
-111111111 输入无效 无效等价类(1) 100000000 输入无效 无效等价类(2)
5.学生修改密码的等价类划分:
有效等价类:
0000000000----9999999999
无效等价类:
(1)小于0000000000
(2)大于9999999999
输入数据 期望结果 覆盖范围
00000001 输入有效 有效等价类
-111111111 输入无效 无效等价类(1) 100000000 输入无效 无效等价类(2)
6.老师修改密码的等价类划分:
有效等价类:
0000000000----9999999999
无效等价类:
(1)小于0000000000
(2)大于9999999999
输入数据 期望结果 覆盖范围 00000001 输入有效 有效等价类
-111111111 输入无效 无效等价类(1) 100000000 输入无效 无效等价类(2)
7.组长学号,成员学号的等价类划分:
有效等价类:
(1)0463001---0463084
(2)0348041,0348043,0348072
无效等价类:
除有效等价类列出的学号
输入数据 期望结果 覆盖范围 0463060 输入有效 有效等价类(1) 0348041 输入有效 有效等价类(2) 1234567 输入无效 无效等价类
8.分数的等价类划分:0----100
有效等价类:
0----100
无效等价类: (1) 小于0 (2) 大于100 输入数据 期望结果 覆盖范围 66 输入有效 有效等价类 -11 输入无效 无效等价类(1) 1000 输入无效
无效等价类(2)

.综合测试综合测试
6.1.自顶向下增殖方式 6.1.1.学生功能系列
教师,过客的功能与其相仿,此略。

6.2.自底向上驱动方式 6.2.1.学生系列功能
调用从属模块 调用从属模块 调用从属模块 其它功能与其相仿,此略。

七.软件维护软件维护
本应用软件主要有三种维护。

7.1.改正性维护
在软件交付使用初期,由于某种原因,软件存在一些错误或缺陷。

需要由软件开发小组按用户要求对系统进行改正性维护。

如要实现一些其他的教学功能等。

7.2.适应性维护
查询(资料)模块 驱动程序
修改(密码)模块 驱动程序
当使用课程设计管理系统使用人数和科目的增加。

计算机机型和操作系统都相应升级。

需要对原应用系统作出一定的调整,以适应新的硬件和软件环境。

如数据库更新,计算机升档等。

7.3.完善性维护
在系统使用几年后,该应用系统可能不适应业务的发展。

用户对软件提出了新的需求和性能要求。

如增加新的统计报表,完善用户界面,数据库文件需要增加字段等。

本系统开发设计力求模块化,可理解,易维护并按软件工程方法对每一阶段都有详细的文档资料。

相关文档
最新文档