Software process model
The
term system is derived from the Greek word ‘systema’ which means took place
together i.e system is an organized relationship among functioning of all
units. It is a set or arrangement of things so related or connected as to form a unity. In order to achieve a common objective. In other words, system is a set of elements joined together for a common objective. Thus, we can define a system as a collection of elements or components that are organized together for a common
purpose in order to enable the flow of information. The system can be a combination
of people, devices, processes, and methods interrelated in such a fashion that they
all work together for a common goal. Some examples of systems are :
1. Open system [example: biological system]
2. Close system [example: nuclear weapon]
3.
Permanent system
[example: government policy]
4.
Temporary system
[example: small-group research project in the laboratory]
5.
Natural system
[example water cycle, ecosystem etc]
6.
Manufactured
system [example: transportation, manufacturing system]
Basic
interacting components of a system.
Components
of Information System
1)
Input: It involves capturing and assembling element that enter the
system to be processed. For eg, the input to a calculator is the keypad. We
press keys and the keypad sends an electric signal to be processed.
2)
Process: It involves transformation processes that converts input into
output. The input signal are changed according to the instruction supplied to
generate an output.
3)
Output: It involves elements that have been produced by a
transformation process to their final and ultimate destination. The output of a
calculator is the scree.
4)
Storage: Storing for future so that we can retrieve and access
whenever required.
5)
Controlling: Monitoring the overall data and resources flow is
known as controlling.
6)
Feed back: Feedback is the idea of monitoring current output of the
system and comparing it with the system goal.
7)
System boundary: The system boundary defines the components that
make up the system and scope of the organization which can be changed during
system design.
8)
System Environment: Anything outside the system boundary that may
directly or indirectly affect the system behavior is system environment.
Information
System term
Data: It is the raw facts and figures which
are uninterpreted, unrelated and isolated and doesn't give any sense are known
as data. Data can be collected from various sources such as interview,
observation, sampling, measuring, questionnaire, etc. Data are ta transformed
into information after processing which may later help in decision making
Eg,
Global, 12, Pokhara, School
Information: Information is the processed form of
data. It is organized, interpreted, corrected form of raw facts and figure. It
is the processed data into a form that is meaningful to the user so that
decision maker may take necessary action.
Eg,
Global is a school located in Pokhara-12
Definition
of Information system:
The
system which accepts data as Input, process it to generate the information and
provides the information to the user as output is the information system. The
information system is interrelated components working together to collect data,
process it, give output and store using the resources of hardware, software,
people, procedure & controlling mechanism.
It
helps to support decision making, coordination, control, analysis and
visualization in an organization. The major objective of an information system
is to provide information on timely basis throughout the organization. So that
top level management can make proper decision and take appropriate course of
action in time.
Types
of the information system.(very important)
In
an organization, there are various types of operations that takes place.
Several operation requires several information system for the effective
management of an organization. Senior managers need information to help with
the business planning. Middle management need more detail information to help
them monitor and control business activities. Employees with operation roles
need information to help them carry out their duties. Hence, business
organization tends to have several information system operating at the same
time. The several information system are:
Types
of Information System
Different
level of Information system
1)
Transaction processing system (TPS): A TPS is a basic business
system which serves the most elementary day to day activities of an
organization. It supports the operational level of the business that supplies
data for higher level management for decision. A TPS also collects and stores
information about transaction and control some expect of transaction,
which includes the collection, modification and retrieves of all transaction
data. TPS is also known as real time processing. For example, billing system to
send invoice to customer, inventory management system to keep record of
purchase, sales and stock.
2)
Management Information system (MIS): Management information system
provides information to manager of an organization which helps them to
organize, evaluate and efficiently manage departments within an organization.
It is primarily intended for providing information from the data after
processing them. The data are generated, collected recorded, stored, processed
and retrieved by MIS after it has been generated by business operation or TPS
in an organization. It is the system that provides the information necessary to
manage and organization effectively. It has large quantity of input data
obtained from TPS and produce summary report as an output. It is used by middle
level management. For example, annual budgeting system, auditing system etc
3)
Decision Support system (DSS): It is a computer based application
that collects, organize, and analyze business data to facilitate quality
business decision making for management, operation and planning. This system
aid decision maker in compiling a variety of data from of data from many
sources. DSS analysis helps companies to identify and solve problem and make
decision. It is created to help people to make decision by providing access to
information and analysis tool. It support the decision process so manager can
make simulation and prediction. DSS allows user to use different option and
find out what the outcome would be so that proper action con be identified. DSS
is flexible, adaptable and quick.
4)
Executive support system: It is also known as executive information
system. It is a decision support system used to assist senior executive in the
decision making process. It does this by providing easy access to important
data needed to achieve strategic goals in on organization. ESS normally
features graphical display on an easy to use interface. ElS can be used in many
different type of organization to monitor enterprise performance as well as to
identify opportunities and problems.
System
Analyst
The
person who is involved in analyzing, designing, implementing and evaluating, computer
based information system to support decision making and operation of an
organization is known as system analyst. He/she is a computer specialist person
who is in charge of designing, modifying and analyzing various system to
ensure compatibility and user effectiveness. A system analyst used computers
and related system to design new IT solution, modify, enhance, or adapt
existing system and integrate new feature or improvement all with the aim
of improving business efficiency and productivity. They must posses a high
level of technical expertise and have depth knowledge of current business
practices.
Attributes
qualities of good system analyst/desirable characteristics or qualities
1)
Knowledge of an organization: A system analyst must understand way
in which various functions of an Organization. He/she should have insight view
of management structure, objective of an organization and the relationship
among the department in the organization. He/she should know the principle end
policies of an organization for whom the information system is to be built. In
general he/she should have great knowledge of business practices.
2)
Communication skill: Effective communication skill is vital for the
success of any system. The system analyst should have ability to articulate and
speak with all levels of managerial position of an organization. He/she is
required to influence people to change their mind and attitude and motivate
them to work in group.
3)
Technical knowledge: System analyst should have the knowledge of
basic of computers and business functions. He/she must be familiar with
the capabilities and limitations of hardware and software products. He/she
should possess good and enough technical knowledge so that he/she can recommend
and implement new information system.
4)
Creativity: The analyst should be creative enough to generate ideas
and views that can help different executives in decision making process and
help organization to increase its efficiency and productivity. He/she should be
innovate enough to design and implement new system.
5)
Problem solving: System analyst should have the skill of problem
solving, developing alternative solutions scheduling and co-ordinating team
effort and managing cost and account. He or she should posses deep intellectual
capacity, and should be able to diagnosis problem critically.
6)
Dynamic interface: System analyst must be a perfect of both
technical and non-technical skill. He/she should have potential of dealing with
technical issues and management function.
Roles
and responsibilities/Duties
1)
Defining requirement: It involves understanding users requirement
by interviewing, finding out what information is being used and what is their
expectation towards purposed system. He/she should be capable of recommending
appropriate information system to solve the specific problem of two user.
2)
Analyst and evaluation: The system analyst analyze the working of
current information system in the organization and find out the best
characteristics of existing system and evaluates if new system modification is
required.
3)
Gathering data facts and opinion of user: Since, System analysis
may recommend information system on behalf of user so he/she should gather
actual and appropriate data before recommending. His/her purpose system should
fulfill the requirement of the user. Hence, proper communication between user
and analyst is required to gather important ideas and opinion.
4)
Prioritizing requirement: System analyst should be able to
prioritize the requirement of the user that means the requirement of the user
may not always be useful so he or she should be able to filter or sort out the
requirement according to the priority by making communication with user.
5)
Designing system: It is one of the important responsibilities of
system analyst to design the system according to the requirement of the user.
Designs are frame work for the development of the system. Hence, system analyst
should understand the need of the user and incorporate that need in a proposed
system through design.
System
Development Life Cycle (SDLC)
System
is defined as an integrations of objects of the real world environment joined
in some regular interaction. The process of developing system by set of
predefined steps is called system development life cycle. We need system
development lifecycle due to following reasons. Computer based processing
enables the same data to be processed in many ways according to the need.
It
is easier to handle large volume of data and deal with variety of information.
It
is easier to handle organization having distributed branches.
The
software development lifecycle consists of following phases:
Software
Development Life Cycle
1)
System investigation: It is the preliminary way of handling the
user request to change, improve or enhance existing system. The objective is to
determine the user requirement, whether the request is valid and feasible. In
this phase, problem definition is well understood, as system intended to meet
the need of an organization. Thus, the first step in the design is to specify
these needs for requirements. The top manager of an organization takes the
basic decision to use a computer based information system for managing the
organization. During this phase the objective of the system are identified. In general
system Investigation studies the following questions. What is to be done in the
future?
How
to do it?
When
to do it?
Who
will do it?
2)
System analysis: The process of analyzing a system and trying to
find a way to modify it or create a new system to meet the users need. In other
words, the investigation into system operation and possible changes to
the system is called system analysis. The system are made up of many
interrelated task, change to any one of this task to the addition of new task
may affect the existing one. Therefore, it is necessary to understand the
system and its problem which will help to reduce the failure due to any risk
and uncertainties. Main activities which are undertaken in this phase.
Definition
of output requirements such as content, layout design etc.
Specification
of input data such as source, format etc.
Development
of overall logic.
Develop
step by step algorithm and flowchart.
Develop
a general test requirement
3)
Feasibility studies (V.imp): The process of analyzing whether the
proposal is feasible or not is known as feasibility study. If it is not
feasible then we have to look after other alternative. Feasibility study mainly
focus on the demand of the system that affects the overall the development of
the information system. Feasibility is how beneficial or practical the
development of an information system will be to an organization
The
aim of feasibility study Are.
·
To determine
whether the objective stated can be early attainable within a prescribe
limitation and period.
·
To define major
problem areas so that system analyst can plan the strategy for the field
investigation.
·
To find areas
where we can save time money and effort.
·
To prepare cost
estimation and time scheduling.
·
To discover the
areas where specialist knowledge are required.
Different
types of feasibility study.
a)
Economic feasibility: The system development said to be
economically feasible if the budget on proposed system doesn't ought weight,
the estimated cost involve in acquiring, installing and operating it. Cost can
be one time or continuing and can occur at various time during project
development and use. It mainly measures cost, savings, and benefits. During
economic feasibility the cost of the following things are to be measured.
·
People including
IT staff and user.
·
Hardware and
equipment
·
Software
·
Formal and
informal training
·
License and fees
·
Facility cost
b)
Schedule feasibility (time): A system development is said to be
schedule feasible if time required to accomplish the project doesn't cross the
proposed deadline. It is called schedule feasibility. The schedule feasibility
also depends upon available manpower and economical condition as well. In
practice, time period of project completion should be always less than or equal
to time required then proposed time, then only the system will be schedule
feasible.
c)
Technical feasibility: A system development is said to be
technically feasible if the organization has the resources to develop or
purchase, install and operate the system. It measures the availability of
appropriate manpower required to accomplish the project. If the manpower used
are not technical or the work performance of the technical manpower are not
experienced the entire system will be certainly insufficient and this will
distract the achievement of its goals and objectives, Technical feasibility
measures following things.
Does
the company have the need of technical expertise? If not can it be acquired ?
Does
the company have necessary hardware, software and network resources?
d)
Operational feasibility: A system that has operational feasibility
is one that will be used effectively after it has been developed. If user have
difficulty with a new system it will not produce the expected benefit.
Operational feasibility depends on several issues. Some are performance of
employees, information, economy, control, efficiency and service. A system
which is operationally feasible will win it day to day activities smoothly
without any delay and disturbance.
4)
System design: System design is the process of creating alternative
solutions to satisfy the investigated goals, evaluating the choices and drawing
up the specification for the chosen alternative. Design begins after the study
team has analyzed the current procedure. Since many factor have been bearing on
the design process, it can be challenging. After analyzing the current system
the job of the designer is to decide whether the benefits and possible savings
expected from design alternative out weigh the cost. There are several
designing tool. Some of them are algorithm, flowchart, ER diagram etc
Algorithm: The sequential system steps
written in order to solve a particular problem is known as algorithm. Eg,
Algorithm to find greatest number among two numbers.
Step
1: Start
Step
2: Enter any two number (a, b)
Step
3: Check whether (a>b)
If
true: Go to step 4 and stop
If
false: Go to step 5 and stop
Step
4: Display greatest number is ‘a’
Step
5: Display greatest number is ‘b’
Step
6: Stop
Flowchart: The
diagrammatic representations of steps involved while solving a particular
problem is called flowchart.
5)
System Development (Coding): Coding the process of writing programs
using actual programming language. In the phase solutions are created using
real program code. In general, the system design needs to be implemented to
make it a workable system. This demands the coding of design into computer
language i.e. programming language (machine level language, high level
language, assembly language). This is also called the programming phase in
which the programmer converts the program specification into computer
instruction, which we refer to as program. The programs co-ordinate the data
movement and control the entire process in a system. A well written code
reduces the testing and maintenance effort. This helps in fast development,
maintenance and future changes if required programming tools like compiler,
interpreter and languages like C, C++, Java script, PHP etc are used for
coding. With respect to the type of application, appropriate programming
language should be chosen.
6)
System Testing : This
steps includes whether the developed system can fulfill the user requirement or
not. The testing is the process of validating the correctness of program. It's
objective is to demonstrate that the program meets its designed specification.
It is an investigation conducted to provide stake holder with information about
the quality of the product or service under test. Some of the objective of
system testing are :
To
check whether developed system fulfills the user requirement or not.
To
check whether developed system works as expected.
Some
testing methods are:
a)
Black box testing: Black box testing treats the software as a black
box without any knowledge of internal implementation. It is also called
functional testing because it tests whether a system is functioning or not.
Here in this type of testing several known input is provided and checked
whether the system generates expected output or not.
b)
White box testing: In white box testing, procedural details are
checked logical path through the software and between several components are
tested through codes, statements and syntax analysis. White box testing is used
when the tester has to the internal data structure and algorithms including the
code that implement this. It is also called glass box testing.
7)
System implementation: The main objective of this phase is to
obtain an operational system fully documented. In the phase system are
installed and tested with operational data. It also consist of implementation
of the system into production environment and resolution of the problem
identified in testing phase. Implementation generally refers to the use of
newly developed system in practice. when the software appears to be running properly
then we understand it is ready to implement. The main activities of
implementation phase are:
Testing
and proving in all parts of system.
Training
of data processing and user staff to use the new system.
Preparation
of documentation of a system.
Acquiring
all necessary equipment & stationary.
8)
System maintenance: When the system is implemented, maintenance and
modification begins. like any system, there is an aging process that requires
periodic maintenance of hardware and software. There may be need of new
modification which are done in this phase. The software and hardware requires
periodic maintenance to as to keep in tune with design specification and to
innovate new ideas into the system. The different types of maintenance are:
Corrective
maintenance: It corrects the
run-time error during the operation.
Adaptive
maintenance : It modifies or
add new feature in the system according to the environmental change.
Perfective
maintenance. It makes the
system perfect up to date and improve the life and efficiency of the system.
System
Development Model
A)
The waterfall Model: This model is some time called classic life
cycle because it suggest a systematic sequential approach to software
development that begins with customer specification of requirements and
progress through planning, modeling, construction etc. It is an oldest type of
model for software engineering. It takes the fundamental process activities of
specification, development, validation and evolution & represents them as
separate process phases such as requirements specification, software design,
implementation testing and so on.
Waterfall
Model
a.
Requirement analysis & definition: In this stage the system's
services constrain and goals are established by consultation with system users.
They are defined in details and serve as system specification.
b.
System and software design: In this stage the system design process
partition the requirements to either hardware or software system. It
establishes overall system architecture. Software design involves identifying
and describing the fundamental software system abstraction and their
relationship.
c.
Implementation and unit testing: During this stage, the software
design is realized as a set of programs or program unit testing involves verifying
that each unit meets its specification.
d.
Integration and system testing: The individual programs units or
programs are integrated and tested as a complete system to ensure that the
software system is delivered to the customer.
e.
Operation and maintenance: Normally, this is the longest life cycle
phase. The system is the installed and put into practical use, maintenance
involves correcting errors which are not discovered in earlier stage of the
life cycle improving the implementation of system units and enhancing the
system service as a new requirements are discovered.
B)
Prototyping Model: This model is applied when there is an absence
of detail information regarding input and output requirement of a software.
Prototype model is suitable when the requirement of the client is not clear and
it is supposed to be changed. It doesn't cover any risk management.
Prototype
Model
Development
of prototype.
Identify
user problem: The system
analyst interviews the user to obtain an idea of what is required from the
system.
Develop
a prototype: The system
analyst, working with other information specialist uses one or more prototyping
tool to develop a prototype.
Determine
if prototype is acceptable: The
system analyst educates the user in prototype and provides an opportunity
becoming familiar with the system. The user advises the analyst whether the
prototype is satisfactory or not. If yes then the prototype will be used if not
again the loop continues from beginning.
Use
the prototype: The
prototype becomes operational system.
Advantages
of prototyping model
·
Helps in reducing
risk associated with the project.
·
There is great
involvement of user in software development.
Disadvantages
of prototyping model
Time
consuming and expensive because if the user is not satisfied by the developed
prototype new prototype should be developed. This process goes on until a
perfect prototype is developed which satisfies the user.
C)
Spiral model: In this model, process is represented as a spiral
rather than a sequence of activities with back tracking. Each loop in the
spiral represent a phase in the process. It has no fixed phase such a
specification or design. Loops in the spiral are chosen depending upon what is
required. This model combines the feature of both waterfall model and prototype
model. The spiral model is favorable of large, expensive and complicated
projects. It is a system development method in Looping structure. In this model
planning, risk analysis, software development and user evaluation are repeatedly
processed until the system performed correct output.
Spiral
Model
Planning: The project is reviewed and the
decision is made whether to continue with a further loop of a spiral. If it is
decided to continue, plan has to be drawn up for the next phase of the project.
Risk
analysis: For each of the identified
project risk, detail analysis is carried out. Steps are taken to reduce the
risk. For example: if there is a risk that the requirement are inappropriate, a
prototype system may be developed.
Software
development: After risk
evaluation a development model of the system is chosen.
User
evaluation: Specific objective for the
phase of the project are defined by the evolution of the user. Here, user
requirement and the product are identified and checked whether it fulfills the
specification or not.
Advantages
of spiral model
·
It emphasize on
risk, which are often ignored.
·
Some phases are
in loop, it is effective for regular updates.
·
Effective user
feedback.
·
It emphasize on
quality.
Disadvantage of
spiral model
·
Full scale risk
analysis need training and maybe expensive. Hence, it is only applicable for
large project.
·
This model is
relatively untested.
System
design tool
Various
system design tool are used during system analysis and design phase of system
development. Some of the most commonly used tools are algorithm, flowchart,
entity relationship (ER) diagram , data flow diagram (DFD) etc.
1)
Algorithm: The sequential steps or step by step procedure written to
solve particular problem is called algorithm. It is one of the most basic tools
used for solving problem. It is defined as the finite sequence of instruction
for solving a problem. It consists of step wise list of English statement
making sequential procedure. The number of instruction should be minimized to
increase the speed of an algorithm.
2)
Flowchart: The pictorial or diagrammatic representation of steps
involved while solving problem. It is defined as a diagram or picture which
describe the procedure how to solve a problem. It shows the order of
instruction and relationship between them. The purpose of constructing
flowchart is to help the programmer for understanding the logic of the problem.
There are two types of flow chart.
Program
Flowchart: It is the type of flowchart
that explains how a particular program solves a given tasks. It helps to get an
understanding on how to solve the problem using the programs· Since it solves
only one type of problem at a time, it is very easy to understand. Different
symbols used in program flowchart are:
System
flowchart: A system flowchart plays vital role in system analysis. It
illustrates the elements graphically and characteristics of a system, its
structure and relationship in terms of flowchart symbol. A system flowchart is
a diagram that shows a broad overview of the data flow and sequences of
operation in a system. It is the graphical representation of a sequence of
activities in a process of a system.
Program
Flowchart |
System
Flowchart |
i.
It gives detail of any particular part of the system. |
i.
It gives detail of whole system or software. |
ii.
It is limited. |
ii.
It is broad. |
iii.
It has less symbols. |
iii.
It has more symbols. |
iv.
It is easy to understand. |
iv.
It is difficult to understand. |
v.
It is designed by the programmer. |
v.
It designed by the system designer. |