基于UML的软件工程过程管理平台的设计与实现_第1页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE基于UML的软件工程过程管理平台的设计与实现摘要:在软件开发的过程之中,软件生产方式的落后与计算机日益增长对软件的需求不成正比。在软件开发与维护的过程之中,引发了一系列的日益突出的矛盾和问题。这一现象的产生使得软件开发变得低效且昂贵。本篇文章设计了一个于UML的软件工程过程管理系统应用网站,开发语言为JSP,数据库采用MySQL,页面布局通过javascriptcss。本系统分为三大模块:用户部分、工作人员部分以及管理员部分。其中,用户模块涵包括户需求说明、公告栏查看、用户个人信息添加、用户家庭信息添加和修改以及用户账号管理等多个子模块;工作人员模块涵括需求分析管理、总体设计管理、详细设计管理、编码实现管理、公告栏以及工作人员账号管理等多个子模块;管理员模块涵括了说明书复审管理、账号管理以及公告栏等多个子模块。本软件在开发过程中使用了大量的图示说明,使得文档的可读性和系统的可维护性得到大大的提升。更高效、更方便的对软件工程过程进行管理是本系统开发的最终目的。关键词:软件工程;软件开发管理;UML;软件生命周期

Abstract:Intheprogressofsoftwareengineering,it’sveryobviousbackwardinproductionofsoftwarenotdirectlyproportionalandtheincreasingrequirementinsoftware.Ittriggeredaseriesofincreasinglyprominentcontradictionsandproblemsinsoftwareengineeringprocess,whichmakessoftwareengineeringinefficientandexpensive.ThisarticledevelopedaUML-basedsoftwareengineeringprocessmanagementapplicationwebsite,developmentlanguageJSP,databaseusingMySQL,pagelayoutviajavascriptcss.Thissystemisdividedintothreemajormodulesincludingtheusermodule,thestaffmoduleandtheadministratormodule.Theusermodulecoverstheusersrequirementsspecification,bulletinboardtoview,addtheusers’personalinformation,addormodifytheusers’familyinformation,useraccountmanagement,andothersub-modules;Thestaffmodulecoversdemandanalysismanagement,overalldesignmanagement,detaileddesignmanagement,codingrealizemanagement,bulletinboardtoview,staffaccountmanagement,andothersub-modules;Theadministratormodulecoversspecificationreviewmanagement,accountmanagement,bulletinboards,andothersub-modules.Thissoftwareincludesalotofgraphicillustrations,sothatthereadabilityofdocumentandthemaintainabilityofsoftwarehasbeengreatlyimproved.Moreefficientandmoreconvenientforsoftwareengineeringmanagementistheultimategoalofthissystem.Keywords:softwareengineering;softwaredevelopmentmanagement;UML;SDLCPAGE2目录第1章绪论 11.1课题背景 11.2课题的意义和目的 11.2.1课题的意义 11.2.2课题的目的 11.3国内外主要研究现状 11.4本文研究内容及主要贡献 2第2章系统开发环境 32.1Eclipse简介 32.2MySQL简介 32.3B/S架构 32.4本章小结 3第3章需求分析 43.1可行性研究 43.1.1经济可行性 43.1.2操作可行性 43.2系统目标 43.3系统功能目标 43.4系统流程图 53.5系统用例图 53.5.1用户模块用例图 53.5.2工作人员用例图 63.5.3管理员用例图 63.6本章小结 7第4章系统设计 84.1总体设计 84.1.1设计思想 84.1.2软件结构 84.2详细设计 94.2.1用户登录模块 94.2.2密码修改模块。 94.2.3说明书提交模块 104.2.4添加账号模块 114.3数据库设计 124.3.1类图 124.3.2数据表结构 154.4本章小结 17第5章系统实现与测试 185.1编码实现 185.1.1用户模块 195.1.2工作人员模块 235.1.3管理员模块 285.2系统测试 305.2.1用户登录测试 305.2.2其他功能测试 315.3本章小结 31第6章总结与展望 326.1总结 326.2展望 32毕业设计体会 33致谢 34参考文献 35英文翻译资料 36 第1章绪论1.1课题背景计算机初步进入市场并得到使用是在20实际60年代之前。软件设计在多数情况下是为了某特定应用从而在某指定一台计算机上进行设计和编制,软件规模通常较小,且与之相关的设计文档也不存在。软件开发通以个人开发、使用和操作的私人化生产方式作为整个流程的开发方式。60年代中期,伴随着大容量、高速度的现代化计算机的出现,使得计算机的应用范围得到一个质的提升,件开发与此同时也得到相应的增长。传统的私人化生产方式不能满足需求,生产方式也迫切需要得到一个转变。1.2课题的意义和目的1.2.1课题的意义传统软件在开发过程中所表现出来的显著特征是低效率、高成本,导致其出现此种现象的根本原因在于在软件开发过程中没有得到妥当的管理。软件工程过程管理面向软件开发过程,使得软件开发变得高效且节约成本。1.2.2课题的目的本篇文章研究该课题,其目的就在于管理软件工程的开发过程。1.3国内外主要研究现状我国的软件工程标准制定的起步早于整个软件产业,从上世纪80年代起便开始了标准的制定工作。就软件质量标准而言,起初指定了大量的标准在有关中文信息处理的产品上,紧随着的是,紧跟国外软件标准化进程,着手进行分析研究;就专业领域而言,我国的国家和行业两方面的标准能覆盖软件工程过程这一方向,但在其他的方向覆盖率仍旧很低。在国内绝大多数从事软件开发相关的人员看来,软件是产品,而不是工程,这违背了软件工程的概念。一方面,国内现行用户对软件需求的要求不明确导致软件工程开发繁琐拖沓,开发完成后又得进行反复修改。另一方面,由于国内软件工程师缺乏专业训练,这一群体只能在实际开发的过程中进行摸索,从而对整个工程产生影响。中国目前的盗版猖獗,国内市场的盗版软件的规模要远远大于国外大型软件企业所销售的产品。诚然,盗版的确能够普及国人的计算机知水平,但却在无形之中使得国内相关软件产业企业利润降低甚至倒闭。在国外,软件工程在大中企业中已经成为企业的命脉所在。这些企业需要稳定、长期的开发体系作为保证。所以,对软件需求则更为清晰;而国内的许多中小型企业则把灵活多变作为企业赖以谋生的手段,这必然会导致没有长期计划这一状况,更不会运用软件工程管理软件进行系统的管理,因此他们更依赖于开发一次性的产品,而不是功能完整并能提供长期服务的系统。软件工程虽然在国外得到了足够多的重视,但国外的软件工程师仍旧缺乏一些必备的经验。英国在1970年提出了软件工程这一概念,却在1978-1980才得到传播[3]。1.4本文研究内容及主要贡献本文通过6大章节来设计开发一款基于UML的软件工程过程管理平台。绪论:该章节通过对课题背景、课题的意义和目的,国内外发展状况以及其发展趋势,对该管理平台做了一个概述。系统开发环境:该章节主要介绍本系统开发所需要的编程语言以及编程环境。需求分析:该章节对软件工程过程管理平台的需求进行分析,并通过可行性分析,系统分析、系统功能分析,使得该管理平台需求更加清晰、明朗,此外给出了整个系统的流程图以及各个模块的用例图。系统概要设计:该章节分为总体设计、详细设计以及数据库设计三大阶段内容。总体设计阶段通过对需求分析阶段得出的系统需求,设计出体系结构设计和软件结构设计,并给出相应的系统层次图。详细设计阶段则对总体设计阶段划分出的各大功能模块进行各自的详细分析设计,并通过状态图说明各个模块转换情况。数据库阶段则对数据库进行物理及逻辑设计,并通过类图和数据表加以解释说明。系统实现与测试:该章节分为编码、实现以及测试这三大块内容。编码部分给出各模块的关键性代码,实现部分则给出各模块实际效果,测试部分则通过相应的覆盖测试,对比预想情况与实际情况,从而给出相应的测试结果说明。总结与展望:该章节介绍此文设计的管理平台欠缺之处,并对该系统提升作出展望。第2章系统开发环境2.1Eclipse简介Eclipse是一款基于JAVA并且开放源代码的可扩展开发平台。但对于其本身来说,它仅仅是一个框架和多种服务,用户可以通过插件来构建自己的开发环境。Eclipse本事就包含一个插件集供用户使用,包括JDK。Eclipse具体包括四个部分——EclipsePlatform、PDE、CDT和JDT。EclipsePlatform是一个开放、可扩展的IDE,用来提供一个通用的开发平台;PDE通常用来插件相关的开发;CDT支持C相关开发;JDT则支持JAVA相关的开发。Eclipse提供建造块和构造并运行集成软件开发工具的基础。EclipsePlatform能够集成建造者独立开发的工具和他人开发的根据,且集成后无需分辨各个工具开始结束位置。2.2MySQL简介MySQL是一款关系型的数据库管理系统。具有速度快、体积小、开发源码和总体要求成本低诸多优点MySQL的系统特性:采用C、C++编写,并通过了多种编译器对其的测试,其可移植性已经得到保证;支持多种操作系统;为大多数主流编程语言提供API;多线程,能将CPU资源充分利用;SQL查询算法经过优化,查询速度得到提高[7]。2.3B/S架构B/S(Browser/Server)结构即为浏览器/服务器结构。它伴随着Internet技术而得到兴起,是对C/S结构进行变化并进行改进的一种结构。在这种结构下,用户的工作界面是通过用户浏览器来实现,其中,极少的事务逻辑通过前端(Browser)实现,但主要的事务逻辑则通过服务器端(Server)实现,形成了所谓的三层3-tier结构。相对于C/S结构而言,它属于“胖”客户端;但相对于需要在使用者电脑上安装相应的操作软件而言,B/S结构则属于“瘦”客户端,因为其主要的业务逻辑都存放于服务器端,因此,基于B/S结构的系统不用安装客户端软件,它通过客户端的浏览器运行,当系统需要维护和升级时,只需更新服务器端软件即可,这样就能极大的简化用户电脑载荷,从而当系统维护与升级时,机器的成本和工作量能够减轻。B/S结构系统的产生对软件面向未知的用户提供极大可能。当然,相对于C/S结构而言,B/S结构也存在系统运行较慢,访问系统的用户不可控等弱点[19]。2.4本章小结本章节主要介绍本系统开发所需要的编程语言以及编程环境。第3章需求分析所谓“需求分析”,即是对待解决问题进行详细的规划分析,弄清问题之所在,是软件工程中一个关键过程。只有确定了这些需求,才能进一步去分析和寻求新系统的解决方案[4]。3.1可行性研究本系统采用B/S结构(Browser-Server)模式,此结构便于系统开发、维护,且具有优秀的开放性、继承性以及可扩展性。本系统开发平台使用当前较为流行、高效的JSP技术,后台数据库则使用MySQL进行开发,MySQL具有强大的报表功能以及丰富多样的系统接口,使得其性能和安全性足够满足当前系统的需求。3.1.1经济可行性成本与效益的分析对比是经济可行性中最为重要的内容。软件工程过程管理平台的开发,对于现代化软件开发具有促进其往高效率、低成本方向发展的作用。所以,软件工程过程管理平台的建立在无形上大大节省软件开发的费用。因此,从经济可行性的角度上来看,开发此平台是完全可行的。3.1.2操作可行性本平台是基于B/S架构,客户端运行在web服务器上,能够做到方便管理软件,使用方法亦是较为容易上手。平台开发好之后,其操作完全是可视化的。3.2系统目标软件工程一系列理论的提出,使得软件开发变成一个有组织、有计划的集体活动。用户可以通过互联网向工作人员以及管理人员发送其预期软件需求目标。软件公司管理人员向各单位人员发布工作目标,并确保各职员能在规定的时间内完成自己的工作内容。工作人员在完成自己所要完成的职能后,能够通过互联网及时上传自己所完成的工作并与管理人员取得交互,使得工作任务能够更好的去完成实现。在具体需求的驱动之下,我采用了软件工程过程管理平台。3.3系统功能目标本平台分为用户模块、工作人员模块以及管理员模块这三大模块。各个功能的具体描述如下:(1)、用户、工作人员登录功能:用户或工作人员在输入其账号和相应的密码之后,系统会自动检索相应的数据库中是否存在,以及用户输入的信息是否合法;(2)、公告栏查看功能:用户或工作人员在其各自的登录界面能通过“公告栏”这一链接及时查看管理人员发布的全部公告;(3)、用户个人信息添加模块:用户能够在其模块内添加自己的个人信息并提交给服务器;(4)、用户家庭信息增加与修改:用户能够在其模块内增加其家庭成员的相应信息,并且能根据需要进行实时的修改、删除;(4)、密码修改:用户、工作人员可以通过修改密码这一子功能来确保自己账号的安全性能;(5)、开发周期查看:用户、工作人员在其模块内能够查看未来一段时间待开发的软件的开发周期;(6)、需求分析管理:工作人员在其模块内能够对待开发的工程提交相应的设计报告;(7)、管理员登录功能:管理人员登录其账户及密码后,系统检索库中信息并判定是否与库中信息匹配;(8)、用户、工作人员账户管理:管理人员在其模块内可以使用管理员权限对系统中的用户以及工作人员的信息进行查看、修改,同时管理人员也有权限进行新增用户和工作人员的账号;(9)、公告栏发布:管理人员在其模块中能够向用户及工作人员发布系统公告,同时也有权取消发布和删除公告;(10)开发周期填写:管理人员在其模块中能够反馈用户及工作人员接下来一段时间的工作信息。3.4系统流程图系统流程图主要介绍了整个软件工程过程管理平台的运作方式。用户在登录系统之后,选择登录用户模块、工作人员模块或者管理员模块中的一个模块。在相对应的各个模块之内,用户可以实现自己所拥有的功能。图3.1为系统流程图。图3.1系统流程图3.5系统用例图3.5.1用户模块用例图用户用例主要包括用户需求说明、公告栏查看、个人信息管理、密码修改、开发周期查看等功能。图3.2为用户模块用例图。图3.2用户用例图3.5.2工作人员用例图工作人员用例主要包括需求分析管理、总体设计管理、详细设计管理、编码实现管理、公告栏查看、密码修改、开发周期查看等功能。图3.2为工作人员模块用例图。图3.2工作人员用例图3.5.3管理员用例图管理员用例主要包括需求复审管理、公告栏管理、账号管理、开发周期管理等功能。图3.3为管理员模块用例图。图3.3管理员用例图3.6本章小结本节内容对该系统的可行性做了科学分析,验证了其存在的必要性。随后提出该系统所要达成的系统目标以及系统功能目标,并给出相应的详细介绍。为后续的开发奠定了良好的保障。第4章系统设计本章节首先对该平台做总体设计,从设计思想、软件结构等方面进行说明设计,通过层次图来划分系统模块。接着在对系统进行详细设计,将总体设计阶段得到的各个功能模块在进行单独设计,并通过流程图来说明运行流程。最后通过对数据库的分析设计,给出各个部分相应的E-R图和数据表结构。4.1总体设计总体设计阶段的重要任务是设计软件的结构,总体设计的基本目的就是回答“如何实现所需求的系统?”这个问题。4.1.1设计思想(1)、将系统分为多个不同的独立模块,其中模块的划分根据每个群体在这个软件工程中所对应的身份,并分别给出各个模块的功能。(2)、采用分层的模块化程序设计理念,将模块化设计贯穿与整个系统。(3)、模块间已“低耦合,高内聚”为目标,合理的设计模块间的依赖程度。4.1.2软件结构本系统共有三大模块:用户模块、工作人员模块和管理员模块。其中用户和工作人员在本系统中扮演的是前台功能模块,而管理员则意味着后台管理模块。前台功能模块涵括:(1)、需求说明,公告栏查看,个人信息增加,家庭信息添加与修改,开发周期查看、密码修改等;(2)、需求分析,总体设计,详细设计,编码实现,开发周期查看,公告栏查看,密码修改等。后台功能模块涵括:需求说明复审、账号管理、公告栏添加与修改、开发周期新增与修改等。主要的层次图如图4.1所示:图4.1软件工程过程管理平台层次图4.2详细设计如何具体的实现系统功能是详细设计阶段的根本目标,但详细设计阶段的目的并不是通过编码方式去编写程序,而是摹画出所需设计系统的“蓝图”,为后面的编码阶段打下坚实的基础。所以,详细设计结果的好坏对程序代码的最终质量有着深远的影响。4.2.1用户登录模块功能描述:该子模块用于接收用户名和密码,并提交给后台进行数据匹配。此外,按登入的角色不同,每个用户进入各自的模块,否则返回警告:没有找到对应的用户。此模块状态图,见图4.2。图4.2用户登录模块状态图4.2.2密码修改模块。功能描述:用户登入系统之后可以对自己的账号密码进行修改。如果提交的“新密码”和“重新输入”的内容完全吻合,则提示用户修改密码成功,否则返回警告“两次输入的密码不一致!请重新输入!”。此模块状态图,见图4.3。图4.3密码修改状态图4.2.3说明书提交模块功能描述:用户可以提交用户需求说明书,选择需要上传的文件进行上传。若尚未选择相应的文件便点击“上传”按钮,那么向用户返回警告“请选择要上传的文件!”。若上文件已上传,则返回警告“该说明书已提交”。此模块状态图,见图4.4。图4.4说明书提交状态图4.2.4添加账号模块功能描述:管理员添加用户、工作人员账号信息,若输入的工号已经存在,则提示用户“该工号已经存在”;若用户尚未输出账号名,则向用户返回警告“姓名不能为空!”。此模块状态图,见图4.5。图4.5添加用户状态图4.3数据库设计4.3.1类图一、用户类图。图4.6是用户类图。4.6用户类图二、工作人员类图图4.7是工作人员类图。图4.7工作人员类图三、说明书类图图4.8是说明书类图。图4.8说明书类图四、管理员类图图4.9是管理员类图。图4.9管理员类图五、公告栏类图图4.10是公告栏类图。图4.10公告栏类图六、用户类型类图图4.11是用户类型类图。图4.11用户类型类图4.3.2数据表结构一、用户表结构如图4.12所示。图4.12用户表结构二、工作人员表结构如图4.13所示图4.13工作人员表结构三、管理员表结构如图4.14所示图4.14管理员表结构四、说明书表结构如图4.15所示。图4.15说明书表结构五、公告栏表结构如图4.16所示。图4.16公告栏表结构六、家庭信息表结构如图4.17所示。图4.17家庭信息表结构七、状态表结构如图4.18所示。图4.18状态表结构八、学历表结构如图4.19所示。图4.19学历表结构九、格式表结构如图4.20所示。图4.20格式表结构4.4本章小结本章节将该系统从总体设计至详细设计再到数据库设计进行了系统设计,且同时在各阶段给出了对应的层次图,流程图以及类图等,并进行了详细的说明解释。 通过本章节的系统概要设计,为后续的系统实现打下了坚实的基础,极大地降低了后续开发的难度和成本。第5章系统实现与测试5.1编码实现Login.jsp页面是本系统登录的主页面,,无论系统的任何角色在进行登录时,都是在此界面下完成登录的。当用户登录以后,会根据登录角色的不同,呈现不同的登录界面。Login.jsp关键代码:<formaction="LoginServlet"method="POST"name="form"><tablewidth="300"height="177"border="0"align="center"> <tralign="center"><fontcolor="red"><h2><B>软件工程过程管理系统</B></h2></font></tr><tr><tdheight="30"><B>账  号:</B></td><td><inputtype="text"height="25"align="left"name="username"/></td></tr><tr><tdheight="30"><B>密  码:</B></td><td><inputtype="password"height="25"align="left"name="password"/></td></tr><tr><tdheight="22"><B>角  色:</B></td><tdalign="left"><selectname="loginType"><optionvalue="1">用户</option><optionvalue="2">工作人员</option><optionvalue="3">管理员</option></select></td></tr><tr><td><inputtype="submit"value="登录"onclick="check()"></td></tr><tr><tdheight="243"> </td><td> </td></tr></table></form>图5.1为Login.jsp截图:图5.1Login.jsp页面截图5.1.1用户模块一、工作人员登录模块student_index.jsp(用户登录界面)关键代码<framesetcols="180,*"border="0"frameborder="Yes"framespacing="0"><framesrc="student/student_left.jsp"name="leftFrame"frameborder="0"></frame><framesrc="student/student_right.jsp"name="rightFrame"></frameset>图5.2为student_index.jsp页面截图:图5.2用户登录页面截图二、用户需求说明模块图5.3为用户需求说明模块页面截图:图5.3用户需求说明模块三、个人信息模块图5.4为个人信息提交模块页面截图:图5.4个人信息提交模块四、家庭信息模块homeSituation_Add.jsp(用户家庭信息添加模块)关键代码: <tablewidth="100%"> <formaction=<%=add%>name="form1"method="post"> <tablewidth="100%"cellpadding="3"cellspacing="1" class="tableborder"> <tr> <tdcolspan="2"class="header"> <B><h2><fontcolor="#B23AEE">用户家庭信息</font></h3></B> <br><br><br><br></td> </tr> <tr> <tdclass="td"align="right"width="20%"><fontcolor="#120006">家庭成员名称:</font> </td> <tdclass="td"width="60%"><inputvalue="<%=homesituation.getMerberName()%>""name="merberName"type="text"/> </td> </tr> <tr> <tdclass="td"align="right"><fontcolor="#120006">家庭成员关系:</font> </td> <tdclass="td"><inputvalue="<%=homesituation.getHomeMerL()%>""name="homeMerL"type="text"/> </td> </tr> <tr> <tdclass="td"align="right"><fontcolor="#120006">职业:</font> </td> <tdclass="td"><inputvalue="<%=homesituation.getWork()%>""name="work"type="text"/> </td> </tr> <tr> <tdclass="td"align="right"><fontcolor="#120006">工作单位:</font> </td> <tdclass="td"><inputvalue="<%=homesituation.getWorkPlace()%>""name="workPlace"type="text"/> </td> </tr> <tr> <tdclass="td"align="right"><fontcolor="#120006">收入(年):</font> </td> <tdclass="td"><inputvalue="<%=homesituation.getYearEarning()%>""name="yearEarning"type="text"/> </td> </tr> <tralign="center"> <tdcolspan="2">      <inputname="submit"type="submit"value="提交"> </td> </tr> </table>图5.5为homeSituation_Add.jsp页面截图:图5.5用户家庭信息添加五、密码修改模块password_Update.jsp(密码修改模块)关键代码:<body> <tablewidth="100%"> <formaction="./servlet/PasswordUpdateServlet"name="form1"method="post"> <tablewidth="100%"cellpadding="3"cellspacing="1" class="tableborder"> <tr> <tdcolspan="2"class="header"><B><h2><fontcolor="#B23AEE"> 密码修改</font></h2></B> <br><br> </tr> <tr> <tdclass="td"align="right"width="20%"><fontcolor="#120006"> 帐      号:</font> </td> <tdclass="td"width="60%"><fontcolor="#000000"><%=session.getAttribute("userID")%></font> </td> </tr> <tr> <tdclass="td"align="right"><fontcolor="#120006"> 新密码:</font> </td> <tdclass="td"><inputname="password"type="password"/> </td> </tr> <tr> <tdclass="td"align="right"><fontcolor="#120006"> 请再次输入新密码:</font> </td> <tdclass="td"><inputname="passwordqr"type="password"/></td> </tr> <tralign="center"> <tdcolspan="2">      <inputname="submit"type="submit"value="提交"> </td> </tr> </table> </form> </table></body>图5.6为password_Update.jsp页面截图:图5.6密码修改更新5.1.2工作人员模块一、图5.7为工作人员登录模块页面截图:图5.7工作人员登录模块二、需求分析说明模块conApManage_Show.jsp(需求分析说明查看模块)部分关键代码: <divalign="top"><ahref="./servlet/YearServlet?action=add"target="rightFrame"><fontcolor="#FF4500"> 新增需求分析说明书</font></a> <hr/> <br/> </div> <divalign="top"> <tablebgcolor="#000000"cellspacing="3"cellpadding="1"border="1" width="100%"valign="top"> <trbgcolor="#CCCCCC"> <tdwidth="80"align="center"><B> 序列号 </B></td> <tdwidth="100"align="center"><B> 工号 </B></td> <tdwidth="228"align="center"><B> 标题 </B></td> <tdwidth="167"align="center"><B> 状态 </B></td> <tdwidth="164"align="center"><B> 开发周期 </B></td> <tdwidth="164"align="center"><B> 用户信息 </B></td> <tdwidth="180"align="center"><B> 需求详情 </B></td> <tdwidth="164"align="center"><B> 家庭详情 </B></td> </tr>图5.8为conApManage_Show.jsp页面截图:图5.8需求分析说明查看模块三、总体设计模块图5.9是总体设计说明书添加模块页面截图:图5.9总体设计说明书添加模块四、开发周期查看模块developmentCycle_Show.jsp(开发周期查看模块)部分关键代码: <tablewidth="100%"cellpadding="3"cellspacing="1" class="tableborder"> <tr> <tdcolspan="2"class="header"> <fontcolor="#B23AEE"><B><h2>开发周期</h2></B></font><br> </td> </tr> <tr> <tdclass="td"align="right"width="20%"> <fontcolor="#120006">需求分析阶段:</font> </td> <tdclass="td"width="60%"> <fontcolor="#120006">从:</font><inputsize="8"value="<%=developInfo.getNeedTimeStart()%>"name="needTimeStart"type="text"/> <fontcolor="#120006">到:</font><inputsize="8"value="<%=developInfo.getNeedTimeEnd()%>"name="needTimeEnd"type="text"/> </td> </tr> <tr> <tdclass="td"align="right"width="20%"> <fontcolor="#120006">总体设计阶段:</font> </td> <tdclass="td"width="60%"> <fontcolor="#120006">从:</font><inputsize="8"value="<%=developInfo.getAllTimeStart()%>"name="allTimeStart"type="text"/> <fontcolor="#120006">到:</font><inputsize="8"value="<%=developInfo.getAllTimeEnd()%>"name="allTimeEnd"type="text"/> </td> </tr> <tr> <tdclass="td"align="right"width="20%"> <fontcolor="#120006">详细设计阶段:</font> </td> <tdclass="td"width="60%"> <fontcolor="#120006">从:</font><inputsize="8"value="<%=developInfo.getDetilTimeStart()%>"name="detilTimeStart"type="text"/> <fontcolor="#120006">到:</font><inputsize="8"value="<%=developInfo.getDetilTimeEnd()%>"name="detilTimeEnd"type="text"/> </td> </tr> <tr> <tdclass="td"align="right"width="20%"> <fontcolor="#120006">编码阶段:</font> </td> <tdclass="td"width="60%"> <fontcolor="#120006">从:</font><inputsize="8"value="<%=developInfo.getCodeTimeStart()%>"name="codeTimeStart"type="text"/> <fontcolor="#120006">到:</font><inputsize="8"value="<%=developInfo.getCodeTimeEnd()%>"name="codeTimeEnd"type="text"/> </td> </tr> <tralign="center"> <tdcolspan="2">      <inputtype="button"value="返回"onclick="history.back(-1)"> </td> </tr> </table>图5.10为developmentCycle_Show.jsp页面截图:图5.10开发周期查看五、详细设计管理、代码实现管理同工作人员模块——总体设计模块六、公告栏查看模块图5.11为公告栏查看模块页面截图:图5.11公告栏查看5.1.3管理员模块一、管理员登录模块图5.12为管理员登录模块页面截图:图5.12管理员登录模块二、说明书复审管理模块图5.13为说明书复审管理模块页面截图:图5.13说明书复审管理三、账号管理模块图5.14为帐号管理模块页面截图:图5.14帐号管理模块四、公告栏管理模块leaDeclared_Show.jsp(公告栏管理模块)部分关键代码: <tablebgcolor="#000000"cellspacing="3"cellpadding="1"border="1" width="100%"valign="top"> <trbgcolor="#CCCCCC"> <tdwidth="100"align="center"> <B>序列号</B> </td> <tdwidth="180"align="center"> <B>标题</B> </td> <tdwidth="128"align="center"> <B>发布时间</B> </td> <tdwidth="167"align="center"> <B>状态</B> </td> <tdwidth="164"align="center"> <B>发布</B> </td> <tdwidth="105"align="center"> <B>更新</B> </td> <tdwidth="101"align="center"> <B>删除</B> </td> </tr>图5.15为leaDeclared_Show.jsp页面截图:图5.15公告栏管理六、开发周期管理图5.16为开发周期管理模块页面截图:图5.16开发周期管理5.2系统测试5.2.1用户登录测试表5.1有效等价类测试用例表测试数据期望值实际值测试结论用户名:000001密码:000001登入系统,跳转到“student_Index.jsp”页面登入系统,跳转到“student_Index.jsp”页面测试结果吻合用户名:100001密码:100001登入系统,跳转到“counsellor.jsp”页面登入系统,跳转到“counsellor_Index.jsp”页面测试结果吻合用户名:200001密码:200001登入系统,跳转到“leader_Index.jsp”页面登入系统,跳转到“leader_Index.jsp”页面测试结果吻合表5.2无效等价类测试用例表测试数据期望值实际值测试结论用户名:NULL密码:NULL该用户不存在该用户不存在用户密码不能均为空用户名:NULL密码:000001该用户不存在该用户不存在用户名不能为空用户名:000001密码:NULL该用户不存在该用户不存在密码不能为空用户名:1密码:1该用户不存在该用户不存在用户名和密码必须均为6位用户名:300000密码:123456该用户不存在该用户不存在无效用户名用户名:100001密码:000001该用户不存在该用户不存在密码错误表5.2无效等价类测试用例表5.2.2其他功能测试测试方法同表5.1、表5.2,测试结论均符合期望值。5.3本章小结在对本平台进行系统设计之后,本章对系统继续进行编码实现,注意编程规范,尽可能使代码变得简洁易懂;接着对平台进行系统测试,极大的降低系统出错的可能性,使系统趋于健壮。。第6章总结与展望6.1总结在当今的软件企业行业中,软件工程过程管理平台能够更好更方便的对软件开发过程进行管理,且从整个生命周期来看更高效和节约资源。对于本系统,本文主要做了下列几点的研究:1.系统概述说明:通过对该课题背景,系统概述,课题的目的与意义,以及国内外对该课题的研究现状及其发展趋势等方面的说明,对本系统的开发的可能性进行调研及概述。2.系统需求分析:对该课题的可行性进行分析研究,其中可行性包括经济可行性,操作可行性两大方面,同时对该系统的系统目标,系统功能目标进行的详细的分析,并给出了各个模块的大致功能,促使本系统需求更加清晰明确。3.系统设计:对该系统进行总体设计、详细设计以及数据库设计三大设计阶段,明确的给出了了本平台的结构框架。在总体设计阶段,给出了本平台总的层次图;在详细设计阶段,分别给出了主要子功能模块的状态图;在数据库设计阶段,又分别给出各实体元素的类图和对数据表结构进行分析设计。4.系统实现:通过编码来实现本平台的具体功能需求,在编码期间进行了单元测试,发现并改正程序中存在的错误;在整个系统编码开发完成之后,再对整个系统平台进行了相关的系统测试,彻底消除了本系统残余的漏洞,确保了本系统的健壮性。6.2展望本系统在开发过程中对工作人员具体分工不明确,不能将各个阶段的任务对应到其相应的工作人员。此外,在提高本系统的安全性方面,如确保用户信息不被窃取以及用户提交文件的安全性方面也是本系统尚待改进的方向,使该系统在安全性方面更进一步。毕业设计体会伴随着夏天的来临,距离毕业的日子也愈来愈近,毕业设计与同时进入了尾声。经过近三个月的奋战,我的毕业设计也终于达到了预期的目标。相比教在大学期间做过的课程设计,本次的毕业设计在知识面上涉及范围更广、资料需求量更多、工程规模也更大。从某种角度而言,毕业设计不仅是对我在本科四年学习的知识一种检验,更是提高了自身实际能力。通过本次的毕业设计,我明白我所掌握的东西不过是茫茫计算机知识海洋中的一点皮毛,在以后的学习生活中也需要更加勤奋。本次毕业设计的内容要求是建立一个基于UML的软件工程过程管理平台,尽管上一届的同学已经完成的非常出色,但我仍希望通过自身的努力来完成本次毕业设计并做到有所突破。这是我对自己的一个考验。在本次设计的过程中,我严格按照软件生命周期这一理念来进行我的设计步骤。从课题分析开始,再到总体设计、详细设计,最后到系统的实现与测试,每一个阶段都将我所学习到的知识融入到设计中去,同时它也帮助我熟悉了软件开发这一整套流程。万事开头难,在课题分析阶段,如何设计软件工程过程管理平台的功能显得尤为重要。最为关键的一点就是牢牢理解指导老师提供给我的有关文献。从提出问题,再查阅资料,再到最后的解决问题,指导老师给予了我很大的帮助。在总体设计阶段,由于之前对本课题的需求分析做的比较透彻,所以我很快便对整个系统结构有了充分认识,并在此之上形成了功能模块层次图以及用户功能流程图。到了详细设计阶段,从各模块的主要功能入手,分别进行编程调试。紧接着的是对写好的函数进行封装,这个过程带给我许多麻烦,繁琐复杂的函数以及函数间不同的接口、调用,很容易便会出现问题。在最后的系统的实现环节,即对写完的程序进行调试运行。在调试的过程中,由于对整个系统的把握没有那么得心应手,导致了我心里面极度的焦躁。然而,在指导老师的耐心的分析与帮助下,我重新恢复了心态并改正了这一过程所出现的错误。这段过程使我明白无论今后遇见何种情况都要沉着的去分析原因,列出出现问题的可能情况,冷静应对,最后一定能够“化险为夷”。本次的毕业设计也让我深深的体会到了与他人合作、交流的重要性,一个人的力量总归是有限的,在遇到一些问题的时候,若查阅资料亦不能解决问题,这时候就要向同学请教探讨。通过本次的毕业设计,让我清楚了对自己的定位,对以后学习工作能够打下基础。

