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

Introduction to Software Engineering

The document discusses the systems approach to problem-solving, focusing on System Analysis and Design (SAD) in software development. It outlines the basic components of a system, including input, processing, output, and control, and explains the characteristics and types of systems. Additionally, it contrasts software engineering with traditional programming, emphasizing the importance of systematic processes and collaboration in developing reliable software systems.

Uploaded by

serrykurhade1204
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
65 views

Introduction to Software Engineering

The document discusses the systems approach to problem-solving, focusing on System Analysis and Design (SAD) in software development. It outlines the basic components of a system, including input, processing, output, and control, and explains the characteristics and types of systems. Additionally, it contrasts software engineering with traditional programming, emphasizing the importance of systematic processes and collaboration in developing reliable software systems.

Uploaded by

serrykurhade1204
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

SYSTEM

Systems are created to solve problems. One can think of the systems approach as an organized
way of dealing with a problem. In this dynamic world, the subject System Analysis and Design (SAD),
mainly deals with the software development activities.
A collection of components that work together to realize some objectives forms a system. Basically
there are three major components in every system, namely input, processing and output.

Basic System Components

In a system the different components are connected with each other and they are interdependent. For
example, human body represents a complete natural system. We are also bound by many national
systems such as political system, economic system, educational system and so forth. The objective of the
system demands that some output is produced as a result of processing the suitable inputs. A well-
designed system also includes an additional element referred to as ‗control‘ that provides a feedback to
achieve desired objectives of the system.

System

The word ‗system‘ means different things to different people. This is because it has broad range of concept
and field. It is better to understand General System Concept and then apply to ‗Business System‘ and
‗Information System

Defn - A system is an integrated collection of components which satisfy functions necessary to achieve the
system goals and which have relationship to one another that give cohesion to the system and define its
structure.

Eg. We are familiar with the systems like Educational System, Computer System, Solar System,
Accounting System, Production System . We find some common characteristic for this system.

1) Basic Components

Basic Components are simply the various identifiable parts of a system. Like
Education - students, teachers, building, administration , text books
Computer - Keyboard, display unit, ALU, programs
Defence - Men, equipment, buildings rules
Accounting- Records, rules, procedures, equipment, personnel
1
Subsystem
When system is large, it is composed of many subsystem. Each subsystem is then made up of smaller
subsystem. This are basic components. This components act at lowest level . These components are
interrelated and they have certain independence. They have certain relationship with them.
Eg. Student—teacher—text books—administration
But they have their own characteristics and these affect the operation of the system.

2) Interaction and Structure

Basic components interact with each other. There must be activity processing procedure between the
elements of a system. Set of simply collected things cannot be system. Hence a system has to be dynamic
in nature. Interaction between them creates relationship. And this relationship among components define
the boundary between the system and its environment are called its structure.

3) Goal

There is common objective , purpose of every system. Otherwise a system starts moving in all direction
and no co-ordination. To achieve goal all components integrate and work effective together. Hence system
must work as a ‗whole‘. This integrating effect is known as ‗Synergistic Effect‘ .

4) Behaviour

Behaviour is the way a system reacts to its environment . it is determined by procedures or instructions
which achieve goals. The reaction to the system is behaviour.

5) Life cycle.

Every system has birth, life and death. The life cycle includes evaluation, replacement, repair, etc.

Characteristics of system
Our definition of a system suggests some characteristics that are present in all system like

1) Organisation
2) Interaction
3) Interdependence
4) Integration
5) Central objective

So every system has model and the model is composed of system elements

1. Input and output


input and outputs in a Business operations
2. Processing
3. Control
4. Feedback
5. Environment
6. Boundaries and interface.

System Concept (thought/ idea/consider)


Following system concepts are essential for any system building.

1. Boundary and Environment


System is inside the boundary. The environment is outside the boundary.
System Boundary
Human Body Skin, Hair, nail forms the boundary
List all components that are to make up the system and circumscribe them. Everything within the
circumscribed space is called the System and everything outside is called the environment.
List all the flows boundary. Flow from the environment into the system are input and flows from
inside the boundary to outside are called output.
2
2. Subsystem
3. Interface
The inter connection and interactions between the subsystem are called as interfaces. They occur
at boundary & take form of input and output
Input CPU  Output
They are the channels , connecting wires or a communication paths.
4. Black box
A subsystem at the lowest level is often not defined as the process. That subsystem is a black box,
the input and output is known but there is no transformation.
5. Feed-back
It helps to control and modification of input after analyzing the output. It improves the system
performance. It keeps the equilibrium
Feedback may be positive or negative

