《软件工程-实践者的研究方法》cha(8)_第1页
《软件工程-实践者的研究方法》cha(8)_第2页
《软件工程-实践者的研究方法》cha(8)_第3页
《软件工程-实践者的研究方法》cha(8)_第4页
《软件工程-实践者的研究方法》cha(8)_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.1Chapter 8nArchitectural DesignSlide Set to accompanySoftware Engineering: A Practitioners Approach, 7/e by Roger S. PressmanSlides copyright 1996, 2001, 2005, 2009 by Roger S. Pressm

2、anFor non-profit educational use onlyMay be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioners Approach, 7/e. Any other reproduction or use is prohibited without the express written permission of the author.All copyright inform

3、ation MUST appear if these slides are posted on a website for student use.整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.2Why Architecture?analyze the effectiveness of the designconsider architectural alternativesreduce the risks整

4、理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.3Why is Architecture Important?nRepresentations of software architecture are an enabler for communication between all parties (stakeholders) interested in the development of a computer

5、-based system.nThe architecture highlights early design decisions that will have a profound impact on all software engineering work that follows and, as important, on the ultimate success of the system as an operational entity.nArchitecture “constitutes a relatively small, intellectually graspable m

6、ode of how the system is structured and how its components work together” BAS03.整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.4Architectural DescriptionsnThe IEEE Computer Society has proposed IEEE-Std-1471-2000, Recommended Prac

7、tice for Architectural Description of Software-Intensive System, IEE00nto establish a conceptual framework and vocabulary for use during the design of software architecture, nto provide detailed guidelines for representing an architectural description, and nto encourage sound architectural design pr

8、actices.nThe IEEE Standard defines an architectural description (AD) as a “a collection of products to document an architecture.” nThe 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 c

9、oncerns.”整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.5Architectural GenresnGenre implies a specific category within the overall software domain. nWithin each category, you encounter a number of subcategories. nFor example, with

10、in the genre of buildings, you would encounter the following general styles: houses, condos, apartment buildings, office buildings, industrial building, warehouses, and so on. nWithin each general style, more specific styles might apply. Each style would have a structure that can be described using

11、a set of predictable patterns.整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.6Architectural StylesnData-centered architecturesnData flow architecturesnCall and return architecturesnObject-oriented architecturesnLayered architectur

12、esset of componentsset of connectors constraintssemantic models整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.7Data-Centered Architecture整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright

13、 2009 by Roger Pressman.8Data Flow Architecture整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.9Call and Return Architecture整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger

14、 Pressman.10Layered Architecture整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.11Architectural PatternsnConcurrencyapplications must handle multiple tasks in a manner that simulates parallelism n operating system process managemen

15、t patternntask scheduler patternnPersistenceData persists if it survives past the execution of the process that created it. Two patterns are common: na database management system pattern that applies the storage and retrieval capability of a DBMS to the application architecturenan application level

16、persistence pattern that builds persistence features into the application architecturenDistribution the manner in which systems or components within systems communicate with one another in a distributed environmentnA broker acts as a middle-man between the client component and a server component.整理课

17、件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.12Architectural DesignnThe software must be placed into contextnthe design should define the external entities (other systems, devices, people) that the software interacts with and the n

18、ature of the interactionnA set of architectural archetypes should be identifiednAn archetype is an abstraction (similar to a class) that represents one element of system behaviornThe designer specifies the structure of the system by defining and refining software components that implement each arche

19、type整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.13Architectural Contexttarget system: Security FunctionusesusespeershomeownerSafehome ProductInternet-based systemsurveillance functionsensorscontrol panelsensorsuses整理课件Software

20、Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.14ArchetypesFi gure 10. 7 UM L rel ati onshi ps for SafeHom e securi ty functi on archetypes (adapted from BOS00)Control l erNodecom m uni cates wi thDetectorI ndi cator整理课件Software Engineering: A

21、 Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.15Component StructureSaf eHom e Executi veExternal Com m uni cati on Managem entGUI I nter net I nter f aceFuncti on sel ecti onSecur i tySur vei l l anceHom e m anagem entControl panelprocessi ngdetector m ana

22、gem ental arm processi ng整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.16Refined Component StructuresensorsensorsensorsensorsensorsensorsensorsensorExternal Com m uni cati on M anagem entGUI I nternet I nterfaceSecuri tyContr ol

23、panelpr ocessi ngdetector m anagem ental ar m pr ocessi ngKeypad pr ocessi ngCP di spl ay f uncti onsschedul ersensorsensorsensorsensorphone com m uni cati onal ar m SafeHom e Executi ve整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressm

24、an.17Analyzing Architectural Design整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.18Architectural Complexitynthe overall complexity of a proposed architecture is assessed by considering the dependencies between components within t

25、he architecture Zha98nSharing dependencies represent dependence relationships among consumers who use the same resource or producers who produce for the same consumers.nFlow dependencies represent dependence relationships between producers and consumers of resources.nConstrained dependencies represe

26、nt constraints on the relative flow of control among a set of activities.整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.19ADLnArchitectural description language (ADL) provides a semantics and syntax for describing a software archi

27、tecturenProvide the designer with the ability to: ndecompose architectural componentsncompose individual components into larger architectural blocks and nrepresent interfaces (connection mechanisms) between components. 整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slid

28、es copyright 2009 by Roger Pressman.20An Architectural Design Methodfour bedrooms, three baths,lots of glass .customer requirementsarchitectural design整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.21Deriving Program Architecture整

29、理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.22Partitioning the Architecturen“horizontal” and “vertical” partitioning are required整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009

30、by Roger Pressman.23Horizontal Partitioningndefine separate branches of the module hierarchy for each major functionnuse control modules to coordinate communication between functions整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.2

31、4Vertical Partitioning: Factoringndesign so that decision making and work are stratifiedndecision making modules should reside at the top of the architectureworkersdecision-makers整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.25Wh

32、y Partitioned Architecture?nresults in software that is easier to testnleads to software that is easier to maintainnresults in propagation of fewer side effectsnresults in software that is easier to extend整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2

33、009 by Roger Pressman.26Structured Designnobjective: to derive a program architecture that is partitionednapproach: na DFD is mapped into a program architecturenthe PSPEC and STD are used to indicate the content of each modulennotation: structure chart整理课件Software Engineering: A Practitioners Approa

34、ch, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.27Flow CharacteristicsTransform flowTransactionflowThis edition of SEPA does not cover transaction mapping. For a detailed discussion see the SEPA website整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009).

35、Slides copyright 2009 by Roger Pressman.28General Mapping Approach整理课件Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.29General Mapping ApproachnIsolate the transform center by specifying incoming and outgoing flow boundariesnPerform first-level factoring.”nThe program architecture derive

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论