IBM Rational Development Suite Overview Owen Johnson Information Systems Programme Manager Leeds University, School of Computing owenj@comp.leeds.ac.uk
Objectives By the end of session you will: Software Engineering By the end of session you will: Appreciate how a modelling approach can help a software project Understand how a CASE tool such as Rational Rose can support a modelling approach Be familiar with the range of different software engineering tools in the IBM Rational Suite Be able to decide which tools might be appropriate to your individual and team work Have an opportunity to see some of the Rational Tools in action and discuss options for exploiting them further.
Agenda CASE tools at the School of Computing The Rational Suite Rational Rose – UML Modelling; Round-trip Engineering Rational Unified Process – Online methodology RequisitePro ClearCase and ClearQuest Pure Coverage and Quantify Live Demo(s) Discussion - What next
Background Software Engineering at the School of Computing Year 1 30 Credits (300 hours) of Programming – Java Information Systems principles Human Computer Interaction design Year 2 OO Analysis, Design and Development using UML and Java Databases using SQL Software Engineering Project – teamwork using Agile techniques CASE tools Project planning and control Build and deploy a working system
Engineering Models An abstraction – SHOW views of buildings Doesn’t SHOW the colour of buildings etc. Models are an Abstraction of reality Abstraction depends on the perspective of the viewer The model builder chooses what information they consider relevant and want to communicate.
Tools for Civil Engineers Civil engineers building a building or a bridge have to model a highly complex, interdependent, multi-layered architecture. Civil Engineering students learning to be civil engineers need to learn how to construct and use architectural plans or blueprints. They need to learn: 1) Agreed standards and notation for drawing 2) The range of Architectural views for different uses High level and detail levels Different views – plan, elevation etc. Different users – electrical, plumbing, furniture 3) Computer Assisted Design (C.A.D.) Software Tools
Tools for Software Engineers Software engineers building a major piece of software have to model a highly complex, interdependent, multi-layered architecture. Software Engineering students learning to be software engineers need to learn how to construct and use the equivalent of architectural plans or blueprints. They need to learn: 1) Agreed standards and notation for drawing 2) The range of Architectural views for different use 3) CASE - Computer Aided Software Engineering - make the drawing easier and - maintain the integrity between multiple views of the same model. UML standards Visual Model - a set of UML diagrams Rational Rose
Rational Rose
Modelling with Rose What modelling with Rose makes possible is Drawing lots of UML diagrams Keeping all these diagrams On-Line in a computer system rather than on separate sheets of paper The Model The model is the collection of all the UML diagrams you create PLUS All the entities that appear in these diagrams All the descriptions, details and specifications for these entities
Class Diagram Dynamic Views Physical Views Logical Views Use Case Class Activity State Sequence Collaboration Object Component Deployment Requirements Views Logical Views Physical Views Dynamic Views Class Diagram
Use Case Diagram Dynamic Views Physical Views Logical Views Class Activity State Sequence Collaboration Object Component Deployment Requirements Views Logical Views Physical Views Dynamic Views Use Case Diagram
Activity Diagram Dynamic Views Physical Views Logical Views Use Case Class Activity State Sequence Collaboration Object Component Deployment Requirements Views Logical Views Physical Views Dynamic Views Activity Diagram
The Order System Model – Use Cases
Sequence Diagram Dynamic Views Physical Views Logical Views Use Case Class Activity State Sequence Collaboration Object Component Deployment Requirements Views Logical Views Physical Views Dynamic Views Sequence Diagram
Collaboration Diagram Use Case Class Activity State Sequence Collaboration Object Component Deployment Requirements Views Logical Views Physical Views Dynamic Views Collaboration Diagram
State Diagram Dynamic Views Physical Views Logical Views Use Case Class Activity State Sequence Collaboration Object Component Deployment Requirements Views Logical Views Physical Views Dynamic Views State Diagram
Component Diagram Dynamic Views Physical Views Logical Views Use Case Class Activity State Sequence Collaboration Object Component Deployment Requirements Views Logical Views Physical Views Dynamic Views Component Diagram
Deployment Diagram Dynamic Views Physical Views Logical Views Use Case Class Activity State Sequence Collaboration Object Component Deployment Requirements Views Logical Views Physical Views Dynamic Views Deployment Diagram
The Next Step From Classes to Code Ant - currentPosition_X: Integer - currentPosition_Y: Integer - direction: Integer - speed: Integer - haveFood: Boolean - knownFoodPosition_X: Integer - knownFoodPosition_Y: Integer + newAnt() + drawAnt() + tellFoodLocation() + askFoodLocation() + moveAnt() - goToFood() - search ForFood() - carryFoodToNest() Design-level Class Public class Ant extends Object { // attributes private int currentPosition_X; private int currentPosition_Y; private int direction; private int speed; private Boolean haveFood; private int knownFoodPosition_X; private int knownFoodPosition_Y; // methods public newAnt() {……………….}; public drawAnt() {………………}; public tellFoodLocation() { return knownFoodLocation_X; return knownFoodLocation_Y; } public askFoodLocation( int X, int Y) {……………..}; public moveAnt () { if ( haveFood = True ) carryFoodToNest(); else if ( knownFoodPosition_X > 0 and knownFoodPosition_Y > 0 ) goToFood (); else searchForFood(); private goToFood() {…………..}; private searchForFood() {…….}; private carryFoodToNest() {….}; } . OOP Class (e.g. Java) Key point. The attributes translate directly. The method names translate but UML doesn’t record the content of actual methods.
Implementation using A CASE Tool like Rational Rose Model Program Classes + Structure + Documentation Classes + Structure + Documentation Common Added Value Round Trip Implementation Detail Views & Concept
Order System in Visual Studio
Rose Views and UML Views Use Cases plus Dynamic Views Use Case Class Activity State Sequence Collaboration Object Component Deployment Requirements Views Logical Views Physical Views Dynamic Views Logical plus Dynamic Views Note that the UML ‘dynamic views’ are contained within Rose Use Case and Logical Views
The Rational Unified Process
The Requirements Workflow The RUP Workflows are drawn as UML Activity Diagrams Drill-down to deeper levels of information about the process
Analyse the Problem
Vision Artefact
The Vision
Guidelines
Project Management Workflow
RUP - Project Management Workflow
RUP - Project Artefacts The Key Artefacts in an RUP Project
RUP - Project Management Artefacts
Requirements Tracking Tool Requisite Pro Quick Tour – at C:\Program Files\Rational\RequisitePro\help\QuickTour.html
Change Request – ClearQuest Change Management – ClearCase Configuration and Change Management covers three interdependent functions
CASE Tools for Testing Rational Pure Coverage automatically evaluates the completeness of your testing and pinpoints parts of the code that are never used. For each test it will show what what parts of the code are used and will keep track of parts of the code which have not been tested.
CASE Tools for Testing II Rational Quantify systematically tests the performance of program code to identify bottlenecks and inefficiencies. Provides volumetric information about performance to enable detailed analysis on how software is actually working.
What next? Online Reading Demo? Debate? OO Analysis and Design Online IBM Rational on the Web www.rational.com Tutorials and help files on PCs installed with Rational http://www.comp.leeds.ac.uk/se24/labs/RoseLab.html School of Computing, Software Engineering www.comp.leeds.ac.uk/se20 UML Style guidelines from Scott Ambler www.agilemodeling.com/style Reading Manuals from 2003 (in Owen’s office) Ambler S, The Elements of UML 2.0 Style, Cambridge University Press, 2005 Bennett S, Skelton J & Lunn K, Schaum's Outline of UML (2nd edition), McGraw-Hill, 2005 The Rational Unified Process: An Introduction, Third Edition (Paperback) by Philippe Kruchten Demo? Debate?
Objectives By the end of session you will: Software Engineering By the end of session you will: Appreciate how a modelling approach can help a software project Understand how a CASE tool such as Rational Rose can support a modelling approach Be familiar with the range of different software engineering tools in the IBM Rational Suite Be able to decide which tools might be appropriate to your individual and team work Have an opportunity to see some of the Rational Tools in action and discuss options for exploiting them further.
IBM Rational Development Suite Overview Owen Johnson Information Systems Programme Manager Leeds University, School of Computing owenj@comp.leeds.ac.uk