Types of Systems
System have been classified in different ways.

1) Physical or Empirical (tangible/solid/concrete)


a. Static
Physical parts of computer centre like office, chair can be counted, are static
b. Dynamic
Computer program is dynamic as data, program, output , application change as user demand or
request.

People, material, machines and other physical things. They can display activity or behaviour,
Management Information System, Computer System, Business Organization are physical system.

2) Abstract or conceptual system


They are concepts , like formulas , concerned with theoretical structures which may or may not have
any counterpart (matching part) in the real world.eg algebra, geometry, philosophy. This systems are
systems of explanation or ideas.
Models make it easy to study system and its visualization. Models is the representation of a real or a
planned system. Useful to point out the objective and relationship of complex system.

3) Deterministic
This system operates in a predictable manner where stepwise execution and output is known. E.g. A
computer program for finding factorial of number.

4) Probabilistic System
This system operates in an unpredictable manner where outcome is not certain or sure. A degree of
error is always present. E.g. Whether forecasting.

5) Open
A open system is one that interacts with its environment. Business organization is an open system. It
need to be supervised by people. It does not provide its own control or modification. E.g. printing and
paper
Important characteristics of open system-
1. Input from outside
2. Entropy
3. Process, output and cycles.
4. Differentiation
5. Equifinality

6) Closed
Closed system is self contained. It does not exchange material, information with its environment. A
computer system is a closed system that has only controlled and well defined input and output. There
is no disturbance from outside.
3
7) Natural and Artificial System
Solar system, water supply and human system are natural system and business organization,
computer system, social system are artificial system.

8) Man-made system.
It is artificial system. Motor car system is man made system

9) Man made information System.


Information system is basis for interaction between user and the analyst. It provides instructions,
commands and feedback. It is like decision centre. So information system defined as devices ,
procedures, operating system around the user to plan, control and perform
Business has many information system with some purpose, data flow, communications, decision
making, control and effectiveness.
Major information system are

Formal Information System


A formal information system is based on the organization represented by the organization chart. The
chart is map of positions and their authority relationship, indicated by boxes and connected by straight
lines. Work flow is displayed
Categories of information
a. DSS – Decision Support System
The first level is strategic information, means a long range planning , interest of upper
management. Information such as population growth, financial investment who determine long
term goals. This is Decision Support System
b. MIS- Management Information System
Second level is managerial level. Middle management and departmental heads work here like
sales analysis, cash flow. There is short or intermediate range of planning. This is Management
Information System
c. DPS – Data Processing System
The third information level is operational information, short term, daily information used to
operate departments and day to day rules and regulations of business like balance sheet,
purchase order, current stock. This is Data Processing System

Informal Information System


This structure is designed to achieve company goals. The flow is restricted to employees only. It is
an employee based system designed to meet personnel and vocational needs and to solve work
related problems. It works within the framework of the business and its stated policies.

Computer Based Information System


Now we need computer for handling business application. Computer is source of information,
problem solving is done with it . System analyst must be familiar with computer technology and have
experience in handling people with organizational context.
a. MIS- Management Information System
It provides for file definition, file maintenance, updating, transaction and processing and
database , avoid data redundancy etc. Key element is Database.
b. DSS – Decision Support System
c. DPS – Data Processing System

10) Expert System


Machines with knowledge, and expert system to solve problem.

Software engineering
Software engineering is the field of computer science that deals with the building of software systems,
which are large and complex. A single person does not build these systems; a team or several teams of
software engineers build these. The software systems are used for many years, and during their lifetime,
4
these systems undergo several changes—addition of new functionalities, modifications to run in a new
environment. Thus, these systems exist in multiple versions.
To develop a software system, initially, the user needs and constraints are identified. The software system
is designed in accordance with the requirements of the end users. Finally, the system is thoroughly tested
and implemented. Every software system is supported by documents such as the principles of operation,
user's manual, installation instructions, training aids and maintenance guidelines

Software is more than just a program code. A program is an executable code, which serves some
computational purpose. Software is considered to be collection of executable programming code,
associated libraries and documentations. Software, when made for a specific requirement is
called software product.

