Rhapsody in J Tutorial

Size: px
Start display at page:

Download "Rhapsody in J Tutorial"

Transcription

1 Rhapsody in J Tutorial

2

3 Rhapsody in J Tutorial Release 2.3

4 I-Logix Inc. Three Riverside Drive Andover, Massachusetts The software described in this document is furnished under a license and may be used or copied only in accordance with the terms of such license. Rhapsody software contains proprietary information, as well as trade secrets of I-Logix Inc., and is protected under copyright law. Duplication of this manual, in whole or in part, is strictly prohibited, except with the prior written consent of I-Logix Inc. The information in this manual is subject to change without notice, and I-Logix assumes no responsibility for any errors which may appear herein. No warranties, either expressed or implied, are made regarding Rhapsody software and its fitness for any particular purpose. Rhapsody is a registered trademark of I-Logix Inc. I-Logix, and the I-Logix logo are trademarks of I-Logix Inc. Other products mentioned may be trademarks or registered trademarks of their respective companies. Romeo Music International provides the sounds clips used in the Radio demo: Bali.wav, Bg_Clas1.wav, Bg_Jazz.wav, Bohm.wav, Drunken.wav, Heavymtl.wav, Ireland.wav, Latingrv.wav, Russia.wav, Stabs.wav, Tarrega.wav and (P) Copyright Romeo Music International ALL RIGHTS RESERVED Copyright 2000 by I-Logix Inc. All rights reserved. Part No. 2127

5 Contents Preface Conventions ii Contacting I-Logix ii Additional Sources of Information iv Books iv Software iv Overview Introducing Rhapsody in J O-5 Analyze, Design, Implement, and Test O-6 What to Expect in this Tutorial O-7 Embedded System Example: Dishwasher O-9 Dishwasher Problem Statement O-9 Tutorial Contents 1

6 1 Hello World Introduction 1-1 Starting a Project 1-1 Using the Browser 1-5 Creating a Class 1-6 Creating an Object Model Diagram 1-8 Creating a Statechart 1-12 Setting up a Component 1-18 Building and Running the Application 1-24 Examining the Project 1-26 Closing the Project Creating a Use Case Diagram Introduction 2-1 What is a Use Case Diagram? 2-2 Parts of a Use Case Diagram 2-2 Analyzing the Dishwasher System 2-4 Actors Who Interact with the Dishwasher 2-4 Use Cases of a Dishwasher 2-4 Creating the Dishwasher Project 2-5 Creating a Use Case Diagram 2-6 Use Case Diagram Toolbar 2-7 Drawing the System Boundary 2-7 Contents 2 Rhapsody in J

7 Drawing the Actors 2-8 Drawing Use Cases 2-10 Adjusting the Layout 2-11 Resizing the System Box 2-12 Editing Use Cases in the Browser 2-13 Using the Features of Use Case Dialog 2-16 Associating Actors with Use Cases 2-17 Using the Features of Relation Dialog 2-20 Generalizing a Use Case 2-23 Creating a Generalization 2-24 Selecting a Stereotype 2-24 Labeling the Diagram With the Note Tool 2-25 Adding Information with a Note 2-26 Changing the Font 2-27 Saving the Project 2-28 Summary Creating an Object Model Diagram Introduction 3-1 What is an Object Model Diagram? 3-2 Parts of an Object Model Diagram 3-2 Starting the Object Model Diagram Editor 3-4 Object Model Diagram Toolbar 3-5 Tutorial Contents 3

8 Drawing the Overview Object Model Diagram 3-5 Drawing a Class 3-6 Drawing an Association Between Classes 3-9 Specifying the Features of an Association 3-10 Direction 3-11 Role Name 3-12 Multiplicity 3-13 Specifying the Features of an Object 3-14 Attributes of Dishwasher 3-15 Operations of Dishwasher 3-16 Adding Primitive Operations to the Dishwasher Model 3-18 Adding Additional Events for the Dishwasher Class 3-19 Adding Operations for the Observer Class 3-19 Saving the Project 3-20 Summary Creating a Sequence Diagram Introduction 4-1 What is a Sequence Diagram? 4-2 Parts of a Sequence Diagram 4-3 Starting the Sequence Diagram Editor 4-5 Sequence Diagram Toolbar 4-7 Drawing the Washing Dishes Sequence Diagram 4-8 Drawing the System Border 4-8 Contents 2 Rhapsody in J

9 Drawing a Partition Line 4-9 Drawing Instance Lines 4-11 Drawing a Constructor 4-14 Drawing More Initialization Messages 4-14 Drawing an Event 4-19 Drawing a Self Message Event 4-21 Finishing the Sequence Diagram 4-24 Viewing Usage of Model Elements 4-28 Saving the Project 4-29 Summary Creating a Statechart Introduction 5-1 What is a Statechart? 5-2 Parts of a Statechart 5-2 Starting the Statechart Editor 5-4 Statechart Toolbar 5-6 Drawing the Dishwasher Statechart 5-7 Drawing a State 5-7 Drawing Concurrent States 5-8 Drawing an And Line 5-8 Naming Orthogonal States 5-9 Adding Additional States 5-10 Tutorial Contents 3

10 Drawing Connectors 5-12 Drawing History Connectors 5-12 Drawing Diagram Connectors 5-13 Drawing Transitions 5-14 Drawing a Default Transition 5-14 Drawing Standard Transitions 5-15 Drawing an Action on a Transition 5-18 Drawing Timeout Transitions 5-22 Specifying Actions on Entry and on Exit 5-24 Saving the Project 5-28 Summary 5-29 Index Contents 2 Rhapsody in J

11 Preface Welcome to this Tutorial for Rhapsody in J by I-Logix. Rhapsody in J is the Visual Programming Environment (VPE) of choice for developers of real-time embedded software who work in Java. Rhapsody in J goes beyond the definition of requirements and the design of a software solution. Rhapsody actually implements your solution from design diagrams, automatically generating ANSI-compliant Java code that is optimized for the most widely used real-time embedded target environments. This Tutorial takes you through the process of designing an embedded system by creating several model diagrams, generating code, and building the application. The goal of this document is to help you get up and running quickly with Rhapsody. This Tutorial is part of the core document set for Rhapsody in J, which includes the following documents: Rhapsody Installation Guide Rhapsody Getting Started Rhapsody Online Help Release Notes for v2.3 (part no. 2106) Rhapsody Reference Guide Tutorial Preface i

12 Conventions Conventions This book uses the following type conventions: Type Style command1 > command2 Bold type Italic type Courier type <filename> Description The greater-than (>) symbol leads you through the steps in a menu or key sequence. For example, the Add New > Package means that you should first select Add New, then select Package from the Add New submenu. Bold type indicates items, such as buttons, that you should select. For example, click Apply. Italics indicate titles of referenced documents. Courier type is used for file names, directory names, keywords, code, and system output. Angle brackets surround variable names that you should replace with actual names. For example, you should replace <filename> with the actual name of a file. Contacting I-Logix The I-Logix Technical Support Help Desk provides assistance with installation, application, and documentation questions and helps you report product defects. Technical support engineers, in conjunction with sales application engineers, assist prospective customers with product evaluations and provide timely responses to user issues to ensure maximum productivity. You can contact the Technical Support Help Desk in four different ways: by , Internet, phone, or fax. Preface ii Rhapsody in J

13 Contacting I-Logix and Web For the quickest and most effective response from anywhere in the world, contact Technical Support by filling out the support form found on our website at You can also contact us via at the following address: European customers should use If you use to contact us, it is very important that you include the following information along with the description of your problem: Contact Information: Your Name: address: Phone: Company: Location: Software Information: Version and build number of Rhapsody software: Operating system: Version or Patch Level or Service Pack applied: Any third-party tools you are using: Computer System Information: Computer Model: Processor speed: RAM: Free disk space: Details of your problem Please describe the nature of the problem and the exact sequence of steps that causes or shows the problem. Also note any error messages that you have received. Tutorial Preface iii

14 Additional Sources of Information Telephone Support You can reach the help desk at , Monday through Friday, 8:30 am to 5:30 pm Eastern Standard Time. European customers should call Technical Support at I-Logix UK Ltd., Monday through Friday, 9:00 am to 5:30 pm UK time. The phone number is +44 (1249) Fax Support Send faxes to European customers should send faxes to +44 (1249) Additional Sources of Information Books The following are some additional sources of information that may help you as you use Rhapsody: Java How to Program by H. M. Deitel/P. J. Deitel, published by Prentice Hall Java in a Nutshell by David Flanagan, published by O Reilly Software In addition, you can download the JDK free from Sun at Be sure you have Java installed and running before you install Rhapsody. Preface iv Rhapsody in J

15 Overview Introducing Rhapsody in J Rhapsody in J is a visual programming environment that lets you develop object-based embedded software. It helps you to: Analyze Define system requirements, identify necessary objects, and define their structure and behavior using modeling diagrams. Design Trace requirements to the design, taking into account architectural, mechanistic, and detailed design elements. Implement Automatically generate code from the analysis model, then build and run it from within Rhapsody. Test Animate the application on the local host or a remote target to perform design-level debugging within animated views. Tutorial Overview 5

16 Analyze, Design, Implement, and Test Analyze, Design, Implement, and Test The main modeling tools for analyzing the system are: Use Case Diagrams, which show general interactions between the system and external objects. You will build a Use Case diagram in Lesson 2. Sequence Diagrams, which show sequences of steps and messages passed between objects when executing a particular instance of a use case. You will build a Sequence diagram in Lesson 4. The main modeling tools for designing the system are: Object Model Diagrams, which show the structure of the system in terms of classes and objects, and define relationships between these objects. You will build an Object Model diagram in Lesson 3. Statecharts, which show the behavior of a particular class over its entire life cycle. You will build a Statechart in Lesson 5. To implement the system, you: Define a configuration (either an executable or a library). Generate code for any of several target processors. Rhapsody-generated code is bare-metal code with no scheduler or run-time engine. Automatic code generation assures that the design and its implementation are always synchronized. Build the configuration using supplied make files. Overview 6 Rhapsody in J

17 What to Expect in this Tutorial What to Expect in this Tutorial This Tutorial is organized into the following lessons. We suggest you proceed through the lessons in the order they are presented because they build on each other: Overview describes Rhapsody in J in very general terms. In addition, it tells you what to expect from this tutorial, including this detailed description of each lesson. Lesson 1, Hello World takes you step-by-step through a small introductory project called Hello World. This small project introduces you to the software and shows you some of the major steps required by a project. It is a simple but complete look the major steps you will take each time you create a project. It is also so straight forward that you will easily grasp the concepts involved in working with Rhapsody. Lesson 2, Creating a Use Case Diagram describes how to create a Use Case diagram. Use Case diagrams define the major function points of the system. You ll create a Use Case diagram that gives a clear picture of the main functional interactions of the system. You ll get to know the elements that make up a Use Case diagram. Then you ll determine who uses the system you are designing and how they use it. Then you ll take this information and from it, you ll create the Actors, Uses, and Associations that make up the system. Lesson 3, Creating an Object Model Diagram walks you through the process of creating an Object Model diagram. Object Model diagrams show the types of objects in the system, the attributes and operations that belong to those objects, and the static relationships that can exist between classes (types) and constraints that may apply. First you learn about the parts of Object Model diagrams, then you ll draw a diagram yourself. You ll create the classes that make up the Dishwasher system. Tutorial Overview 7

18 What to Expect in this Tutorial Lesson 4, Creating a Sequence Diagram walks you through the process of creating a Sequence diagram. Sequence diagrams describe possible scenarios about how the different parts of the system work together. First you ll learn about the different parts of the Sequence diagram and then you ll start drawing them. You ll create a possible scenario that illustrates how one cycle of the dishwasher might look. When you are done, you ll take a look at how one of the elements is used throughout the model. Lesson 5, Creating a Statechart walks you through the process of creating a Statechart, which defines the behavior of a certain task in the system. Statecharts show the various states that an object can enter into over its lifetime and the messages or events that can cause it to transition from one state to another. You ll start by getting to know the various parts of a Statechart, then you ll create them while defining the Dishwasher Statechart. Overview 8 Rhapsody in J

19 Embedded System Example: Dishwasher Embedded System Example: Dishwasher Embedded systems are everywhere in our daily lives. Many homes have alarm clocks, stereos, telephones, and microwave ovens. Most of these devices have embedded processors with software controlling their operations. A dishwasher is a typical example of a relatively simple real-time embedded system. Everyone knows dishwashers: you put dirty dishes in and they come out clean that s the easy part. The hard part is building the software to control the dishwasher so that it performs all of its operations on schedule and without errors. The remainder of this Tutorial shows you how to use Rhapsody to create software to control the simplified operation of a dishwasher. Dishwasher Problem Statement A dishwasher manufacturer requires software to control the operation of a dishwasher. One cycle through the dishwasher consists of rinsing, washing, and drying. You can select three different cycle modes: Quick, Normal, or Intense. The time spent on each step increases in each mode. Quick mode is for when guests are on the way and the dishes need to be cleaned quickly; Normal mode is for normal washing; Intense mode is for when the dishes are extra dirty and there is more time to let the dishwasher run. You can switch modes at any time. You can start the dishwasher only if the door is closed. If you open the door while the dishwasher is running, then operation halts. When you close the door, operation should resume from the point at which it was interrupted. To ensure that the dishwasher continues to work properly, it gives an indication for scheduled maintenance after completing a predetermined number of cycles. To get started designing the Dishwasher, turn to Lesson 2, Creating a Use Case Diagram. Tutorial Overview 9

20 Dishwasher Problem Statement Overview 10 Rhapsody in J

21 Hello World 1 Lesson Introduction Starting a Project As a quick start to Rhapsody, you can easily build and run a simple Hello World program using the steps outlined in this lesson: Starting a Project Using the Browser Creating a Class Creating an Object Model Diagram Creating a Statechart Setting up a Component Building and Running the Application Examining the Project Closing the Project The following steps assume that Rhapsody in J is installed on your system and you have a valid license. If you need assistance with installation or licensing, see the Rhapsody Installation Guide, or contact I-Logix customer support using any of the methods outlined in the Preface. Tutorial 1 1

22 Hello World Starting Rhapsody To start Rhapsody in J: 1. Click Start > Programs > Rhapsody 2.3, Rhapsody Development Edition > Rhapsody in J. The Rhapsody main window opens with the Tip of the Day displayed. 2. Click Next Tip to see the next tip of the day. If you prefer not to see tips on startup, you can uncheck the Show Tips on Startup box. 3. Click Close to close the tip of the day and start designing the project. 1 2 Rhapsody in J

23 Creating a Project Creating a Project 1. In Windows Explorer create a new folder called Projects where you can store all of your Rhapsody projects. 2. In Rhapsody, create a new project using one of two methods: Select New from the File menu, or Click the New Project icon on the main toolbar. The New Project dialog opens: Rhapsody inserts the default name Project in the Project name field and the path in the In Folder field. 3. Click the Browse button. Locate and select the Projects folder you created in step Replace the default name, Project, with HelloWorld in the Project name field. Rhapsody automatically adds the name to the path in the In Folder field. 5. Verify that the path in the In Folder field refers to the Rhapsody\Projects\HelloWorld folder. The New Project dialog should look like the following: 6. Click OK. Tutorial 1 3

24 Hello World Rhapsody verifies that the project directory exists. If it doesn t, Rhapsody asks whether you want to create it: 7. Click Yes. Rhapsody creates a new project in the Projects\HelloWorld directory and opens the new project with the Browser open. Saving the Project Other than performing an autosave every ten minutes, Rhapsody does not create any files in the project directory until you manually save the project. 1. Save the project in one of the following ways: Select Save from the File menu, or Click the Save button on the main toolbar. 1 4 Rhapsody in J

