版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,1,Chapter 8,Architectural Design,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Sli
2、des copyright 2009 by Roger Pressman,2,Why Architecture,The architecture is not the operational software. Rather, it is a representation that enables a software engineer to: (1) analyze the effectiveness of the design in meeting its stated requirements, (2) consider architectural alternatives at a s
3、tage when making design changes is still relatively easy, and (3) reduce the risks associated with the construction of the software,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,3,Why is Archite
4、cture Important,Representations of software architecture are an enabler for communication between all parties (stakeholders) interested in the development of a computer-based system. The architecture highlights early design decisions that will have a profound impact on all software engineering work
5、that follows and, as important, on the ultimate success of the system as an operational entity. Architecture “constitutes a relatively small, intellectually graspable mode of how the system is structured and how its components work together” BAS03,These slides are designed to accompany Software Engi
6、neering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,4,Architectural Descriptions,The IEEE Computer Society has proposed IEEE-Std-1471-2000, Recommended Practice for Architectural Description of Software-Intensive System, IEE00 to establish a conceptual
7、 framework and vocabulary for use during the design of software architecture, to provide detailed guidelines for representing an architectural description, and to encourage sound architectural design practices. The IEEE Standard defines an architectural description (AD) as a “a collection of product
8、s to document an architecture.” The description itself is represented using multiple views, where each view is “a representation of a whole system from the perspective of a related set of stakeholder concerns.,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
9、 (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,5,Architectural Genres,Genre implies a specific category within the overall software domain. Within each category, you encounter a number of subcategories. For example, within the genre of buildings, you would encounter the following styl
10、es: houses, condos, apartment buildings, offgeneral ice buildings, industrial building, warehouses, and so on. Within each general style, more specific styles might apply. Each style would have a structure that can be described using a set of predictable patterns,These slides are designed to accompa
11、ny Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,6,Architectural Styles,Data-centered architectures Data flow architectures Call and return architectures Object-oriented architectures Layered architectures,Each style describes a syst
12、em category that encompasses: (1) a set of components (e.g., a database, computational modules) that perform a function required by a system, (2) a set of connectors that enable “communication, coordination and cooperation” among components, (3) constraints that define how components can be integrat
13、ed to form the system, and (4) semantic models that enable a designer to understand the overall properties of a system by analyzing the known properties of its constituent parts,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides cop
14、yright 2009 by Roger Pressman,7,Data-Centered Architecture,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,8,Data Flow Architecture,These slides are designed to accompany Software Engineering: A P
15、ractitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,9,Call and Return Architecture,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,10,Layered Architecture,These
16、 slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,11,Architectural Patterns,Concurrencyapplications must handle multiple tasks in a manner that simulates parallelism operating system process management p
17、attern task scheduler pattern PersistenceData persists if it survives past the execution of the process that created it. Two patterns are common: a database management system pattern that applies the storage and retrieval capability of a DBMS to the application architecture an application level pers
18、istence pattern that builds persistence features into the application architecture Distribution the manner in which systems or components within systems communicate with one another in a distributed environment A broker acts as a middle-man between the client component and a server component,These s
19、lides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,12,Architectural Design,The software must be placed into context the design should define the external entities (other systems, devices, people) that the s
20、oftware interacts with and the nature of the interaction A set of architectural archetypes should be identified An archetype is an abstraction (similar to a class) that represents one element of system behavior The designer specifies the structure of the system by defining and refining software comp
21、onents that implement each archetype,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,13,Architectural Context,These slides are designed to accompany Software Engineering: A Practitioners Approach,
22、 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,14,Archetypes,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,15,Component Structure,These slides are designed to accompany Softwa
23、re Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,16,Refined Component Structure,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,17,Analyzi
24、ng Architectural Design,1. Collect scenarios. 2. Elicit requirements, constraints, and environment description. 3. Describe the architectural styles/patterns that have been chosen to address the scenarios and requirements: module view process view data flow view 4. Evaluate quality attributes by con
25、sidered each attribute in isolation. 5. Identify the sensitivity of quality attributes to various architectural attributes for a specific architectural style. 6. Critique candidate architectures (developed in step 3) using the sensitivity analysis conducted in step 5,These slides are designed to acc
26、ompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,18,Architectural Complexity,the overall complexity of a proposed architecture is assessed by considering the dependencies between components within the architecture Zha98 Sharing d
27、ependencies represent dependence relationships among consumers who use the same resource or producers who produce for the same consumers. Flow dependencies represent dependence relationships between producers and consumers of resources. Constrained dependencies represent constraints on the relative
28、flow of control among a set of activities,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,19,ADL,Architectural description language (ADL) provides a semantics and syntax for describing a software
29、architecture Provide the designer with the ability to: decompose architectural components compose individual components into larger architectural blocks and represent interfaces (connection mechanisms) between components,These slides are designed to accompany Software Engineering: A Practitioners Ap
30、proach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,20,An Architectural Design Method,four bedrooms, three baths,lots of glass,customer requirements,architectural design,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009
31、). Slides copyright 2009 by Roger Pressman,21,Deriving Program Architecture,Program Architecture,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,22,Partitioning the Architecture,horizontal” and “v
32、ertical” partitioning are required,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,23,Horizontal Partitioning,define separate branches of the module hierarchy for each major function use control m
33、odules to coordinate communication between functions,function 1,function 3,function 2,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,24,Vertical Partitioning: Factoring,design so that decision ma
34、king and work are stratified decision making modules should reside at the top of the architecture,workers,decision-makers,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,25,Why Partitioned Archite
35、cture,results in software that is easier to test leads to software that is easier to maintain results in propagation of fewer side effects results in software that is easier to extend,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slid
36、es copyright 2009 by Roger Pressman,26,Structured Design,objective: to derive a program architecture that is partitioned approach: a DFD is mapped into a program architecture the PSPEC and STD are used to indicate the content of each module notation: structure chart,These slides are designed to acco
37、mpany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,27,Flow Characteristics,Transform flow,Transaction,flow,This edition of SEPA does not cover transaction mapping. For a detailed discussion see the SEPA website,These slides are desi
38、gned to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman,28,General Mapping Approach,isolate incoming and outgoing flow,boundaries; for transaction flows, isolate,the transaction center,working from the boundary outward, map,DFD transforms into corresponding modules,add control modules as required,refine the resultant program structure,using effective modularity concepts,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论