当前位置:文档之家› 软件工程复习

软件工程复习

软件工程复习
软件工程复习

第一章软件工程学概述

1.软件危机:是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。包括如何开发软件,如何维护数量不断膨胀的已有软件。

2.软件生命周期的定义及划分

3.软件从定义、开发、使用和维护,直到最终废弃的过程称为生命周期

4.按照软件生命周期全过程应完成的任务性质,在概念上可以把软件生命周期划分成问题定义、可行性研究、需求分析(定义时期)、总体设计、详细设计(系统设计)、编码和单元测试、综合测试以及运行维护(系统实现)共8个阶段

5.最基本的测试是集成测试和验收测试

6.软件配置主要包括:程序+数据+文档

7.软件工程的定义软件工程是把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;并研究其中提到的途径。

8.软件工程的基本原理

1.用分阶段的生命周期计划严格管理

2.坚持进行阶段评审

3.实行严格的产品控制

4.采用现代程序设计技术

5.结果应能清楚地审查

6.开发小组的人员应该小而精

7.承认不断改进软件工程实践的必要性

9.软件工程方法学包含3要素:方法、工具和过程。

分成传统方法学和面向对象方法学,其中传统方法学采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务。

10.软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定各项任务的工作步骤(who,when,what,how)

11.软件过程模型有瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型

12.瀑布模型优点

1.阶段间具有顺序性和依赖性

2.推迟实现的观点

3.质量保证的观点

13.软件工程由方法、(工具)和过程三部分组成,称软件工程的三要素。

14.从工程管理的角度软件设计可分为概要设计和(详细)设计两大步骤。

15.基于计算机系统的软件要素中的软件由程序、数据和(文档)组成。

16.软件设计也可看作将需求规格说明逐步转换为软件源代码的过程。()

17.软件生存周期(名词解释)软件从定义、开发、使用和维护,直到最终废弃的过程称为生命周期

18.软件危机(名词解释)是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题

原型法模型一般适应哪些场合?

它适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些项目组成员(包括分析员、设计员、程序员和用户)不能很好交流或通信有困难的情况。

瀑布模型一般适应哪些场合?

瀑布模型一般适用于功能、性能明确、完整、无重大变化的软件系统的开发。例如操作系统、编译系统、数据库管理系统等系统软件的开发。应用有一定的局限性。

第二章可行性研究

1.可行性研究的目的,就是用最小的代价尽可能短的时间内确定问题是否能够解决

2.至少包含下述3个方面:

1.技术可行性

2.经济可行性

3.操作可行性

3.数据流图的用途

1.交流信息的工具

2.作为分析与设计的工具

4.数据字典的内容由4类元素组成

1.数据流

2.数据流分量(即数据元素)

3.数据存储

4.处理

5..系统流程图是物理系统模型

数据流图和数据字典是系统逻辑模型

5.成本/效益分析的方法:1.货币的时间价值,2投资回收期3纯收入4投资回收率

6.数据字典:是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合.

第三章需求分析

1.需求分析是软件定义时期的最后一个阶段,它的基本任务是准备地回答“系统必须做什么”这个问题

2.需求分析的任务

1.确定对系统的综合要求

2.分析系统的数据要求

3.导出系统的逻辑模型

4.修正系统开发计划

3.需求分析的结果是软件需求规格说明书

4.需求分析的方法

1.访谈

2.面向数据流自顶向下求精

3.简易的应用规格说明技术

4.快速建立软件原型,

5…实践表明,快速建立软件原型是最准确、最有效和最强大的需求分析技术

6需求分析建模的工具

1.E-R图

2.层次方框图,描绘数据的层次结构

3.Warnier图

4.IPO图

7.验证软件需求应该从下面4个方面验证

1.一致性

2.完整性

3.现实性

4.有效性

第五章总体设计

1.总体设计的基本目的就是回答“概括地说,系统该如何实现?”

2.总体设计也称概要设计或初步设计

3.总体设计的重要任务

1.划分系统元素和边界

2.设计软件的结构,即系统的模块组成和模块间的关系。

4.总体设计通常由两个阶段组成:

系统设计阶段,确定系统的具体实现方案

结构设计阶段,确定软件结构

5.模块是构成程序的基本构件。

6.模块化就是把程序分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户需求

7.模块化的根据就是分解复杂的问题容易解决

8.软件设计原理

1.模块化

2.抽象

3.逐步求精

4.信息隐藏和局部化

5.模块独立

9.模块设计的原则是高内聚,低耦合

耦合是衡量不同模块彼此间互相依赖的紧密程度

内聚是衡量一个模块内部各个元素彼此结合的紧密程度

10.耦合的类型及设计原则:尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合

内聚:使用功能内聚和顺序内聚

11.设计的启发式规则

1.提高独立性

2.模块适中

3.深度、宽度、扇入和扇出适当

4.模块作用域应该在控制域之内

5.降低模块接口的复杂度

6.设计单入口单出口的模块

7.模块功能可以预测

12.据流的设计方法的两种不同类型的设计:变换分析和事务分析

优化方法的格言:先使它能工作,然后再使它快起来

第六章详细设计

设计阶段的根本目录是确定应该怎样具体地实质所要求的系统。

详细设计不是编码,而是设计出程序的“蓝图”

结构程序设计最早由Dijkstra提出

只要3种基本的控制结构就能实现任何单入口单出口的程序,这3种基本的控制结构是“顺序”、“选择”和“循环”

1.程序设计的经典定义:如果一个程序的代码块仅仅透过顺序、选择和循环这3中基本控制结构进行连接,并且每

个代码块只有一个入口和一个出口,则称这个程序是结构化的

结构程序设计是尽可能少用GOTO语句的程序设计方法,最好仅在检测出错误时才使用GOTO语句,而且应该总是使用前向GOTO语句

人机界面的设计质量,直接影响用户对软件产品的评价

设计人机界面总会遇到下述四个问题:

1.系统响应时间

2.用户帮助设备

3.出错信息处理

4.命令交互

人机界面设计指南:

1.置用户于控制之下

2.减少用户的记忆负担

3.保持界面一致

判定表可用作软件测试

Jackson图包含3类逻辑数据结构,顺序结构,选择结构,重复结构

第七章实现

通常把编码和测试统称为实现

编码就是把软件设计结构翻译成某种程序设计语言书写的程序

测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误