25 Using the Browser The Save As dialog opens: Using the Browser The file extension.rpy (for repository) means that the file is a Rhapsody model. 2. Click Save to confirm saving the project with the name HelloWorld. The Rhapsody project consists of the following files: A project file called <project>.rpy. A repository folder called <project>_rpy containing the project files including modeling diagrams, packages, and configurations needed to generate the code for the model. An event history list file called <project>.ehl, which contains a list of events and breakpoints. Log files that save a history of when projects were loaded and saved in Rhapsody. The Browser displays the contents of the project in an expandable tree structure, called the Browse tree. A folder with the project s name is located at the top of the tree. This folder represents the Tutorial 1 5

26 Hello World Understanding Packages project and is referred to as the project folder or project node. The project folder contains additional folders that share a single concern or domain, called category folders. The symbols + or - appear next to categories that contain other elements. One type of category folder is a package. Projects always have at least one package. Packages contain classes that share a single concern or domain. Rhapsody creates a default package called Default, where it saves all project elements, unless you specify a different package. You can see the Default package by clicking the + sign to the left of the Packages folder. Click the + to expand a branch. Click the - to collapse a branch. Creating a Class When you highlight an element in the Browser, a specification dialog for the highlighted element appears in the right pane. For example, if you highlight the Default package, the specification dialog for that package appears in the right pane, allowing you to rename or add information to the package. While packages let you organize a system into subsystems, classes are the structural building blocks of the system. Classes combine attributes (data) and behaviors (methods). 1 6 Rhapsody in J

27 Creating a Class To create a class: 1. Right-click the Default package in the Browser, and from the popup menu select Add New > Class. Rhapsody creates a new class, class_0 and displays its specification dialog on the right side of the Browser: Rhapsody gives any additional classes that you create the default name class_n (n=1,2,3...). 2. Type Display in the Name field in the class specification dialog on the right to change the class s name from class_0 to Display. 3. Click the Apply button in the Browser toolbar along the left side of the window to accept the entries you have just made in the class specification dialog. You can move or dock any Rhapsody toolbar to a different part of the window. Tutorial 1 7

28 Hello World The new Display class appears in the Browser as follows: Creating an Object Model Diagram Object Model diagrams define the static structure of the system. This includes the classes in the system and their relationships. To create an Object Model diagram: 1. Right-click the HelloWorld project node at the top of the Browse tree and from the popup menu select Add New > Object Model Diagram. 1 8 Rhapsody in J

29 Creating an Object Model Diagram Rhapsody creates a new Object Model diagram named diagram_0 (successive diagrams are named diagram_n, where n=1,2,3,...) and displays it in the Browser under the newly created Object Model Diagrams category. 2. Edit the Name field in the right side of the Browser to change the diagram name from diagram_0 to Overview, but don t apply your change yet. 3. Click the Cancel button in the Browser toolbar. Rhapsody deletes the text you entered in the Name field and changes the name back to diagram_0. You can cancel an entry only before applying it. Once you have applied an entry, you can only rename or delete it. 4. Reenter the name Overview in the Name field and this time click the Apply button. Rhapsody renames diagram_0 to Overview. 5. Double-click the icon next to the Overview Object Model diagram in the Browser to open the diagram. Tutorial 1 9

30 Hello World Rhapsody opens a blank diagram. The title bar of the window displays the type of diagram and its name. 6. Maximize the window inside the Rhapsody window. The title bar of the Rhapsody window now displays the product name, the type of diagram, and the diagram s name. To add an object to an Object Model diagram: 1. From the Window menu, choose Tile Horizontally so that you can see both the Browser and the Overview Object Model diagram. 2. Select the Display class icon in the Browser, drag it onto the Overview Object Model diagram, and then release the mouse button Rhapsody in J

31 Creating an Object Model Diagram Rhapsody adds the Display class to the diagram. 3. Click outside of the Display class box in the Overview diagram to deselect the class. 4. Move your cursor over the Display class in the diagram and then away from it. Notice that when the cursor is directly over either the border or the middle of the Display class, Rhapsody highlights it. This means that you can select the class for editing. A popup displays the full name and owner (e.g., package) of the class. Tutorial 1 11

32 Hello World If the cursor is over one of the dividing lines inside the class box, the line becomes highlighted and you can move it up or down to resize the compartment. The three compartments are for the class name, attributes, and operations, top to bottom. 5. Position your cursor over the Display class s border and click the left mouse button. Rhapsody displays eight black selection handles that let you resize the box. Creating a Statechart 6. Move your cursor over a top or bottom handle, click the left mouse button, and then drag it toward the center of the box to make the box smaller. When you shrink the class enough, it changes from a threecompartment box to a single-compartment box showing just the class s name. Congratulations! You have just created your first class in Rhapsody. In the next section you will give the class some behavior. Then you will generate code, compile, and finally run the model, all from within Rhapsody. Statecharts define the behavior of an object in terms of the states that it can acquire over its lifetime. Messages or events that objects receive can cause them to transition from one state to another Rhapsody in J

33 Creating a Statechart Lesson 5 of this tutorial addresses Statecharts in detail. For the HelloWorld project, the only behavior required is to print out the words Hello World on the screen. To create a Statechart: 1. Right-click the Display class in the Browser and from the popup menu select New Statechart. Rhapsody opens a blank Statechart for the Display class. 2. Select the State tool from the Statechart toolbar on the left. 3. Click-and-drag or double-click inside of the Statechart window to create a new state. Rhapsody names the new state state_0 (successive states are named state _n, where n=0,1,2,...). 4. Change the state s name to Writing and press Enter. Think of states as the behaviors of an object. In this Statechart, the Writing state is one of the behaviors of the Display object. 5. Click the Default Transition tool. 6. Click just above the Writing state in the Statechart window, move the mouse to the top edge of the Writing state, then click again to finish drawing a default transition to the Writing state. Tutorial 1 13

34 Hello World The Default Transition points to the object s starting state. The Statechart for the Display object should look like the following illustration: You have just named one of the behaviors of the Display object: Writing. Next, you will describe what the object does in that state by entering a description for the actual behavior. 1. Click the Select tool from the Statechart toolbar. 2. Right-click the Writing state and select Features from the popup menu. The Features dialog contains two tabbed pages: State and Actions. The State tab lets you edit the name and enter a description for the state. The Actions tab lets you specify actions to be executed when the object enters or exits the state, and to define reactions to events that may occur while it is in the state. 3. Click the Actions tab Rhapsody in J

35 Creating a Statechart 4. In the Action on Entry field, enter the following code that writes the text Hello World to the standard output: System.out.println("Hello World"); The Features of State dialog should look like following illustration: This means that when the Display object enters the Writing state, it will print the text Hello World to the screen. This will happen immediately after the system starts, because the Writing state is also the default state of the system. 5. Click OK to close the Features of State dialog. Tutorial 1 15

36 Hello World Notice that the Writing state now has an angle bracket > added to its name in the Statechart. This means that the state has behaviors defined for it that are not immediately apparent when you look at the Statechart. The Display object Statechart should now look similar to the following: Adding a Timeout Transition A timeout tells the model to wait for a certain amount of time before taking a transition. You can use a timeout to display the text Hello World repeatedly at intervals of one second. 1. Click the Transition tool in the Statechart toolbar Rhapsody in J

37 Adding a Timeout Transition 2. Click the right side of the Writing state to anchor the start of the timeout transition. 3. Click again a little lower down on the right side of the Writing state to anchor the end of the timeout transition. 4. Rhapsody draws a looped arrow that starts and ends on the Writing state. 5. An edit box opens that lets you enter a label. In the edit box, enter the following text: tm(10) The tm() function is a timeout call provided by the Rhapsody in J framework. Its argument is the number of clock ticks (one tick of the clock = 100 milliseconds in Rhapsody) that the model should wait before continuing. In this case, you have entered a timeout of 10. This tells the model to wait 1000 milliseconds (10 X 100 milliseconds) before reentering the Writing state. The loopback behavior continues indefinitely until the program stops. Your Statechart should now look like the following illustration: Tutorial 1 17

38 Hello World Setting up a Component Before generating code, you must construct a component for the HelloWorld application. A component is a physical subsystem in the form of a library or executable program. The name of the component becomes the name of the executable application that you will build. This component contains classes that require code generation. To create a component: 1. Expand the Components category node in the Browser. 2. Right-click the Components category and select Add New Component. 3. In the Component specification dialog, type the name HelloWorld and press Enter. 4. For component Type, select Executable. 5. For the project scope, choose Selected Elements and check the box next to Default. With these settings, Rhapsody will generate the proper source files and build an executable application named HelloWorld Rhapsody in J

39 Creating a Configuration Your HelloWorld component settings should look like the following illustration: Creating a Configuration The new code generation component also requires a configuration that provides information on the scope, initial instances, code checks and additional settings for the build. You can provide this information in the following way: 1. Expand the HelloWorld component so that you can see the Configurations and Files categories. Then expand the Configurations category. With every component, Rhapsody provides a default configuration called DefaultConfig. This configuration defines a particular flavor of the component for code generation. Tutorial 1 19

40 Hello World 2. Select the DefaultConfig configuration under the HelloWorld component. The following dialog appears: 3. On the General tab, type the configuration name HelloWorld and press Enter. 4. On the Initialization tab, make sure that the Initial Instances setting is Derived. 5. In the pane below, expand the Default package so you can see the class it contains (Display) and make sure the Display class is checked Rhapsody in J

41 Creating a Configuration The Initialization tab should appear as follows: Rhapsody will generate initialization code for the classes you specify as initial instances on this tab. At least one initial instance is required. You can either explicitly select classes to generate or allow Rhapsody to determine which classes need to be generated based on the selected initial instances according to the following definitions: Explicit - Rhapsody generates code only for the packages or classes selected in the Initial Instance tree. If you select a package, Rhapsody generates code for all of the classes in the package. Derived - Rhapsody generates code only for the classes you select in the Initial Instances tree and any classes with which these classes have relations. If you had not selected an initial instance in the Initialization tab, you would have to enter initialization code to instantiate some class in the Initialization Code text field. Tutorial 1 21

42 Hello World 6. On the Settings tab, make sure that Use Default is checked for the Directory setting. 7. To make the HelloWorld the active configuration, rightclick on the HelloWorld configuration. Choose Set as Active Configuration from the popup menu. Note that HelloWorld is now highlighted to indicate that it is the active configuration. You have just completed the entire HelloWorld model. The following sections explain how to generate code, build, and run the HelloWorld application. Setting Code Generation Properties Rhapsody has hundreds of code generation properties that let you control how code is generated for your model. One of these is the GeneratedCodeInBrowser property. Normally Rhapsody does not display automatically generated operations, such as initializers, in the Browser. However, setting this property lets you see these operations in the Browser once they have been generated. To set the GeneratedCodeInBrowser property: 1. From the File menu, select Project Properties. 2. In the Features dialog, choose CG (for code generation) from the Subject drop-down list and CGGeneral from the Meta Class drop-down list. 3. Select the GeneratedCodeInBrowser property and click Modify. 4. In the Property dialog, change the value of the GeneratedCodeInBrowser property to True and click OK Rhapsody in J

43 Generating Code The Features dialog should look like the following illustration: Generating Code Click OK to dismiss the Features dialog. Now you are ready to generate code. To generate code: 1. From the Code menu, select Generate > HelloWorld. Rhapsody asks you to confirm the creation of a subdirectory to hold the generated files. 2. Click Yes to confirm creation of this directory. Tutorial 1 23

44 : Hello World Rhapsody performs certain checks on the model to make sure there are no syntax or semantic errors before generating code. If the model successfully passes all checks, the code generator generates source files for the model. An Output window opens at the bottom of the Rhapsody window with messages that inform you of the following: Rhapsody is generating files for classes and packages in the model and for the main function. The name of the makefile for the configuration. Code generation is done. Building and Running the Application Next, you will build the component. 1. From the View menu, select Code Toolbar. The Code toolbar has tools for building a component, running an application, stopping a build or an execution, and generating code, building, and running all in one step. Build Target Tool 2. Click the Build Target tool in the Code toolbar Rhapsody in J

45 Building and Running the Application Rhapsody invokes the appropriate Build command for the compiler. The Output window displays compiler messages that inform you of the progress of the build. When the Build Done message appears, you are ready to run the application. 3. In the Code toolbar, click the Run tool. A DOS window opens and displays the output of the program, the text Hello World flashing once every second. Congratulations! You have just created and run your first program with Rhapsody. To end the program, do one of the following: Close the DOS window, or In the Code toolbar, click the Stop Make/Execution tool. Tutorial 1 25

46 Hello World Examining the Project Take a look at the model now that you have generated and run the code. It reveals what Rhapsody has created behind the scenes. Viewing Automatically Generated Operations To view the automatically generated operations in the Browser: 1. Expand the Default package, then expand the Classes category, and then the Operations category to see the operations that Rhapsody automatically generated for the package Rhapsody in J

47 Editing the Generated Code Rhapsody has automatically generated the following operations for the Default package: Display() Constructs the Display object. startbehavior() Starts the behavior of the model by calling the operation to start the behavior of the Display object. All of these icons have a small ring overlaid over their upper right corners. The presence of this ring means that the operation is automatically generated rather than user defined. Note: The above operations appear in the Browser only if you have set the GeneratedCodeInBrowser property (under CG::CGGeneral) to True. See Setting Code Generation Properties on page Editing the Generated Code To view the generated sources for the Display object: 1. Right-click the Display class in the Browser and from the popup menu, select Edit Class. Note: Alternatively, you can select Edit > Selected Classes from the Code menu. Tutorial 1 27

48 Hello World The source files generated for the Display class open in Rhapsody s internal editor. Using an External Editor to Examine the Code If you prefer to edit code using a different editor, such as TextPad, you can set Rhapsody to open your favorite editor by setting the EditorCommandLine property. To designate an alternative editor: 1. From the File menu, select Project Properties. 2. Choose General in the Subject field and Model in the Meta Class field. 3. Select the EditorCommandLine property and click Modify. 4. In the Property dialog, click the Browse button. Locate your text or code editor, and click Open. 5. Click OK twice to exit the Property and Features dialogs Rhapsody in J

49 Closing the Project Closing the Project Now the editor you selected will open instead of Rhapsody s internal editor, e.g., when you click the ellipsis (...) button next to the Implementation{} section of an operation dialog to edit code. 6. Close any open text editor windows. To close the HelloWorld project: 1. From the File menu, choose Close. Rhapsody asks whether you want to save changes to the project. 2. Click Yes. Rhapsody saves the project, creates a backup of the previous version, and closes the project without exiting. Note: Rhapsody creates up to two backups of every project. If you save a project more than once, the file <project>_bak2.rpy contains the most recent backup and <project>_bak1.rpy contains the previous version. If you need to restore an earlier version of a project, open either backup. To exit Rhapsody, select Exit from the File menu. Tutorial 1 29

50 Hello World 1 30 Rhapsody in J

51 Creating a Use Case Diagram 2 Lesson Introduction This lesson describes how to create a Use Case diagram as part of the process of creating a Dishwasher model. You ll cover the following concepts: What is a Use Case Diagram? Parts of a Use Case Diagram Analyzing the Dishwasher System Creating the Dishwasher Project Creating a Use Case Diagram Use Case Diagram Toolbar Drawing the System Boundary Drawing Use Cases Drawing the Actors Generalizing a Use Case Labeling the Diagram With the Note Tool Tutorial 2 1

52 Creating a Use Case Diagram What is a Use Case Diagram? A Use Case Diagram shows interactions between the system and users of the system or external components that may want to interact with it. This lesson shows you how to create a Use Case diagram for the Dishwasher project. Parts of a Use Case Diagram Use Case Diagrams can contain the following elements: Actors Can be either users of the system or external components, such as sensors or actuators, that either provide information to the system or use information provided by the system. 2 2 Rhapsody in J

53 Parts of a Use Case Diagram Use Cases Capture some user-visible function. A use case can be big or small, but it must capture an important goal of a user for the system. Association Lines Show relationships between actors and use cases. System Boundary Delineates the boundary between the system under design and the external actors. Use cases go inside the system boundary. Packages Group systems or parts of a system into logical components. Generalization Arrows Show generalizations between either use cases or actors. The arrow head points to the parent use case or actor. Tutorial 2 3

