0% found this document useful (0 votes)
95 views

Characteristics of System

The document discusses the key characteristics of systems. It defines a system as an integrated collection of components that work together to achieve a common goal. The basic components of a system interact and have relationships that define the system's structure. A system also has a goal or purpose that integrates the activities of its components. It will behave in certain ways in response to its environment in order to achieve this goal. All systems go through a life cycle from birth to death.

Uploaded by

Jay Ajudia
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
95 views

Characteristics of System

The document discusses the key characteristics of systems. It defines a system as an integrated collection of components that work together to achieve a common goal. The basic components of a system interact and have relationships that define the system's structure. A system also has a goal or purpose that integrates the activities of its components. It will behave in certain ways in response to its environment in order to achieve this goal. All systems go through a life cycle from birth to death.

Uploaded by

Jay Ajudia
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 120

Characteristics of System

1. Basic Components
2. Interaction and Structure
3. Goal
4. Behavior
5. Life cycle
1.Basic Components
• Every system has a set of interrelated elements or basic
components.
• The basic components are simply the various identifiable
parts of a system. They are the moving parts of a system.
• The system components may be men, materials
,machine, information etc.
• Ex of system: Education
• Ex. Of components: Students, teacher, buildings,
administration, text, books.
• If a system is a large enough then it is composed of many
subsystem.
• Each subsystem is then made up of several smaller
subsystem.
• The component exist at the lowest level.
This components of a system are
interrelated and the have certain
interdependence. They have certain
relationship among them.
2. Interaction and structure
• An important feature of a system is that the
basic components interact among themselves.
system is not just an inanimate (life-less) thing.
There must be activity or processing procedure
between the elements of a system.
• In any system the elements display activity or
interaction. A system is always dynamic in
nature. Interaction alone can establish
relationships between these basic components.
• These relationships that exist among the
components and define the boundary between a
system and its environment are called stucture.
3.Goal
• A system is an organized whole. It has a
purpose, goal or objective. Without a common
objective a system starts moving in all direction
and co-ordination among the parts will be lost.
• The goal or purpose integrates the activities of
the components. All subsystems and
components work more effectively together in
the system than if they were acting
independently.
• The entire system has to be views as a whole
rather than just the sum of its parts. This
integrating effect is known as ‘Synergistic Effect’.
4. Behavior
• Behavior is the way a system reacts to its
environment. Behavior is determined by
procedures or instructions designed to
make sure that components behave in
ways that will allow a system to achieve its
goals. While a procedure describe what to
be done, behavior describe what is
actually done.
5.Life Cycle
• Just like a human body every system has
birth, life and death. Buildings, automobiles,
equipments have their own life.
• Whatever be the system, the life cycle
includes evolution, wear (be dressed),
obsolescence, aging, replacement, repair
and finally an end to the system’s
existence.
What is system?
• A system is an integrated collection of
components which satisfy, functions
necessary to achieve the system’s goal
and which have relationship to one anther
that give cohesion (structure) to the
system and define structure.
a. General Model of a system
• A system can be better understood with a
general model. A general model of a
physical system is made up of system
elements like input, processor and output
with the system concepts like control and
feedback to keep the system balance.
• And also explain all elements of system
with this answer.
Environment Control

Input Process Output

Feed Back

Generalized Model of system.


The Elements of a System
• The system elements are
1.Input and Output
2.Processor
3.Control
4.Feedback
5.Environment
6.Boundaries and interface
1. Input and Output
• A major objective of a system is to produce an output
that has value to its user. Whatever the nature of the
output, it must be in line with the expectation of the user.
• Input are the elements that enter the system for
processing. Output is the outcome of the processing
• A system feeds on input to produce output in much the
same way that a business brings in human , financial
and material resources to produce goods and services.
• It is important to point out here that determining the
output is a first step in specify the nature, amount, an
regularity of the input needed to operate the system.
2.Processor
• The processor is the element of a system
that involves the actual transformation of
input into output. It is the operational
components of a system.
• Processor may modify the input totally or
partially, depending on the specifications
of the output.
3.Control
• The control element guides the system. It is the decision-
making subsystem that controls the pattern of activities
governing input, processing and output.
• In an organizational context, management as a
decision-making body controls the inflow, handling and
outflow of activities that affect the welfare business.
• In system analysis, knowing the attitudes of the
individuals who controls the area for which a computer is
being considered can make a difference between the
success and failure of the installation.
4.Feedback
• Control in a dynamic system is achieved by feedback. Feedback measures
output against a standard in some form of procedure.
• That includes communication and control.
• Feedback may be positive or negative, routine or informational.
• Positive feedback increase the performance of the system.
• It is a routine in nature. Negative feedback generally provides the controller
with information for action.
• In system analysis feedback have two types:
1.Positive Feedback
2.Negative feedback
• If feedback is positive, we have a growth system. Positive feedback enforce
the direction in which the system is moving.
• If negative feedback, on the other hand give peoblems that are accurs in
system.
• A negative feedback control normally
involves four elements:
1.A condition to be controlled. That should
be controlled from some output
2.A sensor for measuring the characteristics.
3.A control unit which compares the
measurements with a standard for that
characteristic.
4.An activating unit which generates a
corrective input signal to the process.
5. Environment
• The environment is the “supersystem”
within which an organization operates.
• It is the source of external elements that
used on the system. In fact, it often
determine how a system must function.

