




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
讨论软件开发生命周期讨论项目团队中的不同角色软件开发模型一个例子,小试牛刀内容第一页2023/11/9第二页,共44页。复习:软件生命周期的具体过程?第二页2023/11/9第三页,共44页。比尔盖子是一名建筑工人起初只干一些比较简单的建筑工作凭个人技术和经验,不需要特别设计,一般都可以顺利完成此时就如同编写早期比较小的程序软件开发过程第三页2023/11/9第四页,共44页。由于工作业绩不错有一天他被通知需要由他负责建造一间非常美丽而完整的房间工作变得复杂许多就像不断发展的软件一样,需要的功能越来越多,越来越复杂软件开发过程第四页2023/11/9第五页,共44页。软件复杂性图形用户界面客户/服务器结构分布式应用数据通信超大型关系型数据库软件开发过程第五页2023/11/9第六页,共44页。比尔首先想到这个任务需要更多的人手帮他一起来做于是他马上组成了自己真正的工作团队项目团队中的角色第六页2023/11/9第七页,共44页。需求分析师项目经理设计人员软件架构师项目团队
识别项目需求,能够正确管理客户的期望值;制定阶段性目标和项目总体控制计划,对项目进行全局管理和掌控,使项目达到预期的目标,得到客户的满意。角色职责
架构师需要参与项目开发的全部过程,包括需求分析、架构设计、系统实现、集成、测试和部署各个阶段,负责在整个项目中对技术活动和技术说明进行指导和协调。包括确认需求、系统分解、技术选型和制定技术规格说明需求分析人员的工作是收集需求和分析需求,并与最终用户、产品经理保持联系完成系统总体结构、功能模块设计、接口设计、数据库设计等方面的概要和详细设计,使开发人员遵循设计规范完成编码。编码测试项目团队中的角色测试人员开发人员第七页2023/11/9第八页,共44页。例子:1、微软EXCHANGE2000SERVER的开发:项目经理:25人开发人员:140人测试人员:350人2、WINDOWS2000:项目经理:250人开发人员:1700人测试人员:3200人项目人员构成比例第八页2023/11/9第九页,共44页。软件开发过程“这次不能盲目开工,我们需要首先好好设计一下!”构想分析设计构造评估软件的制作过程也非常相似第九页2023/11/9第十页,共44页。软件开发过程软件开发可行性研究与计划需求分析设计开发评估/测试维护建造房屋构想分析设计构造评估维护第十页2023/11/9第十一页,共44页。软件开发生命周期软件生命周期(SDLC)的六个阶段问题的定义及规划软件设计程序编码软件测试运行维护需求分析软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性对软件需要实现的各个功能进行详细分析对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试、集成测试以及系统测试三个阶段进行软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。第十一页2023/11/9第十二页,共44页。微软软件开发生命周期软件生命周期(SDLC)的四个阶段规划阶段测试阶段(也叫稳定化阶段)产品发送/出品阶段开发阶段(主要里程碑阶段)拟定基于客户数据的目标描述、基于目标描述的规格/特性说明和基于规格说明和特性优先级制定的进度表。规划阶段中最重要的事情是让整个产品组的成员对共同的目标形成共同的认同。微软的任何一个产品组在这个阶段都将根据特性将项目划分成若干个子项目,每一个子项目的完成就对应于一个里程碑。2~3个里程碑测试人员对软件做各种各样的测试,其中开发和测试工作是始终并存进行的:测试人员发现Bug,开发人员解决Bug,测试人员再检测这个Bug是不是解决了。产品有了稳定的版本就进入最后的阶段——产品发送/出品阶段第十二页2023/11/9第十三页,共44页。微软经典团队角色产品规划产品管理程序经理开发人员测试人员可用性测试员Beta测试人员,本地化项目管理,用户教育,售后支持等第十三页2023/11/9第十四页,共44页。以你之前做过的项目为例,说说你的项目中缺少软件开发流程的哪些环节?第十四页2023/11/9第十五页,共44页。软件开发过程模型软件开发基本都需要经历软件开发过程中的几个步骤但这几个步骤具体如何实施,根据具体项目不同,也有所区别制作具体软件时,开发步骤的具体实施方法称为软件开发过程模型软件开发过程模型瀑布模型螺旋模型第十五页2023/11/9第十六页,共44页。瀑布模型(案例物流系统)瀑布模型也称为“线性顺序模型”将软件开发过程中每个阶段都清楚定义了起止点,并产生明确的交付成果以传递给下一阶段每个阶段之间通过文档进行沟通每个阶段都必需完成全部规定的任务(文档)后才能够进入下一个阶段可行性研究与计划需求分析设计开发测试维护可行性研究报告需求说明书设计文档程序测试报告第十六页2023/11/9第十七页,共44页。可行性研究与计划阶段确定项目目的了解系统中客户的期望确定系统的规模论证项目可行性技术可行性经济可行性操作可行性社会可行性第十七页2023/11/9第十八页,共44页。需求分析阶段需求是产品的根源,需求工作的优劣对产品影响最大获取需求与用户交谈,向用户提问题。向用户群体发调查问卷参观用户的工作流程,观察用户的操作与同行、专家交谈,听取他们的意见分析已经存在的同类软件产品,提取需求从行业标准、规则中提取需求从Internet上搜查相关资料可能遇到的问题用户说不清楚需求误解需求分析需求功能需求记录在客户需求说明书中第十八页2023/11/9第十九页,共44页。需求分析阶段文档介绍产品功能性需求产品介绍产品应当遵循的标准和规范其他需求需求说明书产品非功能性需求第十九页2023/11/9第二十页,共44页。需求分析阶段第二十页2023/11/9第二十一页,共44页。设计阶段设计阶段的主要目的是根据用户的需要制定标准,划分并分配任务设计GUI标准设计数据库设计过程模块设计编码标准构建原型分配任务和监督任务设计阶段涉及的活动第二十一页2023/11/9第二十二页,共44页。开发阶段开发阶段对在原型创建阶段构建的用户界面进行最后的修改构建数据库通过添加代码使其具备功能第二十二页2023/11/9第二十三页,共44页。评估/测试阶段本阶段测试每个单元的功能。测试阶段涉及的活动单元测试数据验证测试安全性测试强度测试集成测试第二十三页2023/11/9第二十四页,共44页。维护阶段本阶段为客户提供故障诊断支持网络电话上门本阶段还包括应用程序要求的任何软件升级
版本补丁第二十四页2023/11/9第二十五页,共44页。软件开发过程比尔通过类似软件瀑布模型的方式成功了完成自己的建筑项目第二十五页2023/11/9第二十六页,共44页。软件开发过程这次将完成一栋更加复杂的建筑因为有了以前的经验,比尔感到很有信心就像我们的软件开始越来越庞大由于成绩不错,比尔再次被通知第二十六页2023/11/9第二十七页,共44页。?软件开发过程这次需要更多人,更复杂的分析、设计和建造过程但在完成之前各种问题开始出现第二十七页2023/11/9第二十八页,共44页。软件开发过程之前设计时犯下一个比较小的错误,在建造时才被发现,已经变成了一个严重的错误必须停工回到设计阶段重新设计,重新建造在已经将房间格局建造得差不多时,用户又突然提出更改某处的要求,导致工程再次从设计开始虽然很努力工作但还是工程超时房屋不能满足用户需要第二十八页2023/11/9第二十九页,共44页。软件开发过程工程失败的原因前期错误往往只有到了项目后期才能够被发现开始阶段的小错误被逐级放大,可能导致项目最终报废开发进度往往会被意外发生的问题所打乱,需要进行返工或其他一些额外的开发周期,造成项目延期或费用超支缺乏灵活性,不能适应用户需求的改变返回上一级的开发需要十分高昂的代价以上同样也是采用瀑布模型的软件项目的失败原因第二十九页2023/11/9第三十页,共44页。软件开发过程瀑布模型适合开发规模比较小需求非常明确且很少更改瀑布模型是早期软件设计的主要手段,已经不太适合现在的项目需求不清晰、不稳定的项目如何完成呢?第三十页2023/11/9第三十一页,共44页。原型模型第三十一页2023/11/9第三十二页,共44页。原型模型原型模型的优点快速建模,减少由于需求调研不充分,需求表述不明确带来的开发风险在需求阶段可以通过多次修改原型,得到明确的客户需求原型可以作为DEMO,可以理解成为演示模型原型模型的缺点不宜利用原型系统作为最终产品。采用原型模型开发系统,用户和开发者必须达成一致:原型被建造仅仅是用户用来定义需求,之后便部分或全部抛弃,最终的软件是要充分考虑了质量和可维护性等方面之后才被开发。第三十二页2023/11/9第三十三页,共44页。螺旋模型需求分析系统设计开发测试和维护
最终产品风险分析开始第三十三页2023/11/9第三十四页,共44页。螺旋模型每一圈是一个阶段,每个阶段就像一个小的瀑布模型,都要经历需求、分析、设计开发和测试在每个阶段中添加了风险分析的步骤每一圈都会产生一个可以发布的结果,作为这个产品最终产品的一个子集每个发布的结果都会马上反馈给客户,听取客户意见,从而尽早发现避免软件中的风险第三十四页2023/11/9第三十五页,共44页。螺旋模型螺旋模型的优点风险分析可使一些极端困难的问题和可能导致费用过高的问题被更改或取消用户评价为需求的变更带来柔性螺旋和瀑布的最大的差别就在于风险的暴露时间上螺旋模型的缺点需要开发人员具有相当丰富的风险评估经验和专门知识要求用户参与阶段评价,对用户来说比较困难,不易取得好的效果第三十五页2023/11/9第三十六页,共44页。RUP模型RUP(rationalunifiedprocess)是有Rational公司开发并维护,与一系列软件开发工具紧密集成,以用例驱动,以体系结构为核心,迭代及增量的软件过程模型。第三十六页2023/11/9第三十七页,共44页。RUP模型第三十七页2023/11/9第三十八页,共44页。RUP模型迭代模型的优点针对大型的复杂的系统,逐步完善,降低了实施复杂度用户可在开发早期提出变更并进行修复,从而有效控制变更风险和代价可在早期增强用户的信心迭代模型的缺点要有专业的架构是,当模块间耦合度高时不适用已经确定的功能不允许做变更,不现实第三十八页2023/11/9第三十九页,共44页。敏捷模型敏捷开发是以人为核心,迭代,循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分为多个子项目,各子项目的输出都经过测试,具备可集成和可运行的特征。第三十九页2023/11/9第四十页,共44页。敏捷模型敏捷模型的五个价值观:沟通简单反馈勇气谦逊第四十页2023/11/9第四十一页,共44页。总结软件项目组中的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 9我们当地的风俗 第一课时 教学设计-2023-2024学年道德与法治四年级下册统编版
- 5琥珀教学设计-2023-2024学年四年级下册语文统编版
- 信息技术《网络日记》教学设计
- 第三单元:看谁搭得又稳又高(教学设计)-2024-2025学年一年级上册数学人教版
- 全国滇人版初中信息技术七年级上册第三单元第12课《数据的输入与编辑》教学设计
- 2024年图书管理员考试阅读理解能力测试试题及答案
- 《时、分、秒-第二课时》(教学设计)-2024-2025学年二年级上册数学苏教版
- 基于智能科技的体育训练技术分享
- 大数据背景下隐私保护的新发展
- 2024图书管理员典藏策略与实施试题及答案
- 2023年副主任医师(副高)-皮肤与性病学(副高)考试历年真题拔高带答案必考
- 广东省五年一贯制语文考试题目
- 土的含水率试验酒精燃烧法(JTG34302020)
- 刚挠印制电路板湿法去钻污及凹蚀技术三个步骤
- 实验室生物安全和意外事件应对
- YS/T 636-2007铅及铅锑合金棒和线材
- 加气站事故案例汇编概述课件
- 西门子培训教程、手册合集s7-graph编程官方
- 0~36个月儿童中医药健康管理服务
- 江苏省幼儿园教育技术装备标准
- 地方融资平台债务和政府中长期支出事项监测平台操作手册-单位
评论
0/150
提交评论