Chapter 6 Guidelines for Modelling. 1. The Modelling Process 1. Modelling as a Transformation Process 2. Basic Modelling Activities 3. Types of Modelling.

Slides:



Advertisements
Similar presentations
PROGRESS User Committee Meeting, December 11, On the Fundamental Design Gap in Complex Systems Mark Verhappen Piet van der Putten.
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
What is a text?. A text is a sequence of paragraphs that represents an extended unit of speech.
Database Systems: Design, Implementation, and Management Tenth Edition
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Chapter 2 – Software Processes
Abstraction Lecture-4. ADT example: London Underground Map.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 32 Slide 1 Aspect-oriented Software Development.
Design Concepts and Principles
ZEIT2301 Design of Information Systems Behavioural Design: State Machines School of Engineering and Information Technology Dr Kathryn Merrick.
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
OASIS Reference Model for Service Oriented Architecture 1.0
The Architecture Design Process
1 SYSTEM and MODULE DESIGN Elements and Definitions.
CMPUT 301: Lecture 25 Graphic Design Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Requirements Analysis Concepts & Principles
Analysis Concepts and Principles
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Information Modeling: The process and the required competencies of its participants Paul Frederiks Theo van der Weide.
Chapter 1 Principles of Programming and Software Engineering.
© Copyright Eliyahu Brutman Programming Techniques Course.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Conceptual modelling. Overview - what is the aim of the article? ”We build conceptual models in our heads to solve problems in our everyday life”… ”By.
Foundations This chapter lays down the fundamental ideas and choices on which our approach is based. First, it identifies the needs of architects in the.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Level > Next Level > …. > Crumb Trail (Hansel & Grettel) Bread Crumb Trail.
Object Oriented Analysis and Design Using the UML
Chapter 2 The process Process, Methods, and Tools
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
SOFTWARE DESIGN.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Approaching a Problem Where do we start? How do we proceed?
IS0514Slide 1 IS0514 Lecture - Week 1 (Semester 2) Business Systems Development Tools and Techniques.
1 Introduction to Software Engineering Lecture 1.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
System Context and Domain Analysis Abbas Rasoolzadegan.
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Understanding and using patterns in software development EEL 6883 Software Engineering Vol. 1 Chapter 4 pp Presenter: Sorosh Olamaei.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Science and Technology Norwegian University of NTNU Rolv Bræk, January Introduction to Systems Engineering by Rolv Bræk NTNU.
Winter 2007SEG2101 Chapter 31 Chapter 3 Requirements Specifications.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Requirements Analysis
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Systems Development Lifecycle
Guidelines of Business Process Modeling Team: Alejandra Saavedra Andrea Rodriguez Ez Lawrence.
Principles of Programming & Software Engineering
Lecture 9- Design Concepts and Principles
Chapter 10: Process Implementation with Executable Models
Enterprise Data Model Enterprise Architecture approach Insights on application for through-life collaboration 2018 – E. Jesson.
Object-Oriented Design
Lecture 9- Design Concepts and Principles
Object oriented analysis and design
Analysis models and design models
EA Framework TOGAF is a framework - a detailed method and a set of supporting tools - for developing an enterprise architecture.
Presentation transcript:

Chapter 6 Guidelines for Modelling

1. The Modelling Process 1. Modelling as a Transformation Process 2. Basic Modelling Activities 3. Types of Modelling Actions 2. Guidelines for Modelling. 1. What to Capture in a Model 2. Modelling and Abstraction 3. Structuring Models and Visualisations 4. Constructive Use of Modelling Breakdowns 3. Readability and Usability of Models. 1. Reducing the Visual Complexity of Models 2. Representation Conventions

1. The Modelling Process Models focus on specific aspects of the real world, based on the purpose for which the model is created In enterprise architecture, modelling typically involves creating abstract representations of enterprises: the business processes involved, the IT-infrastructure, as well as the relations between them. An enterprise architect gathers relevant information and transforms this into a model

1.1 Modelling as a Transformation Process

Communication also has its underlying goal: the participants are to introduce, agree on, and commit to some knowledge representation. This means that the model that is the result of a modelling process is not the ultimate goal, and not even the only product of that process

1.2 Basic Modelling Activities We distinguish the following activities in a modelling process: Establishing the purpose, scope and focus. Selecting one or more viewpoints Creating and structuring the model Visualising the model Using the model Maintaining the model

1.3 Types of Modelling Actions How concepts and relations are handled during modelling Modelling actions are operations on concrete concepts and relations from the domain that is being modelled. These concepts and relations can be considered instances of the concepts and relations that are defined in the ArchiMate language.

