INF5120 – Model-Based System Development - Forsiden · INF5120 – Model-Based System Development...
-
Upload
phungkhuong -
Category
Documents
-
view
220 -
download
1
Transcript of INF5120 – Model-Based System Development - Forsiden · INF5120 – Model-Based System Development...
ICT
INF5120 – Model-BasedSystem Development
Method Engineering, SoftwareProcess Frameworks, SPEM/EPF,ISO 24744, FACESEM/ESSENCE
11 March 2013
ICT
Outline
n Method Engineering (ME)n Why Software Development Methodology?n Software Process/Method Frameworks
n SPEM – Software & Systems Process EngineeringMetamodeln Eclipse Process Framework (EPF) Composer
n ISO 24744 – Software Engineering Metamodel forDevelopment Methodologies
n Essence – Kernel and Language for Software EngineeringMethodsn EssWork Practice Workbench
ICT
Challenges for system developers
n Interoperabilityn Increasing complexityn Effectiveness (shorter time to market)n Increasing quality requirementsn Understand the customer/market needsn Flexibilityn Technology independencen Maintainabilityn …
ICT
From problem domain to solution domain
Problem domain
Solution domain?
Solution domain – Web Services
Model
Model
ICT
n It is important to define the scope of a development.n Otherwise a good answer may be given, but to the wrong
question.n Scope: to the delivery point?n Or to the “end of life” for the system?
20% 80%
ANALYSIS ARCH. DESIGN IMPLEM. MAINT. & INTEGRATION
Deliv.
? ?
System scope
ICT
Activities
Techniques
Tools Skills
Roles
Standards
Quality Teams
Products
Project managerDocumenterDesignerTester
PlanningStaging
Testing
WorkshopsUse casesCRC cards
Regression testsObject modelProject planUse cases
Java Project3 month increments
UMLJEE
PrecisionAccuracy
Tolerance
Personality
Methodology gives the Who, What, Whenof key interactions between people
ICT
Role of the software processProduct
People Technology
Process
Environment
The software process ties people and technology togetherto develop software products in a specific environment.
ICT
envisioning proposal sales setup requirements design & code test deploy train alter
Project Lifecycle
designer/programmer
writertester
reuse pointUI expertlead designerbusiness expertexpert userproject managerproject sponsor
trainersecretarycontractornight watchmanjanitor
Rol
esrest and recreation
project developmenttimesheets
technical educationvacations and basic business
Scope of a methodology
ICT
Problem Size
LightweightmethodologyN
umbe
r of P
eopl
e N
eede
d
Medium weightmethodology
Heavyweightmethodology
Lighter methodologies are more effective,but have limits
ICT
Today’s process aids landscape
Just how different are all these process aids when itcomes to helping people get their job done?
11
The 4thSemat
ICT
Method engineering process
ModularMethod Description
C1.1 C1.2C1.3
C1.4 C1.5
C1.1 C1.2C1.3
C1.4 C1.5
Method chunksRepository
C6.3C6.3C1.1C1.1
CN.5CN.5C4.3C4.3
C1.3C1.3
C4.3
Situational Method
C1.2
CN.3
C2.5
C6.2
C4.1C1.2
CN.3
C2.5
C6.2
C4.1
Method reengineeringguidelines
Method chunksselection
and assemblyguidelines
I. Reengineeringof methods intomethod chunks
Storage ofthe method chunksin a methodchunks repository
II. Assembly-basedSituation-specificMethod Construction
Existing MethodNew domain
Experience …
[Ralyté and Rolland 2001] J. Ralyté and C. Rolland,"An Approach for Method Reengineering", in Proc. ofthe 20th International Conference on ConceptualModeling (ER2001), Yokohama , Japan, 2001, LNCS2224, H. Kunii, S. Jajodia, and A. Solvberg (Eds.),Springer-Verlag, pp. 471-484.
ICT
Method chunk
A method chunk is an autonomous and coherent part of amethod supporting the realisation of some specific systemdevelopment or management activity. Such a modular viewof methods favours their adaptation, configuration andextension. Moreover, this view permits to reuse chunks of agiven method in the construction of new ones. [INTEROP TG6 2005] INTEROP TG6, "State of the Art:
Exploration of Methods and Method EngineeringApproaches", Deliverable DTG 6.1, 2005.
ICT
MDD process framework overview
n The responsibility of the method engineer is to identify and orchestrate the activitiesneeded in the MDD system development process.
n Based on the organisation’s specific needs, the method engineer selects the differentprocess elements, from different process frameworks, and defines an appropriatesystem development process for an organisation.
n The method engineer must ensure completeness of the defined system developmentprocess, for example that roles are coherent with roles existing within the organisationand so on.
ICT
MDD process framework stepsThe method engineer buildsa system developmentprocess based on processelements from the MDDprocess framework andother process frameworks.
The projectmanager adaptsthe systemdevelopmentprocess to theproject-specificcontext.
The systemdevelopment teamuses the processadapted to thespecificities of thesystem developmentprocess to build thesystem.
Lastly, themethod engineer,the applicationdesigner and theproject managershould providefeedback to theknowledgeengineer for themodification,deletion orinsertion of newprocess elementsin the processframeworks. Thisfinal task allowsmaintaining anupdated source ofknowledge withinthe organisation.
ICT
Method architecture
n Methodn A composition of practices
n Practicen A repeatable approach to doing
something with a specific purpose inmind.
n Provides a systematic and verifiable wayof addressing a particular aspect of thework at hand.
n It has a clear goal expressed in terms ofthe results its application will achieve.
n It provides guidance to practitioners.
n The Kerneln The kernel includes the essential
elements of software engineering.n The Kernel provides a concrete
framework that can be used on everyproject, allowing projects to identify thekey matters of interest and applypractices to direct the project towardssuccess.
n The Languagen The methods, practices and the
essential elements are described in theLanguage.
n EPF uses the Software & SystemsEngineering Process Metamodel(SPEM) language specified by OMG
17
ICT
MODUS Methodology Framework
n MODUS Frameworkn http://modus.modelbased.netn Library of reusable and
composable Practices
n INF5120 Methodologyn http://inf5120.modelbased.netn Methodology Wiki with
Practices providing guidance
18
Custom Methodology
EPF ComposerMethod Library
…creationsupport
uses
defines
Practices
MethodEngineer
guidesdevelopment
builds andpublishes Developers
Testers
Methodology Wiki
build andpublish
project-specificmethodology
websites
ICT
SPEM
n Software & Systems ProcessEngineering Metamodel
n Metamodel and UML profile todescribe software engineeringprocessesn Identifies the typical concepts of a
process (process, phase, role, model, etc.)n Defines them using UML extensions
(stereotypes applied to various elements: class, use cases, operations,etc.)
n Assigns a characteristic icon to each new item.n Although the title implies Software Processes, any process can be
represented using SPEM.n EPF uses SPEM.
ICT
Method Content & Process
n Method Content (Who, What,Why, How)n Highly re-useable informationn Definition of Roles, Tasks,
Work Products and associatedrelationships
n Includes Guidanceand Categories
n No timinginformation
n Process (When)n End-End sequence of Phases,
Iterations, Activities andMilestones that define thedevelopment lifecycle.
n Defines When tasks areperformed via ActivityDiagrams and/or WorkBreakdown Structures
ICT
Method Content: Role
n Roles define a set of relatedskills, competencies andresponsibilities.
n Roles are not individuals
n Individuals on the developmentteam may play multiple roles.
n Roles Perform Tasks
n Roles are Responsible for WorkProducts.
ICT
Method Content: Work Productn Work Products (in most cases)
represent the tangible things used,modified or produced by a Task.
n Roles use Work Products toperform tasks and produce WorkProducts in the course ofperforming tasks.
n Work Products are theresponsibility of a Role.
n There are three types of workproducts:n Artifact: typically a configuration
managed itemn Deliverable: required
customer/stakeholder deliverablen Outcome: “intangible” result of a
task such as an installed server ortool.
ICT
Method Content: Taskn A Task defines an assignable unit
of work (usually a few hours to afew days in length).
n Tasks are performed by Roles (oneprimary, and optionally additionalsupporting roles).
n Tasks have a clear purpose, andprovide step-by-step descriptions ofthe work that needs to be done toachieve the goal.
n Tasks modify or produce WorkProducts.
n Tasks do not define when they areperformed in the lifecycle.
ICT
Method Content:Guidancen Guidance may be associate
with Roles, Tasks, and WorkProducts.
n Different types of Guidancedepending upon purpose.
n Use Guidance for detailedmethodology and supportinginformation. This will simplifytailoring.n 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
ICT
Process: Capability Patterns (1/2)n Capability Patterns define the sequence of related Tasks, performed to
achieve a greater purpose.n 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 ProductDescriptor
(instance of a WP)
ICT
Process: Capability Patterns (2/2)n Capability Patterns may be nested and viewed graphicallyn An Activity is an instance of a Capability Pattern.
ICT
Process: Delivery Process
n Defined using WorkBreakdown Structuresand/or Activity Diagrams.
n Defines end-end full-lifecycle process
n May include Iterations,Phases, Milestones (typesof Activities)
n This is just one example,any other lifecycle can bedefined.
ICT
The EPF Project: Overview
n EPF is an Open Source project within the Eclipse Foundation
n The goals of EPF are to provide:n An extensible framework and tooling for authoring, configuring and
publishing processesn Exemplary processes - first delivered is OpenUP
n EPF Project initiated in January 2006.
n EPF is NOT:n Only applicable for Eclipse Java development.n Intended to create the “perfect process”
ICT
The EPF Project: Two Audiences
n Process Authors and Coaches (Process ManagementTeam)n Tooling for creating and publishing processesn Foundational process for starting pointn Libraries of additional content that can be plugged-in
n Process Consumers (Project Team)n Published website of process content for simple browsingn Guidance in the form of checklists, concepts, guidelinesn Browse the content adapted to your experience level
ICT
n No common language or terminology between processes – redundancy andinconsistencies.
n Knowledge cannot easily be customized for different projects or new best practicesn No central community or communication framework to facilitate convergence of
best practices across domains.
What development teams are facing today
[Eclipse.org 2005] Eclipse.org, "ProcessFramework (EPF) Project <Beacon> - CreationReview", Eclipse.org, 21 December 2005.
ICT
A better approach
[Eclipse.org 2005] Eclipse.org, "ProcessFramework (EPF) Project <Beacon> - CreationReview", Eclipse.org, 21 December 2005.
ICT
Project goals
n Provide an extensible framework and exemplary toolsand content for software process engineeringn Extensible framework
n Metamodel based on OMG SPEMn Core extensible process tooling framework
n Exemplary and extensible toolsn Method and Process authoringn Library management and content extensibilityn Configuring and publishing
n Exemplary and extensible process contentn Range of software development and management processes
supportingn iterative, agile, and incremental developmentn applicable to a broad set of development platforms and applications
ICT
High-level architecture
[Eclipse.org 2005] Eclipse.org, "ProcessFramework (EPF) Project <Beacon> - CreationReview", Eclipse.org, 21 December 2005.
ICT
EPF Composer
n EPF Composer isa tool platform forprocess engineers,project leads, projectand program managerswho are responsiblefor maintaining andimplementing processesfor development organizations or individual projects
n Aims to:n provide for development practitioners a knowledge base of intelectual
capital that allows them to browse, manage and deploy content.n provide process engineering capabilities by supporting processe
engineers and project managers in selecting, tailoring, and rapidlyassembling processes for their concrete development process.
ICT
Method Library
n Method Libraryn All Method Elements are stored
in a Method Libraryn Method Plug-in
n A Method Plug-in represents aphysical container for MethodPackages and ProcessPackages. It defines a largestgranularity level for themodularization andorganization of method contentand processes.
n Method Configurationn a logical subset of a Method
Libraryn Delivery Process
n a complete and integratedapproach for performing aspecific type of project.
Base Concepts Plug-in
OpenUP Plug-in
DSDM Plug-in forOpenUP
depends on
extends
OpenUP Library
ICT
EPF Composer AuthoringPerspectiveLibraryView
ConfigurationView
Task Editor(form based)
AuthoringPerspective
ICT
Comparison at a glance
n SPEMn Process aspects only
n Method domain only
n Obscure and informalextension mechanisms
n Unable to express non-trivial scenarios
n Highly dependent onUML
n ISO 24744n Process, product and
quality aspectsn Method and endeavour
domainsn Easy and intuitive
extension mechanismsn Copes with complex
scenariosn Self-contained
ICT
History of ISO 24744
n ISO/IEC 24744 is an international standardn Based on experience:
n Fujitsu, Microsoft, SQI, JPL, plus other 20n Input from 25+ countriesn Australian AS 4651 (2004)n Field consulting from UTS, Necon Top-notch academic researchn Errors of previous attempts
n Led from academian 2003-2007n Submission to OMG, February 20th, 2012
ICT
Moving on to metamodellingTask Kind
NamePurposeMinCapLev
“Code Writing”“To write code…”1
Task
StartEndDuration
CodeWriting
Language
12-Sep-0715-Sep-073“C#”
partitionedtype
powertype
clabject
ICT
Putting things in context
metamodel
method
endeavour
Task Kind
NamePurposeMinCapLev
“Code Writing”“To write code…”1
Task
StartEndDuration
CodeWriting
Language
12-Sep-0715-Sep-073“C#”
ICT
Metamodel overviewMethodologyElement
WorkUnitKind
WorkProductKind
ModelUnitKind
Template Resource
Language
Notation
Constraint
Outcome
EndeavourElement
WorkUnit
WorkProduct
ModelUnit
GuidelineProducerKind
ProducerStage
StageKind
ICT
Summary
n SEMDM / ISO 24744:n Captures what developers do (endeavour) by enhancing
expressivenessn Integrate endeavour and method domains (powertype patterns)n Integrate process and productn Address quality and capability issues (MinCapabilityLevel attribute)n Support for affordable extensibility (regular OO mechanisms)
ICT
SEMDM Diagrams – GraphicalNotationn Lifecycle diagrams, which represent the overall structure of a method
(or part of it).n Enactment diagrams, which represent a specific endeavour (or part of
it) and its relationship to the corresponding method.n Dependency diagrams, which represent the abstract
support/dependency relationships among the major components (i.e.producer kinds, work unit kinds and work product kinds) of amethodology.
n Process diagrams, which describe the details of the process kindsused in a method.
n Action diagrams, which show the detailed usage interactions betweentask kinds and work product kinds.
ICT
StageWithDurationKind TimeCycleKind PhaseKind
BuildKind InstantaneousStageKind MilestoneKind
ProcessKind ProcessKind TechniqueKind
ICT
OutCome WorkProductKind DocumentKind
ModelKind SoftwareItemKind HardwareItemKind
CompositeWorkProductKind ProducerKind TeamKind
ICT
The Kernel
58
A stripped-down,lightweight set of
definitions that capturesthe essence of effective,
scalable softwareengineering in a practice
independent way.
The Kernel is describedusing a small subset of the
Language.
ICT
Activity Spaces: The Essential Thingsto Do
61
ExplorePossibilities
Ensure StakeholderSatisfaction
Shapethe System
Implement theSystem
Testthe System
Deploythe System
Use the System
Operatethe System
UnderstandStakeholder Needs
Prepare to dothe Work
CoordinateActivity
Support the Team Stop the WorkTrack Progress
Understand theRequirements
ICT
Activity Spaces: ExamplesScrum Essentials Practice
Activity Space
Activity
Activity PredecessorRelationship
62
ICT
Focus areas
n Embodies the essence of software engineering in a kernel.n Works with methods in an agile way that are as close to practitioners’
practice as possible.n Applies the principle of “separate of concerns”, focusing on the things
that matter the most.n Focuses on helping the least experienced developers over helping
more experienced developers.n Reflects an understanding that the majority of the development
community is interested in…n the use of methods, not their definition.n practice, not process or method engineering.n intuitive and concrete graphical syntax, not formal semantics.
63
ICT
The Language: Small, Simple andFlexible
Competency
Alpha State
Activity Space
< in
volv
esta
rget
s >
Alpha
< ha
s
Activity
Work Product
prod
uces
/ upd
ates
>
organizes >
< evidences
PatternResourceCan be added to anything
ICT
The Kernel provides the blue print
Competency
Alpha State
Activity Space
< in
volv
esta
rget
s >
Alpha
< ha
s
ICT
Practices add the detail
Competency
Alpha State
Activity Space
< in
volv
esta
rget
s >
Alpha
< ha
s
Activity
Work Product
prod
uces
/ upd
ates
>
organizes >
< evidences
ICT
Resources and Patterns enableextension
Competency
Alpha State
Activity Space
< in
volv
esta
rget
s >
Alpha
< ha
s
Activity
Work Product
prod
uces
/ upd
ates
>
organizes >
< evidences
PatternResourceCan be added to anything
ICT
Some example uses of resources
Competency
Alpha State
Activity Space
< in
volv
esta
rget
s >
Alpha
< ha
s
Activity
Work Product
prod
uces
/ upd
ates
>
organizes >
< evidences
PatternResourceCan be added to anything
< helps create
Resources(such as Templates
& Examples)
< helps perform
Resources(such as Scripts &
Tool Mentors)
< help people to develop
Resources(such as Training Courses)
ICT
Some example uses of Patterns
Competency
Alpha State
Activity Space
< in
volv
esta
rget
s >
Alpha
< ha
s
Activity
Work Product
prod
uces
/ upd
ates
>
organizes >
< evidences
PatternResourceCan be added to anything
< helps perform
< helps up profile teams and team members
Patterns that qualify team membershipsuch as Team Roles and Team Structures.
e.g. Checkpointor Milestone
e.g. Phase
aligns a set of >
ends
with
>
sequences >
e.g.Team Role
Patterns that sequence andfilter activities
Patterns that synchronizeAlpha State progression
Patterns that describe alternativeways to perform and activity. .
e.g. DifferentApproaches
ICT
Language: Structure of theMetamodel
71
Foundation
AlphaAndWorkProduct
ActivitySpaceAndActivity Competency
View
ICT
Language: Alpha and Work Product
73
Alpha
State
+name: String+description: String
AlphaAssociation
+name: String+end1lowerBound: Integer+end1upperBound: Integer+end2lowerBound: Integer+end2upperBound: Integer
Checkpoint
+name: String+description: String
AlphaContainment
+lowerBound: Integer+upperBound: Integer
WorkProductManifest
+lowerBound: Integer+upperBound: Integer
WorkProduct
LevelOfDetail
+name: String+isSufficientLevel: Boolean+description: String
Foundation::LanguageElement
Foundation::BasicElement
+name: String+icon: GraphicalElement[0..1]+briefDescription: String+description: String
ICT
Language: Competency
75
Competency
CompetencyLevel
+name: String+briefDescription: String+level: Integer
Foundation::LanguageElement
Foundation::BasicElement
+name: String+icon: GraphicalElement[0..1]+briefDescription: String+description: String
Competency CompetencyLevel
+name: String+briefDescription: String+level: Integer+possibleLevel
*
ICT
Language: View
76
ViewSelection
+name: String+description: String
Foundation::LanguageElement
FeatureSelection
+featureName: String
ViewSelection
+name: String+description: String
+includedViewSelection*
*
+constructSelection1..*
*FeatureSelection
+featureName: String
+construct1
*
+featureSelection
1..**
Foundation::LanguageElement
ICT
Sources
n OMG Essence specificationn OMG, "Essence – Kernel and Language for Software Engineering
Methods", OMG Document ad/2013-02-01, 13 February 2013.n http://semat.org/wp-
content/uploads/2013/02/Essence_final_submission_18Feb13.pdfn Scrum Guide
n Ken Schwaber and Jeff Sutherland, "Scrum Guide", October 2011.n http://www.scrum.org/Portals/0/Documents/Scrum%20Guides/Scr
um_Guide.pdfn Practice authoring tool
n EssWork Practice Workbenchn http://www.ivarjacobson.com/EssWork_Practice_Workbench/
ICT
Practice ExplorerThe Practice Explorer shows Practice
Workbench projects
The Essence Kernel project contains theelements defined in the OMG Essence
specification
Alphas that represent the essentialthings to work with
Activity Spaces that represent theessential things to do
ICT
ETextile, Guideline and Card views
When selecting anelement in the
Practice Exploreryou can switch
between differentviews
The ETextile Source view provides themain editor for authoring the practice
using plain text and annotations
The Guideline Previewrenders how the guideline will
be presented in HTML
The Overview CardPreview renders the
card presentation
ICT
Scrum EssentialsThe Scrum practice is created as a
separate practice project in the PracticeWorkbench
The Scrum practice extends theEssence Kernel by providing more
detailed guidance.
Drag and drop the relevant Alphas toextend from the Essence Kernel into the
Scrum practice project
Drag and drop the relevant ActivitySpaces to extend from the Essence
Kernel into the Scrum practice project
ICT
Scrum Roles
Scrum roles arerepresented as
Patterns
Product Owner(Guideline Preview)
Product Owner (CardPreview)
ICT
Scrum Sprint
Sprint is represented asa sub-alpha of Work
The Sprint hasStates with
Checkpoints
The Sprint has associated the Work ProductSprint Backlog that contains the set of ProductBacklog items selected for the Sprint, and the
plan for delivering the product Increment
Sprint (Card Preview)
Sprint in UnderControl State
(Card Preview)
Under Control(State Card Preview)
ICT
Scrum Activities
The Scrum events(except the Sprint which
is represented as anAlpha) are represented
as ActivitiesSprint Planning Meeting
(Card Preview)
The Sprint Planning Meetingactivity provides guidance onhow to achieve the Planned
state of the Sprint.
The Sprint Planning Meetingactivity provides guidance onhow to achieve the Planned
state of the Sprint.