420 likes | 618 Views
IBM Rational Development Suite Overview. Owen Johnson Information Systems Programme Manager Leeds University, School of Computing owenj@comp.leeds.ac.uk. Software Engineering. Objectives. By the end of session you will: Appreciate how a modelling approach can help a software project
E N D
IBM Rational Development Suite Overview Owen Johnson Information Systems Programme Manager Leeds University, School of Computing owenj@comp.leeds.ac.uk
Software Engineering Objectives 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
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
Requirements Views Use Case Deployment Class Logical Views Physical Views Component Object Collaboration Activity State Sequence Dynamic Views Class Diagram
Requirements Views Use Case Deployment Class Logical Views Physical Views Component Object Collaboration Activity State Sequence Dynamic Views Use Case Diagram
Requirements Views Use Case Deployment Class Logical Views Physical Views Component Object Collaboration Activity State Sequence Dynamic Views Activity Diagram
Requirements Views Use Case Deployment Class Logical Views Physical Views Component Object Collaboration Activity State Sequence Dynamic Views Sequence Diagram
Requirements Views Use Case Deployment Class Logical Views Physical Views Component Object Collaboration Activity State Sequence Dynamic Views Collaboration Diagram
Requirements Views Use Case Deployment Class Logical Views Physical Views Component Object Collaboration Activity State Sequence Dynamic Views State Diagram
Requirements Views Use Case Deployment Class Logical Views Physical Views Component Object Collaboration Activity State Sequence Dynamic Views Component Diagram
Requirements Views Use Case Deployment Class Logical Views Physical Views Component Object Collaboration Activity State Sequence Dynamic Views Deployment Diagram
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() {….}; } . Design-level Class 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() The Next StepFrom Classes to Code 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.
Classes + Structure + Documentation Implementation Detail Round Trip Implementation using A CASE Tool like Rational Rose • ModelProgram • Common • Added • Value • Classes + • Structure + • Documentation • Views • & • Concept
Use Cases plus Dynamic Views Requirements Views Use Case Deployment Class Logical Views Physical Views Component Object Collaboration Activity State Sequence Logical plus Dynamic Views Dynamic Views Rose Views and UML Views Note that the UML ‘dynamic views’ are contained within Rose Use Case and Logical Views
The Requirements Workflow • The RUP Workflows are drawn as UML Activity Diagrams Drill-down to deeper levels of information about the process
RUP - Project Artefacts • The Key Artefacts in an RUP Project
Requirements Tracking ToolRequisitePro Quick Tour – at C:\Program Files\Rational\RequisitePro\help\QuickTour.html
Change Request – ClearQuestChange 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.
OO Analysis and Design What next? 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?
Software Engineering Objectives 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