1 Introduction to the Eclipse Process Framework. Made available under EPL v1.0 2 EPF is an Open Source project within the Eclipse Foundation The goals.

Slides:



Advertisements
Similar presentations
Rational Unified Process®
Advertisements

Copyright © , Armstrong Process Group, Inc., and others All rights reserved Made available under EPL v1.01 Project Management Review Eclipse Process.
Armstrong Process Group, Inc. Copyright © , Armstrong Process Group, Inc., All rights reserved Armstrong Process Group,
Armstrong Process Group, Inc. Copyright © , Armstrong Process Group, Inc., and others All rights reserved Armstrong Process.
Interaction Design: Visio
Implementing Autodesk Inventor in Your Company MA405-1
SYSE 802 John D. McGregor Module 2 Session 2 Method Tailoring.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Static Structure: Process Description
® IBM Software Group © 2007 IBM Corporation Modeling Software Engineering Processes using Eclipse Process Framework Composer (EPFC) / Rational Method Composer.
Rational Rose Basics Visual Modeling Textbook – Chapter 3
Eclipse Process Framework Plugin example: documents & maps generation
Using Microsoft Outlook: Basics. Objectives Guided Tour of Outlook –Identification –Views Basics –Contacts –Folders –Web Access Q&A.
9.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft Windows Server 2003 Active Directory Infrastructure.
Made available under EPL v1.01 Introduction to EPF Agenda The EPF Project OpenUP Overview SPEM 2.0 – Basic Concepts –Basic Concepts –Advanced Concepts.
1 IBM Software Group ® PRJ270: Essentials of Rational Unified Process Module 5: Tailoring RUP.
Ontologies Reasoning Components Agents Simulations The Eclipse Process Framework Breno Machado.
® IBM Software Group © 2009 IBM Corporation Rational Publishing Engine RQM Multi Level Report Tutorial David Rennie, IBM Rational Services A/NZ
| | Tel: | | Computer Training & Personal Development Microsoft Office PowerPoint 2007 Expert.
| | Tel: | | Computer Training & Personal Development Microsoft Office Publisher 2007 Expert.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
CPSC 372 John D. McGregor Process Module 1 Session 1.
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
Systems Module Slide 2 – Overview and Navigation
Moodle (Course Management Systems). Managing Your class In this Lecture, we’ll cover course management, including understanding and using roles, arranging.
Hyper/J and Concern Manipulation Environment. The need for AOSD tools and development environment AOSD requires a variety of tools Life cycle – support.
10/18/2015 NORTEL NETWORKS CONFIDENTIAL – FOR TRAINING PURPOSES ONLY Global Documentation Evolution System Overview and End-to-End Process Training.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
Systems Analysis and Design in a Changing World, 3rd Edition
An Introduction to Designing and Executing Workflows with Taverna Aleksandra Pawlik materials by: Katy Wolstencroft University of Manchester.
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Introduction to Android (Part.
1 Introduction to the Eclipse Process Framework. 2.
© 2010 IBM Corporation What’s New in RSA 8.0 Beta 1 – Deployment modeling March, 2010.
Database Applications – Microsoft Access Lesson 1 Introduction 26 Slides in Presentation Updated 8/12.
1 of 5 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
November 25, 2015 © IBM Corporation Unified Method Framework (UMF) RMC Reference Architecture Overview Kelli Houston
Analysis Modeling CpSc 372: Introduction to Software Engineering
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
CPSC 871 John D. McGregor Process – an introduction Module 0 Session 3.
CPSC 372 John D. McGregor More EPF Module 2 Session 4.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with IBM Rational Software Architect, V7.5 Module 18: Applying Patterns and Transformations.
Microsoft Office 2013 Try It! Chapter 4 Storing Data in Access.
Subscribers – List Model
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
Made available under EPL v1.01 Introduction to EPF Agenda The EPF Project. OpenUP Overview SPEM 2.0 – Basic Concepts –Basic Concepts –Advanced Concepts.
V7 Foundation Series Vignette Education Services.
Comparison between EPF Composer and Rational Method Composer
CPSC 872 John D. McGregor Session 13 Process. Specification and design problem solution specification implementation specification.
© 2012 IBM Corporation 12/19/2013 Rational Team Concert – User Administration Bruce Besch.
5-4b. Eclipse Process Framework (EPF) Tutorial / Exercise
Internet Made Easy! Make sure all your information is always up to date and instantly available to all your clients.
John D. McGregor Process Module 1 Session 1
DSEEP process authoring made easy
IBM Rational Rhapsody Advanced Systems Training v7.5
John D. McGregor Eclipse Process Framework Module 2 Session 4
Unified Modeling Language
Introduction to Eclipse Process Framework: EPF Composer and OpenUP
COSC-4840 Software Engineering
Template library tool and Kestrel training
Analysis models and design models
Overview of Oracle Site Hub
Rational Publishing Engine RQM Multi Level Report Tutorial
Chapter 22 Object-Oriented Systems Analysis and Design and UML
MS Confidential : SharePoint 2010 Developer Workshop (Beta1)
Presentation transcript:

1 Introduction to the Eclipse Process Framework

Made available under EPL v1.0 2 EPF is an Open Source project within the Eclipse Foundation The goals of EPF are to provide: –An extensible framework and tooling for authoring, configuring and publishing processes –Exemplary processes - first delivered is OpenUP EPF Project initiated in January EPF is NOT: –Only applicable for Eclipse Java development. –Intended to create the “perfect process” The EPF Project: Overview

Made available under EPL v1.0 3 The EPF Project: Two Audiences Process Authors and Coaches (Process Management Team) –Tooling for creating and publishing processes –Foundational process for starting point –Libraries of additional content that can be plugged-in Process Consumers (Project Team) –Published website of process content for simple browsing –Guidance in the form of checklists, concepts, guidelines –Browse the content adapted to your experience level

4 SPEM 2.0

5 EPF uses SPEM 2.0 SPEM = Software Process Engineering Meta-model Although the title implies Software Processes, any process can be represented using SPEM.

6 Basic Concepts – Method Library Method Library –All Method Elements are stored in a Method Library Method Plug-in –A Method Plug-in represents a physical container for Method Packages and Process Packages. It defines a largest granularity level for the modularization and organization of method content and processes. Method Configuration –a logical subset of a Method Library Delivery Process –a complete and integrated approach for performing a specific type of project. Base Concepts Plug-in OpenUP Plug-in DSDM Plug-in for OpenUP depends on extends OpenUP Library

Made available under EPL v1.0 7 Basic Concepts - Method Library Libraries contain –Method plug-ins –Configurations The OpenUP library has: –Three method plug-ins base_concepts dsdm_openup openup –Two delivery processes Openup_DSDM openup_lifecycle –Two configurations OpenUP OpenUPDSDM

Made available under EPL v1.0 8 Basic Concepts – Method Content, Process Method Content (Who, What, Why, How) –Highly re-useable information –Definition of Roles, Tasks, Work Products and associated relationships –Includes Guidance and Categories –No timing information Process (When) –Sequence of Phases, Iterations, Activities and Milestones that define the development lifecycle. –Defines When tasks are performed via Activity Diagrams and/or Work Breakdown Structures

9 SPEM 2.0 Method Content

Made available under EPL v Basic Concepts - Role Roles define a set of related skills, competencies and responsibilities. Roles are not individuals Individuals on the development team may play multiple roles. Roles Perform Tasks Roles are Responsible for Work Products.

Made available under EPL v Basic Concepts – Work Product Work Products (in most cases) represent the tangible things used, modified or produced by a Task. Roles use Work Products to perform tasks and produce Work Products in the course of performing tasks. Work Products are the responsibility of a Role. There are three types of work products: Artifact: typically a configuration managed item Deliverable: required customer/stakeholder deliverable Outcome: “intangible” result of a task such as an installed server or tool.

Made available under EPL v Basic Concepts - Task A Task defines an assignable unit of work (usually a few hours to a few days in length). Tasks are performed by Roles (one primary, and optionally additional supporting roles). Tasks have a clear purpose, and provide step-by-step descriptions of the work that needs to be done to achieve the goal. Tasks modify or produce Work Products. Tasks do not define when they are performed in the lifecycle.

Made available under EPL v Basic Concepts - Guidance Guidance may be associate with Roles, Tasks, and Work Products. Different types of Guidance depending upon purpose. Use Guidance for detailed methodology and supporting information. This will simplify tailoring. –For example, Tasks should tell you “what” needs to be done, Guidelines provide detailed “how to”. Types of Guidance: Checklist Concept Example Guideline Estimate Considerations Practice Report Reusable Asset Roadmap Supporting Material Template Term Definition Tool Mentor Whitepaper

Made available under EPL v Basic Concepts – Guidance Examples Hmmm…so I need to plan the project? What’s Agile Estimation? What should be in the Project Plan? Walk me through planning? Show me an example. Did I forget anything?

Made available under EPL v Basic Concepts - Categories Categories –Used to group related method elements. –There are 5 Standard Categories Discipline: grouping of related tasks Domain: grouping of related WP Work Product Kind: similar to Domain Role Set: Grouping of related Roles Tool: Grouping of Tools –Categories may be nested –You can define your own Custom Categories –Elements can be categorized via their property editor, or via Category properties. –Used to build views in published website (we will see this later).

16 SPEM 2.0 Process Content

Made available under EPL v Basic Concepts: C apability Patterns Capability Patterns define the sequence of related Tasks, performed to achieve a greater purpose. Task can be specialized for the given context (ex. suppress steps, work products) Role Descriptor (instance of a Role) Task Descriptor (instance of Task) Work Product Descriptor (instance of a WP)

Made available under EPL v Basic Concepts: Capability Patterns Capability Patterns may be nested and viewed graphically An Activity is an instance of a Capability Pattern. Activity (instance of a capability pattern)

Made available under EPL v Basic Concepts: Delivery Process Defined using Work Breakdown Structures and/or Activity Diagrams. Defines end-end full- lifecycle process May include Iterations, Phases, Milestones (types of Activities) This is just one example, any other lifecycle can be defined.

Made available under EPL v Advanced Concepts: Method Variability Mechanism that allows you to customize method content without directly modifying the original content. Similar to inheritance in OO programming. –Permits re-use with specialization. For example, if plug-in B that extends elements in plug- in A: –Original elements in plug-in A are intact - all the changes are defined in your plug-in B Content variability is useful, for example: –To change the description of an existing role –To add steps to an existing task –To add guidance to an existing task, and so on.

Made available under EPL v Advanced Concepts: Method Variability There are four types of method variability: –Contribute: The contributing element adds content to the base element. Resulting published element is the base element + contributing element. –Extends: The contributing element inherits the content of the base element and specialized some or all of it. Both the base element and the extending element are published. –Replace: The replacing element replaces the base element. The resulting published element is the replacing element. –Extends-Replace: Similar to extends, however the base element is not published. *Examples taken from “Integrating Personal Practices into a Development Process” by Brian Lyons, NumberSix Software

Made available under EPL v Advanced Concepts Process Variability Similar re-use mechanism are available for Process content as well. In addition, Activities may also be created from CPs in the following ways: –Extends: The activity inherits the properties of the capability pattern. Updates to the capability pattern are automatically reflected in the activity (Green colour in WBS in EPF Composer). –Copy: An activity is created based on the capability pattern. It is not synchronized with the capability pattern (Black colour in WBS). –Deep Copy: Similar to copy, but applied recursively to activities. –Local Variability: When a capability pattern is defined (either by Extends or Copy) local variability may be done (ex. Suppress steps in a task descriptor, change performing role, etc.).

Made available under EPL v EPF Composer Introduction

EPF Composer 24

Made available under EPL v EPF Composer EPF Composer is built upon the Eclipse platform Supports many of the Eclipse plug-ins Different Views present specific information –For example, Library view shows plug-ins and their content Perspectives group related views to support a workflow Standard Perspectives are: –Authoring: for editing method content –Browsing: for previewing published elements

Made available under EPL v EPF Composer Authoring Perspective Library View Configuration View Task Editor (form based) Authoring Perspective

Made available under EPL v EPF Composer Authoring Perspective Form based plain text or… …Rich Text editors

Made available under EPL v EPF Composer Browsing Perspective Configuration View Preview View Browsing Perspective

Made available under EPL v Basic Concepts Configuration: Plug-in and Package Selection Select sub-set of method library for publishing to HTML or exporting to MS Project or XML Configurations Select Content

Made available under EPL v Basic Concepts Configuration: View Definition Categories group related elements Views defined by selecting Categories Standard Categories Custom Categories Define Views

Made available under EPL v Customization Scenario A In this scenario, you are going to leverage the existing content without major customizations. You have reviewed the OpenUP content and feel that it would meet your needs with a minor change to remove the visual modeling aspects of the process. You are going to create a new configuration – based on an existing one - then pick and choose content packages that make sense for your team. Let’s try it: Note: These are examples of customization scenarios. Not all possibilities have been explored due to lack of time for this tutorial.

Made available under EPL v Creating a Plug-in (1/2) Right-click on any existing element in the library –Select New Method Plug-in In the ‘Create a new method plug-in’ dialogue enter: –Name (lower case, no spaces) –Description (optional) –Author (optional) –Referenced Plug-ins ‘Referenced Plug-ins’ set the visibility to other plug- ins

Made available under EPL v Creating a Plug-in (2/2) New Plugin New plug-in created with default (empty) structure Editor opens to permit you to change/update the plug-in description.

Made available under EPL v Creating a Method Content Package (1/2) Right-click on the ‘Content Packages’ Node –Select ‘New Content Package’ The new package is created The editor will open

Made available under EPL v Creating a Method Content Package (2/2) New package created with default (empty) structure –Only appropriate type of element can be created under each node. Enter name (lower case, no spaces) and brief description. New Content Package

Made available under EPL v Creating a Task (1/2) Right-click on the ‘Tasks’ node in the desired content package –Select ‘New Task’ The new task is created The editor will open

Made available under EPL v Creating a Task (2/2) Each method element has two names: –Name: the internal name, maps to filename (lower case, no spaces) –Presentation Name: appears in published website New Task

Made available under EPL v Editing a Task The task editor has a number of tabs along the bottom edge: –Description: to capture general attributes of task and variability –Steps: to define the steps of the task –Roles: to define responsible roles for the task –Work Products: to define input/output work products for the task –Guidance: to associate guidance elements with the task –Categories: to categorize the task –Preview: to preview the task (NOTE: variability not resolved). Each tab has a form to capture attributes Some fields have Rich Text Editing Capability –Click the icon to open the RTE. –The Rich Text Editor also has a tab to view/edit HTML

Made available under EPL v Customization Scenario B In this scenario, you are going to add guidance for your team that is not part of the OOTB content. Your team wants to apply the CRC cards technique for representing design. You are going to create a new plug-in, create a contributing task (using the content variability concept introduced above) and add guidance on Class Responsibility Collaboration (CRC) cards technique. Let’s try it: Note: These are examples of customization scenarios. Not all possibilities have been explored due to lack of time for this tutorial.

Made available under EPL v Creating a Delivery Process (1/5) Right-click on the ‘Delivery Process’ node –Select New Delivery Process The ‘New Process Component’ dialogue will open. Enter: –Name (lower case, no spaces) –Default configuration

Made available under EPL v Creating a Delivery Process (2/5) New Delivery Process New Delivery Process is created Editor opens to permit you to change/update content

Made available under EPL v Creating a Delivery Process (3/5) The Delivery Process editor has a number of tabs along the bottom edge: –Description: to capture general attributes of process –WBS: to define activities of the process and their relationship –Team Allocation: to view and edit roles –Work Products Usage: to view and edit work products –Consolidated View: to view and edit roles, activities, work product roll-up Usually we don’t need to edit the last three, they are populated automatically when activities are added to the WBS. They can be edited if one wishes to specialize the activities.

Made available under EPL v Creating a Delivery Process (4/5) Drag/Drop capability patterns from the configuration view onto the WBS Select Extend, Copy, or Deep Copy (see next slide) Drag/Drop CP

Made available under EPL v Creating a Delivery Process (5/5) When adding a capability pattern to a delivery process you can: –Extend: This will maintain a link to the CP so that any updates to the CP will be reflected in your delivery process. –Copy: this will make a local copy of the CP. It will not be linked to the original CP. –Deep Copy: This is similar to copy, but applied recursively to sub-capability patterns. The most common is Extend. Copy and Deep Copy will increase maintenance overhead as updates must be made manually.

Made available under EPL v EPF Composer Publishing Configuration | Publish to start the Publish Method Wizard Various publishing options

Made available under EPL v Resulting Website

Made available under EPL v Customization Scenario C In this scenario, you will create a new delivery process for your software development lifecycle. You have reviewed the OpenUP delivery process and would rather follow a process that is more like the Scrum lifecycle. You realize that you can reuse existing method and process content from OpenUP plug-in and simply re- define the lifecycle. Let’s try it: Note: These are examples of customization scenarios. Not all possibilities have been explored due to lack of time for this tutorial.

Made available under EPL v EPF Composer Import File | Import to start the Import Wizard Can import a Configuration, a plug-in, or raw XML.

Made available under EPL v EPF Composer Export File | Export to start the Export Wizard Can export a Configuration, a plug-in, raw XML or MS Project Template