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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

软件体系结构考试.docx

1、软件体系结构考试CS6075 Final Take-Home Exam Answers9:00am 3:00pm, May 19, 20131. (8%) Answer the following questions about the big idea of software architecture in software engineering:a) What are the principal insights from the discipline of building (conventional) architecture that are applicable to the c

2、onstruction of software systems? Ans:We all live in them. We know how they are built:Requirements, Design (blueprints), Construction, Use. Satisfaction of customers needs. Specialization of labor. Multiple perspectives of the final product. Intermediate points where plans and progress are reviewed.

3、Architecture is different from, but linked with the product/structure. Properties of structures are induced by the design of the architecture. The architect has a distinctive role and character. Process is not as important as architecture. Design and resulting qualities are at the forefront. Process

4、 is a means, not an end. Architecture has matured over time into a discipline. Architectural styles as sets of constraints. Styles also as wide range of solutions, techniques and palettes of compatible materials, colors, and sizes. A distinctive role and character in a project. Very broad training.

5、Amasses and leverages extensive experience. A keen sense of aesthetics. Deep understanding of the domain: Properties of structures, materials, and environments and Needs of customers. Even first-rate programming skills are insufficient for the creation of complex software applications.b) Lists 5 or

6、more differences between tasks of a software architect and a building architect. Explain your answer. Ans:The nature of software is different from that of building architecture. They are different things in different areas. Software is much more malleable than physical materials.When a building is b

7、uilt, it cant be changed. However, software can be updated and rebuilt. The two “construction industries” are very different.The two whole industries have no similarity. Software deployment has no counterpart in building architecture. Software is a machine; a building is not. Software can be easily

8、copied; a building is not. 2. (8%) Answer the following questions about the software architecture centric approach in software life cycle: a) The architecture-centric approach emphasizes that software architecture is artifact, not software development phase. Explain that if we only consider software

9、 architecture as a development phase, what the role of software architecture is in software life cycle. Explain that if we consider software architecture as development artifact, what the role of software architecture is in software life cycle. Ans:As a phase:Treating architecture as a phase denies

10、its foundational role in software development. It is more than “high-level design”. Architecture is also represented, e.g., by object code, source code,. As a artifact:The role is in the whole software life cycle, containing Requirements, Design, Implementation, Analysis and Testing, Evolution and D

11、evelopment Process. Requirements:Traditional SE suggests requirements analysis should remain unsullied by any consideration for a design. However, without reference to existing architectures it becomes difficult to assess practicality, schedules, or costs. In building architecture we talk about spec

12、ific rooms rather than the abstract concept “means for providing shelter”. In engineering new products come from the observation of existing solution and their limitations. Existing designs and architectures provide the solution vocabulary. Our understanding of what works now, and how it works, affe

13、cts our wants and perceived needs. The insights from our experiences with existing systems helps us imagine what might work and enables us to assess development time and costs. Requirements analysis and consideration of design must be pursued at the same time.Design:Traditional design phase suggests

14、 translating the requirements into algorithms, so a programmer can implement them. Architecture-centric design stakeholder issues decision about use of COTS component overarching style and structure package and primary class structure deployment issues post implementation/deployment issues.Implement

15、ation:The objective is to create machine-executable source code. That code should be faithful to the architecture. Alternatively, it may adapt the architecture. How much adaptation is allowed? Architecturally-relevant vs. -unimportant adaptations. It must fully develop all outstanding details of the

16、 application Analysis and Testing:Analysis and testing are activities undertaken to assess the qualities of an artifact. The earlier an error is detected and corrected the lower the aggregate cost. Rigorous representations are required for analysis, so precise questions can be asked and answered .Ev

17、olution:Motivation. Evaluation or assessment. Design and choice of approach Action includes preparation for the next round of adaptationDevelopment Process:Traditional software process discussions make the process activities the focal point. In architecture-centric software engineering the product b

18、ecomes the focal point. No single “right” software process for architecture-centric software engineering exists. b) Explain that, in terms of unit tests of a software system, based on the systems software architecture models, what black-box test cases can be designed? What white-box test cases can b

19、e designed? Ans:3. (20%) Answer the following questions about the concepts of software architecture:a) Give 2 or more reasons that potentially cause a software systems prescriptive and descriptive architectures mismatch?Ans:A systems prescriptive architecture captures the design decisions made prior

20、 to the systems construction. It is the as-conceived or as-intended architectureA systems descriptive architecture describes how the system has been built It is the as-implemented or as-realized architectureReasons:The nature of the components The nature of the connection The global nature of the ar

21、chitecture Construction processesb) Use one sentence to explain each of the following elements of a software systems architecture: component, connector, and configuration. Ans:Component:encapsulate processing and data in a systems architectureConnector:an architectural building block tasked with eff

22、ecting and regulating interactions among componentsConfiguration:a set of specific associations between the components and connectors of a software systems architecturec) Software architecture is a set of principle decisions on a software system in 4 aspects: structure, behavior, interaction, and no

23、n-functional properties. You are asked to design a software system for a user to manage his contact list with the following functionality: add a new contact, delete a contact, update a contact, search a contact, and view a contact. The software architecture must be based on MVC architectural pattern

24、. Draw a UML class diagram, with classes and their relationships, to show the structure of the system architecture. For each class in the diagram, just give its name and operations without signature. Draw a UML sequence diagram to show the collaborative object behaviors that implement one of the abo

25、ve operations. Describe your choice of connectors that implement communications between system components. Give one example required non-functional property of the system. Ans:Class diagramSequence diagram4. (12%) Answer the following questions about software architectural styles:a) Use one sentence

26、 to explain each of the following categories of architectural styles: layered, data flow, shared memory, interpreter, implicit invocation, and peer-to-peer.Ans:layered:Hierarchical system organization. “Multi-level client-server”. Each layer exposes an interface (API) to be used by above layersdata

27、flow:Separate programs are executed in order; data is passed as an aggregate from one program to the next.shared memory:memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copiesInterpreter:Interpreter parses and execu

28、tes input commands, updating the state maintained by the interpreterimplicit invocation:a term used by some authors for a style of software architecture in which a system is structured around event handling, using a form of callback.peer-to-peer:a distributed application architecture that partitions

29、 tasks or work loads between peers.b) What is in common between virtual machine style and interpreter style? What is the deference between the two? Explain your answer.Ans:A virtual machine (VM) is a software implemented abstraction of the underlying hardware, which is presented to the application l

30、ayer of the system. Virtual machines may be based on specifications of a hypothetical computer or emulate the computer architecture and functions of a real world computer. Interpreter parses and executes input commands, updating the state maintained by the interpreterComponents: Command interpreter,

31、 program/interpreter state, user interface.Connectors: Typically very closely bound with direct procedure calls and shared state.Highly dynamic behavior possible, where the set of commands is dynamically modified. System architecture may remain constant while new capabilities are created based upon

32、existing primitives.Superb for end-user programmability; supports dynamically changing set of capabilitiesLisp and Schemec) When you use an object-oriented programming language, such as Java, to develop a software system, the system implicitly applies object-oriented architectural style. Applying any additional architectural style results in that the system architecture will be based on a combination of two or more styles. Use an example to sh

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

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