软件工程课程设计范例.docx
- 文档编号:11634475
- 上传时间:2023-03-29
- 格式:DOCX
- 页数:39
- 大小:578.56KB
软件工程课程设计范例.docx
《软件工程课程设计范例.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计范例.docx(39页珍藏版)》请在冰豆网上搜索。
软件工程课程设计范例
软件工程课程设计管理系统
姓名:
年级:
院系:
专业:
指导教师:
2015年5月31日
一、问题定义
1编写目的
计算机专业的学生有90多名,而且随着每年的扩招,人数不断的增加,每次软件工程课程设计都采用手工操作,费时费力。
为了解决这个问题,决定做一个软件工程课程设计管理系统,对每个学期选修软件工程课程设计的学生基本情况作个统计。
主要是学生从该系统中选题,填写同组学生的姓名,学号,班级,组长等基本情况;查询自己的课程设计成绩。
老师通过该系统查看学生的选题情况,填写学生的项目进度情况,且给出学生的分数,这有利于老师教学,及时了解学生的情况,提高教学质量,减轻老师的工作量,改善原有的比较繁锁的工作。
2项目背景
名称:
软件工程课程设计管理系统
任务的开发人员:
马少兵,丁海晗,杨海军,郭威,蓝添平,揣新立
用户:
信息工程学院
本次开发人员:
杨海军
审核者:
丁海晗
开发软件的单位:
信息工程学院05级计算机三班
软硬件设施:
个人计算机,java语言,Acess2000,WindowXP操作系统
决定开发软件工程课程设计管理系统,估价不超过1000元人民币,二个半月交付使用。
3定义
软件工程:
软件测试:
4参考资料:
软件工程基础汤淮西安交通大学出版社
软件工程-----技术,方法与环境王立福,张世琨,朱冰编著北京大学出版社
软件开发技术倪秉营电子科技大学出版社
软件工程张权范清华大学出版社
二、可行性研究报告
1.系统概述
1.1当前系统分析
一方面,由于学生人数多,造成老师不能及时了解学生的选题情况,分组情况,以及学生的项目进展情况;学生也不能及时得到老师关于课程设计的各种资料,对自己的每个阶段的分数。
另一方面由于开发经费有限,难以建立起理想的软硬件支撑环境,也是当前系统不够完善、不稳定和不易上手的一个方面。
数据流如图所示:
1.2目标系统分析
在以最低研发费用前提下制作一套通用性很强的软件工程课程设计管理系统,并且能够提供完备的软件课程设计管理功能。
学生选题,修改密码,查询选题情况,教师查看学生的选题情况,填写进度情况,给出分数,上传资料功能完备的系统。
系统主要功能:
●学生可以从题库选择题目。
●学生填写同组人员信息。
●修改密码。
●学生查询选题情况和成绩。
●学生,老师能够上传有关题目的资料和报告。
●老师查看选题情况。
●教师填写进度情况表,给出分数。
2.可行性分析研究
2.1技术可行性:
我们计算机系有软硬件知识丰富,具有较高的文化水平和计算机操作水平,可以设计管理该系统的学生和老师,且课余时间丰富,可以学习和了解在设计和应用当中会遇到或可能遇到的技术问题。
我校许多专业都以开设类似的课程设计题目,学生和老师在技术方面已经有经验,正缺少这样的实践机会。
系统流程图:
数据流图:
2.2经济可行性:
我们组考虑了三种方案,具体如下:
(1)低成本方案:
仍然按照以前的教学方式,进行教学。
(2)中等成本方案:
设计仅关于软件工程课程设计的管理系统。
(3)高成本方案:
设计整个学院教学管理系统,加速学院教学质量的提高。
我们经过讨论,最终认为当前适合选择中等成本方案。
●中等方案系统流程图:
●中等成本方案的成本/效益分析
开发成本:
人力(6人月,500元/人月)
6000元
购买硬件
0元
资料费
50元
总计
6050元
新系统的维护费用:
维护
1000元/年
总计
1000元/年
现行系统的运行费用:
1500元/年
每年节省的费用:
年节省现在值(10%)累计现在值
1500元454.5元454.5元
2500元413.2元867.7元
3500元375.7元1243.4元
投资回收期:
2.33年
纯收入:
243.4元
●实现中等成本方案软件工程课程设计的计划:
阶段
需要时间(周)
负责人
可行性研究
1(7)
杨海军,蓝添平
需求分析
2(8-9)
蓝添平,杨海军,郭威
概要设计
2(10-11)
丁海晗,马少兵,揣新立
详细设计
2(12-13)
郭威,杨海军,蓝添平
实现
2(14-15)
马少兵,揣新立,丁海晗
测试
1(16)
郭威,蓝添平
总计
9
2.3社会可行性:
(1)由于使用该系统教学,可以在很大程度上解决教师与学生,在信息沟通方面的问题,是完全得到学院领导支持的。
我们研发小组会很好的行使合同上的权力和履行合同上的义务,并且该系统已经申请了专利版权,对侵权行为均会予以追究。
(2)该系统对工作制度并无要求,随时操作随时处理,而对于工作人员的素质,只要具有使用该系统权限的教师和学生都可以使用,并不需任何计算机方面的专业知识即可上手操作。
根据上述分析,该系统完全符合教学管理的要求。
3.结论意见
综合经济可行性、技术可行性、社会可行性等各个方面因素的考虑,对软件工程课程设计管理系统进行了可行性研究,可知,开发该软件工程课程设计管理系统是完全可行的。
三、需求分析
1.任务概述
该软件工程课程设计管理系统软件目前已有比较完善的管理与使用功能。
研制软件工程课程设计管理系统软件是为了满足软件工程教师与学生方便对课程的各种管理与操作。
1.1目标:
1.1.1开发意图:
a.为了软件工程课程管理系统更完善;
b.为了软件工程课程管理更方便;
c.为了减轻软件工程管理工作人员的工作负担;
d.为了加强学院的正规化管理;
1.1.2应用目标:
通过本系统软件,能帮助课程设计教师利用计算机,快速方便的对课程进行管理,上传资料,填写进度报告,查找的所需操作。
1.1.3产品描述:
本产品是一种工作在windows系统平台的软件,它是以Acess数据库。
1.1.4产品功能:
1.系统功能划分:
使用该系统有三个角色教师,学生,客户。
教师可以查看学生选课情况,可以查看学生设计报告,填写学生项目进度情况,给出分数,修改密码,上传课程设计题目,学习资料。
学生可以查看选课情况和成绩,选课。
客户只可以浏览选课信息。
2.系统可分为5个模块:
(1)基本信息:
教师和学生的信息包括教师号,学生号,教师开设的课程设计的题目,学生选的课程设计题目,项目进度和分数。
(2)选课:
显示教师开设的课程设计题目,实现学生选课。
(3)查询:
学生查询可选题,自己选题情况,自己课程设计成绩。
教师查询学生选题情况,学生设计报告。
(4)修改:
教师填写项目进度情况和给出分数,学生填写同组的其他同学的姓名,学号,班级,小组长,修改结果存入相应数据库等。
(5)密码:
教师和学生可以修改自己的登陆密码,结果保存用户信息数据库。
1.1.5软件开发的时间与费用:
经过我们小组的再次讨论,开发该软件管理系统所需要的时间和费用如下:
时间要求:
两个半月。
费用要求:
1000RMB
1.1.6安全性:
设立三种级别的用户:
Student,Teacher,Guest,对每种类型的用户设置不同的权限。
Student:
查询分数,课程设计报告上传功能
Teacher:
提供对系统的实际操作功能
Guest:
提供信息浏览功能
2.具体需求分析
2.1系统流程图:
2.2数据流图:
2.3数据字典:
数据流描述:
数据流名:
用户名密码
数据来源:
用户登陆处理
数据去向:
验证信息处理。
说明:
用户输入用户名和密码
数据组成:
用户名+密码
数据流量:
小
数据流名:
直接登陆
数据来源:
用户登陆处理
数据去向:
客户界面
说明:
普通用户不输入用户名和密码直接以客户身份登陆
数据流名:
登陆
数据来源:
验证信息处理正确
数据去向:
根据验证信息返回条件决定是教师界面还是学生界面
说明:
系统登陆到教师界面。
数据流名:
选题,资料
数据来源:
教师界面的输入选题和资料窗口
数据去向:
上传处理
说明:
教师输入要上传的课题和资料
数据流名:
小组成员信息
数据来源:
选课信息界面
数据去向:
验证填写信息处理
说明:
学生填写同组其他同学姓名,学号,班级,小组长名。
数据流名:
工作报告。
数据来源:
课题信息界面
数据去向:
上传处理
说明:
学生将各阶段工作报告上传。
数据流名:
设计报告
数据来源:
选题信息界面
数据去向:
上传处理
说明:
学生填写所选课题的设计报告上传。
数据元素词条描述:
3支持信息
3.1运行环境
(1)以Windows98以上/ME/2000/XP作为学生选课管理系统的后台操作系统。
(2)前台开发程序为JAVA,SQLServer2000。
(3)后台数据库为MicrosoftAccess2000/SQLServer2000。
(4)主要硬件设备:
PC机一台。
3.2支持软件
操作系统windows系统、数据库管理系统:
Access数据库系统。
3.3接口
本产品的用户一般需要通过终端进行操作,进入主界面后点击相应的窗口,分别进入相对应的界面(如:
输入界面、输出界面)。
用户对程序的维护,最好要有备份。
3.4控制
系统的主要输入设备是键盘。
输出主要是显示器输出和打印机打印输出等。
3.5需求注释
对于本软件,它的功能需求、性能需求、接口需求,从稳定性、可行性上都是可以的。
4、需求分析总结
在以前的可行性分析基础上,我们进行了以上的需求分析过程。
在分析的过程当中,我们从整体上觉得整个软件系统无论是在技术上还是在经济上都是完全可行的,有很好的开发价值。
四、总体设计
1总体设计
1.1需求规定
主要输入输出项目:
学生基本信息表:
(学号,姓名,班级,密码)
教师基本信息表:
(教工号,姓名,职称,密码)
题目信息表:
(题号,题目名称,题目信息)
选题信息:
(学号,题号,成绩)
学生选题信息表(学号,姓名,班级,组号,组长)
1.2运行环境
硬件环境:
最低配置:
CPU:
Pentium3800以上或其它兼容规格,内存:
256M以上,硬盘:
20GB以上空间
推荐配置:
CPU:
Pentium41.6G,内存:
512M以上,硬盘:
100GB以上空间。
软件环境:
Windows9x/2000/XP
SQLServer2000
.NETFramework2.0
Access2003
1.3基本设计概念和处理流程
1.3.1E-R图:
1.4结构
1.5功能需求与程序的关系
各项功能需求的实现同各块程序的分配关系:
创建
查找
修改
删除
维护系统(管理员)
√
√
√
√
维护用户信息(管理员)
√
√
√
√
更新个人资料(用户)
√
上传资料(用户)
√
提交报告(用户)
√
查询成绩(用户)
√
查询进度报告(用户)
√
1.6人工处理过程
1.创建用户(注册新用户):
用户信息需要手工输入计算机。
2.登记成绩:
需要教师手工输入计算机。
2接口设计
2.1用户接口
向用户提供命令
软件回答信息
查询成绩,进度报告
匹配检索关键字的成绩信息
修改用户资料
修改后新的用户资料
上传资料,报告
上传资料,报告成功的信息
选题
选题成功的信息
2.2外部接口
接口
传递信息
软件接口
与数据库接口
学生信息,教师信息,选题信息,学生选题信息
2.3内部接口
接口
传递信息
维护学生资料
添加学生信息
学生信息(学号,姓名,班级,密码)
维护学生资料
删除学生信息
学生信息(学号,姓名,班级,密码)
维护教师资料
添加教师信息
教师信息:
(教工号,姓名,密码,职称)
维护学生资料
修改学生资料
学生信息:
(学号,姓名,班级,密码)
维护教师资料
删除教师资料
教师信息:
(教工号,姓名,密码,职称)
用户主模块
更新学生资料
学生信息:
(学号,姓名,密码,班级,组长,组号)
用户主模块
上传资料和报告
题目有关的资料和课程设计报告
用户主模块
查询成绩
输入个人学号
用户主模块
填写进度报告和分数
根据每一组提交的报告和课程设计完成的情况
用户主模块
更新教师信息
教师信息(教工号,姓名,职称,密码)
3运行设计
3.1运行模块组合
施加不同的外界运行控制时所引起的各种不同的运行模块组合如下表所示:
创建模块
查找模块
修改模块
删除模块
管理员添加题目信息
√
管理员修改题目信息
√
√
管理员删除题目信息
√
√
管理员添加新用户
√
管理员修改用户信息
√
√
管理员注销用户
√
√
用户更新个人资料
√
用户上传资料和报告
√
用户检索成绩
√
用户填写进度报告
√
√
用户给出分数
√
√
3.2运行控制
运行控制
控制方法
管理员添加题目信息
管理员填写题目信息并提交,系统在题目信息表中创建一个新数据项
管理员修改题目信息
管理员通过检索找到要修改的题目信息并修改,系统在题目信息表中写入修改后信息
管理员删除题目信息
管理员通过检索找到要删除的题目信息并删除,系统在题目信息表中删除该数据项。
管理员添加新用户
管理员填写新用户资料提交,系统在用户资料表中创建一个新数据项
管理员修改用户信息
管理员通过检索找到要修改的用户信息并修改,系统在用户资料表中写入修改后的信息
管理员注销用户
管理员通过检索找到要销户的用户并注销,系统在用户资料表中删除该用户的信息
用户更新个人资料
用户重新填写可修改的用户资料部分并修改,系统在用户资料表中写入修改后的新数据项
用户上传资料和报告
提交有关题目的信息和课程设计的报告
用户检索成绩
用户填写要检索成绩的关键字,系统检索信息表,输出匹配成绩
用户填写进度报告
用户通过检索找到要填写进度的小组,系统修改题目信息表中
用户给出分数
用户根据每组的完成情况,给出相应的成绩
4系统数据结构设计
4.1逻辑结构设计要点
数据结构
数据项
类型
长度
备注
题目信息
题号
数字
2
唯一标识题目
题目
文本
20
题目信息
文本
50
学生信息
学号
文本
10
唯一标识学生
姓名
文本
20
班级
文本
2
密码
数字
教师信息
教工号
文本
10
唯一标识教师
姓名
文本
20
职称
文本
20
密码
数字
学生选题信息
学号
文本
10
唯一标识学生
姓名
文本
20
班级
文本
20
组号
数字
组长
是否
选题信息
学号
文本
10
题号
数字
成绩
5系统出错处理设计
5.1出错信息
1.输入用户名不存在:
说明数据库没无此用户名,需开户。
2.密码错误:
说明用户名和密码不匹配。
弹出警告信息后需重新输入密码,一天内输入十次错误密码,将对此帐户进行冻结,需持学生证解冻。
3.由于管理员没有及时保存数据造成的数据丢失:
可通过数据还原,还原成最近的数据备份。
5.2补救措施
1.故障出现后可能采取的变通措施,包括:
a.后备:
使用附加存储设备备份数据。
备份频率为每日一次。
需手动备份。
b.恢复及再启动:
如果数据造成丢失,可使用备份数据还原。
五、详细设计
1.程序系统的结构
2.系统功能实现
出从前面需求分析可以看出,系统功能庞杂,从使用和操作的功能上分,有三种用户:
客户(浏览、查询);学生;教师。
为便于整个系统组织管理,把各个相对独立的数据或功能组织到整个大系统中来,我们把各个相对独立的功能完全独立设计,编译成独立的目标(功能)模块(singleExecutable),各功能模块最后被集成到一个称为虚拟桌面的控制台模块中。
相应地将系统结构分为一个控制台程序和五个子系统,各子系统又分为若干各子模块。
对应于每一个模块,几乎都有查询、修改、查看详细资料这几个功能。
整个操作流程就是由这几种基本功能实现的。
在这里每个模块都要用到的功能没必要在每个子模块里重复阐述,在每个子模块里只列区别于其它子模块的功能实现。
2.1教师,客户,学生登陆模块界面:
用户注册模块流程:
学生操作界面
学生模块流程:
教师模块流程:
教师操作界面:
客户浏览模块界面:
客户流程:
模块:
登陆模块接口-------------->具体操作模块---------->退出模块
六、软件测试
1.操作方法:
1.1登陆:
运行java程序,出现登陆界面,如果用户没有注册,则首先必须进行注册用户,点击注册界面,注册用户。
完成后,登陆主页。
如果已经存在该用户,直接登陆,
学生:
用户名——学号
密码——123456
教师:
用户名——教工号(000001,000002已有用户)
密码——111111
客户:
用户名——000000
密码——000000
1.2主页预览:
学生主页:
具体操作:
修改密码
查看题号
查询成绩
添加组员
选题
上传报告
下载题目
教师主页:
具体操作:
修改密码
查看选题情况
上传资料
给出分数
查看进度报告
客户主页:
具体操作:
登陆学生主页
登陆教师主页
退出系统
1.3密码修改:
当选中密码修改菜单时,输入一次旧密码,两次新密码,然后按修改按钮,密码修改成功。
请务必记住自己的密码,并注意保密。
1.4退出系统:
当按注销按钮后,返回到登陆界面。
2.调和测试
2.1登陆测试:
1.当输入没有不存在的用户名或密码时,如0560000、123456,或者0560078、000000,将会出现用户名或密码错误。
2.当用户注册时,如果该用户已经存在,输出:
该用户已存在。
3.客户用户名或密码输入错误,输出:
用户名或密码错误。
4.当用户名输入为空,输出:
用户名不能为空。
5.当输入正确,如0560078、000123,000001、123456或000000、000000登陆界面
2.2修改密码测试:
1.输入原来的密码,学生:
123456,教师:
111111,新密码两次输入相同,输出:
密码修改成功。
2.输入原来的密码,学生:
123456,教师:
111111,新密码两次输入不同,输出:
密码修改失败。
3.输入原来的密码,当核对出现错误,输出:
密码修改失败。
2.3查看题号测试
1.当该学生已经选题后,查看,输出:
对应的题号。
2.当学生没有选题时,查看,输出:
没有选题,请选题后查看。
2.4添加组员测试
添加组员前,必须该小组的成员选出组长,进行选题。
一旦选题成功,不能再次选题。
组长添加组员,每组4人,如果超过4人,输出组员不能超过4人的提示信息。
也不能添加组员。
只有组长可以选题,其他组员不能操作。
2.5查看进度报告测试
根据组号查看选题情况,进入界面后,出现下面界面:
有六项,问题定义,可性行研究,需求分析,概要设计,详细设计,编码与测试
当每项有成绩,而不是0时,表示该组的对应进度报告已经提交。
而没有成绩,显示为0的表示没有提交相应的报告。
2.6成绩测试
根据相应的组号给分。
进入界面:
问题定义,可性行研究,需求分析,概要设计,详细设计,编码与测试,设计相应的分数如下表:
项目
分数(最大分数)
问题定义
5
可行性研究
10
需求分析
15
概要设计
20
详细设计
25
编码与测试
25
总分
100
表一
当成绩输入大于100时,将会显示提示信息,分数不能超过100.
总结:
在这一节中,我们主要讨论了上面几个问题,作为一个完整的系统,联机文档是其中不可缺少的部分也是相当重要的部分。
好的文档能够使用户快速了解并准确的使用系统的各项功能。
减少误操作,减少错误产生的可能,这对用户和开发人员都有很多的好处。
所以在开发本系统中,也加入了不少的文档,除了对于模块的详细说明外,对于易出错和不易操作的地方(如多条件查询部分)又作了详细的说明。
由于本身能力的局限性,所以做编写的代码,即使经过反复检查也难免出错所以在本阶段力求使用有限的时间找出尽可能多的错误,力求系统尽量正确。
我们在本系统的测试中使用了黑盒法(即不关心程序内部的逻辑结构,而是根据程序的功能来设计是检测)请一位不熟悉本系统的人来进行随意性的操作,打破习惯的操作顺序,从中发现错误,在此阶段系统的大量错误得到了改正。
信息管理系统所涉及的数据库设计的重要步骤加载测试。
加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、查询、处理工作均可视为对数据库的加载测试工作。
要设计出一个好的管理系统数据库,除满足系统所要求的功能外,还必须遵守下列原则:
1)基本表的个数越少越好。
2)主键的个数越少越好。
键是表间连接的工具,主键越少,表间的连接就越简单。
3)字段的个数越少越好。
4)所有基本表的设计均应尽量符合第三范式。
数据库的设计中,如何处理多对多的关系和如何设计主键,是两个有着较大难度、需要重点考虑的问题。
七、结论
时光飞逝,流年似水,短短的课程设计即将结束,现在回头想想两个月的设计,我对自己的这次设计有了更深,更新的体会。
在本次设计的全过程中,我对三年所学的知识有了一个比较系统的认识和理解。
涉及了各方面的知识,大大扩展了我的知识面,同时是我学会了如何使用所学的知识去解决一些实际的问题。
在设计中我深知自己掌握的知识还远远不够,掌握的一些理论知识应用到实践中去,总会出现这样或那样的问题,不是理论没有掌握好,而是光知道书本上的知识是远远不够的,一定要把理论知识和实践结合起来。
把学到的知识应用到时间中去,多做多练,才可以把理论的精华发挥出来。
知识不是知道,了解就好,一定要去应用它,发展它,让它在现实生活中得到充分的应用,从而解决一些问题,这才是学习的根本目的。
而且知识又不是单一的,它是互相联系的,学科与学科之间都有着内在的联系。
计算机是一门非常复杂且庞大的学科,一项课题往往需要多项技术才可以完成的。
在设计阶段,通过对课题的深入分析与研究,迫使我对技术有了一定的了解。
在遇到问题时,得到了指导老师与同学的悉心帮助,使我感受到集体的力量是无穷的。
通过这次设计,我学会了和别人配合工作,因为一个人所学的知识不可能面面俱到的,只有通过合作,发挥自己的优点,体现团队精神,才能使工作做得更为出色。
通过这次设计,我学到了许多书本上学不到的知识,增强了自己的动手能力。
即将大三结束,我十分珍惜这次锻炼的机会,我按部就班的完成了自己的设计任务,但由于自己的知识水平有限,仍然存在很多
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程设计 范例
![提示](https://static.bdocx.com/images/bang_tan.gif)