Ontologies Reasoning Components Agents Simulations The Eclipse Process Framework Breno Machado.

Slides:



Advertisements
Similar presentations
Basic SDLC Models.
Advertisements

Rational Unified 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.
Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Chapter 2 Approaches to System Development
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
SYSE 802 John D. McGregor Module 2 Session 2 Method Tailoring.
NAUG NAUG Knowledge Evening – th February 2007.
CS 325: Software Engineering January 15, 2015 Software Process & Methodology Prototyping Process Model Evolutionary Process Model Spiral Process Model.
Agile development By Sam Chamberlain. First a bit of history..
Static Structure: Process Description
IBM Business Consulting Services © Copyright IBM Corporation 2006 Unified Process March 27, 2006 Chris Armstrong.
® IBM Software Group © 2007 IBM Corporation Modeling Software Engineering Processes using Eclipse Process Framework Composer (EPFC) / Rational Method Composer.
SE 470 Software Development Processes James Nowotarski 21 April 2003.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Iterative development and The Unified process
COMP 350: Object Oriented Analysis and Design Lecture 2
Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software.
Software Engineering Lecture No:12. Lecture # 7
An Agile View of Process
Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis.
Enterprise Architecture
Developing Enterprise Architecture
Chapter 2: Approaches to System Development
CPSC 871 John D. McGregor Processes – a first iteration Module 1 Session 1.
UML - Development Process 1 Software Development Process Using UML (2)
Made available under EPL v1.01 Introduction to EPF Agenda The EPF Project OpenUP Overview SPEM 2.0 – Basic Concepts –Basic Concepts –Advanced Concepts.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Dr. Tom WayCSC Software Processes CSC 4700 Software Engineering.
CSE G674/2009 Project Project Management Section Presented by: Amir Aref Adib.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Current Trends in Systems Develpment
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
CPSC 372 John D. McGregor Process Module 1 Session 1.
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
IS Methodologies. Systems Development Life Cycle - SDLC Planning Planning define the system to be developed define the system to be developed Set the.
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.
1 Introduction to the Eclipse Process Framework. 2.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
2 Systems Analysis and Design in a Changing World, Fifth Edition.
K.Ingram 1 Sept 2007 Agile Software Development. K.Ingram 2 Sept 2007 Contents Agile Software Development: 1.What is it? 2.Agile’s Values, Principles,
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
November 25, 2015 © IBM Corporation Unified Method Framework (UMF) RMC Reference Architecture Overview Kelli Houston
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
CPSC 871 John D. McGregor Process – an introduction Module 0 Session 3.
CPSC 372 John D. McGregor More EPF Module 2 Session 4.
Agile Development Chapter 10 - part 2. Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown,
2 Systems Analysis – ITEC 3155 Systems Analysis Tasks.
Enterprise Architectures Course Code : CPIS-352 King Abdul Aziz University, Jeddah Saudi Arabia.
Enterprise Architectures. Core Concepts Key Learning Points: This chapter will help you to answer the following questions: What are the ADM phase names.
Made available under EPL v1.01 Introduction to EPF Agenda The EPF Project. OpenUP Overview SPEM 2.0 – Basic Concepts –Basic Concepts –Advanced Concepts.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Enterprise Architectures Course Code : CPIS-352 King Abdul Aziz University, Jeddah Saudi Arabia.
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
CPSC 872 John D. McGregor Session 13 Process. Specification and design problem solution specification implementation specification.
Process 4 Hours.
5-4b. Eclipse Process Framework (EPF) Tutorial / Exercise
DSEEP process authoring made easy
John D. McGregor Eclipse Process Framework Module 2 Session 4
Introduction to Eclipse Process Framework: EPF Composer and OpenUP
Approaches to Systems Development
COMP 350: Object Oriented Analysis and Design Lecture 2
Introduction to EPF Agenda
Presentation transcript:

Ontologies Reasoning Components Agents Simulations The Eclipse Process Framework Breno Machado

The Eclipse Process Framework  EPF is an Open Source project within the Eclipse Foundation  Goals:  An extensible framework and tooling for authoring, configuring and publishing processes  Exemplary Process – first delivered is OpenUP  EPF is NOT:  Only applicable for Eclipse Java development.  Intended to create the “perfect process”  EPF is based in SPEM 2.0 (Software Process Engineering Metamodel)

The Eclipse Process Framework  EPF is for 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

Basic Concepts - EPF  Method Library  All Method Elements are stored in a Method Library  Method Plug-in  Physical container for Method Packages and Process Packages  Method Configuration  A logical subset of a Method Library  Delivery Process  A complete and integrated approach for performing a specific type of project

Basic Concepts - EPF  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

Basic Concepts - EPF  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)  End-End 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

