Software Architecture and

Slides:



Advertisements
Similar presentations
Dr. Rogelio Dávila Pérez
Advertisements

Web Services Architecture An interoperability architecture for the World Wide Service Network.
Agile Architecture Prabhu Venkatesan for COMP-684.
Mastering Object-Oriented Analysis and Design with UML Module 4: Analysis and Design Overview.
The Architecture Design Process
Site Skin Structure Services Space plan Stuff Software Architecture and Software Architecture Patterns (1)
21-February-2003cse Architecture © 2003 University of Washington1 Architecture CSE 403, Winter 2003 Software Engineering
Essential Software Architecture Ian Gorton CS590 – Winter 2008.
Software Architecture in Practice
Software Architecture Patterns (2). what is architecture? (recap) o an overall blueprint/model describing the structures and properties of a "system"
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.
Software Architecture for DSD The “Uses” Relation.
Architectural Design.
Software Architecture in Practice (3rd Ed) Introduction
1/19 Component Design On-demand Learning Series Software Engineering of Web Application - Principles of Good Component Design Hunan University, Software.
An Introduction to Software Architecture
The Architecture Business Cycle. Software Architecture Definition The software architecture of a program or computing system is the structure or structures.
Architecture Business Cycle
Patterns, effective design patterns Describing patterns Types of patterns – Architecture, data, component, interface design, and webapp patterns – Creational,
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
Chapter 13 Architectural Design
Software Architecture CS3300 Fall Beware the Fuzzy Front End We are already almost 1/3 of the way done Need to negotiate deliverable schedule: SDP.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Object Oriented Analysis and Design using the UML CIS 520 Advanced Object-Oriented Design.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
CSPC 464 Fall 2014 Son Nguyen.  Attendance/Roster  Introduction ◦ Instructor ◦ Students  Syllabus  Q & A.
Overview of SAIP and LSSA. Software Architecture in Practice Provides a set of techniques, not a prescriptive method for architectural design. Based on.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Gerhard Dueck -- CS3013Architecture 1 Architecture-Centric Process  There is more to software development then going blindly through the workflows driven.
Quality Consulting Module 7 Solution Development.
Basic Concepts of Software Architecture. What is Software Architecture? Definition: – A software system’s architecture is the set of principal design.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
Software Architecture Lecture 3
Software Architecture
Software Architecture
Designing software applications
Architecture Arnon Rotem-Gal-Oz Product Line Architect
Software Architecture and Quality BY
Documenting SW Architecture
Systems Analysis and Design With UML 2
Software Architecture
Introduction to Unified Modeling Language (UML)
OO Methodology OO Architecture.
Advance Software Engineering
University of Central Florida COP 3330 Object Oriented Programming
SOFTWARE ARCHITECTURE AND DESIGN
Software Architecture Lecture 3
Recall The Team Skills Analyzing the Problem (with 5 steps)
Creative Thinking Design Architecture
Model-Driven Analysis Frameworks for Embedded Systems
Software Architecture Lecture 3
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Software Architecture
Design Model Like a Pyramid Component Level Design i n t e r f a c d s
Software Architecture Lecture 3
An Introduction to Software Architecture
Chapter 9 Architectural Design.
Software Architecture Lecture 3
Software Architecture Lecture 3
Presentation transcript:

Software Architecture and Software Architecture Patterns (1) Skin Structure Services Space plan Stuff Site

What is architecture? an overall blueprint/model describing the structures and properties of a "system" designed mechanisms (causal chains & loops) which lead to - emergent (intended) behaviour (but always some unintended behaviour as well) "mapping" the boundaries (questions about the level of "closure")

Dictionary definition: Architecture n 1: the art of science of building, specifically, the art or practice of designing and building structures and esp. habitable ones 2 a: formation or construction as or as if as the result of conscious act <the ~ of the garden> b: a unifying or coherent form or structure <the novel lacks ~> [Webster’s Colligiate Dictionary - 10th ed.]

Software Architecture defined: Software architecture encompasses the set of significant decisions about the organization of a software system selection of the structural elements and their interfaces by which a system is composed behavior as specified in collaborations among those elements composition of these structural and behavioral elements into larger subsystem architectural style that guides this organization [Ref: Grady Booch et. al.]

“Common” assumptions about software architecture: Architecture and design are the same thing Architecture and infrastructure are the same thing <my favorite technology> is the architecture A good architecture is the work of a single architect Architecture is flat, one blueprint is enough Architecture is just structure System architecture precedes software architecture Architecture cannot be measured and validated Architecture is a Science Architecture is an Art [ref: Philippe Kruchten]

Software Architecture (again) : The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships between them. The term also refers to documentation of a system's software architecture. Documenting software architecture facilitates communication between stakeholders, documents early decisions about high-level design, and allows reuse of design components and patterns between projects. [Kazman et. al. ref: Wikipedia]

Implies specific questions and answers about: structures, mechanisms, communication, components, resilience, scalability, performance, adaptability, reliability, changeability, maintainability, extensibility, security, technologies, standards, aesthetics, and other key concerns.

The What, Who, Why & How of SA: Architecture Qualities Process Representation The “what” The “why” The “how” The “who” System Features S/W Requirements Quality Attributes Satisfies Constrain Organization Architect Skills Stakeholders Defines role Produces Follows Defines Technology

Software Architecture Meta-model:

But… A Kuhnian “paradigm shift” since the 90’s… Architecture breaking out of the enterprise…. “my web is bigger than your enterprise” from closed to open from machine to network from individual to social from local to global from platform to application

much more now filling the architecture pie.. oh… but there is so much more now filling the architecture pie.. towards…