Environment SYSTEM Environment


Boundaries and Interface
• A system should be defines by its boundaries----
The limits that identify its components, processes
and interrelationships when its interfaces with
another system.
• Each system has boundaries that determined its
sphere (area) of influence and control.
• The inter connection and interactions between the
subsystems are termed as Interface.
• Interface occur at the boundary and take the form
of inputs and outputs.
Concepts of System
• Boundary and Environment
• Subsystem
• Interface
• Black-box
• Feedback and Control
1. Subsystem:
• A complex system is difficult to comprehend
(understand) when considered as a whole.
• Therefore the system is decomposed of factors into
subsystems. This subsystems again divide in smaller
subsystem until the smallest subsystems are of
manageable size.
2. Black-box:
• A subsystem at the lowest level is often not defined as
to the process. This subsystem is termed as black-box,
since the inputs and outputs are known but not the
actual transformation process from one to the anther.
Types of System
• Open and closed system
• Several system may share the same environment. Some of these
systems may be connected to one another by means of a shared
boundary or interface. The concept of an
• Open system is a system that interacts with other systems in
its environment system that can adjust their activities to
acceptable levels and continue to function.
• The concept of interaction with the environment which characterizes
open systems, is essential for control. Receiving and evaluating
feedback allows a system to determine how well it is operating. If a
business,
• For example produces as output products or services that are high
priced and of low quality people probably will not continue to buy
them. Low sales figures are feedback, telling management it needs
to adjust the products and the way they are produced to improve
performance and bring it in line with exportations.
• In contrast
• , Closed System sustain their operation only as long as they
have adequate regulatory information and do not need
anything from the environment. The concept is important.
• A system is called deterministic when the
inputs, the process and the output are
known with certainty (sureness).
• In deterministic system, you can predict
the output with certainty. The accounting
system is this type of system.
• A system is called probabilistic, When the
output can only be predicted in
probabilistic terms. Demand forecasting
system is a probabilistic one.
• Conceptual and Physical : Conceptual
systems are concerned with theoretical
structures, which may or may not have any
counterpart in the world. they may also appear
in the form of plans, accounting system
structures and systems made up of people,
materials, machines, energy, and other
physical things, although electrical, thermal,
chemical, information and other such systems
involving intangibles also fall into this
category.
• Natural and Artificial : Natural systems are
plenty in nature. The entire ecology of life is a
natural system solar system, water system of
the world are also examples.
• Social, People-Machine and Machine : The systems
made up of people are purely social, apart from other
system’s objectives and processes. E.g. : Business
organizations, government agencies, political parties,
social clubs etc.Most empirical systems fall into the
category of people machine systems. It is difficult to
think of a system composed only of people who do not
utilize
• Permanent and temporary : People made systems
are generally permanent. However, for partial
purposes, systems enduring for a time span that is
long relative to the operations of humans in the
system may be said to be permanent.
• Temporary system are designed to last a specified
period of time. These are important for the
accomplishment of specific task in business and for
research in science.
• Stationary and non-stationary : Stationary system is
one whose properties and operations either do not vary
significantly or else vary in repetitive cycle.
• e.g. The automatic factory, government agency that
processes social security payments in USA, super
market store operations, high school etc.
• An advertising organization, a continental defense
system, a research and development laboratory , and
human bring are examples of non-stationary systems.
• Subsystems and super systems : Each system is
nested in a larger system. The system in hierarchy that
we are most interested in studying or controlling is
usually called the system
• e.g. : business firm is viewed as the system or the
total system , when focus is on production, distribution
of goods etc. Smaller system within the system are
called subsystem. Super system is a term that has at
least two uses :
• A. as opposed to subsystem
• B. to denote any extremely large and complex
system
a. General Model of a system
• A system can be better understood with a
general model. A general model of a
physical system is made up of system
elements like input, processor and output
with the system concepts like control and
feedback to keep the system balance.
• And also explain all elements of system
with this answer.
Environment Control

Input Process Output

Feed Back

Generalized Model of system.


