Presentation 4: IBM Rational Software Architect Example James Martin CpE 691, Spring 2010 February 18, 2010.

Slides:



Advertisements
Similar presentations
Integrated Platform version 5.2
Advertisements

Interaction Design: Visio
Visio 2007 for UML Tutorial. Overview The tutorial demonstrates how to use Visio 2007 to create UML diagrams. We will focus on five most widely used UML.
RCM-Tool v1.0 Demo Performing Welcome to the RCM-Tool RCM-Tool
Week 2 The Object-Oriented Approach to Requirements
© Siemens Product Lifecycle Management Software Inc. All rights reserved Siemens PLM Software Solid Edge ST4 Training Assembly systems libraries.
Visual Basic 2010 How to Program. © by Pearson Education, Inc. All Rights Reserved.2.
CGS 1060 Introduction to MicroComputer Usage Chapter 1 Windows 7
1 Chapter 12 Working With Access 2000 on the Internet.
Systems Analysis and Design in a Changing World, Fourth Edition
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
Integrating Access with the Web and with Other Programs.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
SiS Technical Training Development Track Technical Training(s) Day 1 – Day 2.
Getting Started with IBM Rational System Developer 01/06/2011.
® IBM Software Group © 2006 IBM Corporation The Eclipse Data Perspective and Database Explorer This section describes how to use the Eclipse Data Perspective,
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
Chapter 7: The Object-Oriented Approach to Requirements
2. Introduction to the Visual Studio.NET IDE 2. Introduction to the Visual Studio.NET IDE Ch2 – Deitel’s Book.
® IBM Software Group © 2006 IBM Corporation JSF Tab Controls This Learning Module shows how to develop server-side EGL applications with dynamic content.
Business Optix Library Service – Workflow
® IBM Software Group © 2006 IBM Corporation Creating JSF/EGL Template Pages This section describes how to create.JTPL (Java Template Pages) using the Page.
With Internet Explorer 8© 2011 Pearson Education, Inc. Publishing as Prentice Hall1 Go! with Internet Explorer 8 Getting Started.
Microsoft Expression Web - Illustrated Unit B: Creating a Web Site.
Systems Analysis and Design in a Changing World, Fifth Edition
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Chapter 6: Forms JavaScript - Introductory. Previewing the Product Registration Form.
Advanced Forms Lesson 10.
Create Database Tables
Chapter 7 Structuring System Process Requirements
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
Java Programming, 3e Concepts and Techniques Chapter 3 Section 65 – Manipulating Data Using Methods – Java Applet.
IE 411/511: Visual Programming for Industrial Applications
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved. 1 2 Welcome Application Introducing the Visual Basic 2008 Express Edition IDE.
Marcel Casado NCAR/RAP WEATHER WARNING TOOL NCAR.
12 Systems Analysis and Design in a Changing World, Fifth Edition.
An Introduction to Designing and Executing Workflows with Taverna Katy Wolstencroft University of Manchester.
Training Guide for Inzalo SOP Users. This guide has been prepared to demonstrate the use of the Inzalo Intranet based SOP applications. The scope of this.
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.
Problem Statement: Users can get too busy at work or at home to check the current weather condition for sever weather. Many of the free weather software.
An Introduction to Designing and Executing Workflows with Taverna Aleksandra Pawlik materials by: Katy Wolstencroft University of Manchester.
Sequence Diagrams And Collaboration Diagrams HungNM.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
An Introduction to Designing, Executing and Sharing Workflows with Taverna Katy Wolstencroft myGrid University of Manchester IMPACT/Taverna Hackathon 2011.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
XP New Perspectives on Microsoft Office FrontPage 2003 Tutorial 7 1 Microsoft Office FrontPage 2003 Tutorial 8 – Integrating a Database with a FrontPage.
® IBM Software Group © 2006 IBM Corporation JSF Panel – Section Controls This Learning Module shows how to develop server-side EGL applications with dynamic.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
® IBM Software Group © 2007 IBM Corporation Module 3: Creating UML Diagrams Essentials of Modeling with IBM Rational Software Architect, V7.5.
1 of 6 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
Intoduction to Andriod studio Environment With a hello world program.
Microsoft Office 2008 for Mac – Illustrated Unit D: Getting Started with Safari.
IE 411/511: Visual Programming for Industrial Applications Lecture Notes #2 Introduction to the Visual Basic Express 2010 Integrated Development Environment.
2 Copyright © 2004, Oracle. All rights reserved. ADF Development Process.
XP New Perspectives on Macromedia Dreamweaver MX 2004 Tutorial 5 1 Adding Shared Site Elements.
Basics of RSA Rational Software Architect. What is RSA? Comprehensive Modeling and Development environment that leverages the Unified Modeling Language.
Microsoft Excel Illustrated Introductory Workbooks and Preparing them for the Web Managing.
Exploring Taverna 2 Katy Wolstencroft myGrid University of Manchester.
Teaching slides Chapter 6. Chapter 6 Software user interface design & construction Contents Introduction Graphical user interface – Rich window based.
Labs: Create, deploy and test a simple web service
Introducing IBM Rational Software Architect
Dive Into® Visual Basic 2010 Express
Web Routing Designing an Interface
Working in the Forms Developer Environment
3. MODEL DRIVEN APPLICATIONS
8. Model Fusion SWE SOFTWARE PROCESS MODELING - AMAN QUADRI.
Unified Modeling Language
4. Modelling the Applications - II
4. Modelling Communications
An Introduction to Designing and Executing Workflows with Taverna
Presentation transcript:

Presentation 4: IBM Rational Software Architect Example James Martin CpE 691, Spring 2010 February 18, 2010

Overview  Hello World: very simple phone book application  Stores user entered phone numbers to be retrieved later.  Adapted to a presentation from: hellorsa.html  Also ships with RSA

Steps  Create a UML project  Create a use case diagram  Create a class diagram  Create a sequence diagram  Publish the design  Transform UML to Java  Implementation

Create a UML project 1.From the workbench, select File > New > Project > Other. 2.Select UML Project and then select Next. 3.Enter MyPhoneBookUMLProject as the project name, and select Next. 4.Enter Phone Book UML Model as the file name of the UML Model, uncheck the box Create a default diagram in the new model, then select Finish.

Create a UML project (1)

Create a UML project (2)

Create a UML project (3)

Create a UML project (4)

Create a UML project

Steps  Create a UML project  Create a use case diagram  Create a class diagram  Create a sequence diagram  Publish the design  Transform UML to Java  Implementation

Create a use case diagram  One actor: Any User  Two use cases: 1.Add an entry Enter a unique person name and a phone number using the provided application user interface. The system processes the entered data and stores it. 2.Search for a phone number Retrieve a phone number by entering a unique person name using the provided application user interface. The system locates the phone number and returns it to the actor.

Create a use case diagram (1)  In the Model Explorer view, right- click Phone Book UML Model and select Add Diagram > Use Case Diagram.

Create a use case diagram (2)  Enter Use Case Diagram as the name of the generated diagram to replace the default name Diagram1. Now you can draw the use case diagram by adding various model elements from the Palette to the diagram.

Create a use case diagram (3-5) 3.Select Actor in the Palette, then click anywhere in the diagram to create an Actor. Name it Any User. 4.Select Use Case in the Palette, then click anywhere in the diagram to create a Use Case. Name it Add an entry. 5.Similarly, create another use case called Search for a phone number.

Create a use case diagram (6-7) 6.Select Association in the Palette. Draw the association relationship line from the actor Any User to the use case Add an entry to initiate a relationship between the two model elements. 7.Similarly, create another association relationship between the actor Any User and the use case Search for a phone number.

Create a use case diagram (8)  The complete use case diagram should look similar to the figure. Enter Ctrl-S to save the diagram.

Steps  Create a UML project  Create a use case diagram  Create a class diagram  Create a sequence diagram  Publish the design  Transform UML to Java  Implementation

Create a class diagram  Design the simple phone book application using the Model-View- Controller (MVC) architecture pattern  Three classes: − PhoneBookModel − PhoneBookView − PhoneBookController

Conceptual Design

Class: PhoneBookModel  Manages the phone book entries and captures the state of the application  Whenever the state is changed, it notifies PhoneBookView, which should then refresh the user interface based on the state of the application

Class: PhoneBookView  Manages the graphical or textual interface to the user based on the state of the application  Notifies PhoneBookController when an input is received

Class: PhoneBookController  Controls the operation of the entire application.  Changes the model state of the application and updates the data model based on user input.

Class Operations  PhoneBookModel − addAnEntry − searchPhoneNumber − getSearchResult − getState  PhoneBookView − stateHasChanged − changeViewgetUserInput  PhoneBookController − userHasInput − start

Create a class diagram (1-3) 1.In the Model Explorer view, right- click Phone Book UML Model and select Add Diagram > Class Diagram. 2.Enter Class Diagram as the name of the generated diagram to replace the default name Diagram1. 3.Select Class in the Palette, then click anywhere in the diagram to create a class. Name it PhoneBookModel.

Create a class diagram (4-6) 4.Right click the created class PhoneBookModel and select Add UML > Operation to create an operation for this class. Name it setState. 5.Similarly, create the rest of the classes and operations as given previously. 6.Create some associations to relate these three classes together. Click the arrow that appears next to Association from the Palette and select Directed Association.

