prepared by: sanaz helmi hoda akbari zahra ahmadi sharif university of tech. summer 2006

39
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech . Summer 2006 An Introduction to

Upload: ted

Post on 20-Mar-2016

39 views

Category:

Documents


0 download

DESCRIPTION

An Introduction to. Rational Rose. Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006. A commercial CASE tool Supports two essential elements of modern software engineering: component based development and controlled iterative development. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Prepared by:

Sanaz HelmiHoda Akbari

Zahra Ahmadi

Sharif University of Tech.Summer 2006

An Introduction to

Page 2: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

What is Rational Rose?

• A commercial CASE tool

• Supports two essential elements of modern software engineering: component based development and controlled iterative development.

• Rose also supports Round-Trip engineering with several languages.

• Supports modeling of software systems based on the Unified Modeling Language

• several UML diagrams.

Page 3: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Why use Rational Rose?

• Model-driven development results in increased developer productivity.

• Use-case and business-focused development results in improved software quality.

• Common standard language--the Unified Modeling Language (UML) --results in improved team communication.

• Reverse-engineering capabilities allow you to integrate with legacy OO systems.

• Models and code remain synchronized through the development cycle.

Page 4: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Standard toolbar

browser

Diagram toolbox

Diagram window

Documentation window

Graphical User Interface

specification

Page 5: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Browser

• A hierarchical navigational tool to view the names and icons representing diagrams and model elements

• If the browser is not displayed, select Browser from the View menu.

Page 6: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Diagram Toolbox

• Customizing the Toolbox• Right-click anywhere on the toolbox and then click Customize from

the shortcut menu.

• Double-click anywhere on the toolbox not occupied by a button.

• Click View > Toolbars > Configure.

• Click Tools > Options. On the Option dialog box, click Toolbars.This approach gives you the ability to modify all the diagramtoolboxes without first displaying a specific diagram type.

Page 7: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Documentation window

• Describe model elements or relationships.

• Roles, keys, constraints, purpose, and essential behavior of the element.

• Free-form text either here or through the documentation field of a specification.

Page 8: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Specifications

• Used to set or change model element properties

• Changes are automatically updated throughout the model.

Page 9: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Views

• Different project views represent different aspect of the model:

– Use Case view:• Use-case, sequence, collaboration and

activity diagrams– Logical view:

• Class and state chart diagrams– Component view:

• Component diagram– Deployment view:

• Deployment diagram

Page 10: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

The Use Case View

• How actors and use cases interact. • Diagrams:

– Use-case diagrams– Sequence diagrams – Collaboration diagrams– Activity diagrams

• Contains a Main diagram by default.

Page 11: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

The Logical View

• Functional requirements • Classes and their relationships• Diagrams:

– Class diagrams– State chart diagrams

• Contains a Main diagram by default.

Page 12: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

The Component View

• The software organization • Contains information about the software, executable and

library components • Component diagrams. • A main diagram by default

Page 13: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

The Deployment View

• Shows the mapping of processes to hardware. • Most useful in a distributed architecture environment • The deployment diagram.

Page 14: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006
Page 15: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Component Diagrams

Page 16: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Component diagrams

• Main programs, subprograms, packages, and tasks are components

• Component diagram shows the physical dependency relationships between components and the arrangement of components into component packages.

Page 17: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Component diagrams (cont’d)

• When current window contains a component diagram and As Unified is selected from the View menu:

• Every component is assigned to a package.

• Creating a component using a creation tool from the component diagram toolbox, the component is assigned to the package containing the component diagram.

Page 18: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Component diagrams (cont’d)

• To reassign a component from one package to another:– Select a component icon in a diagram directly contained by the

package to which the component should be assigned. – Click Edit > Relocate.

• Packages are also assigned to packages, permitting nesting to an arbitrary depth.

Page 19: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Component Specification

• Displays and modifies the properties and relationships of each component in the current model. The same specification is used for all component kinds.

• To display: double-click on any icon representing the component or on the Browse menu, click Specifications.