54 Creating a Use Case Diagram «uses» Stereotypes Show the type of generalization. The following list the possible stereotypes between use cases: «Uses» When one use case uses the output of another. «Extends» When one use case extends the function of another. ««Inheritance»» When one actor inherits from another. Analyzing the Dishwasher System To analyze the dishwasher, you must identify the system users or external components that might want to use the dishwasher and how they might want to use it. To do so, you must identify the major function points of the system and any possible relationships, similarities, or differences between them. These function points are the system requirements. Actors Who Interact with the Dishwasher The System Actors who interact with the dishwasher might be: The dishwasher operator The dishwasher s display The dishwasher technician Use Cases of a Dishwasher Next consider how each actor interacts with the system. 2 4 Rhapsody in J

55 Creating the Dishwasher Project The dishwasher operator may want to: Set the washing mode. Wash dishes. The dishwasher display will: Report the status of the dishwasher. The dishwasher technician will: Use the dishwasher s maintenance utilities. Now that you have analyzed the system, you are ready to create the Dishwasher project. Creating the Dishwasher Project To create the Dishwasher project: 1. Start Rhapsody, if it is not already running. 2. From the File menu, select New to create a new project. 3. Name the new project Dishwasher and save it in a folder with the same name. Note: To avoid overwriting the Dishwasher sample project provided with Rhapsody, create your Dishwasher project in a directory other than Rhapsody\ Samples\Dishwasher. For example, you can create your project in myprojects\dishwasher. 4. Confirm the creation of the new directory. 5. Once you have created the project, choose Save from the File menu to save the new Dishwasher project. Tutorial 2 5

56 Creating a Use Case Diagram Creating a Use Case Diagram To create a new Use Case diagram: 1. Expand the Packages category. 2. Right-click the Default category and from the popup menu, select Add New > Use Case Diagram. Rhapsody creates a new use case diagram with the default name usecasediagram_n (n = 0, 1, 2, 3...). 3. Type the name Dishwasher to replace the default name and click OK. 4. Double-click on the Dishwasher in the Browser. Rhapsody opens the new Use Case diagram. Use Case Diagram Editor 2 6 Rhapsody in J

57 Use Case Diagram Toolbar Use Case Diagram Toolbar The Use Case Diagram editor has the following toolbar with tools for creating the various parts of a Use Case diagram: Select Use Case Actor Package Association Generalization Dependency System Boundary Drawing the System Boundary The first step in drawing a Use Case diagram is to create the system boundary. 1. Click the System Boundary tool in the Use Case diagram toolbar. 2. Move the cursor into the drawing area, click in the upper left corner. While holding down the left mouse button, drag the cursor to the lower right, then release the mouse button. Rhapsody creates a system boundary box, with the name field highlighted so that you can edit it. Tutorial 2 7

58 Creating a Use Case Diagram 3. Type the text Dishwasher, and then press Enter. Resize the boundary box by clicking on it and then dragging the handles to resize the box. The diagram should look like the following illustration: System Boundary Tool Drawing the Actors Earlier, you identified actors who interact with the dishwasher: Operator Dishwasher Display Technician 2 8 Rhapsody in J

59 Drawing the Actors To create an actor: 1. Click the Actor tool in the Use Case diagram toolbar. 2. Move the cursor to the left of the boundary box in the Use Case diagram drawing area, then double-click. Rhapsody creates an actor named actor_n (n=0,1,2,...). 3. Type the name Operator to rename the actor, then press Enter. 4. Create another actor below the first and name it Dishwasher Display. 5. Create a third actor below the other two and name it Technician. The diagram should look like the following illustration: Tutorial 2 9

60 Creating a Use Case Diagram 6. Expand the Packages, Default, and Actors categories in the Browse tree. The Operator, Dishwasher Display, and Technician actors are now listed in the Actors category. Drawing Use Cases This section provides instructions for drawing the use cases inside the system boundary. Earlier in this lesson we identified the following use cases for the Dishwasher: Set Washing Modes Wash Dishes Report Dishwasher Status Maintenance Utilities To draw a use case in the diagram editor: 1. Click the Use Case tool in the Use Case diagram toolbar. 2. Move the cursor into the system boundary box, then click and drag to create a rectangle no bigger than roughly the upper quarter of the box. When you release the cursor, Rhapsody creates an ovalshaped use case named usecase_0. Each successive use case will be named usecase_n where n=1,2,3, Rhapsody in J

61 Adjusting the Layout Adjusting the Layout 3. Change the name of the use case to Set Washing Modes and press Enter. 4. Create three more use cases inside the system boundary and name them Wash Dishes, Report Dishwasher Status, and Maintenance Utilities respectively. If the use case names are not fully visible inside the ovals, resize the use cases as follows: 5. Click the use case to display selection handles. 6. Select a handle and drag it until the name of the use case is fully visible, and then release the handle. You can move use cases inside the boundary box by clicking and dragging them. If you want to line up your use cases, you can use the Arrange toolbar. To display the Arrange toolbar: 1. From the Layout menu, select Arrange. 2. The Arrange toolbar provides tools that let you align, center, and adjust the spacing between graphic elements in diagrams. 3. Select all four use cases by first selecting one, then pressing Shift and selecting the other three. 4. In the Arrange toolbar, click the Horizontal Center tool. The use cases are now horizontally centered in relation to each other. Tutorial 2 11

62 Creating a Use Case Diagram Resizing the System Box You can resize the system boundary without changing the size of its contents by pressing the Alt key while dragging a border or corner. You can also resize the system boundary to eliminate some of the white space inside it. This only affects the white space inside the boundary and outside any text or graphic elements it contains: 1. Select the system box. 2. From the Layout menu, select Resize Box to Fit Contained. The Dishwasher Use Case diagram should look like the following illustration: 2 12 Rhapsody in J

63 Editing Use Cases in the Browser Editing Use Cases in the Browser The use cases that you drew in the Use Case diagram editor were automatically added to the model. You can see the entire project tree in the Browser. 1. In the Browser, expand the Packages category, then expand the Default package, and finally, expand the Use Cases category. The Set Washing Modes, Wash Dishes, Report Dishwasher Status, and Maintenance Utilities use cases are now listed in the Use Cases category under the Default package. 2. Select the Wash Dishes use case in the Browser. The specification dialog for the Wash Dishes use case appears in the right pane. In this dialog, you can change the use case name, associate the use case with a different main diagram, enter a description, and enter extension points for the use case. Note: Extension points are a modeling artifact that represent points at which you might want to extend the use case in the future. 3. Click the ellipsis (...) button next to the Description field to open a text editor for entering a description of the use case. The text scrolls to the right in the editor window if it exceeds the width of the window. However, it will wrap in the Description field when you close the editor window. 4. Enter the following text as a description of the use case: 1. A washing cycle consists of the following activities: Rinse: Lightly spray the dishes for the period of time dictated by the wash mode. Wash: Vigorously scrub the dishes for the period of time Tutorial 2 13

64 Creating a Use Case Diagram dictated by the wash mode. Dry: Dry the dishes for the period of time dictated by the wash mode. 2. At the beginning of the cycle, the wash mode dictates the rinse, wash, and dry times. Changes to the wash mode after the cycle has begun have no effect until the next cycle. 3. Opening the door in the middle of the cycle causes all activity to cease. Closing the door resumes the cycle where it was interrupted. 4. At the beginning of the cycle, increment the service cycle count. 5. Click OK to close the text editor window, or apply your change if you typed directly into the Description field in the Browser. The Wash Dishes use case dialog should look similar to the following illustration: 2 14 Rhapsody in J

65 Editing Use Cases in the Browser Tutorial 2 15

66 Creating a Use Case Diagram Using the Features of Use Case Dialog You can also enter the use case description in the Features of <use case> dialog that is accessible from the Use Case diagram itself. To access the Features of Wash Dishes dialog: 1. Return to the Use Case diagram. 2. Right-click the Wash Dishes use case and from the popup menu select Features. The Features of Wash Dishes dialog displays the description entered earlier. 3. Click Cancel to close the dialog. 4. Open the Features dialog for the Maintenance Utilities use case and enter the following description: 1. Maintain cycle count: The dishwasher maintains a count of the total number of washing cycles performed since it was last serviced. When the dishwasher exceeds 2 cycles, service is required. 2. Reset cycle count: When service personnel complete servicing, they push the service button to reset the cycle count. Servicing a dishwasher before required also resets the cycle count. 3. Click OK when you are finished. 4. Open the Features dialog for the Set Washing Modes use case and enter the following description: The wash mode can be configured at any time prior to the start of a wash cycle using the three-position wash mode switch. The following wash modes are supported: 2 16 Rhapsody in J

67 Associating Actors with Use Cases Normal Quick Intense Changes made to the wash mode during a washing cycle do not take effect until the start of the next cycle. 5. Click OK when you are finished. 6. Open the Features dialog for the Report Dishwasher Status use case and enter the following description: Send messages that describe what part of the cycle the dishwasher is in. 7. Click OK when you are finished. Associating Actors with Use Cases Generally, the operator wants to washes dishes and set the washing modes; the dishwasher display reports on the dishwasher status; and the technician wants to maintain the dishwasher. This establishes the following associations: Actor Use Cases Operator Wash Dishes Set Washing Modes Dishwasher Display Report Dishwasher Status Technician Maintenance Utilities To draw an association line: 1. Click the Association Line tool in the Use Case diagram toolbar. 2. Move the cursor to the edge of the Operator and click. Then move the cursor to the edge of the Wash Dishes use case and click again. Tutorial 2 17

68 Creating a Use Case Diagram Rhapsody creates an association line with name field highlighted, as in the following illustration: 3. Press Enter without naming the association. 4. Create an association between the Operator and the Set Washing Modes use case. 5. In the Browser, expand the Operator actor and its Relations category to see the following: itsset Washing Mode - The role played by the Set Washing Mode use case in relation to this actor. itswash Dishes - The role played by the Wash Dishes use case in relation to this actor Rhapsody in J

69 Associating Actors with Use Cases 6. Switch back to the User Case diagram and create an association between the Report Dishwasher Status use case and the Dishwasher Display actor. 7. Finally, create an association between the Technician and the Maintenance Utilities. The Dishwasher Use Case diagram should look similar to the following illustration: Tutorial 2 19

70 Creating a Use Case Diagram Using the Features of Relation Dialog The Features of Relation dialog lets you specify: The direction of the association. The names of the roles. The multiplicity of the class at both ends of the association. To specify the Features of Relation: 1. Right-click on the association line that goes from Operator to Set Washing Modes. 2. Select Features from the popup menu. The following dialog appears: 2 20 Rhapsody in J

71 Direction Direction This field, located in the top left of the Relations tab, specifies the direction of the relation. The default is Symmetric. In the case of the Operator actor and the Set Washing Modes use case, the symmetric relation is not correct since it is the Operator that sends messages to the Set Washing Modes use case. To set the direction of the association: 1. Choose From Operator to Set Washing Modes. Role Name This field names the role identity that a use case plays in the relationship. For example, you might play the role of driver in relationship to your car, while you might play the role of mother in relationship to your daughter. Rhapsody assigns the default role names of its<actor name> or its<use case name> at the ends of the relationship. You can change these names in the Role name field, but for now, leave them as they are. The Show column on the right side of the dialog lets you determine which elements you want displayed on the Use Case diagram. For now, leave the Show box unchecked for the Role name. Multiplicity The multiplicity indicates how many of a particular element participate in the relation. There is only one Operator actor and there is only one Set Washing Modes use case, so leave the multiplicity set to 1. Tutorial 2 21

72 Creating a Use Case Diagram To stop the Use Case diagram from displaying the multiplicity: 1. Remove the check from the Show box next to the Multiplicity field. Set the Features of Relation for the other association lines in the diagram as follows: 1. For the association line that links the Operator actor to the Wash Dishes use case: The Direction travels From Operator to Wash Dishes. Leave the default Role name. Remove the check from the Multiplicity Show box. 2. For the association line that links the Dishwasher Display actor to the Report Dishwasher Status use case: The Direction travels From Report Dishwasher Status to Dishwasher Display. Leave the default Role name. Remove the check from the Multiplicity Show box. 3. For the association line that links the Technician actor to the Maintenance use case: Leave the Direction set to Symmetric. Leave the default Role name. Remove the checks from both Multiplicity Show boxes Rhapsody in J

73 Generalizing a Use Case When you are done, the diagram should look similar to the following illustration: Generalizing a Use Case The technician must run the dishwasher (i.e., wash dishes) in order to troubleshoot it. For this reason, the Maintenance use case must use the Wash Dishes use case to accomplish this. In this way, we can generalize the relationship between these two use cases to say that the Maintenance use case uses the Wash Dishes use case. In UML, this generalized relationship is labeled by the designation of a stereotype that, in this case, is <<Uses>>. Tutorial 2 23

74 Creating a Use Case Diagram Creating a Generalization To create a generalization between the Maintenance Utilities and the Wash Dishes use cases: Selecting a Stereotype 1. Click the Generalization tool in the Use Case toolbar. 2. Place the cursor on the far right edge of the Maintenance Utilities use case and click. Then click on the far right edge of the Wash Dishes use case. Rhapsody creates an inheritance arrow with the arrowhead pointing to the super-use case (Wash Dishes). UML offers several stereotypes of items such as classes and relations. The stereotypes available for relating use cases are <<Uses>> and <<Extends>>. To select a stereotype for a generalized relationship: 1. Place the cursor over the generalization line between the Maintenance Utilities and the Wash Dishes use cases and right-click. 2. From the popup menu, choose Select Stereotype > <<Uses>>. The <<Uses>> label now appears next to the generalization line in the diagram. Reposition the stereotype label by clicking and dragging it Rhapsody in J

75 Labeling the Diagram With the Note Tool Labeling the Diagram With the Note Tool To label the diagram, you can add a note: 1. Click the Note tool in the main toolbar. 2. Move the cursor, which changes to the shape of an Up arrow, into the drawing area somewhere near the top of the diagram and click. Rhapsody displays a text entry field: 3. Type the text Dishwasher Use Cases into the text entry field and press Ctrl+Enter. Note: To terminate the editing of a note, you must simultaneously press the Ctrl and Enter keys. Pressing Enter simply adds a new line to the note. Tutorial 2 25

76 Creating a Use Case Diagram When you are finished entering the note, four selection handles let you move the note or edit its format. Adding Information with a Note You can also use a note to add some useful information to the diagram that may make it clearer for other people reading it. To add another note: 1. Click the Note tool. 2. Move the cursor over the diagram and click on the left side. 3. Type the following note: The Dishwasher Display actor displays the state of the Dishwasher to the Operator or Technician. 4. Press Ctrl+Enter to finish the note. 5. Edit, move, or resize the note as you prefer Rhapsody in J

77 Changing the Font Changing the Font You can change the default format that Rhapsody assigns to any text entered for any object, including its color and font. To edit the font used for the text of the note: 1. Click on the note text, then select Edit > Format > Font. Rhapsody displays the Font dialog. You can change the font family, style, and size. 2. Select a font size of 16, then click OK. 3. Click and drag the text note to the top center of the diagram, then click somewhere other than the note text to deselect it. The finished Use Case diagram should look similar to the following: Tutorial 2 27

78 Creating a Use Case Diagram Saving the Project Select Save from the File menu to save the Dishwasher project. Summary In this lesson, you created a Use Case diagram as part of the process of creating a Dishwasher model. You became familiar with the parts of a Use Case diagram and created parts of the Dishwasher model including the following: the system boundary the use cases the actors labels for different purposes You have now completed a Use Case diagram for the Dishwasher project. Now you must consider the steps required to define a structural model of the dishwasher software using an Object Model diagram. To learn about Object Model diagrams, turn to Lesson 3, Creating an Object Model Diagram Rhapsody in J

