chapter 3 models and modeling 3.1. definitions 3.2. models as aid to understanding 3.3. early...

74
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

Upload: ella-thomas

Post on 27-Dec-2015

224 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: 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

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

Page 2: 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.1 Definitions

Data

Information

Model

Abstraction

Page 3: 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

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 . . .

Page 4: 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

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

Page 5: 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.1 Definitions

Data

InformationModel

Abstraction

Page 6: 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

Information

What is the difference between

“data” and

“Information?”

Page 7: 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

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

Page 8: 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

Information

• We have summarized our raw data, and• Presented it, so• The President now has useful information,

• Useful for Decision-Making

Page 9: 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

Information

Definition:

Information is derived from Data by some form of processing which makes it

useful in some way, typically for making decisions.

Page 10: 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.1 Definitions

Data

Information

ModelAbstraction

Page 11: 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

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

Page 12: 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

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 !!!

Page 13: 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

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

Page 14: 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

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

Page 15: 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

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.

Page 16: 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

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.

Page 17: 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

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.

Page 18: 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.1 Definitions

Data

Information

Model

Abstraction

Page 19: 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

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.

Page 20: 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

Abstraction

Definition:The process of focusing on those

features that are essential for the task at hand, and ignoring those that are

not.

Page 21: 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

SUMMARY

Data = Facts

Information = Useful

Model = Simplification of a complex reality.

Abstraction = Focussing on what is relevant for the task.

Page 22: 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.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.

Page 23: 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

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.

Page 24: 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

A Child’s First Model. . .

Page 25: 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

Since birth (or perhaps before)

we have all been using object models. . .

Page 26: 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

Mental Models and our World View

A newborn baby is A newborn baby is Bombarded by random Bombarded by random sensory inputssensory inputs

Page 27: 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

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

Page 28: 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
Page 29: 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

• Have attributes• Have attribute values• Are capable of behavior• Exhibit this behavior in response to messages

These objects:These objects:

These objects:These objects:

Page 30: 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

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:

Page 31: 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

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.

Page 32: 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

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!!!!

Page 33: 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

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

Page 34: 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.3 Early Methods (Pre-Modeling)

• The Systems Development Life-Cycle (SDLC)

• 1950s and Early 1960s: Unsystematic• Late 1960s: Output-Oriented

Page 35: 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

The Systems Development Life-Cycle (SDLC)

• Recognized circa 1970• Development follows a pattern• Reproducible• All steps are necessary

Page 36: 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

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

Page 37: 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

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.

Page 38: 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

Efficiency vs Effectiveness

Efficiency is doing the job right;

Effectiveness is

doing the right job!!

Page 39: 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

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. . .. . .

Page 40: 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

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.)

Page 41: 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

Late 1960s: Output-Oriented Methodologies

• Start with user’s vision of output reports

• Work back through calculation and storage to input.

Page 42: 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

• Added organization and rigor to the process

• Completeness check

Late 1960s: Output-Oriented Late 1960s: Output-Oriented MethodologiesMethodologies

Benefits:Benefits:

Page 43: 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

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

Page 44: 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.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)

Page 45: 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

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!”

Page 46: 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

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

Page 47: 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

To understand the users’ world we need three things:

• Modeling notations• Modeling techniques• People sensitivity

Page 48: 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

To understand the users’ world we need three things:

• Modeling notations• To document what we learn• To communicate with the users

Page 49: 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

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

Page 50: 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

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

Page 51: 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

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)

Page 52: 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

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

Page 53: 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

This data represents all the things the users need to

know at each step of their job to make their business

run.

Page 54: 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

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 ).

Page 55: 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

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

Page 56: 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

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

Page 57: 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

• 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

Page 58: 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

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.

Page 59: 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

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

Page 60: 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

• 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.

Page 61: 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

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

Page 62: 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

• Used to be defined in terms of the product• The modern definition of Quality is in terms of

the Customer.

Quality = Customer Satisfaction

QualityQuality

Page 63: 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 Models3.5 Some Early Models

• Functional Decomposition

• Process models: Data Flow Diagrams (DFDs)

Page 64: 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

Functional Decomposition

• Decomposition = Breaking Down.

• Breaking down the users’ functions or processes into smaller functions.

• Helpful for process, • Does not address data.

Page 65: 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

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)

Page 66: 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

• 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

Page 67: 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

• 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

Page 68: 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

• 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.

Page 69: 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

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.

Page 70: 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

• 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:

Page 71: 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

• 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.

Page 72: 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

• 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.

Page 73: 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

• 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.

Page 74: 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

End of Chapter 3