Software Architecture versus Software Design Suren K Poruri

Slides:



Advertisements
Similar presentations
Software Reuse SEII-Lecture 28
Advertisements

Documenting a Software Architecture By Eng. Mohanned M. Dawoud.
Outline About author. The problem that discussed in the article.
TechMIS LLC Proprietary Tracking Requirements And Compliance Engineering (TRACE ) Steve Collier/B. Squires/TechMIS LLC An affordable and user friendly.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Software Architecture in Practice
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 1.
Course Instructor: Aisha Azeem
System Design Decomposing the System. Sequence diagram changes UML 2.x specifications tells that Sequence diagrams now support if-conditions, loops and.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Enterprise Architecture
® IBM Software Group © IBM Corporation IBM Information Server Service Oriented Architecture WebSphere Information Services Director (WISD)
What is Software Architecture?
Chapter 10 Architectural Design
The Design Discipline.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Greg Andolshek Alex Koch Michael McCormick Team Lasso.
What is Enterprise Architecture?
Business Requirements Using Unified Modeling Language Eric H. Castain, SVP Internet Services Group, Architecture Wells Fargo March 2005.
An Introduction to Software Architecture
DAT602 Database Application Development Lecture 12 C/S Model Database Application.
ETICS2 All Hands Meeting VEGA GmbH INFSOM-RI Uwe Mueller-Wilm Palermo, Oct ETICS Service Management Framework Business Objectives and “Best.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
Emerging Technologies Work Group Master Data Management (MDM) in the Public Sector Don Hoag Manager.
OOI CI LCA REVIEW August 2010 Ocean Observatories Initiative OOI Cyberinfrastructure Architecture Overview Michael Meisinger Life Cycle Architecture Review.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 3: SOA Reference Model OASIS 2006.
SOFTWARE ARCHITECT – DESIGN.  Introduction  Architecture Drivers  POS System Architecture  Mapping Between Perspective  Evaluate Architecture  Project.
An application architecture specifies the technologies to be used to implement one or more (and possibly all) information systems in terms of DATA, PROCESS,
Rational Unified Process Fundamentals Module 5: Implementing RUP.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
CS 4850: Senior Project Fall 2014 Object-Oriented Design.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
I Copyright © 2007, Oracle. All rights reserved. Module i: Siebel 8.0 Essentials Training Siebel 8.0 Essentials.
Enterprise Architecture HOW COMPANIES ARE EXPLOITING INFORMATION TO THROUGH IT.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
UML Package Diagrams. Package Diagrams UML Package Diagrams are often used to show the contents of components, which are often packages in the Java sense.
CSPC 464 Fall 2014 Son Nguyen.  Attendance/Roster  Introduction ◦ Instructor ◦ Students  Syllabus  Q & A.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
SEA Side – Extreme Programming 1 SEA Side Software Engineering Annotations Architectural Patterns Professor Sara Stoecklin Director of Software Engineering-
Basic Concepts and Definitions
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
CS223: Software Engineering Lecture 14: Architectural Patterns.
1 SOA Seminar Seminar on Service Oriented Architecture SOA Reference Model OASIS 2006.
Viewpoint Modeling and Model-Based Media Generation for Systems Engineers Automatic View and Document Generation for Scalable Model- Based Engineering.
Quality Consulting Module 7 Solution Development.
CPSC 872 John D. McGregor Session 31 This is it..
Chapter 9 Architectural Design. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software.
J2EE Platform Overview (Application Architecture)
EI Architecture Overview/Current Assessment/Technical Architecture
Architecture Arnon Rotem-Gal-Oz Product Line Architect
N-Tier Architecture.
Taming Data Logistics: The Hardest Part of Data Science
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Chapter 13 Logical Architecture.
Data, Databases, and DBMSs
Design Model Like a Pyramid Component Level Design i n t e r f a c d s
Chapter 13 Logical Architecture.
Software Design Lecture : 14.
An Introduction to Software Architecture
For University Use Only
Chapter 9 Architectural Design.
Catalyst for software success™
Catalyst for software success™
Chapter 6: Architectural Design
Chapter 6 – Architectural Design
Chapter 13 Logical Architecture.
Presentation transcript:

Software Architecture versus Software Design Suren K Poruri

Problem statement Architecture/Design are buzz words without standard and consistent understanding in the industry.

Problem description Multiple definitions of architecture definitions/descriptions Multiple architecture standards ( Togaf , 4+1, etc.,) Design means class/object diagrams, sequence diagrams, etc., Is it really so? No continuation between architecture/design/coding. Architecture/design created for process compliance purpose rather than solution purpose.

Causes of the Problem Project delays/cancellations. Cost of maintenance is high. Communication overhead Mismatch in expectations No consistency in the artifacts Benefits of architecture not known to business. Why should they? Ex: Building Consumption utilization

The Need of Architecture ( Analogy 1) The Winchester “Mystery” House 38 years of construction – 147 builders 0 architects 160 rooms – 40 bedrooms, 6 kitchens, 2 basements, 950 doors 65 doors to blank walls, 13 staircases abandoned, 24 skylights in floors No architectural blueprint exists .

Construction Analogy 2 Architecting a house Architecting a high rise Built most efficiently and timely by a team Requires Architecture Well-defined process Power tools Can be built by one person Requires Minimal Architecture Simple process Simple tools Can be built by multiple teams/partners Heavy duty Architecture Complex process Sophisticated costly tools Architecting a high rise

Differences Scale Process Cost Schedule Skills and development teams Materials and technologies Stakeholders Risks

Architecture definition Design definition Many definitions available at cmu web site. The essence is same Architecture means structure and behavior of a system. It includes Horizontal ones 1) Process structure Vertical ones 2) Presentation structure 3) Logic structure 4) Data access structure 5) Datamodel/ Information structure. Construction analogy – pillars+ beams = structure of the building. Design is structure/behavior of a module. Process structure UI structure Logic structure Data access structure Data structure

Car analogy Software Architecture Modules Modules Modules Interfaces

Architecture scope Navigation structure Page structure Maintenance Transactions Report Validation structure – consolidation of client side validations across the system Logging structure – What information need to be logged at a process level, layer level, module level Exception handling structure – System /process/layer level exceptions Use case/processs flow structure ( Presentation to business logic to data access layer) Identification of unique use case flows. Design patterns that we need to use? Deployment decisions Architectural style ( client/server, web , soa etc., ) Layering decision ( How many layers, responsibility of each layer, Layer interfaces etc., ) Business objects representation ( EJB, Pojo, etc., ) Database usage ( data repository only or data repository + business logic) Database access layer structure Security structure ( authentication, authorization, audit etc., ) Template Pages

Design Scope Internal structure/behavior of each module Concrete UI pages design Algorithms design Class design based on SRP ( Single responsibility principle)

Architecture versus design System decisions Hard to change Scope - System Design Module decisions Easy to change Scope - module

Here’s the Point! If functionality is the only thing that matters, any software architecture will do! Other things that really matter: design constraints quality attributes