79 Creating an Object Model Diagram 3 Lesson Introduction This lesson describes how to create an Object Model diagram as part of the process of creating a Dishwasher model. You ll cover the following concepts: What is an Object Model Diagram? Parts of an Object Model Diagram Starting the Object Model Diagram Editor Object Model Diagram Toolbar Drawing the Overview Object Model Diagram Drawing a Class Drawing an Association Between Classes Specifying the Features of an Association Specifying the Features of an Object Tutorial 3 1

80 Creating an Object Model Diagram What is an Object Model Diagram? Object Model diagrams show the static structure of a system. They show the types of objects in the system, the attributes and operations that belong to those objects, and the static relationships that can exist between classes (types) and constraints that may apply. Parts of an Object Model Diagram This lesson describes how to create an Object Model diagram called Overview for the Dishwasher project. Object Model diagrams can have the following elements. Classes Group similar kinds of objects into types. All instances of a class have the same attributes and operations, although their individual values can vary. The name of the class appears into the top compartment; attributes appear in the middle; operations appear in the bottom. Simple Classes Show only the class name without any attributes or operations. Composite Classes Contain other classes. The parts come into being and are destroyed with the creation and destruction of the composite class. Packages Group systems or parts of a system into logical components. 3 2 Rhapsody in J

81 Parts of an Object Model Diagram Inheritance Arrows Show inheritance between classes. The child class has all the attributes and operations of the parent class, and can have some special ones of its own. The arrowhead points to the parent class. Association Lines Show bidirectional associations between classes, as with two classes that can communicate by passing messages back and forth to each other. Directed Association Lines Show unidirectional associations, as when only one of the classes can send messages to the other. Aggregation Lines Show whole-part relationships. The lifetime of the part is not tied to that of the whole. The diamond is at the whole end of the relationship. Dependency Lines Show dependency relationships, as when changes to the definition of one class will affect the other class. Actors Can be either users of the system or external components, such as sensors or actuators, that either provide information to the system or use information provided by the system. Tutorial 3 3

82 Creating an Object Model Diagram In this lesson, you create an Object Model diagram called Overview that shows the relationships between the parts in the dishwasher. Starting the Object Model Diagram Editor To start the Object Model diagram editor: 1. Start Rhapsody if it is not already running. 2. Open the Dishwasher project created in the Lesson 2, Creating a Use Case Diagram. 3. Right-click the Default package, then select Add New > Object Model Diagram from the pop-up menu. Rhapsody creates a new Object Model diagram named diagram_n (n=0,1,2,...) and adds a new category Object Model Diagrams to the Browse tree. The newly created Object Model diagram is listed below the Object Model Diagrams category. 4. Edit the Name field on the right side of the Browser to rename the Object Model diagram from diagram_0 to Overview, then click the Apply button. 5. Open the Overview Object Model diagram by doubleclicking on the Object Model diagram icon in the Browse tree. Rhapsody displays the Object Model diagram editor. 3 4 Rhapsody in J

83 Object Model Diagram Toolbar Object Model Diagram Toolbar The Object Model Diagram editor has the following toolbar with tools for creating its various parts diagram: Select Class Composite Class Package Inheritance Association Directed Association Aggregation Dependency Actor Drawing the Overview Object Model Diagram The Overview Object Model diagram shows how the dishwasher relates to its parts. Drawing an Object Model diagram involves drawing views of one or more objects, specifying their features, then specifying the relationships between the objects. Tutorial 3 5

84 Creating an Object Model Diagram Drawing a Class The main class in the Dishwasher model is the Dishwasher class. This procedure draws the Dishwasher class, including its attributes and operations. To draw a class: 1. Select the Class tool. 2. Move the cursor (which changes to the shape of crosshairs) into the drawing area, click in the bottom half of the drawing area, while holding down the left mouse button drag the cursor down and to the right, then release the mouse button. Rhapsody creates a class named class_n (n=0,1, 2, 3...). The class has three horizontal areas called compartments. If the three compartments are not visible, resize the object using its selection handles. You can also move the object by clicking, holding the mouse button down, and dragging it. 3. Enter the class name Dishwasher to replace the default name class_n and press Enter. Rhapsody changes the name of the class to Dishwasher. The Dishwasher class you just created automatically references the existing Dishwasher class. 4. Click the Select tool to deselect the Class tool. Rhapsody lets you determine what will be displayed in the class using the Display Options dialog. To open the Display Options dialog: 1. Move the mouse pointer over the Dishwasher object. You ll notice it becomes highlighted. 3 6 Rhapsody in J

85 Drawing a Class 2. Right-click and select Display Options from the popup menu. The following dialog opens. There are two tabs to this dialog that let you establish different settings for the classes in the Object Model diagram. The General tab establishes settings for displaying the class s name and stereotype. The Compartments tab establishes settings for displaying attributes and operations in the class s compartments. 3. Click to select the Compartments tab. 4. In the Attributes section, select Public and remove the check from Visibility if this boxed is checked. 5. In the Operations section, select Suppressed. Then click OK to dismiss the dialog. When you return to the diagram, the Operations section of the Dishwasher class is no longer displayed. 6. Return to the Compartments tab of the Display Options dialog by repeating steps 1 through 3. Tutorial 3 7

86 Creating an Object Model Diagram 7. In the Operations section, remove the check from the Suppressed checkbox and select All. Click OK. This time when you return to the diagram, the Operations compartment contains the Operations that you created in the Sequence diagram: setitsobserver(), startbehavior(), setup(), evstart(), evopen(), and evclose(). To complete the Object Model diagram: 1. Draw another class to represent the Observer class. Resize and move the classes until the Object Model diagram looks like the following illustration: 3 8 Rhapsody in J

87 Drawing an Association Between Classes Drawing an Association Between Classes An association is a type of relation. It portrays a general relationship between two classes and is the simplest of the relations. It is shown in the diagram as a line between the two classes. To draw an association: 1. Click the Association tool in the Object Model diagram toolbar. 2. Click the top edge of the Dishwasher class to anchor the start of the association. 3. Move the cursor to the bottom edge of the Observer class, then click to finish drawing the association. Rhapsody draws an association between the classes with the name field highlighted so that you can edit it. This creates an association relationship between the Dishwasher and Observer classes. 4. Type itsobserver to name the association. Tutorial 3 9

88 Creating an Object Model Diagram When you are finished the Object Model diagram should look like the following illustration: Specifying the Features of an Association The features of an association specify the following: The direction of the message passed between classes. The names of the roles played by the classes. The multiplicity of the classes participating in the relation. To specify the features of the Dishwasher-Observer association: 1. Click the Select tool in the Object Model diagram toolbar Rhapsody in J

89 Direction 2. Right-click the association line between the Dishwasher and the Observer and select Features from the popup menu. Rhapsody displays the Features of Relation dialog. This dialog has three tabs. The Relation tab specifies properties for the relation as a whole. The Properties of role in Dishwasher and Properties of role in Observer tabs specify code generation properties for the roles that these classes play in the relationship: Direction This field, located at the top left of the Relation tab, specifies the direction of the relation. This means it determines the direction that messages can travel between these classes. Tutorial 3 11

90 Creating an Object Model Diagram Symmetric, the default, means that both classes know of each other and can pass messages back and forth. From Dishwasher to AcmeJet means that the Dishwasher class can send messages to the AcmeJet object but AcmeJet can t send messages to the Dishwasher. To set the direction: Role Name 1. Select From Dishwasher to Observer from the drop-down list. Rhapsody changes the tab and field settings for the specified direction of the association. This field names the role identity that a class plays in the relationship. For example, a person can play the role of doctor in relation to a patient in a health care setting, while the same person might play the role of mother in relation to a child in a family setting, or driver in relation to a car in a highway setting. Rhapsody assigns the default role names of its<classname> to the classes at both ends of a relationship. For example, Rhapsody assigns the role of itsobserver to the Observer in the Dishwasher-Observer relation. This means that in relation to the Dishwasher, the Observer is itsobserver. You can change the role names in the Features of Relation dialog. For now, let s leave them as is. To display the role name of the Observer on the relation line in the Object Model diagram: 1. Click the check box in the Show column to the right of the Role name itsobserver. Checking this box tells Rhapsody to display the role name on the association line in the Object Model diagram Rhapsody in J

91 Multiplicity Multiplicity Multiplicity indicates the number of instances that a class has in relation to the other class in the association. From an Observer s perspective, there is only one Dishwasher. So by default, the multiplicity is set to one. However, when the direction was made one way from Dishwasher to Observer, this value was dropped. From the Dishwasher s perspective, however, there may be several Observers. In the case of our model, however, the Dishwasher has one Observer. To specify the multiplicity for the association relation: 1. Select 1 from the Multiplicity drop-down field. Note: When Rhapsody generates code, it adds the member itsobserver to the Dishwasher class that is of type pointer-to-class Observer. 2. Click the Show check box to the right of the Multiplicity field to display the multiplicity for itsobserver in the Object Model diagram. 3. Click OK to close the Features of Relation dialog. Tutorial 3 13

92 Creating an Object Model Diagram At this point, the Object Model diagram should look like the following illustration: 4. Save the changes you have made to the Dishwasher model. Specifying the Features of an Object The Dishwasher class already has several operations that you created when you made the Washing Dishes Sequence diagram, which are visible in the Object Model diagram. The following procedures add some new operations and attributes Rhapsody in J

93 Attributes of Dishwasher Attributes of Dishwasher To add attributes to the Dishwasher class: 1. Right-click the Dishwasher class and select Features from the popup menu. Rhapsody displays the Features of Dishwasher dialog. 2. Select the Attributes tab. 3. Click the New button and type cycles in the Name field. 4. Select int from the Type drop-down list and click OK to close the Attribute dialog. Rhapsody adds the cycles integer attribute to the Dishwasher class. Rhapsody also adds the newly created attribute to the Show in Diagram pane by default. Attributes listed in the Show in Diagram pane are displayed in the class in the Object Model diagram. You can use the <<Display button to copy attributes to the list. 5. Repeat steps 3 and 4 to add the following integer attributes to the Dishwasher class: rinsetime washtime drytime initwashtime initrinsetime initdrytime 6. Click OK to dismiss the Features dialog. The Dishwasher class should now look similar to the one above. If all of the newly created attributes are not showing, use the selection handles to expand the size of the box. Tutorial 3 15

94 Creating an Object Model Diagram Operations of Dishwasher To create the operations of the Dishwasher class: 1. Open the Features of Dishwasher dialog. 2. Select the Operations tab. Rhapsody displays the Operations dialog. 3. Click the New button, then select Constructor from the Type drop-down list. 4. Click the Ellipsis button in the Implementation field to invoke the Text Editor and enter the text shown in the following illustration: 3 16 Rhapsody in J

95 Operations of Dishwasher When you are finished editing, the Operation dialog it should look similar to the following illustration: 5. Click OK to close the dialog. Rhapsody adds a Constructor operation called Dishwasher() to the project. Tutorial 3 17

96 Creating an Object Model Diagram Adding Primitive Operations to the Dishwasher Model To add a Primitive Operation: 1. Open the Features of Dishwasher dialog and click the Operations tab. 2. Click the New button. 3. Select Primitive Operation and Public from the Type dropdown lists. 4. Enter the name isinneedofservice in the Name field. 5. Check the Type is typeddef ed (predefined or user defined type) box, then select boolean from the Type pull down menu in the Return Type area. 6. Enter the following code in the Implementation field: return (cycles==3); 7. Click OK. When you are finished the Dishwasher object should look like the one on the right: Create the Operations listed in the following table. They have the same settings as the isinneedofservice() operation except where listed in the table: 3 18 Rhapsody in J

97 Adding Additional Events for the Dishwasher Class Operation Name Type Implementation Code isdried boolean return (drytime == 0); isrinsed boolean return (rinsetime == 0); iswashed boolean return (washtime == 0); update void if (itsobserver!= null) itsobserver.update(); Adding Additional Events for the Dishwasher Class You will need to add two more events to complete all the Dishwasher s events. They are the evmode and evservice events. 1. Open the Features of Dishwasher dialog and select the Operations tab. 2. Click the New button. 3. Select Event from the Type drop-down list. In the name field, type evmode. 4. Repeat steps 2 and 3 to create the evservice event. Note: You may not be able to display all the operations for the Dishwasher because there may not be enough room in the diagram. Adding Operations for the Observer Class To add an operation to the Observer class: 1. Open the Features of Observer dialog. 2. Click the New button. 3. Type update in the Name field. Tutorial 3 19

98 Creating an Object Model Diagram 4. Ensure that this operation is listed in the Show in Diagram pane. When you are finished, the Overview Object Model diagram should look similar to the following: Saving the Project Select Save from the File menu to save the Dishwasher project Rhapsody in J

99 Summary Summary In this lesson you learned how to create an Object Model diagram as part of the process of creating a Dishwasher model. You started by looking over the various parts of the Object Model diagram and then learned about the following parts: classes associations between classes the features of an association the features of an object You have now completed an Object Model diagram for the Dishwasher project. Now you are ready to start defining a scenario for execution of the dishwasher. You ll do this in Lesson 4, Creating a Sequence Diagram. Tutorial 3 21

100 Creating an Object Model Diagram 3 22 Rhapsody in J

101 Creating a Sequence Diagram 4 Lesson Introduction This lesson describes how to create a Sequence diagram as part of the process of creating a Dishwasher model. You ll cover the following concepts: What is a Sequence Diagram? Parts of a Sequence Diagram Starting the Sequence Diagram Editor Sequence Diagram Toolbar Drawing the Washing Dishes Sequence Diagram Drawing the System Border Drawing a Partition Line Drawing Instance Lines Drawing a Constructor Drawing an Event Drawing a Self Message Event Viewing Usage of Model Elements Tutorial 4 1

102 Creating a Sequence Diagram What is a Sequence Diagram? A Sequence diagram can show possible scenarios in the execution of a use case. A single use case can be associated with many different scenarios. Each sequence shows how the participating objects communicate by passing messages to each other over time. This lesson explains how to create a Sequence diagram for the Dishwasher project. 4 2 Rhapsody in J

103 Parts of a Sequence Diagram Parts of a Sequence Diagram Sequence diagrams can have the following parts: Instance Lines Represent the objects participating in a scenario. Each vertical line shows the life cycle of one class over time, that advances in the downward direction. The most recent messages appear at the bottom. Message Arrows Represent messages passed between instances. Messages are events or they can invoke an operation. An arrow that starts and ends on the same instance line represents a message that an instance sends to itself. Creation Arrows Represent messages that create an instance of a class. Destruction Arrows Represent messages that destroy an instance. Condition Marks Represent conditions, or states, that an object can be in during its lifetime. Tutorial 4 3

104 Creating a Sequence Diagram Timeout Arrows Represent a time limit on how long an object waits before receiving the next message. Cancelled Timeouts Represent a cancelled timeout. System Boundaries Delineate the boundaries between the system under design and external actors. <(n) sec> Time Intervals Show the maximum amount of time that can pass between the beginning and ending of a part of a sequence. This segment does... Partition Lines Separate parts of a sequence. Partition lines improve the legibility of the diagram but have no semantic meaning within the UML. Text notes help explain the purpose of a partition. 4 4 Rhapsody in J

105 Starting the Sequence Diagram Editor Starting the Sequence Diagram Editor To start the Sequence diagram editor using the Browser: 1. Start Rhapsody, if it is not already running. 2. Open the Dishwasher project that you created in the previous lesson. 3. Right-click the Default package, then select Add New > Sequence Diagram. Rhapsody creates a new Sequence diagram named sequencediagram_n (n=0,1,2,...) and adds a new category called Sequence Diagrams to the Browse tree. The newly created Sequence diagram is listed below the Sequence Diagrams category. 4. Edit the Name field on the right side of the Browser to rename the Sequence diagram from sequencediagram_n to Washing Dishes, then press the Apply button. 5. Double-click the Washing Dishes Sequence diagram in the Browse tree to open the Sequence diagram editor. Tutorial 4 5

106 Creating a Sequence Diagram Rhapsody displays the Sequence diagram editor as shown in the following illustration: Instance Area Message Area 4 6 Rhapsody in J

