您好,欢迎访问三七文档
EduaskV2.0第八章软件开发过程EduaskV2.02回顾计算机网络是为了共享资源而物理上连接在一起的一组计算机组成网络所需的硬件包括:工作站和服务器、网络接口卡\网络连接设备、通信介质通过超文本技术提供一种友好的信息查询接口,将位于全世界Internet网上不同地点的相关数据信息有机地编织在一起FTP是Internet上使用非常广泛的一种通讯协议。这些规则使Internet用户可以把文件从一个主机拷贝到另一个主机上E-mail是在单个用户或群组用户之间发送和接收信件式信息的工具EduaskV2.03目标讨论软件开发生命周期讨论项目团队中的不同角色理解软件工程师的角色软件开发模型:瀑布模型软件开发模型:螺旋模型EduaskV2.04软件开发过程比尔盖子是一名建筑工人起初只干一些比较简单的建筑工作凭个人技术和经验,不需要特别设计,一般都可以顺利完成此时就如同编写早期比较小的程序EduaskV2.05软件开发过程由于工作业绩不错有一天他被通知需要由他负责建造一间非常美丽而完整的房间工作变得复杂许多就像不断发展的软件一样,需要的功能越来越多,越来越复杂EduaskV2.06软件开发过程软件复杂性图形用户界面客户/服务器结构分布式应用数据通信超大型关系型数据库EduaskV2.07项目团队中的角色比尔首先想到这个任务需要更多的人手帮他一起来做于是他马上组成了自己真正的工作团队EduaskV2.08分析师软件项目团队中的角色项目经理技术负责人开发人员设计人员软件架构师测试人员项目团队EduaskV2.09项目人员构成比例例子:1、微软EXCHANGE2000SERVER的开发:项目经理:25人开发人员:140人测试人员:350人2、WINDOWS2000:项目经理:250人开发人员:1700人测试人员:3200人EduaskV2.010软件工程师的工作项目设计与分析编码编写文档测试团队管理EduaskV2.011软件工程师的素质良好的编码能力和规范化编码习惯自觉的规范意识和团队精神具有软件工程的概念具有求知欲、进取心和学习总结的能力团队组织和管理能力EduaskV2.012软件开发过程“这次不能盲目开工,我们需要首先好好设计一下!”构想分析设计构造评估软件的制作过程也非常相似EduaskV2.013软件开发过程软件开发可行性研究与计划需求分析设计开发评估/测试维护建造房屋构想分析设计构造评估维护EduaskV2.014软件开发基本都需要经历软件开发过程中的几个步骤但这几个步骤具体如何实施,根据具体项目不同,也有所区别制作具体软件时,开发步骤的具体实施方法称为软开发过程模型软件开发过程模型软件开发过程模型瀑布模型螺旋模型EduaskV2.015瀑布模型瀑布模型也称为“线性顺序模型”将软件开发过程中每个阶段都清楚定义了起止点,并产生明确的交付成果以传递给下一阶段每个阶段之间通过文档进行沟通每个阶段都必需完成全部规定的任务(文档)后才能够进入下一个阶段可行性研究与计划需求分析设计开发测试维护可行性研究报告需求说明书设计文档程序测试报告EduaskV2.016可行性研究与计划阶段确定项目目的了解系统中客户的期望确定系统的规模论证项目可行性技术可行性经济可行性操作可行性社会可行性EduaskV2.017需求分析阶段需求是产品的根源,需求工作的优劣对产品影响最大获取需求与用户交谈,向用户提问题。向用户群体发调查问卷参观用户的工作流程,观察用户的操作与同行、专家交谈,听取他们的意见分析已经存在的同类软件产品,提取需求从行业标准、规则中提取需求从Internet上搜查相关资料可能遇到的问题用户说不清楚需求误解需求分析需求功能需求记录在客户需求说明书中EduaskV2.018需求分析阶段文档介绍产品功能性需求产品介绍产品应当遵循的标准和规范其他需求需求说明书产品非功能性需求EduaskV2.019需求分析阶段EduaskV2.020设计阶段设计阶段的主要目的是根据用户的需要制定标准,划分并分配任务设计GUI标准设计数据库设计过程模块设计编码标准构建原型分配任务和监督任务设计阶段涉及的活动EduaskV2.021开发阶段开发阶段对在原型创建阶段构建的用户界面进行最后的修改构建数据库通过添加代码使其具备功能EduaskV2.022评估/测试阶段本阶段测试每个单元的功能。测试阶段涉及的活动单元测试数据验证测试安全性测试强度测试集成测试EduaskV2.023维护阶段本阶段为客户提供故障诊断支持网络电话上门本阶段还包括应用程序要求的任何软件升级版本补丁EduaskV2.024软件开发过程比尔通过类似软件瀑布模型的方式成功了完成自己的建筑项目EduaskV2.025软件开发过程这次将完成一栋更加复杂的建筑因为有了以前的经验,比尔感到很有信心就像我们的软件开始越来越庞大由于成绩不错,比尔再次被通知EduaskV2.026软件开发过程这次需要更多人,更复杂的分析、设计和建造过程但在完成之前各种问题开始出现EduaskV2.027软件开发过程之前设计时犯下一个比较小的错误,在建造时才被发现,已经变成了一个严重的错误必须停工回到设计阶段重新设计,重新建造在已经将房间格局建造得差不多时,用户又突然提出更改某处的要求,导致工程再次从设计开始虽然很努力工作但还是工程超时房屋不能满足用户需要EduaskV2.028软件开发过程工程失败的原因前期错误往往只有到了项目后期才能够被发现开始阶段的小错误被逐级放大,可能导致项目最终报废开发进度往往会被意外发生的问题所打乱,需要进行返工或其他一些额外的开发周期,造成项目延期或费用超支缺乏灵活性,不能适应用户需求的改变返回上一级的开发需要十分高昂的代价以上同样也是采用瀑布模型的软件项目的失败原因EduaskV2.029软件开发过程瀑布模型适合开发规模比较小需求非常明确且很少更改瀑布模型是早期软件设计的主要手段,已经不太适合现在的项目规模大、需求不清晰、不稳定的项目如何完成呢?EduaskV2.030螺旋模型需求分析系统设计开发测试和维护最终产品风险分析开始EduaskV2.031螺旋模型每一圈是一个阶段,每个阶段就像一个小的瀑布模型,都要经历需求、分析、设计开发和测试在每个阶段中添加了风险分析的步骤每一圈都会产生一个可以发布的结果,作为这个产品最终产品的一个子集每个发布的结果都会马上反馈给客户,听取客户意见,从而尽早发现避免软件中的风险EduaskV2.032螺旋模型螺旋模型的优点风险分析可使一些极端困难的问题和可能导致费用过高的问题被更改或取消用户评价为需求的变更带来柔性螺旋和瀑布的最大的差别就在于风险的暴露时间上螺旋模型的缺点需要开发人员具有相当丰富的风险评估经验和专门知识要求用户参与阶段评价,对用户来说比较困难,不易取得好的效果EduaskV2.033总结软件项目组中的人员分工软件开发过程可行性研究与计划需求分析设计开发测试维护瀑布模型螺旋模型
本文标题:76软件开发过程
链接地址:https://www.777doc.com/doc-4024887 .html