INF5120 Modellbasert Systemutvikling Modelbased System development Lecture 5: 10.02.2014 Arne-Jørgen Berre arneb@ifi.uio.no or Arne.J.Berre@sintef.no Telecom and Informatics 1
Oblig 1 Group work Service Innovation and Design TravelAdvisor 1. Business Model Osterwalder/Strategyzer.com 2. Service Design with smaply.com Personas, Stakeholder maps, Customer/Service journey maps 3. BPMN diagrams (use of Cameo EA MagicDraw) 4. User stories (Agile) and selected Use cases (use of Cameo EA MagicDraw) 5. UI Mockup (Balsamiq) 6. Non functional requirements Telecom and Informatics 2
Obligs Partially individual, partially group - in 3 parts Oblig 1 Group TravelAdvisor - Business architecture service design and use cases/requirement models (March 10) Oblig 2 Individual Eclipse EMF editor with Graphiti for Business Architecture DSL (April 7) Oblig 3 Group TravelAdvisor system architecture and realisation with WebRatio/IFML (May 5) Telecom and Informatics 3
INF5120 - Lecture plan - 2014 1 (13/1): Introduction overview of the course. Enterprise Architecture with UML and BPMN and DSLs 2 (20/1): Business Architecture Business Model Canvas and Business Model Innovation with Value Networks, Strategyzer tool. BPMN modeling, MagicDraw EA tool 3: (27/1): Service Innovation and Service Design, AT ONE, Smaply BPMN Examples 4 (3/2): User experience and Touchpoints/UI Design Balsamiq/WebRatio 5 (10/2): UML and Req.Modeling Agile User stories versus Use cases 2.0 6 (17/2): Requirements Modeling, Goal Modeling, BMM, and Non Functional requirements Requirements Engineering 7 (24/2): UI Models, WebML and IFML, Process models (WebRatio) 8 (3/3): Model driven engineering Metamodels, DSL, UML Profiles 9 (10/3): Model driven engineering, transformation technologies 10(17/3): Method Engineering, SW Process frameworks, SPEM/EPF, ISO 24744, FACESEM/ESSENCE (Brian Elvesæter) 11(24/3): MDE and DSL in practice, with ThingML example 12(31/3): System Architecture and Information/Ontology modeling, UML, ISO 19103 13(7/4): UML Service Modeling SoaML, UML 2.0 Service composition, MagicDraw EASTER 14(28/4): Platform models for the Cloud, with CloudML (Alessandro Rossini) 15(5/5): System realisation models (MagicDraw, JEE), MDA-ADM, SBVR, MDI 16(12/5): Conclusion and Summary for INF5120 - Final Oblig review 17(19/5): Preparation for Exam Exam: Monday June 2nd, 2014, (4 hours) Telecom and Informatics 4
INF5120 - Exercise plan - 2014 1 (13/1): Introduction 2 (20/1): Business Architecture 3: (27/1): Service Innovation and Service Design, AT ONE, Smaply BPMN Examples 4 (3/2): Demo: Strategyzer, Smaply, Balsamiq 5 (10/2): Group presentation: Strategyzer Business Model 6 (17/2): Group presentation: Smaply Service Design 7 (24/2): Group presentation: Use cases/user stories with BPMN 8 (3/3): Group presentation: UI Design, Balsamiq, Eclipse intro 9 (10/3): Delivery of Oblig 1 - Discussion 10(17/3): EMF metamodel presentation 11(24/3): Graphiti presentations 12(31/3): Graphiti presentation 13(7/4): Delivery of Oblig 2 Discussion, and IFML EASTER 14(28/4): IFML 15(5/5): Delivery of Oblig 3 16(12/5): Conclusion and Summary for INF5120 - Final Oblig review 17(19/5): Preparation for Exam Old exams Exam: Monday June 2nd, 2014, (4 hours) Telecom and Informatics 5
Strategyzer (Osterwalder) Telecom and Informatics 6
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 7
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 8
Book is available now Safaribooksonline/Addison Wesley 9
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 12
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. 13
Alphas: The Essential Things to Work With Customer Solution Endeavor 14
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 15
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 16
Activity Spaces: Examples Activity Space Scrum Essentials Practice Activity Activity Predecessor Relationship 17
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. 18
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
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/ 22 Copyright 2006-2010 Ivar Jacobson International SA. All rights reserved
User Story template I <in the role of XX> needs functionality <zzz> to achieve the goal of <YYY> 23 Copyright 2006-2010 Ivar Jacobson International SA. All rights reserved
Backlog metamodel Copyright 2006-2010 Ivar Jacobson International SA. All rights reserved
Inf5120.modelbased.net 25 Copyright 2006-2010 Ivar Jacobson International SA. All rights reserved
26 Copyright 2006-2010 Ivar Jacobson International SA. All rights reserved
Use case modeling Telecom and Informatics 27
Create GUI Mockups Balsamiq: http://www.balsamiq.com Telecom and Informatics 28
SiSaS SINTEF Software as a Service Methodology, sisas.modelbased.net Telecom and Informatics 29
SiSaS Disciplines and Practices Telecom and Informatics 30
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 33
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