107 Sequence Diagram Toolbar Sequence Diagram Toolbar The Sequence Diagram editor uses the following toolbar with tools for creating the various parts of a Sequence diagram: Select Instance Line System Border Message or Event Create Instance Message Destroy Instance Message Timeout Canceled Timeout Time Interval Partition Line Condition Mark Tutorial 4 7

108 Creating a Sequence Diagram Drawing the Washing Dishes Sequence Diagram Just like when you drew the Use Case diagram, the first step is to draw a system boundary. Then you draw some partitions to show the various stages in the execution of the sequence. Then you draw the participating classes, or instances. Finally, you fill in the messages that the classes pass to each other to carry out the various parts of the sequence. Drawing the System Border The first step to drawing a Sequence diagram is to draw the system border. A system border represents the boundary of the Sequence diagram environment. In the model Sequence diagram, there are two system borders. To draw the system borders: 1. Click the System Border tool in the Sequence diagram toolbar. A vertical dashed line appears inside the Sequence diagram to indicate the initial location of the system border. 2. Move the cursor (which changes to the shape of crosshairs) into the drawing area, then click on the left side of the diagram. Rhapsody draws a system border that looks like a column of slashes and anchors it in place. You can relocate the system border by clicking the Select tool in the Sequence diagram toolbar, selecting the system border, and then dragging it to its new location. 3. Move the cursor over to the right side of the diagram and click again to create a second system border. 4 8 Rhapsody in J

109 Drawing a Partition Line The Washing Dishes Sequence Diagram should now look similar to the following: System Borders Drawing a Partition Line Partition lines show the various stages in the execution of the sequence. Although they do not add code to the project, partition lines do annotate different sections of the scenario for improved readability of the sequence diagram. In the Dishwasher project, one full wash cycle consists of two separate steps. They are: Initializing System Washing Dishes You can visually separate these cycles in a Sequence diagram using partition lines. Tutorial 4 9

110 Creating a Sequence Diagram To draw a partition line: 1. Click the Partition Line tool in the Sequence diagram toolbar. 2. Move the cursor to the drawing area. Rhapsody displays a horizontal line to indicate the position of the partition line. Drag the line near the top of the Sequence diagram and click to place the line. Rhapsody creates a red, horizontal partition line with a Note field. 3. Type the following text into the Note field, then press Ctrl+Enter: Initializing System The text that you just entered describes the scenario presented by this section of the Sequence diagram. 4. Click the Selection tool to deselect the Partition Line tool. Rhapsody may not display the text exactly the way that you want it. To resize the note click on it to display selection handles. Use these handles to change the proportions. To reposition the note click on it, hold down the mouse button, and drag the note to the desired location. To edit the note double click on it, then edit the text. To move the partition line and the note together, click on the partition line, hold the mouse button down, and drag them to the desired location Rhapsody in J

111 Drawing Instance Lines When you are finished, the Sequence diagram should look like the following illustration: Partition Line Drawing Instance Lines Instance lines are vertical time lines that indicate the life cycles of objects that are part of the diagram. Time proceeds downward from the beginning to the end of an instance line. To draw an instance line: 1. Click the Instance Line tool in the Sequence diagram toolbar. As you move the cursor over the diagram, the cursor changes to crosshairs and Rhapsody displays a dashed line to indicate the initial location of the instance line. 2. Click just to the right of the system border. Tutorial 4 11

112 Creating a Sequence Diagram Rhapsody creates a new instance line named class_n (n=0, 1, 2,...). Initial Instance Name 3. Type the name dishwasher: Dishwasher and press Enter. Rhapsody tells you that a class named Dishwasher does not yet exist and asks you if you want to create it. 4. Click Yes or press Enter to create the class. This creates the Dishwasher class in your model. 5. The class name may not be displayed exactly the way that you want it. You can resize, reposition, or edit the text. In addition, you can move the line if necessary Rhapsody in J

113 Drawing Instance Lines When you are finished, the Sequence diagram should look like the following illustration: In the Browser, expand the Classes category. Notice that the new class corresponding to the instance line in the Sequence diagram now appears as in the following illustration: Tutorial 4 13

114 Creating a Sequence Diagram Drawing a Constructor A constructor marks when an instance is created. It can originate from the system border or from another instance. When you add a constructor to the Washing Dishes Sequence diagram, you are marking the point at which the instance of the Dishwasher is created. To draw a constructor: 1. Click the Create Instance tool in the Sequence diagram toolbar. 2. Move the cursor over the system borders and the instance line. Notice that Rhapsody displays a plus + sign on each system border and on the instance line as you move the cursor from one to the next. This symbol indicates a potential starting point for the intended message. 3. Position the starting point below the partition line on the system border to show that the first message comes from outside the system. 4. Click to anchor the start of the message. Then move the cursor over to the Dishwasher instance line. 5. Click to anchor the end of the message. 6. Press Enter to leave the message with the default name Constructor. Drawing More Initialization Messages You need to add two more messages to the Washing Dishes Sequence diagram that will complete the Initialization part of the diagram Rhapsody in J

115 Drawing More Initialization Messages To add another message: 1. Click the Message tool in the Sequence diagram toolbar. 2. Move the cursor over the left system border just slightly below the constructor you just created. 3. Click to anchor the starting point for this message. 4. Move the cursor over to the Dishwasher instance line. 5. Click to finish drawing the message. 6. Type setitsobserver to name this message. Rhapsody displays a message asking you to confirm that you want to create the new operation. 7. Click Yes or press Enter. 8. The Operation dialog opens. 9. Make sure the Type field is set to Primitive Operation and Public. 10. In the Return Type area, remove the check from the Type is typedef ed checkbox. 11. Type void in the Java Declaration text field. 12. In the Arguments field, click the Add button so that you can add the arguments for the operation. The Argument dialog opens. 13. Type p_observer in the name field. 14. In the Specify Type area, remove the check from the Type is typedef ed checkbox. 15. Type Observer in the Java Declaration text field. Tutorial 4 15

116 Creating a Sequence Diagram When you have finished adding the argument, the dialog should look like the following illustration: 16. Click OK to close the Argument Dialog. 17. Type the following in the Implementation field: itsobserver = p_observer; 4 16 Rhapsody in J

117 Drawing More Initialization Messages When you have finished, the Operation Dialog should look like the following illustration: 18. Click OK to close the Operation dialog. Tutorial 4 17

118 Creating a Sequence Diagram 19. Repeat steps 2 through 18, but this time, create a message called startbehavior just below the setitsobserver message. Give it the settings as shown in the following illustration. Skip steps 12 through 16 because this operation has no arguments. Note: When you are entering text in the Implementation field, you must press Ctrl+Enter to move to the next line. Pressing Enter closes the Operation dialog Rhapsody in J

119 Drawing an Event When you are done creating these messages, the Washing Dishes Sequence diagram should look like the following illustration: Drawing an Event Events are messages that signify important occurrences that happen at a particular instant in time. Events can carry information and trigger state transitions. Named events are called signals. Before drawing the new event, add a partition line as you did in the section, Drawing a Partition Line, and type Washing Dishes in its Note field. To draw an event: 1. Click the Message tool in the Sequence diagram toolbar. Tutorial 4 19

120 Creating a Sequence Diagram 2. Position the starting point below the Washing Dishes partition line on the left system border to show that the message comes from outside the system. 3. Click to anchor the start of the message. Then move the cursor over to the Dishwasher instance line. 4. Position the cursor on the Dishwasher instance line slightly lower than its starting point on the system border. Rhapsody displays a dashed line as a guide for the message. Click to anchor the end of the message. 5. Type evstart and press Enter to name the event. Rhapsody asks you to confirm that you want to create the evstart() operation. Click Yes or press Enter. The Operation dialog opens. 6. Choose Event from the Type drop-down list and click OK to finish creating this event. When you are done with this step, the Sequence diagram should look like the following illustration: 4 20 Rhapsody in J

121 Drawing a Self Message Event 7. Draw two more events each separated by about two inches from the one above it. Call these events evopen and evclose. Make sure you choose Event from the Type dropdown list in the Operation dialog when it opens. When you are done creating the last two events, the Washing Dishes section of the Sequence diagram should look like the following illustration: Drawing a Self Message Event A self message is a message that a class sends to itself similar to when you leave yourself a note to remember to do something. To draw a self message, do the following: 1. Click the Message tool in the Sequence diagram toolbar. Tutorial 4 21

122 Creating a Sequence Diagram 2. Position the starting point just below the ending point of the evstart() message on the Dishwasher instance line. 3. Click to anchor the start of the message. 4. Position the cursor directly below the starting point on the Dishwasher line. Rhapsody displays a dashed line as a guide for the message. 5. Click to anchor the end of the self message. Rhapsody draws a self message on the Dishwasher instance line named Message_n (n=0,1,2,...). 6. Type the name setup to replace the default name, then press Enter. Rhapsody displays a dialog asking you to confirm the creation of the setup operation. 7. Click Yes to confirm the creation of the setup operation. Rhapsody displays the Operation dialog. The setup message is a primitive operation, which means that you must provide code statements for the body of the operation, which you will enter in the Implementation field. 8. Type the following code in the Implementation field: rinsetime = initrinsetime; washtime = initwashtime; drytime = initdrytime; cycles++; Note: When you are entering text in the Implementation field, you must press Ctrl+Enter to move to the next line. Pressing Enter closes the Operation dialog Rhapsody in J

123 Drawing a Self Message Event When you are finished, the setup Operation dialog should look similar to the following: 9. Click OK to close the Operation dialog. Note: The OK, Cancel, and Help buttons don t appear when you create or edit operations in the Browser. 10. Switch to the Browser by choosing Window > Browser and expand the Operations category under the Dishwasher class in the Browse tree. Tutorial 4 23

124 Creating a Sequence Diagram All the operations you have created are now listed in the Operations category under Dishwasher as shown in the following illustration: Finishing the Sequence Diagram To finish the diagram, you ll need to add several update messages and some notes. Adding the Update Messages The update messages send information outside the system that describes the state of the dishwasher. To create the update message: 1. Click the Message tool in the Sequence diagram toolbar. 2. Move the cursor over the Dishwasher instance line just above the evstart event. 3. Click to anchor the starting point for the message Rhapsody in J

125 Adding the Update Messages 4. Move the cursor over the system border on the right side of the diagram. Click to anchor the end point for the message, making sure to draw a horizontal line. 5. Type the name update in the note field and press Enter. 6. Click the Doc Note tool in Rhapsody s main toolbar. 7. Move the cursor just under the update message and draw a small rectangle with the Doc Note tool. Type the note: Dishwasher is ready (in off state). 8. Press Ctrl+Enter to complete the note. When you have complete the note, the Sequence diagram should look like the following illustration: Tutorial 4 25

126 Creating a Sequence Diagram 9. Add the additional update messages as shown in the following illustration: Adding Some Final Notes Notes can add information that help add clarity to the Sequence diagram. To add two notes to the Washing Dishes Sequence diagram: 1. Click the Note tool in Rhapsody s main toolbar. 2. Move the cursor to the left side of the diagram outside the system border and type the following: An Actor playing the Operator role is outside this system border Rhapsody in J

127 Adding Some Final Notes 3. Press Ctrl+Enter to finish the note. 4. Move the cursor to the right side of the Sequence diagram outside the system border and type the following: An Actor playing the Dishwasher Display role is outside this system border. This actor realizes the Observer interface. Once you have added the two notes, the Sequence diagram will look like the following illustration: 1. Save the model. 2. Close the Washing Dishes Sequence diagram. You are now finished creating the Washing Dishes Sequence diagram. The next section lets you see the events and operations you ve created for the Washing Dishes Sequence diagram, and lets you view how design elements are used in the model. Tutorial 4 27

128 Creating a Sequence Diagram Viewing Usage of Model Elements Rhapsody lets you see where any design element, such as a class or event, is used throughout the model. To view where a design element is used in the model: 1. Expand Packages, then Default, then the Classes category. Then expand the Operations category. The Browse tree should look similar to the one on the right. The events created in the Sequence diagram are now listed in the Operations category. 2. Expand the Events category and right-click evstart(). 3. Select Usage from the popup menu Rhapsody in J

129 Saving the Project Rhapsody displays the Usage of Event dialog for the Default::evStart() event. The dialog shows that the Default::Dishwasher class references the evstart() event. Saving the Project Select Save from the File menu to save the Dishwasher project. Summary In this lesson you learned how to create a Sequence diagram as part of the process of creating a Dishwasher model. You started by looking over the various parts of a Sequence diagram and then created one including the following parts: the system border partition lines instance lines constructors events self message events Tutorial 4 29

130 Creating a Sequence Diagram Finally, you took a look at how one of the elements is used throughout the model. You have now completed a Sequence diagram for the Dishwasher project. Now you are ready to start modeling the behavior of the dishwasher control software. You ll do this in Lesson 5, Creating a Statechart Rhapsody in J

131 Creating a Statechart 5 Lesson Introduction This lesson describes how to create a Statechart as part of the process of creating a Dishwasher model. You ll cover the following concepts: What is a Statechart? Parts of a Statechart Starting the Statechart Editor Statechart Toolbar Drawing the Dishwasher Statechart Drawing a State Drawing Concurrent States Drawing an And Line Drawing Connectors Drawing Transitions Tutorial 5 1

132 Creating a Statechart What is a Statechart? Statecharts define the behavior of objects. Statecharts show the various states that an object can enter into over its lifetime and the messages or events that can cause it to transition from one state to another. Parts of a Statechart Statecharts can have the following parts: States Show the state of an object, such as On or Off. Go Transitions Represent messages or events that cause an object to transition from one state to another. Default Transitions Show the default state of an object when first instantiated. 5 2 Rhapsody in J

133 Parts of a Statechart s1 s2 Orthogonal States Represent simultaneous independent substates that an object can be in at the same time. [t>1] C [else] Condition Connectors Show branches on transitions based on boolean conditions called guards. H History Connectors Store the most recent active configuration of a state. A transition to a History connector restores this configuration. Junction Connectors Join multiple incoming transitions into a single outgoing transition. D Diagram Connectors Join physically distant transition segments on the same diagram. Matching names on the source and target Diagram connectors define the jump from one segment to the next. Tutorial 5 3

134 Creating a Statechart T Termination Connectors Terminate the life of the object. Sub-State Connectors Join a parent state with a nested state (submachine) on a separate diagram. Matching names on the source and target Sub- State connectors define the jump from one chart to the next. Each Statechart defines the life-cycle of a single reactive object. Therefore, a reactive object can be associated with only one Statechart (and submachine, if it has any). Starting the Statechart Editor 1. Start Rhapsody if it is not already running. 2. Open the Dishwasher project created in the previous chapters. 3. Right-click the Dishwasher class in the Browser and from the popup menu select New Statechart. 5 4 Rhapsody in J

135 Starting the Statechart Editor The Statechart editor opens with the Dishwasher class name displayed in the title bar. Tutorial 5 5

136 Creating a Statechart Statechart Toolbar The Statechart editor has the following toolbar with tools for creating the various parts of a Statechart: Select State Transition Default Transition And-Line Condition Connector History Connector Termination Connector Junction Connector Diagram Connector Sub-State Connector Join Synch Bar Fork Synch Bar State Name Transition Label Termination State 5 6 Rhapsody in J

137 Drawing the Dishwasher Statechart Drawing the Dishwasher Statechart The Dishwasher Statechart has several states within it. We ll start by drawing the Active state which contains all the other states for the Dishwasher. Drawing a State To draw a state: 1. Click the State tool in the Statechart toolbar. 2. Draw the largest state possible by clicking in the upper left corner of the window and dragging down to the lower right corner. 3. Type the name Active to change the name of the state from the default state_0 and press Enter. The Dishwasher Statechart should look similar to the following: Tutorial 5 7