Constraints and Limitation
• Constraints:
• Constraints mean it provide general
description of any other items that will limit the
developer’s options. These includes:
1. Regulatory policies
2. Hardware limitations (for ex. Signal timing
requirements)
3. Interface to other applications.
4. Parallel Operations
5. Audit Functions
6. Control Functions
7. Higher-order language Requirements
a. Signal Handshake Protocols
b. Reliability Requirements
8. Criticality of the Application.
9. Safety and security Considerations
Limitations
• Limitations means the drawback of the old system
for which you are making the new system.
• Limitation like:
1. Tedious paper work.
2. System works on the local computer but you want to
make it remote (ex. It can work on any pc in the
office)
3. Updation of the software
4. Large time taken in generating reports
5. Less accuracy
6. Inadaptable of changes in company.
Desired Solutions
• The drawback of the old system are
considered as the problems and the solutions
are found out for that problem.
• Following can be desired solutions:
1. Getting different types of report to make quick
decisions.
2. Latest technologies can be used to make
customers ahead in competition
3. Paper work can be reduced
4. Getting correct and accurate result
5. Changes can be adapted quickly
What is System Analysis?
• In our day-to-day life there are many problems
which can be solved with the help of computers.
Such problems may be related to transportation
system, communication system, educational
system or business system.
• The system analysis in broad outline decides
how these problems in the outside world can be
related to a computer system.
• So system analysis in MIS may be considered
as a link between the actual problem and the
computer.
• System analysis is the brain for data processing.
• The procedure for computerizing outside
problem is made more complex be a large
area which can be called
“PARACOMPUTING”. The major part of
Para computing is a system analysis. It
include data collection and data
preparation.
• In fact system analysis looks at an entire
problem in its context. It then investigates
systematically with the objective of the
system in focus.
• System Analysis

Problem from System analysis Computer


outside world
What is System Analyst
• A system analyst designs information systems which
meet organizational objective, promote integration of
activities, facilitate control and which are flexible and
robust ( strong).
• System analysts job consist of:
1. Gathering facts about existing information system.
2. Analyzing the basic methods and procedures of
current information system.
3. Determining information needs.
4. Modifying , redesigning and integrating the existing
procedures in the new system specifications to provide
the needed information.
What is System Development Life
Cycle (SDLC)
• In the classical or traditional approach, SDLC
concentrates on feasibility (Probability) analysis,
cost-benefit analysis, project management,
hardware and software selection and personnel
considerations.
• The basic idea of SDLC is that there is a well
defined process by which a system is conceived,
developed and implemented.
• SDLC recognizes the existence of a life cycle.
There are basic 6 stages SDLC which is
performed in two steps.
• The two steps are
1. System analysis
2. System Design
System analysis and system design together
involve six stages. System analysis involves:
1. Problem Identification
2. Feasibility study and cost benefit analysis
3. System requirement analysis
System Design involves:
4. System design specifications and
programming
5. System implementation, follow up and
maintenance
6. Evaluation of the system.
1.Problem Identification
• One of the most difficult task of system
analysis is identifying the real problem of
the exiting system. Without clear
understanding of the problem in the
system, any further work done will lead to
wastage of time and energy at later stage.
• Several questions must be posed before
identifying the correct problem at this
stage.
• For ex.
1. What is the actual problem?
2. What are the causes for this problem?
3. Is it important to solve this problem?
4. How complex it is?
5. What are the likely solutions to this problem?
6. What type of benefits can be expected once
the problem is solved?
• The problem may come to the notice of the
systems analyst from any one or more sources
listed below:
Internal environment External Environment

1. Company Mgt. 1. Customers


