INF5120 Modellbasert Systemutvikling Modelbased System development Lecture 5: 11.02.2013 Arne-Jørgen Berre arneb@ifi.uio.no or Arne.J.Berre@sintef.no Telecom and Informatics 1
INF5120 - Lecture plan - 2013 1 (14/1): Introduction overview Enterprise Architecture with UML and BPMN and DSLs 2 (21/1): Service Innovation and Design, AT ONE method/workshop myservicefellow (Marika Lüders) 3: (28/1): Value Networks/VDML BPMN, vs. UML Activity diagrams - Oryx 4 (4/2): User experience and Touchpoints/UI Design Balsamiq (Amela Karahasanovic) 5 (11/2): UML and Req.Modeling Agile User stories versus Use cases 6 (18/2): Requirements Modeling, Goal Modeling, BMM, and Non Functional requirements 7 (25/2): Model driven engineering Metamodels, DSL, UML Profiles etc. 8 (4/3): Model driven engineering EMF, Eclipse, GMF 9 (11/3): Model driven engineering, transformation technologies (Franck Fleurey) 10(18/3): UML Service Modeling SoaML, UML 2.0 Service composition, USDL, ISO 19119 11(8/4): BPMN and Business Process Management and CMMN and Case Management 12(15/4): UML and Entity and Information modeling, UML, ISO 19103 13(22/4): UML and Semantic models, Facts, SBVR, Ontologies, Rules 14(29/4): UML and Platform models, realisation, migration, Java, Apps, CloudML 15(6/5): Software Process modeling frameworks SPEM/EPF, ISO 24744, FACESEM/ESSENCE 16(13/5): Conclusion and Summary for INF5120 - Preparation for Exam Exam: Monday June 3rd, 2013, (4 hours) Telecom and Informatics 2
INF5120 Oblig plan - 2013 1 (14/1): Introduction 2 (21/1): myservicefellow 3: (28/1): Oryx 4 (4/2): Balsamiq 5 (11/2): Use cases 2.0 6 (18/2): Oblig 1 Group work 7 (25/2): EMF and Eclipse Group presentation Business Model 8 (4/3): EMF and GMF Group presentation - 9 (11/3): Delivery of Oblig 1 Concierge BA and Requirements Model 10(18/3): Walk through of Oblig 1 11(8/4): Delivery of Oblig 2 Value Network editor in Eclipse 12(15/4): Walk through of Oblig 2 13(22/4): Group work, Oblig 3 Group presentation 14(29/4): Group work, Oblig 3 Group presentation 15(6/5): Delivery of Oblig 3 Concierge SA Model 16(13/5): Walk trough of Oblig 3 - Preparation for Exam Exam: Monday June 3rd, 2013, (4 hours) Telecom and Informatics 3
Obligs Partially individual, partially group - in 3 parts Oblig 1 Group Personal Concierge - Business architecture and requirement models (March 11) Oblig 2 Individual Eclipse editor for Value networks (April 8) Oblig 3 Group Personal Concierge System architecture (May 6) Telecom and Informatics 4
Student Groups Group 1 davletd@ifi.uio.no ulrikeja@student.matnat.uio.no Mathiare@ifi.iuo.no bushran@ifi.uio.no Group 2 Karollu@ifi.uio.no jesperov@ifi.uio.no pcscheel@gmail.com Ungrouped for group 4 and 5 soheilm@ifi.uio.no animutdt@ifi.uio.no shakar70@gmail.com tommyjv@student.matnat.uio.no aakamran@gmail.com mlnguyen@ifi.uio.no henrikvs@ifi.uio.no Group 3 zahramaslavi@gmail.com guangyuh@ifi.uio.no yannickl@ifi.uio.no eunji.lee@sintef.no Not attending?? (have sent an e.mail now): filipjs@student.matnat.uio.no?? suthannaa@ifi.uio.no?? migrana@ifi.uio.no?? Telecom and Informatics 5
Students (1/2) davletd@ifi.uio.no soheilm@ifi.uio.no yannickl@ifi.uio.no animutdt@ifi.uio.no Karollu@ifi.uio.no suthannaa@ifi.uio.no migrana@ifi.uio.no shakar70@gmail.com filipjs@ifi.uio.no eunji.lee@sintef.no tommyjv@student.matnat.uio.no Davlet Dzhakishev Soheil Mashayekhi Yannick Lew Animut Demeke Karoline Lunder suthannaa@ifi.uio.no migrana@ifi.uio.no Shahzad karamat filipjs@ifi.uio.no Eunji Lee Tommy Vitikka Telecom and Informatics 6
Students (2/2) pcscheel@gmail.com zahramaslavi@gmail.com aakamran@gmail.com ulrikeja@student.matnat.uio.no guangyuh@ifi.uio.no jesperov@ifi.uio.no mlnguyen@ifi.uio.no Philip Scheel Zahraa Almasslawi Arshad Alikamran Ulrike Janke Guangyu Han Jesper Vestlie Loan Nguyen bushran@ifi.uio.no henrikvs@ifi.uio.no Mathiare@ifi.iuo.no Bushra Henrik Vest Simonsen Mathias Renner Telecom and Informatics 7
Strategyzer (Osterwalder) Telecom and Informatics 8
ServiceML Editor A T O N E Web-based modelling editor http://tomcat.thingml.org/backend/poem/repository User guide http://epf.thingml.org/wikis/neffics/practice.business. service_modelling.basesintef/guidances/toolmentors/neffics_service_modell ing_editor_user_guide_d29f2b87.html Currently being extended to support AT ONE Method (i.e., the Service Innovation practice) http://epf.thingml.org/wikis/neffics/practice.innovatio n.service_innovation.basesintef/guidances/practices/service_innovation_f3fe D330.html Telecom and Informatics 9
A Actors Services Architecture (SoaML) Value Network (VDML) Services Architecture (Business-SoaML) Hybrid notation Participants (from Value Network) Conversation (from BPMN 2.0) Groups a set of Flows Telecom and Informatics 10
T Touchpoints Service Journey Map Service Journey: Chronological mapping (from the customer point of view) of a service encounter. Model as "Stages" Attach touchpoints to the different stages Library of different types of touchpoints to select from. Telecom and Informatics 11
O Offerings Service Contract Detailing of the conversation. Conversation is the grouping of flows (messages). Service Contract defines the interfaces on both side (structure) and the protocol (behaviour) for how to use these interfaces. Telecom and Informatics 12
N Needs Goals and Objectives We have not yet implemented modelling support for needs. One idea is to use a very small subset of BMM (Business Motivation Model) standard. Goal: a statement about a state or condition of the enterprise to be brought about or sustained through appropriate Means (i.e., Offerings expressed as Service Contracts). Objective: An Objective is a statement of an attainable, time-targeted, and measurable target that the enterprise seeks to meet in order to achieve its Goals Example of Goals and Objectives diagram Telecom and Informatics 13
E Experiences Experiences The idea is to extend the Service Journey Map. Each user/customer capture experiences (emotional icons) related to each touchpoints and deviations in the ideal/expected journey (seen from a Service Provider side). Ref. also myservicefellow smart phone app Telecom and Informatics 14
User Story template I <in the role of XX> needs functionality <zzz> to achieve the goal of <YYY> Telecom and Informatics 15
Backlog metamodel Telecom and Informatics
Inf5120.modelbased.net Telecom and Informatics 17
Telecom and Informatics 18
Manifesto for Agile Software Development Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan http://agilemanifesto.org/ Telecom and Informatics 19
Content Essential Unified Process Essworks and Essence Principles and practices Software Development Essentials Product Essentials User stories and Agile Requirements Engineering Use Case Essentials Telecom and Informatics 20
Essence Kernel and Language for Software Engineering Methods The joint submission for the OMG FACESEM standard A Foundation for the Agile Creation and Enactment of Software Engineering Methods Arne.J.Berre@sintef.no www.semat.org 21
Book is available now Safaribooksonline/Addison Wesley 22
Problem Statement Why do so few software development teams really use traditionally engineered methods and processes? Methods viewed as being too heavyweight and inflexible (i.e., not agile ) Not enough flexibility for the team to customize and tailor the process they use (i.e., be agile ) The underlying metaphor The process is the program, the team is the machine doesn t work. As a result, develop teams end up with An ad hoc development approach, or An approach overly influenced by the latest hot fad, or A limited tailoring of some method dictated to them. This limits the ability of a team to be effective and scalable while remaining flexible and agile. 22 June 2011
Scope Goal: To support a development team in defining, refining and customizing themselves the process they are actually using. Approach: A framework that allows for the rapid construction of software methods for the team s own use. Standard: A common foundation for various such frameworks. Foundational Concepts Method A systematic way of doing things in a particular discipline (software engineering). A method is composed from practices. Practice A general, repeatable approach to doing something with a specific purpose in mind, providing a systematic and verifiable way of addressing a particular aspect of the work at hand. Enactment The carrying out of a method in the context of a specific project effort. A method is an enactable composite practice. Kernel A domain model (for software engineering), providing a common terminology of concepts and their relationships that may be used in the definition of practices. Language A modeling language for specifying practices based on the kernel and for composing methods from the practices. 22 June 2011
Introduction to Essence 25
The Kernel The Kernel is described using a small subset of the Language. A stripped-down, lightweight set of definitions that captures the essence of effective, scalable software engineering in a practice independent way. 26
Alphas: The Essential Things to Work With Customer Solution Endeavor 27
Alphas: Example Requirements Description What the software system must do to address the opportunity and satisfy the stakeholders. It is important to discover what is needed from the software system, share this understanding among the stakeholders and the team members, and use it to drive the development and testing of the new system. Associations scopes and constrains : Work 28
Activity Spaces: The Essential Things to Do Explore Possibilities Understand Stakeholder Needs Ensure Stakeholder Satisfaction Use the System Understand the Requirements Shape the System Implement the System Test the System Deploy the System Operate the System Prepare to do the Work Coordinate Activity Support the Team Track Progress Stop the Work 29
Activity Spaces: Examples Activity Space Scrum Essentials Practice Activity Activity Predecessor Relationship 30
Focus areas Embodies the essence of software engineering in a kernel. Works with methods in an agile way that are as close to practitioners practice as possible. Applies the principle of separate of concerns, focusing on the things that matter the most. Focuses on helping the least experienced developers over helping more experienced developers. Reflects an understanding that the majority of the development community is interested in the use of methods, not their definition. practice, not process or method engineering. intuitive and concrete graphical syntax, not formal semantics. 31
Introduction to The Essentials Module 1 Principles and Practices Copyright 2006-2010 Ivar Jacobson International SA. All rights reserved
Introduction to The Essentials Module 2 Software Development Essentials Copyright 2006-2010 Ivar Jacobson International SA. All rights reserved
Use case modeling Telecom and Informatics 35
Create GUI Mockups Balsamiq: http://www.balsamiq.com Telecom and Informatics 36
SiSaS SINTEF Software as a Service Methodology, sisas.modelbased.net Telecom and Informatics 37
SiSaS Disciplines and Practices Telecom and Informatics 38
Template of a Use Case Description. Telecom and Informatics
Telecom and Informatics
User Story template I <in the role of XX> needs functionality <zzz> to achieve the goal of <YYY> Telecom and Informatics 41
Backlog metamodel Telecom and Informatics
Telecom and Informatics
Introduction to The Essentials Module 3 Use-Case Essentials Copyright 2006-2010 Ivar Jacobson International SA. All rights reserved
Introduction to The Essentials Module 3 Use-Case Essentials Copyright 2006-2010 Ivar Jacobson International SA. All rights reserved
Use-Case 2.0 Module 2 Finding Actors and Use Cases Copyright 2006-2010 Ivar Jacobson International SA. All rights reserved
Use-Case 2.0 Module 7 - Adapting Your Use-Case Model - Using Include and Extend Copyright 2006-2010 Ivar Jacobson International SA. All rights reserved