软件测试的工作量往往占软件开发总工作量的40%以上

调试是测试阶段最困难的工作

G.Myers测试的目标或定义:

1.测试是为了发现程序中的错误而执行程序的过程

2.好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案

3.成功的测试是发现了至今为止尚未发现的错误的测试

软件测试准则

1.所有测试都应该能追溯到用户需求

2.应该远在测试开始之前就制定出测试计划

3.把Pareto原理应用到软件测试中

4.应该从“小规模”测试开始,并逐步进行“大规模”测试【(80\20)测试发现的错误80%很可能是由程序中20%

的模块造成的】

5.穷举测试是不可能的

6.第三方测试(A编写,B测试)

V字型模型

测试分为白盒测试(结构测试)和黑盒测试(功能测试)

具体的测试方法{【(测试用例)()】【(覆盖条件)()】}

测试步骤:1.模块测试.2子系统测试3.系统测试4.验收测试 5.平行运行

软件可靠性:是程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率

软件可用性:是程序在给定的时间点,按照规格说明书的规定,成功地运行的概率

第八章维护

软件工程的主要目的是提高软件的可维护性,减少软件维护所需要的工作量,降低软件系统的总成本

所谓维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。

四类维护

1.改正性维护纠正使用过程中暴露出来的错误

2.适应性维护适应外部环境变化

3.完善性维护改进原有软件

4.预防性维护改进将来的可维护性和可靠性

软件维护的特点

1.结构化维护与非结构化维护差别巨大

2.维护的代价高昂

3.维护的问题很多

决定软件可维护性的因素

1.可理解性

2.可测试性

3.可修改性

4.可移植性

5.可重用性

文档是影响软件可维护性的决定因素

软件系统的文档可以分为用户文档和系统文档两类

1.用户文档主要描述系统功能和使用方法

2.系统文档指从问题定义,需求说明验收测试计划这样一系列实现有关的文档

Miller:“把今天的方法学应用到昨天的系统上,以支持明天的需求。”

软件工程期末复习

软件工程期末复习 一、选择题 1、软件工程的研究者将软件开发和维护过程概括为(c)大活动。 A.5 B.7 C.8 D.3 2、(a)是职业软件工程师的必要条件。 A.自律、善于沟通、具有一定的软件技能 B.编程速度快 C.熟悉众多的软件环境 D.语言天赋 3、计算机病毒是指(b)。 A.计算机系统的漏洞 B. 一组自我复制和自动执行的具有 破坏能力的代码 C.一种细菌 D. 程序中的BUG 4、软件需求具有(d)。 A.主观性 B.不确定性 C.多变性 D.以上全部 5、描述软件需求通常不用哪个工具(c)。 A.数据流程图 B.数据字典 C.模块结构图 D.E-R图 6、软件结构图中没有(d)元素。 A.模块 B.调用参数 C.返回结果 D.判断 7、程序流程图与数据流程图的关系(a)。 A.不确定 B.数据流程图可以转换成程序流程图 C.数据调用关系 D.程序流程图可以转换成数据流程图 8、包含关系用于构造多个用例(b)。 A. 关系 B.共性的部分 C.角色 D.特殊活动 9、如果说用例F被用例T扩展,意思是(a)。 A.F是一个一般用例,T是一个特殊用例 B.F是一个特殊用户,T是一个一般用例 C.都是一般用例 D.都是特殊用例 10、用(c)对需要长久保存的信息进行建模。 A.实体类 B.数据库表 C.E-R图 D.对象类 11、美国卡内基﹒梅隆大学制定的SW-CMM是(c)。 A.软件工作规范 B.软件工作流描述 C.软件成熟度模型 D.软件描述的一般方法 12、螺旋模型是一种将(d)结合起来的软件开发模型。 A.原型化模型和增量模型 B.风险判断和瀑布模型 C.瀑布模型和原型化模型 D.瀑布模型和增量模型 13可行性研究的四大要素是(a)。 A.经济、技术、法律和社会环境 B.经济、技术、开发组织能力和领导者水平 C.经济、技术、计算机硬件环境和网络带宽 D.经济、技术、软件开发工具和人员的稳定性 14、软件调研报告是在(b)提交的。 A. 可行性分析之前 B. 需求分析之前 C.签合同之前 D. 设计的时候 15、系统流程图的主要作用(a). A.描述系统的物理模型 B.业务流程 C.系统处理过程 D. 数据处理过程 16、PDL是一种(d)语言。 A.低级程序设计语言 B.建模语言 C.高级程序设计语言 D.过程设计语言 17、结构化设计方法划分模块的原则是(c)。 A.模块扇出小于5 B.模块扇入小于5 C.低耦合,高内聚 D.模块深度小于7 18、配置视图体现了系统的实现环境,反映系统的(b)。 A. 逻辑架构 B. 物理架构 C.组成结构 D.体系结构 19、角色可以有四种类型:系统的使用者,硬件设备,外部系统和(d)。 A.数据库 B.接口 C.对象 D. 时间 20、功能模型用于表达系统的需求,为软件的进一步分析和设计打下基础。在面向对象方法中,由(c )实现。 A. 场景描述 B.活动图和场景描述 C. 用例图和场景描述 D.交互图和场景描述 21、下面的哪个选项不是软件工程的宗旨(b)。 A.开发满足用户需求的软件 B.研究算法 C.及时交付软 件 D.生产无故障软件 22、针对需求不确定的软件开发,比较好的模型是(a)。 A. 快速原型化模型 B. 瀑布模型 C.软件成熟度模型 D.系统化模型 23、可行性分析研究的费用大约是项目总经费的(b)。 A.2% B.6% C.20% D.5‰ 24、业务需求描述的是(d)。 A.功能需求 B.用户需求 C.用户的具体业务流程 D.软件的目标、规模和范围 25、一个数据流程图中的图形符号有且仅有(c)种。 A.3 B.5 C.4 D.7 26、非直接耦合的模块独立性最强,(a)的模块独立性最弱。A.内容耦合 B.数据耦合 C.控制耦合 D.外部耦合 27、信息隐藏的核心内容是(c)。 A.把数据都放在公共的区域B.数据不能被其他模块访问 C.一个模块的内部信息不允许其他模块直接访问 D.把信息加密,只能让有密钥的模块访问 28、面向过程的方法最关心的是(a),而过程实施的对象是作为过程参数传递的。 A.参数 B.主体 C.过程 D.数据结构 29、(c)用于描述系统的功能集。 A. 组件视图 B.逻辑视图 C. 用例视图 D.对象视图 30、用(d)模型建立系统组织结构。 A.组织 B.CMM C.数据 D.静态 31、对象模型描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。在面向对象方法中,由(b)实现。 A.顺序图 B.类图 C.状态图 D.组件图 32、如果对象之间的耦合是通过(a)来实现的,则这种耦合就是交互耦合。 A.消息机制 B.参数 C.方法 D.公共数据区 33、定义类的属性类型时尽量使用已有类型,太多自定义类型会降低系统的(c)指标。 A.有效性 B.安全性 C. 可维护性 D. 开发效率 34、在设计测试用例时,应该包括(d)测试用例。 A. 可能产生无效输出的输入情况 B.无效的和不期望的输入情况 C.有效的和期望的输入情况 D.上面所有情况 35、(b)属于功能测试方法。 A.等价类划分和判定覆盖 B.边值分析和等价类划分 C.边值分析和判定覆盖 D.判定覆盖和回归测试 36、一个软件项目大约(a)的工作量在开发阶段,()的工作量在维护阶段。 A.30%,70% B. 70%,30% C. 30%,30% D. 70%,70% 37、软件项目管理的内容不包括(b)。 A.人员的组织与管理 B. 技术和算法 C.软件配置管理 D.软件开发进度计划 38、通俗的说,软件项目管理中常说的基线是(d)。 A.管理的基本思路 B. 一种软件开发的基本策略 C.基本的技术路线 D. 通过正式复审的文档 39、科学计算领域一般选择(b)语言。 A.HTML B.C C.汇编语言 D.XML 40对于嵌套的循环和分支程序,层次不要超过(c)层。 A.1 B.2 C.3 D.5 41、在分析模型内表示协调、顺序、事务处理以及控制其他对象的类是(a)。 A.控制类 B.组件类 C.主函数 D.事务类 42、继承耦合是(b)之间的一种关联形式,设计时应该适当使用这种耦合。 A. 虚类与实体类 B. 一般化类与特殊化类 C.控制类与界面类 D.数据类与处理类 43、构架设计的主要目的是(d),这项工作由经验丰富的构架设计师主持完成。 A.类图 B.确定系统数据结构 C.处理流程 D. 确定系统总体结构 44、测试用例是一组(a)。 A.测试用的输入数据以及对应的预期结果 B.测试驱动程序 C.测试数据 D.测试程序及数据 45、由于面向对象中的继承和消息机制,使得软件测试(b)。 A.更加简单 B.更加复杂 C.没变 D.不确定 46、软件维护过程中产生的副作用,一般是由(b)引起的。 A.算法说明 B.修改程序 C.优先级 D.环境要求 47、项目计划活动的主要任务是(d)。 A.估算项目的进度 B.分配工作量 C.计划资源使用 D.以上全部 48、如果程序代码的(c)好,则调试的成本就可以大幅度降低。 A.性能比 B. 可扩充性 C. 可读性 D.可移植性 49、两个浮点数X0和X1比较相等时,应该用(c)比较。 A.X0==X1 B.X1-X0<ε C. |X0-X1|<ε D.X0=X1 50、瀑布模型存在的问题是(d )。 A.用户容易参与开发B.适用可变需求 C.用户与开发者易沟通 D.缺乏灵活性 51、( b)不是分析建模的目的。 A. 定义可验证的软件需求 B. 开发一个简单的问题解决方案 C. 描述客户需求 D. 建立软件设计的基础 52、对用例进行设计,发现实现用例功能的(d),确定类之间的关系。 A. 算法 B.业务流程 C.数据结构 D. 关键类 53、框架是一组可用于不同应用的(a)的集合。 A.类 B.数据结构 C.函数 D.过程

