| This page is being adapted from [this |
| presentation](http://www.eclipse.org/osee/OSEE_eclipsecon2009_tutorial_slides.pdf). |
| |
| It is recommended that this tutorial be viewed in a roughly half-width |
| browser window. |
| |
| ## Requirements |
| |
| ### System Requirements |
| |
| OSEE requires a system with at least 1GB of RAM running JRE 1.6 or |
| higher. Microsoft Office is useful for the demo. |
| |
| ### Eclipse Dependencies |
| |
| The following Eclipse dependencies are required, although it is easiest |
| to simply use the [Ganymede |
| Eclipse](http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/SR2/eclipse-reporting-ganymede-SR2-win32.zip) |
| install. |
| |
| - Eclipse 3.4.2 SDK |
| - org.eclipse.gef |
| - org.eclipse.draw2d |
| - org.eclipse.birt |
| - org.eclipse.datatools |
| |
| ## Installation |
| |
| ### Database |
| |
| Install [PostgreSQL](http://www.postgresql.org/download/) using the |
| following settings: |
| |
| - Default install path and data directory |
| - Password "Postgre1" |
| - Port 5432 |
| - Default locale |
| - On the final screen, ensure that "Launch Stack Builder" is not |
| selected |
| |
| After saving the database password using pgadmin, run the |
| osee_db_setup script, which is located under the "PostgreSql" folder. |
| |
| [More on PostgreSQL |
| installation](http://www.eclipse.org/osee/documentation/installation/postgresql_install.php) |
| |
| ### Java Runtime Environment (JRE) |
| |
| Ensure that the directory in which the JRE is installed is in the path |
| by typing "java --version" at a command prompt. |
| |
| ### OSEE Client |
| |
| Extract and launch Eclipse. From the update manager, install the update |
| sites located under "OseeClient": |
| |
| - org.eclipse.osee_integration_build_incubation.zip |
| - osee.add.ons.updatesite.zip osee.add.ons.updatesite.zip |
| |
| ## Initialization |
| |
| ### Launch Application Server |
| |
| Execute the osee_app_server script located under |
| "OseeApplicationServer" and wait until the server finishes the start up |
| procedure before closing the console. |
| |
| ### Database Initialization |
| |
| In a command prompt, change to the Eclipse install directory and execute |
| the following command: |
| |
| eclipsec -application org.eclipse.osee.framework.database.configClient -vmargs -Xmx512m |
| -Dosee.log.default=INFO -Dosee.application.server=http://localhost:8089 |
| -Dosee.authentication.protocol=trustAll -Dosee.prompt.on.db.init=false |
| -Dosee.choice.on.db.init="OSEE Demo Database" |
| |
| Once db init closes, type "exit" in the server console. |
| |
| ### Populate Demo Data |
| |
| Launch the Application Server and then the OSEE client with the |
| following command: |
| |
| eclipse -vmargs -Xmx512m |
| -Dosee.application.server=http://localhost:8089 |
| -Dosee.authentication.protocol=demo |
| |
| Switch to the ATS perspective (**Window \> Open Perspective \> ATS**); |
| in the ATS Navigator window, enter "Populate" as the filter and press |
| Enter, then double click on the "Populate Demo Actions" item. |
| |
| # Case Study |
| |
| ## Scenario |
| |
| User Joe Smith finds a problem in a requirement impacting multiple |
| teams, namely Code, Test, Website, and IT. Multiple reviews will be |
| needed: |
| |
| - Decision Review (off Code Team Workflow) |
| - Peer Review (off Test Team Workflow) |
| |
| In addition, certain tasks will need to be performed off Code Team |
| Workflow. |
| |
| ## Dramatis Personae |
| |
| - Joe Smith |
| Project Engineer (Requirements and Code) |
| - Alex Kay |
| Project Manager |
| - Kay Jones |
| Test Engineer |
| |
| ## Requirements Search |
| |
|  |
|  |
| |
| - Switch to the Define perspective (**Window \> Open Perspective \> |
| Define**). |
| - In the Artifact Explorer, click **Select Branch...** |
| - Select "SAW_Bld_2" |
| - Click "OK" |
| - Search for Item: |
| - Click on the **Quick Search** view |
| - Select the "SAW_Bld_2" branch |
| - Enter "robot object" in the search string text box |
| - Check the **Match Word Order** option |
| - Check the **All Match Locations** option |
| - Click the search button |
| |
| ## Exploring the requirement |
| |
| The search results will be listed in a tree or list view with match |
| locations. We want to explore the robot object requirement. From the |
| search result *list* (not tree), |
| |
| - Right click on the "Robot Object" software requirement |
| - Select each of the following from the pop-up menu individually |
| - Reveal Artifact in Explorer |
| - Resource History |
| - Open With \> Artifact Editor |
| - Open the **Attribute** tab |
| - Open the **Relation** tab |
| - Open with \> MS Word Preview |
| - Convert file from XML Document |
| - Sky Walker |
| - Here, we can see how the "Robot Object" software requirement |
| relates to other artifacts. |
| |
| ## Requirements Team Workflow |
| |
| We want to create an action against the "Robot Object Requirement." |
|  |
| |
| - Switch to the ATS Perspective (**Window \> Open Perspective \> |
| ATS**). |
| - Click on the New Action icon () in the **ATS Navigator**. |
| - Fill in the **Create ATS Action Dialog** |
| - Enter "Robot Object requirement needs more detail" as the |
| **Title** |
| - Select "SAW Requirements" (under "SAW CSCI") as the |
| **Actionable Item** |
| - Click **Next** |
| - Fill in the fields as follows: |
| - **Description**: "See title" |
| - **Change Type**: "Problem" |
| - **Priority**: "3" |
| - **User Community**: "Program_1" |
| - Click **Finish**. This will generate a Requirements Team |
| Workflow for the necessary requirements changes. Joe Smith will |
| automatically be assigned the position of Team Lead. |
| |
| ### Endorse |
| |
| The Requirements Team Lead (Joe) has approved the Requirement Team |
| Workflow and wants to transition to analysis. |
| |
| - Set the **Target Version** to SAW_Bld_2. |
| - Change **Priority** to 2. |
| - Transition to the "Analyze" state. |
| - This is where the lead would normally assign another user to |
| complete the work; however, we will not change the assigned user |
| for the demo. |
| |
| ### Analyze |
| |
|  |
|  Here, Joe (as the Requirements |
| Developer) wants to analyze the action. |
| |
| - Input "Fix It" as the **Proposed Resolution** |
| - Set **Estimated Hours** to "2.5". |
| - As this change will impact Code as well as Test, we will add |
| corresponding workflows for each. |
| - Click on the **Actionable Items** hyperlink |
| - Select "SAW Code" |
| - Select "SAW Test" |
| - Click **OK**. The **Action View** will now show new workflows. |
| Email notifications have been sent to the team leads. |
| - Transition to "Authorize". |
| |
| ### Authorize |
| |
| Here, the Requirements Team Lead (Joe again) authorizes the Action. |
| |
| - Input "A324324A" as the **Work Package**. |
| - Since the Team Lead needs concurrence from Kay (the Manager), a |
| decision review is needed. |
| - Click the **Add Decision Review** hyperlink. |
| - Fill-in the **Create Decision Review** dialog: |
| - **Review Title**: "Any Problems with authorizing this?" |
| - **Associated state**: "Authorize" |
| - Click **OK** |
| |
| #### Decision Review |
| |
| ##### Prepare |
| |
| Here, the Requirements Lead prepares the review: |
| |
| - Set **Review Blocks** to "Transition" |
| - Set **Estimated Hours** to 3 |
| - Click **Assignee(s)** |
| - Select "Alex Kay" |
| - Transition the review to "Decision" |
| |
| ##### Complete |
| |
| First, Alex Kay has to check his assigned work. |
| |
| - In the **ATS Navigator**, double click on **My World** and select |
| Alex Kay as the user. |
| - From Alex Kay's **User's World**, select the "Decision Review" |
| - Alex Kay decides "yes;" we will simulate this with a **Privileged |
| Edit**. |
| - Click the Privileged Edit icon |
| (). |
| - Click **Override and Edit**. |
| - Select "Yes" as the **Decision**. |
| - Transition the Review to "Completed". |
| |
| ### Authorize (cont'd) |
| |
| Note that before Alex Kay had completed the decision review, Joe was not |
| able to transition to the next state. |
| |
| - Transition to "Implement". |
| |
| ## Implementing a Change |
| |
|   |
|  |
| |
| - From the Implement State, select the **Create Working Branch** icon |
| (), then click **OK**. |
| - In the **Artifact Explorer**, click **Select Branch**. |
| - Select the working branch just created. Its author is "Joe |
| Smith" and its comment field reads "New Branch from SAW_Bld_2" |
| (see image). |
| - Navigate to and right click the "Robot Object" software |
| requirement. |
| - Alternatively, you can perform a **Quick Search**, but you |
| must remember to specify the working branch again or the |
| parent branch will be searched instead. |
| - From the context menu, select **Open With \> Artifact Editor**. |
| - Under the **Attributes** tab, change **Qualification Method** to |
| "Inspection" and save the file (**File \> Save**). |
| - From the **Artifact Editor**'s toolbar, select **Open With \> MS |
| Word Edit** (see image), and, if prompted, specify that Word is to |
| open the file as an XML document. |
| - Insert into the document the next "Need more information here." |
| - Save and close the document. The **Artifact Editor**'s Word |
| Template Content Attribute should update accordingly. |
| - Switch to the **Workflow Editor** and select the "Show Change |
| Report" icon |
| () from the toolbar immediately |
| above the **Commit Manager**. |
| - From the **Change Report View**, right click on the "Robot Object" |
| Software Requirement and select **View Word Change Report**. If |
| prompted, specify that the document should be opened as XML. A |
| document similar to the one shown on the right should appear, |
| highlighting the differences between the versions of the Artifact |
| found in the parent branch and the working branch. |
| - When finished, close MS Word. |
| - Double click the working branch in the **Commit Manager** to apply |
| changes to the parent branch. |
| - Transition to "Complete". |
| |
| ## Code Team Workflow |
| |
| Begin by opening the Code Workflow. This can be found using the **Show |
| all Team Workflows** view found in the **ATS Navigator**. The Workflow |
| in question has the title "Robot Object requirement needs more detail" |
| and is in the Endorse state with priority 2. |
| |
| ### Endorse |
| |
| - Enter "A234532" as the **Work Package**. |
| - Transition to "Analyze". |
| |
| ### Analyze |
| |
| - For **Estimated Hours**, enter "10". |
| - Click on the **Tasks** tab at the bottom of the View. |
| - Add a Task by clicking on the **New Task** icon |
| () on the toolbar. |
| - In the **Create New Task** dialog, enter "Do the first thing". |
| - Click **OK** to close the dialog. |
| - Double click on the new task to open the **Task Editor**. |
| - Click on **Assignee(s)** to assign a different user (it doesn't |
| matter which user). Enter the **Estimated Hours**. |
| - Close the **Task Editor**. |
| - The above steps can be repeated to add additional tasks as needed. |
| - Transition each task to the "Completed" state. |
| - Note that the workflow cannot be advanced until all tasks |
| associated with the Analyze state have been Completed. |
| - Transition the code team workflow to Authorize. |
| |
| ## Test Team Workflow |
| |
| Here, the Test Lead (Joe) estimates the work required for the test team |
| workflow. |
| |
| - Open the Test Team Workflow. If necessary, you can search for it in |
| the same manner as the Code Workflow. |
| - Since Kay Jones, the assignee for this workflow, is not in today, |
| Joe will need to get edit privileges to transition the workflow. |
| - Click on the Privileged Edit icon (second from the right) and |
| click on **Override and Edit** in the resulting dialog box. |
| - Transition to the "Analyze" state. |
| - Set **Estimated Hours** to "25". |
| |
| ## Metrics |
| |
| There are a number of different ways to extract / view metrics through |
| OSEE ATS. |
| |
| ### ATS Metrics Attributes |
| |
| ATS workflows have metrics attributes available |
| |
| - ats.Estimated Completion Date |
| - ats.Estimated Hours |
| - ats.Estimated Release Date |
| - ats.Created Date |
| - ats.Completed Date |
| - ats.Cancelled Date |
| - ats.Start Date |
| - ats.End Date |
| - ats.Percent Complete |
| |
| Created, Completed and Cancelled dates are set automatically as the |
| workflow moves through it's lifecycle. Other attributes can be set |
| through the Workflow Editor, World Editor or REST calls |
| |
| ### ATS Workflow Editor |
| |
| The Workflow editor has Percent Complete (editable), Estimated Hours |
| (editable), Total Hours Spent (computed) and Remaining Hours (computed). |
| The Team Workflow Percent Complete is broken into 2 values xx/yy (if |
| applicable). The xx will show the Percent Complete for the viewed |
| workflow. The yy value will show a roll-up computed percent complete of |
| Team Workflow, Tasks and Reviews. |
| |
| ### ATS Log |
| |
| Each workflow has an ats.Log that automatically stores events like |
| transitions, assignees and state hours spent. This log can be accessed |
| via the ATS State Manager and used to generate/export historical events |
| in the lifecycle of the workflows. |
| |
| ### ATS Metrics Tab |
| |
| "What this place needs is some metrics\!" Alex Kay, as Manager, needs a |
| status report. |
|   |
| |
| - From the **ATS Navigator**, select "My World". |
| - Click the rightmost icon on the toolbar to bring up a context menu. |
| Select **Re-display as WorkFlows**. \* Click on the **Metrics** tab |
| (at the bottom) to open the Metrics Page. |
| - Set **Estimated Release Date** to two days from now. |
| |
| Joe Smith will finish on time, as the estimate of remaining hours in his |
| workflows is well within the remaining time to release; Kay Jones, on |
| the other hand, won't make it. </br> |
| |
| ### Peer Review Metrics |
| |
| Out of the box, OSEE Review provides the "Generate Participation Report" |
| which can be run for any OSEE user. This will show what peer reviews a |
| user has done. |
| |
| ### Other Attributes |
| |
| As with all of OSEE, other attributes can be added to workflows to store |
| any data necessary for other metrics and added to the Workflow Editor |
| and World Editor. |
| |
| ## Peer Review |
| |
| Joe, a Code Developer, has realized that he needs a peer review for |
| Analysis. |
| |
| - Add a Peer-To-Peer Review |
| - Click on the **Add Peer to Peer Review** hyperlink, which can be |
| found near the bottom of the page by **"Analyze" State |
| Reviews**. |
| - In the **Add Peer to Peer Review** dialog, select the "Analyze" |
| state and click **OK**. |
| - Add Reviewers |
| - Click on the New Role icon (in the toolbar in the upper right of |
| the **Role** pane, it is the leftmost icon) twice to add two new |
| reviewers. |
| - Set one of the roles to "Author" and the other to "Reviewer". |
| - Edit the **Role** field by clicking on the field while |
| pressing the ALT key. |
| - Set **Location** to "That.java; This.java" |
| - Set **Blocking** to "Transition" |
| - Set **Estimated Hours** to "2" |
| - Transition to "Review" |
| |
| ## Tool Team Workflow |
| |
| Joe realizes that the change will affect the Tools Team. |
| |
| - Select the "Actionable Items" hyperlink from the top of the SAW Code |
| Workflow. |
| - Select "Website" (under "Tools") from the **Add Impacted |
| Actionable Items** dialog. |
| - Workflows are created for the Website Team. |