【精品课件】软件工程概述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
❖2 坚持进行阶段评审
❖ 统计结果显示: 大部分错误是在编码之前 造成的,大约占63%;
❖ 错误发现的越晚,改正它要付出的代价就越 大,要差2到3个数量级。
❖ 因此,软件的质量保证工作不能等到编码结 束之后再进行,应坚持进行严格的阶段评审, 以便尽早发现错误。
软件工程七条基本原理
❖3 实行严格的产品控制 ❖ ❖ 开发人员最痛恨的事情之一就是改动需求。
Web2.0 PM
Contents
软件危机 (1) 软软件件危工机程(1(2.2) ) 软件生命周期(3)
软件过程(4) 软件工程的目标
Contents
1 软件危机
软件危机表现
❖成本进度估计不准确 ❖变动频繁的软件需求 ❖软件质量不可靠 ❖软件维护困难 ❖没有适当的文档资料 ❖软件在系统总成本比例上升 ❖软件发展速度赶不上硬件
❖软件工程过程定义了: ▪ 方法使用的顺序 ▪ 要求交付的文档资料 ▪ 为保证质量和适应变化所需要的 管理 ▪ 软件开发各个阶段完成的里程碑
软件工程七条基本原理
❖1 用分阶段的生命周期计划严格管理
❖ 这一条是吸取前人的教训而提出来的。统 计表明,50%以上的失败项目是由于计划不周 而造成的。在软件开发与维护的漫长生命周期 中,需要完成许多性质各异的工作。
软件危机原因
❖软件本身特点:逻辑不可预见 ❖软件开发和维护的方法不正确
消除软件危机途径
❖技术上:方法、工具 ❖管理上:组织、经验
Contents
软软件件工危程机 ((11..22))
软件工程的定义
❖Boehm:运用现代科学技术知识来设计 并构造计算机程序及为开发、运行和维 护这些程序所必需的相关文件资料
需求分析、总体设计、详细设计、程序 编码、单元测试和集成测试、维护
Contents
软件 (1.1) 软软件件工危程机 ((11..22)) 软件生命周期(1.3)
软件过程(1.4) 软件工程的目标
软件生存期模型
❖wk.baidu.com件生存期模型是跨越整个生存期 的系统开发、运作和维护所实施的 全部过程、活动和任务的结构框架 • 瀑布模型 • 原型模型 • 螺旋模型 •…
软件工程方法学
❖ 传统方法学(结构化软件开发) ❖ 可行性分析,需求分析,总体设计,详细设计,
编码,测试,维护 ❖ 软件项目管理
❖ 面向对象方法学(面向对象软件开发) ❖ 面向对象分析OOA,面向对象设计OOD,面
向对象实现OOP,面向对象测试OOT,面向对 象维护OOM ❖ 面向对象的软件项目管理
Contents
软件 (1.1) 软软件件工危程机 ((11..22)) 软件生命周期(1.3) 软件开发模型(1.4) 软件工程的目标
软件生命周期 life cycle
❖软件有一个孕育、诞生、成长、成熟、 衰亡的生存过程。这个过程即为计算机 软件的生命周期
❖三个时期:定义、开发、维护 ❖软件生存期的七个步骤,即可行性研究、
软件工程七条基本原理
❖7 承认不断改进软件工程实践的必要性
❖ 遵从上述六条基本原理,就能够较好地实 现软件的工程化生产。但是,它们只是对现有 的经验的总结和归纳,并不能保证赶上技术不 断前进发展的步伐。
❖ 因此,Boehm提出应把承认不断改进软 件工程实践的必要性作为软件工程的第七条原 理。根据这条原理,不仅要积极采纳新的软件 开发技术,还要注意不断总结经验,收集进度 和消耗等数据,进行出错类型和问题报告统计。 这些数据既可以用来评估新的 软件技术的效果, 也可以用来指明必须着重注意的问题和应该优 先进行研究的工具和技术。
❖ 这条原理意味着,应该把软件生命周期分成 若干阶段,并相应制定出切实可行的计划,然 后严格按照计划对软件的开发和维护进行管理。 Boehm 认为,在整个软件生命周期中应指定 并严格执行6类计划:项目概要计划、里程碑计 划、项目控制计划、产品控制计划、验证计划、 运行维护计划。
软件工程七条基本原理
但是实践告诉我们,需求的改动往往是不可避 免的。这就要求我们要采用科学的产品控制技 术来顺应这种要求。也就是要采用变动控制, 又叫基准配置管理。 ❖ 当需求变动时,其它各个阶段的文档或代 码随之相应变动,以保证软件的一致性。
软件工程七条基本原理
❖4 采纳现代程序设计技术 ❖ ❖ 从六、七时年代的结构化软件开发技术,
❖IEEE: 软件工程是开发、运行、维护 和修复软件的系统方法
❖Fritz Bauer:建立并使用完善的工程化 原则,以较经济的手段获得能在实际机 器上有效运行的可靠软件的一系列方法
软件工程三要素:方法、工具和过程
❖软件工程方法为软件开发提供了 “如何做” 的技术
❖软件工具为软件工程方法提供了自 动的或半自动的软件支撑环境
到最近的面向对象技术,从第一、第二代语言, 到第四代语言,人们已经充分认识到:采用先 进的技术即可以提高软件开发的效率,又可以 减少软件维护的成本。
软件工程七条基本原理
❖5 结果应能清楚地审查 ❖ ❖ 软件是一种看不见、摸不着的逻辑产品。
软件开发小组的工作进展情况可见性差,难于 评价和管理。为更好地进行管理,应根据软件 开发的总目标及完成期限, 尽量明确地规定开 发小组的责任和产品标准,从而使所得到的标 准能清楚地审查。
软件工程概述
课程内容
软件工程概述 SE 面向对象软件工程 OOSE 面向对象分析与设计 UML 面向对象程序设计 C++ (选择)设计模式初步:Design Patterns (选择)SOA: Service Oriented Architecture (选择) AOP: Aspect-Oriented Software Development 项目设计实践: Web Application Development using UML
软件工程七条基本原理
❖6 开发小组的人员应少而精 ❖ ❖ 开发人员的素质和数量是影响软件质量和
开发效率的重要因素,应该少而精。 ❖ 这一条基于两点原因:高素质开发人员的
效率比低素质开发人员的效率要高几倍到几十 倍,开发工作中犯的错误也要少的多; 当开发 小组为N人时,可能的通讯信道为N(N-1)/2, 可见随着人数N的增大,通讯开销将急剧增大。
相关文档
最新文档