® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with the IBM Rational Software Architect, V7.5 Module 15: Traceability and Static Analysis.

Slides:



Advertisements
Similar presentations
A BPM Framework for KPI-Driven Performance Management
Advertisements

PRESENTATION 3 Sri Raguraman CIS 895 Kansas State University.
® IBM Software Group © 2014 IBM Corporation Innovation for a smarter planet MBSE for Complex Systems Development Dr. Bruce Powel Douglass, Ph.D. Chief.
Mastering Object-Oriented Analysis and Design with UML Module 4: Analysis and Design Overview.
Object-Oriented Analysis and Design
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Recall The Team Skills 1. Analyzing the Problem 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5. Refining the System.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
© Copyright Eliyahu Brutman Programming Techniques Course.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
Galin, SQA from theory to implementation © Pearson Education Limited Chapter 13 CASE Tools and their Effect on Software Quality.
® IBM Software Group © 2008 IBM Corporation Rational Developer for System z User Group Kickoff.
Object Oriented Analysis and Design Using the UML
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
Rational Rose Tutorial
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
UML - Development Process 1 Software Development Process Using UML (2)
Ihr Logo Data Explorer - A data profiling tool. Your Logo Agenda  Introduction  Existing System  Limitations of Existing System  Proposed Solution.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Karolina Muszyńska. Reverse engineering - looking at the solution to figure out how it works Reverse engineering - breaking something down in order to.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Business Requirements Using Unified Modeling Language Eric H. Castain, SVP Internet Services Group, Architecture Wells Fargo March 2005.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Rational Unified Process Fundamentals Module 4: Disciplines II.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
MCS 270 Spring 2014 Object-Oriented Software Development.
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.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
Design Management: a Collabortive Design Solution ECMFA 2013 Montpellier, France Maged Elaasar (Presenter) Senior Software Engineer, IBM
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Summarizing the Content of Large Traces to Facilitate the Understanding of the Behaviour of a Software System Abdelwahab Hamou-Lhadj Timothy Lethbridge.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
® IBM Software Group © IBM Corporation Introduction to Requirements Management & Analysis Solution Luis Castañeda Cubas IBM.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour.
® IBM Software Group © 2007 IBM Corporation Rational Transformation Workbench Analyzer for Eclipse V3.1 Name Title address.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with IBM Rational Software Architect V7.5 Module 17: Team Modeling.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Essentials of Modeling with IBM Rational Software Architect V7.5
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with IBM Rational Software Architect, V7.5 Module 18: Applying Patterns and Transformations.
Requirements Analysis
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
® IBM Software Group © 2007 IBM Corporation Module 3: Creating UML Diagrams Essentials of Modeling with IBM Rational Software Architect, V7.5.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview.
1 SWE Introduction to Software Engineering Lecture 14 – System Modeling.
5. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the activities of the requirements discipline  Describe the difference.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with IBM Rational Software Architect V7.5 Module 0: About This Course.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Systems Architectures System Integration & Architecture.
Building Enterprise Applications Using Visual Studio®
Component and Deployment
Object-Oriented Software Engineering Using UML, Patterns, and Java,
System Analysis and Design:
Presentation transcript:

® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with the IBM Rational Software Architect, V7.5 Module 15: Traceability and Static Analysis

2  After completing this module, you will be able to:  Create traceability relationships between model elements  Query models for traceability and impact analysis  Validate the correctness of UML models  Analyze models and identify opportunities for improvements Module objectives

3 The challenge of software maintenance  Enterprise applications are too large and complex for traditional code review  Design and code standards are often subjective, hard to enforce across large teams Unstable Unreliable Unpredictable Rewrite Business Requirements Business Requirements Complex

4 Addressing the challenges Throughout development, Rational Software Architect provides key features to detect and fix potential problems  Identify  Model elements  Dependencies between model elements  Analyze  Model structure  Compliance to UML  Model complexity and correctness  Resolve  Change models according to problems discovered

5 Where are we?  Model traceability and querying  Model validation and analysis  Software analysis