北京邮电大学网络教育学院-软件工程综合练习题及解答

《软件工程》综合练习题 第一章 一、单项选择题 1、软件是一种逻辑产品,软件产品具有无形性,它是通过()体现它的功能和作用的。 A、复制 B、计算机的执行 C、开发和研制 D、软件费用 2、同一软件的大量软件产品的生产主要是通过()而得到 A、研究 B、复制 C、开发 D、研制 3、作坊式小团体合作生产方式的时代是()时代。 A、程序设计 B、软件生产自动化 C、程序系统 D、软件工程 4、软件工程是计算机科学中的一个分支,其主要思想是在软件生产中用()的方法代替传统手工方法。 A、工程化 B、现代化 C、科学 D、智能化 5、软件工程与计算机科学性质不同,软件工程着重于() A、理论研究 B、原理探讨 C、如何建造软件系统 D、原理的理论 6、将每个模块的控制结构转换成计算机可接受的程序代码是()阶段的任务。 A、编码 B、需求分析 C、详细设计 D、测试 7、软件工程要用()的方法建立软件开发中的各种模式和各种算法 A、管理 B、工程 C、数学 D、计算机 8、软件开发费用只占整个软件系统费用的() A、1/2 B、1/3 C、1/4 D、2/3 9、软件开发中大约要付出()%的工作量进行测试和排错 A、20 B、30 C、40 D、50 10、()方法是一种面向数据结构的开发方法。 A、结构化 B、Jackson C、维也纳开发 D、面向对象开发 11、准确地解决“软件系统必须做什么”是()阶段的任务: A、可行性研究 B、需求分析 C、详细设计 D、编码 12、软件生存周期中时间最长的是()阶段 A、需求分析 B、概要设计 C、测试 D、维护 13、()方法是以数据结构为驱动的、适合于小规模的项目。 A、JSP B、JSD C、VDM D、Jackson 14、软件是一种()产品

软件工程专业基础综合

《软件工程专业基础综合》考试大纲 第一部分数据结构与算法 考试题型:问答、分析、编程 总分:60分 一、栈(Stack)、队列(Queue)和向量(Vector) 内容: 单链表,双向链表,环形链表,带哨兵节点的链表; 栈的基本概念和性质,栈ADT及其顺序,链接实现;栈的应用;栈与递归; 队列的基本概念和性质,队列ADT及其顺序,链接实现; 队列的应用; 向量基本概念和性质;向量ADT及其数组、链接实现; 二、树 内容: 树的基本概念和术语;树的前序,中序,后序,层次序遍历; 二叉树及其性质;普通树与二叉树的转换; 树的存储结构,标准形式; 完全树(complete tree)的数组形式存储; 树的应用,Huffman树的定义与应用; 三、查找(search) 内容: 查找的基本概念;对线性关系结构的查找,顺序查找,二分查找; Hash查找法,常见的Hash函数(直接定址法,随机数法), hash冲突的概念, 解决冲突的方法(开散列方法/拉链法,闭散列方法/开址定址法),二次聚集现象; BST树定义,性质,ADT及其实现,BST树查找,插入,删除算法;

