1、 2、 3、
软件工程包括软件开发技术和软件工程管理两大部分内容 软件工程包括3个要素:方法、工具、过程
软件生存周期是指一个软件从提出开发要求开始直到该软件
报废为止的整个时期。通常,软件生存周期包括:问题定义、可行性研究、需求分析、总体设计、详细设计、编码、测试、维护活动,可以将这些活动以适当的方式分配到不同阶段去完成 4、
瀑布模型将软件生命期划分为若干阶段,各个阶段之间是通过
文档实现过渡的。 5、
可行性研究的三个方面是: 技术可行性、经济可行性和操作
可行性。 6、
可行性研究实质上是要在较高层次上以简化的、压缩的方式进
行需求分析和设计的过程。 7、
数据流图仅反映系统必须完成的逻辑功能,所以它是一种功能
模型。 8、
数据字典中有四类条目,分别是数据流、数据流分量(数据元
素)、数据存储、处理。 1、 2、 3、 4、
总体设计主要是把各项功能需求转换成系统的体系结构。 结构化分析方法的分析策略是自顶向下、逐步求精。 衡量模块性的两个定性标准是耦合性与内聚性。 结构化方法是一种面向数据流的开发方法,由结构化分析、结
构化设计、结构化实现构成。 5、
结构化中以数据流图为基础的两种具体分析设计方法是变换
分析设计、事务分析设计。 1、
详细设计常用的工具有程序流程图、盒图(N-S图)、PAD图、
判定表、判定树、过程设计语言(PDL)、Jackson方法。 2、
详细设计的任务是确定每个模块的内部特性,即模块的算法和
数据结构。 3、
面向对象开发方法包括面向对象分析、面向对象设计、面向对
象实现 三部分。 4、 5、 6、
子类自动共享父类的属性和操作的机制称为继承。 继承性是子类自动共享其父类的数据结构和方法机制。 UML提供的构建系统动态模型的机制有动态视图(包括顺序
图和协作图)、静态视图、功能视图。 7、 8、
类具有操作,它是对象行为的抽象。
在面向对象方法中,人们常用状态图描述类中对象的动态行
为。 9、 1、
采用手工工发软件只有程序而无文档,维护困难,这是一种非对象之间进行通信叫做消息。
结构化维护。 2、 3、
维护阶段是软件生存周期中花费精力的费用最多的阶段。 规定功能的囫,在一定程度上能从错误状态自动恢复到正常状
态,则称该软件为容错软件。 1、
二、填空题
1、软件工程方法学包含三个元素:方法、工具、过程;
2、可行性研究以技术可行性、经济可行性、操作可行性三方面进行分析
3、可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。 4、数据流图中的箭头表示数据源
5、需求分析阶段产生的最重要的文档是需求规格说明书 6、软件结构是以模块为基础而组成的一种控制层次结构。 7、按数据流的类型,结构化设计方法有两种设计策略,它们是变换分析设计和事务分析设计
8、软件是计算机程序及其说明程序的各种文档。
9、为了使应用软件适应计算机环境的变化而进行的修改称为适应性
制定进度计划的工具有:Gantt图和工程网络。
维护。
10、面向对象的方法学可以概括为面向对象=对象+类+继承+消息 11、对象的抽象是类。
12、类具有操作,它是对象行为的抽象。
13、在面向对象方法中,继承是指子类自动共享父类的数据和方法。 14、UML的定义包括UML语义和UML表示法丙个部分。 三、判断题
1、模块化、信息隐藏、抽象和逐步求精的软件设计原则有助于得到高内聚、低耦合度的软件产品(T) 2、模块越多,开发成本越小(F) 3、过程设计语言(PDL)也称为伪码(T)
4、结构化分析方法的分析策略是自顶向下、逐步求精(T) 5、相信设计是在概要设计之后进行的,它利用概要设计的结果,对系统中的每个模块给出足够的过程性描述(T)
6、在程序调试时,找出错误的位置和性质比改正错误更难(T) 7、如果软件测试没有发现错误,则说明软件是正确的(F) 8、在面向对象方法中,对象实现 数据和操作的结合,使数据和操作封装于对象的统一体中(T) 9、总体设计又称为概要设计(T)
10、CMM把软件的过程从无序到有序的进行划分成3个等级(F) 11、软件危机完全是由于硬件问题引起的(F)
12、快速原型模型可以有效的适应用户需求的动态变化(T)
13、编码阶段不属于软件生命周期的三大阶段(F)P11 14、画某系统的数据流图是,顶层图有1张(T) 15、在进行总体设计时应加强模块间的联系(F)
16、系统结构图(软件结构图:软件的结构)是精确表达程序结构的图形表示法。因此,有时也可以将系统结构图当中系统流程图(系统内部之间的数据流动)使用(F) 什么是经济可行性 什么是技术可行性 如何理解模块性P97 什么是内聚性P97 什么是结构程序设计 什么是软件危机p1 什么是软件工程 什么是软件生命周期
4、内聚性模块性的衡量标准之一,是一个模块内部各个元素彼此结合的紧密成的度量
开发具有度量功能而且和其他模块之间没有过多的相互作用的模块,就可以做到模块。换句话说,希望这样设计软件结构,使得每个模块3、完成一个相对的特定子功能,并且和其他模块之间的关系很简单。
1、对开发这个系统花费的成本及取得效益的评估,确定要开发的项目是否值得投资开发。
2、评估使用现有技术开发这个系统的可能性,确定使用现有技术能否实现这个系统。
5、一个程序仅仅使用三种设计思维
6、软件危机是指软件在开发和维护过程中遇到的一系列严重问题,主要包括两方面的问题,一是如何开发利用软件,二是如何维护数量不断膨胀的已有软件。 7、
8、一个软件从定义到开发,使用和维护,直到最终被废弃,要经历一个漫长的时期。通常把软件经历的这个漫长的时期成为生命周期 软件生命周期就是从提出软件产品到最终被废弃的全过程