Method Content - EPF  Role  Set of related skills, competencies and responsabilities  Are NOT individuals  Individuals may play multiple roles  Perform Tasks  Are responsible for Work Products  Work Product  Tangible things used, modified or produced by a Task  Roles use and produce Work Product performing tasks  Are responsability of a Role  3 types  Artifact  Deliverable  Outcome  Task  Define a assignable unit of work  Perfomed by Roles  Describe a work step-by-step to achieve a goal.  Modify or produce Work Products  Don’t define WHEN they are performed in the lifecicle.

Method Content - EPF  Guidance  May be associate with Roles, Tasks and Work Products  Different types depending upon purpose  Detailed methodology and supporting information  Tasks say “what”  Guidance say “how-to”  Types:  Checklist  Concept  Example  Guideline  Estimate  Considerations  Practice  Report  Reusable Asset  Roadmap  Supporting Material  Template  Term Definition  Tool Mentor  Whitepaper  Categories  Group related method elements  Five Standard Categories  Discipline  Domain  Work Product Kind  Role Set  Tool  May be nested  Can define custom categories  Used to build views in published website

Process Content - EPF  Capability Patterns  Sequence of related tasks, performed to achieve a greater purpose  Tasks can be specialized for the given context Task Descriptor (instance of Task) Role Descriptor (instance of Role) Work Product Descriptor (instance of Work Product)

Process Content - EPF  Capability Patterns  Capability Patterns may be nested and viewed graphically  An Activity is an instance of a Capability Pattern Activity (Instance of Capability Patterns)

Process Content - EPF  Delivery Process  Defined using Work Breakdown Structure and/or Activity Diagrams  Define end-end full lifecycle process  May include Iterations, Phases, Milestones (type of Activity)

EPF Composer – Authoring Perspective Library View Configuration View Task Editor (form based) Authoring Perspective

EPF Composer – Authoring Perspective Form based plain text or… …Rich Text editors

EPF Composer Publishing

Processes Available as Reusable EPF Specification  EPF available s examples of process to use  OpenUP  SCRUM  XP 

Interesting Aspects of OpenUP Specified in EPF  “An Agile Inspired process with its roots in the UP”  An iterative software development process that is minimal, complete, and extensible  Minimal - Contains vital roles, tasks and guidance  Complete - Complete for small co-located teams  Extensible - Serves as a foundation that can be extended and tailored

OpenUP – Core Principles  OpenUP is based on a set of mutually supporting core principles:  Collaborate to align interests and share understanding  Evolve to continuously obtain feedback and improve  Balance competing priorities to maximize stakeholder value  Focus on articulating the architecture  OpenUP incorporates a number of agile practices…  Test-First Design  Continuous Integration  Agile Estimation  Daily Standup, Iteration Assessment, Iteration Retrospective  Self-organizing teams  …within the context of an iterative, incremental lifecycle (UP).

OpenUP – Project Lifecycle  OpenUP uses an iterative, incremental lifecycle.  Proper application of this lifecycle directly addresses the first core principle (Evolve).  The lifecycle is divided into 4 phases, each with a particular purpose and milestone criteria to exit the phase:  Inception: To understand the problem.  Elaboration: To validate the solution architecture.  Construction: To build and verify the solution in increments.  Transition: To transition the solution to the operational environment and validate the solution.

OpenUP - Disciplines  A discipline is a collection of tasks that are related to a major "area of concern" within the overall project.  Within the lifecycle, tasks are performed concurrently across several disciplines.  Separating tasks into distinct disciplines is simply an effective way to organize content that makes comprehension easier.  OpenUP defines the following Disciplines:

OpenUP - Roles  Roles define a set of related skills, competencies and responsibilities.  OpenUP defines the following Roles:

Interesting Aspects of XP Specified in EPF  eXtreme Programming is a development process that can be used by medium and small sized times in the face of vague or rapidly changing requirements.  Customer create “stories” that is a very lightweight use-cases  Development is done iteratively and incrementally  Every two weeks delivers working stories to the customer  Programmers work on their programming tasks in pairs

XP Values  Communication  XP emphasizes face-to-face communication  Simplicity  XP presumes that it is better to do the simple thing today  Feedback  Continuous feedback allows the customer to steer the project to success  Courage  Perhaps a better name for this value is trust

XP Practices

XP Roles

XP Work Products

Interesting Aspects of SCRUM Specified in EPF  Is a mechanism in the sport of rugby for getting an out-of-play ball back into play  Scrum focuses on the social and collective aspect of development  Scrum Goal is to improve quality and productivity, with an empirical approach, relying on autonomous teaming  Empirism  An empirical process requires a good visibility  2 regulation cycles  During Daily Scrums  During Sprint Reviews  Scope  not describe all the software development activities - analysis, design, coding, testing

SCRUM Lifecycle

SCRUM Roles

SCRUM Artifacts

SCRUM – Colaboration Points