⧫简述结构化方法详细设计的任务及目标。任务:具体描述模块结构图中的每一模块,即给出实现模块功能的实施机制,包括一组例程和数据结构,从而精确定义了满足需求所规约的结构目标:将总体设计阶段所产生的系统高层结构映射为以这些术语所表达的低层结构也是系统的最终结构⧫筒述RUP和UML之间的关系。(1)RUP和UML构成了一种特定的软件开发方法学。(2)UML作为一种可视化建模语言,给出了表达事物和事物之间关系的基本术语,给出了多种模型的表达工具(3)RUP利用这些术语定义了需求获取层、系统分析层、设计层、实现层,并给出了实现各层模型之间映射的基本活动以及相关指导。⧫简述边界值分析与等价类划分技术的区别。两者的区别在于:(1)边界值分析着重边界的测试,选取正好等于、刚刚大于和刚刚小于边界值的测试数据。(2)等价类划分是选取等价类中典型值或任意值作为测试数据⧫简述需求规约的概念及其基本性质概念:是一个软件产品所有需求陈述的正式文档,它表达了一个软件产品的概念模型性质:重要性和稳定性程度;可修改的;一致的;完整的。⧫简述事务设计/变换设计的基本步骤。1.设计准备——复审并精化系统模型2.确定事务处理中心/(变换设计:确定输入、变换、输出这三部分之间的边界)3.第一级分解——系统模块结构图顶层和第一层的设计4.第二级分解——自顶向下、逐步求精。⧫针对具有变换型数据流图和事务型的DFD,简述总体设计的步骤1.在软件总体设计中,通常以变换设计为主,事务设计为辅。2.首先利用变换设计,把软件系统分为输入、中心变换和输出3个部分,设计上层模块。3.然后根据各部分数据流图的结构特点,适当利用变换设计和事务设计进行细化,得到初始的模块结构图。4.再按照“高内聚低耦合”的原则,对初始的模块结构图进行精化,得到最终的模块结构图。⧫简述泛化的概念及其约束。概念:是一般性类目和它的较为特殊性类目之间的一种关系,有事称为“is-a-kind-of”关系。约束:完整;不完整;互斥;重叠。⧫简述RUP设计模型以及包含的元素。概念:RUP设计的主要结果是设计模型,它尽量保持该系统具有分析模型的结构,并作为系统实现的输入。元素:1.设计子系统和服务子系统,以及它们的依赖、接口和内容。2.设计类,以及它们具有的操作、属性、关系及其实现需求。3.用况细化。4.体系结构描述。⧫简述因果图方法生成测试用例的基本步骤。1.通过对软件规格说明书的分析,找出一些模块的原因和结果,并给每个原因和结果赋予一个标识符。2.分析原因与结果之间以及原因与原因之间对应的关系,画出因果图。3.在因果图上标识一些特定的约束和限制条件。4.把因果图转换成判定表。5.为判定表的每一列设计测试用例。⧫简述软件开发的本质及基本途径。本质:软件开发的本质就是实现问题空间的概念和处理逻辑/到解空间的概念和处理逻辑之间的映射。基本途径:是系统建模。所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。⧫简述结构化分析建模的基本步骤。1、建立系统环境图,确定系统语境,一般为系统的顶层数据流图。2.自顶向下,逐步求精,建立系统的层次数据流图。3.定义数据字典,用于表达系统中的数据结构。4.描述加工,用于表达每个加工输入和输出之间的逻辑关系。5.需求验证。⧫简述RUP中用况模型和分析模型的区别1.用况模型使用客户语言描述,分析模型使用开发语言描述。2.用况模型给出系统对外的视图,分析模型给出系统对内的视图。3.用况模型使用用况予以结构化,分析模型使用衍型类予以结构化。4.用况模型在需求之间可能存在冗余,分析模型不存在冗余。5.用况模型捕获的系统的功能,分析模型是给出细化的系统功能。⧫简述软件生存周期过程,软件生存周期模型,软件项目过程管理之间的关系1.软件生产周期过程回答软件开发需要做哪些工作。2.软件生产周期模型回答开发活动如何组织。3.软件项目过程管理回答软件过程如何管理。4.软件生存周期过程是软件生存周期模型和软件项目过程管理的基础。5.软件生存周期模型为软件项目过程管理提供支持⧫简述计算机软件的概念以及提出软件工程概念的目的概念:是计算机系统中的程序和文档,程序是指计算机处理任务和处理规则的描述,文档则是理解程序所需要的阐述性文件。目的:倡导以工程管理的原则、原理和方法进行软件开发,以期解决软件危机。⧫简述信息隐藏的概念及其意义1.信息隐藏是指在每个模块中所包含的信息不允许其他不需要这些信息的模块访问。2.它是实现模块低耦合的一种有效途径。3.但是一个模块是“绝对”信息隐藏,那么这个模块对系统是毫无意义的。⧫简述RUP中分析模型的表达及其创建所进行的主要活动表达:一个系统的分析模型是由一个“分析系统”定义的,该系统包含一组具有层次结构的包;每一个包可包含一些分析类和用况细化;并且一些分析类和用况细化还可单独地出现在分析模型中,以凸显它们在该系统体系结构方面的作用。活动:体系结构分析、用况分析、类的分析、包的分析。⧫简述软件危机概念:软件的生产率、软件质量远远无法满足社会发展的需求,成为社会发展、经济发展的制约因素,人们把这一现象称为“软件危机”。⧫简述关联,泛化,细化和依赖的概念以及前三者与依赖的关系1.关联是类目之间的一种结构关系,是对一组具有相同结构、相同链的描述。2.细化是类目之间的语义联系,其中一个类目规约了保证另一个类目执行的契约。3.依赖是一种使用关系,用于描述一个类目使用另一类目的信息和服务。4.关联、泛化和细化都是一类特定的依赖。⧫为了表达各类事务之间的关系,UML给出了哪些表达关系的基本术语?请简述其含义表达关系的术语:关联、泛化、实现和依赖。⧫简述程序流程图的优缺点优点:对控制流程的描绘很直观,便于初学者掌握。缺点:不是一种逐步求精的工具;所表达的控制流,往往不受任何约束可随意转移,从而会影响甚至破坏好的系统结构;不易表达数据结构。⧫简述边界值分析在设计测试用例时可以遵循的原则1.如果输入数据规定了值的范围,则应取刚达到这个范围的边界值,以及刚刚超越这个范围边界值作为测试输入数据。2.如果输入数据规定了值的个数,则用最大个数、最小个数、比最大个数多1、比最小个数少1的数作为测试数据。3.如果程序的规格说明给出的输入域或输出域是有序集合,则应选择集合的第一个元素的最后一个元素作为测试用例4.如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。5.分析规格说明,找出其他可能的边界条件。⧫简述选择软件生产周期模型(SLCM)的步骤1.标识开发项目可用的SLCM选择的属性。2.标识那些会影响SLCM选择的属性。3.标识为选择SLCM所需要的任何约束。4.评估所选择的SLCM。5.选择最能满足项目属性和约束的SLCM。⧫简述模块的控制域和作用域的概念以及它们的启发式原则控制域的概念:指这个模块本身以及所有直接或间接从属于它的模块集合。作用域的概念:受该模块内的一个判定所影响的所有模块的影响。启发式规则:改进软件结构,提高模块独立性;力求模块结构适中;力求深度、宽度、扇出和扇入适中;尽力使模块的作用域在其控制域之内。尽力降低模块接口的复杂程序;力求模块功能可以预测。⧫为什么说UML是一种可视化的建模语言,而不是一种特定的软件开发方法学作为一种软件开发方法学,为了支持软件开发活动,至少包括3个方面的内容:1.给出定义不同抽象层的术语。2.应给出各抽象层的模型表达工具。3.应给出过程指导。4.UML仅包括前两方面的内容5.因此,UML是一个可视化的建模语言,而不是一种特定的软件开发方法学。⧫简述RUP中迭代增量式开发的概念以及规定的开发阶段概念:指通过开发活动的迭代,不断产生相应的增量。阶段:初始阶段;精化阶段;构造阶段;移交阶段。⧫简述控制流程图的概念,基本元素以及他与程序流程图的差异概念:是一种表示程序控制结构的图形化工具基本元素:过程块、节点、判定。差异:与程序流程图之间的差异是,在控制流程图中不显示过程块的细节,而在程序流程图中着重于过程属性的描述。⧫简述CMMI模型支持的两种过程改善路径。1、一是称为能力等级是一种过程改善路径,该路径可使组织针对单一过程域不断改善该过程域;2、是称为成熟度等级也是一种过程改善路径,该路径可使组织通过关注一组过程域不断改善一组相关过程域⧫简述CMMI成熟度等级的概念和划分。概念:是一种过程改善路径,该路径可使组织通过关注一组过程域不断改善一组相关过程域。划分:1级:初始级;2级:已管理级;3级:已定义级;4级:已定量管理级;5级:持续优化级。⧫简述结构化方法总体设计的任务,步骤和模式任务:是把系统的功能需求分配到一个特定的软件体系结构中,即把需求分析所得到的系统DFD图映射为设计层面上的模块和模块调用。步骤:1、初始设计:首先将系统的DFD图转化为初始的模块结构图;2、精华设计:基于“高内聚低耦合”的原则,通过模块化,将初始的模块结构图转化为最终的、可供详细设计使用的模块结构图(MSD);3、复审阶段:对MSD图进行复审。模式:变换设计和事务设计。⧫简述CMMI提出所基于的基本思想该模型基于过程途径思想,通过过程把软件质量的3个支撑点――受训的人员、规程和方法、工具和设备进行集成,以开发所期望的系统。⧫简述以结构化分析方法建立系统功能模型的建模工具和建模过程。工具:程序流程图(DFD图)过程:1、建立系统环境图,确定系统语境,一般为系统的顶层数据流图;2、自顶向下,逐步求精,建立系统的层次数据流图;3、定义数据字典,用于表达系统中的数据结构;4、描述加工,用于表达每个加工输入和输出之间的逻辑关系;5、需求验证。⧫简述顺序图的概念、构成和主要作用。概念:是一种交互图,由一组对象以及按时序组织的对象之间的关系组成,其中还包含这些对象之间所发送的消息。构成:(1)消息(2)对象生命线(3)聚焦控制。控制操作子:选择执行操作子,条件执行操作子,并发执行操作子,迭代执行操作子。作用:在给定语境中消息是如何在对象间传递的图形化方式,在使用其进行建模⧫简述白盒测试技术的要点。白盒测试技术依据程序的逻辑结构,以控制流程图作为被测对象建模工具,其中涉及过程块、分支、节点、链以及路径,并针对测试覆盖率,给出了4种覆盖策略:语名覆盖、分支覆盖、条件组合覆盖和路径覆盖,它们之间具有偏序关系,并且可根据项目需求给出其他覆盖策略。⧫什么是类?什么是对象?简述类在建模中的主要用途。类和的概念:是一组具有相同属性、操作、关系和语义的对象的描述,包括一组属性的操作;对象类的一个实例。用途:模型化问题域中的概念;建立系统职责分布模型;模型化建模中使用的数据类型。⧫简述软件测试和软件调试之间的区别。1、测试从一侧面证明程序员的“失败”。调度为了证明程序员是正确的;2、测试以已知条件开始,使用预告定义的程序且有预知的结果,不可预见的仅是程序是否通过测试;3、测试是有计划的,并要进行测试设计。高度是不受时间约束的;4、测试是发现错误、改正错误、重新测试的过程。调试是一个推理过程;5、测试的执行是有规程的。调试的执行往往要求程序员进行必要推理。⧫简述在进行软件系统/产品的需求工作中所面临的挑战和应对方法。挑战:1、问题空间理解;2、人与人这间的通信;3、需求的变化性。方法:1、提供方便的通信的机制;2、鼓励需求分析人员使用问题空间的术语思考问题,编写文档;3、提供定义系统边界的方法;4、提供支持抽象的基本机制;5、为需求分析人员提供多种可供选择的方案;6、提供特定的技术,适应需求的变化。⧫什么是RUP?它有什么特点?概念:是基于UML的一种过程框架,为软件开发,即为进行不同抽象层之间“映射”安排其开发活动的次序,指定任务和需要开发的制品,提供了指导;并为对项目中的制品和活动进行监控与度量,提供了相应的准则。特点:以用况驱动;以体系结构为中心的迭代、增量式开发。⧫简述人们关于软件测试目的的认识所经历的几个阶段。1.认为软件测试和软件调试没有区别。2.认为是为了表明软件能正常工作。3.认为测试是为了表明软件不能工作。4.认为软件测试是为了将