Introduction to Modeling Extracted from textbook: Object Oriented Modeling and Design with UML M. Blaha, J. Rumbaugh.

Slides:



Advertisements
Similar presentations
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Advertisements

A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Object-Oriented Analysis and Design
CS3773 Software Engineering Lecture 03 UML Use Cases.
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
Use-case Modeling.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Documenting Requirements using Use Case Diagrams
Object Oriented Design. Goals  Levels of abstraction  Workshop: group meeting for Pragmatic Web homework.
Introduction to UML Visual modeling Models and its importance
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
COMP 350: Object Oriented Analysis and Design Lecture 2
UML and Object Oriented Concepts
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
On Roles of Models in Information Systems (Arne Sølvberg) Gustavo Carvalho 26 de Agosto de 2010.
Principles of Object Technology Module 1: Principles of Modeling.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 1, Introduction to Software Engineering.
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Software Design: An Introduction by David Budgen Presented by Shane Marcus EEL 6883 – Spring 2007 Presented by Shane Marcus EEL 6883 – Spring 2007.
CS 360 Lecture 6.  A model is a simplification of reality  We build models to better understand the system being developed.  We build models of complex.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Introduction To System Analysis and Design
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
1 Introduction to Software Engineering Lecture 1.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
9/01RUT1 NASA OSMA SAS '01 R equirements U se case T ool James R. McCoy SRS Information Services NASA Software Assurance Technology Center
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
1 UML Distilled 3e by Martin Fowler Chapter 1 Introduction to UML.
1 Introduction to UML. 2 What is UML? UML is an acronym for Unified Modeling Language. Unified –Combines the best from existing object- oriented software.
 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 
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
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.
Modeling as a Design Technique Chapter 2 Part 1: Modeling Concepts Object-Oriented Modeling and Design Byung-Hyun Ha
Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)
© 2005 Prentice Hall1-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
SWE 513: 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.
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
The PLA Model: On the Combination of Product-Line Analyses 강태준.
Introduction to Software Modeling
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Unified Modeling Language
SysML v2 Usability Working Session
Object-Oriented Analysis
Presentation transcript:

Introduction to Modeling Extracted from textbook: Object Oriented Modeling and Design with UML M. Blaha, J. Rumbaugh

What is a Model? Software Modeling plays an important role in software engineering. –Current trends: MDSE (Model Driven SE). A model is an abstract, simplified or incomplete description/representation of a part of the real word

Modeling It is the process of creating models. Modeling is often practiced in all engineering disciplines. Modeling require a power of abstraction: Persons that cannot THINK ABSTRACTLY fail to learn modeling skills.

Abstraction Selective examination of certain aspects of a problem or system. Goal: –Isolate those aspects that are important for some purpose and suppress those aspects that are not important: essential versus details. Abstraction must always be for some purpose. Many different abstractions of the same system are possible depending on their purposes.

Abstraction Abstractions are incomplete and inaccurate. Dont search for absolute truth but for the adequacy for some purpose. A good model captures the crucial aspects of a problem and ignore the rest.

Why Modeling? Communication with customers –Products engineers/architects build models to show to customers. –Prototypes/Mock ups: demonstration that imitate some of or all of the external behavior of a system

Why Modeling? Reduction of complexity: –The main reason for modeling is to deal with systems that are too complex to understand directly. –The human mind cope with only a small amount of information at one time. –Models reduce complexity by separating out a small number of important things to deal with at a time.

What to model? Real World Modeling: –Usage1: facilitate understanding of a problem in the real world without the intention of developing an application based on the model. Example1: Business process reengineering (business improvement goal) Example2: Requirement elicitation step (software development) – Usage2: Develop an application that simulates the real world. Example: Aircraft flight simulation Ref: Object oriented real-world modeling revisited –Sadahiro Isoda

What to model? “Cyber” Real World –Usage: Develop an application that automates business in the real world –Examples: – Automating University library – Automating Student Registration Ref: Object oriented real-world modeling revisited – Sadahiro Isoda

Modeling in SE MDSE based on the idea that SE life cycle phases produce and consume models. Models produced during a given phase will be consumed and used in next phases. Artifacts: requirement models, analysis models, design models, testing models, implementation model (code).

Uses of Models in SE Models as sketches : Developers find it useful to sketch descriptions of requirements, design or deployment concepts on whiteboards or paper when discussing their ideas with other developers or customer representatives Models as analysis artifacts : Developers build analyzable models to check specified properties (e.g., consistency and satisfiability properties), to predict implementation qualities (e.g., performance), or to simulate implemented behavior Models as the basis for code generation or synthesis of software artifacts : Models can be built for the purpose of generating implementations, test cases, deployment or software configuration scripts, or other software artifacts.

Modeling in SE It is useful to model a system from different but related viewpoints. Each viewpoint captures important aspects of the system. A combination of these viewpoints must capture a complete description of the system. Each model is intended to describe one aspect/viewpoint of a system but contains references to the other models.

Which viewpoints to model? Functional/process aspect. Structural/Data aspect Behavioral/Dynamic aspect Interaction/collaboration aspect

How to express Models? Need of modeling languages to express models. Modeling languages should be simple enough to be comprehensible and usable by modelers. Modeling languages should be expressive and abstract.

Typology of modeling languages Various criteria may be used to make a classification of modeling languages: –Textual versus diagram based syntax. –General purpose or Domain based modeling languages