01软件工程学概述_第1页
01软件工程学概述_第2页
01软件工程学概述_第3页
01软件工程学概述_第4页
01软件工程学概述_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程导论(五)第壹讲软件工程学概述2018年10月17日星期三221本讲主要内容ooooo软件软件工程软件生命周期软件工程方法学软件过程2018年10月17日星期三222什么?“”是当人们面对重要生活目标的阻碍时产生的一种状态。这里的阻碍,是指在一定时间内,使用常规的解决方法不能解决的问题。是一段时间的和混乱,在此期间可能有过多次失败的解决问题的尝试。“o”发展的四个不同时期:出现了一个关键的境遇,并分析人的正常应付机制是否能够满足这一境遇的需要;随着紧张和混乱程度的增加,逐渐超越人的应付能力;需要解决问题的额外资源(如咨询);ooo可能需要转诊才能解决主要的人格问题。2018年10月17

2、日星期三223什么软件?“软件”是指计算机软件的“开发”和“维护”过程中所遇到的一系列“严重问题”。这些问题决不仅仅是不 能正常运行的软件才具有的,实际上,几乎“所有软件”都 不同程度地存在这些问题。“软件”包含两方面的问题:oo如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。2018年10月17日星期三224软件的表象ooooooo对软件开发成本和进度的估计常常很不准确;用户对“已完成的”软件系统不满意的现象经常发生; 软件产品的质量往往靠不住;软件常常是不可维护的;软件通常没有适当的文档资料;软件成本在计算机系统总成本中所占的比例逐年上升;软件开发生产率提高的速度

3、,远远跟不上计算机应用普 及深入的趋势。2018年10月17日星期三225的根源矛盾发展软件o开发人员与客户认识之间的矛盾(问题定义、可行性研究、需求分析)开发人员能力与开发目标之间的矛盾(需求分析、总体设计、详细设计)预估与实际工作量之间的矛盾(总体设计、详细设计、编码、测试)客户认识的提高与软件维护之间的矛盾(需求变化、功能追加)遗产系统与实施软件之间的矛盾(抛弃、融合)IT自身的发展oo人们对IT认知的提高oo2018年10月17日星期三226的应对软件工程软件软件定义、开发和维护的工程化软件工程贯穿软件生命周期的标准化消除?缓解、预防2018年10月17日星期三227软件工程1968,

4、NATO:“软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。”软件工程是一门工程学科1993,IEEE:“软件工程是: 把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件; 研究中提到的途径。”软件生命周期软件工程方法学2018年10月17日星期三228软件生命周期o软件定义n 问题定义:要解决的问题是什么?总体需求n 可行性研究:能否、值得否解决?关键分析n 需求分析:目标系统必需做什么?(规格说明书)软件开发o总体设计:大概怎样实现? 详细设计:具体怎样实现?编码:按详细设计编写程序代码单元测试:模块测试综合测

5、试:集成测试-按设计;验收测试-按需求o软件维护2018年10月17日星期三229软件工程方法学在软件生命周期全过程中,使用的一整套技术方法的集合。包括:方法(完成软件开发各项任务的技术方法)、工具(为运用方法而提供的支持环境)和过程(为获得高质量 软件所需完成的一些列任务的框架)。结构(Structure Paradigm)去goto化对象(Object-Oriented)组件(Component Object Model)n 服务(Service-Oriented Architecture)网构(Internetware)2018年10月17日星期三2210软件过程(如何进行)为了获得高质

6、量软件所需要完成的一系列任务的框架。who、when、what、how瀑布模型快速原型模型增量模型螺旋模型喷泉模型Rational统一过程 敏捷过程与极限编程微软过程2018年10月17日星期三2211瀑布模型软件工程中应用得最广泛的过程模型。传统软件工程方法学的软件过程,基本上可以用瀑布模型来描述。ooo阶段间具有顺序性和依赖性推迟实现的观点质量保证的观点图1.22018年10月17日星期三2212实际的瀑布模型优点:oo阶段性文档阶段性验证缺点?(特点):o开发过程中用户不可见,可能不满足要求。*编写软件的目的图1.32018年10月17日星期三2213快速原型模型原型的用途是获知用户的真

7、正需求,一旦需求确定了,原型将被抛弃。特点:o软件产品的开发基本上是线性顺序进行的,不带待反馈环?加速软件开发过程, 节约软件开发成本。o图1.42018年10月17日星期三2214增量模型(渐增模型)把软件产品分解成增量构件,分批地逐步向用户提交产品。优点:o用户有较充裕的时间学习和适应新产品。困难:o分析设计图1.52018年10月17日星期三2215风险更大的增量模型优点:缺点:oo不同的构件并行地构建,加快工程进度。不同的构件可能无法集成。图1.62018年10月17日星期三2216简化的螺旋模型在每个阶段之前都增加了风险分析过程的快速原形模型。特点:o适用于内部开发的大规模软件项目(

8、产品)缺点:o风险分析带来的风险图1.72018年10月17日星期三2217完整的螺旋模型操作概念:o概念级的功能操作o基类虚函数图1.82018年10月17日星期三2218喷泉模型以用户需求为动力,以对象为驱动的模型。优点:o软件开发过程自下而上周期的各阶段具有相互迭代和无间隙的特性特点:o生命周期不明显(对象迭代、不是过程迭代)图1.92018年10月17日星期三2219软件过程模型对比分析2018年10月17日星期三2220模型名称比较特点(关键词)适用范围(不绝对)方法学角度应用角度面向结构面向对象外部项目内部产品瀑布模型基础模型、广泛使用、标准模式快速原形基本需求、原形系统、可行演练增量模型需求分解、增量构件、并行设计面向对象螺旋模型原形系统、风险分析、大规模附带风险分析的快速原形模型喷泉模型反复迭代、无缝过渡面向对象的快速原形模型概念结构图软件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论