平衡树 (AVL) 的定义,性质,ADT及其实现,平衡树查找,插入算法,平衡因子的概念; 优先队列与堆,堆的定义,堆的生成,调整算法;范围查询; 四、排序 内容: 排序基本概念;插入排序,希尔排序,选择排序,快速排序,合并排序,基数排序等排序算法基本思想,算法代码及 基本的时间复杂度分析 五、图 内容:图的基本概念;图的存储结构,邻接矩阵,邻接表;图的遍历,广度度优先遍历和深度优先遍历;最小生成树基本概念, Prim算法,Kruskal算法;最短路径问题,广度优先遍历算法,Dijkstra算法,Floyd算法;拓扑排序 第二部分计算机系统基础 考试题型:问答、分析、编程 总分:40分 一、处理器体系结构 内容:CPU中的时序电路、单周期处理器的设计、流水线处理器的基本原理、Data Hazard的处理、流水线设计中的其他问题 二、优化程序性能 内容:优化程序性能、优化编译器的能力和局限性以及表示程序性能、特定体系结构或应用特性的性能优化、限制因素、确认和消除性能瓶颈 三、存储器结构及虚拟存储器 内容:局部性、存储器层级结构、计算机高速缓存器原理、高速缓存对性能的影响、地址空间、虚拟存储器、虚拟内存的管理、翻译和映射、TLB、动态存储器分配和垃圾收集 四、链接、进程及并发编程

软件工程复习提纲(20160615)

软件工程复习提纲 Chapter1 1.开发文档都有哪些?用图来表示它们之间的关系。 2.说明软件工程研究的内容。 3.软件工程的7条基本原理有何现实意义。 4.怎样理解ISO9000的文档体系?质量手册、程序文件、质量记录三者有何联系和区别? 5.怎样理解CMMI,如何用CMMI去管理软件企业? 6.是否存在这一种现象:搞系统软件的公司不需要采用CMMI和ISO9000模式?CMMI和ISO9000 模式只适用于搞应用软件的企业?如果是,为什么,如果不是,又为什么? 7.软件工程与信息系统工程有何异同? 8.怎样理解元数据? Chapter2 1.为什么要选择软件开发模型?软件开发模型与软件生存周期有什么关系? 2.简述瀑布模型、增量模型、迭代模型、原型模型的优缺点。 3.软件公司的ISO9000或CMM管理体系与软件开发模型有关吗,为什么? 4.你对“生存周期模型裁剪指南”有什么看法? 5.“图书馆信息系统”的开发选用什么开发模型合适? Chapter3 1.立项的具体表现形式是什么? 2.立项建议书的编制者为什么主要是软件公司的市场销售人员,而不是开发人员? 3.什么叫风险分析,技能风险与技术风险有何区别? 3.合同、任务书、立项建议书三者有何异同?有何关系? 4.对软件项目和产品的“功能、性能、接口”三项指标如何理解? Chapter4 1.需求分析的目的是什么,需求分析的难点在哪里? 2.需求分析的理论基础有哪几条? 3.为什么说需求分析是面向流程的? 4.解释术语:元数据、实体、中间数据。 5.用户需求报告与需求规格书有何差异? 6.需求描述有哪几种工具?你喜欢哪一种,为什么?

软件工程综合练习题

《软件工程》课程练习题 第一章软件工程概述 一、选择题 1、瀑布模型本质上是一种()。 A、线性迭代模型 B、顺序迭代模型 C、线性顺序模型 D、及早见产品模型 2、计算机辅助软件工程,简称()。 A、SA B、SD C、SC D、CASE 3、以下判断正确的是()。 A、所谓软件开发就是编写程序。 B、利用软件工程的思想,已成功的解决了软件危机。 C、完成软件测试工作以后,为了缩短程序的长度应删除程序中的注释。 D、一般来说,程序中存在错误的概率与在该段程序中已发现的错误数成正比。 4、_____是以提高软件质量为目的的技术活动。 A.技术创新 B.测试 C.技术创造 D.技术评审 5、瀑布模型的存在问题是()。 A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 6、软件生命周期中所花费用最多的阶段是()。 A.详细设计 B.软件编码 C.软件测试 D.软件维护 7、计算机系统就是() A.主机,显示器,硬盘,软驱,打印机等。 B.CPU,存储器,控制器,I/O接口及设备。 C.计算机硬件系统和软件系统。 D.计算机及其应用系统。 8、产生软件危机的原因主要与两个方面的问题有关: A.软件在计算机中很难识别,存在磁盘中也看不到。

B.软件设计对人的智商要求很高,也要求很高的资金投入。 C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。 D.软件很难理解,硬件也很复杂。 9、软件开发瀑布模型中的软件定义时期各个阶段依次是() A.可行性研究,问题定义,需求分析。 B.问题定义,可行性研究,需求分析。 C.可行性研究,需求分析,问题定义。 D.以上顺序都不对。 10、下列选项中()是软件开发中存在不正确的观念、方法。 A.重编程、轻需求 B.重开发,轻维护 C.重技术,轻管理 D.以上三条都是 二、填空题 1、软件工程的三个基本要素包括()、()和()。 2、一般软件应该有三部分组成:()、()和()。 3、按软件的功能可将软件分成()、()和()等三类。 4、计算机软件的生存期可以分为六个步骤,它们是()、()()、()、软件测试和运行/维护。 5、软件质量是与软件产品满足规定的和隐含的需求的能力有关的()的全体。 6、软件危机是指在()所遇到的一系列严重问题。 7、程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,软件工程时代的生产方式是()。 8、喷泉模型是一种以需求分析为动力,以()为驱动的模型。 三、名词解释 1、CASE 2、软件工程 3、计算机软件 2、软件生存期 四、简答题 1、什么是软件危机?其主要表现有那些? 2、程序的可移植性 3、为什么说“CASE领域是一个应用、集成和综合的领域”?

