About Modelling.

Slides:



Advertisements
Similar presentations
Abstraction Lecture-4. ADT example: London Underground Map.
Advertisements

Object-Oriented Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
© Copyright Eliyahu Brutman Programming Techniques Course.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
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.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Design Science Method By Temtim Assefa.
3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 1 February 20, 2004 Lecture 3: Introduction to Software Analysis and.
Object-Oriented Analysis and Design An Introduction.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Chapter 16 Applying UML and Patterns Craig Larman
Engineering 5895: Software Design 9/11/01Class Diagrams 1.
NJIT UML Class Diagrams Chapter 16 Applying UML and Patterns Craig Larman.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
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.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Use Case Textual Analysis
Science and Technology Norwegian University of NTNU Rolv Bræk, January Introduction to Systems Engineering by Rolv Bræk NTNU.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Diagrams. Typically, we view the static parts of a system using one of the four following diagrams. 1. Class diagram 2. Object diagram 3. Component diagram.
High Level Design Use Case Textual Analysis SE-2030 Dr. Mark L. Hornick 1.
Systems Architectures System Integration & Architecture.
© 2009 Artisan Software Tools. All rights reserved. Testing Solutions with UML/SysML Andrew Stuart, Matthew Hause.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
 The Object Oriented concepts was evolved for solving complex problems. Object- oriented software development started in the 1980s. Object-oriented design.
UML Class & Object Diagram I
Chapter 0: Introduction
ENTERPRISE MODELLING KSI 1404
UML Diagrams By Daniel Damaris Novarianto S..
Classifications of Software Requirements
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Architecture Concept Documents
Modelling Concepts Based on Chapter 5 Bennett, McRobb and Farmer
Chapter 8 Analysis & Modeling
Today’s Objectives Define the Problem Domain
UML Diagrams Jung Woo.
UML Class Diagrams: Basic Concepts
Interactions.
Lecture Software Process Definition and Management Chapter 3: Descriptive Process Models Dr. Jürgen Münch Fall
Informatics 121 Software Design I
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
A (Very) Short Introduction to Model-Driven Development (MDD)
CS310 Software Engineering Dr.Doaa Sami
Software Engineering A systematic approach to
Software Design Lecture : 15.
UML Class & Object Diagram I
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
An Introduction to Software Architecture
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Visual Modeling Using Rational Rose
CSC 480 Software Engineering
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Stumpf and Teague Object-Oriented Systems Analysis and Design with UML
Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Stumpf and Teague Object-Oriented Systems Analysis and Design with UML
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
From Use Cases to Implementation
Presentation transcript:

About Modelling

When you want to communicate something to another person, what kind of principles do you use - e.g., how to describe a unicorn?

Understanding by Analogy “all meaning is mapping-mediated, which is to say, all meaning comes from analogies.” [1] Math terms: A homomorphism is a map from one structure to another preserving selected structures. Isomorphism is when there is a homomorphic mapping both ways - in a sense isomorphic structures are structurally identical. “Something” can only be Modelled with Analogy I relation to nature mostly homomorphism is appearing.

Descriptive Models Model describedBy given System E.g. physics : - the system under study is nature (which is given) - the mission is to come up with a description (model) that is so good that it can be used to predict and explain natural phenomenon.

What types of Models do we have in software engineering?

Specification (Prescriptive Model) & Descriptive Model The “specifiedBy role” is a specialization of the “describedBy role.” Model describedBy specifiedBy given describedBy specifiedBy specifies System System In physics the system under study is nature (which is given); the mission is to come up with a description (model) that is so good that it can be used to predict and explain natural phenomenon. The specification of a software system; the implementation (system) must conform to the model. A system is a group of interacting, interrelated, or interdependent elements that form a complex whole. Person Car :Person :Car 1 * name name=“Bob” :Car Model A Model Instance snapshot

Features of a Model A model according to Stachowiak exhibits the following features: Mapping feature A model is based on an original (there is a subject). Reduction feature A model only reflects a (relevant) selection of an original's properties. Pragmatic feature A model needs to be usable (in place of an original) with respect to some purpose.

Pragmatic Feature There is some purpose with the model. Often more cost-saving to obtain answers from a model than from the system. E.g., use a small model of a ship to test stability instead of a full scale ship. Pragmatic feature e.g. simulations. A common purpose for a model is that it is used in place of the system. Any answers obtained from the model should then be the same as those given by the system provided the model is adequate / correct. Typically, the motivation for using a model is cost-saving as it is often cheaper and/or quicker to obtain answers from a model than from the system.

What kind of model? What kind of model? Domain Model (an analysis model) What is needed in the system What kind of model? Analysis/Type Model How should the system work What kind of model? Design Model Understand Refine Implementation Model Problem Domain Map to code Code / Implemented System Install

Prescriptive models Descriptive model What is needed in the system Domain Model (an analysis model) What is needed in the system Descriptive model Analysis/Type Model How should the system work Prescriptive models Design Model Understand Refine Implementation Model Problem Domain Map to code Code / Implemented System Install

Perspectives when it comes to diagrams - one possible ways to classify this Conceptual: The concepts of the problem domain are addressed. Analysis class diagrams Platform Independent Models (PIMs). Specification: This perspective is typically employed under (early) design (PIM/Platform Specific Models (PSM)). Interfaces is typically specified, but not the implementation. Implementation: Class diagrams reflects the classes to implement PSMs. closer to the actual software solution

Reality Domain Model The Domain Person Car Concepts From The Domain owner Car DESCRIBE AND UNDERSTAND THE MAIN CONCEPTS WITHIN THE DOMAIN It is a sort of “thinking model”

Domain Model High Level Conceptual Model When you make a domain model you capture/understand the key concepts of the problem domain. A domain model is typically visualized with class diagrams. when you make a design model you specify the software types/classes you need to solve the problem Purpose: Describe and understand the main concepts within the domain and how these concepts relates to each other and the context of the system.

Glossary Often there is a glossary of terms that describes the domain classes and other classes. It is important to have a common vocabulary! E.g., from MagicDraw

Design Deals with objects and functions that will be programmed. Some classes from the Domain Model may be used and extended with operations. Classes necessary for the implementation are added. The operations can be modeled with sequence diagrams – showing responsibility and interaction.

Design / Implementation Model The design ends up with an implementation model. Automatic or manual mapping to code. The implementation model is a full specification of the system. Some tools allows you to trace back from this model to the models on higher levels of abstraction.

Requirements Analysis Static path Requirements Analysis and Capture Design Implementation Testing Use Cases Domain Model Design level Diagrams void func1() {......} ...... Methods class X{ .... } ..... Coding class X class Y use case 1 class X attribut1 .... attribut1 .... attribut1 .... Test Cases method() Sequence Diagrams obj1 met1() Obj2 use case 1 use case 2 Use Case Texts use case 2 <x>does<y> .... Functional path

References [1] Douglas Hofstadter. I Am a Strange Loop (ISBN 0-465-03078-5) (2007)