Software Architecture – Centric Methods and Agile Development by Craig Castaneda.

Slides:



Advertisements
Similar presentations
ATAM Architecture Tradeoff Analysis Method
Advertisements

Agile Roadmap Prioritization Discussion. Agile Roadmap Prioritization: – Corporate Goals and Initiatives  Market Goals –Customer Feedback –Partner Input.
Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
A little Software Engineering: Agile Software Development C Sc 335 Rick Mercer.
ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,
Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003.
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
Software Architecture Quality. Outline Importance of assessing software architecture Better predict the quality of the system to be built How to improve.
An Agile View of Process
Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.
Architecture Tradeoff Analysis Method Based on presentations by Kim and Kazman
The Design Discipline.
UML - Development Process 1 Software Development Process Using UML (2)
CPSC 871 John D. McGregor Module 4 Session 3 Architecture Evaluation.
Chapter 4 Agile Development
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Chapter 5 Agile Development Chapter 5 Agile Development Moonzoo Kim KAIST 1.
Chapter 4 Agile Development 1. The Manifesto for Agile Software Development 2 “We are uncovering better ways of developing software by doing it and helping.
Current Trends in Systems Develpment
ATAM –Cont’d SEG 3202 N. Elkadri.
Describing Methodologies PART II Rapid Application Development* Systems Analysis and Design II.
Architecture Evaluation Evaluation Factors Evaluation by the designer Every time the designer makes a key design decision or completes a design milestone,
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
CPSC 2150 August 21, Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges.
111 Notion of a Project Notes from OOSE Slides – a different textbook used in the past Read/review carefully and understand.
Requirements Traceability: Planning, Tracking and Managing Requirements Presenter: Paula R. Maychruk, BV/TEd., CAPM, CBAP.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
XP – Extreme Programming
Systems Analysis and Design in a Changing World, 3rd Edition
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Software Engineering Saeed Akhtar The University of Lahore Lecture 5 Originally shared for: mashhoood.webs.com.
K.Ingram 1 Sept 2007 Agile Software Development. K.Ingram 2 Sept 2007 Contents Agile Software Development: 1.What is it? 2.Agile’s Values, Principles,
Effort.vs. Software Product “Quality” Effort Product “Quality” Which curve? - linear? - logarithmic? - exponential?
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Chapter 3 Agile Development
Extreme Programming Based on and
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
January 24, 2009 Agile Product Management Making Things Happen Walter Bodwell Planigle.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Extreme programming (XP) Variant of agile Takes commonsense practices to extreme levels © 2012 by Václav Rajlich1.
John D. McGregor Architecture Evaluation
Analyzing an Architecture. Why analyze an architecture? Decide whether it solves the problem Compare to other architectures Assess what needs to change,
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
Software Development Life Cycle. The Software Life Cycle  Encompasses all activities from initial analysis until end of work  Formal process for software.
Quality Attribute Workshop. Goal: To identify requirements Held early in development Includes stakeholders Outputs: Business Goals Quality Attribute Scenarios.
Lecture 15 Attribute Driven Design Again Topics ATAM – team expertise and experience needed Chapter 24 Next Time: June 22, 2016 CSCE 742 Software Architecture.
Chapter 5 Agile Development Moonzoo Kim KAIST
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Lecture 12 Attribute Driven Design Again
Unit 6 Application Design KLB Assignment.
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Introduction to Software Engineering
Analyzing an Architecture
Project Ideation Agile Down-to-Earth © 2016.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Analyzing an Architecture
Chapter 2: Building a System
Building a “System” Moving from writing a program to building a system. What’s the difference?! Complexity, size, complexity, size complexity Breadth.
Presentation transcript:

Software Architecture – Centric Methods and Agile Development by Craig Castaneda

The Agile Approach Feedback – Not just for stereos anymore Adaptable – Just in case you haven’t made up your mind Simplicity – Let’s keep it that way Small Groups – Because the boss is cheap

