一、 填空题。
1、 对象是抽象的类,类的具体化就是(对象)。
2、 继承性是子类自动共享父类(数据和操作)的机制,这是类之间的一种关系。
3、 面向对象的设计的主要目标是提高(生产效率),提高(质量)和提高(可维护性)。
4、 对象模型描述了系统的(静态结构),它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。
5、 面向对象技术中的“类”,是比较理想的(可重用软构件)。
6、 类的设计过程包括:确定类,确定关联类,确定属性,识别(继承关系)。
7、 面向对象的分析过程主要包括三项内容:(理解)、表达和验证。
二、 判断题。
1、面向对象的的方法是以类作为最基本的元素,它是分析问题解决问题的核心。(×
2、类是指具有相同或相似性质对象的抽象,对象是抽象的类,类的具体化就是对象。(√
3、继承性是父类和子类之间共享数据结构和消息的机制,这是类之间的一种关系。(×
4、多态性增强了软件的灵活性和重用性,允许用更为明确、易懂的方式去建立通用软件, 多态性和继承性相结合使软件具有更广泛的重用性和可扩充性。(×
5、面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的过程。(√
6、面向对象的设计的主要目标是提高生产效率,提高质量和提高可维护性。(√
7、对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。(√
三、多项选择题。
1. 面向对象程序设计的基本机制(abc)。
a) 继承 b) 消息 c) 方法 d) 结构 e)抽象。
2. 下列属于面向对象的要素有(bcd)。
a) 分类性 b) 抽象 c) 共享 d) 封装 e)结构。
3. 下列选项中属于面向对象开发方法的有(acd)。
a) booch b) cad c) coad d) omt
4. 下列属于coad方法中面向对象的分析模型的层次有(ab)。
a) 主题层 b) 对象层 c) 应用层 d) 接口层 e)数据层。
5. 一个类属性依其特征划分,其类型有(abcd)。
a) 描述型 b) 定义型 c) 派生型 d) 参考型 e)应用型。
6. 在进行面向对象分析时,所采用的模型有(abd)。
a) 对象模型 b) 动态模型 c) 静态模型 d) 功能模型 e)接口模型。
7. 状态是对象属性的值的一种抽象,它的性质有(ab)。
a) 时间性 b) 持续性 c) 有序性 d) 有穷性 e)无序性。
答案:1、abc 2、bcd 3、acd 4、ab 5、abcd 6、abd 7、ab
1.瀑布模型的存在问题是( b )
a.用户容易参与开发。
b.缺乏灵活性。
c.用户与开发者易沟通。
d.适用可变需求。
2.程序的三种基本控制结构是( b )
a.过程、子程序和分程序。
b.顺序、选择和重复。
c.递归、堆栈和队列。
d.调用、返回和转移。
3.在详细设计阶段,经常采用的工具有( a )
a.padb.sac.scd.dfd
4.详细设计的结果基本决定了最终程序的( c )
a.**的规模 b.运行速度 c.质量d.可维护性。
5.结构化程序设计主要强调的是( d )
a. 程序的规模。
b. 程序的效率。
c. 程序设计语言的先进性。
d. 程序易读性。
6.需求分析阶段的任务是确定( d )
a. 软件开发方法。
b. 软件开发工具。
c. 软件开发费。
d. 软件系统的功能。
7. 在e-r模型中,包含以下基本成分( c )。
a) 数据、对象、实体。
b) 控制、联系、对象。
c) 实体、联系、属性。
d) 实体、属性、操作。
8.设函数c(x)定义问题x的复杂程序,函数e(x)确定解决问题x需要的工作量(时间)。对于两个问题p1和p2,如果c(p1)>c(p2)显然e(p1)>e(p2),则得出结论e(p1+p2)>e(p1)+e(p2)就是:( a )
a.模块化的根据 b.逐步求精的根据 c.抽象的根据 d.信息隐藏和局部化的根据。
9.面向数据流的设计方法把( d )映射成软件结构。
a.数据流 b.系统结构 c.控制结构 d.信息流。
10.内聚程度最低的是( a )内聚。
a.偶然 b.过程 c.顺序 d.时间。
二、填空题(每空2分,共8分)。
1.软件结构是以模块为基础而组成的一种控制层次结构。
2.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、 判定树 。
3.结构化语言是介于自然语言和形式语言之间的一种半形式语言。
4.若年利率为i,不计复利,n年后可得钱数为f,则现在的价值p= f/(1+(n*i))
四、简答题每小题7分,共14分。
1. 软件生命期各阶段的任务是什么?
答:软件生命期分为7个阶段:
1、问题定义:要解决的问题是什么。
2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性。
3、需求分析:系统必须做什么。
4、总体设计:系统如何实现,包括系统设计和结构设计。
5、详细设计:具体实现设计的系统。
6、实现:编码和测试。
7、运行维护:保证软件正常运行。
2.模块的内聚性包括哪些类型?
答:模块的内聚性包括:
1)偶然内聚。
2)逻辑内聚。
3)时间内聚。
4)通信内聚。
5)顺序内聚。
6)功能内聚。
一、单选题:(20分)
i.块内联系的类型是( c )
a.方式 b.数量。
c.功能性d.作用。
2.条件覆盖的含义是( d )
a.一个条件b.两个条件。
c.多个条件d.所有条件。
3.数据流图的基本组成元素有( b )
a.分析理解b.数据流。
c.基本测试d.数据字典。
4.对象的组合条件是( d )
a.类 b.属性。
c.继承 d.对象。
5.数据流图的基本结构是( d )
a.输入和输出b.输入。
c.输出d.数据流。
6.结构化设计方法采用的是( d )
a. 模块功能 b. 数据库与模块。
c.自顶向下 d.模块化,自顶向下逐步细化。
7.变换分析的功能是( b )
a.设计模块b.从变换结构导出标准结构。
c.顶层设计d.下层设计。
8.软件工程管理的对象是( b )
a.软件开发人员b.软件工程项目。
c.软件开发过程d.软件开发速度。
9.可行性报告中不包括以下哪个方面( c)
a.技术上的可行性b.经济上的可行性。
c.人力的可行性d.以上三项。
10.软件是___a___
a.程序+算法+文档b.数据。
c.逻辑产品 d.程序。
二.填空题(30分)
1.软件生命周期的准备阶段包括:问题的定义、可行性分析、( 需求分析 )。
2.可行性分析的内容包括:( 技术可行性 )、经济可行性、操作可行性和法律可行性。
3.模块独立概念是模块化、抽象、逐步求精和( 信息隐藏 )等概念的直接结果,也是完成有效的模块设计的基本标准。
4.主程序员组由主程序员、( 程序员 )、后备程序员、编程秘书组成。
5.成本/效益分析目的是从( 经济角度 )评价开发一个新的软件项口是否可行。
6.模块是由边界元素限定的( 程序元素 )的序列。
7.模块化就是把程序划分成( 独立命名 )且可独立访问的模块。
8.人类在认识复杂现象的过程中使用的最强有力的思维是( 抽象 )。
9.为了推测出软件中可能有的错误,应仔细。研究分析模型和( 设计模型 )。
10.软件质量是贯穿软件( 生命周期 )的一个极为重要的问题,是软件开发过程中所使用的各种开发技术和验证方法的最终体现。
1、 软件测试的目的是证明软件的正确性。(
2、 为了推测出软件中可能有的错误,应仔细研究分析模型和(设计模型)。
3、下列测试方法中不属于白盒测试技术的是(b c e )。
a.基本路径测试 b.边界值分析测试 c.因果图测试。
d.逻辑覆盖测试 e.等价类划分测试。
4、软件测试的方法有(d)
a. 程序法b. 目测法与程序法
c. 判断法d. 黑盒与白盒测试法。
5、 黑盒测试的功能是什么?功能测试。
6、 软件测试的目的是什么?就是在软件投入运行之前,尽可能多的发现软件中的错误。
1. 软件生命周期一般包括三个时期:软件定义期、软件开发期和软件运行期。下述( d )不是软件开发期所应包含的活动。
a. 可行性分析b. 需求获取和需求建模。
c. 软件体系结构设计和数据设计 d. 软件集成与系统测试。
2. 软件开发方法学应给出的主要内容是( d )。
a. 开发模型b. 测试方法。
c. 开发工具与环境d. 概念与表示、过程与工具。
3. 采用结构化分析方法所建立的系统模型主要捕获了( d )。
a. 过程属性、对象及其关系 b. 数据结构。
c. 对象及其关系、对象行为信息
d. 数据源点和终点、加工、数据流、数据存储以及加工输入、输出之间的逻辑关系。
1. 可行性研究容包括:技术可行性、经济可行性、操作可行性和(法律可行性 )。
2. 瀑布模型是将(生命周期)各活动规定为依线性顺序联接的若干阶段的模型。
3. 模块化就是把程序划分成(独立命名 )且可独立访问的模块。
4. 软件结构是以(模块)为基础而组成的一种控制层次结构。
5. ip0图描述分层图中一个模块的输入、输出和(处理)内容。
6. 成本/效益分析目的是从(经济角度 )评价开发一个新的软件项目是否可行。
7. 结构化设计以(数据流图)为基础映射成软件结构。
8. 人类在认识复杂现象的过程中使用的最强有力的思维工具是(抽象)。
固定存储器又分为内存和硬盘,活动存储器又分为软盘和光盘。建立微机的对象模型。
答案:微机的对象模型如下图所示。
三、名词解释(20分)
1.软件危机。
软件危机是计算机软件开发和维护过程中遇到的一系列严重的问题。
2.数据字典。
数据字典是数据库中所有对象及其关系的信息集合;是一种用户可以访问的记录数据库和应用程序源数据的目录。
3.耦合。耦合是对一个软件结构内不同模块之间互联程度的度量。
4.内聚。内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展。
软件工程复习
单选填空简答思考题。1 传统的软件瀑布生命模型包括哪六个方面?需求 分析 设计 实现 交付后维护 退役2 传统瀑布生命模型的中交付后维护包括哪三种?改正性维护 适应性维护 完善性维护3 现代维护和传统维护的观点有何不同?1 传统维护的观点是先开发后维护。2 现代维护的观点是无论是在软件安装前还是安装...
软件工程复习
软件工程复习资料。备注 1.老师反复强调我们之前做过的作业要熟练掌握 需求陈述 实验课画的模型 自己画。的数据流图 2 蓝颜色的字都是老师上课补充的,还有很多需要自己去补充,欢迎修正完善。核心问题 在考试做大是要表述清楚详细,关。键词要有 问题定义 专用名词表要解决的问题是什么?达要准确,不能更改 ...
软件工程 复习
1.概念 软件危机是指在计算机软件开发 使用与维护过程中遇到的一系列严重问题。2.为什么会产生软件危机?当软件开发技术的进步不能跟上硬件技术的进步,未能满足发展的要求,致使软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。3.软件危机的表现 经费预算经常突破...