Chapter 3 System Models

Similar documents
System Models. Minsoo Ryu. Hanyang University. Real-Time Computing and Communications Lab., Hanyang University

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 1

System models Abstract descriptions of systems whose requirements are being analysed. System modelling. Structured methods

Lesson 06. Requirement Engineering Processes

Software Engineering

Chapter 5 System modeling

Ch t 8 Chapter 8. System Models

Unified Modeling Language (UML) Class Diagram

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc.

Object-Oriented Systems Analysis and Design Using UML

Software Service Engineering

Object oriented Programming

2. SYSTEM MODELS, DESIGN AND IMPLEMENTATION

OO Techniques & UML Class Diagrams

Chapter 8: Enhanced ER Model

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

Solved Question Paper June 2017

Data Flow Diagrams System Analysis ( (

Managing Change and Complexity

Unit 6 - Software Design and Development LESSON 10 DESIGN TOOLS, INPUTS, OUTPUTS, STORYBOARDS

Module Outline. What is Object-Oriented? Some Possible Definitions. Why Object-oriented? Fundamentals of Object Orientation

Object-Oriented Systems Development: Using the Unified Modeling Language

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Unified Modeling Language (UML) and Modeling

MCQS for Midterm cs504 Combined by Anees Ahmad

Data Warehouse and Data Mining

CSCU9T4: Managing Information

06. Analysis Modeling

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

Introduction to UML. Danang Wahyu utomo

Object-Oriented Analysis Techniques Coad s OOA Technique Short History Terminological Comparison Postscript and Remarks

CSE 403: Software Engineering, Spring courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams. Emina Torlak

SE310 Analysis and Design of Software Systems

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram

Fundamentals of Health Workflow Process Analysis and Redesign

Inheritance and Interfaces

UML Tutorial. Unified Modeling Language UML Tutorial

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa

Object-Oriented Modeling Using UML. CS151 Chris Pollett Aug. 29, 2005.

Object-oriented development. Object-oriented Design. Objectives. Characteristics of OOD. Interacting objects. Topics covered

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

Today s Agenda UML. CompSci 280 S Introduction to Software Development. 1.Introduction UML Diagrams. Topics: Reading:

Basic Object-Orientation

SDC Design patterns GoF

Slide 1 Welcome to Fundamentals of Health Workflow Process Analysis and Redesign: Process Mapping: Gane-Sarson Notation. This is Lecture d.

Methods for requirements engineering

Computer Science for Engineers

(Murlidhar Group of Institutions,Bhavnagar Road, Rajkot) by:-assit. Prof. Vijay Vora (SOOADM) MCA-III

CMPT 354 Database Systems I

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects,

administrivia today UML start design patterns Tuesday, September 28, 2010

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

Software Development Cycle. Unified Modeling Language. Unified Modeling Language. Unified Modeling Language. Unified Modeling Language.

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

Object-Oriented Introduction

2. Classes & Inheritance. Classes. Classes. Éric Tanter Objects and Design in Smalltalk. How do you create objects?

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

OO is considered to be supported in three points which are usually symbolized as the three vertexes of a triangle: Encapsulació i ocultació

Unit Wise Questions. Unit-1 Concepts

Software Design and Analysis CSCI 2040

Enterprise Architect. User Guide Series. Domain Models

Software Development. Designing Software

Relationships. Association Aggregation/Composition Multiplicity Dependencies

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

Object- Oriented Design with UML and Java Part I: Fundamentals

12 Tutorial on UML. TIMe TIMe Electronic Textbook

Business Process Modelling

Comparative Analysis of Architectural Views Based on UML

Design Patterns. Design Patterns

Unified Modeling Language (UML)

Structured and Object Oriented Analysis and Design

Chapter 7 Design and Implementation

From Analysis to Design. LTOOD/OOAD Verified Software Systems

Geog 469 GIS Workshop. System Requirements - Data

Overview. Elements of Programming Languages. Objects. Self-Reference

Inheritance Metrics: What do they Measure?

Models versus Ontologies - What's the Difference and where does it Matter?

CS352 Lecture - Data Models

CSC207 Week 3. Larry Zhang

UML Views of a System

Software Engineering. Part 3. Design. - Application Architectures - Object-Oriented Design - Real-Time Software Design

Course 3 7 March

Object-Oriented Design

Inheritance and Encapsulation. Amit Gupta

Topic 3 Unified Modeling Language UML. Objective: Student will use UML to represent relationshiops between objects, its structure and dynamics.

CS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam

UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification

Programming Methods. Simple things should be simple, complex things should be possible.

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD: ,

Object-Oriented Design

Design and UML Class Diagrams

Rules of Writing Software Requirement Specifications

UML Class Diagrams Revisited

Vidyalankar. T.Y. Diploma : Sem. VI [IF/CM] Object Oriented Modeling and Design Prelim Question Paper Solution

Requirements Engineering

UML Component Diagrams A.Y 2018/2019

Notation Part 1. Object Orientated Analysis and Design. Benjamin Kenwright

Transcription:

March 16, 2009

Introduction Graphical models aid in requirements and development

Introduction Graphical models aid in requirements and development Different perspectives are possible: external: context or environment modeling behavioral structural: system or data architecture

Introduction Graphical models aid in requirements and development Different perspectives are possible: external: context or environment modeling behavioral structural: system or data architecture Leave out details representation, abstraction

Introduction Graphical models aid in requirements and development Different perspectives are possible: external: context or environment modeling behavioral structural: system or data architecture Leave out details representation, abstraction types of models: data-flow model architectural model classification model: object model stimulus-response model: state-transition diagrams

Introduction Graphical models aid in requirements and development Different perspectives are possible: external: context or environment modeling behavioral structural: system or data architecture Leave out details representation, abstraction types of models: data-flow model architectural model classification model: object model stimulus-response model: state-transition diagrams use UML

Outline 1 Context Models 2 Behavioral Models 3 Data Models 4 Object Models

Context Models decide early on system boundaries

Context Models decide early on system boundaries easy in some cases; flexible in other example: replace existing manual system

Context Models decide early on system boundaries easy in some cases; flexible in other example: replace existing manual system next develop context model show context and dependencies on environment detailed relationships are note shown use process or data-flow models

Context Model for an ATM System

Process Model for Equipment Producrement

Outline 1 Context Models 2 Behavioral Models 3 Data Models 4 Object Models

Introductiom Describe overall behavior of system Two types: data-flow models state machine models

Introductiom Describe overall behavior of system Two types: data-flow models state machine models Businesses rely mostly on data or information use data-flow models for modeling behavior

Introductiom Describe overall behavior of system Two types: data-flow models state machine models Businesses rely mostly on data or information use data-flow models for modeling behavior Real-time systems are event driven with minimal data processing use state machines for preseting behavior

Data-Flow Models Shows how the system processes data e.g.: filter duplicate records from a customer database

Data-Flow Models Shows how the system processes data e.g.: filter duplicate records from a customer database Convention: rounded rectangles: data processing square rectangles: data stores labelled arrows: data flow through system

DFD for Order Processing

DFD for Insulin Pump

Use and Advantages of DFD show a functional perspective each transformation represents a single function or process show end-to-end processing

Use and Advantages of DFD show a functional perspective each transformation represents a single function or process show end-to-end processing Simple and intuitive

Use and Advantages of DFD show a functional perspective each transformation represents a single function or process show end-to-end processing Simple and intuitive Understandable by system users

Use and Advantages of DFD show a functional perspective each transformation represents a single function or process show end-to-end processing Simple and intuitive Understandable by system users Top-down approach, in principle

State Machine Models System s responses to internal or external events

State Machine Models System s responses to internal or external events Shows system states (one at a time) events that cause transformation between states

State Machine Model of a Microwave Oven Figure: UML-based state machine model

Microwave Oven States

Microwave Oven Stimuli

Some Issues with State Machine Models Can grow exponentially with size of system

Some Issues with State Machine Models Can grow exponentially with size of system One solution: use super and sub states

Microwave Operation Super-state

Outline 1 Context Models 2 Behavioral Models 3 Data Models 4 Object Models

Data Most software systems focus on data

Data Most software systems focus on data independent of system created for the system

Data Most software systems focus on data independent of system created for the system Semantic data models: logical form of the data

Data Most software systems focus on data independent of system created for the system Semantic data models: logical form of the data

Semantic Data Models Most common:

Semantic Data Models Most common: entity-relation-attribute model

Semantic Data Models Most common: entity-relation-attribute model Usually in third normal form

Semantic Data Models Most common: entity-relation-attribute model Usually in third normal form Easy to tranform to OO design

Sample ERA mdoel

Semantic Data Models Since graphical, lacks details

Semantic Data Models Since graphical, lacks details Use data dictionary

Semantic Data Models Since graphical, lacks details Use data dictionary keep detailed description of all names

Semantic Data Models Since graphical, lacks details Use data dictionary keep detailed description of all names name management

Semantic Data Models Since graphical, lacks details Use data dictionary keep detailed description of all names name management organization information storage

Data Dictionary

Outline 1 Context Models 2 Behavioral Models 3 Data Models 4 Object Models

Object-Oriented Modeling Identify classes of objects used in the domain

Object-Oriented Modeling Identify classes of objects used in the domain Most commonly modeling technique today

Object-Oriented Modeling Identify classes of objects used in the domain Most commonly modeling technique today particularly for interactive systems as compared to what?

Object-Oriented Modeling Identify classes of objects used in the domain Most commonly modeling technique today particularly for interactive systems as compared to what? Involves:

Object-Oriented Modeling Identify classes of objects used in the domain Most commonly modeling technique today particularly for interactive systems as compared to what? Involves: system requirements in object model

Object-Oriented Modeling Identify classes of objects used in the domain Most commonly modeling technique today particularly for interactive systems as compared to what? Involves: system requirements in object model design using objects

Object-Oriented Modeling Identify classes of objects used in the domain Most commonly modeling technique today particularly for interactive systems as compared to what? Involves: system requirements in object model design using objects develop in an OO language (Java, C++, Smalltalk,...)

Object-Oriented Modeling Identify classes of objects used in the domain Most commonly modeling technique today particularly for interactive systems as compared to what? Involves: system requirements in object model design using objects develop in an OO language (Java, C++, Smalltalk,...) We will learn more in OO design

Object-Oriented Modeling Identify classes of objects used in the domain Most commonly modeling technique today particularly for interactive systems as compared to what? Involves: system requirements in object model design using objects develop in an OO language (Java, C++, Smalltalk,...) We will learn more in OO design Represent: data and its processing

Object Model Class

Object Model Class abstraction over set of objects

Object Model Class abstraction over set of objects identifies common attributes and services

Object Model Class abstraction over set of objects identifies common attributes and services Object

Object Model Class abstraction over set of objects identifies common attributes and services Object executable entity instantiated from a class

Object Model Class abstraction over set of objects identifies common attributes and services Object executable entity instantiated from a class models developed during requirements phase focus on: classes relationships not details of objects

Object Model Class abstraction over set of objects identifies common attributes and services Object executable entity instantiated from a class models developed during requirements phase focus on: classes relationships not details of objects identification of objects is difficult

Unified Modeling Language Developed specifically for OO, circa 1999

Unified Modeling Language Developed specifically for OO, circa 1999 Standard graphical language with several notation scheme

Unified Modeling Language Developed specifically for OO, circa 1999 Standard graphical language with several notation scheme Class represented as rectangle with sections: name attributes operations

UML Example

Inheritance Models Class model is organized into a taxonomy

Inheritance Models Class model is organized into a taxonomy classification scheme showing how classes are related

Inheritance Models Class model is organized into a taxonomy classification scheme showing how classes are related Taxonomy is often shown by inheritance diagram

Inheritance Models Class model is organized into a taxonomy classification scheme showing how classes are related Taxonomy is often shown by inheritance diagram general object at top specialized objects at bottom sharing attributes and services

Inheritance Models Class model is organized into a taxonomy classification scheme showing how classes are related Taxonomy is often shown by inheritance diagram general object at top specialized objects at bottom sharing attributes and services inheritance show upwards/downwards

Inheritance Models Class model is organized into a taxonomy classification scheme showing how classes are related Taxonomy is often shown by inheritance diagram general object at top specialized objects at bottom sharing attributes and services inheritance show upwards/downwards point from subclass to super class

Inheritance Models Class model is organized into a taxonomy classification scheme showing how classes are related Taxonomy is often shown by inheritance diagram general object at top specialized objects at bottom sharing attributes and services inheritance show upwards/downwards point from subclass to super class inheritance generalization relationship in UML

Library Item Inheritance Model

Library User Inheritance Model

Object Modeling Requires domain knowledge; subtle issues are common

Object Modeling Requires domain knowledge; subtle issues are common For e.g.: why is the title not in Library Item?

Object Modeling Requires domain knowledge; subtle issues are common For e.g.: why is the title not in Library Item? how much generalization?

Object Modeling Requires domain knowledge; subtle issues are common For e.g.: why is the title not in Library Item? how much generalization?

Multiple Inheritance Can inherit from multiple parent classes

Multiple Inheritance Can inherit from multiple parent classes

Multiple Inheritance Can inherit from multiple parent classes Issues:

Multiple Inheritance Can inherit from multiple parent classes Issues: should not inherit unnecessary attributes

Multiple Inheritance Can inherit from multiple parent classes Issues: should not inherit unnecessary attributes reorganizing is difficult

Multiple Inheritance Can inherit from multiple parent classes Issues: should not inherit unnecessary attributes reorganizing is difficult name clashes

Multiple Inheritance Can inherit from multiple parent classes Issues: should not inherit unnecessary attributes reorganizing is difficult name clashes more problematic at programming stage

Object Aggregation An object may contain other objects

Object Aggregation An object may contain other objects