在RUP模型开发过程中的项目管理论文.docx_第1页
在RUP模型开发过程中的项目管理论文.docx_第2页
在RUP模型开发过程中的项目管理论文.docx_第3页
在RUP模型开发过程中的项目管理论文.docx_第4页
在RUP模型开发过程中的项目管理论文.docx_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

在RUP模型开发简化过程中的项目管理 摘 要在软件开发过程中,尤其是针对大型的政府信息化项目,采用RUP模型是适当的,也是必要的。不过由于RUP特有的复杂性,在实际的软件开发管理过程中,可能会根据需要对RUP进行适当的剪裁,并在此基础上 构造一个相对简化的软件开发过程模型,这对于保证软件开发的高效率、高质量和低成本,具有重要的意义。本文以本人主持开发的电子商务监管项目的项目过程管理入手,试图通过对 RUP进行裁剪,形成体现开发团队特色的“轻量”型的RUP并对它进行描述争取在RUP开发过程模型中,为自己的团队模式构造一种适合于自身特点的软件过程管理体系。关键词:模型分析,软件工程过程管理目录1背景- 5 -2电子商务监管系统概述- 5 -3总体规划- 6 -3.1本系统项目管理的总体规划- 6 -4本项目的人员配备- 8 -5进度管理- 13 -5.1流程图示- 13 -6风险管理- 14 -6.1流程- 14 -7质量管理- 15 -8项目管理的特点- 15 -8.1基于RUP的软件开发流程- 15 -8.2迭代开发的优势- 15 -8.3开发流程简介- 16 -8.4项目开发流程- 17 -8.4.1业务建模(Business Modeling)- 18 -8.4.2需求管理(Requirements)- 19 -8.4.3分析和设计(Analysis & Design)- 21 -8.4.4实现(Implementation)- 23 -8.4.5测试(Test)- 24 -8.4.6部署(Deployment)- 26 -8.4.7配置和变更管理(Configuration & Change Management)- 28 -8.4.8开发规范(Environment)- 29 -8.5项目实施方案- 30 -8.6项目管理- 31 -8.7项目准备阶段- 32 -8.8业务建模阶段- 32 -8.9需求分析阶段- 32 -8.10分析和设计阶段- 32 -8.11编码实现阶段- 32 -8.12测试阶段- 33 -8.12.1支撑平台以及应用系统的测试- 33 -8.12.2割接整合测试- 33 -8.13部署阶段- 34 -8.14项目收尾阶段- 35 -9实施进度- 35 -10项目文档管理- 36 -10.1文档管理的要求- 36 -10.2文档的范围- 37 -11图表清单及主要符号表- 37 -12结论- 37 -13参考文献- 38 -1 背景在软件工程的开发过程管理过程中,采用合适的开发模型尤其重要,从早期的瀑布模型,快速原型到目前比较流行的RUP,敏捷等模型,软件开发模型已经形成了复杂而庞大的体系结构。本人以前对于RUP开发模型比较适应,因为大部分的工作经历,总是基于这样的开发队伍和环境中:l 队伍中有1到5位开发技术比较高的人,带领一队只有初级开发经验的人员,要完成较大型的项目。l 由于客户方面的原因(当然也有可能是客户觉得我们的开发队伍未必靠谱),他们对项目的前期计划、可研分析、技术分析和业务需求关注得比较多,因此项目的重心其实依赖于开发的前期阶段。在项目初期,依靠1到2位高级人员快速搭建第一个增量版本,并且解决绝大部分技术难点,是项目最终能够获得成功的重要保证。l 在项目的中期和后期,其它人员的介入将使项目变得非常”有价值”,使得软件的价值增长或者说附加值变得很高,因此后续版本的开发(或者二期工程)将带来很好的效益,而这种更新所需要的技术,难度并不是很高,在项目的初期,就已经把技术难关都基本上解决了。l 如上所述,在整个项目的开发过程中,是一个的过程,不过在项目的前期,尤其是第一个增量的版本研发过程中,由于只有很少的人,而且这部分开发是整个项目得以运作和拓展的基点,所以对这部分可以当成类似于敏捷的“轻量”的过程来操作(声明:本人其实并不熟悉敏捷)2 电子商务监管系统概述现阶段,由于我国针对电子商务的现行立法仍处于半真空状态,工商行政管理职能中,也没有把电子商务监管纳入监管体系,因此,部分电子商务主体就可能在这个虚拟市场里,利用电子技术、信息技术和网络技术规避法律和监管。在网络交易中屡屡出现发布虚假广告(信息)、违约行为、销售假冒伪劣商品、侵权行为、不正当竞争行为、欺诈行为等违法行为。但由于电子商务本身具有的虚拟性、无国界性和自由性的特点,扩大了监管职权和执法领域,同时取证成为了一个难题,这些都增大了工商行政管理的执法难度。目前网络交易纠纷数量增多,影响面大,针对这一严峻的问题,迫切需要建设一套针对电子商务和网上交易行为信息进行监控和搜索,为广大消费者保价护航的软件,通过引入“电子警察”和搜索引擎的概念,对目前电子商务领域中存在的不法行为进行分析甄别,引导消费者正确消费,保护正常的市场秩序。3 总体规划3.1 本系统项目管理的总体规划按照典型的RUP项目进行总体规划如下:n 软件开发周期的四个阶段针对本系统,将整个软件开发的生命周期分为准备阶段、开发阶段、系统的割接整合阶段以及维护阶段。n 项目的过程在以上软件开发生命周期的四个阶段中,将其中的准备阶段和开发阶段当成一个完成的项目来做,由启动、计划、执行、控制和收尾五部份组成。项目启动确立项目组,确定项目的整体目标和范围。项目计划制定项目计划,须从人员、时间、风险以及之后如何执行和控制等方面去考虑。项目执行按照制定的计划安排工作。项目控制监视项目的开展情况,看看项目是否在可控范围内。项目收尾对项目进行总结,确定继续进行的风险和范围,以决定是否进入下一阶段。n 项目管理的重点一般项目管理包括:进度管理、范围管理、风险管理、项目人力资源管理、质量管理、沟通管理、成本管理、项目采购管理这八个方面。它们从不同的方面对项目进行管理,以促使项目能在一定的时间、成本、范围、质量的限制下顺利完成。当然针对不同的项目,管理的侧重点也有所不同。对于本项目,考虑到人员素质的差异,可能会对开发成本造成很大的影响,如果开发顺利,会节省很多成本,反之会由于项目延期返工造成成本上升,因此成本管理在本项目中和进度是有很大关系的,这就要求我们尽可能针对项目进度进行管理,以此取代成本的管理;项目人力资源管理和沟通管理具有很多相通性,放在一起来管理。由于前期介入项目的人员素质很高,同时我们拥有健全的项目管理体系,因此初期的项目范围管理和需求管理将不是本项目要管理的重点,在此也一并忽略了。重点从进度管理、风险管理、人员沟通管理和质量管理这四大方面对本项目进行管理: 进度管理进度管理是任何一个系统开发均要涉及到的工作,本系统也不例外,无论是整体上还是局部上都要对项目的进度进行严格的管理和控制。 风险管理为了要让这个项目顺利地完成,必须对项目中的风险进行识别,并采取相应的应对措施,防范于未燃。 人员沟通管理本系统是一个比较大的系统,为其配备的人员无论是数量上还是要求上都是相对比较高的。要确保配备人员符合项目要求,确保消息能从合适的人处正确、及时地传达到适合的人那里,形成一个稳定的工作团队。 质量管理由于本系统在一定程度上是代表河北省工商信息化建设的建设水平,所以对系统有很高的质量要求。我们要针对这一点做好质量管理的工作。4 本项目的人员配备本系统需要开发的内容比较多,要求也比较高。为使工程按质、按量、按时及有序实施,为此我们建立了一个完善和稳定的管理组织机构。本项目专门配有经验丰富的项目管理人员、技术专家(其实人员不多),其他岗位的人员也是可以选取能够初步满足要求的开发人员担当。下面介绍一下本项目的项目人员架构以及相应的人员要求。项目人员架构图整个项目团队分为需求分析小组、系统设计小组、软件开发小组、系统测试小组、系统实施小组、系统培训及维护小组和质量保证小组共20-50人。具体的分工和相应配配的人数请详见下图。根据项目软件开发工作的需要和项目管理工作需要,结合筹建的项目团队的实际技能情况,项目团队中的主要角色需要执行的主要项目任务和所具备的技能,见下表:项目角色执行的主要项目任务相关角色具备的技能客户代表确定项目的需求参与重大项目活动的审批参与项目验收管理层提供项目的资源保证项目计划审批项目进度监控项目经理全面负责项目管理负责项目计划制定协调安排项目团队工作资深的项目管理经验具备丰富的大型项目团队管理的经验技术主管确定技术方向和技术路线协助客户代表和项目团队解决技术问题协助项目经理制定项目计划具备丰富的SOA三架构设计开发经验精通J2EE体系结构精通OOA、OOD技术精通UML技术业务协调人员负责协调客户关系业务专家负责对客户提出业务建议对系统的业务合理性把关协助客户代表解决业务问题具有资深的工商信息化建设的经验过程控制人员建立本项目的最佳开发和管理流程对项目的执行过程进行监控具备丰富的项目管理经验丰富的项目过程控制经验项目进度监控人员采集进度信息协助项目经理分析进度信息对进度安排提出合理化建议具备丰富的项目管理经验丰富的项目进度控制经验评审人员参与业务建模评审参与需求评审参与设计评审参与测试评审具备丰富的项目管理经验较多的软件开发经验丰富的软件开发评审经验业务流程分析员调研与项目相关的业务状况调研与项目相关的系统状况业务建模具有多年政府信息化建设的经验熟悉工商业务流程精通业务建模业务流程设计人员业务对象分析和设计业务接口规范设计业务流程自动化分析业务建模具有多年政府信息化建设的经验熟悉工商业务流程精通业务建模系统分析员明确需求需求分析具有多年政府信息化建设的经验熟悉工商业务流程精通需求分析技术架构设计师制定解决方案体系结构决策组件建模操作建模具备资深的分布式系统开发经验精通SOA的解决方案精通UML建模技术和建模工具具备J2EE体系和中间件技术设计经验具备丰富的大型数据库建设经验一般 IT 体系结构XML、XML SchemaWeb 服务概念与平台、最佳实践设计员子系统设计对象设计组件设计精通OOA和OOD技术精通SOA的设计技术精通UML建模技术和建模工具精通J2EE体系和中间件技术XML、XML SchemaWeb 服务概念与平台、最佳实践数据库设计员业务实体分析和逻辑建模数据库物理建模数据库性能优化数据库管理精通UML建模技术和建模工具具备丰富的大型数据库建设经验精通数据库管理系统精通数据建模技术程序员代码编码服务请求者编码代码文档化设计执行单元测试精通OOP技术精通web service编程熟悉UML建模工具精通J2EEXML、XML SchemaWeb 服务概念与平台、最佳实践文档人员编写软件开发文档测试设计员测试需求分析测试用例编写测试程序设计具备丰富的软件开发设计经验精通UML建模精通SOA体系和J2EE体系结构精通面向对象测试技术测试程序员测试程序设计测试用例检查测试程序编写具备丰富的软件开发经验精通SOA体系和J2EE体系结构开发精通面向对象测试技术功能测试员运行系统测试分析测试结果,编写测试报告缺陷跟踪具备丰富的系统测试管理经验性能测试员运行性能测试分析测试结果,编写测试报告缺陷跟踪具备丰富的性能测试管理经验系统管理员维护开发环境的稳定运行协助项目的安装实施系统的日常维护丰富的系统管理维护经验系统安装人员安装和配置统一的开发环境系统的安装实施协助系统的日常维护丰富的系统管理维护经验客户培训人员用户培训材料的准备实施用户培训协助客户代表落实新的业务规范丰富的系统实施经验丰富的系统培训经验客服人员负责人工坐席的服务包括GIS位置查询与路线导航服务、防盗报警服务系统维护人员系统的日程维护丰富的系统管理维护经验跟进回访人员客户的定期走访接收客户投诉组织客户投诉的解决主要项目人员简介项目经理一人:有十年以上大型项目管理经验,曾经管理的过千万的大型综合业务系统。专职负责本项目的开发。本系统建设期间,在接到采购人通知4小时内可到达采购人现场处理问题或交流情况。技术主管一人:具有大型综合业务应用系统研发经验,主持过多项超过100万的项目开发,本系统建设期间,在接到客户方通知4小时内能到达现场处理问题或交流情况。架构设计师一人:具丰富架构设计、数据库设计经验,有超过5年的数据库设计和架构设计经验。以上主要人员将全职参与项目建设。5 进度管理进度管理是为了确保项目能按时完成所需的各个过程。5.1 流程图示6 风险管理风险管理是对项目风险进行识别、分析和应对的系统化工程。它包括把对于项目目标而言正面事件的概率和影响结果扩到最大和把负面事件的概率和影响结果减少到最小。6.1 流程7 质量管理我们在开发项目上按照规范化软件的生产方式进行开发,在开发流程上采用ISO9000的标准进行质量管理。我们的质量管理主要包括:质量保证、过程控制和持续改进三个过程域。质量保证贯穿整个项目全生命周期的有计划和有系统的活动,软件质量保证工程师定期地针对整个项目质量计划的执行情况进行评估、检查与改进等工作,向管理者、顾客或其他方提供信任,确保项目质量与计划保持一致。过程控制对阶段性的成果进行检测、验证,为质量保证提供参考依据。持续改进我们运用ISO管理体系的一个主要思想PDCA,即为Plan-Do-Check-Action(计划执行检查措施),不断地提高质量,以满足顾客不断提高的需要,企业必须要持续改进才能持续获得顾客的支持。本系统不仅在一定程度上反映工商管理政府机关的信息化建设的水平,还代表着政府的形象。因此,质量问题是值得重视的,对于本项目来说,尤其是拥有大量的初级开发人员来说也是至关重要的。考虑到质量的重要性,为此我们专门制定了严格的质量管理的规范和质量管理制度体系。8 项目管理的特点8.1 基于RUP的软件开发流程本次项目使用了基于RUP的迭代开发方法8.2 迭代开发的优势由于项目核心开发人员水平很高,因此可以更早提交演示版本,协助用户尽早了解系统的本质,确定系统需求,为后期的增量和业务价值的增长提供足够的空间:需求变更一直是项目中导致交付的系统质量低下、延期交付、令客户不满意和使开发人员泄气的主要原因。尽可能早地确定用户的主要需求,是解决上述问题的关键。使用迭代开发方法项目团队在项目开发的早期花费较少的时间,就可以关注关键的需求,并且生成可以演示的可执行软件,这样可以协助用户尽早了解系统的本质。系统多次集成,获得较高的质量:系统经过多次的迭代,多次的集成,核心模块经过多次的测试,更早地发现系统的缺陷,从而可以更好地保证交付的系统质量。良好的风险管理:通过迭代开发方法,项目团队可以在早期的迭代中体验事先制定的风险应对措施的实际效果,并及时调整风险应对计划。持续改进的开发过程:迭代末尾的评估不仅能够从计划方面揭示项目的状态;同时也可以帮助项目经理分析在下一个迭代中如何改进项目的组织结构和过程。我们的软件开发流程,就是基于RUP的迭代开发的思想,并结合我们多年的软件开发实践经验,定制而成的。8.3 开发流程简介本项目的软件生命周期分为开始、细化、构建和移交四个阶段,并且根据实际项目的需要采用不同次数的迭代,每一次迭代中都包括从业务建模到部署等主要的开发过程。具体可以见下图。系统开始阶段:我们是要所有项目关系人对实现项目的目标的所有关键因素达成共识。包括项目团队会明确的说明项目的规模,计划和准备工作的安排,项目的架构选型,项目设计和重用,从而合理的估算出项目的成本,进度和资源。系统细化阶段:我们会建立系统架构的基线。项目团队会快速确定项目的架构,确认架构和建立架构基线,制订详细的迭代计划,同时会对不合理的开发案例和架构进行改进。系统构建阶段:我们会阐明剩余的需求,并基于已建立基线的架构完成系统开发。项目团队会合理安排资源,控制资源和优化过程,对完成的开发工作按照评估标准进行测试,并对项目发布进行评估。系统移交阶段:我们会按照用户反馈调整系统配置、安装和可用性问题。项目团队会按照部署计划对项目进行部署,在开发现场测试已交付的产品,使最终用户可以使用此系统。8.4 项目开发流程迭代开发过程分为6个核心过程和3个核心支持过程。核心过程包括业务建模、需求、分析、设计、实现和测试。支持过程包括项目管理、变更配置管理和开发规范。8.4.1 业务建模(Business Modeling)项目团队通过业务建模过程了解目标组织的结构和机制,了解目标组织中存在的问题并确定改进的可能性,从而确保客户、最终用户和开发人员就项目目标达成共识。同时基于这个共识在商业用例模型和商业对象模型中定义项目的过程,角色和责任。具体流程请见下图: 关键流程:评估业务状态:业务流程分析员和用户代表小组通过一系列的研讨完成对客户方组织的业务状态评估。确定业务流程:业务流程分析员在业务研讨会上确定业务术语并概括出业务用例和业务主角。设计业务流程的实现:业务流程分析员会根据项目的业务建模规范要求确定业务中的所有角色、可交付工件和系统业务要求, 并通过统一规范的语言详细说明业务角色和业务实体是如何通过执行业务用例来实现的。评审业务流程:项目经理会组织用户代表小组和业务专家等相关人员对实现的业务流程设计以及是否符合项目业务建模规范进行评审。通过评审会正式核实业务对象建模的结果是否符合真实的业务需要。输出文档和工件:1. 业务规范2. 业务架构文档3. 业务模型8.4.2 需求管理(Requirements)项目团队通过需求管理过程来描述系统应该做什么,并使开发人员和用户就这一描述达成共识。为了达到该目标,项目团队会对需要的功能和约束进行提取、组织、文档化。经过需求过程后,项目团队会形成用例模型,利用用例模型可以有效地界定系统范围及其行为,并同时得到用户和开发人员的认同。用例作为分析与设计过程的输入,是实现分析与设计模型的基础。项目团队通过用例模型使设计模型能够实现用例模型所定义的功能。同时,在测试流中运用用例模型组成了测试实例,帮助项目团队的测试人员有效地校验整个系统的正确性。具体流程请参看下图: 关键流程:1. 分析需求:系统分析员提炼,分析和仔细审查已收集到的需求,以确保所有的风险承担者都明白其含义并找到其中的错误,遗漏或其他不足的地方。2. 编写需求规格说明书:系统分析员用标准使用实例模板编写需求规格说明书。在需求规格说明书中包含了软件的功能需求和非功能需求。系统分析员会根据需求编写规范确保需求规格说明书的统一风格,使读者能明白怎样解释它。 3. 需求评审:项目经理对于已经完成的需求规格说明书组织一个有不同代表组成的专家小组。专家会根据需求编写规范对需求规格说明书的内容、风格、形式以及相关模型进行仔细的检查。输出文档和工件:1. 软件需求说明书2. 数据要求说明书3. 术语表4. 需求模型8.4.3 分析和设计(Analysis & Design)项目团队通过分析和设计过程将需求转化成未来系统的设计,为系统开发一个健壮的结构并调整设计使其与实现环境相匹配,并优化其性能。分析设计的结果是一个设计模型和一个可选的分析模型。设计模型是源代码的抽象,由设计类和一些描述组成。设计类被组织成具有良好接口的设计包和设计子系统,而描述则体现了类的对象如何协同工作实现用例的功能。设计活动以体系结构设计为中心,体系结构由若干结构视图来表达,结构视图是整个设计的抽象和简化,该视图中省略了一些细节,使重要的特点体现得更加清晰。体系结构不仅仅是良好设计模型的承载媒介,而且在系统的开发中能提高被创建模型的质量。具体的分析设计流程见下图:关键流程:1. 架构设计:我们会在构架分析和用例分析之间进行迭代。架构设计师首先在构架分析中的构架上初步执行一遍,然后选择在构架方面具有重要意义的用例,对其中的每一个用例执行用例分析。在分析每一个用例后,根据需要更新构架,以反映为适应系统的新行为和处理已确定的潜在构架问题而进行的变更。在进行架构设计时,架构师会按照设计规范运用图形解释有关解决方案的提案的本质特征,并阐述主要构想和涉及的主要构建模块。2. 编写概要设计说明:架构设计师根据软件需求规格说明书建立软件系统的总体结构和模块间的关系,定义各功能模块的接口,设计全局数据库或者数据结构,规定设计约束,制定集成测试计划。概要设计说明书会对每个功能模块按照设计规范进行功能描述、全局数据定义、外部文件定义, 以便所有的读者能够清楚的明白概要设计说明。3. 评审概要设计说明:项目经理对于已经完成的概要设计说明书组织一个由不同代表组成的专家小组,按照项目设计规范对概要设计说明书以及相关数据库设计进行仔细的检查。4. 编写详细设计说明:程序员对概要设计产生的功能模块进一步细化,形成若干个可编程的程序模块,按照设计规范用UML设计程序模块的内部细节,包括算法、数据结构、各程序模块之间的详细接口信息,为编写源代码提供必要的说明。5. 评审详细设计说明:项目经理对于已经完成的详细设计说明书组织一个由不同代表组成的专家小组,按照项目设计规范对详细设计说明书的内容和规范进行仔细的检查。输出文档和工件:1. 系统概要设计说明书2. 系统详细设计说明书3. 数据库设计说明书4. 设计模型8.4.4 实现(Implementation)团队通过实现过程包括以层次化的子系统形式定义代码的组织结构;以组件的形式(包括源文件、二进制文件、可执行文件)实现类和对象;将开发出的组件作为单元进行测试以及集成由单个开发者(或小组)所产生的结果,使其成为可执行的系统。在实施过程中,项目团队会对各个类进行单元测试。具体实现流程见下图:关键流程:1. 编码:程序员根据详细设计文档将详细设计转化成所要求的程序。在编码过程中, 程序员会按照编码规则进行编码, 以保证所有代码具有高质量和规则一致性, 并增强了代码的可维护性, 降低维护成本。2. 单元测试:程序员按照测试指南中的单元测试要点, 针对编码过程中可能存在的各种错误进行测试。例如用户输入验证过程中可能存在的边界值等错误。3. 集成测试:系统集成员在各增量中编译并链接系统。每一增量都会按照测试指南中的集成测试要点测试增加的功能,并进行以前版本测试过的所有测试(回归测试)。在测试中, 会特别注意检查各单元与其它程序部分之间的接口上可能存在的错误。输出文档和工件:1. 代码2. 单元测试记录3. 集成测试记录4. 实现模型8.4.5 测试(Test)项目团队通过测试过程验证对象间的交互作用,验证软件中所有组件的正确集成,检验所有的需求已被正确的实现,识别并确认缺陷在软件部署之前被提出并处理。项目团队运用迭代的方法,意味着在整个项目中都会进行测试,从而尽可能早地发现缺陷,从根本上降低了修改缺陷的成本。测试类似于三维模型,分别从功能、性能和其他必要的方面来进行测试。具体测试流程见下图:关键流程:1. 测试计划:测试工程师确定和描述要实施和执行的测试。测试计划是通过生成包含测试需求和测试策略的测试计划来完成的。2. 测试用例设计:测试工程师按照测试指南中测试用例设计部分的要求, 在测试用例设计中确定并传达将在测试中执行,并且核实实施的系统需求(用例、性能特征等)是否成功和能否接受所必需的条件。测试用例反映了一种测试覆盖(基于需求的测试覆盖)评测方法。3. 评审测试用例:项目经理对于已经完成的测试用例组织一个由不同代表组成的专家小组,按照测试指南对测试用例进行仔细的检查,以验证测试用例能够覆盖项目所有的需求。流程要点:对于功能测试,我们会注重验证系统是否能满足用户的需求。功能测试的要点为:1. 每一个软件功能必须被一个测试用例或一个被认可的异常所覆盖。2. 利用基本的数据值和数据类型进行测试。3. 用一系列合理数据值和数据类型对软件进行测试,检查软件在满负荷状态下和其他极值情况下的运行结果。4. 用非合理的数据值和数据类型进行测试,检查软件是否具有对非法输入的排他性。5. 对每一个软件功能的临界值必须作为测试用例。6. 对于软件重要功能应该运用上述的几个角度去检测。对于性能测试,我们会注重验证系统的性能在正常环境和系统条件下重复使用是否能满足性能指标。性能测试的要点为:1. 检查软件在输出结果时是否达到要求的计算精度。2. 在有速度要求的情况下,检查软件是否在要求时间内完成规定功能时。3. 检查软件各部分在不同情况下是否能够良好的运行,并完成规定的功能。4. 检查软件是否存在功能上的操作顺序,而这种顺序的存在是否符合使用要求。5. 检查软件在峰值负载期间时间响应是否符合所允许的范围。6. 检查软件运行时所需要的最大空间是否符合要求。7. 在压力测试下,系统至少不会崩溃,例如:死机等。8. 在压力测试中,系统运行的时间。对于其他测试,主要是根据系统的具体要求通过适当的测试方法来验证系统是否满足用户的要求。它包括可用性测试,边界测试,可靠性测试等等。下面列出部分测试要点: 1. 对系统的输入域和输出域的边界进行测试。2. 对系统的功能边界进行测试。3. 对系统性能进行边界测试。4. 对系统在状态转换时进行测试。5. 对软件的可扩展性进行检查,主要是看软件是否采用了模块化设计、面向对象等设计方法,使软件具有“松耦合”的特点,以便软件在功能、性能上能够进行扩展和软件的升级换代。6. 对软件的可移植性进行检查,检查在软件设计方法,编程语言、支持环境的选用时是否考虑到软件运行环境可能的变化。输出文档和工件:1. 测试计划2. 测试记录3. 测试分析报告4. 测试模型8.4.6 部署(Deployment)项目团队通过部署过程成功的生成版本并将软件分发给最终用户。部署过程描述了那些与确保软件产品对最终用户具有可用性相关的活动,包括:软件打包、生成软件本身以外的产品、安装软件、为用户提供帮助。项目团队提供安装文档和发布说明,并协助用户将生成的版本发布在用户相应的环境中。具体部署流程请见下图:关键流程:1. 制订部署计划:部署经理制订部署计划时会与用户密切合作,并进行大量的准备工作, 以保证系统完成时, 能够在客户的使用环境下成功地部署。 2. 编写支持材料:技术文档编写员生成用户有效部署产品时所需的材料,包括系统安装文档,用户手册,和培训材料等。3. 培训:根据用户的需要, 项目经理会安排相关人员用幻灯片示例,教程等方式编写培训教材,并对用户进行必要的培训。通过培训,保证用户能够把握系统使用方法。4. 用户验收测试:部署经理使用“配置审查结果”来确保按照“项目验收计划”进行测试时所必需的所有软件和测试平台都已就绪。用户进行验收测试,并获得“测试结果”。部署经理复审这些测试结果,看是否有异常情况。如果发现异常情况,部署经理就会提出变更请求,要求立即引起注意并进行处理。5. 试运行:用户在验收完毕后进入系统试运行阶段,用户对系统所提供的功能进行实际的运行测试,项目团队针对用户的运行测试结果对系统进行必要的改动和完善。输出文档和工件:1. 用户手册2. 系统维护手册3. 操作手册4. 系统安装手册5. 培训材料6. 验收测试报告7. 部署模型8.4.7 配置和变更管理(Configuration & Change Management)软件配置是由一组相互关联的对象组成,这些对象也称为软件配置项,它们是作为某些软件工程活动的结果而产生的。除了文档、程序和数据这些软件配置项之外,用于开发软件的开发环境也可置于配置控制之下。一旦一个配置对象已被开发出来并且通过了评审,它就变成了基线。对基线对象的修改导致建立该对象的版本。版本控制是用于管理这些对象而使用的一组规程和工具。变更控制是一种规程活动,它能够在对配置对象进行修改时保证质量和一致性。配置审核是一项软件质量保证活动,它有助于确保在进行修改时仍然保持质量。状态报告向需要知道关于变化信息的人,提供有关每项变化的信息。具体流程请见下图:关键流程:1. 版本控制:软件配置工程师通过VSS对项目的版本进行控制。通过版本控制工具使软件版本恢复到以前的任何一个所需状态,同时限制程序员随意修改已经提交的程序。2. 变更控制:项目团队成员使用标准的变更控制流程确保项目中所做的变更保持一致,并将系统的状态、对其所做的变更以及这些变更所耗费的成本和对时间表的影响通知给有关的人员。输出文档:1. 模块开发卷宗2. 软件配置管理计划3. 变更请求表4. 配置审核报告8.4.8 开发规范(Environment)项目团队通过此过程为项目提供软件开发环境,包括过程规范和工具。项目开发规范集中于制订项目过程中所需要遵循的规范,同样也支持开发项目各个规范的活动,为项目规范的活动提供了指导手册并对其在组织中实现过程如何进行提供了必要的培训,从而保证项目按照项目规范有序地开展。关键流程:1. 项目环境准备。项目经理组织相关人员根据项目需要为项目的开发工具,开发过程,开发环境进行准备,保证项目能够顺利执行。2. 制订项目开发规范。项目经理组织相关人员根据项目需要为项目制订统一的命名规范,业务建模规范,需求编写规范,设计规范,编码规则,测试指南等。输出文档:1. 命名规范2. 业务建模规范3. 需求编写规范4. 设计规范5. 编码规则6. 测试指南8.5 项目实施方案整个项目的实施分为项目准备阶段、业务建模阶段、需求分析阶段、分析和设计阶段、编码实现阶段、测试阶段、部署阶段和项目收尾阶段。并在项目的开展过程中全程对其进行项目管理。以实现既定的项目目标、保证项目的成功、取得项目干系人最大程度的满意。整个项目的工作主要分为项目管理工作和软件开发工作两大类:其中项目管理工作主要体现为项目计划、项目控制和质量保证三部份。它们贯穿着项目的整个过程,保证项目是有计划、按进度并保证质量的情况下进行的。软件开发工作考虑到项目团队的实际情况,主要分为以下七个阶段:项目准备阶段:建立项目团队,并且根据“河北省电子商务监管系统”开发需要,完成开发环境的准备,制定或完善相应的开发规范,并完成相关人员的培训工作,以令到整个开发过程是在标准持续的规范中运行。业务建模阶段:实地去到河北省工商局的相关业务部门进行调研,分析其业务流程,和需要割接、整合的系统的现状分析,并制定出业务模型。需求分析阶段:明确各个子系统的业务需求,对其进行分析之后得出用例模型,并编写需求分析说明书,提交用户确定。分析和设计阶段:分析系统实现的技术需要,按照OOA和OOD的思想,得出分析模型和设计模型,对其进行架构设计、详细设计和数据库设计,并根据割接整合的需要,给出割接整合方案。编码实现阶段:根据系统设计得到的实施模型,对各个组件进行编码,并对其进行单元测试和集成测试。测试阶段:对系统进行功能测试、性能测试、割接整合方案测试和例外应急处理测试。部署阶段:将开发好的系统部署到用户方,包括安装系统、系统割接、系统整合,用户培训和用户验收等。8.6 项目管理项目管理工作主要体现为项目计划的制定,并根据项目计划实施项目控制和质量管理工作。项目管理小组根据本项目建设的子系统的依赖关系和系统部署的相关顺序,定义出项目的活动顺序。对这些活动分配资源,并根据相应风险制定出项目进度计划。根据本项目建设的要求,分析现有人员技术缺口,进行相应的培训。项目的控制主要体现为项目范围的控制和进度的控制。质量保证工作主要是根据质量管理保证体系,对软件开发过程的控制和评审工作,针对本项目有以下的评审工作:1. 业务建模评审2. 软件需求评审3. 架构设计评审4. 概要设计评审5. 详细设计评审6. 数据库设计评审7. 代码评审8. 测试评审9. 割接整合方案评审8.7 项目准备阶段项目准备阶段主要工作是根据本项目需要,组建项目开发团队和开发环境的准备工作。其中开发环境的准备是指项目经理组织相关人员根据本项目需要建立开发环境,建立标准开发过程。并制订统一开发规范,包括命名规范,业务建模规范,需求编写规范,设计规范,编码规则,测试指南等。8.8 业务建模阶段项目团队通过对本项目相关的业务处室组成的用户代表进行业务调研工作,了解的本项目的业务流程及其业务需求,并且得到用户的确认。8.9 需求分析阶段项目团队通过需求来描述系统功能需求,并使开发人员和用户就这一描述达成共识。经过需求分析后,项目团队编写需求说明书,并得到用户的确认。8.10 分析和设计阶段项目团队将需求转化成未来系统的设计,采用分层的方法,进行架构设计,并且在整个系统遵从统一的架构的原则下,经过分析和设计,得到实施模型。8.11 编码实现阶段项目团队通过实现过程中主要是以组件的形式实现类和对象,将开发出的组件进行单元测试和集成测试。8.12 测试阶段项目团队给出的测试计划和测试用例,与用户代表讨论通过后,方可按计划进行测试。系统每一项测试必须有详细的测试记录,测试过程的输出包括测试计划、测试记录和测试分析报告,阶段性的测试输出需要用户代表、开发商和监理方共同签字确认。8.12.1 支撑平台以及应用系统的测试项目团队通过测试过程验证对象间的交互作用,验证软件中所有组件的正确集成,检验所有的需求已被正确的实现,识别并确认缺陷在软件部署之前被提出并处理。测试工程师确定和描述要实施和执行的测试,制定测试计划。并完成测试用例的设计,并且核实系统是否符合原定的要求。项目经理对于已经完成的测试用例组织一个有不同代表组成的专家小组,对测试用例进行仔细的检查,以验证测试用例能够覆盖项目所有的需求。8.12.2 割接整合测试根据本项目的特点,需要在系统部署的时候,和众多的现有业务系统进行割接整合,为了确保割接整合的顺利进行和正常的业务工作不受到任何影响,确保割接整合方案的有效性是十分重要的。所以测试小组根据割接整合方案模拟出测试环境,并对其进行测试。主要测试检查点是能否顺利割接整合,并且不影响原有业务开展。为了防止在割接整合阶段出现异常,影响原有的业务开展,必须准备充足的备份方案和恢复措施,所以在割接整合工作开展之前,实施异常应急处理测试是非常重要的。测试小组模拟新建系统发生严重问题或联不通的情况,将系统恢复到原来的系统,测试的主要检查点是恢复措施是否及时有效。8.13 部署阶段系统经过测试之后,项目团队提供完整的开发文档和用户支持文档,并协助用户将系统发布在用户相应的环境中。系统实施人员制订部署计划并进行大量的准备工作, 以保证系统

温馨提示

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

评论

0/150

提交评论