138 Creating a Statechart Note: When an object has a Statechart, a small icon appears over the object icon in the Browser. A similar icon is also superimposed on class boxes in Object Model Diagrams for objects with Statecharts. Drawing Concurrent States There are three substates that the Dishwasher can be in simultaneously while active: Running: The dishwasher can be on, off, or have its door open. Service: The dishwasher can either be functioning properly or in need of maintenance. Wash Mode: The dishwasher can be in one of three wash modes during operation: normal, quick, or intense. Simultaneous states that execute independently of one another are known as orthogonal states, or And states. Drawing an And Line Orthogonal states are visually represented with And lines, dotted lines that subdivide a state box. Subdivide the Active state of the Dishwasher into three substates by drawing the following And lines: 1. Click the And-line tool in the Statechart toolbar. 2. Click about two thirds down on the left edge of the Active state to anchor the start of the And line. 5 8 Rhapsody in J

139 Naming Orthogonal States 3. Move the cursor across to the right edge of the Active state and double-click to anchor the end of the And line. The Statechart editor draws a dotted line that subdivides the Active state into two halves. Notice that the Active state label, which used to be inside the state, has moved outside the state box into a tab-like rectangle. 4. Draw another And line to horizontally subdivide the lower half of the Active state into yet two more orthogonal states. You should now have three orthogonal states, a large one that covers the top part of the Active state, and two smaller ones that split the lower part of the state in two. Naming Orthogonal States The three orthogonal states that subdivide the Active state are Running, Service, and Mode, respectively. To name an orthogonal state: 1. Click the State Name tool in the Statechart toolbar. 2. Move the cursor inside the top orthogonal state and click near the bottom. 3. In the edit box that appears, type Running. Press Enter to apply the name. 4. Repeat the above steps to add the name Service to the lower left orthogonal state, and Mode to the lower right orthogonal state. Note: State names cannot contain spaces. Tutorial 5 9

140 Creating a Statechart The Dishwasher Statechart should look like the following illustration: Adding Additional States There are several states you need to add to the statechart. The following states belong within the Running section of the Active state: An On state with a rinsecycle, washcycle, and drycycle within it An Off state An offdooropen state A dooropen state 5 10 Rhapsody in J

141 Adding Additional States The following states belong within the Service state: Normal Faulty The following states belong within the Mode state: Quick Intense To add these states: 1. Select the State tool and draw a large state in the right half of the Running state. 2. Type On to name this state and press Enter. 3. Within the On state create three small states called rinsecycle, washcycle, and drycycle. 4. To the left of the On state, draw two states called Off, offdooropen and dooropen. 5. In the Service state, draw two states called Normal and Faulty. 6. In the Mode state, draw two states called Quick and Intense. Tutorial 5 11

142 Creating a Statechart When you are done drawing the states, the Dishwasher Statechart should look like the following illustration. Use this as a guide for placing the states: Drawing Connectors Rhapsody lets you use connectors to connect different states and to remember state information during an interruption. Drawing History Connectors If you open and close the dishwasher door during operation, the dishwasher must start up again where it left off in the wash cycle. Rather than starting over from the beginning, you want the system to save its history so that it can continue where it left off after an interruption. History connectors allow you to save state information for this very purpose Rhapsody in J

143 Drawing Diagram Connectors To draw a History connector: 1. Click the History Connector tool in the Statechart toolbar. 2. Place the cursor, which has changed to the shape of a circle with a dot in the middle, inside the lower left corner of the On state and click to place the History Connector level with the dooropen state. Drawing Diagram Connectors The Statechart editor draws a circle with an H in its middle at the location where you clicked. When the dishwasher is done drying dishes, the cycle should start over again at the beginning, to handle future loads. To specify the re-start of a cycle, you can use Diagram connectors to connect the end of one portion of a Statechart to the beginning of another portion. Diagram connectors are two connectors of the same name that tell the Statechart to jump from one connector to the matching connector on the same Statechart. To connect the drycycle state, the end of the cycle, to the Off state, the beginning of the next cycle, use Diagram connectors as follows: 1. Click the Diagram Connector tool in the Statechart toolbar. 2. Click below the On state, but still inside the Running state. 3. In the edit box that opens, type the name Done and press Enter. The Statechart editor draws an oval with the text DONE, converted to upper case, inside it. This is the source Diagram connector. Tutorial 5 13

144 Creating a Statechart 4. Draw another Diagram connector to the left and slightly below the Off state, also inside the Running state. 5. Label the second Diagram connector DONE as well. This is the target Diagram connector. This cycle tells the Dishwasher that after it has dried the dishes it should look for a Diagram connector that matches the DONE source connector and immediately transition to the state that the matching target connector points to, in this case, to the Off state. This way, the cycle starts all over again from the beginning. Drawing Transitions Transitions help the dishwasher move from state to state. Drawing a Default Transition Every Statechart begins with a Default transition. The Default transition leads into the default state of the object when the system starts running. Each object can have only one Default transition. The dishwasher must be in the Off state when the dishwasher starts operation. To draw a default transition to the Off state: 1. Click the Default Transition tool in the Statechart toolbar (the arrow with a circle at the end). 2. Click slightly to the left of the Off state to anchor the start of the Default Transition in a free area of the Statechart Rhapsody in J

145 Drawing Standard Transitions 3. Move the cursor to the left edge of the Off state and click to anchor the target end of the Default Transition on the Off state. Press Ctrl+Enter to leave the name of the transition blank. 4. Repeat steps 2 and 3 to draw Default Transitions to the rinsecycle, Normal, and Quick states because these are the Default states for the states that contain them. When you are done drawing the Default Transitions, the Dishwasher Statechart should look like the following illustration: Drawing Standard Transitions Transitions cause an object to change from one state to another. A simple example of a transition for the dishwasher takes place when you open or close the dishwasher door when the machine Tutorial 5 15

146 Creating a Statechart is off. We ll draw this simple example, then move on to more complex ones. To draw the transitions showing the door open and closed in the Off state: 1. Click the Transition tool in the Statechart toolbar (the arrow with a plain end). 2. Click on the bottom edge of the Off state to anchor the start of the transition. 3. Move the cursor to the right edge of the offdooropen state. 4. Click to anchor the target end of the transition to the offdooropen state. Rhapsody draws a transition line and displays an edit box in which you can enter the specifics of the transition. 5. Type evopen to name the transition and press Ctrl+Enter. Note: Pressing Enter simply adds a hard return; it does not close the edit box. To show what happens when you close the door when the dishwasher is off: 1. Click on the top edge of the offdooropen state. 2. Move the cursor to the right edge of the Off state. 3. Click to anchor the transition line to the Off state. 4. Name the transition evclose and press Ctrl+Enter Rhapsody in J

147 Drawing Standard Transitions When you have finished, this part of the Dishwasher Statechart should look like the illustration at the right: Note: If the evopen and evclose events did not already existed in the model, Rhapsody would have added them to the Dishwasher class as a result of your having drawn them in the Statechart. The same transitions are required when you open the dishwasher door when it is on. To show this in the Dishwasher Statechart: 1. Draw an evopen transition from the left edge of the On state to the right edge of the dooropen state. Call it evopen as you did in the previous example. 2. Draw an evclose transition from the right edge of the dooropen state to the History Connector in the On state so that the Dishwasher will return to the condition stored by the History Connector when you close its door. When you have drawn these two transitions, this part of the Dishwasher Statechart should look like the following illustration: Tutorial 5 17

148 Creating a Statechart Drawing an Action on a Transition You can tell an object to execute a certain action when it transitions from one state to another. For example, when the Dishwasher starts, you can have it run its setup routine. Until now, you have been specifying transitions only with event triggers. However, transition labels can have up to three parts, all of which are optional: trigger, guard, action. A guard is a boolean condition that, if specified, must be true for the transition to be taken. An action is a statement, or sequence of statements, specified in a high-level language, that is executed when the object takes the transition. To specify an action on a transition: 1. First draw a transition from the Off state to the rinsecycle state (in the large On state). 2. Call it evstart. 3. Use the Select tool to click and drag the evstart label to a suitable location. 4. Right-click on the evstart transition and choose Features from the popup menu. Rhapsody displays the Features of Transition dialog. 5. In the Action field, enter the following code: setup(); 5 18 Rhapsody in J

149 Drawing an Action on a Transition This command runs the setup operation that prepares the Dishwasher to run. 6. Click OK to close the Features of Transition dialog. The evstart transition now includes an action as shown below: Notice the notation of the transition label. The trigger and action are separated by a / character. The notation is: trigger[guard]/action In fact, specifying a trigger, guard, and action textually in the transition label is the same as entering the individual parts in the Trigger, Guard, and Action fields of the Features of Transition dialog. Tutorial 5 19

150 Creating a Statechart To draw transitions and specify their features using the text field: 1. Draw a transition from the rinsecycle state to the washcycle state. 2. Name it [isrinsed()] using only the blank text field that appears after you draw it. The brackets around the isrinsed() operation tell you that it is a guard. 3. Draw another transition from the washcycle state to the drycycle state and name it [iswashed()]. 4. Finally, draw a transition from the drycycle state to the DONE Diagram Connector and name it [isdried()] Rhapsody in J

151 . Drawing an Action on a Transition When you are finished, this section of the Statechart should look like the following illustration: To finish drawing the transitions for the Dishwasher Statechart: 1. Draw a transition from the DONE Diagram Connector (under the Off state) to the Off state. This cycles the Dishwasher back to the Off state when the dishes are dry. Leave its name blank. 2. Draw a transition from the On state to the DONE Diagram Connector called [isin(faulty)]. This turns the Dishwasher off if there is a malfunction. 3. Draw an evmode transition from the Quick state to the Intense state. 4. Draw an evmode transition from the Intense state to the Quick state. 5. Draw a transition from the Normal state to the Faulty state called [isinneedofservice()]. 6. Draw an evservice transition from the Faulty state to the Normal state. 7. Draw an evservice transition from the Normal state to itself. Tutorial 5 21

152 Creating a Statechart When you are done drawing these transitions, the Dishwasher Statechart should look like the following illustration: Drawing Timeout Transitions Similar to a timeout entered in a Sequence diagram, a timeout transition causes an object to transition to the next state after the lapse of a specified amount of time. A timeout transition is an event entered in the form tm(n), where n is the number of milliseconds the object should wait before taking the transition. Note: The timeout function tm(n) is case-sensitive. Rhapsody does not accept timeouts entered as Tm(n). To draw a timeout transition: 1. Draw a transition from the rinsecycle state to itself Rhapsody in J

153 Drawing Timeout Transitions 2. Enter a timeout transition label of tm(1000)/- -rinsetime; then press Ctrl+Enter. This timeout lasts 1000 milliseconds, or 1 second) and then decrements the rinsetime attribute (- -rinsetime;). Then when the attribute rinsetime reaches zero, the Dishwasher Statechart transitions to the washcycle state. Draw similar timeout transitions as follows: 1. Draw a timeout transition of 1000 milliseconds from the washcycle to itself with the label tm(1000)/- -washtime;. 2. Draw a timeout transition of 1000 milliseconds from the drycycle to itself with the label tm(1000)/- -drytime;. When you have finished drawing these timeouts, the On state should look like the following illustration: Tutorial 5 23

154 Creating a Statechart Specifying Actions on Entry and on Exit Actions on entry are actions that are performed when an object enters a particular state. Similarly, actions on exit are those performed when an object leaves a state. In our example, the Dishwasher sends messages whenever it changes states to inform the Operator about what state it is in. You can tell the Dishwasher to do this by specifying actions on entry and exit for the various states in the Dishwasher Statechart. Specify an action on entry for Dishwasher states as follows: 1. Right-click the Dishwasher s Off state and select Features from the popup menu. The Features dialog for the Off state appears with the Actions tab selected, as follows: 5 24 Rhapsody in J

155 Specifying Actions on Entry and on Exit 2. In the Action on Entry field, enter the following code: System.out.println("Off"); RiJInformer.instance().printMsg("Off"); update(); 3. Leave the Action on Exit field blank and click OK. the Off state. In the Dishwasher Statechart, notice the appearance of the greater-than symbol (>) next to the Off state name. This indicates the presence of additional underlying behavior belonging to Now we ll continue by adding behavior for the other states. To add code for the offdooropen state: 1. Right-click on the offdooropen state. 2. Enter the following code in the Action on Entry field: update(); 3. Click OK. To add code for the dooropen state: 1. Right-click on the dooropen state. 2. Enter the following code in the Action on Entry field: System.out.println("doorOpen"); RiJInformer.instance().printMsg("doorOpen"); update(); 3. Click OK. Tutorial 5 25

156 Creating a Statechart To add code for the rinsecycle state: 1. Right-click on the rinsecycle state. 2. Enter the following code in the Action on Entry field: System.out.println("rinseCycle"); RiJInformer.instance().printMsg("rinseCycle"); update(); 3. Click OK. To add code for the washcycle state: 1. Right-click on the washcycle state. 2. Enter the following code in the Action on Entry field: System.out.println("washCycle"); RiJInformer.instance().printMsg("washCycle"); update(); 3. Click OK. To add code for the drycycle state: 1. Right-click on the drycycle state. 2. Enter the following code in the Action on Entry field: System.out.println("dryCycle"); RiJInformer.instance().printMsg("dryCycle"); update(); 3. Click OK Rhapsody in J

157 Specifying Actions on Entry and on Exit To add code for the Quick state: 1. Right-click on the Quick state. 2. Enter the following code in the Action on Entry field: System.out.println("Quick"); RiJInformer.instance().printMsg("Quick"); initrinsetime = 4; initwashtime = 5; initdrytime = 3; update(); 3. Click OK. To add code for the Intense state: 1. Right-click on the Intense state. 2. Enter the following code in the Action on Entry field: System.out.println("Intense"); RiJInformer.instance().printMsg("Intense"); initrinsetime = 7; initwashtime = 7; initdrytime = 5; update(); 3. Click OK. To add code for the Normal state: 1. Right-click on the Normal state. 2. Enter the following code in the Action on Entry field: System.out.println("Normal"); RiJInformer.instance().printMsg("Normal"); cycles=0; update(); 3. Click OK. Tutorial 5 27

158 Creating a Statechart To add code for the Faulty state: 1. Right-click on the Faulty state. 2. Enter the following code in the Action on Entry field: System.out.println("Faulty"); RiJInformer.instance().printMsg("Faulty"); update(); 3. Click OK. When you are done adding actions for states, the Dishwasher Statechart should look like the following illustration: Saving the Project Select Save from the File menu to save the Dishwasher project Rhapsody in J

Using Microsoft Word. Working With Objects

Using Microsoft Word. Working With Objects Using Microsoft Word Many Word documents will require elements that were created in programs other than Word, such as the picture to the right. Nontext elements in a document are referred to as Objects

More information

ARIS Architect QUICK START GUIDE. Version Service Release 7

ARIS Architect QUICK START GUIDE. Version Service Release 7 ARIS Architect QUICK START GUIDE Version 9.8 - Service Release 7 December 2016 This document applies to ARIS Version 9.8 and to all subsequent releases. Specifications contained herein are subject to change

More information

Quick Start Guide. ARIS Architect. Version 9.8 Service Release 2

Quick Start Guide. ARIS Architect. Version 9.8 Service Release 2 ARIS Architect Version 9.8 Service Release 2 October 2015 This document applies to ARIS Version 9.8 and to all subsequent releases. Specifications contained herein are subject to change and these changes

More information

MODEL-BASED DEVELOPMENT -TUTORIAL

MODEL-BASED DEVELOPMENT -TUTORIAL MODEL-BASED DEVELOPMENT -TUTORIAL 1 Objectives To get familiar with the fundamentals of Rational Rhapsody. You start with the simplest example possible. You end with more complex functionality, and a more

More information

CPM-200 User Guide For Lighthouse for MAX

CPM-200 User Guide For Lighthouse for MAX CPM-200 User Guide For Lighthouse for MAX Contents Page Number Opening the software 2 Altering the page size & Orientation 3-4 Inserting Text 5 Editing Text 6 Inserting Graphics 7-8 Changing the Colour

More information

EE261 Computer Project 1: Using Mentor Graphics for Digital Simulation