Engineering is all about developing products, using well-defined, scientific principles and methods.
Software engineering is an engineering branch associated with development of software product using
well-defined scientific principles, methods and procedures. The outcome of software engineering is an
efficient and reliable software product.
IEEE defines software engineering as:
The application of a systematic, disciplined, quantifiable approach to the development, operation and
maintenance of software; that is, the application of engineering to software.
Fritz Bauer, a German computer scientist, defines software engineering as:
Software engineering is the establishment and use of sound engineering principles in order to obtain
economically software that is reliable and work efficiently on real machines.

The primary goals of software engineering are:


 Improve the quality of software systems
 Increase the productivity and job satisfaction of software engineers
A software engineer has a well-defined role in system design. The software engineer must have the
following skills:

 Knowledge of one or more programming languages, data structures and algorithms.


 Familiarity with several design approaches
 Ability to build and use a model of the required application
 Communication and interpersonal skills
 Ability to schedule work

Software Engineering vs. Traditional Programming


Software engineering differs from traditional computer programming in terms of engineering like
techniques used to specify, design, implement, validate and maintain software systems within the time and
budget constraints established for the project. In addition, software engineering is concerned with
managerial issues that lie outside the domain of traditional programming.
A programmer is an individual who is concerned with the details of implementing, packaging and
modifying algorithm, data structure written in specified programming language. Software engineers are
additionally concerned with issues of analysis, design, verification and testing, documentation, software
maintenance and project management. A software engineer should have considerable skill and experience
as a programmer in order to understand the problem areas, goals and objectives of software engineering.
Planning the software development process involves several important considerations. An important
consideration is to define a system life-cycle model.
Before discussing the software production processes, that are used to accomplish objectives of
software engineering, it is preferable to discuss the life cycle of the system development, which is termed
as System Development Life Cycle (SDLC).

Need of Software Engineering


The need of software engineering arises because of higher rate of change in user requirements and
environment on which the software is working.
5
 Large software - It is easier to build a wall than to a house or building, likewise, as the size of
software become large engineering has to step to give it a scientific process.
 Scalability- If the software process were not based on scientific and engineering concepts, it would
be easier to re-create new software than to scale an existing one.
 Cost- As hardware industry has shown its skills and huge manufacturing has lower down he price
of computer and electronic hardware. But the cost of software remains high if proper process is not
adapted.
 Dynamic Nature- The always growing and adapting nature of software hugely depends upon the
environment in which user works. If the nature of software is always changing, new enhancements
need to be done in the existing one. This is where software engineering plays a good role.
 Quality Management- Better process of software development provides better and quality software
product.

Relationship of Software Engineering with Other Disciplines


Here, how software engineering related to other disciplines:
 Computer Science: Gives the scientific foundation for the software as electrical engineering mainly
depends on physics.
 Management Science: Software engineering is labor-intensive work which demands both technical
and managerial control. Therefore, it is widely used in management science.
 Economics: In this sector, software engineering helps you in resource estimation and cost control.
Computing system must be developed, and data should be maintained regularly within a given
budget.
 System Engineering: Most software is a component of a much larger system. For example, the
software in an Industry monitoring system or the flight software on an airplane. Software
engineering methods should be applied to the study of this type of systems.
 Software engineers are known as the “software architects,‖ meaning they create the guidelines —
think: blueprints — of the software framework. Their designs are then passed on to programmers
and software developers who translate the engineer‘s directions into instructions the computer can
read and understand, i.e. lines of code.
 Often working in teams, software engineers oversee the development process. They
apply engineering best practices to create a stable system that mitigates unnecessary transactions
and is comprised of interdependent programs and software. When the system is complete, software
engineers are tasked with regularly testing and maintaining the software. Their ultimate concern is
the quality and stability of the system. When a bug is introduced, software engineers ask, ―What are
its implications and potential impact to the system?‖

 A programmer — also called a computer programmer — is the ―software contractor.‖ They‘re


responsible for taking the software engineer‘s guidelines and developing the programs and
software. They are occasionally called ―coders‖ or even ―developers‖ as their primary focus is
writing, evaluating and editing lines of code. Programmers are involved in a single stage within the
development life cycle and concentrate on one component at a time.
 Because programmers must be able to write code as well as identify and debug errors,