西安交通大学软件工程综合训练期末考试高分题库全集含答案

49162--西安交通大学软件工程综合训练期末备考题库49162奥鹏期末考试题库合集 单选题: (1)在Project 2003中输入新任务的时候,所有的任务起始日期默认都是项目的开始日期,工期为()天 A.0 B.1 C.2 D.3 正确答案:B (2)下列哪一项不是项目组分配角色项() A.项目组长 B.开发人员 C.测试人员 D.管理人员 正确答案:D (3)下列哪一项不属于保密级别() A.普通 B.加密 C.保密 D.机密 正确答案:B

(4)函数规模应在()行以内 A.100 B.200 C.300 D.400 正确答案:B (5)下列()不是任务之间的相关性关系 A.FS B.FD C.SS D.SF 正确答案:B (6)需求优先级:分为1-5个级别,()是最最级别,在项目开发过程中要最先实现 A.2 B.3 C.4 D.5 正确答案:D (7)软件需求规格说明书的内容不应该包括( ) A.对重要功能的描述 B.对算法的详细过程描述 C.对数据的要求

D.软件的性能 正确答案:B (8)基线可作为软件生存期中各开发阶段的一个检查点。当采用的基线发生错误时,可以返回到最近和最恰当的( )上 A.配置项 B.程序 C.基线 D.过程 正确答案:C (9)软件的集成测试工作最好由( )承担,以提高集成测试的效果。 A.该软件的设计人员 B.该软件开发组的负责人 C.该软件的编程人员 D.不属于该软件开发组的软件设计人员 正确答案:D (10)模板文件的后缀名是() A.*.mpt B.*.pro C.*.dot D.*.xls 正确答案:A (11)程序模块要采用缩进风格编写,缩进的空格数为()个。

电子科技大学2018年《软件工程学科基础综合 》硕士研究生考研大纲_电子科技大学考研网

电子科技大学2018年《软件工程学科基础综合》硕士研究生考研大 纲 考试科目860软件工程学科基础综合考试形式笔试(闭卷) 考试时间180分钟考试总分150分 一、总体要求 《软件工程学科基础综合》包括《软件工程》和《网络技术》两门课程,其中《软件工程》要 求考生了解软件工程的基本知识和方法,熟悉软件工程的主要环节,掌握最基础的软件工程理论方法,并能应用到实际的软件项目开发中。《网络技术》要求学生掌握计算机网络的基本概念、基本原理和基本方法;掌握计算机网络的体系结构和典型网络协议,了解典型网络设备的组成和特点,理解典型网络设备的工作原理;能够运用计算机网络的基本概念、基本原理和基本方法进行网络系统的分析、设计和应用。两门课程各占总分的50%。 二、内容 《软件工程》考试内容如下: 1.基本概念 重点是软件的特性、软件工程学的研究范畴,以及学习软件工程的意义。掌握软件的概念、特 点和软件工程的基本特征;理解为什么学习软件工程、如何学习。主要知识点: 1)软件的概念和特点 2)软件危机的概念和产生的原因 3)软件工程的定义、三要素和发展过程 2.过程模型 重点是各种实用的软件过程模型,以及不同过程模型的特点比较。掌握几种典型模型的优缺点 和能依据项目特征选择使用不同的模型;理解为什么有不同的模型、不同模型的特征。主要知识点: 1)软件生命周期概念、软件过程概念、能力成熟度模型CMM概念 2)常见的几种软件过程模型:瀑布、增量、原型、螺旋、喷泉等,比较各自优缺点 3.需求分析 重点是需求分析的一般步骤、数据流图、用例图、活动图、需求规格说明文档的编制。掌握结 构化分析模型的导出、数据流图/用例图/活动图的基本画法和需求规格说明文档的编制;理解需求分析的过程、主要步骤。主要知识点: 1)需求分析的概念 2)需求分析的过程:需求确认与需求变更 3)需求确认的步骤:需求获取→需求提炼→需求描述→需求验证 4)需求分析三类建模:功能模型、数据模型、行为模型。面向过程和面向对象的需求分析过 程中,三类模型各包含哪些内容? 5)掌握数据流图和用例图作法。 4.系统设计 重点是面向数据流的设计方法、面向对象的设计方法、过程设计的常用工具。掌握软件设计的 主要技术、主要内容和主要方法,能根据具体项目进行模块划分和软件架构设计;理解软件设计和需求分析之间的相互关系。主要知识点: 1)系统设计分为概要设计和详细设计 2)与设计相关的8个概念:抽象、体系结构、设计模式、模块化、信息隐藏、功能独立、细 化、重构。其中,着重考察体系结构、模块化、信息隐藏、功能独立。

软件工程期末复习知识点整理

复习整理 、绪论 1. 软件的定义 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。(软件=程序+文档) 2.软件工程的定义 是指导计算机软件开发和维护的一门工程学科;采用工程化的原理与方法对软件进行计划、开发和维护;把证明正 确的管理技术和最好技术综合运用到软件开发中;研究经济地开发岀高质量的软件方法和技术;研究有效维护软件 的方法和技术。 3.软件危机的概念,及出现的原因 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。 产生原因: ⑴软件规模越来越大,结构越来越复杂 ⑵软件开发管理困难而复杂。 ⑶软件开发费用不断增加。 ⑷软件开发技术落后。 ⑸生产方式落后,仍采用手工方式。 ⑹开发工具落后,生产率提高缓慢。 4.三种编程范型的特点 (1)过程式编程范型:把程序理解为一组被动的数据和一组能动的过程所构成;程序=数据结构 +算法;着眼于程序的过程和基本控制结构,粒度最小 (2)面向对象编程范型:数据及其操作被封装在对象中;程序=对象+消息;着眼于程序中的对 象,粒度比较大 (3)基于构件技术的编程范型:构件是通用的、可复用的对象类;程序=构件+架构;眼于适合 整个领域的类对象,粒度最大 二、软件生存周期与软件过程 1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么,有哪几个主要活动 定义:一个软件从开始立项起,到废弃不用止,统称为软件的生存周期 目的:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段, 给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得较易控制和管理。 主要活动:需求分析、软件分析、软件设计、编码、软件测试、运行维护( P19) 2、软件生命周期划分为哪几个阶段 软件生命周期分为三个时期八个阶段: 软件定义:问题定义、可行性研究; 软件开发:需求分析、概要设计、详细设计、编码、测试; 软件运行:软件维护

