软件工程与体系结构.ppt
《软件工程与体系结构.ppt》由会员分享,可在线阅读,更多相关《软件工程与体系结构.ppt(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Chapter 6 Architectural DesignLecture 1Topics coveredArchitectural design decisionsArchitectural viewsArchitectural patternsApplication architecturesSoftware architectureThe design process for identifying the sub-systems making up a system and the framework for sub-system control and communication i
2、s architectural design.The output of this design process is a description of the software architecture.Architectural designAn early stage of the system design process.Represents the link between specification and design processes.Often carried out in parallel with some specification activities.It in
3、volves identifying major system components and their communications.The architecture of a packing robot control systemArchitectural abstractionArchitecture in the small is concerned with the architecture of individual programs.At this level,we are concerned with the way that an individual program is
4、 decomposed into components.Architecture in the large is concerned with the architecture of complex enterprise systems that include other systems,programs,and program components.These enterprise systems are distributed over different computers,which may be owned and managed by different companies.Ad
5、vantages of explicit architectureStakeholder communicationArchitecture may be used as a focus of discussion by system stakeholders.System analysisMeans that analysis of whether the system can meet its non-functional requirements is possible.Large-scale reuseThe architecture may be reusable across a
6、range of systemsProduct-line architectures may be developed.Architectural representationsSimple,informal block diagrams showing entities and relationships are the most frequently used method for documenting software architectures.But these have been criticised because they lack semantics,do not show
7、 the types of relationships between entities nor the visible properties of entities in the architecture.Depends on the use of architectural models.The requirements for model semantics depends on how the models are used.Box and line diagramsVery abstract-they do not show the nature of component relat
8、ionships nor the externally visible properties of the sub-systems.However,useful for communication with stakeholders and for project planning.Use of architectural modelsAs a way of facilitating discussion about the system design A high-level architectural view of a system is useful for communication
9、 with system stakeholders and project planning because it is not cluttered with detail.Stakeholders can relate to it and understand an abstract view of the system.They can then discuss the system as a whole without being confused by detail.As a way of documenting an architecture that has been design
10、ed The aim here is to produce a complete system model that shows the different components in a system,their interfaces and their connections.Architectural design decisionsArchitectural design is a creative process so the process differs depending on the type of system being developed.However,a numbe
11、r of common decisions span all design processes and these decisions affect the non-functional characteristics of the system.Architectural design decisionsIs there a generic application architecture that can be used?How will the system be distributed?What architectural styles are appropriate?What app
12、roach will be used to structure the system?How will the system be decomposed into modules?What control strategy should be used?How will the architectural design be evaluated?How should the architecture be documented?Architecture reuseSystems in the same domain often have similar architectures that r
13、eflect domain concepts.Application product lines are built around a core architecture with variants that satisfy particular customer requirements.The architecture of a system may be designed around one of more architectural patterns or styles.These capture the essence of an architecture and can be i
14、nstantiated in different ways.Discussed later in this lecture.Architecture and system characteristicsPerformanceLocalise critical operations and minimise communications.Use large rather than fine-grain components.SecurityUse a layered architecture with critical assets in the inner layers.SafetyLocal
15、ise safety-critical features in a small number of sub-systems.AvailabilityInclude redundant components and mechanisms for fault tolerance.MaintainabilityUse fine-grain,replaceable components.Architectural viewsWhat views or perspectives are useful when designing and documenting a systems architectur
16、e?What notations should be used for describing architectural models?Each architectural model only shows one view or perspective of the system.It might show how a system is decomposed into modules,how the run-time processes interact or the different ways in which system components are distributed acr
17、oss a network.For both design and documentation,you usually need to present multiple views of the software architecture.4+1 view model of software architectureA logical view,which shows the key abstractions in the system as objects or object classes.A process view,which shows how,at run-time,the sys
18、tem is composed of interacting processes.A development view,which shows how the software is decomposed for development.A physical view,which shows the system hardware and how software components are distributed across the processors in the system.Related using use cases or scenarios(+1)Architectural
19、 patternsPatterns are a means of representing,sharing and reusing knowledge.An architectural pattern is a stylized description of good design practice,which has been tried and tested in different environments.Patterns should include information about when they are and when the are not useful.Pattern
20、s may be represented using tabular and graphical descriptions.The Model-View-Controller(MVC)pattern The organization of the Model-View-Controller Web application architecture using the MVC pattern Layered architectureUsed to model the interfacing of sub-systems.Organises the system into a set of lay
21、ers(or abstract machines)each of which provide a set of services.Supports the incremental development of sub-systems in different layers.When a layer interface changes,only the adjacent layer is affected.However,often artificial to structure systems in this way.The Layered architecture pattern A gen
22、eric layered architecture The architecture of the LIBSYS system Key pointsA software architecture is a description of how a software system is organized.Architectural design decisions include decisions on the type of application,the distribution of the system,the architectural styles to be used.Arch
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 体系结构
限制150内