7/30/2019 IT1402e
1/72
Modeling Methods
7/30/2019 IT1402e
2/72
Modeling Methods
How to structure the
problem?
Model
Is a presentation of reality. Just a picture is worth a thousandof words, most system models are pictorial representations
of reality.
SAMP
LEFLO
ORPLAN
The answer is just
Simple, use MODELS
7/30/2019 IT1402e
3/72
Models
Logical Models Physical Models
Show what a systemis or does?
Show not only what asystem is or does? But
also how the system is
implemented.Other names:
Implementation Model
Technical model
Other names:
Essential modelConceptual model
Business model
7/30/2019 IT1402e
4/72
Process Modeling
Process ModelingIs a technique for organizing and documenting the
structure and flow of data through a systems Processes ,policies, and procedures to be implemented by a
systems Processes.
Context DiagramIllustrate the systems interface to the business and
outside world, including other information systems.
7/30/2019 IT1402e
5/72
Process Modeling
Context Diagram
Library System
Member
Librarian
SupplierAdmission card
Application
Whole system as one process
E.g. Context Diagram of a Library System
Shows the major data flows into
and from the application, and the
system boundaries.
System boundary
7/30/2019 IT1402e
6/72
Process Modeling
Shows the top level function defined to cover the scopeof the application. It also shows the major data flows into
and from the application, and the system boundaries.
Top level function is then decomposed to its component
functions (5-9 typically).
Context Diagram
7/30/2019 IT1402e
7/72
Process Modeling
Process ModelsDFD (data flow diagram)
Data flow diagram (DFD)DFD is a tool that depicts the flow of data through a
system and the processing performed by that system.
Order
Invoic
e
Delivery notes
Supplier
Purchasing
Dept.
Stores
Document Flow Diagram can be the
Starting point
7/30/2019 IT1402e
8/72
Process Modeling
Gane and Sarson Symbols
Pay a bill
Rounded rectangleRepresent processes or work to be
done. E.g.: pay a bill, withdraw money,etc..
BankSquareRepresent external agent. E.g.: bank,
supplier, creditor, etc..
7/30/2019 IT1402e
9/72
Process Modeling
Bank Accounts
Open end box
Represent data store which is sometimes called files.
E.g.: bank, supplier, creditor, etc..
ArrowsRepresent data flows or input and
output. E.g.: payment, bill, withdraw,etc
The above notation is called Gane and Sarson.There are several competing symbols set for DFDs.
7/30/2019 IT1402e
10/72
Process Modeling
processA process is work performed on, or in response to,
incoming data flows or conditions.
Input
Hrs. 52, Rtae Rs.20
Output
0
Salary Rs. 1040Payroll
Feed back
7/30/2019 IT1402e
11/72
Process ModelingProcess DecompositionIs a act of breaking a system into its component
subsystems, processes, and sub processes.
0
UCSC System
1
Payroll sub system
2
Registration sub System
1.1
Process2.1
Process
1.2Process
2.2Process
1.1.1Sub Process
1.1.2Sub Process
1.1.1.1
1.1.1.2
Therearedif
ferentstyleof
decompositio
ndiagrams.
7/30/2019 IT1402e
12/72
Process ModelingProcess Decomposition
AdvantagesImprovedCommunication
Analysis
Design.
Decomposition continues until the functions reach
elementary level. (cannot be further decomposed)
7/30/2019 IT1402e
13/72
Process Modeling
Example:Consider a system in a bank whereby account
holders get their withdrawals affected.
Whenever an account holder wants to withdraw
some cash, he presents a cheque or withdrawal slip.
The account is checked for appropriate balance.
If balance exists, the cash is paid and the account
is updated.
7/30/2019 IT1402e
14/72
Process ModelingProcess DescriptionThe name of the process is insufficient to explain the logic
to implement the process.
Processes in the system specification should be specified in
such a way that they can be converted to computer program.
I am Kamal.How can I?Hey! Not enough
tell more.
Use process
description methods.
7/30/2019 IT1402e
15/72
Process Modeling
Methods of process description Structured English Decision Tree
Decision Table
Process Description
If my IT marks more than 70 then grade is Distinction
Else if mark more than 40 then PassElse Fail
IT Subject
Distinction* >70
* >40Pass
Fail
7/30/2019 IT1402e
16/72
Process Modeling
Structured English
Syntax is very similar to block structured languages.
Process Descriptions
Example:
IF credit limit exceeded
THENIF Customer has bad payment history
THEN refuse credit
ELSE
IF PURCHASE ABOVE Rs.1000/=THEN refuse credit
ELSE refer to manager
ELSE allow credit
7/30/2019 IT1402e
17/72
Process Modeling
Decision Tree
Process Descriptions
Credit limitexceeded
Credit limit not
exceeded Allow credit
Bad payment history Refuse credit
Good payment
History
Purchase below Rs.1000/=
Purchase above
Rs 1000 Refuse credit
Refer to Manager
7/30/2019 IT1402e
18/72
Process Modeling
Decision Table
Process Descriptions
X
Y
NN
X
N
YN
XXXX
XRefer Manager
XRefuse
N
NN
Y
YN
N
NY
Y
NY
N
YY
YPurchase above Rs.1000/=
YGood payment history
Allow Credit
YCredit limit exceeded
Conditi
on
Actio
n
Y-TRUE N-NOT TRUE X-TAKE ACTION
Better way of describing logic involving multiple condition
7/30/2019 IT1402e
19/72
Process ModelingData flowsData flows are the communication between processes and thesystem environment.
Data flowRepresent an input of data to a process or the output of data (or
information) from a process
Data flow symbol
Data flow name
Data flow names should be descriptive noun and noun phrases
that are singular. E.g. Order not Orders
7/30/2019 IT1402e
20/72
Process ModelingControl flowRepresents a condition or non data event that triggers a process.
Control flow symbol
Control flow name
I have to get up@ 5.00 a.m.
7/30/2019 IT1402e
21/72
Process ModelingIllegal vs. legal data flow
548B1 B2
88B1
8B1DS1
8DS1 DS2
B1 B1P1
B1 DS1P1
B1DS1 P1
DS1 DS1P1
7/30/2019 IT1402e
22/72
Example : DFD
Consider a system in a bank whereby account holders
get their withdrawals affected.
Whenever an account holder wants to withdraw some
cash, he presents a cheque or withdrawal slip.
The account is checked for appropriate balance.
If balance exists, the cash is paid and the account is
updated.
Process Modeling
7/30/2019 IT1402e
23/72
Withdrawal
Acknowledge
Account
Holder
Cheque/Withdraw
al Slip
Account
Holder
Example
Step 1 - Context Diagram
Using Gane and Sarson, notation
Bank
Payment
System
Process Modeling
7/30/2019 IT1402e
24/72
Withdrawal Acknowledge
Account
Holder
Cheque/Withdrawal Slip
Account
Holder
Valid
Balance
Current
BalanceNew
Balance
1Verify
A/C
Balance
2
Debit
Withdrawal
AmountAccount Master
Example
Step 2 - First Level DFD
Process Modeling
7/30/2019 IT1402e
25/72
Data ModelingA model is a representation of reality.
Logical model Physical model
Logical functions describe any changes
of value made by the processes on logicaldata.
Whereas logical functions more closely
mirror the subject world.
Logical DFDs only illustrate what occurs
without showing how it occurs.
Physical-level functions are closer to the
usage world (real world).
Usually a physical device is used to
transform data. E.g. Computer, person,
etc.
Physical DFDs show things happen, or
the physical components.
7/30/2019 IT1402e
26/72
Data ModelingEntity Relationship DiagramsDepicts data in terms of the entities and relationships
described by data.
Entities
An entity is something about which the business needs tostore data. Synonyms entity type and entity class
Example:
Employee Paris Ball Payment Concepts
7/30/2019 IT1402e
27/72
Data Modeling
Entity:is a class of
Persons Places Objects Events Concepts
An entity instance is a single occurrence of an entity. Every
entity must have an identifier or key to uniquely identifyeach instance.
about which we need to capture and store data.
Entity Relationship Diagrams
7/30/2019 IT1402e
28/72
Data Modeling
Symbol:
Consider Martin notations.
DEPARTMENTEMPLOYEE
The named rounded rectangle represent the entity.
A line represent the relationship.
Entity Relationship Diagrams
7/30/2019 IT1402e
29/72
Data Modeling
Attribute:is a descriptive property or characteristics of an entity.Sometimes called as element, property, and field.
A key is an attribute, or group of attributesthat assumes a unique value for each entity
instance. It is some time called an identifier.
EMPLOYEENIC_NO
Name
Address
Age
.
.
.
This person can be identified using his ID number.
Entity Relationship Diagrams
7/30/2019 IT1402e
30/72
Compound Attribute is one that actually consist of otherattributes.
Synonyms- composite attribute,
concatenated attributedata structure.
Example : Address
Street Address
City
Country
Postal Code
Data Modeling
Entity Relationship Diagrams
7/30/2019 IT1402e
31/72
The values for each attribute are defined in terms of threeproperties:
1. Data type What type of data can be stored in that
attribute.2. Domain What values an attribute can legitimately take on.
3. Default Is the value that will be recorded if not specifiedby the user.
Data Modeling
Entity Relationship Diagrams
7/30/2019 IT1402e
32/72
RelationshipsNatural business association that exists between one or
more entities
May represent an event that links the entities or logicalaffinity that exits between the entities.
E.g.. an EMPLOYEE assigns to a JOB
EMPLOYEE Assigns
Data Modeling
Person married relationEntity Relationship Diagrams
JOB
7/30/2019 IT1402e
33/72
Cardinality
Defines the minimum and maximum number of occurrences
of one entity that may be related to a single occurrences of
the other entity.
or
Exactly one
Data Modeling
Person married relation
Exam
ple:
Entity Relationship Diagrams
7/30/2019 IT1402e
34/72
I might bemarried or not
Data Modeling
I may havesome friends or
none
Entity Relationship DiagramsCardinality
Zero or one
Zero, one or more
7/30/2019 IT1402e
35/72
Data ModelingEntity Relationship Diagrams
Cardinality
I have to work at
least one, or more
projects.
I am working on
many projects.
One or more
More than one
7/30/2019 IT1402e
36/72
DegreeNumber of entities that participate in the relationship
Degree =1
Recursive Relationship Relationship that existsbetween different instances of the same entity.
Data Modeling
EMPLOYEE
Supervise
Entity Relationship Diagrams
7/30/2019 IT1402e
37/72
Degree =2
Binary Relationship - When two different entitiesparticipates in a relationship
Data Modeling
DEPARTMENT EMPLOYEEWorks for
Entity Relationship Diagrams
Degree
7/30/2019 IT1402e
38/72
Degree =3
Ternary or 3-ary Relationship -When more than two different
entities participates in a relationship.
Data Modeling
PROJECT EMPLOYEE
LOCATION
ASSIGNMENT
Entity Relationship Diagrams
Degree
7/30/2019 IT1402e
39/72
Object Modeling
IntroductionThe object oriented approach differs from structured
systems analysis and design.
Thus, rather than modeling systems by data flows, E-Rdiagrams or process descriptions, all three components
are integrated together into objects.
7/30/2019 IT1402e
40/72
Object Modeling
Introduction
In Object Analysis you do not need to think in terms of
building one large system.
Instead we identify objects as independent entities having
their own local goals.
Such objects exchange messages between themselves
to achieve a global goal of the large system.
7/30/2019 IT1402e
41/72
Object Modeling
Introduction
What is an Object?
Objects are the elements through which we understand theworld around us.
Objects have
recognizable identities or properties (what it knows)
and
particular behaviors or methods (What an object does)
These identities and behaviors enables us to recognize
them as discrete things
7/30/2019 IT1402e
42/72
Object Modeling
Human is an object
Properties
Skin tone
Height
Weight
Etc
Behavior
Smile
Run
Walk
Etc
Ball,Sticka
reotherob
jects
7/30/2019 IT1402e
43/72
Introduction
The object oriented approach differs from structured
systems analysis and design.
Thus, rather than modeling systems by data flows, E-R
diagrams or process descriptions, all three components
are integrated together into objects.
Data model
E-R ModelData flow
Object Modeling
7/30/2019 IT1402e
44/72
Object Modeling
Object-oriented analysis (OOA)
OOA is a technique used to:
Reuse existing components
Define new or modified objects that will be
combined with existing objects
In order to produce useful business computing application.
Reuse
New Modify
7/30/2019 IT1402e
45/72
Object Modeling
Object modeling (OM)OM is a technique for identifying objects within the
systems environment and the relationships betweenthose objects.
Class room
Identified objects in class room
Teacher Book
Chair Student
Etc
7/30/2019 IT1402e
46/72
Object ModelingClassA class is a set of objects that share common attributesand behavior. A class is sometimes referred to as anobject class.
Smile ( )
Run ( )
Study ( )
Name
Age
Grade
Student
Stud
entC
lass
Open()
Close()
ISBNauthortype
title
copyright
Book
Book
Cla
ss
7/30/2019 IT1402e
47/72
Object Modeling
Generalization/Specialization
Person
Teacher Student
Smile ( )
Run ( )Eat ( )
Name
Age
Gender
PersonGeneralization/specializa
tion is a technique whereinthe attributes and
behaviors that are common
to several types of objectclasses are grouped into
their own class, called a
supertype. The attributes
and methods of thesupertype object class are
then inherited by those
object classes.
7/30/2019 IT1402e
48/72
Object Modeling
Generalization/Specialization
Person
Teacher Student
Smile ( )
Run ( )Eat ( )
Name
Age
Gender
Person
A class supertype is anobject class whose
instances store attributes
that are common to one ormore class subtypes of the
object.
7/30/2019 IT1402e
49/72
Object Modeling
Generalization/Specialization
Person
Teacher Student
Smile ( )
Run ( )Eat ( )
Name
Age
Gender
Person
A class subtype is anobject class whose
instances inherit some
common attributes from aclass supertype, and then
add other attributes that
are unique to an instance
of the subtype.
7/30/2019 IT1402e
50/72
Subtype
Supertype
Example:
Object Modeling
Generalization/Specialization
Non Academic
Staff
Academic Staff
Postgraduate Under Graduate
StudentStaff
Department
7/30/2019 IT1402e
51/72
UML Representation of Generalization/Specialization
Department
Name
ID
T.P No:
Address
Approval()
Sent()
Receive()
Staff
Name
IDT.P No:
Address
Submit()
Sent()
Student
Name
IDT.P No:
Address
Schedule set()
Lecture()
Arrowhead
indicates
Generalization/
Specialization
relationship
Object Modeling
Generalization/Specialization
7/30/2019 IT1402e
52/72
Object Modeling
Object/Class relationship
is a natural business association that exists between
one or more objects/classes. Although objects can be developed independently of
other objects, they also have a relationship to other
objects. One such relationship is to use a link directly from one
object to another : Association
Example: There are many student in the each class
Class Student1 1 *
Studies
7/30/2019 IT1402e
53/72
Multiplicity defines how many instances of one
object/class can be associated with one instance of
another object/class.
Multiplicity
Library Books1 1 *
Object Modeling
Allthelibra
ryhavi
ngalo
tofbo
oks
7/30/2019 IT1402e
54/72
Multiplicity
Object Modeling
Works for
DepartmentEmployee1Works for
DepartmentEmployee
1 orleave blank
I am working for
one and only
departmentExactly one - 1
7/30/2019 IT1402e
55/72
Object Modeling
Some customers
are paying much
but some are not
0..*Makes PaymentCustomer
PaymentCustomerMakes *
Zero or more 0..*
Multiplicity
7/30/2019 IT1402e
56/72
Object Modeling
I am married
0..1HasSpouseEmployee
I am not married
Zero or one 0..1
Multiplicity
7/30/2019 IT1402e
57/72
Object Modeling
CourseUniversityOffers
1..*
We offer one or more
courses
One or more 1..*
Multiplicity
7/30/2019 IT1402e
58/72
Object Modeling
GameTeam7..9Has
sch
eduled
Brazil 2004
We have to play 7 to
9 games in 2004
In year 2004 BRAZIL have to play 7, 8, or 9 games
Specific range 7..9
Multiplicity
Games
7/30/2019 IT1402e
59/72
Aggregation Relationship
Object Modeling
ChapterBook
Composition Aggregation Relationship
- Indicates Composition Aggregation Relationship
1..*
SADforBIT
There are no books
without chapter
1..*
Black filled diamond
7/30/2019 IT1402e
60/72
Aggregation Relationship
Object Modeling
PlayerTeam
Shared Aggregation Relationship
Indicates shared
Aggregation Relationship
0..*
0..*Team may have
Ronaldo or not
Diamond without filled
0..*
7/30/2019 IT1402e
61/72
Message
Object Modeling
A Message is passed when one object invokes one or
more of another objects methods to request informationor some action.
Dog can run & catch
Catch the cat
The catch message callcatch() method of dog
then the catch method
automatically call the run
method.
7/30/2019 IT1402e
62/72
Polymorphism
Object Modeling
It mean that the same named behavior may be completed
differently for different objects.
Polymorphism means many forms applied to object
oriented technique.
Op
enaslid
ingdoo
r
7/30/2019 IT1402e
63/72
ARCHITECTURAL PLAN
Object Modeling
Unified Modeling Language (UML)Only a notation that is now widely accepted as a standard
for object modeling.
UML DiagramsGives five different groups of diagrams to model a system.
These deferent diagrams provides the development team adeferent perspective of the information system.
ELEVATIONFLOOR PLAN
Example: Well known Housing industry where they use lot of diagrams.
7/30/2019 IT1402e
64/72
Object Modeling
UML Diagrams
Use Case Diagrams
Graphically describe who will use the systems and in whatways the user expects to interact with the system.
7/30/2019 IT1402e
65/72
Object Modeling
UML Diagrams
Class Diagrams
Shows object classes that the system is composed of as wellas the relationship between those objects.
7/30/2019 IT1402e
66/72
Object Modeling
UML Diagrams
Object Diagrams
Similar to class diagrams, but instead of depicting objectclasses, they model actual object instances.
Provide snap shot of the systems objects at one point in time
7/30/2019 IT1402e
67/72
Object Modeling
UML Diagrams
Sequence Diagram
Graphically depict how object interact with each other viamessages in the execution of a use case or operation.
7/30/2019 IT1402e
68/72
Object Modeling
UML Diagrams
Collaboration Diagrams
Similar to sequence diagrams but do not focus on the timingor sequence of messages. Instead they represent the
interaction between the objects in a network format.
7/30/2019 IT1402e
69/72
Object Modeling
UML Diagrams
State Diagrams
Use to model the dynamic behavior of particular model. Theyillustrate an objects life cycle. During the life cycle the object
can change to various states.
7/30/2019 IT1402e
70/72
Object Modeling
UML Diagrams
Activity Diagrams
Graphically depict the sequential flow of activities of either abusiness process or use case.
7/30/2019 IT1402e
71/72
Object Modeling
UML Diagrams
Components Diagrams
Used to graphically depict the physical architecture of thesystem.
7/30/2019 IT1402e
72/72
Object Modeling
UML Diagrams
Deployment Diagrams
Describe the physical architecture of the hardware andsoftware in the system.
Recommended