6 Traceability Traceability answers key questions in development, such as:  What requirements is this part of the design based on?  Why did this (feature, use-case, subsystem, or class) get implemented in this way?  What are the non-functional requirements for this design?  What is the impact of changing a requirement?  What happens to the solution if the business process is changed? ?

7 Traceability and impact analysis  Use traceability and impact analysis tools to:  Discover which elements are related  Understand the design  Minimize the risk of change  Traceability queries  Discover the specifications and implementations of a context element  Impact analysis  Discover the clients and suppliers of a context element that might be impacted by changes

8 Modeling traceability relationships  Model traceability among model elements with dependencies:  Manually with UML dependencies in diagrams  «refine»  «trace»  Using model transformations  «derive» Query the model's dependencies for traceability and impact analysis Dependencies can exist between elements in different models

9 Explore traceability relationships Use topic and browse diagrams to explore traceability relationships and generate edit diagrams  Topic diagrams:  Explore traceability among a group of model elements  Are saved in the model  Browse diagrams:  Explore traceability relationships among model elements  Are not saved in the model  Generated diagrams can span several models

10 Demo: modeling traceability The instructor will now show you how to:  Model traceability  Create a browse or a topic diagram  Explain results

11 Where are we?  Model traceability and querying  Model validation and analysis  Software analysis

12 Validation preferences Use the workspace preferences to select the UML constraint that you want to enable  Predefined constraints  Aligned with the UML specification  Severity level (Information, Warning, or Error)  Constraints are applied either in live mode or in batch mode

13 Validate model elements Run the validate tool to discover violations of the UML constraints  Constraints selected in the workspace preferences are applied  Show discovered violations and their severity level  Constraint documentation  Link to the model element causing the violation  Suggestions for Quick Fix

14 Analysis configuration Create configurations to specify the type, the rules, and the scope of each analysis Select or create rules to include in the configuration Change rule properties as needed Specify the analysis scope (Workspace, working set, or project) Specify the analysis scope (Workspace, working set, or project) Import/export rule sets

15 UML model analysis  Run the static analysis tool to analyze models  Rules defined in the analysis configuration are applied  Static analysis collects UML metrics and detect UML problems  The Analysis Results view displays the findings of all analysis sessions  View or ignore results and make quick fixes  Save or export results as XML format  Create analysis reports Quick Fix Available

16 Where are we?  Model traceability and querying  Model validation and analysis  Software analysis

17 Architectural discovery Four categories of rules:  Design Patterns  Discover familiar design patterns in the architecture  Object-oriented Patterns  Find the inheritance tree and interfaces  Structural Patterns  Find structural patterns and anti-patterns in the architecture  System Patterns  Explore the structure of the model

18 Structural patterns Has a lot of immediate dependents If changed, may affect many components Has a lot of immediate dependencies and dependents Has a lot of immediate dependencies Often is affected when the system changes Often is affected when anything is changed, and affects a lot of other components Group of interdependent components: changes to one affects all

19 Architectural discovery analysis results Select View Result in the Analysis Results view.Navigate to the Java class from the diagram.

20 Code review analysis results  Examine and work with findings in the Code Review and Code Review Details views.  Apply Quick Fixes. Quick Fix Available

21 Manual static analysis  Use the code visualization to explore and analyze existing code  Generate editable class diagrams for code structure  Generate sequence diagrams to understand code behavior  Interpret existing code and discover problems

22 Lab 15: Validate and Analyze a Model To begin the lab:  In the workbench, click Help > Cheat Sheets to open the Cheat Sheet Selection dialog.  Expand Essentials of Modeling Labs.  Double-click 15 Validate and Analyze Models.  Follow the directions indicated on the Cheat Sheet.  In this lab, you will complete the following tasks:  Review and validate a UML model  Conduct a model analysis and collect UML metrics  Perform a software analysis (in Rational Software Architect)

23 Review  How do you model traceability in Rational Software Architect?  What three levels of severity are possible for code review rules?  What are structural patterns?  What features are used to perform some types of static analysis manually in Rational Software Architect?

24