版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信息技术课标的心得体会(8篇)
- 俄语专业生求职信
- 企业停电停水的应急预案范文(7篇)
- 中秋佳节致辞(8篇)
- 设计课件网站教学课件
- 谚语讲解课件教学课件
- 盲目从众课件教学课件
- 天桃实验学校八年级上学期语文1月月考试卷
- 环境应急预案的编写要点
- 自建房屋建筑施工合同(2篇)
- GB/T 625-2024化学试剂硫酸
- 综合办公楼装修改造工程施工组织设计方案
- 三人直播带货协议书范文模板
- 北京邮电大学《云计算》2023-2024学年期末试卷
- 中央空调年度维保方案
- 尊重学术道德遵守学术规范学习通超星期末考试答案章节答案2024年
- GB/T 44693.2-2024危险化学品企业工艺平稳性第2部分:控制回路性能评估与优化技术规范
- 2024年新华社招聘笔试参考题库附带答案详解
- 肺癌(肺恶性肿瘤)中医临床路径
- 天津市2023-2024学年高一上学期语文期中考试试卷(含答案)
- QCT1177-2022汽车空调用冷凝器
评论
0/150
提交评论