Date post: | 28-Mar-2015 |
Category: |
Documents |
Upload: | timothy-mccormick |
View: | 216 times |
Download: | 1 times |
IBM Rational Development Suite
Overview
Owen Johnson
Information Systems Programme Manager
Leeds University, School of Computing
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.
Software Engineering
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.
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 Civil 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.
Tools for Software Engineers
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 DiagramUse Case
Class
Activity
State Sequence
Collaboration
ObjectComponent
Deployment
Use Case DiagramUse Case
Class
Activity
State Sequence
Collaboration
ObjectComponent
Deployment
Activity DiagramUse Case
Class
Activity
State Sequence
Collaboration
ObjectComponent
Deployment
The Order System Model – Use Cases
Sequence DiagramUse Case
Class
Activity
State Sequence
Collaboration
ObjectComponent
Deployment
Collaboration DiagramUse Case
Class
Activity
State Sequence
Collaboration
ObjectComponent
Deployment
State DiagramUse Case
Class
Activity
State Sequence
Collaboration
ObjectComponent
Deployment
Component DiagramUse Case
Class
Activity
State Sequence
Collaboration
ObjectComponent
Deployment
Deployment DiagramUse Case
Class
Activity
State Sequence
Collaboration
ObjectComponent
Deployment
The Next StepFrom Classes to Code
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() {….};
}
.
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 ClassOOP 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
Common
Added Value
Model Program
Classes +Structure +Documentation
Views &Concept
ImplementationDetail
Round Trip
Classes + Structure + Documentation
Order System in Visual Studio
Rose Views and UML Views
Use Case
Class
Activity
State Sequence
Collaboration
ObjectComponent
Deployment
Use Cases plus Dynamic Views
Logical plus Dynamic ViewsNote that the UML ‘dynamic views’ are contained within Rose Use Case
and Logical Views
The Rational Unified Process
The RUP
Workflows are drawn
as UML Activity
Diagrams
The Requirements Workflow
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 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 TestingRational 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 IIRational 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 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?
OO Analysis and Design
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.
Software Engineering
IBM Rational Development Suite
Overview
Owen Johnson
Information Systems Programme Manager
Leeds University, School of Computing