18春西交《软件工程综合训练》在线作业

(单选题) 1: 在()菜单上点击“工具栏”菜单项,再选择“PERT 分析”,将出现“PERT 分析”工具栏。. A: 视图 B: 编辑 C: 格式 D: 插入 正确答案: (单选题) 2: 对用例不需要在()处打对钩,其中打对钩用例的UUCW会自动计算得出 A: 简单 B: 普通 C: 一般 D: 复杂 正确答案: (单选题) 3: 软件工程管理是( )一切活动的管理。 A: 需求分析 B: 软件设计过程 C: 模块设计 D: 软件生命期 正确答案: (单选题) 4: 软件测试是软件质量保证的主要手段之一,测试的费用已超过( )的30%以上,因此提高测试的有效性非常重要。 A: 软件开发费用 B: 软件维护费用 C: 软件开发和维护费用 D: 软件研制费用 正确答案: (单选题) 5: 删除任务的操作方法可按()键。. A: Delete B: Ctrl C: Shift D: Alt 正确答案: (单选题) 6: 在Project2003中工期后面的()表示为估计工期 A: ? B: * C: % D: & 正确答案: (单选题) 7: 用户需求变更标识分为四种情况,不包括下列() A: 增加 B: 更新 C: 删除 D: 修改 正确答案: (单选题) 8: Project 提供最佳的弹性,以下说法中错误的是() A: 完成…开始地基要先建好才可以盖房子 B: 开始…开始所有长官都到齐后才进行会议 C: 完成…完成所有必要文件都备齐后才能结案 D: 开始…完成地基要先建好才可以盖房子 正确答案: (单选题) 9: 程序模块要采用缩进风格编写,缩进的空格数为()个。 A: 1 B: 2

软件工程复习知识点

1.软件危机的概念,内容,原因及消除的途径;软件危机的概念: 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。概括地说,软件危机包含两方面问题: 如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。软件危机产生的原因: 软件本身的复杂性、难衡量的特点; 2. 软件开发与维护的方法不正确。消除软件危机的途径: (1)对计算机软件应当有一个正确的认识; (2)应当有组织、有计划、通过严格的管理手段进行软件的开发; (3)及时总结软件开发的成功技术和方法并加以推广; (4)开发和使用更好的软件工具; 总之,为了解决软件危机,既要有技术措施,又要有必要的组织管理措施。 2.软件工程的定义,基本原理;定义:软件工程是指导计算机软件开发和维护的一门工程学科。基本原理:软件工程的7 条基本原理: (1)用分阶段的生命周期计划严格管理 (2)坚持进行阶段评审 (3)实行严格的产品控制 (4)采用现代程序设计技术 (5)结果应能清楚地审查 6)开发小组的人员应该少而精 7) 承认不断改进软件工程实践的必要性 3.软件工程方法学的基本概念、内容;基本概念:把在软件生命周期全过程中使用的一

整套开发和管理技术方法的集合成为软件工程方法学,也称为范型。软件工程方法学包含3 个要素:方法、工具和过程。 内容:目前使用得最广泛地软件工程方法学,分别是传统方法学和面向对象方法学。传统方法学也称为生命周期方法学或结构化范型。 4.软件生命周期的具体内容,每一个阶段的任务是什么?结合具体的工程例子来理解做 软件项目主要分那几个个阶段。 ①问题定义:确定要求解决的问题是什么 ②可行性研究:决定该问题是否存在一个可行的解决办法 ③需求分析:深入了解用户的要求,在要幵发的目标系统必须做什么问题和用户取得完全一致的看法。 ④概要设计:概括回答怎样实现目标系统。概要设计又叫逻辑设计、总体设计、高层设计。 ⑤详细设计:把解法具体化,设计出程序的详细规格说明。详细设计也叫模块设计、底层设计。 ⑥编码和单元测试:编写程序的工作量只占软件幵发全部工作量的10沧20%。 ⑦综合测试:软件测试的工作量通常占软件幵发全部工作量的40沧50%。 ⑧软件维护:软件维护的费用通常占软件总费用的55 %-70% ①②③为软件定义时期,④⑤⑥⑦为软件幵发阶段。④⑤为系统设计,⑥⑦为系统实现。 5.理解几个典型软件过程的内容及其优点与缺点:瀑布模型、增量模型、快速原型模型、 螺旋模型、喷泉模型等;瀑布模型内容:瀑布模型是带“反馈环”的。优点:(1)可强迫开发人员采用的规范的方法(结构化技术)。 (2)严格地规定了每个阶段必须提交的文档。

软件工程综合应用复习

8..什么是模块的控制域?什么是模块的作用域?并对比分析题32图中3个模块结构图的优劣。 说明:图中的菱形块代表判定所在的位置,灰色的模块为受该判定影响的模块。 模块的控制域:这个模块本身以及所有直接或间接从属它的模块的集合。 模块的作用域:受该模块内一个判断所影响的所有模块的集合。 原则:尽量使模块的作用域在其控制域内。 从题32图中可以看出,A、B中由于模块D和TOP的作用域超出了其控制域。 C中,模块D的作用域在其控制域内,是最好的模块结构。 1.一个简化的机票销售系统需求描述如下: 售票员根据旅客需要的航班,首先查询有无该航班机票。若有,则负责录入旅客的基本信息,并将指定的机票标志设置为售出;售票部经理可随时查询每一个航班的售票情况,并在当日结算时能计算出日营业额。 请画出该系统的0层DFD图和1层DFD图(注:1层分解为查询和录入、统计和计算两个处理)。 2.设被测试的程序段为: begin s1; if(x=1)and(y>3) then s2; if(x<2)or(y=2) then s3; s4; end

可供选择的测试用例为: 请分别找出实现语句覆盖、条件覆盖、分支覆盖最少所需的测试用例及其对应的编号。 语句覆盖:A 条件覆盖:A,B,C,D 分支覆盖:A,B 3.是银行活期存取款业务处理系统的数据流图,请根据图示完成以下填空: (1)数据源或数据潭包括:________; (2)加工包括:________; (3)数据存储包括:________; (4)“业务分类”的输入流是:________; (5)“业务分类”的输出流是:________。 4.有一个程序: 输入3个整数ABC,把这3个数看成是一个三角形的3条边。这个程序要输出信息,来说明这个三角形的几种情况:是三边不等的、是等腰的、还是等边的。 请根据给出的说明,用等价类划分法设计该问题的测试用例(要求写出设计过程)。 根据三角形的特点:两边之和大于第三边 有效等价类为:A+B>C且A+C>B且B+C>A 无效等价类为:A+B<=C或A+C<=B或B+C<=A 等腰三角形:存在两边相等 等边三角形:三条边都相等。 测试用例:

