当前位置:首页 > 软件工程复习题
充分吸取和借鉴人类长期以来从事各种工程项目所积累的行之有效的原理、概念、技术和方法,并研究能更有效地开发软件的技术和方法。
积极开发和使用计算机辅助软件工程(CASE)工具。工具选用的好,它可以“放大”人的智力,大大加快软件开发速度,提高软件质量。
总之,为了解决软件危机就要从技术措施(方法和工具)和组织管理两个方面去研究。软件工程正是从技术和管理两方面研究如何更好地开发和维护软件的一门新兴的工程学科。
5、什么是软件工程过程?
软件工程过程是把输入转化为输出的一组彼此相关的资源和活动。 软件工程过程定义了: 方法使用的顺序、要求交付的文档资料、为保证质量和适应变化所需要的管理、软件开发各个阶段完成的里程碑。
从软件开发的观点看,它就是使用适当的资源(包括人员、硬软件工具、时间等),为开发软件进行的一组开发活动,在过程结束时将输入(用户要求)转化为输出(软件产品)。
5、什么软件生存周期?每个周期主要完成哪些任务? 通常,把软件从开始研制(形成概念)到最终软件被废弃不用这整个阶段称为软件的生存期。 软件生存周期:为了能对软件进行有条不紊、有步骤的开发和管理,将软件生存期划分为若干阶段,称为软件生存周期
软件生存周期可分为软件定义、软件开发及软件运行维护三个时期。
软件定义时期的任务是:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并制定工程进度表。该时期通常进一步划分为三个阶段,即问题定义、可行性研究和需求分析。
软件开发时期具体设计和实现在前一个时期定义的软件,它通常由四个阶段组成:总体设计、详细设计、编码和测试(包括单元测试、综合测试)。确定程序由哪些模块组成以及模块间的关系; 详细的设计每个模块,确定实现模块功能所需要的算法和数据结构;写出正确的容易理解、容易维护的程序模块,并仔细测试每个编写出的模块; 通过各种类型的测试(及相应的调试)使软件达到预定的要求。
软件运行维护时期主要任务是使软件持久地满足用户需要。 6、如何理解软件工程原理?
? 软件工程的基本原理有:
1) 用分阶段的生命周期计划严格管理:按软件生存期分阶段制定计划并认真实
施,把整个软件开发过程视为一项工程,把工程划分为若干阶段,分别制定每个阶段的计划,逐个实施。
2) 坚持进行阶段评审 前一阶段的结果将成为下一阶段的依据。坚持阶段的
评审才能保证错误不传播到下一阶段。
3) 实行严格的产品控制 将影响软件质量的因素在整个过程中置于严格控
制之下。
4) 使用现代程序设计技术 先进的程序设计技术带来的是生产率和质量的
提高。使用合适的开发模式和工具可以有效地建立功能强大的系统。 5) 明确责任,使得工作结果能够得到清楚的审查 开发组织严格划分责任并
制定产品的标准,使得每个成员的工作有据可依,确保产品的质量。
6) 用人少而精 开发组织不在人多,在于每个人的技能适合要求。同时用人
少而精,可减少沟通路径,提高生产率。
7) 承认不断改进软件工程实践的必要性 不断改进开发过程,在开发的过程
5
中不断总结经验,改进开发的组织和过程,有效地通过过程质量的改进提高软件产品的质量。
、软件工程目标主要有哪些?
? 软件工程项目的基本目标有:
1) 付出较低的开发成本 2) 达到要求的软件功能 3) 取得较好的软件性能 4) 开发的软件易于移植 5) 需要较低的维护费用
6) 能按时完成开发工作,及时交付使用
7 6
第二章 需求分析
一、名词解释
1、投资回收期:就是使累计的经济效益等于最初投资所需的时间。
2、资金的现值:以现在货币的价值为准,将其他不同时间的货币的价值都折算成现时货币的价值,即资金的现值
3、数据流图: 是描述数据处理过程的工具。数据流图从数据传递和加工的角度,以图形方式刻画数据流从输入到输出的移动变换过程
4、数据字典:是关于对数据流图中包含的所有元素的定义的集合。其作用是为系统人员在系统分析、系统设计和系统维护过程中提供关于数据的描述信息
二、选择填空 选择:
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.要让软件做什 B.要给该软件提供哪些信息 C.要求软件工作效率怎样 D.要让该软件具有何种结构 9、用户系统描述在哪一阶段编写。( )
A.可行性研究 B.需求分析 C.软件概要设计 D.软件详细设计 10、结构化分析方法的基本思想是( )。
A.自底向上逐步抽象 B.自底向上逐步分解 C.自顶向下逐步分解 D.自顶向下逐步抽象 11、下列哪个文档不是需求分析阶段产生的( )。
A.需求规格说明书 B. 初步测试计划
C. 用户系统描述 D . 软件设计规格说明书
12、下列哪一项不是数据流图的元素。( )
A.数据存储 B.数据流
7
C. 伪码 D .加工
13、从软件功能可行性的角度进行可行性研究考虑的是系统的( A )
A.技术可行性 B.经济可行性 C.法律可行性 D.操作的可行性 14、研究软硬件资源的有效性是进行( A )研究的一方面
A.技术可行性 B.经济可行性 C.法律可行性 D.操作的可行性
15、研究开发的项目是否存在任何侵犯、妨碍等责任问题考虑的是系统的( C )
A.技术可行性 B.经济可行性 C.法律可行性 D.操作的可行性 16、 采用结构化分析方法所建立的系统模型主要捕获了( )。 A. 过程属性、对象及其关系 B. 数据结构 C. 对象及其关系、对象行为信息
D. 数据源点和终点、加工、数据流、数据存储以及加工输入、输出之间的逻辑关系 17、软件需求规格说明的内容不应包括( )。 A. 主要功能 B. 算法的详细描述 C. 用户界面及运行环境 D. 软件的性能 填空:
1、基于计算机的系统的系统元素包括硬件、软件、人、数据库、文档和过程。
2、可行性研究主要从以下四个方面考察其可行性: 技术可行性、经济可行性、操作可行性、法律可行性。
3、需求分析的任务包括需求获取、需求建模、需求规格说明、需求评审
4、结构化分析方法最初只是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。 三简算题
1.以结构化分析方法建立的系统模型一般由哪些部分组成?每一部分的基本作用是什么? 答:数据流图、数据字典、小说明
数据流图以图形的方式表达目标系统中信息的变换和传递;数据字典对数据流图中出现的数据元素给出其逻辑定义,用以表示该数据的结构;小说明用来描述在分层的数据流图中,最低层的数据加工。
2.数据流图的基本作用是什么?
答:数据流图是一种描述数据变换的图形工具,系统接受输入的数据,经过一系列的变换(加工),最后输出结果数据。 3.数据字典和小说明的基本作用?
答:数据字典以一种准确的无二义的方式定义所有被加工引用的数据流和数据存储。小说明用于描述加工。
4.结构化分析方法为了表达系统模型,给出了几个基本概念?它们是如何表示的? 答:给出了五个基本概念:数据流图、数据字典、结构化语言、判定表和判定树。 ①数据流图以图形的方式表达目标系统中信息的变换和传递。:
②数据字典对数据流图中出现的数据元素给出其逻辑定义,用以表示该数据的结构。 ③在分层的数据流图中,最底层的数据加工可采用结构化语言、判定表和判定树等描述该加工内部过程的控制结构。 5.需求规格说明书的主要作用
答:(l)作为软件开发机构和用户之间一份事实上的技术合同书; (2)作为软件开发机构下一步进行设计和编码的基础; (3)作为测试和验收目标系统的依据。 6.需求获取通常面临哪三大挑战
8
共分享92篇相关文档