软件工程复习的几个知识点和例题

更新时间:2023-12-14 20:43:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1. 2. 3. 4.

软件危机的概念,内容,原因及消除的途径; 软件工程的定义,基本原理;

软件工程方法学的基本概念、内容;

软件生命周期的具体内容,每一个阶段的任务是什么?结合具体的工程例子来理解做软件项目主要分那几个阶段。

5. 理解几个典型软件过程的内容及其优点与缺点:瀑布模型、增量模型、快速原型模型、

螺旋模型、喷泉模型等;

6. 了解可行性研究中的任务和过程;

7. 掌握系统流程图的概念和方法,会从具体的案例中抽象出系统流程图;

8. 掌握数据流图的概念和方法,会从具体的案例中画出0层数据流图和功能级数据流图; 9. 掌握数据字典的内容、方法、用户和实现; 10. 了解成本/效益分析方法;

11. 了解需求分析过程中任务是什么.

12. 理解面向数据流自顶向下逐步求精的方法和意义;

13. 理解分析及建模的意义,需求分析中应该建立哪三种模型?有哪些工具来帮助建立这些

模型?

14. 掌握实体关系(E-R)图的概念,内容和实现方法,能结合具体实例建立实体关系图; 15. 掌握状态图的概念,内容,实现方法和作用;

16. 掌握层次方框图、warnier图、IPO图的概念,内容和作用; 17. 有穷状态机的概念和内容;

18. 总体设计是做什么?总体设计的过程是怎样的?总体结构设计的目的是什么? 19. 掌握几个设计原理,理解他们的内容和意义;

20. 掌握耦合和内聚的概念和内容,理解这些原理对设计有哪些指导意义;

21. 耦合包含了哪些类型?每个类型的具体内容是什么?要求能通过程序代码识别出耦合

类型。

22. 启发性规则的内容及部分概念。 23. 层次图、HIPO图和结构图的内容;

24. 掌握面向数据流的设计方法,了解其中涉及到的概念(变换流,事务流),结合例子理

解变换分析的具体过程。 25. 详细设计是做什么? 26. 什么是结构程序设计?

27. 人机界面设计问题包含哪些?

28. 掌握设计过程中用到的工具:程序流程图的概念,内容和方法;盒图的概念、内容和方

法;会结合实例使用这些工具;掌握PAD 图的概念和内容;掌握判定表的概念和内容。要结合实例来掌握它们。

29. 了解结合Jackson图来掌握面向数据结构的设计方法;会用Jackson程序设计方法对具体

的实例进行设计。

30. 掌握几种测试:单元测试、集成测试、确认测试、白盒测试技术和黑盒测试技术;掌握

它们的概念,内容和方法;

31. 对每一种测试方法,理解其具体细节:比如理解什么是渐增式测试和非渐增式测试,什

么是Alpha测试和Beta测试.....;

32. 结合G.J.Myers的观点理解软件测试的目的;(教材p150)

33. 掌握白盒测试的技术细节(比如:掌握逻辑覆盖中的8个覆盖点;掌握基本路径测试,

会根据过程设计结果画出相应的流图;会计算流图的环形复杂度;会计算出线性独立路

1

径的基本集合);掌握黑盒测试的技术细节; 34. 理解软件维护的定义、特点和维护过程;

35. 掌握面向对象方法学的要点,理解面向对象方法学的优点; 36. 掌握面向对象的概念;

37. 面向对象建模是建立哪三个模型?它们的具体内容是什么? 38. 建立对象模型的内容是什么?

39. 掌握用UML提供的类图来建立对象模型的方法。理解类图的定义、基本符号和具体内

容;

40. 能结合实例掌握类图中类与类之间的关系:关联、泛化(继承)、依赖和细化。能根据

实例情况正确判断出类与类之间的具体关系类型。 41. 动态模型的概念、内容;

42. 功能模型的概念、内容和建立功能模型的方法; 43. 掌握用例图的概念、内容和方法;

44. 掌握面向对象分析的基本过程:三个子模型与5个层次;

45. 结合实例来掌握面向对象分析过程中建立对象模型的方法包含哪些步骤; 46. 结合实例来掌握面向对象分析过程中建立动态模型的方法包含哪些步骤; 47. 结合实例来掌握面向对象分析过程中建立功能模型的方法包含哪些步骤; 48. 能结合实例画事件跟踪图 49. 能结合实例画类的状态图

50. 能结合实例画出0层数据流图与功能级数据流图。

2

自测练习题:

一、选择题

1.瀑布模型的存在问题是( B) A.用户容易参与开发 B.缺乏灵活性

C.用户与开发者易沟通 D.适用可变需求

2.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出( B)的回答。

A.确定 B.行或不行 C.正确 D.无二义 3. 系统流程图是用来 (B)

A 描绘程序结构的 B 描绘系统的逻辑模型

C 表示信息层次结构的图形工具 D 描绘物理系统的 4.下列属于维护阶段的文档是( C)

A.软件规格说明 B.用户操作手册

C.软件问题报告 D.软件测试分析报告

5.软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为(B)

A.可用性 B.可靠性 C.正确性 D.完整性

6、快速原型模型的主要特点之一是(D) A.开发完毕才见到产品 B.及早提供全部完整的软件产品 C.开发完毕后才见到工作软件 D.及早提供工作软件

7、软件需求分析的主要任务是准确地定义出要开发的软件系统是( C) A.如何做 B.怎么做 C.做什么 D.对谁做

8.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是(C )

A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法

