软件需求和结构_软件工程复习 3640组考题
黑色字体是原本的答案,蓝色字体是补充整理后的答案,如果有错的话,我也没办法了……
复习第一组「36-40,36-40,8,8」
一、名词解释
36.基本路径测试
是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次
基本路径测试是结构性测试的一种,依据程序的逻辑结构,采用控制流程图来表达被测程序模型,揭示程序中的控制结构;通过合理的选择一组穿过程序的路径,以达到某种测试度量。
常见的路径测试策略有:路径覆盖、语句覆盖、条件覆盖和条件组合覆盖、分支覆盖和判定覆盖。
37.软件组织过程
组织过程类包括基础设施过程、改进过程以及培训过程。
软件组织过程是指那些与软件生产组织有关的过程。包括如下7个主要的过程:
管理过程
基础设施过程
改进过程
人力资源过程
资产管理过程
重用大纲管理过程:为组织的重用大纲主管而定义的活动,启动,领域评估,重用评估,策划,执行和控制,评审和评价。
领域工程过程:领域工程师的活动和任务,领域分析,领域设计,资产供应,资产维护。
38.软件度量
是对软件开发项目、过程及其产品进行数据定义、收集以及分析的持续性定量化过程,目的在于对此加以理解、预测、评估、控制和改善。
软件度量(software measurement)是对软件开发项目、过程及其产品进行数据定义、收集以及分析的持续性定量化过程,目的在于对此加以理解、预测、评估、控制和改善。
通过软件度量可以改进软件开发过程,促进项目成功,开发高质量的软件产品。
产品:软件开发过程中所生成的各种文档和程序。
过程:与软件开发有关的各种活动,如软件设计等。
资源:软件开发过程中所需支持,如人员、费用等。
39.适应性维护
随着计算机技术的飞速发展和更新换代,软件系统所需的外部环境或数据环境可能会更新和升级,如操作系统或数据库系统的更换等。为了使软件系统适应这种变化,需要对软件进行相应的修改,这种维护活动称为适应性维护。
适应性维护时为了使系统适应环境的变化而进行的维护工作。管理体制的改变、数据与信息需求的变更等都将导致系统不能适应新的应用环境。
如代码改变、数据结构变化、数据格式以及输入/输出方式的变化、数据存储介质的变化等,都将直接影响系统的正常工作。
因此有必要对系统进行调整,使之适应应用对象的变化,满足用户的需求。
40.类图
类图描述系统的静态结构,表示系统中的类以及类与类之间的关系。
类图是根据系统中的类以及各类之间的关系描述系统的静态图。
类图不仅显示系统内信息的结构,还描述系统内这些信息的行为。
它一个最重要目的就是为其他图(如顺序图、交互图)定义一个基础。类图由多个类以及这些类之间的关系组成。
二、简答
36.软件质量的含义是什么?
软件在使用时,能适合用户需要的目标程度。
什么是软件质量:
词典的定义是:① 典型的或本质的特征;② 事物固有的或区别于其他事物的特征或本质;③ 优良或出色的程度。
CMM对质量的定义是:① 一个系统、组件或过程符合特定需求的程度;② 一个系统、组件或过程符合客户或用户的要求或期望的程度。
软件的质量属性很多,如正确性、精确性,健壮性、可靠性、容错性、性能、易用性、安全性、可扩展性、可复用性、兼容性、可移植性、可测试性、可维护性、灵活性等。除此之外还可以列出十几个,新词可谓层出不穷。
37.如何安排软件开发进度,应该考虑哪些问题?
识别进度计划所有者
决定任务和里程碑
排序工作活动
任务历时评估
整合任务计划
审查批准进度计划
考虑:
任务分配、人力资源分配、时间分配要与工程进度相协调
任务分解与并行化
工作量分布
目前,程序评估与审查技术(PERT)和关键路径方法(CPM)是两种比较常用的项目进度安排方法
38.什么是结构化分析,有什么特点? 32
是面向数据流进行需求的分析,遵循自顶向下、逐步求精原则。
主要特点是快速、自然和方便。成功率较高,发展较为成熟;简单、易掌握,适应于瀑布模型;特别适合于数据处理领域中的应用,对规模大的项目,特别复杂的应用不太适应。难于解决软件重用问题,难于适应需求的变化。
结构化方法是一种系统化的软件开发方法学、支持需求分子和软件设计。紧紧围绕"过程抽象""数据抽象""模块化"等基本软件设计原理和原则,给出了完备的符号术语,模型表示工具(表达式),自顶向下,逐层分解的过程指导。
主要有;结构化分析、结构化设计和结构化程序设计。
特点:
(1)基于功能分解设计的系统结构,从内部功能上模拟客观世界,具有面向功能、结构清晰、支持逐步求精的特点,使软件易于维护;
(2)结构化方法可以增加软件规格说明的可持续性和软件系统的可靠性,例如数据流程图容易理解,有利于开发人员与客户的交流;
(3)基于功能的设计使软件系统结构对功能的变化十分敏感,功能变化往往意味着重新设计,设计出的软件难以重用则会延缓开发的进程。
39.什么是边界值分析,与等价类划分有什么不同? 32
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。(1)边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。
(2)边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。
边界值分析是一种常用的黑盒测试技术。在设计测试用例时,选择输入和输出边界值进行测试。
等价类划分是在设计测试用例时,同时考虑有效等价类和无效等价类的设计。
两者不同在于,边界值分析着重于边界的测试,应选取等于、刚刚大于或刚刚小雨边界的值作为测试数据,而等价类划分是选取等价类中的典型值或任意值作为测试数据的。
40.举例说明什么是类的组装结构关系 32
如建立一个时钟类,这个类中的属性如秒、分钟、小时等,加上对属性的操作如秒记时,分钟记时,小时记时等,就构成一个类的组装结构关系。
类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。
类之间的关系有:依赖、泛化、关联(关联又分普通关联、聚合、组合)
(1)依赖关系:一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖。
(2)泛化关系:一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的特征和行为;
比如老虎时动物的一种,既有老虎特性也有动物的共性。
(3)关联关系:一种拥有关系,使一个类知道另一个类的属性和方法;
如老师与学生,丈夫与妻子,既可以使双向的也可以是单向的。
————扩展————
类通常可以分为三种,分别是实体类(Entity Class)、控制类(Control Class)和边界类(Boundary Class),下面对这三种类加以简要说明:
(1) 实体类:实体类对应系统需求中的每个实体,它们通常需要保存在永久存储体中,一般使用数据库表或文件来记录,实体类既包括存储和传递数据的类,还包括操作数据的类。实体类来源于需求说明中的名词,如学生、商品等。
(2) 控制类:控制类用于体现应用程序的执行逻辑,提供相应的业务操作,将控制类抽象出来可以降低界面和数据库之间的耦合度。控制类一般是由动宾结构的短语(动词+名词)转化来的名词,如增加商品对应有一个商品增加类,注册对应有一个用户注册类等。
(3) 边界类:边界类用于对外部用户与系统之间的交互对象进行抽象,主要包括界面类,如对话框、窗口、菜单等。
三、论述
8.论述需求工程的过程和方法,讨论其有效性 37
答:需求工程包括需求开发和管理,而需求开发又包括这几个过程:需求获取,需求分析,需求规格说明和需求验证。
在需求开发之前,还需要有一个知识培训的过程,需求工程也是一个项目工程,因此也包括了项目的管理。
对于这些过程,有以下方法可以采用。
1、知识培训:需求分析员培训、用户培训、开发人员培训;
2、需求获取:项目范围确定、用户确定、用例确定、系统事件和响应、获取方法、检查完善;
3、需求分析:绘制关联图、原型开发、需求优先顺序别、需求建模、数据字典创建、子系统。
在知识培训中,通过对三方的培训,可以使分析员提高沟通能力,理解并掌握需求工程技能,使用户明白需求重要性,能够准确描述需求,使开发人员对用户应用有所了解。
通过需求获取中的方法,可以明确项目目标、确定用户群,通过用例迅速明确项目功能需求,这些可以通过会议讨论,观察用户工作过程,问答式对话,诱发式需求诱导等实现。
而在需求分析阶段则是对用户的需求获取之后的一个粗加工过程,需要对需求进行推敲和润色以使所有涉众都能准确理解需求。分析过程首先需要对需求进行检查,以保证需求的正确性和完备性,然后将高层需求分解成具体的细节,创建开发原型,完成需求从需求获取人员到开发人员的过渡。
四、应用题
8.现在有一系统正在进行集成测试,模块A提供的文件接口能够读取txt格式的文本文件,不论该文件是否被其它进程使用。请补充完成如下测试用例中的(1)、(2)、(3)和(4)部分。 56
解:
(1)预置条件:提前准备好A模块文件接口和打开文件B中的数据
(2)软件模块A的性能测试
txt格式文本文件路径
(3)操作步骤
1)制定集成测试计划
输入设计模型,设计人员设计集成测试用例和测试过程
2)实施集成测试
设计人员编制测试脚本,更新测试过程
设计驱动程序和装,实施人员负责实施驱动程序和桩
3)执行集成测试
输入:测试脚本和工作版本
输出:测试结构
测试人员负责执行测试并记录测试结构
4)评估集成测试
输入:集成测试计划测试结构,
输出:测试评估摘要
测试员负责会同及成员、编码员、设计员等评估此次测试,并生成测试评估摘要
(4)预期输入:
————扩展————
集成测试步骤:
准备集成测试计划。
准备集成测试场景和测试用例。
准备测试自动化脚本。
执行测试用例。
报告缺陷。
跟踪并重新测试缺陷。
重新测试和测试一直持续到集成测试完成。
软件需求和结构_软件工程复习 3640组考题相关推荐
- 软件的接口设计图_软件工程复习6670组考题
黑色字体为原本答案,蓝色字体修改补充了 复习题组「66-70/66-70/14/14」 一名词解释 71.压力测试 在软件工程中,压力测试是对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接 ...
- 软件工程环形复杂度计算方法有哪些_软件工程复习6165组考题
黑色字体为原本答案,蓝色字体修改补充了 复习题组「61-65/61-65/13/13」 一.名词解释 61.确认测试 检查已实现的软件是否满足了需求规格说明中所确定的各种需求,以及软件配置是否完全.正 ...
- 软件需求和结构_软件体系结构
软件体系结构意指"软件的整体结构和这种结构为系统提供概念完整性的方式".从最简单的形式来看,体系结构是程序构件(模块)的结构或组织.这些构件交互的方式以及这些构件所用数据的结构.然 ...
- 什么是软件需求?软件需求是什么意思?
什么是软件需求?软件需求是什么意思? 对大多数人来说,若要建一幢数百万元的房子,他一定会与建房者详细讨论各种细节,他们都明白完工以后的修改会造成损失,以及变更细节的危害性.然而,涉及到软件开发,人 ...
- 《软件需求十步走》读书笔记02
在学了大概一个月的<软件需求>的课程后,我理解的软件需求就是从用户了解到的想要软件有什么功能,通过需求分析人员分析整理出来用户的哪些需求可以实现,哪些是无法实现的.最近通过读<软件需 ...
- 软件需求和测试需求实用理论
软件需求及分类 1.软件需求的定义 IEEE软件工程标准词汇表(1997年)定义软件需求: -用户解决问题或达到目标所需条件或权能(Capability): -系统或系统部件要满足合同.标准.规范或其 ...
- 软件工程复习07:软件需求
作者:非妃是公主 专栏:<程序人生> 个性签:顺境不惰,逆境不馁,以心制境,万事可成.--曾国藩 专栏地址 软件工程专栏地址 专栏系列文章 软件工程复习01:软件工程概述 软件工程复习02 ...
- (软件工程复习核心重点)第三章需求分析-第五节:验证软件需求
文章目录 一:验证需求正确性的四个方面 二:验证软件需求的方法 三:用于需求分析的软件工具 (1)要求(了解) (2)PSL/PSA系统 一:验证需求正确性的四个方面 一致性:所有需求必须是一致的,任 ...
- 数据流图软件_软件工程导论知识点梳理之概念题
1. 软件的定义:软件是程序.数据及开发.使用和维护程序需要的所有文档的完整集合. 例:在信息处理和计算机领域内,一般认为软件是程序.文档和数据. 2.软件的分类: 按照应用场景:系统/应用软件 按照 ...
最新文章
- linux sntp 代码,C语言window(linux)平台的SNTP实现
- 所以,你自认为是一个合格的机器学习工程师?
- python教程5小时完整版_Python零基础入门教程5小时完整版(北京理工大2020年版)
- 【Linux系统编程应用】 Linux Input子系统(一)
- android studio 入门比较好的书籍
- 用python快速合并代码(方便软著申请)
- hdu 4747 mex 线段树+思维
- c++ httpserver 服务器
- 國慶和中秋的學習成果
- jquery代码小片段
- python查询千万级数据_Python批量删除mysql中千万级大量数据
- 洛谷1123 取数游戏
- ajax只能局部刷新吗,ajax有哪几种方法可以实现局部刷新
- paip.svn不能提交CLEARUP不起作用解决方法
- udp java 实例_udp例子,javaudp简单实例分享
- fractal 分形维数 盒子维 纹理特征
- 你评论,我赠书~【TFS-CLUB社区 第11期赠书活动】〖Unity手机游戏开发:从搭建到发布上线全流程实战〗等你来拿,参与评论,即可有机获得
- codeblocks不支持16位,与64位不兼容这个问题
- docker使用-p参数映射端口失败
- 线性回归(Lasso,Ridge,ElasticNet)调参