Software Engineering Notes
Software Engineering Notes
Index :
Introduction to System Concepts :
Definition, Elements of System
Characteristics of System
Types of System
System Concepts
Introduction :
Today, we are surrounded by systems; interact with systems, even an active part
of systems. When we withdraw money from banks, buy rail tickets, theatre tickets or
even set the timer on our washing machines, we are likely to be interacting with a
system of some sort.
Modern systems design is much more than a goal based definition of the
technical specification. In order to appreciate the role of systems analysis and design in
developing modern computer systems, it is instructive to look back at the rationale for
the development of such approaches.
During the early days of computing, expertise with computers was limited to the
very few. When software was developed, the actual user, who was a skilled technical
expert, implemented it for their purpose. There was therefore very little need to do
systems analysis or design. The size, complexity and applicability of the software used
on early machines were limited and the majority of systems analysis took place in the
programmer's head. The programmer would visualize the type of application they
wanted to create and then go ahead and program it.
This situation started to change when computers moved out of the academic and
research environments in which they were developed and then started to market to
business organizations. The complexity of applications needed by these organizations
led to a software industry building large complex systems.
When the focus of development changed from small to large teams, the design of
a software system could no longer be kept in on individual head.
The idea of systems has become most practical and necessary in
conceptualizing the inter-relationships and integration of operations especially when
using computers. Thus a system is a way of thinking about organizations and their
problems. It also involves a set of techniques that helps in solving problems.
What is a system :
1) A system is a set of elements combined together to fulfill a specific job.
2) A system is an organized, interacting, interdependent and integrated set of
components / parts.
3) A system must have an object or a set of objectives or a hierarchical set of objects.
w.e.f. 2009-10
4) A system is an assembly of procedure, process, methods, routines, techniques etc.
united by same regulated interaction to form an organized whole.
5) A system is made up of subsystems, which may be composed of further
subsystems.
Super System
System Structure
o Subsystem :
On consideration of one system 'whole' then it becomes very difficult to
handle. Therefore system decomposed into subsystems. These subsystems are
again divided into smaller subsystems until the smallest subsystem is in manageable
size.
Examples of system :
Natural Systems :
Occur naturally in the universe, such as galaxies, ant heaps and beehives.
Designed Systems :
Man-made systems physical (Computer, Central heating system, jet engines)
as well as abstract (mathematical systems, music system)
Social & Cultural System :
Formed by human beings coming together, naturally (in families,
communities, nations) or deliberately (in clubs, political parties)
Human Activity System :
Systems where human beings are undertaking activities to achieve some
purpose (business, organizations) might include other types of systems (e.g. use
designed systems such as computers or have a company sports club).
w.e.f. 2009-10
Definitions :
The term system is derived from the Greek word `systema', which means an
organized relationship among functioning units or components. A system exists because
it is designed to achieve one or more objectives.
OR
System is an orderly grouping of interdependent components linked together
according to a plan to achieve a specific objective. A system could be a part of bigger
system. (Here components may refer to physical parts)
Elements of System :
There are three basic elements of the system input, processing and output. Other
elements are control, feedback, boundaries, environment and interface.
Boundary Environment
Control
Feedback
Input :
Inputs are the elements that make the system to work in order to produce
required output. The inputs may be in the form of material, data, information or
human resources taken from the environment which are used for processing.
Output :
The system returns outputs to the environment after processing the inputs
and thus, achieves the specified objective. The output could be in the form of goods
(finished products). It could be done with expectations of intended user.
Processors :
The processor should be designed of such type that it can accept the input in
the given form and can give output in desired format. It is the operational component
of system. Processors may modify input totally or partially depending on
specifications of output. In short processor is the element of the system, works on
the input and generates the necessary output.
w.e.f. 2009-10
Control :
This element guides the system. The control element controls the working of
the system at all stages. It is necessary to control, input, process and output.
Continuously, in order to get desired results. In a complete system operating system
and accompanying software influence the behaviour of system.
Feedback :
Feedback is a method that helps to compare output produced with output
expected and make necessary changes in the process or input in order to reduce the
difference between output produced and output expected.
Environment :
Everything outside the boundary of the system is its environment. The
environments do affect working or progress of the system. The system should be
sensitive to the changes in its environment. It determines how a system must
function.
Boundary :
The boundary indicates the limit of the system. The boundary divides the
things into the system and its environment. The things which are inside boundary are
part of the system otherwise the things which are outside the boundary are its
environment.
Interface :
The inter-communications and interactions between the sub-systems are
called interfaces. Interfaces may be inputs and output of the system.
Que Define System and the General Process followed in any system or its basic
implications (£Ìããä¶ã¦ã ‡ãñŠËñËã ‚ã©ãÃ).
Ans A system consists of a set of elements which can be identified as belonging
together because of common purpose, goal or objective.
The general process or basic implications of system are as _
1) A system must be designed to achieve a predetermined objective.
2) Inter-relationships and interdependence must exist among the components.
3) The objectives of the organisation as a whole have a higher priority than the
objectives of its subsystems.
Characteristics of System :
According to definition of system some characteristics that are present in all
systems. Following are some important characteristics of a system.
1) Organization (Basic Components) :
Organization implies structure and order of a system. It is the arrangement of
components that helps to achieve objectives. Viz. Computer system, Business
System, organization Structure etc.
2) Interaction : (¹ãÀÔ¹ãÀãâÌãÀ ãä‰ãоãã ‡ãŠÀ¥ãñ)
w.e.f. 2009-10
Interaction refers to the manner in which each component functions with other
components of the system. Viz. 1) in an organisation, purchasing must interact with
production, advertising with sales. 2) In Computer system, the CPU must interact
with I/P device to solve a problem.
3) Interdependence :
Interdependence means that parts of the organisation or computer system
depends on one another. They are co-ordinated and linked together according to a
plan. One subsystem depends on the input of another subsystem for proper
functioning that is the output of one subsystem is the required input for another
subsystem. This interdependence is crucial (ãä¶ã¥ããþã‡ãŠ, ½ãÖ¦ÌããÞãã) in
system work.
4) Integration :
Integration refers to the holism of system. Integration is concerned with how a
system is tied together. It means that parts of the system work together within the
system even though each part performs a unique function.
5) Central Objective :
The objective may be real or stated. Although, a stated objective may be the
real objective, it is not uncommon for an organisation to state one objective and
operate to achieve another. The important point is that the users must know the
central objective of a computer application early in the analysis for a successful
design and conversion.
6) Behavior : (Not for all system)
It is the way that system reacts with environment. behavior determined by
procedure or instructions designed to make sure that component behaves in same
manner that will allow system to achieve its goal. Procedure describes what ought to
be done and behaviour describes what is actually done.
Viz. When human skin touches something extremely hot, at that time body
immediately withdraw from hot source.. Here, heat is the input from environment.
The reaction is behaviour and how to react is procedure.
7) Life Cycle : (Not for all system)
Every system has a life cycle means every system has a birth, life and death.
The system life cycle includes revolution, wear, aging, replacement, repair and finally
end of system existence.
Que Why Automation is required ?
Ans 1) To get information which is timely, precise, accurate, concise, up-to-date,
consistent, useful, presentable, non-redundant.
2) Easy and efficient retrieval and storage of information.
3) Ensure safety of records from external and internal threats.
4) To avoid unnecessary duplication of data.
Thus, by having an automated system we can achieve the pieces
framework as
* To achieve better performance
* To improve information
w.e.f. 2009-10
* To improve control and security
* To improve efficiency of people and machine
* To improve service to customers and employees.
Types of System :
The frame of reference within which one views a system is related to the use of
the systems approach for analysis. Systems have been classified in different ways.
Common classifications are _
1) Physical or Abstract 2) Open or Closed 3) Man-made information system
Additional Information :
A Model is a representation of real or a planned system. The use of models
makes it easier for the analyst to visualize relationships in the system under study.
Following are the types of models.
o System Model :
The analyst begins by creating a model of reality i.e. facts, relationship,
procedure etc. with which the system is concerned. The analyst begins by
modeling the reality before considering the function that system is to perform.
Various business system models are used to show the benefits of
abstracting complex system to model form. Some of them are as -
1) Schematic Models : It shows a two dimensional depicting (ãäÞã¨ã
ÀñŒãã›¶ãñ) system elements and their linkages.
2) Flow System Models : This shows the flow of material, energy and information
that hold the system together.
w.e.f. 2009-10
3) Static System Models : This type of model exhibits one pair of relationships
such as activity - time or cost - quantity. Viz. The Gantt Chart, gives the static
picture of an activity - time relationship.
4) Dynamic System Models : Business organisations are dynamic systems. It
depicts constantly an ongoing constantly changing the system.
2) Open and Closed Systems :
Open System :
This system interacts with its environment. This type of system receives input
as well as delivers outputs to its environment. This system does not provide for its
own control or modification. Viz. If a printer used with computer did not have a switch
to sense whether paper is in the printer, then a person would have to notice when
the paper runs out and signal the system (push a button) to stop printing.
The Characteristics of Open System :
1) Inputs from outside :
Open systems are self adjusting and self regulating. When functioning
properly an open system reaches steady state.
2) Entropy : (Decrease in available energy)
Open system resist ¹ãÆãä¦ãºãâ£ã entropy by seeking new inputs or
modifying the processes to return to a steady (firmly fixed) state.
3) Process, Output and Cycle :
Open systems produce useful output and operate in cycle, following a
continuous flow path.
4) Differentiation :
Open system have a tendency toward an increasing specialization of
functions and greater differentiation of the components. This characteristics
offers a completing reason for increasing value of concept of system in
system analyst's thinking.
5) Equi-finality : (Fact of being near to final)
This term implies that the goals are achieved through differing courses of
action and a variety of paths.
Closed System :
This system does not have any interaction with its environment. It is isolated
from environmental influences. This system automatically controls or modifies its
own operation by responding to data generated by the system itself. In reality
completely closed system is rare. Viz. A television which controls its sharpness or
brightness automatically with the help of sensors; chemical reaction in sealed tube.
Benefits of TPS :
a) The benefits of this are speedy processing,
b) less manpower needed,
c) increases efficiency and accuracy.
w.e.f. 2009-10
d) Stores all transactions
e) Helps to trace out the problems
f) Gives current status of various organisational entities
Expert Systems :
Human beings are experts in specific areas. Their knowledge must be recorded
somewhere for the use of others. An expert system is helpful for this, which captures
human knowledge in a computer to solve problems that ordinarily requires human
expertise. Effectiveness is a major goal of these type of systems.
Benefits of ES :
w.e.f. 2009-10
1) O/p is selected with the opinion of many experts.
2) Effective manipulation of large knowledge base
3) Increased output & productivity
4) Flexibility
Components of Expert System :
1) Knowledge acquisition
2) Knowledge base - facts and rules
3) user interface
4) Knowledge refining system
Questions :
1) Explain system and sub-system 2) Describe the various elements of system
3) Explain the characteristics of system 4) Distinguish between Open and Closed System, TPS and
DSS, 5) Define the term - Probabilistic System, Deterministic System, 6) Write note on Computer
Based System 7) Explain the different types of systems in brief. 8) Distinguish between Interaction
and Interdependence
w.e.f. 2009-10
CHAPTER - II
INTRODUCTION TO SOFTWARE ENGINEERING
Index :
2.1 Definition Need for software Engineering
2.2 Software Characteristics
2.3 Software Qualities ( McCall‟s Quality Factors)
Introduction :
Every Software, that is developed for specific use requires lots of efforts. A
software product may be developed by many developers, has many users and
maintainers. As numbers of persons are more, development and maintenance of
software product requires more systematic approach.
Software must be designed properly as per the user requirements. Source code
must be carefully implemented and thoroughly tested and supporting documents such
as user, manual, installation procedure, training aids, maintenance documents must be
prepared.
Software :
A software is instructions (Computer programs Viz. Application programs or
System programs) that when executed provide desire function and performance.
Software is a data structure that enables the programmer to adequately (Sufficiently or
satisfactorily) manipulate (handle with skill) information. Software is documents that
describe the operation and use of the programs.
w.e.f. 2009-10
2) Development phase :
This phase focuses on HOW. Means, during the development, a software
engineer attempts to define -
o How data are to be structured,
o How functions is to be implemented within a software architecture,
o How procedural details are to be implemented,
o How interfaces are to be characterized,
o How the design will be translated into a programming language or non-procedural
language and how testing will be performed.
3) Support phase :
This focuses on CHANGE. Associated with errors correction, adoptions
required as the software's environments evolves and changes due to enhancements
brought about by changing customer requirements.
Software Characteristics :
The characteristics of software are as -
1) Software is developed and engineered but it is fundamentally different from
classical manufacturing process :
Software projects and manufacturing projects both are achieved a high quality
through good design. The software project and manufacturing projects are
dependent on people. The relationship between people applied & work
accomplished by these activities are different.
2) Software is deterministic because it doesn't wear out :
Software is deterministic but hardware is probabilistic because it doesn't wear
out. Hardware has high failure rates. Hardware fails because of failure modes like
poor quality of fabrication, design error, overload of the component etc.
w.e.f. 2009-10
During the maintenances phase, changes may be requested in software by
the client. The alterations done to the software during maintenance may cause some
errors till it is regularized. This process of change in requirements and alterations
goes on since the business requirements keep on changing.
3) Software is customized :
Software are designed, developed and implemented according to the
specifications of the customers. So they are customized (i.e. custom built). The
efforts and duration for software design and development can be estimated using the
information gathered for requirements of customer.
4) Versions are created :
New modifications or updations are done in existing software to form a new
version of software.
5) Different hardware requirements :
Software may use various hardware components as per the usability of
applicability.
Software Components :
Software components has two basic forms -
1) Non Machine - executable component :
Software components are created through a series of translations that map
customer's requirements to machine-executable code.
2) Machine executable component :
Software components are built using programming language that has a limited
vocabulary.
Software Quality :
The American Heritage Disctionary defines "Quality" as a "Characteristic or
attribute of something". As an attribute of an item, quality refers to measurable
charactristics - things we are able to compare to known standards such as length, color,
electrical properties malleability (•ãìßÌãî¶ã Üãñ¥ããÀã) and so on.
"Quality of design" refers to the characteristics that designers specify for an item
1, where as the "Quality of conformance (¦ãâ¦ããñ¦ãâ¦ã, ‚ã¶ãì¹ã)" is the degree to
which the design specifications are followed during manufacturing. It is very difficult to
define quality and more difficult to quantity it and measure it.
The definition given by ISO-8402 of quality is "the totality of features &
characteristics of a product, process or service that bears on its ability to satisfy stated
or implied needs ".
Software Quality is a complex mix of factors that will vary across different
applications and the customer request them. The above definitions emphasize (•ããñÀ
ªñ¥ãñ) 3 important points.
1) Software requirements are the foundation from which quality is measured.
w.e.f. 2009-10
2) Specified standards define a set of development criteria that guide the manner in
which software is engineered.
3) If software conforms to its explicit (Ô¹ãÓ›) requirements but falls to meet implicit
(‚ãÔ¹ãÓ›) requirements, software quality is suspect.
-- Portability
-- Maintainability -- Reusability
-- Flexibility -- Inter-operability
-- Testability
Product
Product Revision Transition
Product Operation
In addition to these factors Bochm suggest that quality criteria include the
following attribute :
1) Economy 2) Documentation 3) Understandability
4) Modularity 5) Validity 6) Generality
7) Resilience 8) Clarity 9) Performance
o Product Operations :
1) Correctness :
If the software performs its required functions according to the specification then
it is functionally correct. If the software does not perform specified function
according to customer's need then there is a need to correct it the software
systematically.
w.e.f. 2009-10
2) Reliability
The software should meet all the requirements of the user and should be reliable.
It should give correct and expected outputs in a specified time. If most of the
errors are removed from the system then more reliability is achieved.
3) Usability
It is the ease (ÔãõË ‡ãŠÀ¥ãñ) of learning how to use software systems,
operating them, preparing input data, interpreting results, recovering form usage
errors.
4) Integrity
Software system must have ability to protect their various components (like
programs, data etc.) against unauthorized access and modification.
5) Efficiency
Efficiency of the software depends upon the execution speed & memory
requirements. If the algorithm (logic) used in program is proper then less
execution time is required. Efficiency of software depends upon the minimum
consumption of computing resources to fulfill its intended function.
o Product Revision :
1) Maintainability :
This relates with updation, addition of new procedures and removal of errors from
the software system. Software should be flexible to accept new changes.
2) Flexibility :
It is the case with which software products adapted to changes of specifications.
3) Testability :
After removal of errors, modified programs or updated programs and procedures
are require to test on test data for detection of failures.
o Product Transition :
1) Portability :
Portability refers to the ability of a software system to run on different hardware
platforms and software environments.
2) Reusability
It is the ability of software products to be reused, in whole or in part, for new
application.
3) Inter-operability
This refers to the ability of a system to co-exists and co-operate with other
systems. (Viz. MS-Office) Due to this quality factor, exchange of the data
between different products is possible.
w.e.f. 2009-10
Primary Goals of Software Engineering :
The primary goals of Software Engineering are
1) To improve the quality of software product
2) To increase the productivity
3) Job satisfaction of software engineers
Software Application :
1) Information content and determinancy are important factors in determining the nature
of a software application.
2) Content refers to the meaning & form of incoming and outgoing information.
3) Information determinancy refers to the predictability of the order and timing of
information.
4) The following software areas indicate potential applications
-- System Software -- Real time software
-- Business Software -- Engineering and Scientific Software
-- Embedded Software -- Personal Computer Software
-- Artificial Intelligence Software
w.e.f. 2009-10
CHAPTER 3
REQUIREMENT ANALYSIS
Introduction :
During system analysis some activities are carried out, such as problem
definition, design, implementation etc.
Before designing the actual system, user should know,
1) What is problem?
2) How to solve it?
3) What are its features, advantages and limitations?
If a system is designed without considering above activities then the system will
not work properly to the satisfaction.
So system analysis is necessary to design perfect and accurate system which will
satisfy the user requirements.
Requirement Analysis is a Software Engineer's task that bridges the gap between the
system level software allocation (assign or devotion) and software design.
R.A. enables the system engineering to specify software function and performance
R.A. indicate software's interface with other system elements
R.A. establishes design constraints that the software must meet.
R.A. provides the developer and the customer with the means to access quality once
the software is built.
w.e.f. 2009-10
Though the system analyst has the experience of the system, he should avoid
taking short-cuts in conducting investigations; otherwise there will be a problem in
requirement anticipation.
2) Requirement Investigation :
This activity is related with finding and investigating more features of the
system. This activity uses fact-finding methods like interview, questionnaire,
observation and record reviews for information gathering about system features.
Requirement Investigation is very important and related with System Analysis.
Documentation and description of features are also done for future analysis.
If Requirement Investigation is not done properly, system may not be
developed as per customer's satisfaction.
Different methods like data flow analysis, decision analysis, prototyping
methods and case tools are used for documentation.
3) Requirement Specification :
Requirement Specification is an agreement between the system developer
and the end user. The data collected from the end user during fact-finding
investigation is not always correct or sufficient sometimes because of
misunderstandings between the developer and user because of different culture and
different language; there are ambiguities in the investigations.
So this data is analyzed to determine how well the system is performing and
whether it will meet the organizational demands.
These specification documents are shown to user and it may help to minimize
misunderstandings between the developer and the end user. Sometimes user can
also suggest new features which should be included in new system
The strategies that fulfill the goal of the system and meet the specifications
are selected.
These strategies that fulfill the goal of the system and meet the specifications
are selected.
w.e.f. 2009-10
System Analyst :
"The person who performs the system investigation and who may or may not be
related to computer programming is called as system analyst".
The programmer works with the frame work provided by system analyst. Thus a
system analyst designs information system which meet organisation objective, promote
integration of activity and provides facilities and controls which are flexible and robust.
In addition to the technical know-how of the information system development, a
system analyst should also have the following knowledge.
-- Business knowledge :
As the analyst might have to develop any kind of a business system, he should
be familiar with the general functioning of all kind of business.
-- Interpersonal Skills :
Such skills are required at various stages of development process for
interacting with the users and extracting the requirements out of them.
-- Problem Solving Skills :
A system analyst should have enough problem solving skills for defining the
alternate solutions to the system and also for the problems occurring at the various
stages of the development process.
Questions :
1) What is system Analyst?
2) How requirements are determined?
3) Describe the necessity of requirement analysis.
4) Define - System Analysis, System design and system analyst
5) Why system analysis is required / necessary?
6) What do you mean by Requirement Analysis?
w.e.f. 2009-10
Communication is not just reports, telephone conversations and interviews. It is
people talking, listening, feeling and reacting to one another, their experience and
reactions.
b) Understanding :
The analyst must be able to understand the problem for which the system is to be
developed and he must be able to give solution for achieving the goal of
organization and must show sensitivity to the system on people at work.
c) Teaching :
The analyst should train different people from software development team.
He/She must involve in giving training of the system to its users.
d) Selling :
The analyst should be able to give various alternatives on solving problem and
must be able to convince it to customer as well as software development teacm.
e) Motivation :
The Analyst must motivate software development team as well users in doing
their tasks efficiently.
o Technical Skills :
These skills focus on procedures and techniques for operations analysis,
system analysis and computer scie
w.e.f. 2009-10
Tasks / Jobs of System Analyst :
The job / tasks of the system analyst are as follows -
1) Problem identification and understanding
2) Evaluation and synthesis (find the value, combining of elements)
3) Modeling
4) Specification & (detail of design & material)
5) Reviews (general survey)
System Analyst is the interface between organization and computer system.
In computer department the work / job of analyst are -
1) Choice of programming language
2) Develop system within schedule and budget
3) Documentation policies and procedures
Hence the main objective of System Analyst is to provide right type of
information, in right time, in right quantity and at right cost to management and end user.
w.e.f. 2009-10
The Multifaceted Role of the Analyst :
The Analyst plays his role in many characters. The various roles played by him
are as -
1) Change Agent :
System Analyst is called as change agent because the analyst does the work
in the way that it will improve over all working as well as profit of the organizations.
This change is brought by implementing new software based computer system. To
make this change successful, the analyst should give user as much participation as
possible while designing the system.
2) Investigator & Monitor :
The analyst gathers the information to determine why the present system
does not work well and what changes will correct the problem. In one respect, this
work is similar to an investigator.
The role monitor is related to the role investigator. The analyst also monitors
the activities going on while designing the system. This includes successful
completion of the program with respect to time, cost and quality.
3) Architect :
System Analyst is like architects. The analyst works with user to identify the
goals and shapes of new system. Architect first prepares a plan and according to
that plan he develops a building. System Analyst also creates several plans and
develops or builds system according to that plan.
4) Psychologist :
Analyst plays the role of psychologist. He / She goes to people, interprets
their thoughts and behaviour and draw conclusions about them. Understanding is the
important thing. Aware of people, feeling, listening is very important in evaluating
response and freedom.
5) Sales Person : (who can sell refrigerator to Eskimo)
The analyst works as a sales person by giving oral presentation of the system
at each stage of development. The analyst should be very good in communication
and in putting his ideas before the user. Also he should be able to clarify the issues
raised by the user at the time of presentation.
6) Motivator :
It is the responsibility of the Analyst to motivate the user to use the new
system. It is directly dependent upon how much user participation is given in the
project design and how much efforts are taken to train the user, that the user can be
motivated to use the new system.
7) Politician :
While designing a new system, the analyst should not only think about the
technical side but like a politician, he should keep good relations, good control and
good influences on the people with and around him.
w.e.f. 2009-10
Feasibility Study and its types :
A feasibility study is a preliminary study undertaken before the real work of a
project starts to ascertain the project's success. A feasibility study is conducted to assist
decision-makers in determining whether or not to implement a particular project or
program. Feasibility Study permits planners to outline their ideas on paper before
implementing them. The feasibility study is useful to evaluate the cost and benefits of
the system requested.
The major aspects in Feasibility Study are as -
1) Technical Feasibility :
Technical Feasibility always focuses on the existing computer hardware,
software and personnel. This includes the need for more hardware or software and
possibility of installing such feasibility.
2) Economic Feasibility :
Economic Feasibility is most frequently used for evaluating the effectiveness
of the system. It is commonly known as cost / benefit analysis, the procedure is to
determine the benefits and savings that are expected from the requested system and
compare with cost. If benefits outweigh costs, the decision is made to implement a
system. Otherwise alternatives are suggested.
3) Operational Feasibility :
It consist acceptability of the system. It checks whether system will be used if
it is developed and implemented, are the users able to handle the system, whether
the proposed system cause any trouble etc. It also considers the special efforts
required to educate, sell and train staff for new system.
4) Legal Feasibility
It is one more aspect in the feasibility study. It includes concerning contracts,
liability, violations and legal other traps frequently unknown to the technical staff.
The feasibility study is carried out by a small group of people who are familiar
with information system technique, knowledge of business parts and are skilled in
system analysis and designed process.
w.e.f. 2009-10
a) Interview :
This technique is used to collect information from individuals or from groups.
The interview is best method for producing the qualitative information, opinions,
policies, suggestions and problems etc.
The information collected from interview is more valid, accurate and reliable
because it is face-to-face communication and interviewer has flexibility in asking
questions and he can crosscheck the information gathered.
This technique is helpful for gathering information from individuals who do not
communicate effectively in writing or who may not have time to complete
questioning. Interview allows analyst to discover areas of misunderstanding,
unrealistic expectations and indication of resistance to the proposed system.
Interviews are not always the best source for collecting the information
because it takes a lot of time.
Points to be remembered in conducting the interviews :
a) Put yourself in other man's place and pose your questions. Cultivate the ability
to appreciate his point of view.
b) Maintain a neutral attitude. However, show genuine interest so that other
person can come out with his problems, thoughts and ideas.
c) Let him do the most talking! Listen
d) Ask specifics
e) Notice what he does not say
f) If the interviewer leaves the core subject, bring him back to the track tactfully.
g) Don‟t show you are in a hurry
h) Distinguish between fact and opinion
i) Always be polite, don't be over polite
General Rules for conducting an interview :
a) Obtain prior permission
b) Prepare one as regards to objectives and methods
c) Put the interviewee at ease.
d) Explain in advance about the subject of the interview
e) Avoid arguments involving too many people at the same time.
f) Do not try to cover too much ground in one interview.
Types of Interview :
Interviews can be of two types - Structured and Unstructured. Structure
Interviews are used standardized questions in either open response or close
response format. This type uses the set of prescribe answers. Unstructured
interviews allows respondent to answer in their own words.
o Advantages of Structured Interview :
1) Limited interviewer training is needed. 2) Results in shorter interviews
3) Easy to administer and evaluate 4) Ensures uniform wording of
questions for all respondent.
w.e.f. 2009-10
o Disadvantages of Structured Interview :
1) It takes less time
2) Cost of preparation is high
3) Interviewer may not accept high level structure and mechanical style of
questions.
4) High level of structure may not be suitable for all situations
o Advantages of Un-structured Interview :
1) Interviewer has greater flexibility in wording questions to suit the respondent.
2) Interviewer can visit any area that arises spontaneously during paragraph
format answers.
3) May produce information about areas that were not thought to be
important.
o Disadvantages of un-structured Interview :
1) Extra or unnecessary information may be gathered.
2) Take extra time to collect essential facts
3) Analysis of results may be lengthy.
Questions :
1) How information has to be gathered in complex organizations?
2) What are the advantages and disadvantages of structured interview?
3) What are the advantages and disadvantages of unstructured interview?
4) Enlist the general rules for conducting the interview.
5) What are the points to be remembered in conducting the interview?
6) Enlist the fact gathering / finding techniques.
7) Why information is gathered in organized way?
b) Questionnaire :
It may be used as a supplement to interviews. Questionnaires are another
way of information gathering where the potential users of the system are given
questionnaires to be filled up and returned to the analyst. This method is useful when
the analyst need to gather information from a large number of people.
w.e.f. 2009-10
If the anonymity (ãäÌãÎÌããÔããÖæãã) of the respondent is guaranteed by
the analyst the respondent answers the questionnaires very honestly and critically.
Questionnaires should be design with clarity of its objective so as to do justice
to the cost incurred on their development and distribution.
Types of Questionnaires :
Open-response and Close response are the two types of questionnaires.
o Open response :
These types of questionnaires are used to learn about the opinions,
feelings and general experience about the problem. The objective of Open
response questionnaire is to gather information and data about the essential
and critical design features of the system.
Viz. What is your opinion regarding the 'Teachers Strike'?
o Closed Response :
These types of questionnaires contain specific questions and responses,
from which a respondent has to choose the best one. The closed questions can
be of various types and the most common ones are listed below.
1) Fill in the blanks
2) Dichotomous i.e. Yes or No type
3) Ranking Scale Questions - Ask the respondent to rank a list of items in
order of importance or preference.
Viz. Workers on this job ...
____2____ are busy all the time
____5____ have work where they do things for other people
____3____ try out their own ideas
____1____ are paid well in comparison with other workers
____4____ have opportunities for advancement
4) Multiple Choice Questions
5) Rating Scale Questions - These are an extension of the multiple choice
design. The respondent is offered a range of responses along a single
dimension. Viz. (¾ããñؾ㠄¦¦ãÀãÞ¾ãã ¶ãâºãÀËã Ìã¦ãÃß ‡ãŠã¤ã.)
Very Dissatisfied No Opinion Satisfied Very
S.N. Dissatisfied Satisfied
1 The way my job provides for
1 2 3 4 5
steady employment
2 ------ 1 2 3 4 5
3 ------ 1 2 3 4 5
4 ------ 1 2 3 4 5
w.e.f. 2009-10
3) Number of questions should be kept to the minimum
3) Decide what type of questionnaire (Open, Closed) should be used?
4) Outline the topics for the questionnaire and then write the questions.
5) Questions should be simple, short and unambiguous
4) Questions of sensitive or personal nature should be avoided.
5) Answers to questions should not require calculations
6) Logical arrangements of questions
7) Cross checks and footnotes
8) Pre-test (try out) the questionnaire to see how well it works
9) Do a final editing to ensure that the questionnaire is ready for administration.
Advantages of Questionnaires :
1) It is economical and requires less skill to administer than the interview.
2) A questionnaire can be administered to large numbers (Various subject) of
individuals simultaneously.
3) The standardized wording, order of the questions and standardized
instructions for reporting responses ensure uniformity of questions.
4) The respondents feel greater confidence in the anonymity of a questionnaire.
5) With a questionnaire, respondents give opinions without fear that the answer
will be connected to their names.
6) In Questionnaire the respondents have time to think the questions over and
give more accurate data.
Disadvantages of Questionnaires :
1) It is very time consuming
2) It is slowest method of data collection
3) This does not allow observing the expressions and relations of respondent.
Questions :
1. Write short note on Questionnaire.
2. What are the advantages of Questionnaire?
3. What are the disadvantages of Questionnaire?
4. List the points to be remembered while designing a Questionnaire.
5. Explain in short the types of Questionnaire.
w.e.f. 2009-10
6. Differentiate the Open response and Close response.
w.e.f. 2009-10
Case Study on Questionnaires :
Prepare a questionnaire format asking the people about various problems
occurred in a city expectations for the Municipal Corporation. Questionnaire must have
at least five questions and proper choices to select.
o Solution :
Problem of Citizens and expectations from Municipal Corporation :
Name of the Citizen : ________________ Area of Citizen : _______________
Questions :
Q.1 Are you satisfied with regularly water supply?
Yes No Sometimes
Q.2 Are you facing any problem due to electricity and load shading?
Yes No Sometimes
Q.3 Are you happy with road conditions in city?
Yes No Sometimes
Q.4 Whether you get immediate response to your complaint?
Yes No Sometimes
Q.5 The garbage vehicle comes daily to collect wastage?
Yes No Sometimes
Q.6 Give suggestions to improve better services to citizens
Q.7 Is any problem having you face other than above? If yes list it
Date : Signature :
Software Crises :
Many industries observe have characterized the problems associated with
software development as “Crisis”.
The word Crisis means „time of danger‟ or „great difficulty‟. The word „crisis‟ also
defined as “Chronic affliction”. Affliction means anything causing pain or distress and
chronic means, “long time”.
The term software crises include a set of problems that are encountered in the
development of computer software.
w.e.f. 2009-10
The problems that afflict software development can be characterized from a
number of different perspectives as _
Schedule and cost estimates are often inaccurate.
The productivity of software, people hasn‟t kept pace with the demand for their
services.
The quality of software is sometimes less than adequate (sufficient).
The problems associated with the software crisis have been caused by the
character of software itself and by the failure of the people charged with software
development responsibility.
w.e.f. 2009-10
the existing situation or future situation. So, analyst must ask questions related to
decision requirements such as _
1) Which type of information is used to make the decision?
2) What is the source of information?
3) Which type of transactions produced the data used in the decision process?
4) In which form the information should be presented?
Thus, analyst discovers the relationship between the decision system and
transaction system.
SRS Outline :
The national bureau of standards IEEE and U.S. Development & Defense
proposed the following format of SRS.
I Introduction
A) System Reference
B) Overall Description
C) Software Project Constraints
II Information Description
A) Information Content Representation
B) Information Flow Representation
1. Data Flow
2. Control Flow
III Functional Description
A) Functional Partitioning
w.e.f. 2009-10
B) Functional Description
1. Processing narrative
2. Restriction / Limitations
3. Performance requirements
4. Design Constraints
5. Supporting diagrams
C) Control Description
1. Control Specification
2. Design Constraints
IV Behavioral Description
A) System States
B) Events & Actions
V Validation & Criteria
A) Performance Bounds
B) Classes of Tests
C) Expected Software Response
D) Special Considerations
VI Bibliography
VII Appendix
Questions :
1) What is requirement determination?
2) What is feasibility study? Explain its types in brief.
3) Explain SRS.
4) Write short note on – (a) User transaction requirement, (b) User design
requirements.
5) Swami Samarth Private Tuition conducts classes of XII students. The In-
charge of the tuition wants to collect feedback from students about teachers
and facilities provided by the tuition. Prepare a questionnaire to collect
information about it. (It must have 5 questions of open ended and 5 questions
of close ended).
w.e.f. 2009-10
CHAPTER – 4
SOFTWARE DEVELOPMENT METHODOLOGIES
Introduction :
Software Development Methodologies means different software development
methods. Methods are nothing but a process. The concept of process is the heart of
software engineering. Software development is a social learning process. The process
provides the interaction between user and designers, between the users & evolving
tools and between designers & evolving tools i.e. technology.
In other words, a software with ordering constraint among them, such that if the
activities are performed properly & in accordance with ordering constraint, the desired
result is produced.
Software development methodologies are used for computer information system
to produce information needed to take decisions.
The growth of an information system passes through variable identifiable stages
and these stages put together are referred to as SDLC.
System Testing
System Maintenance
SDLC
w.e.f. 2009-10
It is quite likely that while the system analyst is working on a particular stage, he
is also considering possible solutions related to the next phase. There is always a
possibility of coming back from an advanced stage to revise or review the decision taken
in earlier phases.
Preliminary
Investigation
System System
Maintenance Analysis
System System
Implementation Design
System System
Testing Coding
o Preliminary Investigation :
Any person related with system initiates the request, when that request is
made, preliminary investigation starts. This activity has 3 parts _ Request
Clarification, Feasibility Study and Request Approval.
a) Request Clarification :
The initiated request must be examined to determine precisely what the
originator wants, before system investigation starts.
b) Feasibility Study :
This is carried out when there is a complex problem. A feasibility study is
undertaken to determine the possibility or probability of either improving the
existing problem or developing a completely new system.
There are 3 aspects of feasibility study, which should be check _
a) Technical Feasibility :
This determines whether it is possible to develop the project with
available equipment, software technology & manpower. If there is any kind of
need in order to develop software, the cost of hardware, software & technical
equipment are considered.
b) Economic Feasibility :
This considers the benefit of the system & the cost benefit analysis is
done. The cost must include both one time cost & recurring costs.
One time costs may include –
-- Feasibility study cost
-- The costs for converting from present system to new system
-- Construction or remodeling of computer room / facilities
-- Cost involved in software packages
w.e.f. 2009-10
Recurring cost may include –
-- Rental or purchase of equipments
-- Salaries of personal
-- Supplies
-- equipment maintenance
c) Operational Feasibility :
After implementation of the system, the training program are arranged
for the users. The cost of training program, space requirement for the system
implementation & other assets are considered.
c) Request Approval :
After requests are approved its cost/priority, completion time & personnel
requirements are estimated & project planning is updated.
o System Analysis :
The activities involved in this phase are as _
a) Definition of the overall system
b) Separation of the system into smaller and manageable parts
c) Understanding the nature, function, interrelationship of various subsystems.
d) Determination of the requirements of a new system
The analyst uses a combination of various tools (review, observation etc.) to
analyze an existing system. This phase is very crucial & time consuming. The output
of this phase is a functional specification report, processing controls, response times
& input and output methods.
o System Design :
This phase defines the way how a system will meet the requirements which
are identified, during system analysis. This phase includes following development _
a) Screen designing,
b) Report designing
c) Output designing
d) Form designing
e) File structure
f) Program specifications / Procedures
System Maintenance :
After implementation of system, customer may want certain changes in the
system. Therefore, there is a need to have persons to look after the system and
maintain it even during operation & production.
The system maintenance could be because of any of the following reasons _
a) Minor change in the processing logic
b) Errors detected during the processing
c) Revisions of the formats of inputs
d) Revisions of the formats of the reports
Preliminary
Investigation
Requirement
Analysis
System
Design
System
Coding
System
Testing
Implementation
& Evaluation
Maintenance
w.e.f. 2009-10
4) System Coding :
The design must be translated into a machine readable form
5) System Testing :
This process focus on the logical internals of the software and functional
externals
6) Implementation & System Maintenance :
Implementation includes the activities like planning and preparation of
schedule for the implementation, hardware checking, installing software etc.
System should be maintained properly because of any of the reasons. Errors
detected during the processing, revision of data input and report formats.
Advantages / Strengths :
o The waterfall model is easily understood & easy to explain to the user
o Stages and activities are well defined
o Helps to plan and schedule the project
o Verification at each stage ensures early detection of errors
Disadvantages / Weakness :
o The documentation is also a disadvantage because the user does not understood
and cannot contribute properly during any change.
o The waterfall model assumes that the requirements of a system can be frozen
(i.e. baseline) before the design begins. This is possible for systems designed to
automate an existing manual system. But for absolutely new system, determining
the requirements is difficult, as the user himself does not know the requirements.
o Freezing the requirements usually requires choosing the hardware. The large
project might take a few years to complete. If hardware is selected early, then
due to the speed at which hardware technology is changing, it is quite likely that
the final software will employ a hardware technology that is on the verge of
becoming obsolete.
o Waterfall model is easy to understand but difficult to follow particularly in projects,
which require fast results.
Spiral Model :
The spiral model was originally proposed by Boehm in 1988. It is also called as
'Risk Management' or 'Process Model'. Each software process is a sequence of
activities with some backtracking from one activity to another the process is represented
as a spiral. Each stage is in the spiral represents a phase of the software process. The
spiral model is useful in the following situations.
When development of a project starts it may be possible that work may not be
stopped due to any reason. If such situation arises what step must be taken to solve
such problem should be known.
w.e.f. 2009-10
Which path should be followed for a particular procedure must be known in advance
to the development team. Because of this work will not be stopped in the middle.
This model guides the risk in the project. Risks are concerned with the future. The
spiral model is useful for identifying and eliminating high risk problems in process
design.
The spiral model contains four stages and each stage is represented by one
quadrant of the Cartesian diagram. The radius of the spiral represents the cost incurred
so far in the process.
1) Planning :
It required defining resources, timelines and other project related information.
It also determines the objectives, alternatives and constraints of the portion of the
product under consideration.
2) Risk Analysis :
It required to assess both technical and management risks.
3) Engineering :
It involves developing and verifying the next level product. It includes
construction, testing, installation and providing user support.
4) Customer Evaluation :
It required obtaining customer feedback based on evaluation of the software
representation created during the engineering stage and implemented during the
installation stage.
The spiral model provides a realistic approach to the development of large-scale
systems and software. The software made as per the customer satisfaction. It provides
maximum customer satisfaction from the final product.
Prototyping Model :
The goal of this model is to counter the limitations of the waterfall model.
Prototyping is a process that enables the developer to create a working model of an
information system application. It gives just idea of the system. It does not contain all
features or perform all the necessary functions of the final system. Customer evaluates
the prototype and then suggests what changes needed in the system.
It does not require lot of cost to build. It can prepare by pen and pencil or
computer software like screen generators, report generators and application generators.
Prototyping is a user-friendly interactive process.
Prototype is useful when _
The requirements are difficult to specify in advance.
The requirements may change significantly during development
A totally manual system is proposed
The ideas and assumptions about a new system are to be experimented quickly by
the user at less cost.
w.e.f. 2009-10
o Steps in Prototyping :
1) Identify the user's basic requirements and the features needed in the system
2) Develop a working model
3) Give it to user; user uses the prototype nothing to needed enhancement and
changes, which expands the list of system requirements.
4) Revise the prototype based on information gain through user experience
5) Repeat these steps as needed to achieve a satisfactory system, means features
meet with user's requirements.
After examine the prototype model by users one of the following alternative is
selected.
a) The prototype is selected
b) The prototype is redeveloped
c) The prototype implemented
d) The project is cancelled
e) Another prototype series is beginning.
Following is the comparison between Classic Model with Prototyping _
Requirement Design Coding Implementation Testing User Acceptance
Analysis Test
Error Detection
Conventional Method
Error Detection
With Prototyping
w.e.f. 2009-10
o Tools for Prototyping : There are 3 tools _
1) Screen Generators :
Automatic input validations are prepared. It is useful to show the location
of data entry field, display fields, headings of columns, labels, messages, colors,
fonts etc.
2) Report Generators :
Some records are extracted from the existing database and show the
appearance of the output.
3) Application Generators :
There are software programs that permit the specification of an entire
application at a very high level. They provide the capability to develop
applications that accept input, validate data, perform calculations, interact with
files and produce outputs.
o Advantages of Prototyping :
Users are actively involved in the development
It provides a better system to users, as users have natural tendency to change
their mind in specifying requirements
Users get a better understanding of the system being developed.
Errors can be detected much earlier as the system is made side by side.
o Disadvantages of Prototyping :
Practically, this methodology may increase the complexity of the system as scope
of the system may expand beyond original plans.
o Prototyping Flowchart :
Requirements Gathering
& Refinement
Develop Working
Model
Customer Evaluation
Is it
Is it No necessary No Abandon
Satisfactory to Process
redevelop
Yes
Implement Prototype
w.e.f. 2009-10
Q. What are the advantages of problem identification in SDLC?
A. Following are the advantages of problem identification in SDLC
It helps in problem solving,
Setting proper goals,
Determines the boundaries of the project
w.e.f. 2009-10
CHAPTER – 5
ANALYSIS & DESIGN TOOLS
1) Entity / Entities :
An entity is an object that exists and has distinguishing features for
identification from other entities. An entity is a thing in the real world with an
independent existence which plays a specific role in the system being developed.
Viz. person, Place, things, Documents, Student, Account etc
Student is an entity with attributes (properties) _ roll_no, name, class etc. and
it is uniquely identified.
o Entity Set :
Entity Set is a set of entities of the same type that share same properties
or attributes. Entity sets need not be disjoint.
2) Relationship :
A relationship is a meaningful association or connection between entities. An
entity is represented by rectangular box and relations are represented by diamond
box.
o Types of Relationship :
The relation between entities may be
1) One – One relation :
1 1
Employee is identified by Employee No.
3) Attributes :
An attribute is any aspect, quality and characteristics of either an entity or a
relationship. An attribute tells what an entity is, entity has, entity contains or the entity
does.
Each attribute has a domain from which the values for this attribute are drawn.
Following are the types of attribute.
1) Simple & Composite Attribute :
Simple attributes can not be divided into subparts, but composite attributes
can be divided into subparts.
Example : Student_no – simple
w.e.f. 2009-10
Student_name – composite because it may further divided into fname, mname
and lname.
2) Single valued & multi valued attributes :
Single valued attribute has single value for a particular entity. Multi valued
attribute has a set of values for a specific entity.
Viz. Roll_no – Single
Account_no – Multi valued because there may be more than one accounts of a
person.
3) Null Attribute :
It is used when an entity does not have a value for an attribute.
4) Derived Attribute :
The value for this attribute can be derived from the values of other related
attributes or entities.
Entity Dependency :
There are two types of dependency :
1) Existence Dependency :
One entity is unable to exist in a database. Unless the other is first present.
So the existence of the second entity depends on the existence of the first. For
example, orders cannot exist unless there is a customer.
Deleting records from one entity may cause deleting records from other, if
existing dependency is present. For example, if some customer records are deleted
then the orders placed by that customer will also be deleted.
2) Identification Dependency :
An entity cannot be uniquely identifies by its own attributes. Identification is
done only through an entities relationship with other entities. For example, streets
are unique within cities and cities are unique within states. So we should know both
street and city or city and state to identify the place entity.
During analysis of the system it is very important to check all possible relationships
between entities. If some relationships are not considered (missed) then there is
possibility of omitting something in system. To avoid this following procedure is followed
during analysis _
1) Find out all entities (Say n)
2) Check whether first entity is related with all the (n-1) entities
3) Check whether second entity is related with other (n-1) entities
4) Continue this till all entities are considered
E-R diagram
1 M
University Design Course Conducted
M M M
Student Register Center
M 1
Forms
M
Batch
Relationships :
Department Employee Supervisor Project
Department Is assigned Run by
Employee Belongs to Works on
Supervisor Runs
Project uses
w.e.f. 2009-10
1 1
Department Run by Supervisor
M
is
assigned
M M M
Employee Works on Project
w.e.f. 2009-10
Decision Tree & Decision Table :
A tool is an any device, object or operation used to accomplish a specific task.
There are 3 tools for documenting procedure.
1) Decision Tree 2) Decision Table & 3) Structure English
While designing the system there are several conditions in different topic and for
all though condition there are some action. Actions are alternatives the steps activities
or procedure that an individual may decide to take when confronted with a set of
condition, the actions can be quite simple in some case and extensive in others. Actions
can also relate to quantative conditions. Analyst must consider the combination of
conditions and actions.
In fact decision trees and decision tables are means of expressing process logic.
They may therefore, be used in conjunction with or in place of flow charts or pseudo
code.
o Decision Tree :
A decision tree is a diagram that presents condition and action sequentially
thus shows which condition is consider first, which second & so on. Decision trees
are also a method of showing the relationship of each condition and its possible
actions.
Condition action
condition
root condition action
condition action
condition
condition action
Decision Tree Strucutre
o Decision Concept :
1) Conditions :
Conditions are nothing but the possibilities that may occur in a given
system.
2) Action :
w.e.f. 2009-10
After the determination of conditions the analyst decides, what should be
done when a particular condition occurs. Thus, actions are nothing but the steps,
alternatives, procedures to be taken in case a given condition occurs.
o Problems :
A Co-operative bank xyz will grant loans under the following conditions :
1) If a Customer has an account with the bank and has no loan outstanding, loan
will be granted.
2) If a customer has an account with the bank but some amount is outstanding from
previous loans, then loan will be granted if special management approval is obtained.
3) Reject loan applications in all other cases.
Solution :
No Reject
Customer
has a/c. Cust. has no dues Sanction
Yes
o Problems :
Material is issued to the department by considering whether the material
requisition note (MRN) is signed or not, it contains valid items or not and it is given
within 8 hours or not. Draw a decision tree for this problem.
w.e.f. 2009-10
Given within Issue material
8 hours
Valid items
MRN is
Signed not given within Do not issue material
8 hours
Invalid items Do not issue material
o Problems :
ABB Co. Ltd. decides to give Diwali bonus to all employees for which the
management has divided the employees into 3 categories namely Administrative
Staff (AS), Office Staff (OS), Workers (W) & considered the following rules.
1) If the employee is permanent & in the AS Category the amount is 3 months
salary.
2) If the employee is permanent and in the OS Category the bonus amount is 2
months salary.
3) If the employee is permanent and in the W category the bonus amount is one
month salary.
4) If the employees are temporary then half of the amount is given to them as per
the permanent employee's bonus amount.
Decision Table :
A DT is a visual means for showing how a rule or set of rules applies to
respective situations. The decision table is a tool of the programmer & the systems
analyst. It can be used either as a substitute for the flowchart or used to supplement the
flowchart.
When the solution to a problem involves substantial logical decisions, the various
conditions and possible actions involved can be represented in the form of a table. This
table is known as decision table.
The decision table is made up of 4 parts. Its general form is as _
w.e.f. 2009-10
o Condition Stub :
1) Condition Statement - Refers to conditions
2) Condition Entries - Values that apply to a condition
o Action Stub :
1) Action Statement - Refers to steps that can be followed on occurrence of a
condition.
2) Action Entries - Specifies the action to be taken when a particular condition is true.
Process No.
Process Name
2) External Entity : A source or destination of data, which is external to the system Viz.
Student, Item, Purchase order.
Entity Name
w.e.f. 2009-10
3) A Data Flow : It is a packet of data. It may be in the form of a document, letter etc.
Viz. Valid Student Number, verified purchase order etc.
4) A Data Store : Any stored data but with no reference to the physical method of
storing Viz. Student, Item
Data Store No
Data Store Name
The process represented by a circle is also known as "Bubble". Hence DFDs are
sometimes referred as Bubble Diagrams.
w.e.f. 2009-10
DFD Types :
1) Logical DFD :
The DFD that show "What is going on" is a logical DFD. These shows
data, process and events those are abstractly than physical DFDs. Logical
DFDs shows an implementation - dependant view of the system. Logical
DFDs help to get a clear idea of what the system has to achieve without
getting into details.
2) Physical DFD :
The DFDs that show "How it is going on" is a physical DFD. These
DFDs shows how things happen and which are the actual physical
components involved. Physical DFDs shows the physical elements like
people, reports, documents etc. Physical models are easier to visualize,
hence analyst begins with physical DFD before converting it to logical DFD.
0 Context Level
1 2 3 N 1st Level
w.e.f. 2009-10
4) Give proper and unique numbering to the processes. To avoid mistakes in
numbering you may give numbers to process after final draft is prepared.
5) Give names to data flows, data stores, processes source and destination entities,
which are self - explanatory
6) Avoid crossing of lines, this may increase complications to read a diagram.
7) Draw a system that never started and will never stop. Processes from a system
should always be ready to function or perform a task.
8) Elaborate the processes using next level diagrams to reduce complexity.
w.e.f. 2009-10
Application form,
Birth certificate I-Card, Fee Receipt
APPLICANT MEMBER
Medical cer. 0.0 Sports faciliteis
Application Details
Certificate Details I-Card, Fee Receipt
APPLICANT MEMBER
Fees Details 0.0 Facilities Details
Photograph, Sports
Club
System
MANAGEMENT Fee Det., Sports Reports MANAGEMENT
Det.
Logival Context Level Data Flow Diagram
o Example :
Draw a context level diagram for the following
Rajebahaddar hospital is one of the famous hospitals in the city, which gives services to
the patients. Hospital employees various doctores, nurses and other staff members.
Some doctors are also working as visiting doctors.
Patients are categorised as inpatient and outpatient. Inpatients get admitted in the
hospital in a ward like general, semi-special and special as per the choice. Inpatients get
daily treatment by the doctor, which is recorded. During patient also gets various
services offered by the hospital.
When inpatient gets discharge, the bill is prepared as per the charges given by doctor
services utilized. After paying the bill, patient gets discharge.
w.e.f. 2009-10
Admission, Bill, Patient History Services, Ward Det. Treatment,
PATIENTS 0.0 PATIENTS
Discharge Det.
o Example :
Draw a context level diagram for Food Ordering System.
w.e.f. 2009-10
Data Flow Analysis :
During development of the system, analyst has to study various activities
involved in the system. In these activities different types of data is used and processed.
DFA is used to show the data flow in various activities. In DFA graphical / pictorial tools
are used to show the logic of various processes. Using DFA, it becomes very easier to
understand the flow of data & logic of the system for the maintenance engineer.
DFA contains following tools :
a) DFD b) Data Dictionary
c) Data Structured diagrams d) Structure charts
The first 2 are developed during requirement analysis, while the remaining two
are useful in system design.
Data Dictionary (DD) :
DFD's themselves not describe all details about data flows. For this an
additional tool is used to support DFDs, which is called Data Dictionary. DD provides
additional information about the system. DD is called as a catalog or central
repository.
DD is an analysis tool that primarily records the information content of data. It
stores definitions of all data mentioned in DFD & in a process specification.
o Components of Data Dictionary / Data Items :
The three levels that make up the hierarchy of data is as follows :
1) Data Element :
This is the smallest unit of data which can not be meaningfully
decomposed further is called a data element. Viz. date : mm/dd/yy, similarly,
customer number, quantity ordered, unit of measurement etc.
2) Data Structure :
A group of data elements handled as a bunch is a data structure. Viz. Data
structure of 'INVOICE' consists of a group of data elements such as date of
invoice, vendor, vendor address, item details etc.
1) Data Elements :
These are the filed or the attribute associated with entities. Data Element
contains following format :
DATA ELEMENT
DESCRIPTION
TYPE
LENGTH
ALIASES
RANGE
LIST OF SPECIFIC VALUES (If Any)
DATA STORE
REMARKS
Explanation :
DATA ELEMENT To distinguish an item, a meaningful name is given
to the data parameter is called data name. Viz.
studid
DESCRIPTION Data description precisely states what the data
item represents in the system. Viz. studid means
student identification number
TYPE It identifies the type of data i.e. whether it is
numeric, character, date etc.
LENGTH It represents the amount of space required for the
data item. Viz. studid - numeric - 4 means it stores
numbers upto 9999
ALIASES Additional name given to data item are called as
Aliases. Viz. studid is also referred as stud_no
RANGE It gives the information about the lowest & highest
possible value stored in the data item. Viz. studid
stores value from 1 to 9999.
LIST OF SPECIFIC VALUES (If Any) With data item some additional prefixes are added
called as data values Viz. Item code in stores
system
FM001 : Finished Material; FM002 : Semifinished
Material
DATA STORE This is the location of data element
REMARKS It is the explanation of data element name
2) Data Structure :
Data Structure is based on sequential relationship among the data item. It will
give information about the information of the data item.
w.e.f. 2009-10
Viz. PRN = year of admission + college code + course code + sequence number + male/female
3) Data Flow :
Data flow indicates through arrow. It is actual flow of data from one process to
another. The format of Data Flow is as follows :
DATA FLOW NAME
DESCRIPTION
FROM PROCESS
TO PROCESS
COMPOSITION
Explanation :
DATA FLOW NAME Member details
DESCRIPTION Details of members of the Library
FROM PROCESS Member (Entity)
TO PROCESS Issue process member (Data Store)
COMPOSITION List of data flows
Example :
Write a sample data dictionary entry for data flow - Current Payment details.
DATA FLOW NAME Current Payment Details
DESCRIPTION Gives details about earnings, deductions and net pay for a month
FROM PROCESS 2.1
TO PROCESS 2.2
COMPOSITION Current earning details, current deduction details, Net pay
4) Data Stores :
Data stores are indicated the files of the system or the registers of the manual
system.
The format of Data Store is as follows :
DATA STORE NAME
DESCRIPTION
DATA FLOW IN
DATA FLOW OUT
PHYSICAL ORGANIZATION (ACCESS)
VOLUME OF TRANSACTION
Example :
Write a sample data dictionary entry for data store - Arrears file.
DATA STORE NAME Arrears File
DESCRIPTION Arrears details
DATA FLOW IN DA arrears (2.4.1), arrears due to
promotion (2.4.2), arrears due to revision
of pay (2.4.3)
DATA FLOW OUT Arrears payment details
VOLUME OF TRANSACTION 1 in a month
5) Data Processes :
w.e.f. 2009-10
Every process has some input and provides some output.
The format of Data Process is as follows :
PROCESS NAME
DESCRIPTION
INPUT TO THE PROCESS
OUT FROM THE PROCESS
LOGIC OF PROCESS
Example :
Write a data dictionary entry for process - Calculate Current Pay
PROCESS NAME Calculate Current Pay
DESCRIPTION This process calculates the current pay. This
handles the employee master, attendance &
leave information files and updates current
payroll file for current record.
INPUT TO THE PROCESS Attendance & leave information
OUT FROM THE PROCESS Current pay roll record, update payroll record
LOGIC OF PROCESS Using leave record and attendance record all the
earnings are calculated.
6) External Entities :
It is an outside boundary of the system which interacts with the system.
Entities contents are as follows :
NAME OF THE ENTITY
ASSOCIATED ATTRIBUTES OF THE ENTITY
Example :
Write a data dictionary entry for Entity - Bank
NAME OF THE ENTITY Bank
ASSOCIATED ATTRIBUTES OF THE ENTITY Employee Bank A/c No.
Employee Name
Employee Salary Amount
w.e.f. 2009-10
Pseudo code :
Pseudo code is an informal and very flexible programming language that is not
intended to be executed on a machine but is used to organize a programmer's thoughts
prior to coding.
Pseudo code allows the designer to focus on the logic of the algorithm without
being distracted by details of programming language syntax. Programmers use Pseudo
code as a first step before coding the program and can usually be translated directly into
program code. It consists of English phrases used to explain specific tasks within a
program's algorithm.
Pseudo code is neither Structured English nor an actual program. It is a simple
way to communicate specifications to programmers. Pseudo code is also known as
program skeleton.
An example of Pseudo code is as follows :
BEGIN Fees Balance :
// Comment : Checking Student Fees Balance //
For each student
Retrieve Student-Registration-No, Amount paid
IF Amount paid is less than Fees Amount,
Then Send-Reminder
Next Student
END
BEGIN Send-Reminder :
// Prepare Reminder letter //
Retrieve Student data for Student-Registration-No
Print Reminder letter
END
o Example :
Write a program that obtains two integer numbers from the user. It will print the sum
of those numbers.
Pseudo code :
Prompt the user to enter the first integer.
Prompt the user to enter a second integer
Compute the sum of the two user inputs
Display an output with prompt that explains the answer as the sum
Display the result.
w.e.f. 2009-10
o Advantages of Pseudo code :
1) Reduced Complexity :
For complicated program development it is important that every effort is taken to
reduce complexity. Breaking a single task into two simpler tasks generally results
in a reduction in overall complexity. Writing Pseudo code and program code
separately simplifies the overall task by splitting it into two simpler tasks.
2) Increased Flexibility :
Pseudo code is written so that code based on it should be able to be written in
any language like Visual Basic, Java, C etc.
3) Ease of understanding :
It is not necessary to understand a particular programming language to
understand Pseudo code. It is written in semi-structured, some what English like
manner.
w.e.f. 2009-10
o Disadvantages of Pseudo code :
1) Not visual
2) No accepted standard, varies from company to company
Case Study :
Develop a Pseudo code to describe the calculation of the cost of a set of items and write
to output file. The records on input file are read sequentially. Each record consists of ITEM-NO,
QTY. The cost is calculated by referring the price for each item in the Price-File and multiplying
this price the item quantity. The record consists of ITEM-NO, UNIT-PRICE
Pseudo code :
OPEN Price-File, Input-File, Output-File
Repeat LOOK UP until end of Input-File
LOOK UP
Read Input-File
Get ITEM-NO, QTY from Input-File
Read Price-File at KEY = ITEM-NO
Get UNIT-PRICE from Price-File
COST = QTY * UNIT-PRICE
Write ITEM-NO, QTY, UNIT-PRICE, COST to Output-File.
o Output Design :
The output refers to the result and information that are generated by the system. For
any system, the output is largely dependent on input. Before designing output the objectives
of each output must be clear because the output is very attractive or it has used the latest
computer technology. While designing outputs, system analyst must consider the following
points :
1) Determine what information is to be present.
2) Decide whether to display print information and select the output medium.
3) Arrange the presentation of information in an acceptable form
4) Decide how to distribute the output to intended users.
Design Principles of Output :
1) Duplicate or unnecessary information in the reports should be minimized to the
extent possible.
2) Report should be simple, concise and self-explanatory
3) The end user has to accept these outputs.
4) An output in time can help to make better decisions.
w.e.f. 2009-10
Types of Output :
These are various types of output required by most systems. The main types of
output are as -
1) External outputs :
Those intended to go outside the user's organization e.g. invoices, pay slips etc.
2) Internal Output :
Those used within the user's organization and it requires careful design because they
are user's main interface with computer
3) Operational Outputs :
The use of this is in general within the computer department. Viz. Program listing
4) Interactive Outputs :
This involves the user communicating directly with the computer (DIALOGUES)
5) Turnaround Outputs :
The data will be added to this document before (re-extracting documents) they are
returned to the computer for further processing.
Output consideration :
While designing the outputs, system analyst must consider the following points :
a) Determine what information is to be present
b) Decide whether to display, print the information and select the output medium
c) Arrange the presentation of information in an acceptable form
d) Decide how to distribute the output to intended users.
After considering these points, the analyst and the user can define output more
clearly in terms of :
1) Types of output
2) Contents (Heading? Numeric? Alphanumeric? Totals? etc.)
3) Format (Hardcopy? Screen? Microfilm? etc)
4) Location (Local? Transmitted? Transported? etc)
5) Frequency (Daily? Weekly? Hourly? etc)
6) Response (immediate? With a period? etc)
7) Volume (Number of documents? Growth? )
8) Sequencing (Account no? Within sales area?)
9) Action required (error detection?)
Date : / /
Employee Number :
Employee Name :
Department Name :
Designation :
Salary from Date : to Date
Earnings Deductions
Basic Provident Fund
DA Profession Tax
HRA Income Tax
TA Insurance
Housing Loan
Others
w.e.f. 2009-10