CH1软件工程学概述重点.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
XP的迭代过程 * */58 Microsoft拥有自己的软件开发过程 微软过程准则 项目计划应该兼顾未来的不确定因素 用有效的风险管理来减少不确定因素 经常生成并快速地测试软件的过度版本 采用快速循环、迭代的开发过程 用创造性的工作来平衡产品特性和产品成本 项目进度表应该具有较高的稳定性和权威性 使用小型项目组并发地完成工作 在项目早期把软件配置基线化,项目后期则冻结产品 使用原型验证概念,对项目进行早期论证 把零缺陷作为追逐的目标 里程碑评审的目的是改进工作,切忌相互指责 微软过程 * */58 微软过程软件生命周期 * */58 微软过程模型 * */58 QA * */58 * PMO?即 Project Management Office(项目管理办公室) * 现实中其它的发展道路 * 1.0 引子:什么是软件 1.1 软件危机 1.2 软件工程 1.3 软件生命周期 1.4 软件过程 * */58 软件危机?分析根源?解决途径?软件工程 产生: 1968,NATO计算机科学会议 软件工程的含义 软件工程是指导计算机软件开发和维护的一门工程学科。 采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。 软件工程的产生 * */58 软件工程关注大型程序的构造 小型程序与大型程序 软件工程的中心课题是控制复杂性 软件交付后仍需经常修改 开发软件的效率非常重要 和谐地合作是软件开发成功的关键 软件必须有效地支持它的用户 产品、用户手册、培训资料 不同文化背景的人创造产品 软件工程的本质特征 * */58 软件工程专家B.W.Boehm提出软件工程的七条基本原理 1.用分阶段的生命周期计划严格管理 2.坚持进行阶段评审 大部分错误是在编码之前造成的 3.实行严格的产品控制 配置管理 4.采用现代程序设计技术 5.结果应能清楚的审查 提高“可见性”;量化标准 6.开发小组的人员应少而精 7.承认不断改进软件工程实践的必要性 软件工程的基本原理 * */58 方法学(methodology) 指在软件生命周期全过程中使用的一整套技术的集合,也称为范型(paradigm) 三要素:方法、工具和过程 方法:完成软件开发的各项任务的技术方法 (“如何做”) 工具:为方法的运用提供自动的或半自动的软件支撑环境 过程:为了获得高质量的软件所需要完成的一系列任务的框架 目前使用得最广泛的软件工程方法学 传统方法学 面向对象方法学 软件工程方法学 * */58 特点: 生命周期方法或结构化范型 将软件过程依次分成若干阶段 按顺序开展每个阶段的任务 每个阶段进行严格的技术审查和管理复审 提交“最新的”文档 优点: 阶段划分、降低难度 严格审查、保证质量、提高可维护性 缺点: 当软件规模庞大,或者对软件的需求是模糊的或会随时间而变化的时候 原因:把数据和操作人为地分离成了两个独立的部分 传统方法学 * */58 特点: 模拟人类认识和解决问题的方法和过程 主导反复迭代的演化过程 把数据和行为封装在一起 4个要点: 对象(Object):数据+数据上的操作行为 类(Class):具有相同属性和操作的所有对象 类的层次结构 对象彼此间仅能通过发送消息互相联系 优点: 降低了软件产品的复杂性 提高了软件的可理解性 简化了软件的开发和维护工作 促进了软件重用 面向对象方法学 * */58 1.0 引子:什么是软件 1.1 软件危机 1.2 软件工程 1.3 软件生命周期 1.4 软件过程 * */58 软件生命周期 * */58 软件定义 软件开发 运行维护 { 需求分析 可行性研究 问题定义 { 总体设计 详细设计 综合测试 编码和单元测试 } 系统设计 } 系统实现 { 改正性维护 完善性维护 预防性维护 适应性维护 生命周期模型(过程模型) * */58 可行性研究 需求分析 概要设计 详细设计 实 现 集成测试 确认测试 使用与维护 废弃 软件定义 软件开发 软件使用与维护 1.问题定义: “要解决的问题是什么” 2.可行性研究 “上一个阶段所确定的问题是否有行得通的解决办法” 3.需求分析 “目标系统必须做什么” 用正式文档准确地记录对目标系统的需求(规格说明specification) 4.概要设计 “大致将如何实现目标系统” 设计程序的体系结构,即确定程序的模块组成以及模块关系 * */58 5.详细设计 “应该怎样具体地实现这个系统” 详细规格说明 6.编码和单元测试 写出正确的容易理解、容易维护的程序模块 程序员自测试及交叉单元测试 7.综合测试 通过各种类型的测试(及相应的调试)使软件达

文档评论(0)

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

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

1亿VIP精品文档

相关文档