
1、问题定义
现在的大学中,老师和学生都注重理论与实际相结合,开设了很多与课程相配的课程设计。而在实际人工管理中,因为提交的文档作业数量众多,处理复杂,造成管理的混乱。
随着科学技术的不断提高,计算机科学日渐成熟,其强大功能已为人们深刻认识,它已进入人们生活的各个领域,并发挥了越来越重要的作用,针对人工管理的缺点,最好的解决办法就是借助计算机技术提供一个电子化的课程设计管理平台。为了更好地管理设计过程中所产生的资料文档,我们开发一个软件工程课程设计管理系统。教师和学生可以应用该系统实现如下功能:
1、学生使用自己的姓名和学号(密码)登陆后,可以从题库中选择一个题目,并且填写同组的其他同学的姓名,学号,班级,小组长等。且选题一旦保存就不能再更改。
2、学生可以修改自己的密码。可以查询自己的选题情况。学生可以查询自己的课程设计成绩。
3、学生在课程设计的各个阶段的工作报告上传至该系统。
4、教师使用姓名和工资号(密码)登陆后,可以查看学生的选题情况;可以查看学生的设计报告,填写学生的项目进度情况,并且给出最后的分数。
5、教师可以修改自己的密码。教师把课程设计的题目,学习的资料等上传到该系统。
6、其他使用该系统的人,可以以客户身份登陆浏览。
7 本例使用面向对象的需求分析方法分析
性能需求
操作系统: Windows98 以上/ME/2000/XP 等
数据库: Microsoft Access 2000/ SQL Server 2000
2、可行性分析
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.总体分析:比原有方式工作效率高,成本低,出错率低,使学校实现现代化网络教学管理。
3 系统功能分析
1.系统功能的划分:使用该系统有三个角色教师,学生,客户。教师可以查看学生选课情况,可以查看学生设计报告,填写学生项目进度情况,给出最高分,修改密码,上传课程设计题目,学习资料。学生可以查看选课情况和成绩,选课。客户只可以浏览选课信息。
2.系统可分为5个模块:
(1) 基本信息:教师和学生的信息包括教师号,学生号,教师开设的课程设计题目, 学生选的课程设计题目,项目进度和分数。
(2) 选课:显示教师开设的课程设计题目,实现学生选课。
(3) 查询:学生查询可选题,自己选题情况,自己课程设计成绩。教师查询学生选题情况,学生设计报告。
(4) 修改:教师填写项目进度情况和给出分数,学生填写同组的其他同学的姓名,学号,班级,小组长,修改结果存入相应数据库等。
(5) 密码:教师和学生可以修改自己的登陆密码,结果存入用户信息数据库。
4 数据描述
1.系统流程图:
2.数据流程图
简易数据流图:
完整数据流图:
3.数据字典:
数据流描述:
数据流名:用户名密码
数据来源:用户登陆处理
数据去向:验证信息处理。
说明:用户输入用户名和密码
数据组成:用户名+密码
数据流量:小
数据流名:直接登陆
数据来源:用户登陆处理
数据去向:客户界面
说明:普通用户不输入用户名和密码直接以客户身份登陆
数据流名:登陆
数据来源:验证信息处理正确
数据去向:根据验证信息返回条件决定是教师界面还是学生界面
说明:系统登陆到教师界面。
数据流名:选题,资料
数据来源:教师界面的输入选题和资料窗口
数据去向:上传处理
说明:教师输入要上传的课题和资料
数据流名:小组成员信息
数据来源:选课信息界面
数据去向:验证填写信息处理
说明:学生填写同组其他同学姓名,学号,班级,小组长名。
数据流名:工作报告。
数据来源:课题信息界面
数据去向:上传处理
说明:学生将各阶段工作报告上传。
数据流名:设计报告
数据来源:选题信息界面
数据去向:上传处理
说明:学生填写所选课题的设计报告上传。
数据元素词条描述:
元素名:小组信息
描述:小组的同学姓名,学号,班级,组长
定义:同学名+学号+班级+组长名
位置:数据库
元素名:验证
描述:用来区分登陆用户是教师还是学生以及输入信息是否正确
定义:用户名+密码
位置:数据库
4.E-R图:
5.用例图:
用户登陆活动图:
查询,更新活动图:
上传学习资料,设计题目活动图:
修改密码活动图:
5、总体设计
5.1 基本设计概念和处理流程
针对以上系统要完成的功能,本系统总体设计采用自顶向下,逐步细化的方法将功能层
次结构的各个部分组合起来,以完成整个系统的实现细节说明本系统的基本设计概念和处理流程,尽量使用图表的形式。
5.2 软件结构
5.2.1顶层结构:
5.2.2学生事务处理分结构:
5.2.3教师事务处理分结构:
5.2.4过客事务处理结构:
5.4数据结构
说有数据都以数据库形式存储,数据库模式如下所示:
表1
| 表名 | student | |||
| 列名 | 数据类型(精度范围) | 主/外码 | 空/非空 | 约束条件 |
| id | Char(8) | 主码 | 非空 | |
| name | Char(40) | 非空 | ||
| Password | Char(40) | 非空 | ||
| Sex | Char(2) | 非空 | ‘男’OR‘女’ | |
| Char(40) | 非空 | |||
| Isleader | Char(2) | 非空 | ‘是’OR’否’ | |
| Leader | Char(8) | 非空 | ||
| 表名 | teacher | |||
| 列名 | 数据类型(精度范围) | 主/外码 | 空/非空 | 约束条件 |
| id | Char(8) | 主码 | 非空 | |
| name | Char(40) | 非空 | ||
| Password | Char(40) | 非空 | ||
| Char(40) | 非空 | |||
| 表名 | course | |||
| 列名 | 数据类型(精度范围) | 主/外码 | 空/非空 | 约束条件 |
| id | Char(8) | 主码 | 非空 | |
| title | nvarchar(10) | 非空 | ||
| number | nvarchar(10) | |||
| content | ntext | |||
| operateSystem | nvarchar(40) | |||
| dataBaseType | nvarchar(40) | |||
| 表名 | choose | |||
| 列名 | 数据类型(精度范围) | 主/外码 | 空/非空 | 约束条件 |
| masterId | Char(8) | 主码 | 非空 | |
| courseId | Char(8) | 主码 | 非空 | |
| mark | real | |||
| content | ntext | |||
| 表名 | files | |||
| 列名 | 数据类型(精度范围) | 主/外码 | 空/非空 | 约束条件 |
| Id | Char(8) | 主码 | 非空 | |
| leaderId | Char(8) | 外码 | 非空 | |
| Filename | Char(50) | |||
| date | datetime | |||
6.详细设计
6.1.模块设计
本系统模块设计将对总体设计中模块结构进行。
6.1.1.用户登陆模块
(1)用户根据自己不同的身份使用相应的信息登录
(2)系统检查所填信息
(3)错误则转(一)重新输入
(4)进入相应的页面
(5)系统更新登录记录
(6)结束
6.1.2选题、填写小组信息功能模块
(1)进入相应的界面
(2)根据本小组的信息填写相应的内容
(3)系统更新文件
(4)小组浏览题目
(5)系统记录选题信息
(6)系统增加相应记录
6.1.3.上传文件功能模块
(1)进入相应的界面
(2)输入文件内容
(3)系统添加文件
(4)结束
6.1.4.查看功能模块:
(1)用户根据需要查询
(2)系统检查要查询的内容
(3)输入错误转(一)
(4)系统给出相关信息
(5)写主数据文件
(6)写交易流水文件
(7)结束
6.1.5.总体打分模块:
(1)进入相应页面
(2)老师打分
(3)更新数据库
(4)学生在界面看到成绩
(5)退出
6.1.6.填写进度模块:
(1)进入相应页面
(2)小组填写进度
(3)系统更新文件
(4)结束
6.1.1.改密码:
(1)使用原密码登陆系统
(2)系统验证密码,如果密码正确则继续下列操作,否则返回(一)
(3)用户输入新密码
(4)再输入一次新密码进行验证,如果密码正确则继续下列操作,否则返回(三)
(5)系统接受新密码并修改数据库中的密码
(6)如果成功修改数据库转到(八),否则转入(七)
(7)维持原来密码,并提示修改密码失败,返回(三)
(8)提示密码修改成功
(9)结束
6.1.2浏览
(1)用户以游客身份登录系统
(2)浏览系统中公开的信息
(3)推出系统
(4)结束
7心得
参考了一些东西,完成这次作业,收获很大,通过对需求分析的实践,知道了自己的不足,同时也学会了很多通过理论难以理解的东西,会 努力继续实践!!
