- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
河北工业大学软件工程期末复习
软件工程期末复习总结
第一讲 概述(选择U填空U简答)
1.1 软件工程的研究内容
软件工程要考虑专业软件开发所需要的理论、方法和工具----工程技术问题
软件工程要考虑如何有效的在软件开发中利用有限的成本资源----工程管理的问题
1.2 什么是软件?
软件包括:---软件的内涵
① 能够提供客户所需功能与性能的计算机程序;
② 使程序能够适当的操作信息的数据结构;
③ 用以描述程序开发过程及使用的文档。
软件产品可以为一个特定的用户设计开发,也可以为某一类通用的市场设计开发。
软件产品可以分成:
一个新的软件并不一定是全新开发,可以由现有软件或可复用软件成分配置形成。
1.3 什么是软件工程 ?
软件工程是涉及软件生产各个方面的一门工程学科
软件工程涉及软件生命周期的各个方面,从软件需求的确定到软件退役。
软件工程:(1)将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件;(2)研究(1)中的方法.
——IEEE[IEE93]
1.4 什么是成功的软件项目
一个成功软件项目的三个要素包括:
按时交付 不超预算 满足用户要求。
1.5 软件过程与软件生命周期的相关概念
软件过程是指开发或制作软件产品的一系列活动及其成果.
所有的软件过程中都包括四个基本活动:(填空)
1. 描述( Specification)- 系统应该提供的功能及其开发约束;
2. 开发( Development)- 软件产品的生产过程;
3. 有效性验证(Validation )- 检验软件产品是否满足了客户的需要;
4. 进化( Evolution )- 按照用户的变更要求不断的改进软件。
软件生命周期是软件过程的另一种形象描述,通常包括需求定义、分析与描述、软件设计、实现、测试、维护与退役等活动。
1.6什么是优良软件的属性? P8 (填空U选择)
优良的软件应能交付相应的功能与性能,而且应具有良好的可维护性、可依赖性、有效性和可用性:(选择题,考法内涵匹配)
可维护性(Maintainability)
Software must evolve to meet changing needs;
可依赖性(Dependability)
Software must be trustworthy;
有效性(Efficiency)
Software should not make wasteful use of system resources;
可接受性(Acceptability)
Software must be accepted by the users for which it was designed. This means it must be understandable, usable and compatible with other systems.
第二讲 软件过程(画法+特点+结构+缺点+适用场合)
2.1 瀑布模型(顺序模型)(特点:变更少)(画法+特点+结构+缺点+适用场合)
需求分析和定义2.系统和软件设计3.实现和单元测试4.集成和系统测试5.运行和维护
(中文解释)
瀑布模型的缺点和适用情况
这种模型生硬的把一个软件过程划分成几个界限清晰的阶段,而且这些阶段前后有严格的顺序,这导致它很难对用户的需求变更做出及时的调整;
因此,瀑布模型只适合需求非常清楚和需求变更被严格限制的情况下。
实际的软件开发过程中,几乎没有多少业务系统具有稳定的需求。
瀑布模型反映了工程设计的基本思想。
2.2 进化式开发模型(画法+特点+结构+缺点+适用场合)
基本思想:通过开发系统原型和用户反复交互,以明确需求,使系统在不断调整与修改中得以进化成熟。又叫做原型式开发方法。
两种基本类型:
探索式开发;
抛弃式原型法.
2.2进化式开发模型
问题
缺乏过程可见性;
系统结构通常会很差;
需要一些特别的技术(如原型快速开发技术),通常与主流技术不兼容.
适用情况
适合中小规模的交互系统;
可用于大型系统的局部开发(如系统界面),可以和瀑布模型混合使用;
生命周期较短的系统
2.3 基于过程反复的过程模型
对于大型项目而言,系统需求的变更是无法避免的,因此开发过程的反复是软件开发的必要手段;
过程反复可以和任何一种一般过程模型结合使用。
两种支持过程反复的过程模型:
增量式开发;
螺旋式开发。
2.3 增量式开发
增量式开发的特点
在这种开发方式中,系统不是作为一个整体交付,而是被分解成若干个增量,每个增量交付系统的部分功能。
文档评论(0)