致谢历经三个月的毕业设计终于结束,人生即将踏入一个新的台阶。在本系统的设计过程之中,遇到了无数的困难与障碍,庆幸的是都在老师和同学的帮助下一一克服。本设计的工作是在我的指导老师祝义副教授的悉心指导下完成的,他对我进行了无私的辅导与热心的帮助,不厌其烦的对我的毕业设计进行指导与修改。在此由衷的感谢祝义老师对我的关心和指导!此外,我想对计算机学院表示衷心感谢,免费的机房使我们能够更加方便的学习和交流。最后,也感谢我的同学和朋友,感谢他们在我设计的过程之中提出诸多优秀的改进意见以及给予了热情的帮助。由于本人的水平有限,本设计在各方面还存在着诸多不足,恳求各位老师和学友对本设计进行批评指正!

参考文献[1]耿祥义、张跃平编著,《JAVA面向对象程序设计》,清华大学出版社,2010年,P12-15。[2]MichaelBlaha,JamesRumbaugh编著,《UML面向对象建模与设计(第2版)》,人民邮电出版社,2011年,P35-77。[3][英]萨默维尔编著,《软件工程(第9版)》,机械工业出版社,2011年,P10-187。[4]张向宏主编,《软件生命周期质量保证与测试》,电子工业出版社,2009年,P35-40[5]张永常主编,《Java程序设计实用教程(第2版)》,电子工业出版社,2009年,P54-288。[6]薛福亮编著,《JAVA面向对象程序设计与Web开发》,清华大学出版社,2014年,P60-61。[7]BenForta编著,《MySQL必知必会》,人民邮电出版社,2009年,P30-33。[8]沈泽刚、秦玉平主编,《JavaWeb编程技术》,清华大学出版社,2010年,P123-130。[9]W3Schools.LearnCSSwithW3Schools,JohnWiley&Sons,2010,P66-79。[10]Nicholas

