1736585628-Unit - I Data Models
1736585628-Unit - I Data Models
DATA MODELS
M.Sc SOFTWARE SYSTEM
STRUCTURED SYSTEM ANALYSIS AND DESIGN
Introduction: Common types of systems - General systems
principles - People involved in systems development
project - The project lifecycle - Major issues in systems
analysis and development. Modeling tools: Characteristics
of modeling tools - Data Flow diagrams - The data
dictionary - Process specifications - Entity relationship
diagrams – State-transition diagrams - Balancing the
models - Additional modeling tools - Modeling tools for
project management.
Systems Analysis
It is a process of collecting and interpreting facts, identifying
the problems, and decomposition of a system into its
components.
System analysis is conducted for the purpose of studying a
system or its parts in order to identify its objectives. It is a
problem solving technique that improves the system and
ensures that all the components of the system work efficiently
to accomplish their purpose.
Analysis specifies what the system should do.
Systems Design
It is a process of planning a new business system or replacing an
existing system by defining its components or modules to satisfy the
specific requirements. Before planning, you need to understand the old
system thoroughly and determine how computers can best be used in
order to operate efficiently.
Systems
Processes
Technology
What is a System?
The word System is derived from Greek word Systema, which means an organized
relationship between any set of components to achieve some common cause or
objective.
Constraints of a System
A system must have three basic constraints −
A system must have some structure and behavior which is designed to achieve a
predefined objective.
Interconnectivity and interdependence must exist among the system
components.
The objectives of the organization have a higher priority than the objectives of
its subsystems.
Properties of a System
A system has the following properties −
Organization
Organization implies structure and order. It is the arrangement of
components that helps to achieve predetermined objectives.
Interaction
It is defined by the manner in which the components operate with each
other.
Integration
Integration is concerned with how a system components are connected together.
It means that the parts of the system work together within the system even if
each part performs a unique function.
Central Objective
The objective of system must be central. It may be real or stated. It is not
uncommon for an organization to state an objective and operate to achieve
another.
Elements of a System
The following diagram shows the elements of a system −
Outputs and Inputs
The main aim of a system is to produce an
output which is useful for its user.
Inputs are the information that enters into
the system for processing.
Output is the outcome of processing.
Processor(s)
The processor is the element of a system that
involves the actual transformation of input into
output.
It is the operational component of a system.
Processors may modify the input either totally or
partially, depending on the output specification.
As the output specifications change, so does the
processing. In some cases, input is also modified to
enable the processor for handling the
transformation.
Control
The control element guides the system.
It is the decision–making subsystem that controls
the pattern of activities governing input,
processing, and output.
The behavior of a computer System is controlled
by the Operating System and software. In order
to keep system in balance, what and how much
input is needed is determined by Output
Specifications.
Feedback
Feedback provides the control in a dynamic
system.
Positive feedback is routine in nature that
encourages the performance of the system.
Negative feedback is informational in nature
that provides the controller with information
for action.
Environment
The environment is the “supersystem” within which
an organization operates.
It is the source of external elements that strike on
the system.
It determines how a system must function. For
example, vendors and competitors of
organization’s environment, may provide
constraints that affect the actual performance of
the business.
Boundaries and Interface
A system should be defined by its boundaries.
Boundaries are the limits that identify its
components, processes, and interrelationship when it
interfaces with another system.
Each system has boundaries that determine its sphere
of influence and control.
The knowledge of the boundaries of a given system is
crucial in determining the nature of its interface with
other systems for successful design.
INTRODUCTION:
Examples:
Examples:
PERT uses arrows and circles to create a model in the form of a network.
Arrows represent tasks and circles represent events. A letter is placed above each
arrow denoting the activity and the time taken to complete the task. The critical
path (shown as dark lines) is the longest path through the network. So path 1
takes 36 days which makes path 1 the critical path. Thus PERT is used to abstract
a real world system in model form, manipulate specific values to determine the
critical path, interpret the relationships and relay them back as a control.
4.1.1.3. Static System Models:
specific operations.
Features of MIS:
Intelligence – This involves awareness of the problem at the basic level. A DSS can
provide intelligence through information retrieval and statistical data.
Design – This phase focuses on finding alternatives for a decision.
DSS plays a major role in decision design under uncertainty.
Choice – The output of the models is the basis for the choice
phase.
Figure – 10. Simon’s Decision –making Process
System development life cycle
The following are the main stages in the system development life
cycle:
● Recognition of needs
● Feasibility study
● Analysis
● Design
● Implementation
● Post Implementation
Recognition of needs
Cost Benefit Analysis is roughly made after analyzing the above questions. After deriving the answers an initial document or report is
submitted to the organization which consist of –
Statement of the problem - A clear definition of the problem that is tobe met by the candidate system.
Findings & Recommendations – The analyst must analyze the problem and justify few recommendation which are needed during the
development phase.
Details of Findings – A clear picture of the problem that the previous system incurred and how this can be improved through the
candidate system.
Recommendations & Conclusions – A conclusion about the problem is stated whether there is scope for the problem. This is a crucial
Analysis
As per the study made during the previous stage data are collected. The
main question arises here is “How to solve the problem?”. We estimate
the boundaries for the system and its relationship with other system.
Activities under gone during this phase are data flow diagrams, onsite
observations, interviews etc. In this interviewing is the best method
during data collection but it needs high knowledge about the system
and a good skill. Next he proceeds to the physical parts of the system
development stage. Till now all these stages considered about the
logical part only.
Design
The major things that are done during this phase are –
1. User training
2. File/System Conversion
User training is a must in this phase. Here the user is trained about the
processing of the system.
● Evaluations
● Maintenance
● Enhancement
- user
- management
- system analysts
- system designers
- programmers
- operations personnel
There are several types of users who are categoriesed according to
the
job category
- operational users
- executive users
operational users:
# These users are fully concerned with the functions that the system
will perform. they are fully concerned about the interface issues only.
for example, How will the system intimate him when he has
commited a
mistake.
supervisory user : # They usually manage a group of operational users and they are
responsible for the performance of the system.
# they are fully oriented with reducing the processing time of the transactions
and reducing the errors in the work.
# it is usuall the supervisors who think about introducing the candidate system,
so as to reduce the number of operational users
# these users are the person who often act as a middlemen between the system
analyst and the operational user.
Executive users :
# these users are directly involved with the system development projects.
# these users are mostly interested in the global view of the entire system, so
they are not interested in the in-depth of the operations that are carried out.
Management :
~~~~~~~~~~~~
- user manager,
- General manager.
user manager :---------------
Usually they are middle-level managers. they just generate the different kinds of
reports whenever necessary.
these are the person who are in charge of the system development
project itself. they are concerned with the overall management and the
resource allocation to the technical staff.
General manager :
-----------------
They are the top level administrators of the organization, they are not
concerned about the technical aspects of the system. they just provide the
its own auditors(eg: Internal audit Dept) or outside professionals for the purpose
of controlling.
system analysts :
~~~~~~~~~~~~~~~~~
1. Recognition of need
2. Feasibility study
3. Analysis
4. Design
5. Implementation
One must know what the problem is before it can be solved. The basis for a candidate system is recognizing the need for
improving an information system or a procedure.
Example :
A supervisor may want to investigate the system flow in purchasing. This need leads to a preliminary survey or an initial
investigation to determine whether alternative systems can solve the problems. It starts by looking into the duplication of efforts,
bottleneck, inefficient existing procedures or whether parts of the existing system would be candidates for computerization.
The idea for change occurs in he environment or in the firm. Environmental – based ideas originate from customers,
vendors, government sources etc. Ideas for change also come from the top management, the user, the analyst. An organization needs to
update existing procedures in the following cases
❖ An organization acquires another organization
❖ A local branch branches into the suburbs.
❖ Unauthorized access.
❖ For combining two or more departments doing the same work.
Also serious problems in operations, a high rate of labor turnover, labor intensive activities, and high reject rates of finished goods also
prompt the management to initiate an investigation and a change.
5.2. FEASIBILITY STUDY:
Depending on the results of the initial investigations the survey is expanded to feasibility study. Feasibility study is
defined as a test to a proposed system according to its workability, impact on the organization, ability to meet user needs and
effective use of resources. The objective of a feasibility study is not to solve the problem but to acquire a sense of its scope. During
this study, the problem definition is crystallized and aspects of the problem to be included in the system are determined.
The result of the feasibility study is a formal proposal. This is like a report. This report summarizes what is known and
what is going to be done. It consists of the following.
1. Statement of the problem - A carefully worded statement of the problem that led to
analysis.
existing system, followed by the objectives and procedures of the candidate system.
2. Recommendations and conclusions - Specific recommendations
regarding the
Analysis is a detailed study of the various operations performed by a system and their
relationships within and outside the system. The key question in carrying out the analysis is
“what must be done to solve the problem?” One aspect of analysis is defining the boundaries
of the system and determining whether or not a candidate system should consider other related
systems. During analysis data are collected on the available files, decision points and transactions
handled by the present system. Data flow diagrams, interviews, on site observations and
questionnaires are some tools that are used in analysis.
Analysis requires special skills and sensitivity to the subjects being interviewed. Bias in data
collection and interpretation can be a problem. Training, experience and common sense are
required for the collection of the information to carry out he analysis.
Once all the details are collected, the analyst has an idea of what has to be done. With this idea in
mind, he proceeds on to the next step – the design phase.
5.4. DESIGN:
The system design phase is one where we move from the logical to the physical aspects of the
problem stated. This is the phase where the problem is actually solved and hence is the most creative and
challenging phase of system life cycle. The term design describes a final system and the process by which it
is developed. It refers to the technical specifications that will be applied in implementing the candidate
system. It also includes the construction of programs and program testing. The key question in carrying out
the design process is “how should the problem be solved?”.
Output design - This step determines how the output is to be produced and the format of the required output.
Input design - In this step the inputs and the format of the inputs are designed.
File design - In this step the master file, transaction files have to be designed.
Processing design - This is also called Operational Phase. In this step the
Finally details related to justification of the system and an estimate of the impact of the Candidate
5.5. IMPLEMENTATION:
Models are a representation of some real world systems, and the system itself
may be static or dynamic.
If the system changes, then the model most be changed. It multiple changes are
required, then the model becomes less accurate.
TRANSPARENT MODELS :
A good model should be very much easy to read. This takes some education
and practice.
If we are trying to model something that is linear, we must use a textual modeling tool.
● Bubble chart
● DFD
● Bubble diagram
● Process model
● Work flow diagram
● Function model
● “A picture of what’s going on around here”
-The data flow diagram is one of the most commonly used
system-modelling tools,particularly for operational sytem in
which the functions of the system are of paramount importance
& more complex than the data that the system manipulates.
● The process
● The flow
● The store
● The terminator
Data flow diagrams can be used to provide a clear
representation of any business function. The technique starts
with an overall picture of the business and continues by
analyzing each of the functional areas of interest. This analysis
can be carried out to precisely the level of detail required. The
technique exploits a method called top-down expansion to
conduct the analysis in a targeted way.
FIVE SYMBOLS
1. ENTITY
2. Data Flow
3. PROCESS
4. DATA STORE
5. 5.RESOURCE FLOW
Data flow Diagrams – Diagram Notation
There are only five symbols that are used in the drawing of
business process diagrams (data flow diagrams). These are now
explained, together with the rules that apply to them.
- Describing the meaning of the flows & stores shown in the data flow
diagrams.
- Describing the composition of aggregate packets of data moving along
the flows,that is complex packets that can be broken into more
elementary items.
- Describing the composition of packets of data in stores.
- Specifying the relevant values & units of elementary chunks of
- Describing the details of relationships between stores that are
highlighted in an entity-relationship diagram
- The second major component of the structured analysis model
of the system is the data dictionary. The data dictionary
contains formal definitions of all the data items shown in the
data-flow diagrams. If you didn't create data flow diagrams in
your analysis, then in general, every data item in your solution
must be included in the data dictionary. If you wrote Use Cases,
then every noun that isn't an Actor is a data item or attribute.
It is used to provide precise detail concerning the data entities.
Importantly the dictionary items are defined as they are found
in the problem domain, not in the implementation or solution
- The data dictionary has two different kinds of items: composite data and
elemental data.
Higher-level (composite) elements may be defined in terms of lower-level
items. Elemental data are items that cannot be reduced any further and are
defined in terms of the values that it can assume or some other
unambiguous base type.
- The general format of a data dictionary is similar to a standard dictionary;
it contains an alphabetically ordered list of entries. Each entry consists of a
formal definition and verbal description. The verbal description is simply a
sentence or two in English describing the data element. The formal
description provides a more precise definition using a mathematical sort of
notation.
COMPOSITE DATA
- Composite data can be constructed in three ways:
sequence, repetition, or selection of other data types.
repetition: [ ] Square brackets are used to enclose one or more optional elements.
selection: {} Curly braces indicate that the element being defined is made up of a
series of repetitions of the element(s) enclosed in the brackets.
{}y The upper limit on the number of allowable repetitions can be indicated
by including an integer superscript on the right bracket. Here y
represents an integer and indicates that the number of repetitions
cannot be greater than y.
Examples
- sequence:
- Mailing-address = name + address + city +
zip-code
* The address at which the customer can
receive mail *
repetition:
- Completed-order = [ item-ordered ]
* A complete customer order *
- selection:
Atm-transaction = { deposit |
withdrawal }
* An customer transaction at an
automated teller machine *
- In these examples asterisks are used to
delimit the comment or verbal
description of the item, but other
notations can be used as well.
ELEMENTAL DATA
- Elemental data is described in terms of a data type or by listing
the values that the item can assume.
desired-temperature = floating point
*Desired-temperature is the value the user sets for desired
water temperature in the pool. It is a floating point number in the
range from 0.0 to 100.0, inclusive. The units are Celsius.*
- age = non-negative integer
*Age is how old the customer is in years. Age is a whole
number greater than or equal to zero.*
- performances-attended = counter
* Performances-attended is the number of performances this
customer has attended. Note: Since the person doesn't get entered
into the mailing list until they have attended a show this value can
never be zero. *
- counter = positive integer
*Counter is a whole number greater than zero that can only be
incremented by one and never decremented.*
- Furthermore, details concerning input or output formats can be specified
in the data dictionary. Suppose the subscription system will print a monthly report
of new subscribers. In the data-flow diagram, one activity is shown that produces
a data element as output, New-Subscribers-Report. In the data dictionary, the
format of the report could be defined as follows:
- New-Subscribers-Report = report-header + new-subscriber-list + report-
summary
- report-header = report-title + current-date
- report-title = 'Monthly Report of New Subscribers'
- new-subscriber-list = [ subscriber-name + subscriber-address ]
- report-summary = 'The total number of new subscribers:' + Number-of-
new-subscribers
- Any non-terminal terms used in these definitions must be defined
elsewhere in the data dictionary. Single quote marks are used to surround and
PROCESS SPECIFICATION:
- Structured English
- Decision tables
- Pre/Post conditions
STRUCTURED ENGLISH
sentence-1
ENDIF
or
IF condition-1
sentence-1
ELSE
sentence-2
ENDIF
The CASE construct is used to describe alternative sentences to be carried out based on the results
of a multivalued decision (as compared to the binary decision that takes place with an IF-THEN
DO CASE
CASE variable = value-1
sentence-1
CASE variable = value-n
sentence-n
OTHERWISE
sentence-n+1
ENDCASE
DECISION TABLES:
There are situations where neither structured English nor pre/post conditions are
appropriate for writing process specifications. This is particularly true if the
process must produce some output or take some actions based on complex
decisions
1. Identify all the conditions, or variables, in the specification. Identify all the
values that each variable can take on.
2. Calculate the number of combinations of conditions. If all the conditions are
binary, then there are 2N combinations of N variables.
3. Identify each possible action that is called for in the specification.
4. Create an “empty” decision table by listing all the conditions
and actions along the left side and numbering the combinations of
conditions along the top of the table.
5. List all the combinations of conditions, one for each vertical
column in the table.
6. Examine each vertical column (known as a rule) and identify
the appropriate action(s) to be taken.
7. Identify any omissions, contradictions, or ambiguities in the
specification (e.g., rules in the decision table for which the
specification does not indicate that actions should be taken).
8. Discuss the omissions, contradictions, and ambiguities with
the user.
OTHER PROCESS SPECIFICATION TOOLS
This is because:
An unrestricted vocabulary (i.e., indiscriminate use of nouns, verbs, and adjectives) makes
it likely that the process description will include terms that are not in the data dictionary
and whose meaning is not clear.
Alternative actions (i.e., decisions) are often expressed in a clumsy, ambiguous fashion.
This becomes even more dangerous when nested decisions are expressed.
Repetitive actions (i.e., loops) are also expressed in a clumsy, ambiguous fashion. Nested
loops are extremely dangerous when expressed in colloquial English.
The concept of block structures can only be expressed with indentation or an outline-style
presentation; if one is willing to go this far, one might as well use the formal structured
English notation.
Flow chart - An unstructured flowchart; source
Nassi-Shneiderman Diagrams
Representation of a DO-WHILE
construct
PRE/POST CONDITIONS
Preconditions describe all the things (if any) that must be true before the process
begins operating. It’s sometimes convenient to think of the process as a “sleeping
princess,” and the pre-conditions represent the “magic kiss” that will awaken the
process and set it to work. Alternatively, you can think of the preconditions as a
guarantee from the user:
postconditions describe what must be true when the process has finished
doing its job.
Consider a hospital:
Patients are treated in a single ward by the doctors assigned to
them. Usually each patient will be assigned a single doctor, but in rare
cases they will have two.
Heathcare assistants also attend to the patients, a number of these are
associated with each ward.
Initially the system will be concerned solely with drug
treatment. Each patient is required to take a variety of drugs a
certain number of times per day and for varying lengths of time.
The system must record details concerning patient treatment
and staff payment. Some staff are paid part time and doctors and
care assistants work varying amounts of overtime at varying rates
(subject to grade).
The system will also need to track what treatments are
required for which patients and when and it should be capable of
calculating the cost of treatment per week for each patient
(though it is currently unclear to what use this information will be
put).
State Transition Diagrams (STD's)
States:
Transition actions:
Drawing STD's:
The rules for balancing the dataflow diagram against the data dictionary are as
follows:
- Every dataflow (i.e., an arrow on the DFD) and every data store must be
defined in the data dictionary. If it is missing in the data dictionary, the
dataflow or data store is considered to be undefined.
- Conversely, every data element and every data store defined in the data
dictionary must appear someplace on a DFD. If it does not appear, the
offending data element or data store is a “ghost” -- something defined but not
“used” in the system. This can happen if the data elements are defined to
correspond with an early version of the DFD; the danger is that the DFD may
be changed (i.e., a dataflow or data store may be deleted) without a
Balancing the DFD against the PROCESS SPEC
Here are the rules for balancing the DFD against the process specifications:
The rules for balancing the process specifications against the dataflow
diagram and data dictionary can be described as follows; each data
reference in the process specification (typically a noun) must satisfy
one of the following rules:
From the discussion above, it can be seen that the data dictionary is
consistent with the rest of the model if it obeys the following rule:
Notations:
1. Nassi-Shneiderman diagrams
2. Ferstl diagrams
3. Hamilton-Zeldin diagrams
Nassi-Shneiderman diagrams
Nassi-Shneiderman diagrams
Ferstl diagrams
Hamilton-Zeldin diagrams
There were developed as part of the software development activities for NASA’s
Space
in addition to showing the functional hierarchy, it also shows the data interfaces
between
the components the rectangular box in a structure chart does not represent a
single computational statement or a contiguous group of statements; instead, it
represents a module. (Common examples of modules are FORTRAN subroutines, C
procedures, COBOL subprograms,and SECTIONs.) The arrows connecting the
modules do not represent GOTO statements, but instead represent subroutine
calls; the notation implies that a subroutine will exit, or return, to its caller when it
has finished carrying out its function.
5) Variations of dataflow diagrams
* Bachman diagram
PERT chart
GANTT chart
PERT chart
- Program Evaluation Review Technique
- Developed in 1960s as management tool for the us Navys for submarine project.
- It is widely used in Industry & Govt projects.
- Each rectangular box represent a task or an activity.
- The boxes with rounded corners are known as milestones & meaning within the context of a typical project.
- The line connecting the boxes show dependencies.
A Gantt chart lists tasks in a project on a
timeline with their interdependencies. It often also
shows who is responsible for what task. It is
especially useful for planning tasks in a project,
and monitoring progress as the project goes on.
Gantt charts emphasise time rather than task
relationships.