欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    软件项目开发流程.pptx

    • 资源ID:80135326       资源大小:1.15MB        全文页数:69页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件项目开发流程.pptx

    软件生命周期:软件生命周期是软件产品或系统一系列相关活动软件生命周期:软件生命周期是软件产品或系统一系列相关活动的全周期。的全周期。1软件定义:确定软件开发总目标;确定工程的可行性;导出实现策略及系统功能;估计资源和成本,并且制定工程进度表。2软件开发:具体设计和实现在前一个时期定义的软件3软件维护:使软件持久地满足用户的需要。1.问题定义、2.可行性研究、3.需求分析4.总体设计、5.详细设计、6.编码和单元测试、7.综合测试8.软件维护第1页/共69页软件产品或系统一系列相关活动的全周期软件产品或系统一系列相关活动的全周期软件产品或系统一系列相关活动的全周期软件产品或系统一系列相关活动的全周期 软件定义软件开发可行性分析需求分析总体设计详细设计编 码测 试软件发布软件运行软件维护软件维护问题定义系统设计系统实现第2页/共69页1.问题定义 “要解决的问题是什么?”确定用户要求解决的性质、工程的目标和规模。2.可行性研究 “对于上一个阶段所确定的问题有行得通的解决办法吗?”经济可行性、技术可行性、法律可行性、不同的方案3.需求分析 “为了解决这个问题,目标系统必须做什么”确定系统必须具有的功能和性能,系统要求的运行环境,并且预测系统发展的前景。规格说明书(specification)第3页/共69页4.总体设计(概要设计)“概括地说,应该怎样实现目标系统?”设计出实现目标系统的几种可能的方案。推荐一个最佳方案。5.详细设计 “应该怎样具体地实现这个系统呢?”设计出程序的详细规格说明。6.编码和单元测试 写出正确的容易理解、容易维护的程序模块 仔细测试编写出的每一个模块。第4页/共69页7.综合测试 集成测试和验收测试,现场测试或平行运行8.软件维护 使系统持久地满足用户的需要。改正性维护,适应性维护,完善性维护,预防性维护。第5页/共69页第6页/共69页IEC12207软件生命周期软件生命周期 第7页/共69页ISO/IEC15504软件过程软件过程 第8页/共69页软件过程软件过程任务框架,各项任务的工作步骤 运用方法的顺序、文档资料、管理措施,各个阶段的里程碑 生命周期模型或过程模型 典型的过程模型1.瀑布模型(Waterfall model)2.快速原型开发模型(Rapid Prototyping model)3.增量模型(Incremental model)4.螺旋模型(Spiral model)第9页/共69页瀑布模型瀑布模型理想的瀑布模型实际的瀑布模型第10页/共69页软件过程:软件过程:软件过程:软件过程:瀑布模型(续瀑布模型(续瀑布模型(续瀑布模型(续1 1)瀑布模型的特点1.阶段间具有顺序性和依赖性2.推迟实现的观点清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理实现。3.质量保证的观点(文档驱动)每个阶段都必须完成规定的文档每个阶段结束前都要对所完成的文档进行评审第11页/共69页软件过程:软件过程:软件过程:软件过程:瀑布模型(续瀑布模型(续瀑布模型(续瀑布模型(续2 2)瀑布模型的缺点开发过程一般不能逆转,否则代价太大规格说明很难理解:“我知道这是按我的要求做的,但不是我想要的样子。”软件的实际情况必须到项目开发的后期客户才能看到。(文档驱动的两面性)第12页/共69页快速原型模型快速原型模型快速原型模型快速原型模型用户测试运行原型建造/修改 原型 听取用 户意见第13页/共69页软件过程:软件过程:软件过程:软件过程:快速原型模型快速原型模型快速原型模型快速原型模型 原型模型的特点 快速原型的本质是“快速”快速原型可以取代规格说明阶段,但不是设计阶段,容易适应需求的变化 有利于开发与培训的同步原型模型的应用范围 对所开发的领域比较熟悉而且有快速的原型开发工具 项目招投标时,可以以原型模型作为软件的开发模型 进行产品移植或升级时,或对已有产品原型进行客户化工作时,原型模型是非常适合的第14页/共69页软件过程:软件过程:快速原型模型快速原型模型快速原型模型快速原型模型比较 瀑布模型试图一次就获得正确的产品 快速原型频繁变化,然后废弃第15页/共69页软件过程:软件过程:增量模型(续增量模型(续增量模型(续增量模型(续1 1)增量模型的优点每个阶段交付一个可用的产品减少一个全新产品给客户带来的心理上的影响分阶段地交付产品不需要大的资金支出需求经常变化,增量模型的灵活性使其具有更加优越的适用性增量模型的困难需要一个开放的结构,方便构件的加入增量模型本身就是一个矛盾的名词第16页/共69页软件过程:软件过程:软件过程:软件过程:增量模型增量模型增量模型增量模型风险更大的增量模型第17页/共69页软件过程:软件过程:螺旋模型螺旋模型螺旋模型螺旋模型1988年,Barry Boehm正式发表了软件系统开发的“螺旋模型”,它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析 简化版本:瀑布模型+风险分析 每个阶段之前-确定目标,可供选择的办法及其限制条件-风险分析 每个阶段之后-评估-计划下一阶段第18页/共69页简化的螺旋模型简化的螺旋模型简化的螺旋模型简化的螺旋模型第19页/共69页完完完完整整整整的的的的螺螺螺螺旋旋旋旋模模模模型型型型第20页/共69页软件过程:软件过程:螺旋模型(续螺旋模型(续螺旋模型(续螺旋模型(续2 2)螺旋模型的优点容易确定什么时候已经对某一阶段的产品充分测试完毕维护和开发之间没有什么本质上的差别 螺旋模型的缺点仅适合于大型软件 风险驱动既是优点也是缺点第21页/共69页软件过程:软件过程:建造建造建造建造修补模型修补模型修补模型修补模型对于100或200行长的短程序可以做得很好问题没有规格说明书没有设计不能令人满意第22页/共69页各种生命周期模型的比较各种生命周期模型的比较各种生命周期模型的比较各种生命周期模型的比较生命周期模型生命周期模型优点优点缺点缺点建造-修补模型适用于不需要任何维护的小程序不适于重要的程序瀑布模型文档驱动的有序方法交付产品可能不符合客户的要求快速原型模型确保交付的产品符合客户的要求还没有证明无懈可击增量模型增大投资的早期回报要求开放的结构,可能退化为建造-修补模型螺旋模型结合上述所有模型的特性只能用于大型的内部软件产品,开发者必须精通风险分析和风险排除第23页/共69页不知山林、险阻、沮泽之形者,不知山林、险阻、沮泽之形者,不能行军。不能行军。第24页/共69页这个项目是做还是不做呢?可行性研究可行性研究第25页/共69页l一旦软件范围已经被标识出来,们自然会问:“我们能够开放软件以满足改范围吗?项目是可行的吗?”在软件危机时期人们通常会跳过这个阶段,往往陷入从开始就注定失败的项目泥潭中。l可行性分析的目的是为了用最小的代价在尽可能短的时间内确定问题是否能够解决。l必须记住:可行性分析不是要求解问题本可行性分析不是要求解问题本可行性分析不是要求解问题本可行性分析不是要求解问题本身,而是要确定问题是否有解身,而是要确定问题是否有解身,而是要确定问题是否有解身,而是要确定问题是否有解。第26页/共69页可行性研究的任务可行性研究的任务可行性研究的任务可行性研究的任务最根本的任务是对以后的行动方针提出建议如果问题没有可行的解,应该建议停止这项开发工程,以避免时间、资源、人力和金钱的浪费如果问题值得解,应该推荐一个较好的解决方案,并且为工程制定一个初步的计划第27页/共69页可行性研究的内容可行性研究的内容(1)(1)技术可行性(2)(2)经济可行性(3)(3)操作可行性(4)(4)社会可行性(法律可行性)(5)(5)抉择第28页/共69页可行性研究的任务 经济可行性 操作可行性 这个系统的经济效益能超过它的开发成本吗?使用现有的技术能实现这个系统吗?技术可行性 系统的操作方式在这个组织内行得通吗?第29页/共69页技术可行性技术可行性 度量一个特定技术信息系统解决方案的实用性及度量一个特定技术信息系统解决方案的实用性及度量一个特定技术信息系统解决方案的实用性及度量一个特定技术信息系统解决方案的实用性及技术资源的可用性技术资源的可用性技术资源的可用性技术资源的可用性 考虑的问题考虑的问题考虑的问题考虑的问题(1)(1)(1)(1)开发风险分析开发风险分析开发风险分析开发风险分析(2)(2)(2)(2)资源分析资源分析资源分析资源分析(3)(3)(3)(3)相关技术的发展(现有技术能相关技术的发展(现有技术能相关技术的发展(现有技术能相关技术的发展(现有技术能否实现新系统,技术难点、建议否实现新系统,技术难点、建议否实现新系统,技术难点、建议否实现新系统,技术难点、建议采用技术的先进性)采用技术的先进性)采用技术的先进性)采用技术的先进性)第30页/共69页可行性研究报告可行性研究报告可行性研究报告可行性研究报告包括总体方案和可行性论证两个方面内容:引言系统建设的背景、必要性和意义拟建系统的候选方案可行性论证方案的比较结论可行性分析报告要尽量取得有关管理人员的一致认识第31页/共69页经济可行性经济可行性度量系统解决方案的性能价格比。度量系统解决方案的性能价格比。度量系统解决方案的性能价格比。度量系统解决方案的性能价格比。考虑的问题:考虑的问题:考虑的问题:考虑的问题:成本成本成本成本/效益分析效益分析效益分析效益分析(开发、运行的成本(开发、运行的成本(开发、运行的成本(开发、运行的成本/效益)效益)效益)效益)有形成本、效益有形成本、效益有形成本、效益有形成本、效益无形成本、效益无形成本、效益无形成本、效益无形成本、效益价值和成本的关系价值和成本的关系价值和成本的关系价值和成本的关系质量与价值、成本的关系质量与价值、成本的关系质量与价值、成本的关系质量与价值、成本的关系价值价值价值价值/成本的均衡成本的均衡成本的均衡成本的均衡第32页/共69页举例举例 1 2 3 4 5 年年604020 0成本成本-效益效益(万元万元)该系统节省经费该系统节省经费该系统成本该系统成本盈亏平衡点盈亏平衡点投资回收期投资回收期-成本及效益分析图成本及效益分析图第33页/共69页操作可行性操作可行性 用户使用可能性用户使用可能性 时间进度可行性时间进度可行性 组织和文化上的可行性组织和文化上的可行性第34页/共69页复查系统规模和目标研究目前正在使用的系统导出新系统的逻辑模型评价可能解法,推荐行动方案,草拟开发计划书写可行性报告等文挡,提交审查符合要求吗?ny第35页/共69页什么是需求工程?什么是需求工程?需求工程提供了一个比较完善的流程和方法来解需求工程提供了一个比较完善的流程和方法来解决如何定义一个待开发的软件系统决如何定义一个待开发的软件系统 第36页/共69页需求工程的内容需求工程的内容需求工程过程可以被描述为需求工程过程可以被描述为6 6个部分:个部分:需求获取、需求分需求获取、需求分析、需求传递、需求建模、需求确认和需求管理析、需求传递、需求建模、需求确认和需求管理 第37页/共69页需求工程的目标需求工程的目标需求工程的目标需求工程的目标开发出符合客户要求的系统需求,包括符合客户要求的界面提供有效的解决方案以便确定软件系统中的主要元素将定义的需求分配给系统中的每个元素,了解软件需求受系统的制约、对操作环境的影响制定合适的软件版本发布策略,以确定系统或软件需求实现的优先级确定软件需求,并根据客户需求变化进行必要的更新第38页/共69页什么是软件需求什么是软件需求(1)用户解决问题或达到目标所需的条件或性能(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档条件或性能(3)一种反映上面(1)或(2)所描述的条件或性能的文档说明。第39页/共69页软件需求的层次软件需求的层次(1 1)业务需求业务需求反映组织机构或客户对系统、产品的概括性要求,包括所要达到的业务目标,由项目视图与范围文档说明用户需求用户需求描述用户使用系统而要完成的各种任务,由用例(use case)文档或方案脚本说明功能需求功能需求定义开发人员必须实现的软件功能,它源于用户需求,是软件需求说明书中重要的组成部分 第40页/共69页软件需求的层次软件需求的层次(2 2)需求层次之间的关系需求层次之间的关系不同层次成果不同层次成果简单性描述简单性描述第41页/共69页需求开发需求开发(1)(1)需求获取需求获取:通过各种途径获取用户的需求信息,经过“定义问题分析问题根本原因分析涉众定义系统边界确定约束条件”需求分析需求分析:对获取的需求信息去伪存真、归纳处理,进行各种分析,试图掌握用户的真正意图和要求 需求获取需求获取需求分析需求分析需求定义需求定义需求确认需求确认第42页/共69页需求开发需求开发(2 2)需求定义需求定义:根据需求调查和需求分析的结果,解释涉众需求,并整理成规范的、清晰的产品需求规格说明书 需求确认需求确认是指开发方和客户方共同对需求说明书进行评审,双方对需求达成共识后作出承诺,并符合优秀需求陈述的特征,包括完整、正确、可行、必要、具有优先级、无二义性和可验证 需求获取需求获取需求分析需求分析需求定义需求定义需求确认需求确认第43页/共69页需求管理需求管理需求管理是需求管理是针对不断变化的客户需求加以收集、处理和跟踪,并建立软件需求的基准线,以作为项目中软件开发活动过程和产品度量和变更管理的基础。需求管理可需求管理可以分为需求评审、需求跟踪和需求变更控制 需求变更控制是需求管理中最主要的工作第44页/共69页软件设计软件设计软件设计软件设计系统架构设计系统架构设计详细设计详细设计第45页/共69页软件设计的目标软件设计的目标可靠性可靠性性能和安全性性能和安全性可扩展性可扩展性可定制性或可移植性可定制性或可移植性可维护性可维护性可重用性可重用性软件软件设计设计高可靠性高可维护性高可理解性高效率 软件设计的目标第46页/共69页体系结构设计任务体系结构设计任务设计软件系统结构,如系统层次结构的划分、分布式结构的布局。确定设计元素,为设计元素分配特定功能。确定设计元素之间的关系,完成相应的通讯、同步与数据存取的协议和接口的设计。分析系统的规模和负载等,使系统满足性能、安全性等要求。对不同的设计方案进行比较和分析,选择最优的解决方案。编写设计文档。设计文档评审 第47页/共69页第48页/共69页体系结构设计视角体系结构设计视角软件体系结构是一个抽象的系统规范,包含一定形式软件体系结构是一个抽象的系统规范,包含一定形式的结构化元素,对程序系统各构件的可见特性、的结构化元素,对程序系统各构件的可见特性、结构及其相互之间关系的描述结构及其相互之间关系的描述 第49页/共69页详细设计详细设计详细设计详细设计 详细设计就是考虑在技术上如何实现已设计好的体系结构、如何实现已定义的软件功能 主要任务是为每个模块确定所采用的算法、程序流程和数据结构,确定每个模块的接口细节 第50页/共69页部署设计部署设计部署设计部署设计 构造软件系统的逻辑体系结构,包括系统层次依赖关系将逻辑体系结构中指定的组件映射到物理环境,从而生成一个高级部署体系结构创建一个实现规范创建一系列详细说明实现软件部署方案的计划 第51页/共69页设计评审设计评审设计评审设计评审 软件设计评审,主要是技术评审,也包括文档审查。软件设计的审查涉及软件体系结构和详细设计结果,其审查对象是产品规格设计说明、系统架构和技术设计文档、测试计划和测试用例。其目的是保证软件设计和需求分析保持一致,使设计更好地符合用户需求和业务需求,确保软件系统能满足系统功能性和非功能性的需求第52页/共69页实施的丰富内容实施的丰富内容实施的丰富内容实施的丰富内容第53页/共69页编程编程编程编程第54页/共69页单元测试单元测试单元测试单元测试单元测试单元测试:是验证那些可单独被测试的软件部分其隔离的功能特性 单元测试的对象是构成软件产品或系统的最小的独立单元 第55页/共69页驱动程序和桩程序驱动程序和桩程序驱动程序和桩程序驱动程序和桩程序 驱动程序驱动程序(driver),对底层或子层模块进行(单元或集成)测试时所编制的调用被测模块的程序,用以模拟被测模块的上级模块 桩程序桩程序(stub),对顶层或上层模块进行测试时,所编制的替代下层模块的程序,用以模拟被测模块工作过程中所调用的模块。第56页/共69页集成测试集成测试集成测试集成测试集成测试是将已分别通过测试的单元按设计要求组合起来再进行的测试,以检查这些单元之间的接口是否存在问题持续集成 第57页/共69页自顶向下法自顶向下法(Top-down Integration)(Top-down Integration)第58页/共69页功能测试功能测试功能测试功能测试 每项功能符合实际要求功能逻辑清楚,符合使用者习惯菜单、按钮等各项操作是否正常、灵活系统的界面清晰、美观系统的各种状态按照业务流程而变化,并保持稳定能接受正确的数据输入,对异常数据的输入可以进行提示、容错处理等数据的输出结果准确,格式清晰,可以保存和读取软件升级后,能继续支持旧版本的数据与外部应用系统的接口有效第59页/共69页系统测试系统测试系统测试系统测试 负载测试负载测试(Load test)/压力测试(stress test)容量测试容量测试(Capacity test)性能测试性能测试(Performance test)安全性测试安全性测试(Security test)容错测试容错测试(Recovery test)兼容性测试兼容性测试(Compatibility test)可靠性测试可靠性测试(Reliability test)第60页/共69页验收测试验收测试验收测试验收测试 验收测试是是技术测试的最后一个阶段,也称为交付测试。验收测试一般会根据产品规格说明书严格地检查产品,逐字逐句地对照说明书以检查事先定义的软件产品的各项具体要求,确保所开发的软件产品符合用户期望和需求 第61页/共69页2.5 2.5 部署、运行和维护部署、运行和维护部署、运行和维护部署、运行和维护系统部署系统部署软件运行和技术支持软件运行和技术支持维护过程维护过程第62页/共69页系统部署系统部署系统部署系统部署开发试验性系统对试验性系统进行全面认证测试通过,开始规划原型系统根据培训规划培训部署的管理员和用户完成原型系统的网络构建、软硬件的安装和配置数据备份或做好可以恢复(Roll-back)的准备将数据从现有应用程序迁移到当前解决方案进行相关的设置、定制和数据初始化处理针对所有基本功能进行原型验证完成所有的部署第63页/共69页软件运行软件运行软件运行软件运行确定和管理由于引人并发操作软件而带来的操作上的风险按要求的步骤和在要求的操作环境中运行软件提供操作上的技术支持,以便解决操作过程个出现的问题确保软件(或主机系统)有足够的能力满足用户的需求第64页/共69页技术支持技术支持技术支持技术支持基于实施情况,确定客户所需要的支持服务通过提供适当的服务来满足客户的需求针对客户对产品本身及其相应的支持服务的满意程度进行持续的评估 第65页/共69页维护过程维护过程维护过程维护过程 确定组织、操作以及接口对现行系统的影响对软件进行设计更新、代码修改或系统参数调整、硬件升级等,并进行测试验证一旦系统或系统组件发生了变更,应及时更新有关的文档移植系统与软件,以满足系统运行环境的要求尽量减少软件与系统对用户使用的影响 为及时满足用户的需求和系统性能、稳定性等要求,保持系统操作完整性的前提下对系统进行变更、移植与升级,包括硬件、软件、操作手册、网络等方面的维护 第66页/共69页计划计划计划就是预测未来,将不确定性转化为确定性计划就是预测未来,将不确定性转化为确定性计划就是回答计划就是回答4W1H 计划为例外做准备计划为例外做准备计划涉及面比较广,包括质量计划、开发计划、计划涉及面比较广,包括质量计划、开发计划、测试计划、配置计划、部署计划等测试计划、配置计划、部署计划等 p Why do 为什么做?p What to be done 做什么?p How to do 怎么做?p When do 什么时候做?p Who will do 谁来做?第67页/共69页计划步骤计划步骤计划酝酿阶段计划酝酿阶段计划起草计划起草内部审查内部审查计划讨论和修改计划讨论和修改计划审查计划审查测试计划的定稿和批准测试计划的定稿和批准第68页/共69页感谢您的观看!第69页/共69页

    注意事项

    本文(软件项目开发流程.pptx)为本站会员(莉***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开