What is architectural design process

what is architectural design concept and what is architectural design technology
Dr.ShaneMatts Profile Pic
Dr.ShaneMatts,United States,Teacher
Published Date:23-07-2017
Your Website URL(Optional)
Comment
Chapter 6 Architectural Design Chapter 6 Architectural Design Slide 1 Topics covered  The WHAT and WHY of architectural design  Architectural design decisions  Architectural views/perspectives  Architectural styles/patterns  (Generic) Application architectures Chapter 6 Architectural Design Slide 2 What is architectural design?  An early stage of the system design process.  The process of identifying the sub-systems making up a system and a framework for sub- system communication and control.  A boot-strapping process undertaken in parallel with some specification activities.  The output of this process is the software architecture. Chapter 6 Architectural Design Slide 3 Boot-strapping Chapter 6 Architectural Design Slide 4 Architectural abstraction  Architecture in the small: concerned with the architecture of individual programs. (The way that an individual program is decomposed into components.) • Principal focus of this chapter...  Architecture in the large: concerned with the architecture of complex, enterprise systems that include other (sub-)systems, programs, and program components. (These may be distributed over different computers which could be owned and managed by different companies.) • Chapters 18 and 19... Chapter 6 Architectural Design Slide 5 Advantages of explicit architecture design and documentation (Bass)  Stakeholder communication – the architecture may be used as a focus of discussion by system (Requirements can be organized by sub-system.) stakeholders.  System analysis – the feasibility of meeting critical non-functional requirements (e.g., performance, reliability, maintainability constraints) can be studied early-on.  Large-scale reuse – the architecture may be reusable across a range of systems with similar requirements. Chapter 6 Architectural Design Slide 6 Architectural representations  Simple, informal block diagrams showing components and relationships are the most frequently used…  But these have been criticized because they do not show the types of relationships between components, nor the component’s externally visible properties.  In general, model semantics depends on how the models are to be used… Chapter 6 Architectural Design Slide 7 Example of a simple block diagram: Packing robot control system Vision system data / control Object Arm Gripper identification controller controller system Packaging selection system Packing Conveyor system controller Chapter 6 Architectural Design Slide 8 Architectural representations  Simple, informal block diagrams showing components and relationships are the most frequently used…  But these have been criticized because they do not show the types of relationships between components, nor the components’ externally visible properties.  In general, model semantics depends on how the models are to be used… Chapter 6 Architectural Design Slide 9 Architectural representations  Simple, informal block diagrams showing components and relationships are the most frequently used…  But these have been criticized because they do not show the types of relationships between components, nor the components’ externally visible properties.  In general, model semantics depends on how the models are to be used… Chapter 6 Architectural Design Slide 10 Two examples of how an architectural model might be used:  As a way of facilitating discussion about the system design – A high-level architectural view of a system is useful for communication with system stake- holders and project planners because it is not cluttered with detail.  As a way of documenting an architecture that has been designed – The aim here is to produce a complete system model that shows the different components in a system, their interfaces, and their connections. Chapter 6 Architectural Design Slide 11 Architectural design decisions  Architectural design is a creative process that differs depending on the type of system being developed.  However, a number of common decisions span all design processes and these decisions can greatly affect the non-functional characteristics of the system. (cont’d) Chapter 6 Architectural Design Slide 12 Architectural design decisions (cont’d)  Is there a generic application architecture that can be used?  How will the system be distributed?  What architectural styles are appropriate?  What approach 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? Chapter 6 Architectural Design Slide 13 Architecture reuse  Systems in the same domain often have similar architectures reflecting domain characteristics or concepts.  E.g., application product lines are often built around a core architecture reflecting a given domain with variants that satisfy particular end- user or customer requirements.  Consider, for example the MS Office product line. Chapter 6 Architectural Design Slide 14 Architectural styles / patterns  The architecture of systems may be based on one or more architectural styles or patterns.  Architectural styles / patterns are based on structural system organization models chosen in accordance with the attributes associated with particular non- functional system requirements…  They represent “good design practices” for a given attribute that has been tried and tested in different environments. The terms style and pattern are used interchangeably in this context. Chapter 6 Architectural Design Slide 15 System attributes and (associated) architectural styles and structures  Performance – localize operations by using fewer, large-grain components deployed on the same computer to minimize sub-system communication. (reflected in repository architecture model)  Security – use a layered architecture with critical assets protected in inner layers. (reflected in the layered / abstract machine architecture model)  Safety – isolate safety-critical components in one or just a few sub-systems. (cont’d) Chapter 6 Architectural Design Slide 16 System attributes and (associated) architectural styles and structures (cont’d)  Availability – include redundant components in the architecture.  Maintainability – use (more) fine-grain, self- contained components; avoid shared data structures. (reflected in the objected-oriented program decomposition model) Chapter 6 Architectural Design Slide 17 Architectural views/perspectives  Different views or perspectives are useful when designing and documenting a system’s architecture.  There are different opinions as to what views are required, however.  Krutchen (‘95) suggests there should be 4 funda- mental architectural views, which are related to one another using use cases or scenarios… Chapter 6 Architectural Design Slide 18 “4+1 view model” of software architecture (Krutchen ‘95) 1. logical view: shows the key abstractions in the system as objects or object classes. 2. process view: shows how, at run-time, the system is composed of interacting processes. 3. development view: shows how the software is decomposed for development. 4. physical view: shows the system hardware and how software components are distributed across the processors in the system. +1. Relate the above to one another using use-cases or scenarios. Chapter 6 Architectural Design Slide 19 More on architectural patterns  An architectural pattern is a stylized description of good design practice, which has been tried and (cf design patterns) tested in different environments.  They provide a means of representing, sharing and reusing knowledge.  Patterns should include information about when they are and when they are not useful.  Patterns may be represented using tabular and/or graphical descriptions. Chapter 6 Architectural Design Slide 20

Advise: Why You Wasting Money in Costly SEO Tools, Use World's Best Free SEO Tool Ubersuggest.