网站大量收购闲置独家精品文档,联系QQ:2885784924

软件工程-2软件工程技术幻灯片.ppt

  1. 1、本文档共133页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象的方法学 把对象作为融合了数据及在数据上的操作行为的统一软件构件; 把所有对象都划分成类; 按照父类与子类的关系,把若干个相关类组成一个层次结构的系统; 对象彼此间仅能通过发送消息互相联系。 CMI/SEI SEI的过程研究工作 主要研究的领域包括 能力成熟度模型(CMM/CMMI) 基于CMM/CMMI 的评估 软件过程定义 个体软件过程PSP 群组软件过程TSP 软件工程测量和分析 什么是软件工程? “工程”一词是科学和数学的某种应用;通过这一应用,使自然界的物质和能源的特性能够通过各种结构、机器、产品、系统和过程,成为对人类有用的东西。 ——Webster大辞典1720年 “软件工程”就是“科学和数学的某种应用;通过这一应用,使计算机设备的能力借助于计算机程序、过程和有关文档成为对人类有用的东西。” ——套用“工程”一词的定义 什么是软件工程? “工程”的隐含含义:这是一件比较大的工作,通常意味着需要较多人员的参与与合作,消耗较多的资源。 软件工程项目通常意味着Programming In Many 和Programming In Large由于消耗资源较多,因此,它既关注人员的组织与参与情况,又关注资源的消耗情况。 什么是软件工程? 需求:工程目标能在一定的时间、一定的预算之内完成。 提出背景:软件危机 微观上,软件危机的特征表现在完工日期一再拖后、经费一再超支,甚至工程最终宣告失败等方面 宏观上、从整个社会对软件的需求来看,软件危机的实质是软件产品的供应赶不上需求的增长 软件工程的成果不是供最终用户使用的一般工具产品,而是为软件设计和开发人员提供的思想方法和辅助工具 软件开发是一项需要良好组织,严密管理且各方面人员配合协作的复杂工作 软件工程有用么? 大的软件组织的应用 国防:美国国防部,NASA, Air Force等,都有软件工程研究机构,资助学校的研究机构给它们服务 ,如CMU的SEI 工业界:Boeing,Motorola等 研究机构:澳大利亚研究机构 Distributed Systems Technology Center (DSTC) 资助者:澳大利亚政府外,还有波音,富士通,微软,Oracle, Sun等公司 国防,航空航天,通讯等领域的软件最复杂,出了问题影响大,这样的软件组织往往最先也最重视软件工程。随着现在软件的复杂性普遍的增强,软件工程得到越来越多的重视。 软件工程有用么? 平凡的工程思想是时时存在的 思想是随时存在的,“分析-设计-实现-测试-维护”是人们做工程的一般方法 实践是最好的学习方法,自觉的把思想用到自己的实践中 在详细设计中函数的规模要适度,大粒度的函数规模是不合适的,过细粒度的函数规模增加了系统结构的复杂度 OO方法要求对象的责任明确 在面向对象编程时,多审视自己程序中的switch .. case。是不是真的理解了多态性? 建狗窝(很少计划)-给家里人建房子(要有计划)-建筑公司盖高层写字楼(要有复杂的蓝图,要综合考虑各种因素,在项目开工后要求可能也有变化,要能应付各种变化) * 完备性 软件系统不丢失任何重要成分,可以完全实现系统所要求功能的程度。为了保证系统的完备性,在软件开发和运行过程中需要严格的技术评审。 可验证性 开发大型的软件系统需要对系统自顶向下、逐层分解。系统分解应遵循系统易于检查、测试、评审的原则,以确保系统的正确性。 软件工程基本原则 软件工程 — 方法学 传统方法学 面向对象的方法学 传统方法学(生命周期方法学) 仍然是使用十分广泛的软件工程方法学。 采用结构化技术来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。 从上而下,顺序地完成软件开发的各阶段任务。 软件工程的传统途径—生命周期方法学 生命周期方法学的基本内容 从时间角度对软件开发和维护的复杂问题进行分解,把软件生命的漫长周 期依次划分为若干个阶段,每个阶段有相对独立的任务,然后逐步完成每个阶 段的任务。 生命周期方法学的应用方法 从对任务的抽象逻辑分析开始,一个阶段一个阶段地进行开发;前一个阶段任 务的完成是后一个阶段工作的前提和基础,而后一个阶段任务通常是使前一阶 段提出的解法更进一步的具体化,加进了更多的实现细节。 阶段过渡方法 每一个阶段的开始和结束都有严格标准,前一阶段结束的标准是后一阶段工作 开始的标准。 技术审查和管理复审。 基本概念 文档及其作用。 生命周期各阶段的基本任务 问题定义→可行性研究→ 需求分析→ 总体设计(概要设计) →

文档评论(0)

精品课件 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档