EE261 Computer Project 1: Using Mentor Graphics for Digital Simulation EE261 Computer Project 1: Using Mentor Graphics for Digital Simulation Introduction In this project, you will begin to explore the digital simulation tools of the Mentor Graphics package available on the

More information

XnView 1.9. a ZOOMERS guide. Introduction...2 Browser Mode... 5 Image View Mode...15 Printing Image Editing...28 Configuration...

XnView 1.9. a ZOOMERS guide. Introduction...2 Browser Mode... 5 Image View Mode...15 Printing Image Editing...28 Configuration... XnView 1.9 a ZOOMERS guide Introduction...2 Browser Mode... 5 Image View Mode...15 Printing... 22 Image Editing...28 Configuration... 36 Written by Chorlton Workshop for hsbp Introduction This is a guide

More information

Using Styles In Microsoft Word 2002

Using Styles In Microsoft Word 2002 INFORMATION SYSTEMS SERVICES Using Styles In Microsoft Word 2002 This document contains a series of exercises in the use of styles in the Microsoft Word 2002 word processing software. AUTHOR: Information

More information

Chapter 2 Using Slide Masters, Styles, and Templates

Chapter 2 Using Slide Masters, Styles, and Templates Impress Guide Chapter 2 Using Slide Masters, Styles, and Templates OpenOffice.org Copyright This document is Copyright 2007 by its contributors as listed in the section titled Authors. You can distribute

More information

Impress Guide Chapter 11 Setting Up and Customizing Impress

Impress Guide Chapter 11 Setting Up and Customizing Impress Impress Guide Chapter 11 Setting Up and Customizing Impress This PDF is designed to be read onscreen, two pages at a time. If you want to print a copy, your PDF viewer should have an option for printing

More information

2 SELECTING AND ALIGNING

2 SELECTING AND ALIGNING 2 SELECTING AND ALIGNING Lesson overview In this lesson, you ll learn how to do the following: Differentiate between the various selection tools and employ different selection techniques. Recognize Smart

More information

Display Systems International Software Demo Instructions

Display Systems International Software Demo Instructions Display Systems International Software Demo Instructions This demo guide has been re-written to better reflect the common features that people learning to use the DSI software are concerned with. This

More information

There are six main steps in creating web pages in FrontPage98:

There are six main steps in creating web pages in FrontPage98: This guide will show you how to create a basic web page using FrontPage98 software. These instructions are written for IBM (Windows) computers only. However, FrontPage is available for Macintosh users

More information

The American University in Cairo. Academic Computing Services. Word prepared by. Soumaia Ahmed Al Ayyat

The American University in Cairo. Academic Computing Services. Word prepared by. Soumaia Ahmed Al Ayyat The American University in Cairo Academic Computing Services Word 2000 prepared by Soumaia Ahmed Al Ayyat Spring 2001 Table of Contents: Opening the Word Program Creating, Opening, and Saving Documents

More information

Session 7 MS Word. Graphics. Inserting Clipart, and Graphics Modify graphics Position graphics

Session 7 MS Word. Graphics. Inserting Clipart, and Graphics Modify graphics Position graphics Session 7 MS Word Graphics Inserting Clipart, and Graphics Modify graphics Position graphics Table of Contents Session 7 Working with Graphics... 1 The Toolbar... 1 Drawing Toolbar... 1 Picture Toolbar...

More information

4 TRANSFORMING OBJECTS

4 TRANSFORMING OBJECTS 4 TRANSFORMING OBJECTS Lesson overview In this lesson, you ll learn how to do the following: Add, edit, rename, and reorder artboards in an existing document. Navigate artboards. Select individual objects,

More information

Section 2. Slides. By the end of this Section you should be able to:

Section 2. Slides. By the end of this Section you should be able to: Section 2 Slides By the end of this Section you should be able to: Understand and Use Different Views Understand Slide Show Basics Save, Close and Open Presentations Exit PowerPoint 26 CIA Training Ltd

More information

PowerPoint Tips and Tricks

PowerPoint Tips and Tricks PowerPoint Tips and Tricks Viewing Your Presentation PowerPoint provides multiple ways to view your slide show presentation. You can access these options either through a toolbar on your screen or by pulling

More information

Adobe illustrator Introduction

Adobe illustrator Introduction Adobe illustrator Introduction This document was prepared by Luke Easterbrook 2013 1 Summary This document is an introduction to using adobe illustrator for scientific illustration. The document is a filleable

More information

Chapter 2 The Design Window

Chapter 2 The Design Window Chapter 2 Objectives Chapter 2 The Design Window Learn about Crystal sections Move objects Use Toolbars, Icons, and Menus Format fields Add Special Fields Change a Group Use the Crystal Field Explorer

More information

Getting Started with Windows XP

Getting Started with Windows XP UNIT A Getting Started with Microsoft, or simply Windows, is an operating system. An operating system is a kind of computer program that controls how a computer carries out basic tasks such as displaying

More information

Microsoft Word: Steps To Success (The Bare Essentials)

Microsoft Word: Steps To Success (The Bare Essentials) Microsoft Word: Steps To Success (The Bare Essentials) Workbook by Joyce Kirst 2005 Microsoft Word: Step to Success (The Bare Essentials) Page Contents 1 Starting Word 2 Save 3 Exit 5 Toolbars, Alignment,

More information

XnView Image Viewer. a ZOOMERS guide

XnView Image Viewer. a ZOOMERS guide XnView Image Viewer a ZOOMERS guide Introduction...2 Browser Mode... 5 Image View Mode...14 Printing... 22 Image Editing...26 Configuration... 34 Note that this guide is for XnView version 1.8. The current

More information

End User Guide. 2.1 Getting Started Toolbar Right-click Contextual Menu Navigation Panels... 2

End User Guide. 2.1 Getting Started Toolbar Right-click Contextual Menu Navigation Panels... 2 TABLE OF CONTENTS 1 OVERVIEW...1 2 WEB VIEWER DEMO ON DESKTOP...1 2.1 Getting Started... 1 2.1.1 Toolbar... 1 2.1.2 Right-click Contextual Menu... 2 2.1.3 Navigation Panels... 2 2.1.4 Floating Toolbar...

More information

IS2000. Administrative Operator s Guide

IS2000. Administrative Operator s Guide IS2000 Administrative Operator s Guide Table of Contents Logging Off... 7 Event Manager... 7 HARDWARE MANAGER... 8 Maneuvering the Hardware Tree... 8 Unlocking the Module... 8 Viewing the Hardware Tree...

More information

Libraries. Multi-Touch. Aero Peek. Sema Foundation 10 Classes 2 nd Exam Review ICT Department 5/22/ Lesson - 15

Libraries. Multi-Touch. Aero Peek. Sema Foundation 10 Classes 2 nd Exam Review ICT Department 5/22/ Lesson - 15 10 Classes 2 nd Exam Review Lesson - 15 Introduction Windows 7, previous version of the latest version (Windows 8.1) of Microsoft Windows, was produced for use on personal computers, including home and

More information

PowerPoint Spring 2002

PowerPoint Spring 2002 PowerPoint 2000 Spring 2002 Table of Contents I. INTRODUCTION... 1 II. GETTING STARTED... 1 A. Opening PowerPoint... 1 B. The Mouse Pointer... 1 C. Working with Text... 2 1. Windows Control Buttons...

More information

Introduction to the Visual Studio.NET Integrated Development Environment IDE. CSC 211 Intermediate Programming

Introduction to the Visual Studio.NET Integrated Development Environment IDE. CSC 211 Intermediate Programming Introduction to the Visual Studio.NET Integrated Development Environment IDE CSC 211 Intermediate Programming Visual Studio.NET Integrated Development Environment (IDE) The Start Page(Fig. 1) Helpful links

More information

Guide to WB Annotations

Guide to WB Annotations Guide to WB Annotations 04 May 2016 Annotations are a powerful new feature added to Workbench v1.2.0 (Released May 2016) for placing text and symbols within wb_view tabs and windows. They enable generation

More information

Section 1 Getting Started

Section 1 Getting Started Section 1 Getting Started ECDL Section 1 Getting Started By the end of this section you should be able to: Understand PowerPoint Principles Start PowerPoint Use an Installed Template Recognise the Screen

More information

Microsoft PowerPoint 2003 Basic Activities

Microsoft PowerPoint 2003 Basic Activities Microsoft PowerPoint 2003 Basic Activities Activity 1 Creating a new blank presentation... 1 1A. Applying Layouts... 1 1B. Applying a Slide Design... 1 1C. Applying a Background... 2 1D. Entering Text...

More information

v Annotation Tools GMS 10.4 Tutorial Use scale bars, North arrows, floating images, text boxes, lines, arrows, circles/ovals, and rectangles.

v Annotation Tools GMS 10.4 Tutorial Use scale bars, North arrows, floating images, text boxes, lines, arrows, circles/ovals, and rectangles. v. 10.4 GMS 10.4 Tutorial Use scale bars, North arrows, floating images, text boxes, lines, arrows, circles/ovals, and rectangles. Objectives GMS includes a number of annotation tools that can be used

More information

Drawing shapes and lines

Drawing shapes and lines Fine F Fi i Handmade H d d Ch Chocolates l Hours Mon Sat 10am 6pm In this demonstration of Adobe Illustrator CS6, you will be introduced to new and exciting application features, like gradients on a stroke

More information

Changing the Layout of a Document

Changing the Layout of a Document LESSON 5 Changing the Layout of a Document 5.1 After completing this lesson, you will be able to: Adjust page margin settings. Set paragraph indentation and spacing. Change indents and tab settings. Insert

More information

Word 2013 Quick Start Guide

Word 2013 Quick Start Guide Getting Started File Tab: Click to access actions like Print, Save As, and Word Options. Ribbon: Logically organize actions onto Tabs, Groups, and Buttons to facilitate finding commands. Active Document

More information

Quick Start Guide. ARIS Architect. Version 9.7

Quick Start Guide. ARIS Architect. Version 9.7 ARIS Architect Version 9.7 October 2014 This document applies to ARIS Version 9.7 and to all subsequent releases. Specifications contained herein are subject to change and these changes will be reported

More information

IDERA ER/Studio Software Architect Evaluation Guide. Version 16.5/2016+ Published February 2017

IDERA ER/Studio Software Architect Evaluation Guide. Version 16.5/2016+ Published February 2017 IDERA ER/Studio Software Architect Evaluation Guide Version 16.5/2016+ Published February 2017 2017 IDERA, Inc. All rights reserved. IDERA and the IDERA logo are trademarks or registered trademarks of

More information

PowerPoint Essentials 1

PowerPoint Essentials 1 PowerPoint Essentials 1 LESSON SKILL MATRIX Skill Exam Objective Objective Number Working with an Existing Presentation Change views of a presentation. Insert text on a slide. 1.5.2 2.1.1 SOFTWARE ORIENTATION

More information

Creating Buttons and Pop-up Menus

Creating Buttons and Pop-up Menus Using Fireworks CHAPTER 12 Creating Buttons and Pop-up Menus 12 In Macromedia Fireworks 8 you can create a variety of JavaScript buttons and CSS or JavaScript pop-up menus, even if you know nothing about

More information

EZware Quick Start Guide

EZware Quick Start Guide EZware Quick Start Guide Your Industrial Control Solutions Source www.maplesystems.com For use as the following: Evaluation Tool for Prospective Users Introductory Guide for New Customers Maple Systems,

More information

Handout created by Cheryl Tice, Instructional Support for Technology, GST BOCES

Handout created by Cheryl Tice, Instructional Support for Technology, GST BOCES Handout created by Cheryl Tice, Instructional Support for Technology, GST BOCES Intro to FrontPage OVERVIEW: This handout provides a general overview of Microsoft FrontPage. AUDIENCE: All Instructional

More information

Impress Guide. Chapter 11 Setting Up and Customizing Impress

Impress Guide. Chapter 11 Setting Up and Customizing Impress Impress Guide Chapter 11 Setting Up and Customizing Impress Copyright This document is Copyright 2007 2013 by its contributors as listed below. You may distribute it and/or modify it under the terms of

More information

[ Getting Started with Analyzer, Interactive Reports, and Dashboards ] ]

[ Getting Started with Analyzer, Interactive Reports, and Dashboards ] ] Version 5.3 [ Getting Started with Analyzer, Interactive Reports, and Dashboards ] ] https://help.pentaho.com/draft_content/version_5.3 1/30 Copyright Page This document supports Pentaho Business Analytics

More information

Microsoft PowerPoint The Microsoft PowerPoint 2000 Screen. Leander ISD Technology Services CMB Title.

Microsoft PowerPoint The Microsoft PowerPoint 2000 Screen. Leander ISD Technology Services CMB Title. Microsoft PowerPoint 2007 The Microsoft PowerPoint 2007 Screen The Microsoft PowerPoint 2000 Screen Title Menu Bar Standard Formatting Toolbar Outline Pane Placeholders Slide Pane View Buttons Leander

More information

Application of Skills: Microsoft PowerPoint 2013 Tutorial

Application of Skills: Microsoft PowerPoint 2013 Tutorial Application of Skills: Microsoft PowerPoint 2013 Tutorial Throughout this tutorial, you will progress through a series of steps to create a presentation about yourself. You will continue to add to this

More information

ORGANIZING YOUR ARTWORK WITH LAYERS

ORGANIZING YOUR ARTWORK WITH LAYERS 9 ORGANIZING YOUR ARTWORK WITH LAYERS Lesson overview In this lesson, you ll learn how to do the following: Work with the Layers panel. Create, rearrange, and lock layers and sublayers. Move objects between

More information

LESSON B. The Toolbox Window

LESSON B. The Toolbox Window The Toolbox Window After studying Lesson B, you should be able to: Add a control to a form Set the properties of a label, picture box, and button control Select multiple controls Center controls on the

More information

2 Getting Started. Getting Started (v1.8.6) 3/5/2007

2 Getting Started. Getting Started (v1.8.6) 3/5/2007 2 Getting Started Java will be used in the examples in this section; however, the information applies to all supported languages for which you have installed a compiler (e.g., Ada, C, C++, Java) unless

More information

PowerPoint Basics (Office 2000 PC Version)

PowerPoint Basics (Office 2000 PC Version) PowerPoint Basics (Office 2000 PC Version) Microsoft PowerPoint is software that allows you to create custom presentations incorporating text, color, graphics, and animation. PowerPoint (PP) is available

More information

Objectives. Objectives. Objectives. Starting Excel. Plan Ahead 3/9/2010. Excel Chapter 1. Microsoft Office 2007

Objectives. Objectives. Objectives. Starting Excel. Plan Ahead 3/9/2010. Excel Chapter 1. Microsoft Office 2007 Objectives Microsoft Office 2007 Excel Chapter 1 Creating a Worksheet and an Embedded Chart Start and quit Excel Describe the Excel worksheet Enter text and numbers Use the Sum button to sum a range of

More information

Introduction to Personal Computing

Introduction to Personal Computing Introduction to Personal Computing Academic Computing Services www.ku.edu/acs Abstract: This document explains the basics of the Microsoft Windows operating system. It is intended for users who are either

More information

Beginning a presentation

Beginning a presentation L E S S O N 2 Beginning a presentation Suggested teaching time 40-50 minutes Lesson objectives To learn how to create and edit title and bullet slides, you will: a b c d Select slide types by using the

More information

Creating a Website with Publisher 2016

Creating a Website with Publisher 2016 Creating a Website with Publisher 2016 Getting Started University Information Technology Services Learning Technologies, Training & Audiovisual Outreach Copyright 2017 KSU Division of University Information

More information

CHAPTER 1 COPYRIGHTED MATERIAL. Getting to Know AutoCAD. Opening a new drawing. Getting familiar with the AutoCAD and AutoCAD LT Graphics windows

CHAPTER 1 COPYRIGHTED MATERIAL. Getting to Know AutoCAD. Opening a new drawing. Getting familiar with the AutoCAD and AutoCAD LT Graphics windows CHAPTER 1 Getting to Know AutoCAD Opening a new drawing Getting familiar with the AutoCAD and AutoCAD LT Graphics windows Modifying the display Displaying and arranging toolbars COPYRIGHTED MATERIAL 2

