软件工程大作业Word格式文档下载.docx
- 文档编号:5179502
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:49
- 大小:2.05MB
软件工程大作业Word格式文档下载.docx
《软件工程大作业Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《软件工程大作业Word格式文档下载.docx(49页珍藏版)》请在冰点文库上搜索。
本系统结合软件工程思想,通过对高校内部教师和学生需求的的详细调查和深入研究,实现了从教师发布题目到学生提交与评分全部流程的开发。
主要包括学生分组,学生浏览实验题目,组长评分和学生浏览优秀作业几个部分。
通过不同的权限设定三种登陆状态:
一种是管理员登陆,可以对系统中的所有信息进行增加、修改、查询和删除操作;
另一种教师和学生登陆,进入系统后可进行相关操作。
该系统基于B/S模式,通过UML建模语言对整个系统的需求进行图形化建模,采用web2.0技术,用ASP.NET2.0与SQLServer2005进行底层骨架搭建。
最后使用黑盒测试方法,对系统进行测试。
关键词:
网上实验课程;
C#.NET;
UML;
SQLServer2005
Abstract
Withthein-depthstudyingofsoftwareandtheunderstandingofsoftwareapplication,theonlinemanagementoftheuniversitycoursewillbecomemoreandmorepopular.Theonlinemanagementofexperimentalcoursesisintheexperimentalstage,butitssuccesswillletteachersandstudentsbenefit,makingprocessstandardizationanddispensealotofunnecessarytime.Ifwecompleteinformationizationconstructionbetter,wecanachievehighqualityteachingstandardsandtrainmoreexcellenttalents.
Thissystemwasdevelopedbyadoptingthethinkingofsoftwareengineering,byinvestigatingtheteachersandstudents’demand,wesuccessdevelopallprocessfromtopicreleasedfromteacherstostudentssubmittingandgrading.Mainlyincludesstudentsgroup,studentsscanexperimentalsubjects,groupleadergradingandstudentsscanexcellenthomeworkseveralparts.Therearethreedifferentloginstatuswithdifferentloginrights:
oneisthemanager,whocanaddorsearchorfixordeleteanyinformationinthesystem;
othersaretheteachersandstudentswhojustdotheirrelatedoperation.
Thearticlemainlyintroducesoverallsystemdesignplanofthesystemstructure.Bytheweb2.0technology,visualC#.NETandthedatabaseSQLServer2005completessoftwarestructure.Intheend,thesystemistestedbythemethodofblackbox.
KeyWords:
courseonlinemanagement;
GraduationSQLServer
1绪论
1.1背景分析
教育信息化的概念是20世纪90年代伴随着美国国家信息基础设施建设计划而出现的。
这个报告专门列出了教育信息化建设的目标:
通过信息网络来实现按需教育,远程课堂,提供最好的教师和教材以及虚拟的实验环境,虚拟图书馆,虚拟博物馆,电子报刊等。
教育信息化源于大学,但大学至今还依然使用传统的讲授方式,主要的表达方式还是语言,手势和表情。
工业革命产生的工具对教育领域没有什么影响,但信息技术革命产生的工具是智能工具,是人脑的扩展和延伸,有能力影响教育格局的演变。
高校网上实验管理系统应运而生,它虽然是为本院开发,但是它满足了大部分教师与学生的需求,集合了网上分组,网上作业,网上评分等管理工作于一体,这是一项时间性强、工作量大、信息庞杂、质量要求高且会直接影响全局的工作。
然而传统的实验管理工作中教师与学生互动太多,浪费了彼此的很多时间,其工作效率已经低到不能够适应当前信息时代发展中教育改革的需要。
因此,用信息化的手段来替代手工时代是目前发展的主流趋势,不可避免的我们要改进我们的作业模式,用来高效,快速的完成我们的工作。
该上机实验管理系统基本实现了学生分组管理、组长评分管理、教师发布实验题目管理、教师评分管理和学生浏览实验题目管理模块,使得高校人事管理迈向了信息化的大门。
1.2系统研究的意义和功能概述
随着信息化的不断扩展,系统的需求变得越来越明显。
就本院情况来看,学生自己分组时,小组内成员经常变更,变更之后还要经常通知老师,这在无形中浪费了老师的许多时间,又例如教师批改作业的流程也不透明,学生对于教师的评分标准也不是很清楚,这对于学生做实验也会有些阻碍,如果没有一个可操作性强、简便快捷的系统来完成记录这些的变动,那么老师和学生都会效率下降,不能把这些时间应用到比较重要的事情上。
之后就是学生可以浏览不同实验的,不同年份的优秀作业模板,如果只有几个信息,那么想查找些基本信息是很轻松的事情,但是实验很多的话,如果靠去向学长拷贝或者自己在网路上下载,花费的时间就不定了,这时,上机实验管理系统的优越性更加凸显了,这一系统要可以实现用户随时查询学生所需要关于实验内容的基本信息,既省时又省力。
本论文就是针对以上问题,在管理系统历史发展的基础上,立足于高校这一公共事业单位,详细叙述了上机实验管理系统的体系结构和功能模块。
文中介绍了上机实验管理系统中的九项重要功能模块。
学生分组管理,主要是通过组长对组员学号的添加来达到添加组员的目的,可以进行删除操作,最后最终确认。
第二个模块是学生浏览实验题目模块:
实验内容、实验要求、实验性质、实验步骤、实验满分、试验备注等管理,通过对这些信息的管理,可以更方便学生浏览自己需要做的事情。
第三个模块是学生上传作业,该模块主要实现了学生小组上传自己的作业,第四个模块是组长对自己小组的组员进行评分操作,第五个模块是学生自行下载优秀模板模块。
第六个模块是教师发布实验题目模块,教师既可以发布又可以查看或删除,实现了对实验题目的一体化管理模式。
第七个模块是教师对小组评分,通过这个模块,可以有效的帮助教师管理学生上传后的作业,第八个模块是教师查看得分情况,包括小组和个人的,可以导出Excel文档,公布在网上提供学生浏览。
第九个模块是教师上传优秀模板模块,这个主要是方便学生做作业时有个参考。
1.3论文的组织结构
全文共分五章:
第1章是绪论。
主要阐述了当前上机实验管理的现状和作用,本系统的开发的背景和意义,以及本文的工作。
第2章是系统需求分析。
具体的需求分析的过程。
使用用例图和系统功能分析了上机实验管理的主要功能和细节,以及对整个系统的业务流程进行描述,还有具体功能模块的介绍。
第3章是系统设计。
系统设计的目标和原则,系统的功能和非功能的设计,数据库的需求分析以及具体的设计,系统的各个模块的详细设计,数据库代码的设计,通用类的设计等。
第4章是系统实现。
系统的各个模块的功能的具体实现。
第5章是系统测试。
主要对系统进功能测试。
2系统需求分析
2.1需求分析简介
需求分析是软件开发过程中非常重要的环节,现在来说百分之八十项目的失败在于需求分析做的不够彻底,导致项目在交付的后期产生不必要的功能或者必要的功能有所缺失。
有效的需求分析在于分析人员与客户有效的沟通,沟通的方式可以有很多种,譬如面谈,电话,调查问卷等,之后分析人员整理获得的需求,规划为文档,然后可以进行系统的设计,不必考虑技术细节,但是需要大体的骨架,数据字典,用例描述,其中用例代表了对软件功能的具体描述,是系统与外部客户的交互,这就意味着需求分析是一个渐进的过程,在项目一开始的时候并不是很明确,而是随着项目的进展,需求会慢慢细化。
开发软件系统最关键的是开发出来的功能可以使用户满意,这便要求需求文档要做得尽可能详细,我们可以首先利用图表,文字等多种方式把系统描述出来,采用业务全景图将原型系统表达出来与客户确认。
经过对上机试验管理系统进行分析调查,再结合与导师的互动沟通,整理自己所获得大部分需求,完成文档描述。
然后通过UML进行系统设计,从而将需求可视化。
2.1.1系统的功能需求
功能需求:
功能性需求首先需要将需求文档中的业务流程描述部分转化为程序执行的流程,它要求了系统正常运作期间需要提供的基本服务,是软件产品中最重要的组成部分。
根据自主的调查和多位任课教师处获得的需求表明,从功能上来说,上机实验管理系统一共可以分为3个子系统:
学生功能模块,教师功能模块,管理员功能模块。
现在用例图已经是面向对象软件的基础建模语言,已经成为了规范化,所以这里采用用例来描述。
在用例方法中,我们主要纪录的是参与者与系统每一次交互的轨迹,针对用例的设计可以覆盖系统中每个CASE的路径,也就是细化到每一条代码语句的执行。
引入用例也有多多好处:
(1)方便系统分析人员和业务人员的沟通;
(2)方便系统分析人员对系统范围和规模有大概认识;
(3)方便构建测试用例,方便分析人员明确系统功能;
(4)方便接口设计人员尽早介入设计开发过程。
针对农产品加工与质量追溯系统,可以从用户权限功能划分出三种类型的用户需求:
采购员,加工员,系统管理员、居民用户。
不同的用户可以通过用例图来分别描述其参与者与系统的交互。
图2.1采购员用例图
采购员即是负责根据订单信息采购产品的公司员工,登录系统经过系统验证之后,可以进行录入采购产品信息的操作。
如图2.1所示。
图2.2加工员用例图
加工员在得到需要加工的产品加工之后,登录系统经过系统验证之后,可以进行对产品加工信息的录入操作。
如图2.2所示。
图2.3库存员员用例图
库存员在得到要入库的产品之后,登录系统经过系统验证之后,可以进行对产品入库信息的录入操作。
如图2.3所示。
图2.4居民用例图
居民在得到产品后可以登录系统经过验证之后,可以根据产品的盒条码追溯查看自己想看的产品信息。
如图2.3所示
2.1.2系统的非功能需求
软件的需求分为功能性需求和非功能性需求,当软件开发完成功能性需求之后,非功能性需求却往往可以决定软件产品的成败,譬如管理系统,业务流程的规范就很关键,交易系统,用户的资料与交易金额就非常重要。
非功能性需求更深开了说,有可以分为开发期间和结束之后,在开发期间,我们开发用的语言,平台,系统,是否与其他平台交互都可以称为非功能需求,而开发之后,页面美观,操作友好,又可以对软件产生重要影响。
2.2系统的业务过程描述
农产品加工与质量追溯系统有教师,学生,管理员三个身份,他们各自所具有操作描述如下:
(1)角色:
采购员
操作:
①输入系统登录的用户名和密码,进入采购员操作模式。
②根据采购订单,输入每筐产品的筐条码,及其对应的产品信息,采购信息。
③产品信息:
所属农户、所属大棚、日常种植情况
④收购信息:
收购日期、收购质量
⑤录入信息后需要加工的产品送到加工处,不用加工的产品送入库存。
(2)角色:
加工员
①输入系统登录的用户名和密码,进入加工员操作模式。
②对加工完的产品进行加工信息录入。
根据对应的筐条码添加对应的加工后的盒条码,及其加工信息。
加工信息主要录入加工日期。
③加工完之后信息送给库存管理员。
同时需要派送的产品,送给派送员派送出去。
(3)角色:
库存管理员
库存管理员登录系统对产品信息整理整合,及其产品入库出库信息的录入。
(4)角色:
居民
输入系统登录的用户名和密码,对自己订购的产品进行信息查询。
2.3系统的功能分析
2.3.1系统的功能模块设计
确定上机实验系统教师和学生的需求,在项目开始阶段,确定需求的范围。
在此范围之内确定哪些需求需要写入文档里,系统要实现。
为了确切的指导系统需要给学生与教师提供哪些有用的服务,多次与任课教师面谈,找到最好的方式来让教师使用的方便,最贴近教师的需要。
之后写出需求分析的概要,为一部分学生发放调查问卷,再与教师多次协商,最终确定了软件的概要设计文档。
功能层次图在系统的需求分析的阶段是不可缺少的,它主要描述了系统层次结构,从大的功能点出发,每个功能点下面又可以分为小的功能结构,这样的话,系统的每个分支都可以清晰的表达出来,这样的话对后期子工程的划分起到启发作用。
具体功能图如下所示。
图2.3教师功能图图
从上图可以看出,教师功能主要分为四个功能模块,且介绍了教师基本的职能,以及职能下可以进行的操作。
图2.4学生功能图
从上图可以看出,学生的基本操作分为四个模块,不过分组的功能和查看得分中的以及上传作业的功能仅对组长开放,非组长成员尽可以浏览题目,看自己的得分或查看自己个人的得分。
如图2.4所示。
在系统需求分析中另一种常用的图形化解决问题的方法就是程序流程图,程序流程图首先描述的是一种思路,是程序开发者对于解决方案的一种图形化描述。
流程图所表达的是这个过程执行的顺序,具体做法是要先决定工作流的起点,折点,终点再体现出这个工作流的主要次序关系。
它是一种标准的图形化程序流程,其特点是简单、高效。
上机管理实验系统中有三种权限用户,每种用户可以根据自己不同的权限进入到不同的操作界面,登录到系统后开始个人的需求操作。
例如,教师可以进入到专属他们的页面,然后对系统中实验题目,作业评分等信息进行维护和管理。
如下图2.5所示。
图2.5系统流程图图
2.3.2系统的数据流程设计
学生模块是针对现实应用中学生自己组织分组时较为繁琐和拖沓的现象而开发,系统包括学生自己登入系统作为组长挑选组员,学生小组组长上传本组作业,小组组员得分管理,小组组员得分管理和小组组员得分管理等多个功能。
系统的实施,将改变现在高校学生分组做实验的管理模式,提高学习效率,规范实验流程。
当信息在软件中移动时,它将被一系列“变换”所修改。
数据流图(DFD)是过程模型的体现,它描述数据如何在系统变化,也就是说经过每次不同功能点的处理,数据被加工后传递到下一个流向,数据从哪里获取,又最终会存取在那里,这就是数据流图体现的技术。
数据流图主要包括过程,数据流,数据存储,外部实体。
下面是上机管理实验系统大部分功能的数据流程图。
图2.6学生分组数据流图
(1)学生分组主要以学生小组的组长为数据流,首先登入系统,若没有被人加进组,便会选择是否当组长,不当组长的话会推出此功能,若为组长,则可以加组员或者确定小组成员,若一开始便有组,不是组长的话只能查看小组成员。
学生分组数据流图如图2.6所示。
(空白太多)
图2.7学生评分数据流图
(2)学生评分主要以学生个人为数据流,首先登入系统,系统会判断此人是否是组长,若不是组长,则只能浏览自己得分,没有权限看别人的,若是组长,则首先检查是否已最终确定得分,若确定,则只能浏览已评过的分数,若不确定,则可以继续更改自己组员的分数,然后进行操作确定,完成组长评分流程模块。
数据流图如图2.7所示
图2.8教师批改作业数据流图
(3)教师批改作业模块主要以教师为数据流,首先登入系统,系统会自动生成属于此教师的学生小组,之后教师可以选择实验题目,系统会列出此题目下各个小组的作业,教师可以选择评分,进去可以下一组上一组的快速浏览,教师最后评分,可以进行评价,或者标记此作业为优秀。
教师批改数据流图如图2.8所示。
图2.9学生上传作业数据流图
(4)学生上传作业模块主要是以学生为基本单元,首先判断是否有组长权限,若没有的话,是无法使用此功能的。
学生选择上传第几次实验的作业后,系统会和实验截至日期核对,若超期则失败,否则成功。
学生上传作业流图如图2.9所示。
图2.10学生下载模板数据流图
(5)学生浏览优秀作业模块主要是以学生为基本单元,当学生输入完搜索条件后(查询年份或实验序号),系统会自动从数据库中取得学生优秀作业模板和教师上传的模板,学生可以下载。
学生浏览优秀流图如图2.10所示
图2.11教师发布题目数据流图
(6)教师发布实验题目模块主要以教师为基本单元,首先系统会从数据库里取得已发布的实验题目列表,教师查看或删除会对数据库进行相应的操作,教师可以发布新的题目,但是要通过表单或上传文件,这便会更新数据库相应数据。
教师发布实验题目流图如图2.11所示
图2.12教师查看得分数据流图
(7)教师查看得分模块主要以教师为基本单元,系统会从数据库里获得信息,自己所教学生得分的总列表,所有属于自己小组的列表,列表中会列出每次实验的得分和学生的总得分。
教师查看得分流图如图2.12所示
3系统设计
3.1系统设计的基本原理
在软件工程这门课程中介绍了开发模式和哪些具体可用的设计准则,根据软件工程的实现方法,再结合系统的大体架构,得出四条设计原则:
(1)选取适宜的开发模型。
即是设计软件大体的架构的时候,需要有合适的模型支撑整个架构,尤其在开发后期,模型直接会影响整体的性能表现,以及发布之后的维护难度。
(2)采用合适的设计方法。
在整个软件设计的过程中,需要具体考虑模块的抽象化,局部化。
抽象化可以使程序变得简洁,好的程序师会。
习惯从重复的程式码中找出共同或相似的部分,并且把这个部分提取出来变成一个更通用的概念。
任何复杂的概念都可以被抽去出来替换为一个变数,一个类别。
抽象化也能让程序富有弹性,经过适当抽象化的程式,每个概念都有一个独立的单位表示,每个概念中包含的细节也被隐藏在适当的范围内,不管要修改或扩充原本的程式都能让需要碰触地地方间带最少。
(3)采用优秀的开发工具。
工欲善其事,必先利其器,好的开发工具不仅可以使得效率加快,也可以减少错误几率的发生。
(4)重视管理。
管理不仅是程式的整合,还有相关文档的概述,文档配合代码才能让这个系统长久的存在下去。
这四条原则贯彻在整个系统的开发过程中,它们可以软件变得更加好用和结构化,是保证系统顺利运行的关键。
3.2系统设计采用的方法
3.2.1浏览器/服务器结构
浏览器/服务器(B/S)结构模式主要由三层架构组成。
从硬件角度来说,客户端也只是安装个操作系统即可,因为现在的操作系统已经集成了浏览器,客户也只需要使用浏览器登上万维网,现在的互联网技术飞速发展,浏览器也只是需要下载页面里的js代码就可以进行数据验证,报表生成,而ActiveX技术更是可以在客户端里进行复杂的逻辑运算,当然主要的业务逻辑是放在了服务器端,但是现在的java分布式计算却也使得服务器技术发展的更为迅猛,强大的联网能力更可以有效的利用网络资源。
浏览器/服务器结构相比其他模式所拥有的不可比拟的优点:
(1)采用三层架构,三层互不影响,每一层相对于其他的都是黑盒,这对于现在的软件重用无疑推动是巨大的。
(2)客户机不需要安装其他的软件,只是需要个操作系统,更体现了当今的发展趋势,网络服务开始成为主流。
(3)维护,对于后期的软件维护来说,客户端的零维护,服务器端的优秀架构都使得B/S扩展相对容易。
(4)如今的B/S拥有远程性,美观性,细节性等其他的实用特性,定位在中高端市场。
图3.1系统体系结构图
3.3数据库的设计
数据库设计是将业务模型构造成存储的模型。
它是基于业务的表的设计过程[14]。
确定业务模型的构造,比如,将每一应用需求转换为数据库表,而之后的表之间的关联性设计就要业务关系而决定,同时表的具体字段设计要遵循范式的要求,还要考虑数据库文件和索引文件的记录格式和物理结构。
优秀的数据库应该具备以下特点,很好的存储模型,快速的处理能力,以及数据库整体表现,但是这里也还是需要程序员,需要程序员在程序里也要控制数据库资源的使用,比如不能在循环代码里调用数据库连接。
本系统是关系数据库模型,是目前数据库市场上的主流应用,并且数据库也不再单纯的扮演存储数据的角色,它可以变成一个更智能的平台,可以根据I/O的使用情况反过来调整内存的最优比。
3.3.1数据库的需求分析
数据库的需求隐藏很多变化,是指我们虽然需要根据业务处理的逻辑来设计表的结构,但是不应该因为范式的影响而改变了相应的业务实现流程,换句话说范式的作用只是在某些方面来说只是限制数据的规范化和冗余量。
在实际的设计过程中,我们常常要考虑到主外建关系,唯一约束,非空约束。
这些约束可以让数据库存储的数据更加规范化,虽然这会大大增加程序员检查数据的正确性所用的代码,但是这对于后期性能的影响是值得的。
运用数据库[15]的索引、存储过程等方式不仅可以让程序显得明朗,而且可以提高大量数据时数据库性能。
对于管理系统而言,有时需要一些触发器的使用,但是触发器的功能往往可以用其他方法实现,如用触发器,需要进行文档化,而有时候我们也需要存储一些临时信息,比如服务器信息,版本信息,当服务器的表现不如预期效果时,这就会显得特别有用。
(1)索引
对于在表里存储了大量数据时,索引的设计便显得尤为重要,我们甚至可以在表里的某些字段定义微型索引来加快查询速度,这在复杂的查询SQL里发挥的作用远比我们想象的要大。
(2)数据的存储过程
存储过程预先编译好放在了数据库内,减少便以语句所花的时间,这些存储过程都会进入缓存,所以对于经常执行的存储过程,除了第一次之外,其余的都很快,减少了网络传输,特别对于处理数据的存储过程,不必多次传送数据到客户端,更好的使用内存,存储过程有时也可以利用放在内存里的表变量。
3.3.2数据库的详
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 作业