2. Employees of 2. Management
different departments Consultants
3. Internal auditors 3. Outside auditors
4. Data processing 4. Government Policies
Department 5. Competitions
5. Financial Records
• The problem reporting machinery may
involve a verbal message given to a
system analyst to it may be submitted on
a written form called “ Problem Report
Form”.
• There are many types of problems arise
in system like:
1. Problem of Reliability: The system may
not work properly all the time or for the
same procedure the system may give
different result.
2. Problem of Validity: Reports contain misleading
( False ) information.
3. Problem of Accuracy: Repots have many
errors
4. Problem of Economy: The system is Costly to
maintain.
5. Problem of Timeliness: Reports often late,
queries are not answered in time.
6. Problem of capacity: not enough processing
capacity, transmission capacity and storing
capacity.
7. Problem of Throughput: This is exactly the
reverse of problem of capacity. Here more
capacity may be available but less work is being
done.
• Problem identification also includes
identifying the possible opportunities like
new market potential, new technology
etc.
• The advantages of problem identification
in SDLC are:
1. It helps to point out the problems.
2. It will set the proper goal of system and
determining the boundaries.
3. Before goes to any stage it will identify all
the problem.
2. Feasibility Study and Cost
benefit Analysis
• Feasibility Study is carried out whenever there is
a complex problem or opportunity. It is in fact a
preliminary investigation which highlight the
“Look before you leap (jump)” approach to any
important project.
• Feasibility Study is undertaken to determine the
possibility or probability of either improving the
existing system or developing a completely new
system.
• It helps to obtain an overview of the problem and
to get rough assessment of whether feasible
solutions exit.
Need for Feasibility Study
• The Feasibility Study is needed to
1. Answer the question whether a new system is to be
installed or not?
2. Determine the potential of the existing system.
3. Improve the existing system.
4. Know what should be embedded in the new system.
5. Define the problems and objectives involved in a
project.
6. Avoid costly repairs at a later stage when the system
ids implemented.
7. Avoid crash implementation of a new system.
8. Avoid the hardware approach. Ex. getting computer
first and then deciding to use it.
Methods of Feasibility Study
• To conduct detailed Feasibility Study , firstly an expert
committee called “ Steering (direction-finding)
Committee” is appointed. This committee generally
consist of system analyst, Representatives from the
departments which are likely to benefit from the project
and a chairman who is generally a key person in the
org.
• The committee will look into
1. Technical Feasibility
2. Economic Feasibility
3. Operational Feasibility of the project.
1. Technical Feasibility
• Can the work for the project be done with the present
equipment, current procedures, existing software
technology and available personnel (staff)?
• If new technologies are needed what alternatives will
be needed in the present structure and work culture?
• This will require a close examination of the present
system. The Technical Feasibility should ask questions
related to:
1. Adequacy of available technology
2. Adequacy of hardware
3. Availability of computer
4. Operating time and support facilities
2.Economic Feasibility
1. Firstly identify the alternatives.
2. Determine costs and expected saving of each
of the alternatives.
• The cost must include both one time costs and
recurring costs.
• One time cost may includes:
1. Feasibility study cost
2. The costs of converting from present system to
new system
3. Construction of computer facilities.
4. Operating time and support facilities
• Recurring costs may include:
1. Rental or purchase of equipments
2. Salaries of personnel
3. Suppliers
4. Equipments maintenance
• In general, costs should be calculated for a five
year period.
• So Further, return on investment in IS is a
must at this stage.
• Return on investment analysis
• Profitability and return on investment is used to
check business performance.
• ROI=Net Earning/Total investment.
Operational Or Behavioral
Feasibility:
• Will the system be used, if it is implemented?
Will there be resistance from user? The existing
personnel normally worry about job security, loss
of examine group, changes in job context and so
on whenever new system are proposed.
• If their voices are not heard at this stage, the
problem will be magnified at the implementation
stage and appear as direct or indirect resistance
to new system.
System Requirements Analysis
• Requirements analysis is the determination of
the requirements for a new system. Once the
systems analyst has determined that a problem
exist and has obtained permission to do
something about it, then the requirements
analysis can begin.
• Requirements analysis for the new system
should be more user friendly rather that designer
friendly. Hence the requirements analysis will
determine
1. What outputs are needed?
2. What inputs are needed to obtain these outputs?
3. What operations it must perform to obtain these
outputs?
4. What resources must be used?
5. What operational and accounting controls are needed?
• Different ways to access the user requirements
include:
1. Asking users directly
2. Interviewing
3. Questionnaires
4. Counting transactions and Documents often be
sampling
5. Developing various flowcharts
• Requirements analysis is one of the most
important part of the system designing process.
The requirements analysis stages should give
up a requirements statement specifying enough
details about the new system requirements.
• The statement gets passed on to the design
phase in SDLC.Finally it is necessary to
document and present the requirements using
special tools like system flowcharts, data flow
diagram and presentation graphics so that
system designer can understand the
requirements clearly.
3. System design Specification and
programming
• As we move from systems analysis to
system design we are in fact moving from
the conceptual to the physical aspects of
the life cycle.
• Now the stages is set for the system to be
defined in terms of its specification. These
specifications are:
1. Output designs
2. Input designs
3. Procedures
4. Information Flow
5. Files and database
6. Volumes
7. Manually used forms
8. Programs specification
• It also include information on
personnel,money,hardware facilities and their
estimated costs must be available. Thus
System design is the detailed technical
specification including construction of
programs and program testing.
• The various steps in system design
Output INPUT FILE Processing
design design design design

Detailed System
Documentation

Cost
justification
and candidate
Design Submitted to
system design
MGT. for approval

NO Abandon
Design Projects
Accepted

YES

Test Programs
• The designer uses certain standard tools
and techniques to organize and work
through the system specification like
output design, input design etc. These
tools are:
1. System flowcharts, computer run chart,
clerical procedure chart, computer
procedure chart etc.
2. IPO( input processing and output) and
HIPO (Hierarchy of IPO) charts.
3. Decision Tables
• The formats of the repots and outputs are
decide at output design. In the input design the
data to input, calculate or stored are described.
• In this stage we can also decides the file
design that include:
1. Types of File
2. File structure
3. File organization including file access method
4. Choice of storage medium and availability.
• Now the detailed processing design involve the
design information. The designer must take
care to provide complete and clearly outlined
software specification.
• Finally documentation is essential to test the
programs and carry on maintanence.And after
that management will check it and approve for
the design and management check the cost of
system and the design of the candidate system.
• After approval or design is accept then it will go
for testing. Now full details of developed system
is available. This stage is the second check
point for the system project team must take a
decision to implement the system or to stop
implementation.
• A final report prior to the implementation phase
including procedural flowcharts, record layouts,
report layouts and working plan for implementing
the system prepared.
5. Implementation, Follow up and
Maintenance
• Implementation may not be creative process but
certainly is a difficult task. This is because users have
to accept the system.
• The implementation include:
1. Site preparation
2. Installation of new equipment
3. Users training, seminars, meeting to gain user support
4. Use of new inputs and procedures.
5. Trial and parallel runs of the system on the computer
6. Gradual (slowly) phasing out of the old system.
• Maintenance is the “tail end” of the life
cycle but it is most expensive and
consumes energy, cot and time in the log
run.

Maintenance

Time
Development

