Presentation 4: IBM Rational Software Architect Examples

Presentation 4: IBM Rational Software Architect Examples

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: http://www.ibm.com/ developerworks/edu/i-dw-r-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, rightclick 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-ViewController (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, rightclick 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 instance To instance Operation phoneBookView

phoneBookController PhoneBookController::userHasInput() phoneBookController phoneBookModel PhoneBookModel::searchPhoneNumber() phoneBookController phoneBookModel

PhoneBookModel::setState() phoneBookModel phoneBookView PhoneBookView::stateHasChanged() phoneBookView phoneBookModel

PhoneBookModel::getSearchResult() phoneBookView 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\ index.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, rightclick 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

Recently Viewed Presentations

  • www.time4writing.com

    www.time4writing.com

    Compound Sentence. A compound sentence joins two independent clauses (sentences that could stand on their own) and separates them with a comma and a conjunction, or a semicolon. Examples: I was too busy to play, so. he went outside without...
  • Progress towards an inclusive education for children and

    Progress towards an inclusive education for children and

    Rights based/work reflects the social model of disability. Established in 2009. ... ("Gonski 1 & 2") Nationally Consistent Collection of Data of Students with Disability (NCCD) ... The disability loading & funding arrangements.
  • Tanglewood Area Neighborhood Street Reconstruction NSR 454A/Subproject 1

    Tanglewood Area Neighborhood Street Reconstruction NSR 454A/Subproject 1

    Tanglewood AreaNeighborhood Street Reconstruction NSR 454A/Subproject 1 Preconstruction Community MeetingWBS NO. N-000386-0001-4. Sam Habibi, P.E ... etc. will be done when construction is complete. City does not approve final payment to contractor until restoration is complete. ... presentation ...
  • Literature - KATE

    Literature - KATE

    Visit www.teacherpowerpoints.com For 100's of free powerpoints Literature What is it? ELEMENTS OF LITERATURE Written works having excellence in: Form Expression Ideas Widespread and Lasting Interest The Major Genres PROSE Prose is the ordinary form of written language.
  • Jeopardy-Contractions - Jefferson County Public Schools

    Jeopardy-Contractions - Jefferson County Public Schools

    Rules Always answer in the form of a question 50 Points deducted for wrong answers! n't - for 100 The 2 words that make up the contraction: can't n't - for 100 What are can and not?
  • Admissions & Discharges CY Admissions and Discharges 120

    Admissions & Discharges CY Admissions and Discharges 120

    Forensic Referral Trend. Total ICST Referrals by Calendar Year 11/2012 12/2012 01/2013 02/2013 03/2013 04/2013 05/2013 06/2013 07/2013 08/2013 09/2013 10/2013
  • COMPETITIVENESS, STRATEGY, AND PRODUCTIVITY Chapter 2 MIS 373:

    COMPETITIVENESS, STRATEGY, AND PRODUCTIVITY Chapter 2 MIS 373:

    Mission and Goals. Mission. The reason for an organization's existence. Mission statement. States the purpose of the organization. The mission statement should answer the question of "What business are we in?" The mission statement serves as the basis for organizational...
  • Understanding Computers, Chapter 1 - CISS 100

    Understanding Computers, Chapter 1 - CISS 100

    Quick Quiz. 1. Optical computers use which of the following to transmit and process data? a. Liquid. b. Light. c. Silicon. 2. True or False: If your computer is running slowly, adding more memory might speed it up. 3. A...