programmers often specialize in only a few programming languages. With coding bootcamps on the
rise, it‘s not uncommon for programmers to be self-taught or come from interdisciplinary
backgrounds, such as computer or information science. In most cases, experience trumps
education when it comes to coding knowledge.
 Programmers often work independently, building the system piece by piece. They must possess
strong technical skills, including the ability to design and understand algorithms. Ultimately, a
programmer is responsible for interpreting a software engineer's guidelines for a framework and
coding it into existence.

Difference Between a Software Engineer and Programmer

1. Education
 Software Engineer: A software engineer has formal training and a degree in engineering.

6
 Programmer: A programmer often has a bachelor‘s degree in computer science, but some
employers will hire an individual with an associate‘s degree and relevant experience.
2. Responsibilities
 Software Engineer: The ―software architect.‖ A software engineer evaluates client/company needs
alongside user needs to conceptualize a software system with the necessary requirements. They
are responsible for testing and maintaining the system.
 Programmer: The ―software contractor.‖ A programmer translates the software engineer‘s
instructions into lines of code the computer can understand and follow. They are responsible for
identifying and fixing bugs in the system.
3. Role in the development lifecycle
 Software Engineer: A software engineer oversees the entire development life cycle, from initial
design to maintenance.
 Programmer: A programmer is involved with one stage of the development life cycle.
4. Developmental approach
 Software Engineer: A software engineer leverages the scientific method and engineering best
practices to come up with solutions. They are analytical, consider the entire system and are
concerned with its stability and interdependency.
 Programmer: A programmer develops one component at a time. They consider individual
programs and are concerned with each one‘s functionality and visual appearance.
5. Skills
 Software Engineer: A software engineer has extensive knowledge of advanced mathematics and
a strong background in programming.
 Programmer: A programmer should be fluent in a few programming languages, as well as have
the ability to read and write algorithms.
6. Work dynamic
 Software Engineer: A software engineer typically works as part of a team of engineers.
 Programmer: A programmer typically works independently, but receives direction from software
engineers.

SYSTEM LIFE CYCLE


System life cycle is an organizational process of developing and maintaining systems. It helps in
establishing a system project plan, because it gives overall list of processes and sub-processes required
for developing a system. System development life cycle means combination of various activities. In other
words we can say that various activities put together are referred as system development life cycle. In the
System Analysis and Design terminology, the system development life cycle also means software
development life cycle. Following are the different phases of system development life cycle:
 Preliminary study
 Feasibility study
 Detailed system study
 System analysis
 System design
 Coding
 Testing
 Implementation
 Maintenance
The different phases of system development life cycle is shown in Fig. below.

The System Development Life Cycle


To understand the system development, we need to recognize that a candidate system has a life
cycle. You have to think it like living system. System analysis and system design are keyed to the system
life cycle. The analyst must answer all key questions step by step and follow the proper methodology to
achieve results in each stage.

7
The steps are as follows-

1. Preliminary System Study

Preliminary system study is the first stage of system development life cycle. This is a brief investigation
of the system under consideration and gives a clear picture of what actually the physical system is? In
practice, the initial system study involves the preparation of a ‗System Proposal‘ which lists the Problem
Definition, Objectives of the Study, Terms of reference for Study, Constraints, Expected benefits of the new
system, etc. in the light of the user requirements. The system proposal is prepared by the System Analyst
(who studies the system) and places it before the user management. The management may accept the
proposal and the cycle proceeds to the next stage. The management may also reject the proposal or
request some modifications in the proposal.

 Recognition of need- What is the Problem?

One must know what the problem is before it can be solved. First recognize of the need for improving an
information system or procedure. Do the initial investigation to determine whether an alternate system can
solve the problem. There may be inefficient/not capable/incompetent existing procedures. If the problem is
more serious, management looks for analyst. There is importance to commitment of analyst. In some
cases, according to norms/rules analyst must have to prepare statements specifying the scope and
objectives of the problem.

Impetus (motion/movement/thrust) for System Change

Changes may be through environment or firm. E.g. from government sources , like reporting procedures,
format and content of various reports, file structure, customer complaints, delivery orders, schedule. There
may be need of changes from management, the user or the analyst because of advancement in computer
technology.
Eg. Bank branches , organisation acquires another organisation, more budget spended, audit report
Also user originated ideas like slow system.

