Design Process for Architecture

Slides:



Advertisements
Similar presentations
Computer Systems & Architecture Lesson 3
Advertisements

Computer Systems & Architecture Lesson 2 4. Achieving Qualities.
CS487 Software Engineering Omar Aldawud
CSE 436—Personal Software Processes, Software Development Models Ron K. Cytron 3 October 2005.
Software Process Models
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Software Architecture Alan Kelon Oliveira de Moraes Feb 12, 2006 – Recife.
Software Architecture in Practice RiSE’s Seminars Bass’s book :: Chapters 07 Eduardo Santana de Almeida.
1 Lecture 1: Processes, Requirements, and Use Cases.
COMP 350: Object Oriented Analysis and Design Lecture 2
Page 1 R Risk-Driven and Iterative Development. Page 2 R Copyright © 1997 by Rational Software Corporation What the Iterative Life Cycle Is Not It is.
Designing the Architecture
Software Life Cycle Model
Principles of Object Technology Module 1: Principles of Modeling.
Software Development Process
UML - Development Process 1 Software Development Process Using UML (2)
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
CLEANROOM SOFTWARE ENGINEERING.
The Rational Unified Process
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Unified Process versus Extreme Programming. Outline Compare and contrast UP and XP  Processes / Disciplines  Management  Artefacts Risk management.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
1 Designing the Architecture CSSE 477 Software Architecture Steve Chenoweth, Rose-Hulman Institute Week 3, Day 1, Monday, September 19, 2011.
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Designing software architectures to achieve quality attribute requirements F. Bachmann, L. Bass, M. Klein and C. Shelton IEE Proceedings Software Tzu-Chin.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Design Process for Architecture. Architectural Lifecycle Not all lifecycle plans support Architecture! It is hard to achieve architecture based design.
PROC-1 1. Software Development Process. PROC-2 A Process Software Development Process User’s Requirements Software System Unified Process: Component Based.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
1 Software Engineering and Security DJPS April 12, 2005 Professor Richard Sinn CMPE 297: Software Security Technologies.
The principles of an object oriented software development process Week 04 1.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
Rational Unified Process (RUP)
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
CS 4500: Software Development Software Process. Materials Sommmerville Chapters 1, 2 and 3 Software Cycle and Models:
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
Process 4 Hours.
Lecture 9z Case Study ADD: Garage Door
Lecture 3 Prescriptive Process Models
V-Shaped SDLC Model Lecture-6.
Software Process Models
Chapter 7: Designing the Architecture
UML: Unified modeling language
Introduction to Software Engineering
COMP 350: Object Oriented Analysis and Design Lecture 2
Design Process for Architecture
Object Oriented Analysis and Design
Quality Attributes Or, what’s wrong with this:
Software Development Process
Chapter 2 – Software Processes
Software engineering -1
Quality Attributes Or, what’s wrong with this:
Software Process Models
Design Process for Architecture
Agenda – week 4 6:00 – 6:05 Questions, announcements, intro
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
CS310 Software Engineering Lecturer Dr.Doaa Sami
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
Executable Specifications
Quality Attributes Or, what’s wrong with this:
System Development Methods
Presentation transcript:

Design Process for Architecture

Architectural Lifecycle Not all lifecycle plans support Architecture! It is hard to achieve architecture based design without support in lifecycle No recognition of the architecture documents No support for conformance control No explicit penalty for bad architecture choices

Evolutionary Delivery Lifecycle Software Concept Release Req. Analysis Design Architecture, System Core Develop a version Incorporate customer feedback Deliver the version Get customer feedback

Skeletal System Usually the first version developed Like a skeleton – supports the “flesh” of the system Supports major behavioral aspects of system Includes central components Stubs for the other parts “End to End” functioning

Benefits of Skeletal System Integration harness Incremental develop and test Early interface testing Locate complex dependencies early Concentrate on major trouble spots Improved test and integration Schedule can avoid “last minute” crunch

Other Processes Traditional water fall Rational Unified Process Extreme Programming B/C/K evolutionary delivery lifecycle is very compatible with RUP It is significantly more iterative than traditional waterfall It shares an iterative approach with Extreme Programming also, but XP is much less interested in up-front documentation such as use cases, quality attribute scenarios and architecture documentation

Designing and Architecture - Attribute Driven Design ADD Use cases, Quality attribute scenarios Architecture

ADD products First several levels of Module Decomposition Containers for functionality and interactions Other views as needed, for example Concurrency Deployment

ADD Inputs Requirements Tactics Patterns Functional (authors prefer Use Cases) Quality (probably declarative, quality attribute scenarios are preferred if available) Tactics Patterns

ADD Cycle Generate quality attribute scenarios, if necessary Choose module to decompose For the first iteration, there’s often only one choice Refine: Choose architectural drivers Choose an architectural pattern or set of tactics (this choice determines sub-modules) Allocate functionality to sub modules Define interfaces Verify and refine use cases Select next module and repeat refinement

Driver => sub-module example Module to decompose: Module5 Drivers: one or more availability scenarios Tactics: passive redundancy, ping/echo, removal from service Monitor Module5 Decomposes into ping ping notification Primary Warm spare

Next, decompose the primary Module to decompose: Primary Drivers: one or more performance scenarios Tactics: introduce concurrency, increase available resource Monitor Monitor Decomposes into Dispatcher Warm spare Primary Warm spare Worker Thread manager

Extended ADD example Text shows Garage Door example (pg 156)

Team Structure After design, architecture gets mapped onto the developing organization Modules become work products Interfaces between modules limit communication needs At runtime At design time (meetings!)

Team Structure (cont) Good module design reflects domain knowledge – e.g. User interface, math, OS or containers (Web, EJB, etc.), DB Remember the ABC Organization can limit the architecture Architecture will affect the organization

Architecture Conformance Possibly the hardest problem: how to get (and keep) conformance to the architecture Sources of Architectural Change Requirements change Problem fixes Developer initiative Solutions Architect as overseer of the architecture Keep architecture docs up to date!