Software Cost
• After a new system has been
implemented, problems and errors and
difference appear and must be fixed. This
require system maintenance as on going
process. Generally hardware vendors take
the burden of maintain hardware. In case
of software , vendors provide newer
versions which helps enhancements
thereby increasing processing capabilities.
• When the system maintenance becomes
more costly and time demanding, new
system will have to be thought of.
6. Evaluation of the system
• Evaluation is nothing but feedback for the system.
This is the third and final checkpoint of SDLC. It
includes:
1. Development evaluation: This decides whether the
system is developed on time and within the budget.
Also it includes assessment of developed methods
and tools.
2. Operational evaluation considers
I. Response time
II. Ease of use
III. Reliability of computation
IV. sufficiency of storage capacity
3. User management Assessment
Evaluation: How often managers use the
information system and how far they are
satisfied judge the real worth of a system.
If the management I satisfied then
generally the organization also is satisfied.
• Draw diagram of the SDLC and also read
the difference between System Analysis
and System Design
Flow Charts
• What are Flow charts?
• A graphical picture of the sequence of a
program or an information system is called
a Flowcharts.
• Flow charting is the most common method
of describing procedure in a computer
based system.
Types of flow charts
• Basic 4 types of flowcharts we are using.
1. System Outline Chart: This presents a list of all
inputs, files, process and output in tabular form
without bothering about the sequence of
operations. It helps in checking for duplication
and difference in operation.
2. System Flowchart: A system flowcharts define
the flow of data through all parts of a system
with minimum of details. Generally it shows
where the input enters the system, how it is
processed and controlled and how it leaves the
system in the form of storage or output.
• In system flowcharts importance is placed on
input document and output reports. It shows only
limited data about how it is processed. It should
be noted that system outlines and system
flowcharts can be drawn for a complete system
or sub system.
3. Computer Run- chart: It can be regarded as a
master plan of the computer sub-system. They
are prepared in EDP environment. The computer
run chart define the interrelationship and where
relevant, sequence of the computer routines to
be performed how showing inputs, files and
outputs. This is required in the design of the
computer aspect of a new system.
4. Computer Procedure Flowcharts or
Program flowchart:
• A computer procedure flowchart define in
more detail the process and symbols
shown on a computer run chart. In short
they show the sequence of instruction in a
single program ( program logic) for that
there are known as program flowchart.
• It provide complete and detailed sequence
of logical operations to be performed in the
CPU of computer executing the program.
Structured Programming
• The structured programming is provide a well defined,
clear and simple approach to program design. Such a
method should be easier to understand, evaluate and
modify than any arbitrary method conceived by the
designers.
• Structured programming requires the use of single-
entry and single-exit control structure.
• The technique used to implement these principles is to
restrict all control constructs to one of the three
statements.
1. Sequence structure ( Single entry and single exit)
2. Decision/Branch structure (IF THEN ELSE)
3. Iteration/ Repetition Structure ( DO WHILE)
PRONS and CONS of Structured
Programming
• Advantages:
1. Clarity: Structured programs generally have a clarity and
logical pattern to there control structure which is a great
advantage throughout the process of design.
2. Productivity: Programmers who use structured techniques
show a significant increase in instruction coded per man-
hour of work.
3. Fixed Style: Structured programming tends to limit the
coding to a few straightforward design approach.
4. Maintenance: The clarity and modularity of a structured
design is of great help in finding an error and redesigning
the wrong section of code.
5. Redesign: Most large software products are subject to
occasional redesign. The clarity and modularity of structure
design maximizes the amount of code which can be reused.
Disadvantages
1. Reactionary attitudes: There are many programmers
who hesitate to learn new techniques.
2. Inefficiency: In certain cases it can be clearly shown
that structured programs require more memory.
3. Non structured languages: many current languages do
not have all the control concepts needed for structured
programming and thus require some additional effort to
simulate missing construct.
• In short, structured programming produces programs
with clean flow, clear design and a degree of
modularity or hierarchical structure.
Module Concept
• Modularity is a characteristic of good design. In a
modular design, the components have clearly defined
inputs and outputs and each components has a clearly
stated purpose. For Example modules include
procedures, Subroutines and functions. It allow the
designer to decompose a system into functional unit, in
order to
1. Impose a hierarchical ordering
2. Implement data abstraction
3. Develop independently useful subsystems.
• In the design’s decomposition the components at one
level filter those in the level above.
• As we move to lower level , We find more detail
about each component
• Thus we considered the top level to be the most
abstract and components are said to be
arranged in the levels of Abstraction.
• The levels of abstraction help us to understand a
problem addressed by a system and a solution
proposed by the design.
• By examining the levels from the top and
working down, the more abstract problem can be
handled first and the solution is carried through
as the detailed description is generated.
• In similar way modularity hide the detail,
that is, the components hide the internal
details and processing from one other.
• An advantage of information hiding is that
each components hides design decisions
from the others.
The module:
• Modules have basic four attributes
1. Input and Output
2. Function
3. Mechanics
4. Internal data
• Input is what it gets from its invoker while output is what
it returns to the its invoker. Functions is what it does to
its input to produces output. Mechanics is the
procedural code or logic by which it carries out its
functions. The internal data is its own private work
space, that is, data to which it alone refers. While the
inputs, outputs and function are the outside view of the
module, the mechanics and internal data comprise the
inside view of the module
• A modules is defined as collection of programs
statements with four basic attributes: input and output,
functions , mechanics and internal data.
• Types of Modules:
1. Input module: This kind of modules obtain information
from their subordinates and passes it on to its bosses.
2. Output module: This kind of modules take information
from the boss and passes it on to its subordinates.
3. Transform Module: These are modules that exit only
for the sake of transforming data into some other form
for ex., computational module.
4. Coordinate module: The primary concern of the co-
ordinate module is managing the flow of data and from
different subordinates.
5. Composite Module: sometimes module can perform
functions of more than one type of module.
Modular Programming
• An approach to programming in which the
program is broken into several
independently compiled modules.
• Each modules export specified
elements( such as constant, data types,
variable, functions) all other elements
remain private to the module.
• Modular programming is a originator of
object-oriented programming.
Advantages of modular
programming
1. It is easier and less costly to add features, change
features or correct errors after deployment.
2. It is easier to write and debug the program.
3. It is easier to manage since more difficult modules can
be given to more skilled programmers and easy
modules to junior programmers.
4. One can divide a large, complex problem into a
number of modules each of manageable complexity.
5. The modular concept fits in well with top-down design.
6. Formal module interface definition may be especially
helpful in “organizing” a bottom-up design, first bottom-
up and then top-down.
Disadvantage
• Because there are few formal design techniques, it is
difficult to learn, although the principles are clear.
• Modular programming requires more design effort and
care
• Many programmers are unwilling to try new things,
including modular design
• Modular programming may require slightly more memory
space and runtime.
• To avoid slow processing in some O.S one may have to
ensure that modules that call each other frequently are in
the same machine page.
• Although Modular programming probably is a help in
managing a project organized along conventional lines. If
group programming is employed it may be
disadvantageous to associate one programmer's name
with each module.
Qualities of A good Design:
COUPLING and COHESION
• Software must have high quality in it.To
design such high quality software, the
characteristics for such good qualities
must be identified.
• A good design must have ease of
understanding, ease of implementation,
ease of testing, ease of modification and
correct translation from requirements
specification.
Component independence
• Component independence is an important
requirement for a good design. If and when a
system fails, it is easy to trace back through the
code to the particular component to fix the cause.
• It also easier to understand how a component
works if there is independence of component.
• To recognize and measure the degree of
component independence in a design, we also use
two concepts
1. Coupling
2. Cohesion
1. Coupling
• One of the difficulties in modular programming is that everyone
easily grasp the concepts yet it is difficult to implement.
• So the problem is that how we avoid the coupling among the
module, that is how we do we make them independent?
• We say that the two component are highly coupled when there is
great deal of dependence between them. Loosely coupled
components have some dependence but the interconnection are
weak.
• Uncoupled components have no interconnections at all.