• Consists of : General, Detail, Realizes, and Files.

Page 20: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Component Specification (cont’d)

General Tab:

• A component stereotype represents the sub classification of an element.

• The most common type of components are already predefined as stereotypes.

• Language field identifies the implementation language that is assigned to this component.

Page 21: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Component Specification (cont’d)

Detail Tab:

• Declarations field contains a list of declarations, such as class names, variables, and other language-specific features.

• Use this field to list the elements that physically reside in the component.

Page 22: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Component Specification (cont’d)

Realizes Tab:

• If show all classes option is not selected, you will see only the classes that are assigned to this component.

• Assign a class or interface to a component through Assign on the shortcut menu in the list, or by dragging a class or interface from the browser and dropping it in this list.

Page 23: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Package Specification

General Tab:

• Displays and modifies the properties and relationships of a package in the current model.

• Consists of: General, Detail, Realizes and Files.

• The component belongs to is displayed in this static field.

Page 24: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Package Specification (cont’d)

Detail Tab:• Lists the component diagrams

contained in the package.

• Rename or delete existing component diagrams

• Create a new component diagram through Browse menu, Component Diagram.

• To display a specific component diagram listed in this field, double click on its entry.

Page 25: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Deployment Diagrams

Page 26: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Deployment Diagrams

• Each model contains a single deployment diagram that shows the connections between its processors and devices, and the allocation of its processes to processors.

Page 27: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Deployment Diagrams (cont’d)

Page 28: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Processor Specification

• Displays and modifies the properties and relationships of a processor in the current model.

• To display: double-click on any icon representing a processor or click Browse > Specifications.

• Consists of: General and Detail.

Page 29: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Processor Specification (cont’d)

General Tab:

Page 30: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Processor Specification (cont’d)

Detail Tab:

• Characteristics field specifies a physical description of an element.This information is not displayed in the deployment diagram.

• Processes Identifies the processes assigned to this processor. Processes denote either the root of a main program from a component diagram or the name of an active object from a collaboration diagram.

Page 31: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Processor Specification (cont’d)

• To create a process, place the pointer in Processes area and click Insert using the shortcut menu. To change the name or priority, click the item and type the changes.

• To display a list of the processes by selecting the processor icon and clicking Show Processes from the shortcut menu.

• To display the scheduling type in the processor icon, click Show Scheduling form the shortcut menu.

Page 32: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Processor Specification (cont’d)

Scheduling:

Page 33: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Device Specification

• Displays and modifies the properties and relationships of a device in the current model.

• Consists of: General and Detail.

Page 34: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Connection Specification

• Indicates a communication path between two processors, two devices, or a processor and a device.

• A connection usually represents a direct hardware coupling, such as an RS232 cable. It can also represent an indirect coupling.

• The Connection Specification consists two tabs, which contain the same elements as the Device Specification,

Page 35: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Process Specification

• Processes are threads of control that execute on a processor.

• Can be accessed through the Processes field of a Processor Specification. None of the information contained in the Process Specification is displayed in diagram.

• Consist of: General.

• Processor: the owner of the process is shown here.

Page 36: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

End

Page 37: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Stereotypes

• A stereotype is a modeling element sub classification that has been given a more specific meaning.

• Allows you to provide additional distinctions in model that are not explicitly supported by the UML.

• You can control how stereotypes are displayed. The settings are found on the Diagram tab and the Browser tab, located in the Options dialog box under the Tools menu.

Page 38: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Stereotypes (cont’d)

• Rational Rose offers ten stereotype icons that can be used when modeling a business:– Business Use Case– Use-Case Realization– Boundary Class– Business Actor– Business Entity– Business Worker– Entity Class– Control Class– Business Use Case Realization– Organization Unit Package

Page 39: Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006

Type Library Importer

• Allow to import a type library of a COM (Component Object Model) component into the model, by dragging the COM component from the Windows Explorer and drop it in Rational Rose. Or, Tools > COM > Import Type Library command.

• Can show how classes in the model use and depend upon classes in other components, regardless of their implementation language.