2. Feasibility Study

Next phase is to examine the feasibility of the system. The feasibility study is basically the test of the
proposed system in the light of its workability, meeting user‘s requirements, effective use of resources and
of course, the cost effectiveness. These are categorized as technical, operational, economic and schedule
feasibility. The main goal of feasibility study is not to solve the problem but to achieve the scope. In the
process of feasibility study, the cost and benefits are estimated with greater accuracy to find the Return on
Investment (ROI). This also defines the resources needed to complete the detailed investigation. The result
is a feasibility report submitted to the management. This may be accepted or accepted with modifications
or rejected. The system cycle proceeds only if the management accepts it.
Depending on the results of the initial investigation, expansion to a more detailed
feasibility/possibility study. It focuses on question like

What are the user’s demonstrable needs?


Is the problem worth solving
How can the problem be refined?

8
Each of this questions must be answered carefully. They revolve around investigation and
evaluation of the problem, identification and description of candidate system, specification of performance
and the cost of each system and final selection of the best system.
The objective of feasibility study is not to solve the problem but to acquire a sense of its scope. During the
study, the problem definition are sort out and problem included system are determined. Cost and benefits
are estimated. The result of feasibility study is the summary of what is known and what is going to be done
i.e. statement of the problem, summary of findings and recommendation /advice., details of findings and
recommendation and conclusion.
After the proposal is reviewed by management, it becomes a formal agreement that pave the way for
actual design and implementation.

3. Detailed System Study


The detailed investigation of the system is carried out in accordance with the objectives of the proposed
system. This involves detailed study of various operations performed by a system and their relationships
within and outside the system. During this process, data are collected on the available files, decision points
and transactions handled by the present system. Interviews, on-site observation and questionnaire are the
tools used for detailed system study. Using the following steps it becomes easy to draw the exact boundary
of the new system under consideration:
 Keeping in view the problems and new requirements
 Workout the pros and cons including new areas of the system

All the data and the findings must be documented in the form of detailed data flow diagrams (DFDs), data
dictionary, logical data structures and miniature specification. The main points to be discussed in this stage
are:
 Specification of what the new system is to accomplish based on the user requirements.
 Functional hierarchy showing the functions to be performed by the new system and their
relationship with each other.
 Functional network, which are similar to function hierarchy but they highlight the functions which are
common to more than one procedure.
 List of attributes of the entities – these are the data items which need to be held about each entity
(record)
4. Design

Based on the user requirements and the detailed analysis of the existing system, the new system must
be designed. This is the phase of system designing. It is the most crucial phase in the developments of a
system. The logical system design arrived at as a result of systems analysis is converted into physical
system design. Normally, the design proceeds in two stages:
 Preliminary or General Design
 Structured or Detailed Design
In the preliminary or general design, the features of the new system are specified. The costs of
implementing these features and the benefits to be derived are estimated. If the project is still considered
to be feasible, we move to the detailed design stage.
In the detailed design stage, computer oriented work begins in earnest. At this stage, the design of the
system becomes more structured. Structure design is a blue print of a computer system solution to a given
problem having the same components and inter-relationships among the same components as the original
problem. Input, output, databases, forms, codification schemes and processing specifications are drawn up
in detail. In the design stage, the programming language and the hardware and software platform in which
the new system will run are also decided. There are several tools and techniques used for describing the
system design of the system. These tools and techniques are
 Flowchart
 Data flow diagram (DFD)
 Data dictionary
 Structured English
 Decision table
 Decision tree

9
The system design involves:
 Defining precisely the required system output
 Determining the data requirement for producing the output
 Determining the medium and format of files and databases
 Devising processing methods and use of software to produce output
 Determine the methods of data capture and data input
 Designing Input forms
 Designing Codification Schemes
 Detailed manual procedures
 Documenting the Design

5. Coding

The system design needs to be implemented to make it a workable system. This demands the coding
of design into computer understandable language, i.e., programming language. This is also called the
programming phase in which the programmer converts the program specifications into computer
instructions, which we refer to as programs. It is an important stage where the defined procedures are
transformed into control specifications by the help of a computer language. The programs coordinate the
data movements and control the entire process in a system.
It is generally felt that the programs must be modular in nature. This helps in fast development,
maintenance and future changes, if required.

6. Testing

