7 Impact analysis (IA) Determines the strategy and impact of change

Slides:



Advertisements
Similar presentations
P3, P4, P5, P6.
Advertisements

Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
Agile Requirements Methods CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute October 26, 2004.
© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Use Cases and.
Use Cases and Scenarios
7 Impact analysis (IA) Determines the strategy and impact of change Classes identified in concept location are the initial impact set Class dependencies.
5 Introduction to software change Software change (SC) is the process of adding new functionality to existing code Foundation of software evolution, servicing.
1 CSc Senior Project Software Testing. 2 Preface “The amount of required study of testing techniques is trivial – a few hours over the course of.
IB Computer Science: 1.6 Software Design Created by Kevin Scott.
Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.
Your Interactive Guide to the Digital World Discovering Computers 2012.
18 Example of SIP Solo Iteration Process(SIP) Software begins by a very simple initial development Functionality is added one step at a time by software.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
RUP Implementation and Testing
Introduction to Sequence Diagrams
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Software cost estimation Predicting the resources required for a software development process 1.
(c) University of Washington08-1 CSC 143 Models and Views Reading: Ch. 18.
© Copyright 2011 John Wiley & Sons, Inc.
CSE Senior Design I Building a Plan Instructor: Mike O’Dell Several of the slides in this module are a modification and amplification of slides prepared.
CPSC 372 John D. McGregor Module 2 Session 1 More on requirements and the Investment Decision.
8 Actualization Programmers implement the new functionality –according to change request The process of actualization varies –depends on the size of the.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 3 1 Software Size Estimation I Material adapted from: Disciplined.
Cost Estimation What is estimated? –resources (humans, components, tools) –cost (person-months) –schedule (months) Why? –Personnel allocation –Contract.
REAL TIME GPS TRACKING SYSTEM MSE PROJECT PHASE I PRESENTATION Bakor Kamal CIS 895.
Disciplined Software Engineering Lecture #3 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
R R R CSE870: Advanced Software Engineering: UML-- Use Cases1 Use Cases and Scenarios.
OO Design Roshan Chitrakar. Analysis to Design Do the RIGHT thing Do the RIGHT thing Requirement Analysis Requirement Analysis Domain Modeling with addition.
May08-21 Model-Based Software Development Kevin Korslund Daniel De Graaf Cory Kleinheksel Benjamin Miller Client – Rockwell Collins Faculty Advisor – Dr.
Jobs & Drawings (Deliverables) in New TIMESHEET system TIMESHEET Screens.
System Maintenance Modifications or corrections made to an information system after it has been released to its customers Changing an information system.
SEG2105 FINAL REVIEW December 2015
© 2012 Václav Rajlich Software Engineering: The Current Practice Ch Conclusion of software change The last phase of software change The activities.
Copyright © , Dennis J. Frailey, All Rights Reserved Day 2, Part 1, Page 1 1/11/2004 Day 2, Part 1 Estimating Software Size Section 2 Calculating.
17 Example of software change Application framework Drawlets –adds graphical display to a host application Drawing canvas –lines, free-hand lines, rectangles,
We’ll cover:  1. What is a Kanban System and how does it apply to anything you want to do?  2. How to set up a Kanban System 2.
CSC 480 Software Engineering PSP Project 1 August 20, 2004.
By Manish Shrotriya CSE MS Software Estimation Effort Estimation: how much effort is required to complete an activity. (How to define efforts: Line.
6 Concepts and concept location © 2012 by Václav Rajlich1 Initiation Concept Location Impact Analysis Prefactoring Actualization Postfactoring Conclusion.
8 Actualization Programmers implement the new functionality –according to change request The process of actualization varies –depends on the size of the.
Software Engineering, COMP201 Slide 1 Software Engineering CSE470.
Software Engineering, COMP201 Slide 1 Software Engineering CSE470.
Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova An Introduction to Scrum and XP Prof. Riccardo Berta.
 1- Definition  2- Helpdesk  3- Asset management  4- Analytics  5- Tools.
Use Cases and Scenarios
Exception and Event Handling
Chapter Topics 15.1 Graphical User Interfaces
HSA Reusability Issues
18 Example of SIP Solo Iteration Process(SIP)
TranSearch Real Time Document & Asset Management Web Client
Why Do We Measure? assess the status of an ongoing project
Using Kanban Techniques to Control Incremental Development
Chapter 10 Development of Multimedia Project
Your Potential as an Entrepreneur
Event Chain Methodology
Engineering Processes
3. Object-oriented Design
MBI 630: Week 11 Interface Design
Why Do We Measure? assess the status of an ongoing project
Chapter 15: GUI Applications & Event-Driven Programming
Stock Handling /Inventory Control
Why Do We Measure? assess the status of an ongoing project
Why Do We Measure? assess the status of an ongoing project
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Model, View, Controller design pattern
Exception and Event Handling
Software Effort Estimation
Team 6: Healthnet Embedded Systems Design
Presentation transcript:

7 Impact analysis (IA) Determines the strategy and impact of change Initiation Concept Location Impact Analysis Prefactoring Actualization Postfactoring Conclusion V E R I F C A T O N Determines the strategy and impact of change Classes identified in concept location make up the initial impact set Class dependencies are analyzed, and impacted classes are added to the impact set Produces estimated impact set © 2012 by Václav Rajlich

Initial and estimated impact set © 2012 by Václav Rajlich

Example personal schedules (story on page 107) © 2012 by Václav Rajlich

Example personal schedules (story on page 107) © 2012 by Václav Rajlich

Example personal schedules (story on page 107) © 2012 by Václav Rajlich

Example personal schedules (story on page 107) © 2012 by Václav Rajlich

Example personal schedules (story on page 107) © 2012 by Václav Rajlich

Point of Sale Change Request Record cashier sessions A cashier session total cash and all sales during the time between the cashier logging in and out. © 2012 by Václav Rajlich

Example: Point of Sale © 2012 by Václav Rajlich

Class interactions Two classes interact if the have something in common One depends on the other There is a contract between them They coordinate They share the same coding, schedule, etc. Interactions propagate change In both directions From A to B or from B to A © 2012 by Václav Rajlich

Class Interaction Graph G = (X,I) G … set of classes I … set of interactions Neighborhood of class A N(A) = {B | (A,B)  I} © 2012 by Václav Rajlich

Interactions caused by dependencies © 2012 by Václav Rajlich

Coordination class C { A a; //gets the color code B b; //paints the screen void foo() { b.paint(a.get()); } }; © 2012 by Václav Rajlich

Dependency diagram, Interaction diagram © 2012 by Václav Rajlich

Neighborhood of Item © 2012 by Václav Rajlich

Status of components (marks) Blank The class was never inspected and is not scheduled for an inspection. Changed The programmers inspected the class and found that it is impacted by the change Unchanged The programmers inspected the class and found that it is not impacted by the change. Next The class is scheduled for inspection © 2012 by Václav Rajlich

A simplified IA process Create interaction diagram and mark all classes as BLANK Mark the class located during concept location as CHANGED Mark all BLANK neighbors as NEXT [No] Are there any classes marked as NEXT? [Yes] Select a class among the classes marked as NEXT. What is the new mark for this class? [UNCHANGED] Mark class as UNCHANGED Mark class as CHANGED [CHANGED] © 2012 by Václav Rajlich

Interactive IA G F L Main B E C K A J H D N O P I Color codes Unknown Changed Next Unchanged 18

Propagating class: Mailman John loaned money to Paul needs the money back His situation changed John writes a letter to Paul Mailman takes the letter from John to Paul Paul must take a part-time job a big change that propagated from John to Paul © 2012 by Václav Rajlich

Interactions John interacts with the mailman the mailman interact with Paul The change originated with John and propagates through the mailman to Paul. mailman is in the middle of the propagation he does not have to change anything he just keeps delivering the letters from one person to another. © 2012 by Václav Rajlich

IA including propagating classes Create interaction diagram and mark all classes as BLANK Mark the class located during concept location as CHANGED Mark all BLANK neighbors as NEXT [No] Are there any classes marked as NEXT? [Yes] Select a class marked as NEXT. What is the new mark for this class? [UNCHANGED] Mark class as INSPECTED [PROPAGATING] Mark class as PROPAGATING [CHANGED] Mark class as CHANGED © 2012 by Václav Rajlich

Inspected and unchanged Iterative IA H B E I F C A D J G L K Color codes Unknown Changed To be inspected Inspected and unchanged Propagating 22

Alternatives in software change Program displaying a temperature in Fahrenheit change request: display it in Celsius Two separate locations deal with temperature sensor data converted to the temperature temperature displayed to the user The change can be done in either place impact analysis weights these alternatives © 2012 by Václav Rajlich

The criteria Required effort of the change Clarity of the resulting code Often, these two criteria contradict each other it is easier to adjust the user interface it is better to have all calculations of the temperature in one place Conflict between short-term and long-term goals © 2012 by Václav Rajlich

Interactive IA Computer Programmer Create interaction diagram and mark all classes as BLANK Mark the class located during concept location as CHANGED Mark all BLANK neighbors as NEXT [No] Are there any classes marked as NEXT? [Yes] Select a class marked as NEXT. What is the new mark for this class? [INSPECTED] Mark class as INSPECTED [PROPAGATING] Mark class as PROPAGATING [CHANGED] Mark class as CHANGED © 2012 by Václav Rajlich

Tool support: JRipples Automatically identifies and suggests components to be inspected Next Keeps track of What was done (Changed, Propagating, Unchanged) What needs to be done (Next) Eclipse plug-in Java 15,000 LOC 150 Classes 2,500 Methods http://jripples.sourceforge.net © 2012 by Václav Rajlich 26

JRipples GUI © 2012 by Václav Rajlich

JRipples marks and Eclipse © 2012 by Václav Rajlich