Lecture-3 07/02/2013
What is a Model?
Model can be defined in various ways: 1. A model is a simplification of reality. 2. A model is an abstraction of something for the purpose of understanding it before building it. 3. A database model that stores data as objects.
Cont
A model may provide
blueprints (plan, design, proposal) of a system Organization of the system Dynamic of the system
Designers build many kinds of models for various purposes before constructing things. Example
Architectural models to show customers Airplane scale models for wind tunnel tests Pencil sketches for composition of oil paintings Blueprints of machine parts Storyboards of advertisements Outlines of books
Example
Purpose of Models
Models serve several purposes: 1. Testing a physical entity before building it 2. Communication with customers 3. Visualization 4. Reduction of Complexity
Why We Model
A successful software organization is one that consistently deploys quality software that meets the needs of its users. An organization that can develop such software in a timely and predictable fashion, with an efficient and effective use of resources, both human and material, is one that has sustainable business.
Why We Model
Model is built to
Communicate the desired structure and behavior of the system Visualize and control the systems architecture Better understand the system that being built Manage risk Expose opportunities for simplification and reuse
Why We Model
We build models so that we can see and better understand the system we are developing.
Importance of Modeling
Models help us
to visualize a system as it is or as we want it to be. to specify the structure or behavior of a system. in providing a template that guides us in constructing a system. in providing documenting the decisions we have made.
10
Principles of Modeling
The choice of what models to create has a major influence on how a problem is approached and how a solution is shaped. Every model may be expressed at different levels of precision. The best models are connected to reality. No single model is sufficient. Every nontrivial system is best approached through a small set of nearly independent models.
11
Objected-Oriented Modeling
Two most common ways in modeling software systems are
Algorithmic
Pseudo code Flowchart
Object oriented
Objects or classes
12
Abstraction
In object oriented modeling, abstraction is the selective examination of certain aspects of a problem. The goal of abstraction is to isolate those aspects that are important for some purpose and suppress those aspects that are unimportant. The purpose of abstraction is to limit the universe so we can do things.
Object Model
It describes the structure of objects in a system. These include:
Object identity Relationship with other objects Attributes Operations
The object model provides the essential framework into which dynamic and functional models can be placed
Cont
Our goal in constructing an object model is to capture those concepts from the real world that are important to an application. In modeling an engineering problem, the object model should contain terms familiar to engineers, similarly in modeling a business problem terms from the business are used. The object model is represented graphically with object diagrams.
Example
Example
Example
Dynamic Model
It describe those aspects of a system concerned with time and the sequencing of operations. These include:
Events that mark changes Sequences of events States that define the context for events Organization of events and states
The dynamic model captures control, that aspect of a system that describes the sequences of operations that occur without regard for what the operations do, what they operate on, or how they are implemented. It is represented graphically with state diagrams. Each state diagram shows the state and event sequences permitted in a system for one class of objects.
Example
Example 2
Functional Model
It describe those aspects of a system concerned with transformation of values. These include:
Functions Mappings Constraints Functional Dependencies
Example
Cont
The goal is to simplify the system description without loading down the model with so many constructs that it becomes a burden and not a help. For those things that the model does not adequately capture natural language or application-specific notation is still a perfectly acceptable tool.