现代软件工程作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(一)名词解释
1.软件:
软件是计算机程序、数据以及相关的各种文档的集合。
2.软件危机
软件危机是在软件发展第二阶段末期的规模较大的项目开发中,出现了与当初的计划推迟交工、费用比预算大幅度上升、不能满足用户要求、可靠性低、维护困难等问题,导致了软件危机。
3.数据流图
数据流图是以图形的方式描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,是一种功能模型。
4.数据字典、
数据字典是用来定义数据流图中的各个成分的具体含义的。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。
5.变换流
变换流指数据流图(简称DFD)具有明显的输入、变换和输出界面。
6.事务流
事务流指数据流图中输入流被分离成许多数据流,形成许多加工路径,并根据输入值选择其中一条路径来执行。
7.耦合性
耦合性也称块间关系,指软件系统结构中各模块间相互联系紧密程度的一种度量。
8.内聚性
内聚性又称块内联系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
9.程序设计语言(PDL)
程序设计语言(简称PDL),又称伪码,它是一种用于描述模块算法设计和处理细节的语言。
(二)填空题
1. 在信息处理和计算机领域内,一般认为软件是_程序____、__文档___ 和__数据___ 。
2. 数据流图的基本组成部分有_数据流__、_加工_、_数据存储_、_数据源点或终点_。
3. 数据流图和数据字典共同构成了系统的__逻辑_模型,是需求规格说明书的主要组成部分。
4. 数据流图一般可分为_变换型_和_事务型_两类。
5. 结构化设计方法中,要把数据流图转换成软件结构,若某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径来执行,这种特征的DFD称为_事务型_数据流图。
6. PDL是描述处理过程“_怎么做_ ”的细节,结构化语言是描述加工“_做什么_ ”的。
(三)选择题
1. 软件工程的概念是哪年提出的(B )。
A. 1988
B. 1968
C. 1948
D. 1928
2. 影响输入输出风格的因素不包括(A )。
A. 数据状态
B. 通信环境
C. 用户经验
D. 输入/输出设备
3. 符合数据说明顺序规范的是(D )。
A. 全程量说明、局部量说明、类型说明、常量说明
B. 全程量说明、局部量说明、常量说明、类型说明
C. 类型说明、常量说明、全程量说明、局部量说明
D. 常量说明、类型说明、全程量说明、局部量说明
4. 瀑布模型的关键不足在于(D )。
A. 过于简单
B. 各个阶段需要进行评审
C. 过于灵活
D. 不能适应需求的动态变更
5. 以下哪一项不是软件危机的表现形式(C )。
A. 开发的软件不满足用户需要
B. 开发的软件可维护性差
C. 开发的软件价格便宜
D. 开发的软件可靠性差
6. 软件可行性研究实质上是要进行一次( A)需求分析、设计过程。
A. 简化、压缩的
B. 详细的
C. 彻底的
D. 深入的
7. 结构化设计是一种面向(A )的设计方法。
A. 数据流
B. 模块
C. 数据结构
D. 程序
8. 与确认测试阶段有关的文档是(A )。
A. 需求规格说明书
B. 概要设计说明书
C. 详细设计说明书
D. 源程序
9. 软件开发的需求活动,其主要任务是(D)。
A. 给出软件解决方案
B. 给出系统模块结构
C. 定义模块算法
D. 定义需求并建立系统模型
10. 需求分析阶段的研究对象是(A)。
A. 用户要求
B. 分析员要求
C. 系统要求
D. 软硬件要求
11. 可自动生成程序的详细设计方法是(D )。
A. 流程图
B. IPO图
C. 盒图
D. PAD图
12. 可行性研究采用(B)概括说明软件系统的物理模型。
A. 数据字典
B. 系统流程图
C. 数据流图
D. 成本-效益分析
(四)简答题
1. 简述瀑布模型的阶段划分和各阶段的主要任务以及瀑布模型存在的问题。
1. 瀑布模型的阶段划分和各阶段的任务为:
(1) 需求分析和定义
根据系统的使用者(需方)需求进行具体分析,制定系统应完成的功能、目标、各项服
务和限制,确定工作范围和所花费的代价。并且以用户和软件开发人员都能理解的形式加以定义和明确。
(2) 系统和软件设计
先把用户的需求分成硬件需求和软件需求,在此基础上确定整个系统的结构。在软件设计中,进一步把用户的要求和系统的目标在软件系统的各项功能中表现出来,并分别使之达到能够进行程序设计的程度。
(3) 编程和单元测试
在这个阶段中,软件的设计已经以程序集合或单元程序的形式完成,并包含了验证各个单元程序是否满足式样要求的单元测试。
(4) 综合测试和系统测试
把各个单元程序和程序组结合起来,作为一个完整的系统进行测试。在这种测试中,一方面要发现和排除系统或程序中的错误,更重要的是要确认已完成的系统是否满足用户和设计者的要求。测试后,把这个软件提供给用户。
(5) 运行和维护
运行和维护是软件生存期中需要时间较长的一个阶段,在这一阶段,系统被实际装入并实际应用,那些在软件开发初期没有被发现的错误,或者是用户提出新的要求,都需要在这一阶段加以解决。
瀑布模型的问题之一是对软件工程中的反复性质认识不足,另外还有一个缺点是在开发工程的初期,就必须把规格式样确定下来,而在有些情况下,由于用户的需求不明确,某些规格式样开始是不太好确定的。软件工程是复杂的、多变的工程,用单纯的线性模型很难完全表示出来。
2. 简述SA方法的优缺点。
SA方法是软件需求分析中公认的、有成效的、技术成熟、使用广泛的一种分析方法。较适用于开发数据处理类型软件的需求分析。利用图形等半形式化工具表达需求,简明、易读,也易于使用。但也存在一些弱点,表现如下:
SA方法仅是一个静态模型,没有反映处理的顺序,即控制流程,因此,不适合描述实时控制系统。
SA方法使用DFD在分析与描述“数据要求”方面是有局限的,只有与数据库技术中