• Uncoupled –no dependence


• Loosely coupled---- Some Dependences

Highly coupled---Many
dependencies
• Our objective is to minimize coupling, that is, to make modules as
independent as possible. This can be done in any one of the
following three ways—
1. By eliminating unnecessary relationships
2. By reducing the number of necessary relationships
3. By easing the tightness of necessary relationships
• In reality, it is very difficult to build completely uncoupled
components.
 Principles of coupling:
• The coupling between modules is to be reduced. that, is the
complexities of the connections between the modules must be less
as possible.
1. Create narrow connections:
• An example of narrow coupling would be a state in which the pair of
modules communicate only pieces of data from one to the other
.this is in contrast to broad connections in which a pair of modules
may be communicating large pieces of data back and form.
2. Direct Connection: The interface between two module is
better understandable if a person can understand it
directly without having to refer to several other pieces of
information. The reason for this insistence for human
understanding is because cost of computer system is very
large.
3.Local Connections:
• In this case of local connections, all the information
required to understand the connection between to
modules is presented with a connection itself.
4. Obvious connections:
• Obvious connection is one ,which is easier to understand.
The obvious connection is the dream of any designer.
Easy to do complex task.
5. Flexible connection: If the mechanism to make the
connection between the modules is rigid then it is very
difficult for making changes or to clip a module to module
other than those to which it is already attached. Its more
difficult to maintain.
Types of Coupling
• For a good design, coupling must be kept
minimum. In the sequence from best to worst
there are three broad categories of coupling
between modules.
• 1. Normal coupling ( coupling by parameters)
• 2. Global or common coupling ( coupling via a
globally accessible data area)
• 3. Content or pathological coupling( Coupling by
direct connection between the internal of
modules)
1. Normal Coupling
• In normal coupling if we go from best to worst then we
have
1. Data coupling (parameters)
2. Stamp coupling( Composite parameters)
3. Control coupling( Parameters used explicitly to control
the behavior of the recipients modules)
• By normal coupling we mean the following:
• Two modules A and B are normally coupled
1. A calls B
2. B returns to A
3. All information passes between them by means of
parameters presented with the call itself.
1.1 Data coupling
• Data coupling is by far the simplest type of coupling.
Here two modules are data coupled, if they are
communicate via an elementary data item, which is
passed as a parameter between the two.
• There are no extra complication. Hence data
coupling is narrow, direct, local and obvious and its
flexible.
• However in data coupling we must keep interface as
narrow as possible, that is too many parameters will
complicate matter. if we can add any information it
can violates the principle of good design.
1.2 Stamp coupling
• Two normally coupled modules are stamp coupled if one
passes to the other a composite piece of data( that is a
data structure itself is passed)
• With stamp coupling the data values, format ,
organization must be matched between interacting
components.
• If composite data like CUSTOMER-RECORD consist of
many fields are passed between modules then the two
modules are stamp coupled.
• Ex. Module MOBILE-CHARGE it take two components
1. Basic rental charge
2. The usage charge
1.3 Control Coupling
• Two modules are control coupled if one
passes to the other a piece of information
intended to control internal logic of the
other.
Types of flags
• Different types of flags used in coupling
1. Data- name of student, pin code etc
2. Description flag: Student is average, pin
code is numeric….
3. Control flag: Bo to next record , Select
the record, enter master records……….
Common Coupling
• The normal coupling like data, stamp, and
control retain the basic character modularity.
• The common coupling refers to two or more
modules drawing information from the same
global data area. This kind of globally accessible
data area can be created in most computer
language like Cobol, Fortran, C programming.
• In fact relatively wide levels of coupling occur,
when modules tide to an environment external to
software. For ex. I/O couples a modules to
specific device, format and communication
protocols. Read example.
Limitation of Common coupling
1. A defect in any module using a global area may slow
up in any other module using that global area. A
data in the global area is not well protected and may
get managed at any moment.
2. The flexibility of globally coupled module is worse
than that normally coupled one.
3. The global coupling introduces an odd kind of
isolation in a system. so the value pass from one to
other.
4. Global areas may be misused by different modules
using the same area to store quite different pieces of
information.
5. Programs with a lot of global data are
extremely tough for maintenance
programmers.
6. It is difficult to discover what data must be
changed if a module is changed. Also it is
difficult to find out what modules must be
changed if a piece of data is changed.
7. Common coupling has some unwanted
features, which are not suitable for some
programming.
Content (Pathological) Coupling
• Content coupling exist between two modules if one
refers to the inside of the other in any way. Example.
1. If one module refers to data within another.
2. If one module alters a statement in another.
3. If one module branches into another.
• This kind of coupling makes nonsense of the concept
of black box module, since it force one module to
know about the explicit counters and implementation of
another one.
• Generally assembler language use such coupling. In
fact higher level language make it difficult to implement
content coupling.
Cohesion
• A fundamental goal of software design is to structure the
software product so that the number and complexity of
interconnection between modules is minimized. To achieve
this we involve the concept of coupling and cohesion.
• An important way o evaluate partitioning of the system is
decided by the fact of how cleanly the modules are
separated from one another, this is the criteria of coupling.
• Another way to determine partitioning is to look at how the
activities within single module are related to one another.
This is the criteria of Cohesion.
• While coupling talks about the interconnection between the
modules, Cohesion refers to “ putting strongly associated
things” in the same module.
• Cohesion is a measure of the strength of
functional relatedness of elements within a
module. Here elements mean an
instruction, a group of instruction, a data
definition or a call to another module. That
is any piece of code that accomplish some
work or define some data.
Types of Cohesion
• Cohesion of elements occurs on the scale of
weakest to strongest in the following order.
1. Coincidental cohesion
2. Logical cohesion
3. Temporal cohesion
4. Procedural cohesion
5. Communicational cohesion
6. Sequential cohesion
7. Functional cohesion
Coincidental Cohesion
• It occurs when the elements within a module have no
apparent (Clear) relationship with one another, that is ,
there is no meaningful relationship between the
elements.
1. Wash car
2. Fill out the application form
3. Have coffee
4. Go to the movie
5. Walk Dog
• The activities here are related neither by flow of data
nor by flow of control. Such modules make system less
undestandable.
2. Logical Cohesion
• It implies some relationship among the elements of the
module. A logically bound module often combine
several related functions in a complex and interrelated
fashion.
• Ex. We could combine into a single module all
processing elements that fall into the class of getting
input.
1. Read a control message from a terminal
2. Read transaction from magnetic tape
3. Read Master records from Disk.
• The logical cohesion is slightly better than coincidental
cohesion.
3. Temporal Cohesion
• A temporally cohesive module is one whose elements
are involved in activities that are related in time.
• Ex. In an initialization module the elements can be
1. Open Disk File
2. Reset Counter
3. Read a control Message from a terminal
4. Set Accumulator to Zero
• These activities are unrelated to one another except
that they are carried out at a particular time. So
temporal is stronger then logical, it may still lead to
complication at the maintenance stage.
4. Procedural Cohesion
• Generally functions must be performed in a certain
order. Ex. Data must be entered before they can be
checked and then manipulated. When functions are
grouped together in a component just to ensure this
order, the component is procedurally cohesive. EX.