The Agile Approach Short Development Iterations Plan Gather Requirements Design Code Test Document

The Agile Approach Iteration’s done – But the software isn’t. At least it works…Sort of… Resolution is the solution

The Agile Approach - Extreme Programming (XP) Planning – User Stories, Prioritizing Testing – Test comes before code Implementation – Simplest code to fulfill the test Design – System metaphors, spike solutions, CRC cards

Extreme Programming (XP) – Criticisms Doesn’t scale to large dev teams or products Success is a function of the dev teams experience Not for critical systems Tends to overlook software quality attributes Customer On-Site necessary

Software Architecture Centric Methods to the Rescue!!!! Architecture Centric Activities Emphasize quality attributes Focus early on architecture design decisions

The Architecture Centric Activities Quality Attribute workshop Attribute Driven Design Architecture Trade-off Analysis Method (ATAM) Cost-Benefit Analysis Method

Quality Attribute Workshop Goal: To identify requirements Held early in development Includes stakeholders Outputs: Business Goals Quality Attribute Scenarios and Use Cases Scenarios are six fold (stimulus, source of the stimulus, artifact, environment, response, and response measure)

Attribute Driven Design Goal: To localize the effects of design changes Focuses on the overall system structure that the quality attributes shape Choice of architectural tactics to satisfy quality scenarios Outputs: Course Grain Architectural Structure Generate and Test architectural design model

Architecture Trade-off Analysis Method (ATAM) Goal: Assess architectural decisions’ consequences with respect to requirements and business goals Helps stakeholders ask the right questions to discover problematic architectural decisions

Cost-Benefit Analysis Method (CBAM) Goal: To make the decisions made during the ATAM part of the roadmap by assigning priorities, costs and benefits with each architectural decision Business consequences allow the dev team to make informed choices among architectural options

Sample Example: Bank ATM From XP’s user stories we receive Feature requirements From the QAW process we identify additional quality attributes that need to be satisfied: Modifiability Extensibility Performance

Sample Example: Bank ATM Quality Attribute Workshop Modifiability Attribute Scenario I: A developer wants to add a new auditing business rule at design time in 10 person-days without affecting other functionality Modifiability Attribute Scenario II: A system administrator wants to employ a new database in 18 person-months without affecting other functionality

Sample Example: Bank ATM Quality Attribute Workshop Modifiability Attribute Scenario III A developer needs to add a Web-based client in 90 person-days without affecting the existing ATM client’s functionality

Modifiability Scenario I Stimulus – Adding a Business Rule Source – The Developer Artifact – Business Rule System Environment – New Business Rule Response – Business Rule added within 10 Days Response Measure – Business Rule is added and Existing functionality is unchanged

Modifiability Scenario II Stimulus – Employing a new Database Source – A System Administrator Artifact – Data Organization and Storage Environment – New Platform Response – Database employed within 18 person- months Response Measure – Database Deployed and In Use. Existing functionality is unchanged

Modifiability Scenario III Stimulus – Adding an Additional Client Source – The Developer Artifact – User Interface Environment – New Capability Response – Business Rule added within 10 Days Response Measure – Business Rule is added and Existing functionality is unchanged

Attribute Driven Design Results The ADD method localizes the effect of this design change by using the following tactics: Localize Changes – Identifies three separate components of the system, Business Rules, Client, and Database Use an intermediary These components should be separate The Business Rules and Database should communicate through an abstract interface (ODBC) There should be a translation layer between the client and the business rules (XML)

Cost-Benefit Analysis Method CBAM helps architects consider the return on investment of any architectural decision and provides guidance on the economic trade-offs involved. Sample – Performance Quality Attributes in the Sample Problem

Summary Architecture-centric methods provide explicit and detailed guidance on eliciting architectural requirements, designing those requirements into the system, and analyzing the resulting design. The results of which can be tailored to an agile approach. This tactic can help to resolve one of agile developments largest weaknesses. Improving overall quality of the final product.