软件工程基本知识总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程书上考点总结(选择、填空、判断、简答)大题没有
选择或判断或考点总结:
1、软件:在计算机系统中,与硬件相互依存的逻辑部件,它由程序、数据及相关文档组成。
2、软件工程:是指导计算机软件开发和维护的工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
3、软件的特点:
3、可行性研究的目的:可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
4、可行性研究的任务:一般都要从经济、技术、操作和法律四个方面来研究每种解法的可行性,做出明确结论来供用户参考,包括:经济可行性、技术可行性、操作可行性和法律可行性。
5、软件需求分析:软件需求分析是软件开发期的第一个阶段,是软件生存周期最重要的一步,是关系到软件开发成败的关键步骤
6、需求分析的任务:需求分析的任务还不是确定系统怎样完成它的工作。
需求分析的任务仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰而且具体的需求。
7、需求获取的常用方法
(1)客户访谈:分为正式的和非正式的两种基本形式(2)建立联合分析小组(3)问题分析与确认
8、需求分析的常用方法:(1)功能分解方法(2)结构化分析方法(3)信息建模方法(4)面向对象方法(目前最主流的方法)
9、软件总体设计的目标和任务:总体设计阶段的基本目标就是回答“概括地说,系统应该如何实现?”这个问题。
总体设计的另一项任务是设计软件的总体结构,即确定系统中的每个程序是由哪些模块组成的,每个模块的功能以及模块和模块之间的接口、调用关系等。
10、详细设计的根本目的:确定应该怎样具体实现所要求的系统。
经过这个阶段的设计工作,应该得出对目标系统的精确描述,具体的就是为软件结构图中每一个模块确定采用的算法和块内数据结构,用某种选定的详细设计工具更清晰地描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序.
11、人机界面设计原则:(1)让用户驾驭软件,而不是软件驾驭用户。
(2)尽可能减少用户的记忆负担。
(3)保持界面的一致性。
12、从软件工程的角度,编程语言可分为基础语言、结构化语言和面向对象语言3 大类。
(1)基础语言:FORTRAN,COBOL,BASIC和ALGOL都属于这类语言。
(2)结构化语言:Pascal、C、 Ada等结构化语言。
(3)面向对象的语言:C++语言 Java语言
13、程序内部文档包括标识符的选取、增加注解和好的程序布局。
14、软件测试的目标:(1) 测试是为了发现程序中的错误而执行程序的过程;(2) 好的测
试方案是极可能发现迄今为止尚未发现的错误的测试方案;(3) 成功的测试是发现了至今为止尚未发现的错误的测试。
15、软件测试方法及分类:为了便于区分,一般把被测程序在机器上运行称为“动态测试”,不在机器上运行被测程序称为“静态分析”。
广义地讲,它们都属于软件测试。
因此,软件测试的方法一般分为动态测试和静态测试。
动态测试方法中又根据测试用例的设计方法不同,分为黑盒测试法和白盒测试法两类。
16、黑盒测试:也称功能测试或数据驱动测试。
它不考虑程序内部结构和处理过程。
把被测程序看成一个黑盒子,只在软件接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。
17、白盒测试:也称结构测试或逻辑驱动测试。
测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,要求对程序的结构特性做到一定程度的覆盖,对程序中的所有逻辑路径进行测试,并检验内部控制结构是否有错,确定实际的运行状态与预期的状态是否一致。
18、软件测试用例的设计:测试用例的两种技术(16、17、18这部分内容需要重点看书上的P87-P97)
白盒技术:是以程序的内部逻辑结构为基础设计测试用例,被检测的对象是源程序。
黑盒技术:着重测试软件功能。
不论黑盒还是白盒测试都不能进行穷尽测试, 所以软件测试不可能发现程序中存在的所有错误, 因此需精心设计测试方案
19、软件的测试过程:是单元测试、集成测试和验收测试三部分组成
单元测试集中检测软件设计的最小单元——模块。
20、调试:是在测试发现错误之后排除错误的过程。
调试也称为纠错, 是在测试发现错误之后排除错误的过程。
测试和调试往往是紧密联系在一起的。
21、软件测试的目的:是为找出软件中存在的错误,即通过测试来发现错误,而调试的目的是为了解决存在的错误,即对错误定位、分析并找出原因改正错误,因此调试也称为纠错。
22、软件维护阶段是软件生存周期中时间最长的一个阶段,所花费的精力和费用也是最多的一个阶段。
23、软件维护活动可以归结为以下四类:改正性维护;适应性维护;完善性维护;预防性维护。
24、软件维护工作有以下特点:
①软件维护是软件生存周期中延续时间最长、工作量最大的一个阶段。
②软件维护不仅工作量大、任务重,而且维护不当的话,还会产生一些意想不到的副作用,甚至引起新的错误。
③软件维护活动实际上是一个修改和简化了的软件开发活动。
④尽管软件维护需要的工作量很大,但是长期以来,软件维护工作却一直未受到软件设计者们的足够重视。
25、软件可维护性的定义(详见P114)。