1.3 Types of Modelling Actions Introduce a candidate element in the model. Refine an element in the model: Classify the newly introduced (candidate) element. Provide a description of the element in another way than adding more elements, for instance by: Adding internal detail to an element Writing a definition or gloss kept outside the model Nesting models

1.3 Types of Modelling Actions Abandon a model element Abstract from a concept or relation Translate an element. Document modelling actions.

2. Guidelines for Modelling The main guideline for modelling results from our notion of modelling as a goal-driven activity is the following: A model has to provide answers to questions. Make a clear distinction between a model and its visualisations. Applying Grice’s Maxims to enterprise architecture

2. Guidelines for Modelling Maxim of Quantity: Make your model as informative as necessary. Do not make your model more informative than necessary. Maxim of Quality: Do not model what you believe to be false. Do not model that for which you lack adequate evidence. Maxim of Manner: Avoid obscurity of expression. Avoid ambiguity. Be brief (avoid unnecessary concepts and relations). Be orderly.

2. Guidelines for Modelling Model iteratively. Model for dynamics. Be economical in models. Be economical in views. Make concepts recognisable. Make structures recognisable. Make a model consistent Keep related models consistent. Make models as correct and complete as needed. Treat different concerns orthogonally.

2.1 What to Capture in a Model? Select the design viewpoints that match your objective Focus: Only include those elements in the model that directly contribute to the re-alisation of the modelling objective. Neglect matters of secondary importance and exceptions. Do not be afraid to abandon model elements. Discuss stable, intermediate versions of the model with the stake-holders. Start modelling from a single element.

2.1 What to Capture in a Model?

2.2 Modelling and Abstraction Through the use of ab-straction levels you can first capture the key concepts and key relations in an enterprise architecture model, before providing more details. First capture key concepts and key relations at a high level of ab-straction. Use a limited number of predefined abstraction levels. Define abstraction levels based on the modelling goals. Keep abstraction levels consistent.

2.3 Structuring Models and Visualisations When a model consists of many concepts and relations, structuring a model helps to reduce the visual complexity of the model, which makes it easier for your stakeholders to recognise and understand your model. Architecture models may contain different types of structure. Commonly used structural dimensions include: functionality: functional decomposition ; time: temporal structure, data flow, control flow; usage: dependencies, call graphs; location: physical distribution; data structure: type/class hierarchies; work: units of implementation, module structure.

2.3 Structuring Models and Visualisations some of the most important and widely used structuring principles: Make a model as self-explanatory as possible. Separate internal and external behaviour. Use layers.

2.3 Structuring Models and Visualisations Group by phase

2.3 Structuring Models and Visualisations Group by product or service. Group by information used. Group by physical distribution. Separate independent parts.

2.4 Constructive Use of Modelling Breakdowns In a modelling process, breakdowns become evident when for some reason a stakeholder does not properly understand the model. Most importantly you should check for readability and effect.

2.4 Constructive Use of Modelling Breakdowns Check for Readability : We distinguish the following readability breakdowns: The model is not understood The model is understood in the wrong way The model has no intuitive structure for the receiver. Check for Effect The model or architect lacks status. The model has a true but unwanted message. The model is irrelevant: The model contains superfluous elements: The model is too complex. The model is too vague. The model is not sufficiently complete. The model is not true.

3. Readability and Usability of Models The prime purpose of enterprise architecture models is to capture and communicate key functions and key relations of different domains relevant for enterprises. As such, these models have to be readable and usable While creating models, you should aim for models with a limited complexity, by reducing: − the number of elements in the model; − the number of types of elements in the model; − the number of relations depicted in the model.

3.1 Reducing the Visual Complexity of Models Reducing the visual complexity of models is primarily achieved by limiting the number of concepts and relations that are visible in a model Having different views of models is one means to reduce the visual and conceptual complexity Another solution is the use of abstraction.

3.1 Reducing the Visual Complexity of Models

3.2 Representation Conventions Use of Layout Representation conventions can be applied to increase the ease of understanding models Use white space. Distinguish between normal and exceptional cases. Avoid crossing lines.

3.2 Representation Conventions Use symmetry to stress similarities.

3.2 Representation Conventions Model time dependence from left to right.

3.2 Representation Conventions Use of Symbols: Use similar shapes for similar concepts. Use line width to stress important relations.

3.2 Representation Conventions Use of Colour : Use colour for emphasis. Use colour for similarity. Use colour to convey emotions. Limit the number of colours. Use of Text : Use domain-specific terminology. Use naming conventions.