Before actually implementing the new system into operation, a test run of the system is done for
removing the bugs, if any. It is an important phase of a successful system. After codifying the whole
programs of the system, a test plan should be developed and run on a given set of test data. The output of
the test run should match the expected results. Sometimes, system testing is considered a part of
implementation process.
Using the test data following test run are carried out:
 Program test
 System test
Program test: When the programs have been coded, compiled and brought to working conditions, they
must be individually tested with the prepared test data. Any undesirable happening must be noted and
debugged (error corrections)

System Test: After carrying out the program test for each of the programs of the system and errors
removed, then system test is done. At this stage the test is done on actual data. The complete system is
executed on the actual data. At each stage of the execution, the results or output of the system is
analysed. During the result analysis, it may be found that the outputs are not matching the expected output
of the system. In such case, the errors in the particular programs are identified and are fixed and further
tested for the expected output. When it is ensured that the system is running error-free, the users are
called with their own actual data so that the system could be shown running as per their requirements.

7. Implementation

After having the user acceptance of the new system developed, the implementation phase begins.
Implementation is the stage of a project during which theory is turned into practice. The major steps
involved in this phase are:
implementation phase begins. Implementation is the stage of a project
during which theory is turned into practice. The major steps involved in this phase are:
 Acquisition and Installation of Hardware and Software
 Conversion
 User Training
 Documentation

10
The hardware and the relevant software required for running the system must be made fully operational
before implementation. The conversion is also one of the most critical and expensive activities in the
system development life cycle. The data from the old system needs to be converted to operate in the new
format of the new system.
The database needs to be setup with security and recovery procedures fully defined.
During this phase, all the programs of the system are loaded onto the user‘s computer. After loading the
system, training of the user starts. Main topics of such type of training are:
 l How to execute the package
 l How to enter the data
 l How to process the data (processing details)
 l How to take out the reports
After the users are trained about the computerized system, working
has to shift from manual to computerized working. The process is
called ‗Changeover‘.
.
8. Post implementation and Maintenance.

After the installation is completed evaluation and maintenance began. Then there is maintenance of
hardware and software. User priorities, changes in organizational requirements or environmental factors
need system improvement.
System should be maintained properly that is maintenance of hardware, software /data as well as other
technical equipment. There is a need to have a person who looks after the system and maintain it even
during operation and production. The system maintenance is required because of any of the following
reasons:
1. Minor changes in the processing logic.
2. Errors detected during the processing.
3. Revision of data input formats.
4. Revision of report formats.

9. Project Termination

A system project is dropped if it becomes more difficult with, it goes costly and against design. Generally
projects are dropped after a review process. Today computer system and software make life easier for
analyst, but the success of system project depends on the experience, ability and knowledge of the analyst
and the support of the user staff.

Systems Analyst:

Individuals who perform the systems investigation as distinct from those merely involved the
detailed computer programming are called ‗Systems Analyst‖. The programmer works within the framework
provided by the Systems Analyst. If the framework or the outline is poorly designed, than the result is
bound lobe much off the mark. A system analyst is like an architect and his work assumes greater
importance because he has to design a system for the future.
Thus a System Analyst designs Information systems which meet organizational objective, promote
integration of activities facilitate control and which are flexible and robust (strong/healthy/hearty)
Thus the systems analyst is more like a manager who
 Determines the design of the overall system and
 Obtains the necessary technical help from the programmer, from specialists and equipment
engineers
 Follows the system through design, implementation, follow-up And re-evaluation.

Main objective of a Systems Analyst (Role / Task of a Systems Analyst )


 Systems Analyst - an agent of change
 System Analyst - a motivator:
11
 System Analyst - an organizer:
 Systems Analyst - an architect
 Systems Analyst - an Intelligent salesperson:
 Defining Requirement
 Prioritizing Requirements
 Gathering Data. Facts and Opinions of Users
 Analysis and Evaluation
 Solving Problem
 Designing System
 Evaluating Systems

Techniques for knowing user requirements (Fact findings)

Analyst require fact findings, fact-recording and analysis to describe in documentary form the
essential operational requirements of the business system to satisfy the user needs. This work defines
the output required from the system, the input data needed to generate the output information, the
processing requirements and operational objective.
System investigation is a part of System Life Cycle. It is divided as Analysis, Design,
Implementation, Maintenance and Review. Each of this stages are again subdivided to give
tangible/real products

