Data Flow Diagramming Rules: Mr. Faisal Javed Deptt. of C.S. K.C.M.T, Bareilly
Data Flow Diagramming Rules: Mr. Faisal Javed Deptt. of C.S. K.C.M.T, Bareilly
Page 1
Correct
Incorrect
Structure Chart
A Structure Chart (SC) is a chart, that shows the breakdown of the configuration system to the
lowest manageable levels.[19] This chart is used in structured programming to arrange the program
modules in a tree structure. Each module is represented by a box which contains the name of the
modules. The tree structure visualizes the relationships between the modules.[20]
Page 2
Structured Design
Structured Design (SD) is concerned with the development of modules and the synthesis of these
modules in a so-called "module hierarchy".In order to design optimal module structure and interfaces
two principles are crucial:
Tha chart which is used to represent all the major parts and their corresponding subpart of a specific
system in a form of a tree structure is known as a structure chart . As the name implies structure
chart represents the overall structure of a system.
Structured Design was developed by Larry Constantine in the late 1960s, then refined and published
with collaborators in the 1970s; see Larry Constantine: Structured Design for details. Page-Jones
(1980) has proposed his own approach which consists of three main objects :
structure charts
module specifications
data dictionary.
Software design usually involves problem solving and planning a software solution. This includes
both low-level component and algorithm design and high-level, architecture design
There are basically 5 types of designing steps:
1:Design Strategy
This clarifies whether the system will be developed by the company or outside the company.
This can be identify by certain standards of a company.
2: Architecture Design:
This describes the hardware, software, and network infrastructure that will be used.
3:Database and file specifications: These documents define what and where the data will be stored.
4:Program Design
The design which is used to represent the overall structure or which is used to represent
all the existing modules of a system/software is called a program design.
Program design is used to develop a prototyping model of a system/software.
Program design is an abstract model of a system which help to both the technical and
non technical user to understand.
This design works as an interface between client and the developer.
Mr. Faisal Javed
Deptt. Of C.S.
K.C.M.T, Bareilly
Page 3
5:Process Design:
The Design which is used to represent the working of an implementation, which relates
with any specific module,factor,component as an individual is known as a process
design,
The key idea to design a process design is to represent the logics and all conditions
followed by a process from the starting till the end of the process.
Process design is very useful in order to implement a change/modification in an existing
system because without knowing all the detailed logics it is not an easy task to make it
happen without knowing the process design.
Page 4
General Example
Technical Example
Distributed computing is a method of computer processing in which different parts of a program are run
simultaneously on two or more computers that are communicating with each other over a network
Some important features of Distributed design are as follows:
Transparency:
We saw that one of the main goals of a distributed operating system is to make the existence of
multiple computers invisible (transparent) and provide a single system image to its users. That is, a
distributed operating system must be designed in such a way that a collection of distinct machines
connected by a communication subsystem appears to its 11 users as a virtual uniprocessor.
Mr. Faisal Javed
Deptt. Of C.S.
K.C.M.T, Bareilly
Page 5
Access Transparency:
Access transparency means that users should not need or be able to recognize whether a resource
(hardware or software) is remote or local. This implies that the distributed system should allow users to
access remote resources in the same way as local resources.
Location Transparency:
The two main aspects of location transparency are as follows:
1 Name transparency. This refers to the fact that the name of a resource (hardware or software) should
not reveal any hint as to the physical location of the resource.
2. User mobility. This refers to the fact that no matter which machine a user is logged onto, he or she
should be able to access a resource with the same name.
Replication Transparency:
For better performance and reliability, almost all distributed operating systems have the provision to
create replicas (additional copies) of files and other resources on different nodes of the distributed
system. In these systems, both the existence of multiple copies of a replicated resource and the
replication activity should be transparent to the users.
Failure Transparency:
Failure transparency deals with masking from the users' partial failures in the system, such as a
communication link failure, a machine failure, or a storage device crash. A distributed operating system
having failure transparency property will' continue to function, perhaps in a degraded form, in the face
of partial failures.
Migration Transparency
For better performance, reliability, and security reasons, an object that is capable of being moved (such
as a process or a file) is often migrated from one node to another in a distributed system.
Concurrency Transparency
Concurrency transparency means that each user has a feeling that he or she is the sole user of the
system and other users do not exist in the system.
Performance Transparency
The aim of performance transparency is to allow the system to be automatically reconfigured to
improve performance, as loads vary dynamically in the system.
Reliability
In general, distributed systems are expected to be more reliable than centralized systems due to the
existence of multiple instances of resources. However, the existence of multiple instances of the
resources alone cannot increase the system's reliability. Rather, the distributed system, which manages
these resources, must be designed properly to increase the system's reliability by taking full advantage
of this characteristic feature of a distributed system.
Flexibility
Another important issue in the design of distributed operating systems is flexibility. Flexibility is the
most important feature for open distributed systems. The design of a distributed system should be
flexible due to the following reasons:
1. Ease of modification.
2. Ease of enhancement
Page 6