软件工程知识点整理.doc
《软件工程知识点整理.doc》由会员分享,可在线阅读,更多相关《软件工程知识点整理.doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件危机:计算机软件的开发和维护过程中所遇到的一系列严重问题。包含下述两方面的问题:1.如何开发软件,以满足对软件日益增长的需求;2.如何维护数量不断膨胀的已有软件。软件工程:指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济的开发出高质量的软件并有效的维护它。 软件生命周期:由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。P11软件定义时期:a.问题定义 b.可行性研究 c.需求分析;软件开发时期:a.总体设计 b.详细设计 c.编码和单元测试
2、 d.综合测试;运行维护时期;可行性研究:确定问题是否值得去解决。通过分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后能带来的效益是否大到值得投资开发这个系统的程度。可行性研究实质上是要进行一次大大压缩建华了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。P35性能需求:系统必须满足的定时约束或容量约束,通常包括速度、信息量速率、主存容量、磁盘容量、安全性等方面的需求。P56耦合:对一个软件结构内不同模块之间互连程度的度量。P97数据耦合:两个模块彼此之间通过参数交换信息,且交换的信息仅仅是数据。详细设计:确定应该怎样具体地实现
3、所要求的系统。通过一个阶段的设计工作,得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。P117等价类划分:一种黑盒测试技术,通过把程序的输入域划分成若干个数据类,据此导出测试用例。P172多态性:有许多形态。在类等级的不同层级中可以共享一个行为的名字,然而不同层次中的每个类却各自按自己的需求来实现这个行为。 P214继承:能够直接获得已有的性质特征,而不必重复定义他们。回归测试:重新执行已经做过的测试的某个子集,以保证程序的变化没有带来非预期的副作用。P160渐增型测试:把下一个要测试的模块同已经测试好的模块结合起来进行测试的每次增加一个模块的方法
4、P157增量模型:也称为渐增模型。把软件产品作为一系列的增量构建来设计、编码、集成和测试,分批的逐步向用户提交产品。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。P17内聚:一个模块内各个元素彼此结合的紧密程度,是信息隐藏和局部化的自然扩展。P98功能内聚:模块内所有处理元素属于一个整体,完成一个单一的功能。白盒测试法:根据程序的控制结构设计测试数据。黑盒测试法:着重测试软件功能,是与白盒测试互补的测试方法,很可能发现白盒测试不容易发现的其他类型的错误。P171可移植性:把程序从一种计算环境转移到另一种计算环境的难易程度。 软件可靠性:程序在给定的时间间隔内,按照规格说明书的规定成
5、功运行的概率。信息隐藏:一个模块内包含的信息(模块的实现细节)对于不需要这些信息的模块来说是不能访问的。P96完善性维护:为了满足在使用软件的过程中用户提出的增加新功能、修改已有功能或一般性的改进意见进行的维护,通常占软件维护工作的大部分。调试:在测试发现错误之后排除错误的过程。P176模块独立性:模块具有独立功能且和其他模块之间没有过多的相互作用。模块化:把程序划分成独立命名且可以独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。抽象:抽出事物的本质特性而暂时不考虑它们的细节。共享聚集:在聚集关系中处于部分方的对象可同时参与多个处于整体
6、方对象的构成。组合聚集:部分类完全隶属于整体类,部分与整体共存,整体不存在了部分也会随之消失。1. 软件工程有哪些本质特征?1) 软件工程关注于大型程序的构造2) 软件工程的中心课题是控制复杂性3) 软件经常化4) 开发软件的效率非常重要5) 和谐地合作是开发软件的关键6) 软件必须有效地支持它的用户7) 在软件工程领域中是由一种文化背景的人替具有另一种文化背景的人创造产品2. 软件生命周期包括哪些阶段?每个阶段又包含什么小阶段?由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。1) 软件定义时期:a.问题定义 b.可行性研究 c.需求分析2) 软件开发时期:a.总
7、体设计 b.详细设计 c.编码和单元测试 d.综合测试3) 运行维护时期3. 软件过程中瀑布模型的优缺点优点:可强迫开发人员采用规范的方法;严格规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。缺点:几乎完全依赖书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。4. 可行性研究的任务是什么?一般可以从哪些方面研究可行性?1) 可行性研究实质上是要进行一次大大压缩建华了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。可行性研究最根本的任务是对以后的行动方针提出建议。2) 技术、经济、操作、法律、社会效
8、益等5. 可行性研究有哪些步骤?1) 复查系统规模和目标2) 研究目前正在使用的系统3) 导出新系统的高层逻辑模型4) 进一步定义问题5) 导出和评价供选择的解法6) 推荐行动方针7) 草拟开发计划8) 书写文档提交审查6. 需求分析阶段的基本任务是什么?需求分析阶段的基本任务是要准确地定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。本阶段要进行以下几方面的工作:问题识别;分析与综合,导出软件的逻辑模型;编写文档。7. 对软件系统通常有哪些需求?功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、约束、逆向需求、将来可能提出的需求8. 与用户沟通获取需求的方法有哪
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 知识点 整理
限制150内