System investigation may be undertaken by the analyst as part of a feasibility or preliminary study.
Analyst may work alone, or in small team or close collaboration with user management. Such studies
may be strategic, conceptual in nature, covers large area of an organizations data, processing
requirements or may be smaller studies of limited operational area.
In both cases Preliminary study is undertaken and is important. System investigation may be
undertaken by the analyst as part of a detailed study, the outcome of which will determine What,
When and How information will be produced by a new system. It is very important that this work is
thoroughly (carefully/in detail) done and done to the satisfaction of management, the end user and the
computer service department.

What kinds of information do we need?


Before we go to determine information or what tools to use, the first thing must be to find out what
information to gather. Much of this information relates to the organization in general, the user staff,
and the work flow.
Fact findings
Fact finding is a formal process of using research, interviews, questionnaire and sampling and
other techniques to collect the information about system requirements and preferences. It is also
called as information gathering or data collection. The specific methods analyst use for collecting data
about the requirements are called Fact finding techniques. These include the interview, questionnaire,
record review or inspections and observation. Analyst usually employ more than one of these
techniques to help ensure an accurate and comprehensive investigation.
The following techniques are employed (worked out/ in use) during fact findings / Information
Gathering Methods
1. Interviewing
2. Questionnaires
3. Observing
4. Record inspecting ( Review of Literature, Procedures, and Forms)

12
These techniques are not mutually (jointly) exclusive; in fact in practice more than one technique will
be employed to establish the facts. During the course of an interview records may be inspected and a
questionnaire completed.
Review of Literature,
Procedures, and Forms

Information
On-site Observation
Gathering
Tools
Data
Interview Organization

Questionnaire

 Review of Literature, Procedures, and Forms.


Very few system problems are unique. A first step a search of the literature through professionals
reference and procedures manuals, textbooks, company studies, government publication, or
consultant studies may prove invaluable. Procedures manuals and forms are useful sources for the
analyst. The primary drawback of this search is time. It is difficult to get certain publication, may be
expensive, information may be outdated.
Existing forms, printed forms are widely used for capturing and providing information.
Following question may be useful.
1. Who uses the forms? How important are they to the user?
2. Do the forms include all the necessary information? What items should be added or deleted?
3. How may departments receive the exiting forms? Why?
 Onsite Observation
It is a process of recognizing and noting people, objects and occurrence to obtain information. The
analyst seeks information by observing the system. . the major objective of onsite observation is to get
close as possible to the ‗real‘ system being studied.
Following question helps to onsite observation
1. What kind of system is it? What does it do?
2. who runs the system? Who are the important people in it?
3. What is the history of the system? How did it get its present development?
4. What kind of system is it in comparison with other system?
While observing analyst must listen than talk and listen with interest
 Interviewing
 Interviewing is probably the most useful fact finding activity for an analyst. Not only interview
provide the facts, but enable the analyst to verify facts and they provide an opportunity to meet and
overcome user resistance. Success will depend upon the interviewer‘s ability to work around, or

13
avoid resistance from the staff whose habits will be changed. So skills of interviewer are required.
He should be impartial, tactful and more positive, skills in influencing others.
 Interviewing is the process of obtaining information without upsetting the other by means of
conversation, this require good listening , must keep the ball of conversation rolling and must be
able to keep the subject on the right lines. Conversation is itself an art relying not a little upon the
ability to suit the treatment of any subject to the person, the place, the mood and the moment.
 Interviewer must bear in mind that there will be wide variety of personalities and different level of
authorities. He must need to adjust, timing and phrases to suit the particular person.
 Sometime the head will attempt to answer all questions himself or try to conduct an interview. At
this time, the skill and politeness of investigator is essential to retain control of events.
 Interview does not stand alone as means of fact-finding, but is used in conjunction with observation
and examination. It is the only thing to find something that cannot be seen.
 Investigator with initial introductions, the first stage is to state the reason for the visit. If possible
interviewer should mention the method he is following. He must remember the following points.
a. Words.
Use simple terms. Words which will be not understood are not used. Interviewer‘s words have
to express the meaning he wishes to express. He must repeat the same thought in different
words .
b. Atmosphere
While keeping the discussion strictly impersonal, the interviewer must try to join the interest and
cooperation of the operator in the assignment.
c. Compliments
Sometime during an interview it is possible to give appreciation and must be done.
Appreciation must be given somewhat for method than staff. However, the interviewer should
never criticize the staff and avoid reducing importance of the operator.
 Questionnaires