软件工程导论第五版复习重点(必考题)

(最后部分为每年必考题) 第一章 1. .软件工程的定义:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。它借鉴传统工程的原则、方法,以提高质量,降低成本为目的. 2. 软件危机的概念:软件危机是指计算机软件的开发和维护过程中所遇到的一系列严重的问题。 3. 产生软件危机的原因:(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。 (2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。 4. 面向对象方法学的四个要点:1.把对象作为融合了数据及在数据上的操作行为的统一的软件构件 2.把所有对象都划分成类3.按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。4.对象彼此间仅能通过发送消息互相联系。 5. 软件生命周期:软件定义(问题定义,可行性研究,需求分析)、软件开发(总体设计,详细设计,编码,单元测试,总体测试)、运行维护(持久地满足用户的需要) 6. 瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型,概念.方法.优缺点.区别。 7. 微软过程把软件生命周期划分为成5个阶段:规划阶段,设计阶段,开发阶段,稳定阶段,发布阶段。 第二章 1.可行性包括:技术可行性,经济可行性,操作可行性。 2. 系统流程图是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形势描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。4. 书库流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只描绘数据在软件中流动和被处理的逻辑过程。数据流图是系统逻辑功能的图形表示。 5. 用系统流程图描绘一个系统时,系统的功能和实现每个功能的具体方案是混在一起的。有数据元素组成的数据的方式只有下述3种基本类型:顺序(即以确定次序连接两个或多个分量)。选择即从两个或多个可能的元素中选取一个重复即把指定的分量重复零次或多次

软件工程期末复习填空题

软件工程填空题 1、软件危机是指在计算机软件的_开发和维护_过程中所遇到的一系列严重问题。 2、软件危机包含下述两个方面的问题:一是 _如何开发软件,以满足对软件日益增长的需求;二是_如何维护数量不断膨胀的已有软件_。 3、软件不同于硬件,它是计算机系统中的_逻辑部件_而不是物理部件。 4、一个软件从定义、开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把这个漫长的时期称为__生命周期__。 5、软件配置主要包括 __程序、文档_和_数据_ 等成分。 6、软件工程学的一个重要目标就是提高软件的 _可维护性、减少 _软件维护_ 的代价。 7、软件工程是指导计算机软件 __软件开发_ 和 __维护_ 的一门工程学科。 8、软件工程包括 _技术_ 和 __管理__ 两方面的内容,是技术与管理紧密结合所形成的工程学科。 9、通常把在软件生命周期全过程中使用的一整套技术方法的集合称为 _方法学_ ,也称为范型。 10、软件工程方法学包含_方法、工具和_过程_ 三个要素。 11、目前使用最广泛的软件工程方法学,分别是 _传统方法学和面向对象方法学 __ 。 12、概括地说,软件生命周期由 _软件定义_ 、 __软件开发_ 和 __运行维护(软件维护)__ 3个时期组成,每个时期又进一步划分为若干个阶段。 13、软件定义时期通常进一步划分为3个阶段,即 _问题定义__ 、 __可行性研究__ 和需求分析。、 14、螺旋模型将 _瀑布、_ 模型和 __快速原型_ 模型结合起来,加入了两种模型均忽略了的风险分析,弥补了这两种模型的不足。 15、瀑布模型 _不能_ 适应需求可变的软件开发,只有到 _开发结束_ 才能见到整个软件系统。 16、可行性研究阶段当从系统逻辑模型出发,探索若干种可供选择的主要解法,对每种解法都应该从 __技术可行性、经济可行性_和 _操作可行性__ 这三个方面研究每种解法的可行性。

软件工程课后习题(含答案)

第一章练习题 一、填空题 1、软件工程三要素是:方法、工具、过程。 2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。 二、名词(术语)解释: 1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。可靠性是衡量软件质量的一个重要目标。 2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。 三、问答题 1、面向对象方法的优点是什么? 答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。 (2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。 2、可视化开发方法的优点有哪些? 答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。 (2)软件开发简单,易学、易上手。 (3)专业或非专业人员都能参与软件开发活动。 第二章练习题 一、填空题: 1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工 程活动。 2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。 3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。 4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。 二、简答题: 1、瀑布模型的优点有哪些? 答:1、强迫开发人员采用规范的技术方法; 2、严格地规定了每个阶段必须提交的文档; 3、每个阶段结束前必须正式进行严格的技术审查和管理复审。 2、瀑布模型的缺点是什么? 答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。 2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。 3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很 难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

软件工程复习题复习重点及答案

软件工程复习重点 一、选择题 1、软件工程三要素是指( B )P8 A、技术、方法和工具 B、方法、工具和过程 C、方法、对象和类 D、过程、模型、方法 2、瀑布模型本质上是一种( A )。P23 A、线性顺序模型 B、顺序迭代模型 C、线性迭代模型 D、及早见产品模型 3、结构化设计是一种应用最广泛的系统设计方法,是以( B )为基础,自顶向下,求精和模块化的过 程。P79 A、数据流 B、数据流图 C、数据库 D、数据结构 4、概要设计的任务是设计系统的( B物理模型)P70 A、逻辑模型 B、物理模型 C、概念模型 D、程序流程图 5、描述软件结构的工具有( A模块结构图) A、模块结构图 B、PAD图 C、数据流程图 D、程序 6、进行需求分析可以使用多种工具,但( C )是不适用的。 A、数据流程图 B、判定表 C、PAD图(详细设计) D、数据字典 7、可行性研究要进行的需求分析和设计应该是( C )。 A、详细的 B、全面的 C、简化的、压缩的 D、彻底的 8、软件生命周期由( C )三个时期组成。 A、概要设计、详细设计和系统实现 B、可行性分析、系统设计和编码 C、定义、开发和运行维护 D、分析、设计和测试 9、以下( D )不是模块。对象是一个实体 A、过程 B、程序 C、函数 D、对象 10、程序流程图、N-S图和PAD图是( B )使用的算法表达工具。 A、设计阶段的概要设计 B、设计阶段的详细设计 C、编码阶段 D、测试阶段 11、一个模块直接控制(调用)的下层模块的数目称为模块的( B扇出)P78 A、扇入数 B、扇出数 C、宽度 D、作用域 12、下列工具哪一个是需求分析阶段常用工具?( D ) A、PAD B、PFD C、N-S D、DFD数据流程图 需求分析常用的是数据流程图和数据字典 13、为了提高测试的效率,应该( D) A、随机地选取测试数据 B、取一切可能的输入数据作为测试数据库 C、在完成编码后制定软件的测试计划 D、选择发现错误可能性大的数据作为测试数据 14、成功的测试是指( B发现程序的错误) A、运行测试实例后未发现错误项 B、发现程序的错误 C、证明程序正确 D、改正程序的错误 15、软件工程中只根据程序的功能说明而不关心程序内部的逻辑结构的测试方法,称为( C黑盒测试)

软件工程期末复习要点归纳总结

第一章软件工程学概论 1、软件危机产生的原因 软件本身的特点:难于维护、逻辑复杂 软件开发与维护的方法不正确:忽略需求分析重要性、轻视软件维护 课本表述: 1、软件不同于硬件,它是计算机中的逻辑部件而不是物理部件 2、软件不同于一般程序,它的一个显著特点是规模庞大,而且程序的复杂性将规模的 增加而呈现指数上升。 3、软件本身特有的特点确实给开发和维护带了一些客观困难 4、软件开发与维护有关的许多错误认识与做法有关(忽略需求分析,轻视软件维护) 5、对用户要求没有完整准确的认识就匆忙开始着手编写程序 6、( 7、在软件不同阶段进行修改需要付出的代价是很不相同的 2、软件危机的表现(什么是软件危机) (1)、成本高: (2)、软件质量得不到保证:软件质量问题导致失败的软件项目非常多 (3)、进度难以控制: ●项目延期比比皆是 ●由于进度问题而取消的软件项目较常见 ●只有一小部分的项目能够按期完成 (4)、维护十分困难: ▼软件维护的多样性 ¥ ▼软件维护的复杂性 ▼软件维护的副作用 3、克服软件危机 (1)、管理的角度: 软件开发过程的研究、文档的标准化以及人员的交流方式等 (2)、软件开发方法的研究 结构化软件开发方法, 面向对象的开发

4、软件工程的定义 概括的说,软件工程师指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 (1)、软件工程就是建立和使用一套合理的工程原理,从而经济地获得可靠的、可以在实际机器上高效运行的软件。 % (2)、①把系统的、规范的、可度量的方法应用于软件开发、运行和维护的过程,也就是把工程应用于软件.②研究①中提到的途径 总之:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。他借鉴传统工程的原理、方法,以提高质量,降低成本为目的。 5、软件工程的本质特性 1、关注与大型程序的构造 2、中心课题是控制复杂度 3、软件经常变化 4、开发软件的效率非常重要 5、和谐的合作是开发软件的关键 6、软件必须有效地支持它的用户 7、在软件工程领域中通常由具有一个文化背景的人替另外一种文化背景的人创造产品 ~ 6、软件工程的基本原理 1、用分阶段的生命周期计划严格管理 2、坚持进行阶段评审 3、实行严格的产品控制 4、采用现代程序设计技术 5、结果应能清楚地审查 6、开发小组应该少而精 7、承认不断改进软件工程实践的必要性 软件工程学包含3个要素:方法、工具和过程

《软件工程》综合练习题

《软件工程》综合练习题 一、选择题 .软件是一种( )产品。 .有形.逻辑.物质.消耗 .与计算机科学的理论研究不同,软件工程是一门( )学科。 .理论性.工程性.原理性.心理性 .软件危机的主要原因有( )。 ①软件本身的特点②用户使用不当③硬件可靠性差④对软件的错误认识⑤缺乏好的开发方法和手段 .③④.①②④.①⑤.①③ .软件工程学科出现的主要原因是( )。 .计算机的发展.其他工程科学的影响.软件危机的出现. 程序设计方法学的影响 .软件工程方法学的研究内容包含软件开发技术和软件工程管理两个方面,其期望达到的最终目标是( )。 .软件开发工程化.消除软件危机.实现软件可重用.程序设计自动化 .软件生存周期模型有多种,下列选项中,( )不是软件生存周期模型。 .螺旋模型.增量模型.功能模型.瀑布模型 .结构化方法和原型化方法是软件开发中常使用的两种基本方法,在实际的应用中,它们之间的关系表现为( )。 .相互排斥.相互补充.交替使用.独立使用 .在软件生存周期的模型中,( )吸收了软件工程“演化”的概念,适合于大型软件的开发。 .喷泉模型.基于知识的模型.变换模.螺旋模型 .瀑布模型是一种( )。 .软件开发方法.软件生存周期.程序设计方法学.软件生存周期模型 .在软件的可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的功能可行性角度考虑的是( ) .经济可行性.技术可行性.操作可行性.法律可行性 .技术可行性要解决( )。 .存在侵权否.成本、效益问题.运行方式可行.技术风险问题 .可行性研究要进行的需求分析和设计应是( )。 .详细的.全面的.简化、压缩的.彻底的 .数据流图是常用的进行软件需求分析的图形工具,其基本符号是( )。 .输入、输出、外部实体和加工.变换、加工、数据流和存储 .加工、数据流、数据存储和外部实体.变换、数据存储、加工和数据流 .系统流程图是描述( )的工具。 .逻辑系统.程序系统.体系结构.物理系统 .下列叙述中,( )是正确的。 ①软件系统中所有的信息流都可以认为是事务流②软件系统中所有的信息流都可以认为是变换流 ③事务分析和变换分析的设计步骤是基本相似的 .①.②.③.②③ .加工是对数据流图中不能再分解的基本加工的精确说明,下述( )是加工的最核心。 .加工顺序.加工逻辑.执行频率.激发条件 .系统定义明确之后,应对系统的可行性进行研究。可行性研究包括( )。 .软件环境可行性、技术可行性、经济可行性、社会可行性 .经济可行性、技术可行性、社会可行性 .经济可行性、社会可行性、系统可行性 .经济可行性、实用性、社会可行性

相关主题
文本预览
相关文档 最新文档