9.研究开发所需要的成本和资源是属于可行性研究中的研究的一方面。(B) A.技术可行性 B.经济可行性 C.社会可行性 D.法律可行性 10.模块的内聚性最高的是(D)

A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚

12. (C)是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 A 多态性 B 继承 C 封装 D 消息

二、填空题

1. 将数据流图映射为程序结构时, 所用映射方法涉及信息流的类型。其信息流分

3

为变换流和事务流两种类型。

2.为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。 3. 软件由程序、数据、文档组成。

4. 在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是关联关系。

5. 软件工程釆用层次化的方法,每个层次都包括过程、方法、工具三要素。 6.一个模块拥有的直属下级模块的个数称为模块的扇出,模块的扇入一个模块的直接上级模块的个数称为 。

三、名词解释题

1.内聚性:内聚性,又称块内联系,指模块之间的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。

2.软件危机:是计算机软件的开发和维护过程所遇到的一系列严重的问题。 3.完善性维护

4. 数据字典:简称DD,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。四类条目:数据流、数据项、数据存储、数据加工。 5. 程序流图:程序流程图是程序分析中最基本、最重要的分析技术,它是进行程序流程分析过程中最基本的工具。

6. 驱动程序:驱动程序一般指的是设备驱动程序(Device Driver),是一种可以使计算机和设备通信的特殊程序。

7. 数据耦合:指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。 8. 类图:类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性信息。 9. Alpha测试与Beta测试

Alpha测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。

Beta测试是一种验收测试。所谓验收测试是软件产品完成了功能测试和系统测试之后,在产品发布之前所进行的软件测试活动,它是技术测试的最后一个阶段,通过了验收测试,产品就会进入发布阶段。 10. 软件产品:软件产品是指向用户提供的计算机软件、信息系统或设备中嵌入的软件或在提供计算机信息系统集成、应用服务等技术服务时提供的计算机软件。

四、简答题

1. 黑盒测试旨在测试软件是否满足功能要求,它主要诊断哪几类错误?

黑盒测试旨在测试软件是否满足功能要求,它主要诊断的错误为:

界面错误,不正确或遗漏的功能,数据结构或外部数据库访问错误,性能错误,初始化和终止条件错误

2. 瀑布模型、增量模型的优缺点

瀑布模型的优点:有利于大型软件开发过程中的组织管理,

瀑布模型的缺点:开发过程一般不能逆转,实际的项目开发很难严格按该模型进行; 增量模型的优点:采用增量模型的优点是人员分配灵活不用投入大量人力资源; 增量模型的缺点:可能遇到不能集成的风险,软件必须具备开放式的体系结构;

4

3. 程序流程图或者盒图的5种基本结构的画法

4. 简述过程设计语言(PDL)的特点。

·关键字的固定语法,它提供了结构化控制结构、数据说明和模块化的特点。了使结构清晰和可读性好,通常在所有可能嵌套使用的控制结构的头和尾都有关键字,例如,if…if(或end if)等。

·自然语言的自由语法,它描述处理特点。

·数据说明的手段。应该既包括简单的数据结构(例如纯量和数组),又包括复杂的数据结构(例如,链表或层次的数据结构)。

·模块定义和调用的技术,应该提供各种接口描述模式。

5. 根据特定的项目,你会考虑哪些因素来选择合适的程序设计语言。

项目的应用领域、软件开发的方法、软件执行的环境、算法和数据结构的复杂性以及软件开发人员的知识等。

6. (教材P141) 画出下列伪码程序的程序流程图和盒图

START

IF p THEN

WHILE q DO f END DO ELSE

BLOCK g n

END BLOCK END IF STOP

5

7. (教材P141)研究下面的PDL语言(过程设计语言,也称伪码程序): LOOP: Set I to (START + FINISH)/2 If TABLE(I)=ITEM goto FOUND

If TABLE(I)ITEM Set FINISH to (I-1) If (FINISH - START) > 1 goto LOOP If TABLE(START)=ITEM goto FOUND If TABLE(FINISH) = ITEM goto FOUND Set FLAG to 0 Goto DONE FOUND: Set FLAG to 1 DONE:Exit

1. 画出程序流图和N-S盒图。

2.此程序的功能是什么?

在TABLE中用二分法查找已知数ITEM。

五、综合题(三题分别5,7,8分,共20分)

1.某培训中心要研制一个计算机管理系统。它的业务是: 将学员发来的信件收集分类后,按几种不同的情况处理。

如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,

6

检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。

如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。

3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。 要求:

(1).对以上问题画出功能级数据流程图。

(2).画出该培训管理的软件结构图。

2.某旅馆的电话服务如下:

可以拨分机号和外线号码。分机号是从7201至7299。外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,466,888, 552中任意一个号码。分局号是任意长度为4的数字串。

要求:写出在数据字典中,电话号码的数据条目的定义即组成。

电话号码=分机号|外线号码 分机号=7201...7299

外线号码=9+[市话号码|长话号码]

7

长话号码=区号+市话号码 区号=100...300

市话号码=局号+分局号

局号=[455|466|888|552] 分局号=4{数字}4

3. 软件测试的过程包括哪些?黑盒测试与白盒测试的具体内容是什么?它们分别针对哪几类错误?

测试过程包括五大部分,分别为:单元测试、集成测试、确认测试、系统测试、验收测试 黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。

白盒测试[1] 又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。\白盒\法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。

黑盒测试用于发现哪些类型的错误?①功能不符合要求或遗漏②界面错误;③数据结构或外部数据库访问错误;④性能错误;⑤初始化或终止错误。

8

本文来源:https://www.bwwdw.com/article/v0m5.html

Top