Function A
Function B
Function C
Communicational Cohesion
• The elements of a module processing
communicational cohesion refers to the same
set of input and/or output data.
• Ex. Calculate gross-pay, calculate deduction and
calculate net-pay are combined into a single
module USE NET-PAY, then it would be
communicational. They work on same input like
Employee_id which makes the module
communicational cohesive.
Sequential Cohesion
• A sequentially cohesive module is one whose elements
are involved in such activities such that output data from
one activity serve as input data to the next.
• Ex. Read student_id
• Read marks of the student
• Calculate total-marks
• Calculate percentage
• Determine class
• Here the output of one activity goes as input to the next,
that is the elements/activities are sequentially bound.
• Sequentially cohesive module usually has good coupling
and is easily maintained.
Functional Cohesion
• A functionally cohesive module contains elements that
all contribute to the execution of one and only one
problem related risk.
• Ex. Functionally bound modules are
1. Assign Loan Account number to customer.
2. Compute Square root
3. Generate random Number.
4. Write records to print file.
• Each of these modules has a strong single minded
purpose. When its boss calls it, it carries out just one
job to completion without getting involved in any extra
activity.
Additional Design Guidelines
• Coupling and cohesion are two essential criteria in designing
system. But we also include:
1. Factoring
2. Decision Splitting
3. System Shape
4. Error reporting
5. Editing
6. State memory
7. Matching data structure
8. Informational cluster
9. Initializing and terminating modules
10. Restrictively/ Generality
11. Redundancy
12. Fan-in and Fan-out
• Out of this we are study factoring, system shape, error
reporting, generality, fan-in and fan-out.
Factoring
• Factoring is a process of decomposing a module
so that the bulk of its wok is done by its
subordinates.
• A system is said to be completely factored if all
of the actual processing is accomplished by
bottom level atomic (small) modules.
• Further non-atomic modules largely perform the
jobs of control and co-ordination. Structured
design aims for a completely factored structure.
• Factoring I done mainly for the following
reasons
1. To reduce module size
2. To get the advantage of top-down design
3. To avoid duplication of code
4. To separate the managerial work like
calling and deciding form outline task like
calculating and editing.
5. To simplify implementation
• To reduce module size :A large modules is a
headache because it becomes difficult to find bugs
or to understand the total module.
• To get the advantage of top-down design: In a top-
down deign, we can get the advantage of core of
understanding. Also modification to the system
becomes more localized and straightforward.
• To avoid duplication of code: We can reduced the
duplication code.
• To separate the managerial work like calling and
deciding form outline task: Factoring result in a
program structure in which top level modules
performs decision making and low level modules
performs most input, computational part and output
work. The middle level modules perform some
control and do moderate amounts of work.
• To simplify implementation: Factoring can
bring some ease to programming
problems. We can do this by reducing the
number of immediate subordinates of a
module.
• Factoring also can bring out the difference
between a structure chat and flowchart.
System Shape
• The quality of a system is largely determine by
the characteristics of the structure chart. There
are basic types of modules. They are
determined by the direction that data flow though
them. These types are:
1. Afferent: In anatomy terms, afferent means,
nerves sending information towards the brain.
Here it means what you view to a module.

