Chapter 3 Models and Modeling
• 3.1. Definitions• 3.2. Models as Aid to Understanding• 3.3. Early Methods (Pre-Modeling)• 3.4. Models in Systems Development• 3.5. Some Early Models
3.1 Definitions
Data
Information
Model
Abstraction
Data
• What comes first into your mind when hear the
word “Data?”
– Information (Information is data that has in some way been made useful for someone.)
– Numbers– Bits– Bytes– Facts
• All of these are right . . .
Definition of Data “Data” is the plural of the Latin “Datum”
meaning “Fact.”
• Note statisticians usually say “The data are . . . ”• Programmers typically say “The data is . . . ”• So “Data” means “Facts”• I like to call them “Raw Facts” since they are not
yet processed in any way
3.1 Definitions
Data
InformationModel
Abstraction
Information
What is the difference between
“data” and
“Information?”
Information
To manage the Department, your professor and her/his colleagues need to know in detail:
•
– What day this is– What class this is– Who should be here– Who actually showed up– Who is teaching
Information
• We have summarized our raw data, and• Presented it, so• The President now has useful information,
• Useful for Decision-Making
Information
Definition:
Information is derived from Data by some form of processing which makes it
useful in some way, typically for making decisions.
3.1 Definitions
Data
Information
ModelAbstraction
What comes to mind when
you hear the word “Model?”
• Smaller than real thing
• Looks the same (model vs reality)
• Made of different stuff• Does some of the
same things
• A representation• For trying things out• For understanding
something
Here’s an example of a model: Q: How do auto designers decide what shape a car should
be? A1: Build one and drive it.
WRONG! A2: Build one and put it in a wind tunnel. Closer. A3: Build a MODEL and put it in a wind tunnel.
RIGHT !!!
But does the model look like a real car?
Not Exactly.• Same shape• 1/3 scale• Clay over wood frame
• No doors• No motor• No windows• No seats• No paint
It has the right shape . . .
• So the air will flow around it just like the real thing
• In other words:
It has what it needs for the problem at hand
Mannequins in a clothing store:
• Do well at displaying clothes,• Lack certain essential features of a real
person,
• But they have what they need,
For the job at hand.
Other Models• House plans• Electrical schematics• Maps• Blueprints• Program flowcharts• Equations - a “Mathematical Model”
Each of these in some way represents something in the real world that is too big or
complex to understand as it stands. So each is simplified, or reduced in size, scope or scale.
Model - Definition
Thus, a Model is a simplified representation of a complex reality, usually for the purpose of
understanding that reality, and having all the features necessary for the
current task or problem.
3.1 Definitions
Data
Information
Model
Abstraction
Abstraction• Modeling is actually a form of abstraction.
• Model - we build something,
• With the features needed for the problem at hand.
• This is the essence of Abstraction.
Abstraction
Definition:The process of focusing on those
features that are essential for the task at hand, and ignoring those that are
not.
SUMMARY
Data = Facts
Information = Useful
Model = Simplification of a complex reality.
Abstraction = Focussing on what is relevant for the task.
3.2 Models as an Aid to Understanding
• The Pervasiveness of Models– Any equation that describes something
in the real world is a model• A Child’s First model
– Each of us has been using objects implicitly all our lives.
The Pervasiveness of Models
Models are:• “Usually for the purpose of understanding” Models can be:• Equations• Simulations (including video games)• Physical models• Mental models• Etc.
A Child’s First Model. . .
Since birth (or perhaps before)
we have all been using object models. . .
Mental Models and our World View
A newborn baby is A newborn baby is Bombarded by random Bombarded by random sensory inputssensory inputs
Mental Models and our World View
A newborn baby is bombardedA newborn baby is bombardedby random sensory inputsby random sensory inputsand postulates the existence and postulates the existence of of OBJECTSOBJECTS
• Have attributes• Have attribute values• Are capable of behavior• Exhibit this behavior in response to messages
These objects:These objects:
These objects:These objects:
In this way the child learns to In this way the child learns to
predict and then to manipulate predict and then to manipulate
its environment.its environment.
In this way the child learns to In this way the child learns to
predict and then to manipulate predict and then to manipulate
its environment.its environment.
• Have attributes• Have attribute values• Are capable of behavior• Exhibit this behavior in response to messages
These objects:These objects:
These objects:These objects:
So the child is able to make sense of,So the child is able to make sense of,
and to work with,and to work with,
what must seem to her/him like anwhat must seem to her/him like an
INCREDIBLY COMPLEX UNIVERSE.INCREDIBLY COMPLEX UNIVERSE.
So the child is able to make sense of,So the child is able to make sense of,
and to work with,and to work with,
what must seem to her/him like anwhat must seem to her/him like an
INCREDIBLY COMPLEX UNIVERSE.INCREDIBLY COMPLEX UNIVERSE.
So the child is able to make sense of,So the child is able to make sense of,
and to work with,and to work with,
what must seem to her/him like anwhat must seem to her/him like an
INCREDIBLY COMPLEX UNIVERSEINCREDIBLY COMPLEX UNIVERSE..
So the child is able to make sense of,So the child is able to make sense of,
and to work with,and to work with,
what must seem to her/him like anwhat must seem to her/him like an
INCREDIBLY COMPLEX UNIVERSEINCREDIBLY COMPLEX UNIVERSE..
THIS IS THE SAME TASK ANTHIS IS THE SAME TASK AN
ANALYST FACES WHEN ANALYST FACES WHEN
TRYING TO UNDERSTAND A TRYING TO UNDERSTAND A
USER’S BUSINESSUSER’S BUSINESS!!!!
THIS IS THE SAME TASK ANTHIS IS THE SAME TASK AN
ANALYST FACES WHEN ANALYST FACES WHEN
TRYING TO UNDERSTAND A TRYING TO UNDERSTAND A
USER’S BUSINESSUSER’S BUSINESS!!!!
OBJECTS ARE A MOST OBJECTS ARE A MOST NATURAL AND EFFECTIVE NATURAL AND EFFECTIVE
WAY TO HANDLE AND WAY TO HANDLE AND UNDERSTAND COMPLEXITYUNDERSTAND COMPLEXITY
3.3 Early Methods (Pre-Modeling)
• The Systems Development Life-Cycle (SDLC)
• 1950s and Early 1960s: Unsystematic• Late 1960s: Output-Oriented
The Systems Development Life-Cycle (SDLC)
• Recognized circa 1970• Development follows a pattern• Reproducible• All steps are necessary
The Systems Development Life-Cycle (SDLC)
• Analysis: What users need system to do
• Design: Plan of how the system will do it.
• Construction: Write and Test the code
• Implementation: • Install software in production• Train users• Parallel run
• We will revisit the SDLC in Chapter 6
1950s and Early 1960s: Unsystematic
• The Process of Systems Analysis was not well understood.
• The Problems were poorly understood.• Focus was often on solutions.• Efficiency vs Effectiveness.
Efficiency vs Effectiveness
Efficiency is doing the job right;
Effectiveness is
doing the right job!!
Before we begin to solve a problem
We must clearly
Understand and
Define it.
This is what Analysis is all about, but This is what Analysis is all about, but this was not generally recognized this was not generally recognized
until the late 1960suntil the late 1960s. . .. . .
Late 1960s: Output-Oriented Methodologies
Methodology:
A body of methods, rules and postulates (i.e., beliefs), or a set of procedures, employed by
some discipline (in this case MIS.)
Late 1960s: Output-Oriented Methodologies
• Start with user’s vision of output reports
• Work back through calculation and storage to input.
• Added organization and rigor to the process
• Completeness check
Late 1960s: Output-Oriented Late 1960s: Output-Oriented MethodologiesMethodologies
Benefits:Benefits:
Late 1960s: Output-Oriented Late 1960s: Output-Oriented MethodologiesMethodologies
Problems:Problems:• Design is customized to the known set of
outputs• System difficult to change as users’ needs
inevitably change.• Small change can cause a cascade of changes
back through the system• Maintenance still a problem
3.4 Models in Systems 3.4 Models in Systems DevelopmentDevelopment
• First, some general comments about using models for systems development:
Listening skills (SA is a people-oriented profession Notations, techniques and sensitivity Users get a new view of their job Development effort moved up front Early detection of errors Quality
• Then, two kinds of earlier models :• Functional decomposition• Process models: Data Flow Diagrams (DFDs)
Listening SkillsListening Skills
• Analyst is here to listen and learn about Users’ business operation and their problems.
• Listening is a skill that needs to be developed.
• Modeling methods add structure to user interviews
• They are tools for effective Analysis and Design
““God gave us two God gave us two ears and one mouth!”ears and one mouth!”
It is by interacting with It is by interacting with peoplepeople and observing and observing peoplepeople that we that we
learn to understand our users’ learn to understand our users’ world, and the difficulties they world, and the difficulties they
have with some parts of ithave with some parts of it
To understand the users’ world we need three things:
• Modeling notations• Modeling techniques• People sensitivity
To understand the users’ world we need three things:
• Modeling notations• To document what we learn• To communicate with the users
To understand the users’ To understand the users’ world we need three things:world we need three things:
• Modeling techniques• To ensure we use the tools properly• To give an accurate picture of the users’
operation
To understand the users’ To understand the users’ world we need three things:world we need three things:
• People sensitivity• Interviewing and listening skills
• To ensure that we gather all relevant information
• So our models form a complete and accurate picture of the users’ business
Users get a new view of their jobUsers get a new view of their job
• The users have probably never considered their own business from the point of view of the data and info.– The information aspects of their operation are something
totally new to most users.
• Object modeling will give them a new view of their own world
• This can give them new insights, often leading to improvements in the way they operate
• Thus, OOA is now also used by management consultants for Business Process Reengineering (BPR)
We can say that
A business is driven by its data
or alternatively:
A business rests upon a
Pool of Data
Users get a new view of their jobUsers get a new view of their job
This data represents all the things the users need to
know at each step of their job to make their business
run.
Development effort moved up frontDevelopment effort moved up front
• All modeling-based methods force us to do more work on the earliest stages of a project.
• This is important, since we must first understand and define the problem before we begin designing a solution.
• This is related to the need to correct errors early (see next section ).
Development effort moved up frontDevelopment effort moved up front(graph on pg 40) (graph on pg 40)
AnalysisAnalysis DesignDesign CodingCoding ImplementationImplementation MaintenanceMaintenance
Old way
New way
But there is a problem:
• Management expect see “results” for all the time and money spent,
• But we could model for weeks or months and not produce any code or screens.
• Modern methodologies thus focus on “Deliverables.”
Development effort moved up frontDevelopment effort moved up front
• Deliverables: Documentation or other products that are produced at the end of each phase and sub-phase of the project.
• Producing them tells us we have reached the end of that phase.
Development effort moved up frontDevelopment effort moved up front
Early detection of errorsEarly detection of errors
In systems development,• 56% of errors are in determining the users’
requirements.
• But 81% of time, effort and expense
are used to correct those 56% of the errors.
1010
Error occurs Error occurs Jan 13Jan 13
Work proceedsWork proceedsat (say) 10 person-at (say) 10 person-days per monthdays per month
Error foundError foundFeb 13Feb 13
Error foundError foundMar 13Mar 13
10 10 person-days of work person-days of work has been done assuming has been done assuming the error is not there. the error is not there. Now this must be redone.Now this must be redone.
If error found this late, If error found this late,
2020 person-days mustperson-days mustbe redonebe redone
Wor
k (
pers
on-d
ays)
Wor
k (
pers
on-d
ays)
TimeTime
2020
Early detection of errorsEarly detection of errors
• The earlier we are in the project, the more important it is to get it right.
• When we do make an error, it is critical to find and fix it ASAP.
Early detection of errorsEarly detection of errors
So we mustSo we must get it right the first time.get it right the first time.
QualityQuality
We must build an information system that We must build an information system that does:does:
• The right job (Effectiveness)• Well (Efficiency)• The way the users need it done• For an adequate number of years• With flexibility for changes, i.e., Maintainability
• Used to be defined in terms of the product• The modern definition of Quality is in terms of
the Customer.
Quality = Customer Satisfaction
QualityQuality
3.5 Some Early Models3.5 Some Early Models
• Functional Decomposition
• Process models: Data Flow Diagrams (DFDs)
Functional Decomposition
• Decomposition = Breaking Down.
• Breaking down the users’ functions or processes into smaller functions.
• Helpful for process, • Does not address data.
Data Flow Diagrams (DFDs)
• Promoted in 1970s by such as Yourdon, DeMarco, Gane and Sarson, Michael Jackson(!) and others
• Do not fully address data.• In the 1980s were used alongside data
models (ERDs)
• Each was a step ahead from what went before.• Both gave a good design,
• Based on the users’ current needs.• Neither was good at handling change in how
the users do their business.
3.6 Shortcomings of Output-based 3.6 Shortcomings of Output-based and Process-based Methodsand Process-based Methods
• But more important• To have a system that could be easily
modified as the years went by,
• To reflect changes in the users’ needs.
3.6 Shortcomings of Output-based 3.6 Shortcomings of Output-based and Process-based Methodsand Process-based Methods
It wasIt was lessless urgenturgent
• DFDs and Structured Programming both made systems more modular.
• This early form of Encapsulation made the systems more resilient to change,
• Giving better systems, • But the maintenance problem was still with us.• The next step toward a solution was Chen’s Entity-
Relationship Diagrams (ERDs) to model the data needs of the organization - see Chapter 4.
3.6 Shortcomings of Output-based 3.6 Shortcomings of Output-based and Process-based Methodsand Process-based Methods
DFDs made sure the Requirements Definition DFDs made sure the Requirements Definition gave a truer picture of what the users actually gave a truer picture of what the users actually needed.needed.
Chapter 3 Summary
• Modeling is a form of abstraction.
• Object-oriented modeling works well because it is one of the fundamental ways people organize their experience internally.
A model is a simplified representation of a A model is a simplified representation of a complex reality, typically for the purpose of complex reality, typically for the purpose of understanding that reality, and having all the understanding that reality, and having all the features of that reality for the task at hand.features of that reality for the task at hand.
• Analysis: Study the users’ world to find what the users need the system to DO, without considering how the system will do it. Output: Requirements Definition.
• Design: A plan showing how the system will do it. H/w & s/w platform, language, O.S., DBMS, etc. Output: Design Specs + Program Specs.
• Construction: Programs are coded, debugged, and then tested first by team and then with users. Output: working software.
• Implementation: System installed, users trained, parallel run. Output: A functioning installed system.
Chapter 3 SummaryTheThe Systems Development Life Cycle Systems Development Life Cycle has a has a
number of steps or phases:number of steps or phases:
• Earlier methodologies focused on only the business processes.
• Object modeling first considers the data in terms of objects, the things people need to know about.
Chapter 3 SummaryThe History of Systems Analysis:The History of Systems Analysis:
1960s:1960s: Unsystematic, “Seat-of-the-Pants”Unsystematic, “Seat-of-the-Pants”Late ’60s:Late ’60s: “Output-Oriented”“Output-Oriented”1970s:1970s: Process-Oriented; Process-Oriented; DFDsDFDs1980s:1980s: Data-Oriented;Data-Oriented; ERDsERDs1990s:1990s: Object-Oriented, OOA&D, OOP.Object-Oriented, OOA&D, OOP.
• Must identify and understand the problem before we look for a solution.
• A perfect solution to the wrong problem gets us nowhere.
• “You start coding while I go see what they need!”• We techies are notorious for thinking we understand
when in fact we only have half the story!
Chapter 3 SummaryAnalysis modeling forces us to Analysis modeling forces us to spend more up-front time with spend more up-front time with users.users.
• Objects cause much more reuse of code and analysis, plus get it closer to right the first time.– Cost is time spent in analysis.– Benefit is errors found earlier.
• Overall:– Higher quality– Reduced cost
Compared with earlier methods.
Chapter 3 SummaryObject modeling has shown the Object modeling has shown the greatest reductions in both initial greatest reductions in both initial coding and maintenance.coding and maintenance.
End of Chapter 3