软件工程课程设计小组报告Word格式文档下载.docx
《软件工程课程设计小组报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计小组报告Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
![软件工程课程设计小组报告Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-12/13/7acc6eda-39ec-4384-8f12-4ec458fbb138/7acc6eda-39ec-4384-8f12-4ec458fbb1381.gif)
22
孟莹莹
策划
26
汪婧
测试人员
15
一、课程设计概述
(1)课程设计目的
在21世纪的今天,随着计算机技术和计算机网络的发展,人们逐渐开始步入信息时代。
通过Internet网络人们可以浏览各类信息,发送电子邮件,传送文件,参与BBS,网上娱乐,远程教育,远程医疗。
人们日常工作,生活中的许多事情都已经可以在网上轻松简单的完成。
互联网因为它简单的操作和强大的信息量,逐渐成为了人们工作中的好帮手和生活中不可缺少的重要组成部分。
近年来,很多人或组织也开始涉及学校的教材订购,教材订购系统近几年在各高校逐渐得到广泛的应用。
但有些教材征订系统,仍然存在着在教材管理和征订方面半手工半信息化的状况。
所谓半手工半信息化是教材科有详细的教材资料,并把他们存放在电子文档中。
每次需要信息时,在电脑中找到对应文档提取所需信息,把所需的信息打印出来。
即教材信息没有形成一个大型的整体的数据库,而且还没有对这些数据进行操作的完善的系统。
针对这一情况,我们决定开发了“学校教材订购系统”。
同时,随着教学数量的提高,对系统质量的要求也越来越高,因此,教师、学生对教材的订购了越来越重视,希望获取教材的过程简单,方便,快速,因而,做一个好的订购系统是十分重要的。
(2)任务
1、熟悉系统实现工具和上机环境
2、本课题的可行性分析
简要叙述技术可行性、省略经济可行性和法律可行性等。
3、系统的需求分析
包括:
描述功能需求的数据流图(即功能域的描述),描述数据需求的数据字典或者E-R图(即数据域的描述)。
4、系统设计
系统总体结构设计,输出设计(指打印输出设计),存储文件格式设计(或者数据库结构设计),用户界面设计,模块详细设计。
5、利用C语言或者C++进行编码
6、静态走查程序和上机调试程序(即软件测试)
7、书写系统上述文档和撰写课程设计报告
(3)分工情况
一、需求分析文档:
1明确系统功能:
汪婧(6)
2顶层、0层:
曹晓萌
(1)
3采购系统加工子图:
宫月
(2)
4销售系统加工子图:
胡晓慧(3)
5子加工细化图:
李倩(4)
6数据字典孟莹莹(5)
二、概要设计文档:
1参考资料的搜索明确销售系统采购系统功能:
6
2模块划分:
1
3销售模块分析:
2
4采购模块分析:
3
5接口描述:
4
6运行设计及出错处理:
5
三、详细设计文档:
1查阅资料及定义描述:
2模块结构图:
3销售子系统:
4采购子系统:
5E-R图、数据表设计:
6界面设计、接口:
四、编码
用户注册测试:
用户登陆测试:
普通用户权限测试:
宫月、孟莹莹
管理员权限测试:
胡晓慧、李倩
五、测试
用户注册测试:
用户登陆测试:
普通用户权限测试:
管理员权限测试:
六、小组文档:
七、测试文档:
(4)开发环境
1.操作系统:
win7
2.开发软件:
SQL2008,visualstudio2010/2013
(5)参考资料
1.《系统需求分析报告》软件开发小组
2.《实用软件工程》,郑人杰等著,清华大学出版社。
3.《软件工程》第六版,RogerS.Pressman著,机械工业出版社。
4.《软件工程课程实验指导书》,安徽工程科技学院计算机科学与工程系。
2、项目的需求分析过程及需求模型
(1)需求分析过程
第一阶段--确定项目的大背景
随着计算机技术和计算机网络的发展,信息行业也开始崛起。
一些基于信息而开发的系统也逐渐进入人们的视野,人们通过网络浏览各类信息,发送电子邮件,传送文件,网上娱乐,远程教育,远程医疗等等。
互联网因为它简单的操作和强大的信息量,从而逐渐成为了人们工作中的好帮手和生活中不可缺少的重要组成部分。
现代社会同样是个追求高效的社会,而一些传统的管理系统逐渐表现出它们的弊端。
学校也同样面对着这些问题,学校传统管理特别是教材订购。
以前人工订购教材流程复杂,容易出错,且效率低下,经常造成资料管理混乱,容易产生问题。
虽然现在也有些学校也开始实用教材订购系统,但这些系统还存在在教材管理和征订方面半手工半信息化的状况。
这对新形势下的教育工作造成了一定的不良影响,所以现在我们应用数据库等技术来实现教材订购的计算机管理是非常有意义的工作。
现在,我们开始对学校的教材订购系统进行一些研究。
其实,学校的教材订购系统实质是利用计算机和通讯设备,为学校的师生做好订购教材的工作,提供高效、便捷的服务。
第二阶段--项目本阶段的核心需求定义和确定
需求分析就是描述系统的需求,通过定义系统中关键类域来建立模型。
现在进行需求分析的下一步描述学校教材订购系统的功能,以此确定系统的功能需求。
这次的学校教材订购的主要功能是教材的订购管理和采购管理。
教师或学生根据自己的需要制定购书单,然后向系统提交,他们也可以进行查询教材信息,查阅订单等操作。
教材发行人员是查询购书单,接着对购书单进行审核,审核过后,如果通过就打印发票并进行登记,最后返给老师或学生领书单。
这样,老师或学生便可去书库领书。
如果审核过后是脱销教材,就登记缺书,并发缺书单给书库采购人员。
教材采购人员是根据教材发行人员提交的经审核的购书单进行采购书籍,一旦新书入库后,即发进书通知给教材发行人员。
第三阶段--项目详细需求分析
根据以上对学校教材订购系统功能的分析,我把此系统分为两个子系统:
销售系统和采购系统。
销售系统的主要工作流程为:
首先由老师或学生提交购书单,然后教材发行人员对购书单进行审核,也就是查询书库内存书,如果书库内存书量足够,那就是审核后的有效购书单,接着开发票、登记并返给老师或学生领书单,这样,教师或学生即可去书库领书。
采购系统的主要工作流程为:
如果发现学生或老师所需要的教材是脱销教材,则登记缺书,并发缺书单给书库采购人员;
如果不是,就进行采购。
新书采购回来后,需要进行入库工作,最后发进书通知给教材发行人员,好让教师或学生即可去书库领书。
当然,还有一项工作也是非常的重要,就是对系统的各项信息进行维护。
教材的发行人员经常会对教材的信息进行添加,删除,修改等操作,这个时候,教材的信息维护显得尤为重要,以防止系统出错,而造成不便。
(2)需求模型:
三、项目设计模型(包括总体设计和详细设计)
(1)概要设计(总体设计):
1、系统功能模块结构图
根据需求分析,学校教材订购系统功能模块结构图如下:
本系统可细化为两个子系统:
销售系统和采购系统
在系统外部,教材的选用须由系(教研室)集体讨论研究决定,并经所在系主任和教学主管院长签字后,将指定的教学用书信息交给学院相关方面负责人汇总整理。
销售系统的主要工作过程为:
师生可以查询仓库库存,并向系统输入需要的书籍,经教材科发行人员审核有效购书单后,开发票,登记并返给学生领书单,学生即可去书库领书,若是脱销教材,则在缺书单中添加记录。
采购系统的主要工作过程为:
汇总缺书单,发采购单给书库采购人员;
一旦新书入库后,即发到货通知。
两个系统的关系如下图所示:
图——0层图
2、数据库概要设计(E-R图)
(2)详细设计:
部分功能概述如下;
1)订购书籍:
教师或学生将要进行订购的书籍资料输入,系统将这些资料保存在数据库中。
2)查询订购单:
显示使用者已经保存的订购单信息。
3)删除订购书籍:
使用者将要删除的书籍信息输入,系统根据操作删除修改文件处理,最后修改后的文件显示出来。
4)查询领书单:
通过发行人员模块处理过后,将其信息转化成领书单显示出来。
5)查询缺书单:
该功能要通过发行人员模块处理过后,将其信息转化缺书单显示出来。
6)输入进书单:
需要采购人员将新到的书籍信息输入,通过系统将库存信息更新处理。
7)处理订购单:
发行人员可读取用户信息,读取订购单,通过比较库存,处理信息后,返回领书单。
8)查询进书单:
发行人员可对采购人员的进书单进行读取,将其信息显示出来。
9)查询库存:
将库存中的信息显示出来。
4、实现项目的过程与步骤
(1)需求分析
拿到题目,我们对题目进行了透彻的解析,决定了要用结构化分析方法完成任务。
并且,按照要求首先讨论出需求模型,确定了系统的模块结构。
(2)数据库的设计
确定了需求后,我们根据题目中所用到的表,开始建立数据库。
并且利用查询,函数,触发器等实现系统的基本功能。
(3)界面设计
因为需要的操作比较多,所以用语句来控制行为的模式不太方便,所以我们开始尝试设计一个简便的界面来控制操作行为,使用户利用起来比较便捷。
(4)代码编写
接下来我们就进人了代码的编写,包括系统中的购书,销书,开发票等根据界面时实现的功能进行编写,并将数据库连接到VS中。
(5)系统测试
系统在成型过程中,我们并行进行了包括登陆界面,同步数据等六次的系统的测试,并形成文档雏形。
(6)报告编撰
最后,系统设计完成后,我们开始整理各种报告,将这段时间的成果和收获整理成册,准备提交。
五、遇到的困难与获得的主要成果(本节内容不得少于3页)
(1)遇到的困难:
1.数据库开始时不知怎么连接。
数据库与界面代码是完全分离的。
后来通过交流查阅相关书籍,上网搜寻例题,知道了怎么通过vs连接sql2008数据库。
2.界面的设计和代码实现。
因为组内成员对于如何用C++编写界面掌握的并不熟悉,所以初始阶段对界面的编写成为一大难题,考虑到这点我们组内将实训编写的飞机大战中MFC的代码中关于界面的编写部分进行了讨论,终于在一段时间后顺利解决。
3.对于题目要求的把握。
刚拿到题目,组内就产生了不同的看法,部分组员建议用面向对象的方法来完成题目。
但是,经过老师在课上的建议和指导,我们才最后达成一致意见,用结构化的分析方法来完成设计。
4.需求分析的方法掌握与理解
需求分析是做题的第一步,但是由于是第一次接触类似的过程所以大家都不知道从何处下手,浪费了很多时间。
5.数据流图的设计
对于写数据流图,大家普遍不熟悉,源和宿的确定也很费劲,不过与此同时,老师在课上讲的那个有关图书购销的题目,给了我们新的思路,让我们很快的解决了这个问题。
6.模块结构图的设计
因为元素和需求较多,之间的联系也较为复杂,所以在设计上不太容易。
同时,因为图较大,所以如何安排图的结构也成为了难题。
7.代码的编写
因为使用的开发与语言是C++,所以在代码编写上也遇到了一些问题,相较于java等本学期学的语言来说,有些晦涩,使用上不太灵活,而且因为代码较长,所以结构不太好把握。
8.数据库的E-R图的绘制
本体数据库中数据较多且关系复杂,在绘制E-R图的时候,成员遇到麻烦,总是不能将数据库的情况完整表现出来。
在经过商讨后,我们决定先从子E-R图开始画,之后将各个子图合并。
9.文档的编写
本次实验重点是编写各种报告,但是我们之间编写的报告格式都很随意,而且内容较为简单,所以这次报告编写给我们带来了很大的困扰,组内讨论了很多次才在20周结束的时候形成雏形,但是离最后的成交成果还有很大的差距。
10.资料的寻找
作业中涉及的内容非常多,而且网上,图书馆里的内容特别的杂,我们需要在大量的资料中选择适合我们用的就必须将搜寻到的资料全部浏览一遍,工作力量相当的大,耗费了大量的时间和精力。
但是在大家的努力下,终于挑选出了适合的资料。
(2)获得的主要成果
1.通过本课程设计的实践及其前后的准备与总结,复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识,软件项目的完整设计与开发过程、结构化技术方法等有了更深层次的了解。
2.为学生适应毕业后团队合作开发规模稍大项目和综合应用
本专业所学习的多门课程知识创造实践机会。
为学生提供主动学习积
极探索与大胆创新的机会。
3.使学生通过参加小组团队的开发实践,了解项目管理、团队合作、文档编写、口头与书面表达的重要性。
在各种文档的编写过程中,养成了良好的习惯,文档编写趋向于标准化,结构化。
了解到多类文档的编写格式,标准,使之应用范围扩大。
4.使每个学生了解软件工具与环境对于项目开发的重要性,并且重点深入掌握好一、两种较新或较流行的软件工具或计算机应用技术、技能。
能够熟练的使用Visio等Case工具,简化绘制过程,锻炼了我们绘制各种图形的能力。
5.通过“稍大的”富有挑战性的软件实验项目开发实践,为学生提供主动学习,深入实践的机会,并且通过课程设计实践中,提高学生的自学能力、书面与口头表达能力、创造能力和与团队其他成员交往和协作开发软件的能力,提高学生今后参与开发稍大规模实际软件项目和探索未知领域的能力和自信心。
6.加强了资料收集和选择的能力。
学习与搜集素材,借阅、购
置必要的书籍与材料,学习开发小组及成员根据自己承担的任务利用
各种途径(图书馆、因特网、书店、同学亲友等)进行针对性的学习并
收集相关素材,包括精选、购置必要的书籍。
7.加强了代码编写能力,学会了如何将数据库连接到VS中。
更
加轻松的掌握和使用编程工具,对于面向对象的编程又多了些新的理解。
同时,界面的编写,让成员们掌握了新的技术。
在编写过程中,我们也
看了很多优秀的代码,通过样例,举一反三,编写的代码,更加规范化,
提高了代码的阅读性。
8.增强了团队合作意识,这次六个人一起做同一份作业,在过程
中也产生了很多的分歧,意见有时也不统一,但我们组内成员很快适应
了合作,通过不断的交流,讨论,在完成任务的同时,也收获了友情。
通
过学期的课程设计,我们真正体会到什么是团队协作,真正的了解到团队
合作的有利之处,真正感受到团队成员为了共同的目标联合在一起时的强
大的力量。
6、测试与运行记录
(1)测试内容:
教材采购
1.注册过程:
用户名:
密码:
确认密码:
用户身份选择--管理员
liqian
1234567
89
2.登陆过程:
li
9
用户身份选择--普通用户
进入书目管理员界面,选择采购书籍。
3.采购过程:
书名:
软件工程
价格:
29
数量:
30
(2)测试结果:
1.注册过程
用户名为空(不得使用中文)
密码不得少于8位
两次输入密码不一致
2.登陆过程
用户不存在!
请确认用户号。
已成功登陆
(用户权限选择不正确)
3.采购过程
采购成功!
7、课程设计完成结果分析
产品主要实现以下功能:
(1)验证用户身份功能
验证用户身份功能模块用于对登录系统的用户进行身份验证,确定用户是否拥有使用该系统的资格。
任何用户登录系统都调用此模块。
验证用户身份功能模块对用户输入的ID及密码进行检验。
若是ID出错,给出出错提示框。
若是密码出错,在一天内有三次登录机会,若三次失败,用户只能等到第二天再次登录。
(2)人员管理功能
人员管理功能模块是管理员登录的窗口,通过用户输入的ID和密码判断其是超级管理还是普通管理,并获得相应权限。
管理员可通过该模块导入部分学校人事档案,导入人员默认的身份均为师生,且默认密码均为666666,可以指定人员为教材发行员、书库采购员并可取消为师生。
管理员还可以帮助人员重置密码,自身也可修改自己密码,但不可以重置和自己一样是管理员的密码。
超级管理员比管理员能多指定管理员的功能和取消管理员为师生的功能,同样也可以重置管理员的密码,修改自己密码。
(3)采购管理功能
采购管理功能模块通过系统的菜单集中了各子功能模块,用户在该模块中通过选择菜单进入到相应的子模块。
购书服务:
本系统在向学生售书时要求学生填写购书单(包括以下信息:
学生学号、班级代号、购书数量、购书书名信息),经审查有效后,打印领书单返回给学生领取书籍。
通知采购:
当库存中缺书时,汇总缺书信息,通知教材工作人员进行采购。
(4)销售管理功能
销售管理功能模块通过系统的菜单集中了各子功能模块,用户在该模块中通过选择菜单进入到相应的子模块。
本系统还兼顾一点财务信息的管理,在发生单人购书时,系统直接向购书者收取现金。
发生集体售书时,学校根据有效的购书单,直接向集体售书,形成的财务信息直接和财务科交换,方便结算。
即:
向学生集体售书时不需要直接收取现金,而待教材科结算时向财务科提交数据,由财务科从学生的预交书费里扣除,保证教材科财务信息的完整。
八、附录
附录一:
组内成员个人报告
附录二:
需求分析报告
附录三:
系统概要设计报告
附录四:
系统详细设计报告
附录五:
测试报告
附录六;
小组会议记录本