Afferent
2. Efferent: It means nerves sending
information away from the brain. That is
what you get back from the module.

Efferent

3. Transform: Here modules gets information from its


boss and transform it into information to send back to
it.

Transform
4. Coordinate: Here module coordinates the
communication of its subordinates.

Coordinate
Error Reporting
• Error reporting should be reported from the
module, that is , it can detect an error and know
what the error is? Some times the boss module
can correct the errors.
• The question arise as to the storing of a text of
error messages. there are, in fact two choices,
one is to keep them all in one place. Other is to
sprinkle them all around by keeping message to
the respective module detecting the error.
keeping the error message at one place has the
following advantage:
1. Avoid duplicate message
2. Easier to update message
3. Possible to keep the text of the message in a
disk file
4. Easier to keep the wording and format of
messages consistent.
• However, there are two minor disadvantage if
we keep the message in one module:
1. You will need an artificial error message
number to access them
2. The code in the system isn’t so readable as it
is with the message text located where it is
used.
Generality/ Restrictively
• The modules should not be made too restrictive or
too general. A restrictive module has one or more
of the following characteristics:
1. It deals with restrictive data values, types or
structures. Ex. Bank amount.
2. It makes assumptions about where or how it is
being used.
3. It performs a specific job
• The problem with restrictive module is that they
are hard to reuse. Maintenance is slow and
tedious.
FAN-OUT
• The span of control is important while designing
the program structure. The depth and width of
the number of levels of control provide an
indication of the success of the structure.
• Fan-Out is a measure of the numbers of
modules that are directly controlled by another
module. On the contrast Fan-In indicates how
many modules are directly control a given
module.
• Fan-out is directly concerned with the
structured chart. If the number under the
module is too much, then the module is
consider to be complex and difficult to
maintain. In general the Fan-out of a
module should be less than eight.
• A high fan-out is repair by factoring out
middle management modules with strong
cohesion and loose coupling.
Fan-In
• The Fan-in to module is the number of
immediate bosses it has. High fan-in is the
return for intelligent factoring and the
removal of restrictive module.
• Fan-in should be maximized because they
have good cohesion.

You might also like