C.

Zakas.JavaScript高级程序设计,人民邮电出版社,2012年,p31-33。[11]DavidSawyerMcFarland.CSS:TheMissingManual,O'Reilly,2006,p350-354.[12]RichardYork.BeginningCSS:CascadingStyleSheetsforWebDesign,Wrox,2010,P19-22.[13]Swicegood,Travis.ProgrammingNode.js,PragmaticBookshelf,2012,P99-105.[14]Woychowsky,Edmond.Ajax,PrenticeHallPTR,2011,P89-113.[15]Castledine,Earl,

Sharkie,Craig.JQuery:NovicetoNinja,Baker&TaylorBooks,2010,P67-72.[16]DabisW.S.“SystemsAnalysisandDesign”,AStructuredApproachAddison-WesleyPub.Co,2003,P12-60.[17]JimArlow.“IIaNeustadUML2andtheUnifiedProcess”,PracticalObject-OrientedAnalysisandDesign,SecondEdition,2006,p119-122.[18]于希涛,《基于Eclipse平台的可视化数据库建模工具的研究与开发》,中国海洋大学学位论文,2009,P22-23。[19]王建魁,吴薇薇,《论B/S和C/S架构》,中国数字电视与网络发展高峰论坛暨第十三届全国有线电视综合信息网学术研讨会,2005,P2-5。[20]畅利红编著,《div+css3.0网页样式与布局全程揭秘》,清华大学出版社,2012年,P366-376。[21]DonGosselin编著,《JavaScript深度剖分析》[第2版],北京大学出版社,2003年,P43-247。

