




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件需求分析与设计复习题一判断1、( ) 程序设计语言种类很多,在进行软件开发时可以随便选择一种语言进行编码。2. ( x ) 软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。3、( ) 在软件开发的各个阶段进行过程中,增加人员肯定会对整个项目提前完成有好处。4( x ) 好的测试用例应能证明软件是正确的。5( x ) 软件功能测试的测试用例主要是由需求阶段的功能说明部分转化而来。6、( x ) CoCoMo模型可以用来估算系统的工作量和软件开发所需时间。7( x ) 有时为了测试的方便,而可以局部地修改软件系统。8、( v ) OOA方法的核心思想是利用面向对象的概念和方法为软件需求建造模型,大致步骤是识别对象(属性和方法),识别类及其结构,定义对象之间的消息传递等。9( x ) 面向对象方法更适合于软件重用的根本原因在于它是软部件唯一的合成技术。10、( v ) 系统需求分析员应该具有开发软、硬件系统的经验并且了解用户领域的知识。11( x ) 在软件的生命周期中,工作量最大的一个阶段就是编写程序。12、( x )软件运行正确,可见软件中没有缺陷(fault)。13( x ) RUP(Rational Unified Process:统一软件过程)本质上是轻量级的软件过程规范。14、( v )软件失败(failure)在系统交付之前和交付之后都可能被发现。15( x ) 基准测试(benchmark test)是非正式的用户确认和验收测试。 16、( x )开发人员和客户对软件质量因素的认可是完全一致的。17( x ) UML语言支持面向对象的主要概念,并与具体的开发过程相关。18、( v )里程碑(milestone)就是开发过程中的某个活动(activity)。19( v ) 好的软件测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。20、( x )在软件开发中一定要不惜代价避免风险。21( v ) 在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什么。对功能的具体实现。22( v ) 用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部23( v ) 软件过载缺陷就是当运行程序时,软件内部定长的数据结构被溢出,系统任务无法24( v ) 结构化程序设计方法能改善程序结构,提高程序的运行效率。二、选择 从供选择的答案中,选出正确的答案填入()内1白盒测试法常用的方法是A方法,黑盒法中常用的方法是B方法和C方法,C方法根据输入的关系设计测试用例。供选择的答案: ( ) A、B、C:综合测试路径测试等价分类 归纳测试 因 果 图追踪 回溯排错2. 软件工程的出现是由于( A )。A软件危机的出现 B. 计算机硬件技术的发展C软件社会化的需求 D. 计算机软件技术的发展3. 系统技术可行性研究涉及的技术应该是( D )技术。A现在已提出的 B. 现在在研究的C不一定可以获得的 D. 一定可以获得的4模块综合测试的方法有A和B两种,A是从下层模块向上层模块依次结合进行测试,为测试需要C以便调用被测模块,但从开发的初期就能并行进行测试作业,并且每个模块的D都很容易做,是这种方法的优点。其缺点是直到测试的最后阶段,程序的缺陷都难以发现。B是从上层模块向下层模块依次结合进行测试,为了测试需要设计E模块模拟被测模块所调用的下级模块。 供选择的答案: ( A: B: C: D: E: ) A、B、D:功能测试组合测试综合测试 可靠性测试 结构测试自顶向下测试 自底向上测试C、E:仿真模拟生成 转贮跟踪 驱动模块 宏模块支持模块5软件设计中划分程序模块通常遵循的原则是要求各模块间的耦合性尽可能_,三种可能的模块耦合是:_:例如,一个模块直接引用另一模块中的数据。_:例如,一个模块把开关量作为参数传送给另一模块。_:例如,一个模块把数值量作为参数传送给另一模块。其中,_的耦合性最强。 ( )6软件是计算机系统中与硬件相互依存的部分,它是包括(A)、(B)及(C)的完整集合。其中,(A)是按事先设计的功能和性能要求执行的指令序列,(B)是使程序能够正确操纵信息的数据结构,(C)是与程序开发、维护和使用有关的图文资料。A,B,C: 软件 程序 代码 硬件 文档 外设 数据 图表 填入答案( A: B: C: )7软件测试的目的是A。为了提高测试的效率,应该B 。使用白盒测试方法时,测试数据应该根据C和指定的覆盖标准。一般来说,与设计测试数据无关的文档是D ,软件测试工作最好由E 来承担,以提高集成测试的效果。A: (1)评价软件的质量 (2)发现软件的错误 (3)找出软件中的所有错误 (4)证明软件是正确的B:(1)随机的选取测试数据 (2)取一切可能的输入数据作为测试数据(3)在完成编码以后制订测试计划 (4)选择发现错误的可能性大的数据作为测试数据C:(1)程序的内部逻辑 (2)程序的复杂程度 (3)使用说明书 (4)程序的功能D:(1)需求规格说明书 (2)总体设计说明书 (3)源程序 (4)项目开发计划E:(1)该软件的设计人员 (2)该软件开发组的负责人 (3)该软件的编程人员 (4)不属该软件开发组的软件设计人员填入答案:(A: 2 B:4 C: 1 D: 3 E: 4 )三、名词解释、简答与论述1、软件工程的定义:软件工程是一种系统工程,不只包括对技术问题的分析与解决,还包括对开发过程和给参与者分配合适的角色等方面的管理。2、说明错误、缺陷、失败的含义与联系。答:错误,是进行软件开发过程中人为出错造成的。 缺陷:当人们在进行软件开发活动的过程中出现错误时,就会引起缺陷。失败:是指系统违背了它应有的行为。可能会在系统交付前或交付后被发现,也可能在测试过程中或者在运行和维护过程中被发现。(1)单个错误可能产生多个缺陷,并且缺陷可能驻留在任何开发或维护的产品中,如设计人员可能错误理解某个需求,创建处于需求分析人员和用户实际意图不相符的设计,这个设计缺陷是一种错误的编码,可能导致其他缺陷,像不正确的代码或用户手册中不正确的描述等。(2)并非每一个缺陷都对应于一个失败,如果不执行缺陷代码或者不进入某个特定状态缺陷就不会引起失败。(3)缺陷是系统的内部视图,这是从开发人员角度看问题而失败是系统的外部视图,它是用户所看到的问题。3、软件质量应从哪几个方面来衡量?论述之。答:(1)产品的质量:用户在测量软件质量的时候,用户从故障数目和故障类型等外部特性进行评价,如将失败分为次要的、主要的、灾难性的。设计和编写代码倾向于考虑内部特性,尤其是,从业人员通常会把故障的数目和类型看作产品质量的证据。(2)生产该产品的过程的质量:任何一个活动出了差错都会影响产品的质量,对过程进行建模的优点是我们能够研究它,并寻找方法对他加以改进。(3)在产品将使用的商业环境背景下的产品的质量4、现代软件工程大致包含的几个阶段及各个阶段文档(P23-24)答:可行性分析系统需求分析系统维护系统交付系统测试集成测试单元测试编写程序程序设计 5、使现代SE实践发生变化的(七个)关键因素是什么?(1)商用产品投入市场时间的紧迫性。(2)计算技术在经济中的转变:更低的硬件成本,更高的开发和维护成本。(3)功能强大的桌面计算的可用性。 (4)广泛的局域网和广域网。(5)面向对象技术的采用及其有效性。 (6)使用窗口、图标、菜单和指示器的图形用户界面(7)软件开发瀑布模型的不可预测性。6、请写出下列术语的英文全称或缩写:能力成熟度模型:CMM,极限编程:ExtremeProgramming,简称XP7、瀑布模型及各阶段文档,优缺点?答:需求分析 SRS 系统设计 系统设计文档如软件结构图 程序设计 模块功能算法和数据描述文档 编码 源程序和注释 单元测试和集成测试 测试报告 系统测试 测试报告 验收测试 测试报告 运行维护 维护报告优点:(1)它的简单性使得开发人员很容易向不熟悉软件开发的客户作出解释。 (2)明确的表示出为了下一阶段的开发,那些中间产品是必须的。用里程碑明确表示出一个阶段的结束,并伴随着提交物。 (3)瀑布模型是其他复杂模型的基础。 缺点:最大的问题是它不能反映实际代码的开发过程。 面临软件变动时, 该模型无法处理实际过程中的重复开发问题-软件是一个创造的过程,不是一个制造的过程。 文档转换有困难。 没有将开发看成一个迭代的过程。 难以适应商业环境和操作环境的变化。8、论述分阶段开发模型的含义, 分类及特点。答:分阶段开发模型:系统被设计成部分提交, 每次用户只能得到部分功能, 而其他部分处于开发过程中.分类:增量开发:系统需求按照功能分成若干子系统,开始建造的版本是规模小的、部分功能的系统,后续版本添加包含新功能的子系统,最后版本是包含全部功能的子系统集。 迭代开发:系统开始就提供了整体功能框架,后续版本陆续增强各个子系统,最后版本使各个子系统的功能达到最强.9、在所有的软件开发过程模型中,你认为哪些过程给予你最大的灵活性以应对需求的变更?1设计对于分析模型应该是可跟踪的:软件的模块可能被映射到多个需求上。2设计结构应该尽可能的模拟实际问题。3设计应该表现出一致性。4不要把设计当成编写代码。 5在创建设计时就应该能够评估质量。6评审设计以减少语义性的错误。10、什么是项目进度?项目进度是对特定项目的软件开发周期的刻画。包括对项目阶段、步骤、活动的分解,对各个活动的交互关系的描述,以及对各活动完成时间的初步估算。11、软件人员应该具备的能力是什么?答:(1)完成工作的能力 (2)对工作的兴趣 (3)开发类似应用的经验 (4)使用类似工具或语言的经验(5)使用类似开发环境的经验 (6)使用类似技术的经验 (7)培训 (8)与他人交流的能力(9)与他人共同承担责任的能力 (10)管理技能12、软件项目组织的基本结构?主程序员组式的小组结构有什么优点?答:(1)主程序员负责制组:简化交流,更快地作出决定(2)无私编程方法:所有小组成员共同决定,共同承担责任。13、专家估算法的大致含义? 算式估算法的大致含义?答:专家估算法:依赖于专家判断,一些是非正式的技术,基于管理人员具有的类似项目的经验。因此,预测的准确性基于估算者的能力、经验、客观性和洞察力。算式估算法: E=a+bScm(X)其中S是系统规模估计量,a,b,c是常量,X是从x1到xn的一个成本因素的向量,m是基于这些因素的一个调整因子。14、试述COCOMO模型的三个阶段基本工作原理或含义。答:阶段1,项目通常构建原型以解决包含用户界面、软件和系统交互、性能和技术成熟性等方面在内的高风险问题。COCOMO用应用点来估计规模。阶段2(早期设计阶段),COCOMO采用功能点作为对规模的估计量。阶段3(后体系结构阶段),COCOMO规模用功能点或代码行的形式来表述。15、什么是风险?有几种降低风险的策略?答:风险是指一种具有负面后果的、人们不希望发生的事件。 降低风险的策略:(1)通过改变性能或功能需求,避免风险 (2)通过把风险分配到其他系统中,或者购买保险以便在风险成为事实时弥补经济上的损失,从而转移风险。 (3)假设风险会发生,接受并用项目资源控制风险。16、需求的含义是什么? 需求是对期望行为的表达。17、用例的概念。Use Case(用例)是一个UML中非常重要的概念:在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述。18、举例说明获取需求时的需求分类及相互关系。答:A必须满足的需求 B很值得要得但不是必须的 C可要可不要的。19、什么是功能性需求和非功能性需求/质量需求?答:功能性需求根据要求的活动(如对输入的反应、活动发生时每一个实体之前的状态和之后的状态等等)来描述需要的行为。 非功能性需求(质量需求)描述一些软件解决方案必须拥有的质量特性,如快速响应的时间,易使用性、高可靠性或低维护代价等。20、什么是设计?概念设计?技术设计?设计是将问题转换为解决方案的创造性过程,对解决方案的描述也称为设计。 概念设计描述软件的结构和功能,告诉客户系统能够做什么。 技术设计软件功能和接口的实现方法,告诉程序员怎样实现系统能做什么。21、三种设计层次及其关系?答:A:结构设计,由软件需求中的系统能力与系统部件关联起来而得到软件整体结构的过程。包含模块,模块之间的联系,从子系统创建系统的相关操作。B:代码设计,各个部件的算法、数据结构的设计。构件=编程语言原语+数据操纵原语+组装机制。C:运行设计:最底层的设计内存分配、数据格式、位模式等。自顶向下设计是有益的:首先涉及体系结构,然后进行代码设计,最后是执行设计。随着设计人员对解决方案及其含义有更多的理解,他们就会往返于各层次之间。22、论述设计用户界面应考虑的问题。(242页)答:(1)隐喻:可以认识和学习的基本术语。 (2)头脑中的模型:数据、功能、任务和角色的组织和表示。(3)模型的导航规则:如何在数据,功能,活动和角色中移动。 (4)外观:系统向用户传输信息的外观特性。(5)感觉:向用户提供有吸引力的体验和交互技术。 (6)文化问题:信仰,价值观、道德规范、传统、风俗和传说。 (7)用户偏好:个人喜好。23、耦合与内聚的概念及层次划分?耦合是两个软件部件之间的相关联程度。 内聚是软件部件内部的关联程度。24、什么是面向对象? OO是一种软件开发方法,它将问题及其解决方法组织成一系列独立的对象,数据结构和动作都被包括在内。25、OO开发有何优势?答:语言的一致性:可以用同样的术语描述问题及其解决方案类、对象、方法、属性和行为。在整个开发过程中,我们应该自始至终保持术语和视角的一致性。 过程的一致性:OO的过程使用数据和行为的封装形成的独立的单元,它从需求到应用实现和测试用相同语义的概念来表示系统。26、OO开发过程有几个步骤?答:OO需求分析,OO设计(系统设计:确定类、对象及它们之间的关系;程序设计:在模型中插入计算特性,确定类库的细节,考虑非功能性需求),OO编码和测试27、用例图的组成和画法答:参与者是与系统相关的实体所扮演的一种角色。 用例是对系统某些方面的功能性描述,他对参与者是可见的。扩充扩展用例,说明不同的或更深层测的视角。 使用实际上对一定以用例的复用。28、熟悉类图中各个类之间的基本关系分类答:泛化(继承),关联,导航,依赖,聚合,组装29、熟悉类图的组成和基本画法答:类图(Class diagram)由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素和它们的内容互相连接)组成。类图可以组织在(并且属于)包中,仅显示特定包中的相关内容。 类图(Class diagram)是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。 类图(Class diagram)最基本的元素是类或者接口。30、为什么说编码工作是纷繁复杂甚至令人气馁?答:(1)设计对于编码来说并不总是简单明了的。 (2)编码应该是可懂的。 (3)考虑重用。31、一般性的编程原则应该从哪三个方面考虑?(340-344页)答:(1)控制结构:体系结构和设计提出了很多组件的控制结构,当设计转换成代码时,希望能保留住这些内容。重组可以帮助理解。模块化易于理解测试和维护。保持结构的通用性。部件之间的耦合或依赖关系必须是可见的。(2)算法:编写代码时,程序设计通常会制定一些算法。(3)数据结构:编写程序时,应该安排数据的格式并进行存储,保持程序简单易懂,用数据结构确定程序结构。32、在编写程序内部文档时,除了HCB外,还应添加什么注释信息?答:(1)其他程序注释:段落注释;每次修改之后要更新;注释必须要有新的信息;边写边注释。(2)有意义的变量名和语句标记。 (3)安排格式以增强理解。 (4)文档化数据。33、什么是极限编程(XP)? 是一种轻量级的软件开发方法论,属于敏捷开发方法。XP从实践中来,是对实践的总结,也是经过实践检验的,其主要特征是要适应环境变化和需求变化,充分发挥开发人员的主动精神。XP承诺降低软件项目风险,改善业务变化的反应能力,提高开发期间的生产力,为软件开发过程增加乐趣等等 。 34、解释设计和程序实现之间的关系,为什么说在设计和实现之间保持匹配很重要,可以采取哪些措施保持这种一致性?(本题没有固定答案,请结合所学知识回答,以下为答题要点)答:软件设计是应用各种各样的技术和原理,并用它们足够详细的定义一个设备、一个程序或系统的物理实现的过程。软件的设计是一个将需求转变为软件陈述(表达)的过程。系统通过逐步求精使得设计陈述逐渐接近源代码,有两个基本步骤:初步设计和详细设计。系统实现是MIS新系统开发工作的最后一个阶段。它是将结构化系统设计的成果变成可实际运行的系统的过程。主要工作包括:系统平台的建立,数据库的建立,应用程序设计与编码,程序测试与系统调试,试运行,文档整理与验收(鉴定)等。 (1) 设计的构件和源程序构件要直接对应, 以体现设计中的低耦合、高内聚、良好借口等设计的特色。(2) 作为程序员,要注意“设计文档并不总是与编码直接对应”,在克服困难圆满完成设计与源代码实现的一致性的同时,要同时实现很多其他特性,比如源代码的易读性和可重用性等设计特色。35、几种主要的软件缺陷类型是什么?答:算法缺陷:由于处理步骤中的某些错误,使得对于给定的输入,构件的算法或逻辑没有产生适当的输出。 语法缺陷 计算缺陷和精度缺陷:一个公式的实现是错误的,或者计算结果没有达到要求的精度。 文档故障:是指文档与程序实际做的事情不一致。压力故障/过载故障:填充数据结构时超出了规定的能力。能力故障/边界故障:系统活动到达指定的极限时,系统性能会变得不可接受。计时故障/协调故障:开发实时系统时,几个同时执行的或按仔细定义的顺序执行的进程之间的协调问题,当协调这些事件的代码不适当时发生协调故障。吞吐量故障/性能故障:系统不能以需求规定的速度执行。硬件和系统软件故障:提供的硬件和系统软件实际上并没有按照文档中的操作条件和步骤运作。36、测试的各个阶段及其任务?答:单元测试 设计规格 系统功能 其他软件 客户需求 用户环境使用中的系统安装测试构件 测 说明 需求 需求 规格说明单元测试功能测试性能测试验收测试集成测试代码 试 构件 中单元测试代码 的 集成的模块 运行的系统 验证、确认 接受的系统 构 的软件构件 件代码 将每个程序 验证系统构件 对系统进行 将系统与这 根据顾客的 在系统实际 构件与系统 是否能够按照 评估,以确 些软件和硬 需求描述检 使用环境中 中的其他构 系统和程序设 定集成的系 件需求的剩 查该系统。 测试该系统。 件隔离,对 计规格说明中 统是否确实 余部分进行 其本身进行 描述的那样共 执行需求规 比较。 测试。 同工作。 格说明中描 述的功能。37、测试的方法-黑盒、白盒的概念?黑盒:内容/结构未知,只测试测试对象的功能性。测试的目标确信每种输入都被提交到黑盒观察输出。 优点:不受测试对象的内部结构和逻辑的约束。 缺点:不能以这种方式进行一个完整的测试。 白盒:根据测试对象的结构不同的方式来进行测试。 优点:模块详细测试。 缺点:实际上行不通。38、什么是测试用例? 指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。39、什么是单元测试?答:单元测试:检查集成的系统是否按照需求中指定的那样执行他的功能。 走查:程序员向评审小组提交代码及其相关文档,然后评审小组评论他们的正确性。 检查:评审小组按照事前准备好的关注问题清单来检查代码
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 职业道德与要求试题及答案
- 基于强化学习的复杂系统建模与仿真实验-洞察及研究
- 康复训练技术创新应用-洞察及研究
- 社保缴费基数监管-洞察及研究
- 2025个体工商户经营资金短缺借款合同
- 物业冲突法律解决策略-洞察及研究
- 2025年学校食堂餐饮服务承包合同协议
- 冲床安全生产教育培训课件
- 冲压模具车间安全培训课件
- 2025合同违约是否需要承担责任
- 方九中学高中历史学科基地建设方案(2篇)
- 2025年中国山西省轨道交通行业市场深度研究及投资战略规划报告
- 女性私密项目培训
- 碳酸钙催化性能研究-洞察分析
- DB51T 2616-2019 机关会议服务规范
- 手术室护理中的团队合作与沟通技巧
- 区域教育发展现状分析
- 乡村文旅规划
- (新版)电信网上大学智能云服务交付工程师认证考试题库-中(多选题)
- 医疗机构从业人员廉洁从业九项准则
- 广东省普通高中学科教学水平评估指标详述
评论
0/150
提交评论