《软件工程考试题软件工程试题及答案.doc》由会员分享,可在线阅读,更多相关《软件工程考试题软件工程试题及答案.doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程考试题软件工程试题及答案WTT给大家提供软件工程试题及答,欢送参考!一、填空10_1分=10;1产品设想是产品用处和形式的概括描绘,可以通;2工程范围是工程中要完成的工作;3产品设计过程的特点可以概括为自顶向下和以用;4备选需求的思想可以来自设计团队的内部或外部;5工程设计的第一步是工程设计分析p ;6体系构造设计必须既考虑功能需求,又考虑非功;7设计形式出如今几个不同的抽象级别上,包括体;8一、填空10 _1分=101产品设想是产品用处和形式的概括描绘,可以通过主要产品功能列表的形式详细说明。2工程范围是工程中要完成的工作。风险承当者是受产品影响或参与。影响产品开发的任何人。3产品设
2、计过程的特点可以概括为自顶向下和以用户为中心。前者意味着设计人员首先要在高抽象级别上引出需要并生成、改良、评估和选择需求,然后再依次在更低的级别上引出需要并生成、改良、评估和选择需求。后者意味着设计过程是以风险承当者为焦点,使用实验评估,而且高度重复。4备选需求的思想可以来自设计团队的内部或外部。前一种来包括用户和其他风险承当者、专家、现实物品和比喻、竞争产品和相似产品。后一种来包括团队集体讨论、个人独立考虑和建模。5工程设计的第一步是工程设计分析p 。这项活动的输入包括可能以各种模型和原型作为其补充的SRS,它们都是在产品设计过程中产生的。从软件的生命周期的观点来说,工程设计发生在设计阶段。
3、在这项活动中分析p 问题的好方法是建模,这将产生该活动的主要输出。6体系构造设计必须既考虑功能需求,又考虑非功能需求。使程序可以满足其功能需求的体系构造可能有任意多个,但其中只有质量特性可以同时使程序满足其非功能需求。软件体系构造设计者必须考虑多种程序以找出那些所能指定的程序既能满足功能需求,又能满足非功能需求的构造。7设计形式出如今几个不同的抽象级别上,包括体系构造风格,它是处于体系构造级别的形式;中级设计模型它是设计类及其交互作用的形式;数据构造和算法它是实现抽象数据类型和有效操作的形式;编程惯用法,它是可以有效使用特定编程语言的形式。8在应用树中,树根以utility加以标记,根的子树是
4、概貌的名称,树叶表示场景。这些树帮助生成用来评估体系构造方案的场景的集合。9正确使用表示方法的SAD是构造良好的SAD,全部可以由一个程满足的一组设计说明是一致的。所指定的程序可以满足其所有需求的软件体系构造是完好的。假如SAD易于理解,那么是明晰的。10详细设计解析非常类似于体系构造设计解析。可用于生成和改良设计方案的技术包括基于程序功能的分解、基于质量特性的分解、从概念模型中复制设计、根据类似程序的设计模型创立设计以及使设计基于设计形式之上。二、名词解释5_3分=151.模型模型是用来表示另一个实体目的的实体,建立模型要确定目的的部件或元素与模型的部件或元素之间的对应关系,还要确定目的的部
5、件或元素间互相关系与模型的部件或元素间互相关系之间的对应关系。2.静态设计模型静态设计模型表示不会在程序执行过程中发生变化的程序方面。3.动态设计模型动态设计模型表示在程序执行过程中所发生的事情。4.用例用例是产品与环境之间完好交互作用的类型。5.场景场景是产品与特定个人之间的交互作用。6.类模型问题或软件解决方案中类的表示。7.抽象类它是一个不能被实例化的类,任何至少有一个抽象操作的类都必定是抽象类,因为假如实例化这样的类,那么客户并不能调用其包含的抽象操作,不是抽象类的类是详细类。8.UML接口是公有的属性和抽象操作的有名集合。9.虚拟设备真实硬件设备或系统的软件模拟或接口。10.同步消息
6、从一个对象到另一个对象的通信,而这个发送个体在发送信息之后暂停执行。11.异步消息从一个对象到另一个对象的通信,而这个发送个体在发送信息之后继续执行。12.严格分层体系构造允许每层只使用紧邻其下的那一层的分层体系构造13.松弛分层体系构造允许每层都可以使用其下的所有层的分层体系构造14.黑板体系构造风格当共享数据库改变时,共享数据库将激活存取器。这种变体称为黑板体系构造风格,共享数据库称为黑板15.仓库体系构造风格共享数据库是被动的,由存取器对其进展查询,这些存取器可以继续运行,或者由其他某个组件控制,这种变体称为仓库体系构造风格,共享数据库称为仓库16.异构体系构造采用两种或多种体系构造风格
7、的体系构造三、简答题30分1.说出设计当作问题解决方案来考虑的3个优点。第一:这意味着信息在问题和解决方案之间可能是隔离的第二:由此产生的对待设计的观点第三:意味着要在设计中使用历史悠久的一般的问题解决技术2.为什么说抽象化是重要的问题解决技术?说出3点理由。a) 使问题简化真实的问题总是有许多与其解决方案无关的细节b) 使问题的解决构造化许多设计问题都太大太复杂,以致不能完全解决c) 有助于以自顶向下的方式构成问题解决过程3.例举建模的好处和危险。好处:可以简化要表示的目的,从而使我们更容易理解,记录和研究目的。研究模型还可能比直接研究目的更省本钱,更平安。危险:模型永远不能准确再现所表示的
8、目的,因此研究模型得出的结论有可能不正确。4.例举软件的产品设计人员和工程设计人员所关注的详细方面。局部详细的软件产品设计:屏幕布局包括用户界面组件的布置以及这些组件的大小,字体颜色和外观;用户与程序之间的交互顺序;消息的编写;图像的使用和外观;程序将执行的功能;程序所需的输入和产生的输出;程序的质量和可靠性;用户使用该程序到达其目的的易用性;程序是如何适应和改变用户工作方式局部详细的软件工程设计:构成程序的主要部件或子系统,包括它们的接口,功能,交互作用,速度等;程序中的模块以及这些模块的接口;程序中模块之间的交互作用;模块的内部细节,包括它们的数据和行为;程序中使用的数据构造和算法;程序中
9、异常和错误处理机制;程序中的进程和线程。5.为了核实某个用例图是否包括所有应该包括的用例,设计人员应该怎样做?通过检查产品需要清单来确保所有需要都已得到满足,或者确保所有未被满足的需要都是成心为之的,设计人员可以检查用例图的完好性6.给出3个因太小而不应成为用例的活动例如。某些因太小而不宜作为用例的活动例如是:给设备或另一个系统发送信号或消息,接收来自设备或另一个系统的信号或消息,向用户显示消息。7.哪些表示法可用于用例描绘?任何可以说明交互作用中活动流程的表示法都可以用于用例描绘,其中包括uml活动图,uml交互作用图,流程图,编程语言和自然语言。8.为什么至少必须有一个风险承当者的需要与用
10、例有关?假如某种产品的任何风险承当者都没有与某个用例相关的需要,那么该产品就没有理由支持这个用例。产品应该满足风险承当者的需要和要求,产品的所有特点和功能都应该效劳于这个目的。9.假如在开场工作时没有完好、正确和一致的产品设计,那么工程设计人员必须做什么?假如工程设计人员没有得到由产品设计人员提供的完好,正确和一致的产品设计,那么除了亲自完成产品设计以外别无选择,假如完全不知道产品是什么,就不可能想出如何来实现产品。10.对工程设计分析p 最有用的静态和动态模型是什么?对面向对象的工程分析p 最有用的静态模型是分析p 类模型,最有用的动态模型是用例模型11.给出一些不应该出如今概念模型中但应该
11、出如今设计类模型中的实例。不应该出如今概念模型中但应当出如今设计类模型中的例如是那些与软件系统有关而问题无关的实体,详细例子包括只与实现有关的类属性,比方:计数器,引用以及仅仅为了方便的变量;还有只与实现有关的属性的特征,比方属性是公有还是私有,属性的数据构造是什么;以及只与实现有关的操作,比方构造函数,析构函数,完毕函数,获取恶化设置属性的方法;或者是只与实现有关的操作的特征,比方操作是公有还是私有,它们支持哪种并发性。12.给出一些不应该出如今设计类模型中但应该出如今实现类模型中的实例。不应该出如今设计类模型中但应当出如今实现类模型中的例如是那些与特定环境和语言中的程序实现有关的实体。详细
12、的例子有来自类库的详细类,比方Java.lang.integer;还有哪些为语言所特有的数据类型,比方unsinged long;以及操作和初始化表达式13.在软件体系构造文档中应该包括什么信息?软件体系构造文档应该包括产品概述,给出体系构造模型,提供模型之间的映射,解释设计的理论根据,并包括词汇表14.什么图可以用来模拟程序部件之间的协作?说出五种。Uml顺序图,通信图,活动图,用例模型,数据流程图15.描绘用于生成中级设计模型的两种创立技术和两种转换技术。两种创立技术是功能分解和基于主题的分解。在功能分解技术中,为得到低级别的组件而分解高级别组件的功能。在基于主题的分解技术中,设计主题从设
13、计故事中被汲取出来,然后用来生成解决各个主题的形式。两种转换技术是把概念模型转换为设计模型以及转换类似程序的设计,转换概念模型从概念模型着手,将其元素从问题实体转换为设计组件,修改这些组件并添加必要的新组件,。转换类似的设计需要修改原来的设计,以满足新产品的需求。16.职责是如何帮助做出模块中应该放入哪些操作和数据的决策?某个模块为履行其职能所需的全部数据和操作都应该被放入该模块中,也只有这样的数据和操作才应该被放入该模块之中。这将增强模块的内聚性,并降低模块的耦合性。17.解释操作何时活动、暂停或执行。对象可以暂停吗?为什么?操作当某个进程在运行其代码时处于执行状态,当等待同步消息返回时处于
14、暂停状态,当执行或暂停时属于活动状态,对象可以是活动的,因为对象可以有一个或多个活动的操作,但对象不能被暂停,。有人可能会说,假如某个对象的一个或多个操作被暂停,那么该对象就处于暂停状态,但是,一个或多个操作被暂停的对象却可能有一个或多个操作正在执行,因为可能有多个进程在运行该对象的代码,因此说一个或多个操作被暂停的对象处于暂停状态是没有意义的。18.可选、选择、中断和循环片断分别可以有多少个操作数?可选,中断和循环片段只能有一个操作数,选择片段可以有一个或多个操作数。19.解释分层风格如何支持重用的?在分层体系构造中,每一层都应当包含内聚元素,并只和它下面的那个模块耦合,这样可以比拟容易的提
15、取有一个层并在另一个程序中使用它,此外,类似的程序可能需要类似的层,所以层的重用也将更加容易。20.解释分层风格的程序难以调试的原因。在具有分层体系构造的程序中实现许多程序特性将跨越几个层,也许是大局部层,假如出现bug,那么难以确定发生故障的层,从而使程序难以调试。10.下面的UML序列图是对一个自动气象站中对象的交互行为建模。在图中直接圈出所有错误,并重新绘制顺序图。10分1 根据上图中,什么消息被发送Weathervane对象?cheeckDirection checkSpeed2创立了多少个Observation 对象?1个3record( )操作在其参数设置前是否能被调用?否4sel
16、f对象的类型是什么?整型5Weathervane对象的名称是什么?W11.下面两张图中,哪一张图是框线图,并简述框线图的用处。5分第一张图是框线图的用处:因为关于框线图的规定非常松散,所以它们不仅可用于静态建模,也可用于动态建模,还能表示体系构造设计者想要表示的任何程序方面。在理论中,框线图的最常见用处是表示把系统分解为主要构件或子系统,并说明其交互作用关系的静态模型。12.下面两张图中,哪一张图是部署图,并简述部署图的用处。5分?device?ServerPC;?artifact?GameServer;TCP/IPRMI?device?GameDat;?device?ClientPC?dep
17、loy?;第二张图是;部署图的用处:部署图显示了系统中使用的实际和虚拟;13.下面两张图中,哪一张图描绘的管道过滤器风格;10分;第一张图是;管道过滤器风格的特征:a:以数据流向的过程为核心?device?ServerPC?artifact?GameServer1TCP/IPRMI?device?GameDataServer?DB?GameDataRulesBoardImageTokenImage?device?ClientPC?deploy-artifact?GameClient第二张图是部署图的用处:部署图显示了系统中使用的实际和虚拟的机器,这些机器的通信途径、实现该系统的程序和数据文件以
18、及程序运行和数据主流所在的位置。因此,部署图为模拟物理体系构造提供了功能丰富的表示方法。部署图在体系构造特别是分布式系统的设计过程中是有用的,在详细设计过程中亦可用于模拟物理的部署。13.下面两张图中,哪一张图描绘的管道过滤器风格。简述管道过滤器风格的特征和优缺点。10分第一张图是管道过滤器风格的特征:a:以数据流向的过程为核心,因此也被称为:数据流风格。b:过滤器自身功能独立而完好,不需要知道其他过滤器的存在与否,互相之间无状态交互。 c:过滤器对输入的数据流有限制,并必须保证输出流的正确性。d:系统 优点1过滤器易于修改或交换,这样在解决问题或修改程序的行为时,程序的修改将非常简单。2过滤
19、器的重新排列几乎毫不费力,这便于开发几个完成类似任务的程序。3过滤器具有高可重用性。4假设可以使用同步管道,那么这种风格支持并执行,而且相对容易实现。缺点1过滤器只能通过管道进展通行,所以它们的活动难以协调。2过滤器通产使用和生成非常简单的数据流,如字符流,这意味着,在把输入转换成有用的格式,然后再把结果转换成输出时使用的简单格式时,过滤器可能必须完成大量的操作。3错误处理非常困难,错误信息只能通过管道输出或传送。当可靠性和平安性很重要时,由于错误检测和恢复难以完成,所以不合适使用这种风格。4并行执行的好处可能并不牢靠。管线也许不能有效地同步过滤器,一些过滤器在进展输出之前可能需要等待所有的输
20、入。14.下面两张图中,哪一张图描绘的事件驱动风格。简述事件驱动风格的特征和优缺点。10分第二张图是事件驱动风格的特征:事件驱动系统的根本观点是一个系统对外部的表现可以从它对事件的处理表现出来。优点:1易于添加、删除和修改组件,所以利用这种风格编写的程序具有可变性和可维护性2程序组件的独立性支持可重用性、强健性和容错性。缺点:1尽管时间可以携带数据,但是在由事件分配器进展中介时,组件的交互作用将难以到达。为理解决这个问题,事件驱动的系统通常还支持显示的调用操作,尽管这将耦合组件。2宣布事件的组件不能保证有组件对他们进展相应,也不能对组件相应他们的顺序寄予任何期望。有时,这会造成难以编写出正确的
21、程序。3事件通信量往往有很大的变化:事件分配器经常处于空闲状态,而在其他时间,它那么会收到大量事件,这样将难以到达性能目的。四、综合设计题每题14分,共35分1.绘制活动图,说明一般设计的步骤,并说明活动图的用处。7分一般设计的步骤:一般设计过程遵循一般的问题解决策略。首先是理解设计问题。寻找设计问题解决方案的过程是重复生成新候选解决方案或细化现有候选解决方案,然后根据设计问题对它们进展评估。最终应该有一个或多个令人满意的解决方案出现,然后即可把最好的一个以文档形式记录下来并交付。活动图的用处:一般设计过程分析p 和解析之间的重复。表示任何在问题解析过程中发现的对问题的误解都将导致返回到分析p 活动。2.绘制活动图,模拟洗衣过程。该模型中应包括并发动作,并说明活动图的用处。7分 活动图的用处:简化描绘了洗衣过程:包括对系统的工作流建模或者对详细的操作建模。3.绘制自助洗车系统的用例图,并说明用例图的用处。7分4.绘制自动取款机的用例图,并说明用例图的用处。7分5.使用状态机图绘制交通路口红绿灯的并发行为模型,并说明状态机图的用处。7分第 17 页 共 17 页
限制150内