英文翻译资料A.英文原文SoftwareTestingandSoftwareDevelopmentLifecycles1.IntroductionThevariousactivitieswhichareundertakenwhendevelopingsoftwarearecommonlymodelledasasoftwaredevelopmentlifecycle.Thesoftwaredevelopmentlifecyclebeginswiththeidentificationofarequirementforsoftwareandendswiththeformalverificationofthedevelopedsoftwareagainstthatrequirement.Thesoftwaredevelopmentlifecycledoesnotexistbyitself,itisinfactpartofanoverallproductlifecycle.Withintheproductlifecycle,softwarewillundergomaintenancetocorrecterrorsandtocomplywithchangestorequirements.Thesimplestoverallformiswheretheproductisjustsoftware,butitcanbecomemuchmorecomplicated,withmultiplesoftwaredevelopmentseachformingpartofanoverallsystemtocompriseaproduct.Thereareanumberofdifferentmodelsforsoftwaredevelopmentlifecycles.Onethingwhichallmodelshaveincommon,isthatatsomepointinthelifecycle,softwarehastobetested.Thispaperoutlinessomeofthemorecommonlyusedsoftwaredevelopmentlifecycles,withparticularemphasisonthetestingactivitiesineachmodel.2.SequentialLifecycleModelsThesoftwaredevelopmentlifecyclebeginswiththeidentificationofarequirementforsoftwareandendswiththeformalverificationofthedevelopedsoftwareagainstthatrequirement.Traditionally,themodelsusedforthesoftwaredevelopmentlifecyclehavebeensequential,withthedevelopmentprogressingthroughanumberofwelldefinedphases.ThesequentialphasesareusuallyrepresentedbyaVorwaterfalldiagram.ThesemodelsarerespectivelycalledaVlifecyclemodelandawaterfalllifecyclemodel.Figure1VLifecycleModelThereareinfactmanyvariationsofVandwaterfalllifecyclemodels,introducingdifferentphasestothelifecycleandcreatingdifferentboundariesbetweenphases.Thefollowingsetoflifecyclephasesfitsinwiththepracticesofmostprofessionalsoftwaredevelopers.•TheRequirementsphase,inwhichtherequirementsforthesoftwarearegatheredandanalyzed,toproduceacompleteandunambiguousspecificationofwhatthesoftwareisrequiredtodo.•TheArchitecturalDesignphase,whereasoftwarearchitecturefortheimplementationoftherequirementsisdesignedandspecified,identifyingthecomponentswithinthesoftwareandtherelationshipsbetweenthecomponents.Figure2WaterfallLifecycleModel•TheDetailedDesignphase

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论