改进软件开发过程.ppt

  1. 1、本文档共104页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
改进软件开发过程

软件工程与质量保证 -软件开发人员岗位培训资料 软件开发岗位 软件开发 程序设计/编程调试 软件设计、架构设计 软件分析 算法设计开发 数据库分析设计 软件测试 测试分析设计 测试员 相关岗位 产品开发 系统设计师 单机设计师 嵌入式平台设计 算法研究 产品测试 计算机与软件的知识体系 1 专业基础知识 计算机科学(数学) 计算机系统(硬件) 程序语言 数据结构 常用算法 操作系统 计算机网络 数据库技术 软件开发与计算机应用技术体系 3 软件开发技术 系统分析技术 系统设计技术 程序设计技术 软件测试技术 系统实施维护 数据库系统开发 网络系统设计 软件工具与开发环境 5、软件工程与开发管理 软件工程知识 软件项目管理 成本、风险、计划、人员 软件配置管理 基线、软件配置项、 版本控制、变更控制 软件质量管理与保证 软件过程管理 目 录 软件工程知识 软件质量保证与管理 软件过程管理 软件编程规范 一、软件工程知识 软件危机 软件工程简介 软件生命周期 软件生命周期模型 软件开发方法(技术) (一)软件危机与软件工程 软件开发的发展阶段 最初阶段:机器语言 第二阶段:汇编语言 第三阶段:高级语言 CASE阶段: 软件开发工作范围扩大:需求分析、项目管理 自动化程度提高:各种技术和管理工具 CASE阶段的有关概念 4GL、CASE工具,最终用户、可视化、组合、即插即用编程 SOA,SaaS 软件危机 软件危机的产生 早期的软件开发采用个体工作方式,开发工作主要依赖程序员的个人技巧。 随着计算机应用需求的增长、软件规模越来越大,而软件开发的生产效率跟不上,软件开发中的问题越来越多。 1960年代,软件开发问题凸现,爆发软件危机 IBM公司开发OS/360系统 解决途径是软件工程 软件危机的表现 1. 软件开发进度难以预测 2. 软件开发成本难以控制 3. 用户对产品功能难以满足 4. 软件产品质量无法保证 5. 软件产品难以维护 6. 软件缺少适当的文档资料 软件危机的原因 软件生产的知识密集和人力密集的特点是造成软件危机的根源所在。 软件本身的特点 开发人员的弱点 具体原因 用户需求不明确 缺乏正确的理论指导 软件开发规模越来越大 软件开发复杂度越来越高 软件开发技术、方式落后。 软件开发基本问题-个人 关键在于两个转换不能顺利通过 从用户的理解到程序员的理解 从程序员的理解到程序的实现 理解顾客要求 大型软件开发中的问题 大型软件开发的困难 一致性的保持 测试的困难大大增加 工作进度难以控制 文档与代码的协调十分困难 版本更新带来的困难 困难产生的原因 系统的复杂性 人员间的组织协调 应用领域的差别 时间因素和变化因素 软件工程概念 定义:应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件开发问题的工程。 用途:提高软件产品的质量和开发效率,降低软件开发成本。 目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。 软件工程原则 1)选取适宜开发范型。 2)采用合适的设计方法。 3)提供高质量的工程支持。 软件工具与环境对软件过程的支持颇为重要 4)重视开发过程的管理。 软件工程研究内容 软件开发模型 瀑布、演化、螺旋、喷泉 软件开发方法 轻量级、重量级 软件过程 软件工具和环境 计算机辅助软件工程(CASE) 软件经济学 七大原理 1、用分阶段的生命周期计划严格管理 2、坚持进行阶段评审 大约63%的错误是在编码之前造成的, 3、实行严格的产品控制 需求的改动往往是不可避免的 4、采纳现代程序设计技术 5、结果应能清楚地审查 6、开发小组的人员应少而精 高素质开发人员的效率比低素质开发人员的效率要高几倍到几十倍,开发工作中犯的错误也要少的多 7、改进软件开发过程 发展方向 敏捷开发 对未来可能出现的变化和不确定作出全面反应 轻量级方法 面向侧面的程序设计AOP 方面指完成一个功能的对象和函数的集合。 有泛型编程和模板。 (二)软件开发模型 软件生存周期 软件生存周期 生存周期划分的原则 各阶段的任务彼此间尽可能相对独立, 同一个阶段各项任务的性质尽可能相同, 从而降低每个阶段任务的复杂性, 简化不同阶段之间的联系, 有利于软件开发过程的组织管理。 软件生存周期主要的三种基线 功能基线(functional baseline) ,软件定义阶段结束 指派基线(allocated baseline),软件需求分析阶段结束 产品基线(product baseline),软件组装与系统测试阶段结束 可行性分析与计划阶段 工作任务 要解决什么问题? -问

文档评论(0)

2105194781 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档