Create a class diagram (7-8) 7.Draw the directed association relationship line from the class PhoneBookController to PhoneBookModel (the order is important) to initiate a Directed Association relationship between these two classes. A Directed Association relationship means the first one is aware of the latter, but not the other way round. 8.Create the following relationships: −Association relationship between the class PhoneBookModel and PhoneBookView. −Association relationship between the class PhoneBookView and PhoneBookController.  An Association relationship without any direction means the two connected classes are aware of each other.

Create a class diagram (9) 9.The complete class diagram should look similar to the figure. Enter Ctrl-S to save the diagram.

Steps  Create a UML project  Create a use case diagram  Create a class diagram  Create a sequence diagram  Publish the design  Transform UML to Java  Implementation

Create a sequence diagram  Realize the use case Search for a phone number  Show the associated interaction using a sequence diagram

Sequence Description  The actor Any User makes use of the interface provided by PhoneBookView to request a search.  PhoneBookView notifies PhoneBookController about the user's request.  PhoneBookController then updates the data model that is stored in PhoneBookModel.  Because there is a change of the model, PhoneBookModel notifies PhoneBookView, which should then refresh the user interface to reflect the latest state of the application.

Create a sequence diagram (1-2) 1.In the Model Explorer view, right-click Phone Book UML Model and select Add Diagram > Sequence Diagram. 2.Enter Sequence Diagram as the name of the generated diagram to replace the default name Diagram1.

Create a sequence diagram (3) 3.Drag the actor Any User from the Model Explorer view to the diagram to create an instance of the actor, as shown in in the figure. Similarly, create instances of PhoneBookView, PhoneBookController and PhoneBookModel by dragging them to the diagram.

Create a sequence diagram (4) 4.Select Asynchronous Message in the Palette. As shown in the figure, click the line under any User: Any User and then the line under phoneBookView:PhoneBookView.

Create a sequence diagram (5) 5.Select the operation PhoneBookView::getUserInput() from the drop down list.

Create a sequence diagram (6) 5.Similarly, create the following Asynchronous Message lines shown in the table. To create an Asynchronous Message to call itself, simply click the instance bar directly without any dragging. From instanceTo instanceOperation phoneBookViewphoneBookController PhoneBookController::userHasInput() phoneBookControllerphoneBookModel PhoneBookModel::searchPhoneNumber() phoneBookControllerphoneBookModel PhoneBookModel::setState() phoneBookModelphoneBookView PhoneBookView::stateHasChanged() phoneBookViewphoneBookModel PhoneBookModel::getSearchResult() phoneBookView PhoneBookView::changeView()

Create a sequence diagram (7) 7.The complete sequence diagram should look like the figure. Select File > Save All to save everything.

Steps  Create a UML project  Create a use case diagram  Create a class diagram  Create a sequence diagram  Publish the design  Transform UML to Java  Implementation

Publish the design  Allows for sharing of a model with people who do not have the modeling tool.  RSA supports two publishing capabilities: 1.Publishing models to a web page 2.Publishing a model information report

Publish the design (1) 1.Select Phone Book UML Model in the Model Explorer view. Select Modeling > Publish > Web.

Publish the design (2) 2.Specify the target location of the generated HTML files, for example C:\HelloWorldSeries\RSA_Web, and select OK. The model is then published into HTML files that are stored in the specified location.

Publish the design (3) 3.Open the file C:\HelloWorldSeries\RSA_Web\in dex.html using any Web browser.

Publish the design (4-5) 4.Select the link Phone Book UML Model. 5.Navigate the published model by clicking the elements links and the diagrams.

Publish the design (5)

Steps  Create a UML project  Create a use case diagram  Create a class diagram  Create a sequence diagram  Publish the design  Transform UML to Java  Implementation

Transform UML to Java (1-3) 1.In the Model Explorer view, right- click Phone Book UML Model and select Transforms > UML to Java. Select Create new Target Container... 2.In the New Java Project panel, enter PhoneBookJavaProject as the Java project name, and select Create separate source and output folder. Select Finish. 3.Select Run to start the transformation.

Transform UML to Java (4) 4.In the Model Explorer view, a Java project PhoneBookJavaProject is created automatically with three Java files underneath.

PhoneBookController.java Stubs

Steps  Create a UML project  Create a use case diagram  Create a class diagram  Create a sequence diagram  Publish the design  Transform UML to Java  Implementation

Implementation  Sample implementation uses a command line interface and stores the phone entries into a local file.  Alternative implementations could be carried out  Example: −Create a GUI interface instead of a command line interface, store the data with EJB components instead of to a file −Use the Observer pattern to implement the notification mechanism

Sample Implementation 1.Copy and paste the sample implementation into stubs. 2.Select File > Save All to save everything. 3.Select PhoneBookController, then select Run > Run As... > Java Application to run the phone book implementation as a Java application.

Sample Implementation