SOFTWARE ENGINEERING Chapter 6 – Software Architecture Design

56 223 0
SOFTWARE ENGINEERING Chapter 6 – Software Architecture Design

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Topics covered • Architectural design decisions • Architectural views • Architectural patterns • Application architectures Software architecture • The design process for identifying the subsystems making up a system and the framework for subsystem control and communication is architectural design. • The output of this design process is a description of the software architecture.

SOFTWARE ENGINEERING Chapter – Software Architecture Design Jul 2013 Chapter Software architecture design Topics covered • Architectural design decisions • Architectural views • Architectural patterns • Application architectures Jul 2013 Chapter Software architecture design Software architecture • The design process for identifying the sub-systems making up a system and the framework for sub-system control and communication is architectural design • The output of this design process is a description of the software architecture Jul 2013 Chapter Software architecture design Architectural design • An 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 involves identifying major system components and their communications Jul 2013 Chapter Software architecture design The architecture of a packing robot control system Jul 2013 Chapter Software architecture design Architectural abstraction • Architecture 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 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 Jul 2013 Chapter Software architecture design Decomposition • Software systems: complexity problem [...]... as it is processed at each layer Example When used Advantages Disadvantages 25 Jul 2013 Chapter 6 Software architecture design A generic layered architecture 26 Jul 2013 Chapter 6 Software architecture design 27 The architecture of the LIBSYS system Jul 2013 Chapter 6 Software architecture design 28 Repository architecture • Sub-systems must exchange data This may be done in two ways: • Shared data... model and interactions are simple When used Advantages Disadvantages Jul 2013 Chapter 6 Software architecture design The organization of the Model-ViewController 22 Jul 2013 Chapter 6 Software architecture design 23 Web application architecture using the MVC pattern Jul 2013 Chapter 6 Software architecture design 24 Layered architecture • Used to model the interfacing of sub-systems • Organises the system... 2013 Chapter 6 Software architecture design 13 Architectural design decisions • Architectural design is a creative process so the process differs depending on the type of system being developed • However, a number of common decisions span all design processes and these decisions affect the non-functional characteristics of the system Jul 2013 Chapter 6 Software architecture design 14 Architectural design. .. be management problems if servers are owned by different organizations Example When used Advantages Disadvantages Jul 2013 Chapter 6 Software architecture design A client–server architecture for a film library 33 Jul 2013 Chapter 6 Software architecture design 34 Pipe and filter architecture • Functional transformations process their inputs to produce outputs • May be referred to as a pipe and filter... repository Distributing the repository across several computers may be difficult Example When used Advantages Disadvantages Jul 2013 Chapter 6 Software architecture design 30 A repository architecture for an IDE Jul 2013 Chapter 6 Software architecture design 31 Client-server architecture • Distributed system model which shows how data and processing is distributed across a range of components • Can be...Jul 2013 Chapter 6 Software architecture design 11 Box and line diagrams • Very abstract - they do not show the nature of component relationships nor the externally visible properties of the sub-systems • However, useful for communication with stakeholders and for project planning Jul 2013 Chapter 6 Software architecture design 12 Use of architectural models • As... 2013 Chapter 6 Software architecture design 32 The Client–server pattern Name Client-server Description In a client–server architecture, the functionality of the system is organized into services, with each service delivered from a separate server Clients are users of these services and access servers to make use of them Figure 6. 11 is an example of a film and video/DVD library organized as a client–server... run-time processes interact or the different ways in which system components are distributed across a network For both design and documentation, you usually need to present multiple views of the software architecture Jul 2013 Chapter 6 Software architecture design 19 4 + 1 view model of software architecture • A logical view, which shows the key abstractions in the • • • • system as objects or object classes... components and mechanisms for fault tolerance • Maintainability • Use fine-grain, replaceable components Jul 2013 17 Chapter 6 Software architecture design Choosing an Architecture Table 5.4 Fuzzy method for comparing architectures [3] Architecture alternative Quality Weight 1-10 1 State design pattern 2 Ad-hoc GUI driven 3 State-transition table High=9; Medium=5; Low=2 Extension 9 High Low Medium Change... in this way Jul 2013 Chapter 6 Software architecture design The Layered architecture pattern Name Layered architecture Description Organizes the system into layers with related functionality associated with each layer A layer provides services to the layer above it so the lowest-level layers represent core services that are likely to be used throughout the system See Figure 6. 6 A layered model of a

Ngày đăng: 31/05/2016, 00:15

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan