没有合适的资源?快使用搜索试试~ 我知道了~
软件工程方法学和软件过程.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 147 浏览量
2022-07-02
20:35:49
上传
评论
收藏 215KB DOC 举报
温馨提示
试读
12页
第二讲 软件工程方法学和软件过程 1. 软件的生命周期 1. 软件的生命周期 软件同世界上其它所有事物一样,也有产生、发展、成熟到消亡的过程,称为软件的 "生命周期"(life cycle)。"生命周期"把软件不仅仅看作一个静态的事物,而看成是一个过程,需要动态 地进行控制和管理,这对纠正软件开发中的各种错误观念,实现对经济上合理有效的软 件开发是至关重要的。 "生命周期"的概念是软件工程的基石,一切软件工程的研究和实践都是在此概念基础 上进行的。 2. 软件生命周期的阶段划分 根据软件自身的特点,生命周期可以划分为以下四个主要阶段: (1)软件定义: 确定软件开发的目标和具体要求。 (2)软件开发: 实现软件实体,测试,并交付用户 (3)使用和维护: 用户使用软件,开发者进行维护 (4)软件废弃: 软件不再适应新的需求,维护代价太高,停止使用 2. 软件工程方法学 1. 软件工程方法学 软件工程方法学是指一套完整的、相关的软件开发技术,包括原则、方法、过程和工 具,也称为软件开发范型。 目前主要的软件工程方法学包括: 生命周期方法学 面向对象方法学 敏捷方法学 2. 生命周期方法学:
资源推荐
资源详情
资源评论
软件工程方法学和软件过程
第 1 页
自动化学院 模式识别与智能系统研究所
高琪 gaoqi@bit.edu.cn
第二讲 软件工程方法学和软件过程
一、 软件的生命周期
1、软件的生命周期
软件同世界上其它所有事物一样,也有产生、发展、成熟到消亡的过程,称
为软件的“生命周期”(life cycle)。“生命周期”把软件不仅仅看作一个静态的
事物,而看成是一个过程,需要动态地进行控制和管理,这对纠正软件开发中的
各种错误观念,实现对经济上合理有效的软件开发是至关重要的。
“生命周期”的概念是软件工程的基石,一切软件工程的研究和实践都是在
此概念基础上进行的。
2、软件生命周期的阶段划分
根据软件自身的特点,生命周期可以划分为以下四个主要阶段:
(1)软件定义:
确定软件开发的目标和具体要求。
(2)软件开发:
实现软件实体,测试,并交付用户
(3)使用和维护:
用户使用软件,开发者进行维护
(4)软件废弃:
软件不再适应新的需求,维护代价太高,停止使用
二、 软件工程方法学
1、软件工程方法学
软件工程方法学是指一套完整的、相关的软件开发技术,包括原则、方法、
过程和工具,也称为软件开发范型。
目前主要的软件工程方法学包括:
生命周期方法学
面向对象方法学
敏捷方法学
2、生命周期方法学:
(1) 定义:
生命周期方法学是指严格按照软件的生命周期,采用分阶段计划和控制,以
及顺序实施的步骤,和各种结构化分析(SA,Structured Analysis)和结构化设计
(SD,Structured Design)技术的软件开发方式。
生命周期方法学首先是一种软件开发的方式,它的特点,一是分阶段计划、
控制、顺序实施,另外就是在各个阶段采用结构化(包括结构化分析和结构化设
软件工程方法学和软件过程
第 2 页
自动化学院 模式识别与智能系统研究所
高琪 gaoqi@bit.edu.cn
计)技术。
要注意:软件的生命周期概念和软件工程的生命周期方法学概念是两个不同
的概念,不能混淆。软件的生命周期方法学,只是软件开发的一种方法学,同其
他软件开发方法学一样,都是以软件生命周期的概念为基础而研究建立的。
生命周期方法学是软件工程最传统的方法学,虽然它并未完全解决软件危机
的问题,但是对软件工程的发展起到了极其重要的促进作用,至今仍旧是最成熟
和应用最为广泛的方法学。
我们上面给出了软件工程生命周期方法学的定义,下面我们就根据这个定义,
来详细讨论一下生命周期方法学的主要特点,分析一下怎么样的软件开发方式就
可以被称做是“生命周期方法学”。
(2) 特点:
严格的分阶段计划
就是将软件开发过程从时间上分解,降低软件开发的复杂度。
软件危机的主要表现之一,就在于软件的开发过程难以管理和控制,软件的
质量没有保证。随着软件规模越来越大,开发周期越来越长,整个软件开发过程
也变得越来越复杂,越来越混乱。人类解决复杂问题的一个惯常方式就是分解,
把复杂的事物分解为小的部分,再逐一解决。生命周期方法学依照软件的生命周
期,将完整的软件开发过程从时间上划分为许多相对独立的阶段。在每一个阶段,
都有它确定的任务和方法,以及完成的结果的标准。
瀑布式开发模式
“瀑布式开发模式”,也就是定义里的“顺序实施”。瀑布的特点是水流从上
到下,一落到底,不会反复。生命周期方法学采用了从上到下,各个阶段逐一进
行的软件开发方式,前一个阶段结束后形成的结果作为下一个阶段工作开始的依
据。在每一个阶段的任务没有按质量要求完成时,不进行下一个阶段的工作,每
个阶段完成后也不再反复。
严格的技术审查和管理复审
技术审查和管理复审是技术和经济两个方面管理软件开发过程,保证软件的
质量,控制开发成本和进度。
技术审查包括文档齐备性的形式审查和阶段结果的实质审查。技术审查的要
点就是不能把错误带入下一个阶段,以满足瀑布式开发模式的需要。技术审查通
过后要进行管理复审。它由组织开发工作的项目管理人员进行,是从进度和成本
的角度审查本阶段的工作,并对后续阶段的成本和进度计划进行调整,并对后续
的开发目标进行决策。
各个阶段采用结构化技术
结构化技术的基本思想是自上而下,逐步求精。结构化技术最先起源于编程
领域,后来随着生命周期方法学的发展被全面应用到软件开发过程的各个阶段。
在后续生命周期方法学各个阶段的详细介绍中会说明各种结构化技术的具体方
法。
3、面向对象方法学:
(1) 定义:
面向对象方法学是以面向对象技术为核心,利用类的继承等复用方式,通过
逐步细化地建立对象模型,以及迭代和演化的步骤完成软件开发的模式。
软件工程方法学和软件过程
第 3 页
自动化学院 模式识别与智能系统研究所
高琪 gaoqi@bit.edu.cn
面向对象方法学起源于面向对象程序设计,是目前最符合人类解决现实问题
的思维模式和物理系统运行方式的软件开发方法学。
(2) 特点:
以对象作为基本的软件构件
在问题的解域模拟问题域的模型,数据和对数据的操作紧密结合。对象是一
种包含了数据和操作,并且良好封装的逻辑实体。整个软件由无数独立活动的对
象构成,对象之间通过消息机制相互通信和相互作用。
面向对象的软件结构和面向流程的软件结构之间有巨大的区别,与现实世界
中的实际系统更加吻合,是软件构建思想上的一次革命。
软件定义和实现的统一
无论在定义、设计还是在实现阶段,面向对象方法学都是通过对系统模型的
逐步细化和精化来完成的,因此整个软件的开发过程就是一次由粗到细构建对象
模型的过程,定义和实现不再截然划分。
重视软件复用
面向对象方法学使用类来完成对象的定义,类还可以通过继承派生出新的类,
因此面向对象方法学本质上就具备了良好的软件复用的基础,可以在不同软件中
使用已有的类来派生出新的类,既利用了前人的软件开发成果,又可以根据每个
软件的实际情况产生新的对象,结合对象完善的封装机制,实现对象模型的多层
次、普遍的复用。
通过逐步演化来完成软件开发
面向对象方法学使用循环迭代的方式来开发软件,整个软件系统是逐步精华
的,这既符合人类对事物的认识模式,又可以尽早获得软件开发的概貌性结果,
便于对软件需求进行验证。
4、敏捷方法学:
(1) 定义:
敏捷方法学是针对用户需求迅速变化的现实情况,采用短周期交付形式和协
作开发的轻量级软件开发方式。
敏捷方法学是程序员对过多强调严格规范和文档的软件工程方法的一次更
高水平上的反动,强调以人为本、追求目标和“轻但适用”。
(2) 特点:
追求软件交付使用这一终极目标
敏捷方法学把一切软件开发的规范、标准、技术都置于“软件按期交付”这
一目标之下,强调任何使软件能够高质量地按期交付的方法、工具和过程都应得
到应用,把软件能够满足用户的实际需求看做是软件开发工作的根本目标。
强调全面合作和交流
敏捷方法学把软件开发定性为一种创造和交流的合作活动,强调用户和开
发方不仅仅是合同的甲方和乙方,而是必须全面合作来完成软件开发工作;用户
和开发人员,开发人员之间的有效交流是最重要的成功因素,致力于寻找快捷、
方便和低成本的交流方式。
重视软件开发中人的个性
敏捷方法学不把软件开发人员看做完成任务的机器,强调发挥个人的潜能和
主动性,保障开发人员得到足够的尊重和照顾,维持开发人员的工作积极性,以
剩余11页未读,继续阅读
资源评论
是空空呀
- 粉丝: 167
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
- 基于MIC+NE555光敏电阻的声光控电路Multisim仿真原理图
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功