ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:26.80KB ,
资源ID:12710866      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12710866.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(武汉理工软件设计与体系结构复习仅供参考.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

武汉理工软件设计与体系结构复习仅供参考.docx

1、武汉理工软件设计与体系结构复习仅供参考1 简答题什么是防止变异模式? 是如何设计对象,子系统和系统,使这些元素内部的变化或不稳定性不会对其他元素产生不良影响。 解决方案:识别预测的变化或不稳定之处,分配职责用以创建稳定接口。2什么是依赖反转原理? 把你的类从具体的实现中隔离开,使它们依赖于抽象类或接口。它促进了代码面向接口而不是实现,这通过保证对实现的低耦合来增加系统的灵活性。3.仓库风格的组件和连接器是什么? 组件:(1)一个能表示出系统的正确状态的数据结构 (2)操作主要数据结构的独立组件的集合。 连接器:典型的过程调用或是直接内存访问。什么是响应时间? measure of the la

2、tency an application exhibits in processing a request 对一个应用程序在处理请求显示出的潜在因素的测量标准。常用的中间件有那几种类型? CORBA (Common Object Request Broker Architecture) Message-oriented middleware J2EE Message brokers Business process orchestrators(1) 常见的对象请求代理架构(2) 面向消息的中间件(3) Java2 Enterprise Edition(Java2的企业版)(4) 消息代理(5)

3、 业务过程代理管道过滤器风格? 在管道/过滤器风格的软件体系结构中,每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。这个过程通常通过对输入流的变换及增量计算来完成,所以在输入被完全消费之前,输出便产生了。因此,这里的构件被称为过滤器,这种风格的连接件就象是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入架构师需要的核心技能是什么? Many responsibilities: Liaison with stakeholders Technology knowledge Software engineering Risk managements(1) 涉

4、众之间的交流(2) 技术知识(3) 软件工程学(4) 风险管理什么是软件架构? Its about software design All architecture is software design, but not all design is software architecture Part of the design process Simply, architecture focuses on issues that will be difficult/impossible to change once the system is built Quality attributes

5、 like security, performance Non-functional requirements like cost, deployment hardware More on these later in this session 它是关于软件设计: 所有的架构是软件设计,但不是所有的设计都是软件架构。 设计过程的一个部分简单地说,架构关注“一旦系统建立后就很难或是不可能改变的问题”: 质量属性,例如安全性,性能 非功能性需求,像开销,硬件配置 更多的是在这个部分之后的答:软件架构(software architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的

6、设计。 软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口_(计算机科学)来实现。什么是架构风格? 一组原则。你可以把它看成是一组为系统家族提供抽象框架的粗粒度模式。什么是架构视图? 一个架构视图是对于从某一视角或某一点上看到的系统所做的简化描述,描述中涵盖了系统的某一特定方面,而省略了此方面无关的实体。OO风格的组件和连接器是什么? Components: are objects. Connectors: a

7、re function and procedure invocations (methods). 组件:对象 连接器:功能和过程调用(方法) 什么是可伸缩性? “How well a solution to some problem will work when the size of the problem increases.” 当问题的规模增加,对一些问题的解决方案能否很好的运作。 理论上,可以称为软件系统的工作负载能力和硬件资源的投入成比例。换句话说,在一个具有良好伸 缩性的系统中,如果你加大工作量两倍,那么软件系统将使用两倍系统资源(假设足够的化),同时获得两倍的工作能力,当然也不可

8、能无限制的和硬件增加成比例。反过来说,一个可伸缩性差的系统,在一个低端的PC server和高配的小机上的性能是没有很大的区别的。什么是开闭原则? The OCP(Open-Closed Principle) states that classes should be open for extension and closed for modification, in that you should be able to add new features and extend a class without changing its internal behavior. The princip

9、le strives to avoid breaking the existing class and other classes that depend on it, which would create a ripple effect of bugs and errors throughout your application.开闭原则陈述了类应该对扩展开放,对修改关闭;这样你就能够添加新的特征,扩展一个类而不需要改变它的内部行为。这个原则避免破坏存在的类和其他依赖它的类,这样可能会造成你的整个应用程序产生故障和错误的涟漪。开放封闭原则(OCP)中的类应该对扩展开放,对修改关闭,你应该能够

10、添加新的特点和延长上课不改变其内部的行为。原则竭力避免打破了现有的阶级和其他课程,而依靠它,这将创造一个连锁效应,在你的错误和错误的应用。什么是信息专家模式? 我们在设计对象(类)时,如果某个类能够在某方面具有完整信息,足以实现某责任,就将这个责任分配给这个类,这个类即所谓的信息专家2 详述以下问题GRASP模式的具体内容1. CreatorAssign to class B the responsibility to create an instance of class A if1. B aggregates A objects.2. B contains A objects.3. B r

11、ecords instances of A objects.4. B closely uses A objects.5. B has the initializing data that will be passed to A when it is created.2. Expert “ expresses the common intuition that objects do things related to the information they have.” Assign the responsibility for “knowing” something to the objec

12、t (class) that has the information necessary to fulfill the responsibility.3. ControllerThe controller is the first object beyond the UI layer that is responsible for receiving or handling a system operations message.4. Low CouplingMeasures the degree of dependency that exists between modules.5. Hig

13、h CohesionMeasure of the degree of “relatedness” that elements within a module share.Degree to which the tasks performed by a single module are functionally related.6. Polymorphism When related alternatives or behaviors vary by type (class), assign responsibility for the behaviorusing polymorphic op

14、erationsto the types for which the behavior varies.7. Pure FabricationAssign a highly cohesive set of responsibilities to an artificial or convenience class that does not represent a problem domain conceptsomething made up, to support high cohesion, low coupling, and reuse.8. IndirectionProblem: How

15、 to assign responsibility to avoid direct coupling? How to de-couple objects?Solution: Assign responsibility to an intermediatory object to mediate between the two components9. Protected VariationsProblem:How to design objects, subsystems, and systems so that the variations or instability in these e

16、lements does not have an undesireable impact on other elements?Solution:Identify points of predicted variation or instability; assign responsibility to create a stable interface around them.1.创造者分配给类B职责来创造类A的一个实例如果:(1) B聚合A的对象(2) B包含A的对象(3) B记录A的对象的实例(4) B紧密地使用A的对象(5) B被创建时有初始化的数据传递给 2.专家 在设计对象(类)时,

17、如果某个类能够在某方面具有完整信息,足以实现某责任,就将这个责任分配给这个类, 3.控制器 控制器是在用户接口层上的第一个对象,负责接收和处理系统的操作信息。 4.低耦合 测量存在于模块之间的依赖程度 5.高内聚 测量一个共享的模块内元素的相关性 一个单独模块执行任务的程度是功能相关的 6.多态 当相关的供选方案或行为随着类型的变化而变化时,给行为分配职责使用多态操作来适合行为变化的类型。 7.纯虚构 分配一系列高度聚合的职责给虚假的类或是不表现某事完成的领域问题概念的有用的类,它支持高内聚、低耦合、可重用。 8.间接 问题:如何分配职责避免直接耦合?如何减弱对象的耦合? 解决方案:分配职责给

18、中间的调解对象来调解两个组件之间的关系。 9防止编译问题:如何设计对象,子系统和系统,使其内部的变化和不稳定不会对其他元素产生不良影响?解决方案:识别设计变化或不稳定之处,分配职责用以在这些变化之外创建稳定接口。GRASP用职责设计对象:Designing Objects with Responsibilities.它包含了9个基本模式: 1.信息专家(Information expert) 2.创建者(Creator) 3.高内聚(High Cohesion) 4.低耦合(Low Coupling) 5.控制器(Controller) 6.多态性(Polymorphism) 7.纯虚构(Pu

19、re Fabrication) 8.间接性(Indirection) 9.变化预防(Protected Variations) GRASP的主要特征: - 对象职责分配的基本原则。 - 主要应用在分析和建模上。 GRASP的核心思想的理解: 自己干自己的事(职责的分配) 自己干自己的能干的事(职责的分配) 自己只干自己的事(职责的内聚) 常见的架构风格1.Pipe and Filter Architectural Style Suitable for applications that require a defined series of independent computations t

20、o be performed on ordered data. A component reads streams of data on its inputs and produces streams of data on its outputs. Components: called filters, apply local transformations to their input streams and often do their computing incrementally so that output begins before all input is consumed. C

21、onnectors: called pipes, serve as conduits for the streams, transmitting outputs of one filter to inputs of another.2.Object-Oriented Style Suitable for applications in which a central issue is identifying and protecting related bodies of information (data). Data representations and their associated

22、 operations are encapsulated in an abstract data type. Components: are objects. Connectors: are function and procedure invocations (methods).3.Implicit Invocation Style Suitable for applications that involve loosely-coupled collection of components, each of which carries out some operation and may i

23、n the process enable other operations. Particularly useful for applications that must be reconfigured on the fly: Changing a service provider. Enabling or disabling capabilities. Instead of invoking a procedure directly . A component can announce (or broadcast) one or more events. Other components i

24、n the system can register an interest in an event by associating a procedure with the event. When an event is announced, the broadcasting system (connector) itself invokes all of the procedures that have been registered for the event.An event announcement “implicitly” causes the invocation of proced

25、ures in other modules.4Client-Server Style Suitable for applications that involve distributed data and processing across a range of components. Components: Servers: Stand-alone components that provide specific services such as printing, data management, etc. Clients: Components that call on the serv

26、ices provided by servers. Connector: The network, which allows clients to access remote servers.5.Layered Style Suitable for applications that involve distinct classes of services that can be organized hierarchically. Each layer provides service to the layer above it and serves as a client to the la

27、yer below it. Only carefully selected procedures from the inner layers are made available (exported) to their adjacent outer layer. Components: are typically collections of procedures. Connectors: are typically procedure calls under restricted visibility6. Repository Style Suitable for applications

28、in which the central issue is establishing, augmenting, and maintaining a complex central body of information. Typically the information must be manipulated in a variety of ways. Often long-term persistence is required. Components: A central data structure representing the correct state of the syste

29、m. A collection of independent components that operate on the central data structure. Connectors: Typically procedure calls or direct memory accesses.7Interpreter Style Suitable for applications in which the most appropriate language or machine for executing the solution is not directly available. C

30、omponents: include one state machine for the execution engine and three memories: current state of the execution engine program being interpreted current state of the program being interpreted Connectors: procedure calls direct memory accesses8. Process-Control Style Suitable for applications whose

31、purpose is to maintain specified properties of the outputs of the process at (sufficiently near) given reference values. Components: Process Definition includes mechanisms for manipulating some process variables. Control Algorithm for deciding how to manipulate process variables. Connectors: are the data flow relations for: Process Variables: Controlled variable whose value the system is intended to control. Input variable that measures an input to the process. Manipulated variable whose value can be changed b

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1