More information

Aurora Multi-image System Control Software. User Manual

Aurora Multi-image System Control Software. User Manual Aurora Multi-image System Control Software User Manual Product Information Model: Aurora Controller Software Version: V010200 Release Date: January 18th, 2017 Company OSEE TECHNOLOGY CO., LTD. Contact

More information

DIGITAL UNIX. Common Desktop Environment: Application Builder User s Guide. Digital Equipment Corporation Maynard, Massachusetts

DIGITAL UNIX. Common Desktop Environment: Application Builder User s Guide. Digital Equipment Corporation Maynard, Massachusetts DIGITAL UNIX Common Desktop Environment: Application Builder User s Guide Order Number: AA-QTM1A-TE March 1996 Product Version: DIGITAL UNIX Version 4.0 or higher Digital Equipment Corporation Maynard,

More information

NSCC SUMMER LEARNING SESSIONS MICROSOFT OFFICE SESSION

NSCC SUMMER LEARNING SESSIONS MICROSOFT OFFICE SESSION NSCC SUMMER LEARNING SESSIONS MICROSOFT OFFICE SESSION Module 1 Using Windows Welcome! Microsoft Windows is an important part of everyday student life. Whether you are logging onto an NSCC computer or

More information

Table of Contents The University of Akron These materials were developed and are owned by The University of Akron. All rights reserved.

Table of Contents The University of Akron These materials were developed and are owned by The University of Akron. All rights reserved. Table of Contents COURSE OVERVIEW... 2 CONVENTIONS USED IN THIS MANUAL... 3 LESSON 1: SYMBOLS... 4 INSERTING SYMBOLS... 4 USING AUTOCORRECT TO INSERT SYMBOLS... 5 TURN ON AUTOCORRECT... 5 LESSON 2: SPECIAL

More information

WINDOWS NT BASICS

WINDOWS NT BASICS WINDOWS NT BASICS 9.30.99 Windows NT Basics ABOUT UNIVERSITY TECHNOLOGY TRAINING CENTER The University Technology Training Center (UTTC) provides computer training services with a focus on helping University

More information

Microsoft PowerPoint 2013 Beginning

Microsoft PowerPoint 2013 Beginning Microsoft PowerPoint 2013 Beginning PowerPoint Presentations on the Web... 2 Starting PowerPoint... 2 Opening a Presentation... 2 File Tab... 3 Quick Access Toolbar... 3 The Ribbon... 4 Keyboard Shortcuts...

More information

At the shell prompt, enter idlde

At the shell prompt, enter idlde IDL Workbench Quick Reference The IDL Workbench is IDL s graphical user interface and integrated development environment. The IDL Workbench is based on the Eclipse framework; if you are already familiar

More information

Tutorials. Lesson 3 Work with Text

Tutorials. Lesson 3 Work with Text In this lesson you will learn how to: Add a border and shadow to the title. Add a block of freeform text. Customize freeform text. Tutorials Display dates with symbols. Annotate a symbol using symbol text.

More information

Using Windows 7 Explorer By Len Nasman, Bristol Village Computer Club

Using Windows 7 Explorer By Len Nasman, Bristol Village Computer Club By Len Nasman, Bristol Village Computer Club Understanding Windows 7 Explorer is key to taking control of your computer. If you have ever created a file and later had a hard time finding it, or if you

More information

Word Select New in the left pane. 3. Select Blank document in the Available Templates pane. 4. Click the Create button.

Word Select New in the left pane. 3. Select Blank document in the Available Templates pane. 4. Click the Create button. Microsoft QUICK Word 2010 Source Getting Started The Word Window u v w x z Opening a Document 2. Select Open in the left pane. 3. In the Open dialog box, locate and select the file you want to open. 4.

More information

Lesson 1 New Presentation

Lesson 1 New Presentation Powerpoint Lesson 1 New Presentation 1. When PowerPoint first opens, there are four choices on how to create a new presentation. You can select AutoContent wizard, Template, Blank presentation or Open

More information

Excel 2010: Getting Started with Excel

Excel 2010: Getting Started with Excel Excel 2010: Getting Started with Excel Excel 2010 Getting Started with Excel Introduction Page 1 Excel is a spreadsheet program that allows you to store, organize, and analyze information. In this lesson,

More information

DRAFT. Table of Contents About this manual... ix About CuteSITE Builder... ix. Getting Started... 1

DRAFT. Table of Contents About this manual... ix About CuteSITE Builder... ix. Getting Started... 1 DRAFT Table of Contents About this manual... ix About CuteSITE Builder... ix Getting Started... 1 Setting up... 1 System Requirements... 1 To install CuteSITE Builder... 1 To register CuteSITE Builder...

More information

Excel Select a template category in the Office.com Templates section. 5. Click the Download button.

Excel Select a template category in the Office.com Templates section. 5. Click the Download button. Microsoft QUICK Excel 2010 Source Getting Started The Excel Window u v w z Creating a New Blank Workbook 2. Select New in the left pane. 3. Select the Blank workbook template in the Available Templates

More information

INTRODUCTION TO COMPUTER CONCEPTS CSIT 100 LAB: MICROSOFT POWERPOINT (Part 2)

INTRODUCTION TO COMPUTER CONCEPTS CSIT 100 LAB: MICROSOFT POWERPOINT (Part 2) INTRODUCTION TO COMPUTER CONCEPTS CSIT 100 LAB: MICROSOFT POWERPOINT (Part 2) Adding a Text Box 1. Select Insert on the menu bar and click on Text Box. Notice that the cursor changes shape. 2. Draw the

More information

GUARD1 PLUS Documentation. Version TimeKeeping Systems, Inc. GUARD1 PLUS and THE PIPE are registered trademarks

GUARD1 PLUS Documentation. Version TimeKeeping Systems, Inc. GUARD1 PLUS and THE PIPE are registered trademarks GUARD1 PLUS Documentation Version 3.02 2000-2005 TimeKeeping Systems, Inc. GUARD1 PLUS and THE PIPE are registered trademarks i of TimeKeeping Systems, Inc. Table of Contents Welcome to Guard1 Plus...

More information

Welcome Application. Introducing the Visual Studio.NET IDE. Objectives. Outline

Welcome Application. Introducing the Visual Studio.NET IDE. Objectives. Outline 2 T U T O R I A L Objectives In this tutorial, you will learn to: Navigate Visual Studio.NET s Start Page. Create a Visual Basic.NET solution. Use the IDE s menus and toolbars. Manipulate windows in the

More information

Get Started. Estimating Explorer

Get Started. Estimating Explorer Get Started Estimating Explorer NOTICE This document and the Sage Timberline Office software may be used only in accordance with the accompanying Sage Timberline Office End User License Agreement. You

More information

Section 5. Pictures. By the end of this Section you should be able to:

Section 5. Pictures. By the end of this Section you should be able to: Section 5 Pictures By the end of this Section you should be able to: Use the Clip Gallery Insert and Delete Pictures Import Pictures Move, Resize and Crop Pictures Add Borders and Colour Wrap Text around

More information

Severe Weather Safety PSA

Severe Weather Safety PSA Contents Add Text 2 Format Text 3 Add Stickers 4 Resize Stickers 8 Change the Color of the Canvas 9 Name the Project 12 Add a Page 12 Practice Adding and Formatting Text 13 Use the Paint Brush Tool 14

More information

Create a Scrolling Effect in PowerPoint 2007

Create a Scrolling Effect in PowerPoint 2007 Create a Scrolling Effect in PowerPoint 2007 You have a large image, document, etc. that you d like to show in your presentation and you d like to be able to scroll through it with the ability to control

More information

Part I. Integrated Development Environment. Chapter 2: The Solution Explorer, Toolbox, and Properties. Chapter 3: Options and Customizations

Part I. Integrated Development Environment. Chapter 2: The Solution Explorer, Toolbox, and Properties. Chapter 3: Options and Customizations Part I Integrated Development Environment Chapter 1: A Quick Tour Chapter 2: The Solution Explorer, Toolbox, and Properties Chapter 3: Options and Customizations Chapter 4: Workspace Control Chapter 5:

More information

Lesson 5: Review and Deliver Presentations Microsoft PowerPoint 2016 IN THIS CHAPTER, YOU WILL LEARN HOW TO

Lesson 5: Review and Deliver Presentations Microsoft PowerPoint 2016 IN THIS CHAPTER, YOU WILL LEARN HOW TO Lesson 5: Review and Deliver Presentations Microsoft PowerPoint 2016 IN THIS CHAPTER, YOU WILL LEARN HOW TO Set up presentations for delivery. Preview and print presentations. Prepare speaker notes and

More information

Legal Notes. Regarding Trademarks KYOCERA MITA Corporation

Legal Notes. Regarding Trademarks KYOCERA MITA Corporation Legal Notes Unauthorized reproduction of all or part of this guide is prohibited. The information in this guide is subject to change without notice. We cannot be held liable for any problems arising from

More information

Introduction. Getting Started. Selecting a Template. 1 of 1

Introduction. Getting Started. Selecting a Template. 1 of 1 1 of 1 Introduction Visual materials are one of the most effective means of communicating a message. They can give a presentation a professional quality. Visuals help a speaker to be well prepared, organized,

More information

Part 1: Understanding Windows XP Basics

Part 1: Understanding Windows XP Basics 542362 Ch01.qxd 9/18/03 9:54 PM Page 1 Part 1: Understanding Windows XP Basics 1: Starting Up and Logging In 2: Logging Off and Shutting Down 3: Activating Windows 4: Enabling Fast Switching between Users

More information

Corel Ventura 8 Introduction

Corel Ventura 8 Introduction Corel Ventura 8 Introduction Training Manual A! ANZAI 1998 Anzai! Inc. Corel Ventura 8 Introduction Table of Contents Section 1, Introduction...1 What Is Corel Ventura?...2 Course Objectives...3 How to

More information

Status Bar: Right click on the Status Bar to add or remove features.

Status Bar: Right click on the Status Bar to add or remove features. Excel 2013 Quick Start Guide The Excel Window File Tab: Click to access actions like Print, Save As, etc. Also to set Excel options. Ribbon: Logically organizes actions onto Tabs, Groups, and Buttons to

More information

Microsoft Windows 7 - Illustrated Unit A: Introducing Windows 7

Microsoft Windows 7 - Illustrated Unit A: Introducing Windows 7 Microsoft Windows 7 - Illustrated Unit A: Introducing Windows 7 Objectives Start Windows and view the desktop Use pointing devices Use the Start button Use the taskbar Work with windows 2 Objectives Use

More information

IBM Rational Rhapsody Gateway Add On. User Guide

IBM Rational Rhapsody Gateway Add On. User Guide User Guide Rhapsody IBM Rational Rhapsody Gateway Add On User Guide License Agreement No part of this publication may be reproduced, transmitted, stored in a retrieval system, nor translated into any

More information

NiceForm User Guide. English Edition. Rev Euro Plus d.o.o. & Niceware International LLC All rights reserved.

NiceForm User Guide. English Edition. Rev Euro Plus d.o.o. & Niceware International LLC All rights reserved. www.nicelabel.com, info@nicelabel.com English Edition Rev-0910 2009 Euro Plus d.o.o. & Niceware International LLC All rights reserved. www.nicelabel.com Head Office Euro Plus d.o.o. Ulica Lojzeta Hrovata

More information

Microsoft Word 2007 on Windows

Microsoft Word 2007 on Windows 1 Microsoft Word 2007 on Windows Word is a very popular text formatting and editing program. It is the standard for writing papers and other documents. This tutorial and quick start guide will help you

More information

Chapter11 practice file folder. For more information, see Download the practice files in this book s Introduction.

Chapter11 practice file folder. For more information, see Download the practice files in this book s Introduction. Make databases user friendly 11 IN THIS CHAPTER, YOU WILL LEARN HOW TO Design navigation forms. Create custom categories. Control which features are available. A Microsoft Access 2013 database can be a

More information

A QUICK TOUR OF ADOBE ILLUSTRATOR CC (2018 RELEASE)

A QUICK TOUR OF ADOBE ILLUSTRATOR CC (2018 RELEASE) A QUICK TOUR OF ADOBE ILLUSTRATOR CC (2018 RELEASE) Lesson overview In this interactive demonstration of Adobe Illustrator CC (2018 release), you ll get an overview of the main features of the application.

More information

Recipes4Success. Animate Plant Growth. Share 4 - Animation

Recipes4Success. Animate Plant Growth. Share 4 - Animation Recipes4Success In this Recipe, you will create an animated science diagram of plant growth. You will learn how to add images, draw shapes, use the animation options, preview, and publish your project.

More information

Microsoft Word

Microsoft Word OBJECTS: Shapes (part 1) Shapes and the Drawing Tools Basic shapes can be used to graphically represent information or categories. The NOTE: Please read the Objects (add-on) document before continuing.

More information

Inserting Information into PowerPoint

Inserting Information into PowerPoint LESSON 6 6.1 Inserting Information into PowerPoint After completing this lesson, you will be able to: Change the layout of a slide. Insert a clip art image. Scale an image. Insert and format a table. Insert

More information

Creating Web Pages with SeaMonkey Composer

Creating Web Pages with SeaMonkey Composer 1 of 26 6/13/2011 11:26 PM Creating Web Pages with SeaMonkey Composer SeaMonkey Composer lets you create your own web pages and publish them on the web. You don't have to know HTML to use Composer; it

More information

Microsoft Excel 2007

Microsoft Excel 2007 Learning computers is Show ezy Microsoft Excel 2007 301 Excel screen, toolbars, views, sheets, and uses for Excel 2005-8 Steve Slisar 2005-8 COPYRIGHT: The copyright for this publication is owned by Steve

More information

Introduction to Microsoft Publisher

Introduction to Microsoft Publisher Introduction to Microsoft Publisher Day One Agenda: Introduction Templates Layout Inserting and Formatting Text Inserting and Formatting Pictures Practice, Questions Day Two Agenda: Review Day One Tables

More information

Study Guide. PCIC 3 B2 GS3- Key Applications-Excel. Copyright 2010 Teknimedia Corporation

Study Guide. PCIC 3 B2 GS3- Key Applications-Excel. Copyright 2010 Teknimedia Corporation Study Guide PCIC 3 B2 GS3- Key Applications-Excel Copyright 2010 Teknimedia Corporation Teknimedia grants permission to any licensed owner of PCIC 3 B GS3 Key Applications-Excel to duplicate the contents

More information

You might think of Windows XP as a set of cool accessories, such as

You might think of Windows XP as a set of cool accessories, such as Controlling Applications under Windows You might think of Windows XP as a set of cool accessories, such as games, a calculator, and an address book, but Windows is first and foremost an operating system.

More information

PowerPoint Essentials

PowerPoint Essentials Lesson 1 Page 1 PowerPoint Essentials Lesson Skill Matrix Skill Exam Objective Objective Working with an Existing Change views of a Insert text on a slide. 1.5.2 2.1.1 Software Orientation Normal View

More information

Computer Basics Written by Brian O'Rooney. Copyright 2000 Nanaimo Literacy Association All rights reserved

Computer Basics Written by Brian O'Rooney. Copyright 2000 Nanaimo Literacy Association All rights reserved Written by Brian O'Rooney Copyright 2000 Nanaimo Literacy Association All rights reserved Windows is a registered trademark of Microsoft Corporation. This product/publication includes images from WordPerfect

More information

Power Point 2000 Level 1

Power Point 2000 Level 1 Introduction Opening PowerPoint, Using the AutoContent Wizard, Window Elements, Working in the Outline and Slide Window Panes, Understanding Different Views, and Saving the Presentation. Contents Introduction

More information

Microsoft Word Part I Reference Manual

Microsoft Word Part I Reference Manual Microsoft Word 2002 Part I Reference Manual Instructor: Angela Sanderson Computer Training Coordinator Updated by: Angela Sanderson January 11, 2003 Prepared by: Vi Johnson November 20, 2002 THE WORD SCREEN

More information