It is not simple. Form must be designed carefully, must be filled, tested and validated before its
common use. The situations in which questionnaires may be the most practicable method of fact
findings are-
a) Where staff are located over a widely spread geographical area
b) When a large number of staff are required to furnish data
c) For verification of data found by other methods
d) When 100 percent coverage is not essential
One advantage in planning a questionnaire is that the respondent is given time to assemble the
required information. Thus save time and that of the system analyst at the actual meeting.The aim in
questionnaire design should be to create the questions so that no misunderstanding is possible and
no bias /partiality is possible in replies . Answer the survey by answering following questions.
Dou you require this report?
What information do you use?
How do use this information. ?
What additional information do you think should be in the report?
How would you use this additional information?
In the questionnaire each employee is asked to list his duties and average amount of time. He
estimates , he spends on each other.

In contrast to the interview is the questionnaire, it is a term for questions to which individuals
respond. It is usually associated with self-administered tools with items of the closed or fixed
alternative type. By its nature, a question, a questionnaire offers the following advantages.
1. It is economical and requires less skill to administer than the interview.
14
2. Unlike the interview, which generally questions one subject at time, a questionnaire can be
administered to large numbers of individuals simultaneously.
3. The standardized wording and order of the questions, instructions for reporting responses
ensure uniformity of questions. But in the interview, situation is not often uniform.
4. The respondents feel greater confidence in the anonymity of a questionnaire than in that of an
interview. In an interview, the analyst usually knows the user staff by name, job function or
other identification. With a questionnaire, respondents give opinion without fear that the answer
will be connected to their names.
5. The questionnaire places less pressure on subjects for immediate response. Respondents
have time to think the questions over and do calculations to provide more accurate data.

What is Feasibility Study?


Feasibility is defined as the practical extent to which a project can be performed successfully. To evaluate
feasibility, a feasibility study is performed, which determines whether the solution considered to accomplish
the requirements is practical and workable in the software.
Information such as resource availability, cost estimation for software development, benefits of the
software to the organization after it is developed and cost to be incurred on its maintenance are considered
during the feasibility study.

Objective of the feasibility study

 To establish the reasons for developing the software that is acceptable to users, adaptable to change
and conformable to established standards.
 To analyze whether the software will meet organizational requirements
 To determine whether the software can be implemented using the current technology and within the
specified budget and schedule
 To determine whether the software can be integrated with other existing software

Types of Feasibility

Technical feasibility
Measures the current resources (such as hardware and software) and technology, which are required to
accomplish user requirements in the software within the allocated time and budget.
For this, the software development team ascertains whether the current resources and technology can be
upgraded or added in the software to accomplish specified user requirements.

Technical feasibility performs the following tasks

 Analyzes the technical skills and capabilities of the software development team members
15
 Determines whether the relevant technology is stable and established
 Find out that the technology chosen for software development has a large number of users so that
they can be consulted when problems arise or improvements are required

Operational feasibility
Calculates the extent to which the required software performs a series of steps to solve business problems
and user requirements.
This feasibility is dependent on human resources (software development team) and involves visualizing
whether the software will operate after it is developed and be operative once it is installed.

Operational feasibility performs the following tasks

 Determines whether the problems anticipated in user requirements are of high priority
 Determines whether the solution suggested by the software development team is acceptable
 Analyzes whether users will adapt to a new software
 Determines whether the organization is satisfied by the alternative solutions proposed by the
software development team.

Economic feasibility
Determines whether the required software is capable of generating financial gains for an organization. It
involves the cost incurred on the software development team, estimated cost of hardware and software,
cost of performing feasibility study, and so on.
For this, it is essential to consider expenses made on purchases (such as hardware purchase) and
activities required to carry out software development.
It is necessary to consider the benefits that can be achieved by developing the software.
Software is said to be economically feasible if it focuses on the issues listed below.

Software is said to be economically feasible if it focuses on -

 Cost incurred on software development to produce long-term gains for an organization


 Cost required to conduct full software investigation (such as requirements elicitation and
requirements analysis)
 Cost of hardware, software, development team, and training.

16

You might also like