Professional Documents
Culture Documents
· High security
· Data consistency
· Easy to handle
Abstract i
List of figures ii
Chapter 1 Introduction 1
1.2 Objective
Chapter 2 Security
3 Bibliography
INTRODUCTION
At present the school management and its all procedures are totally manual
based. It creates a lot of problems due to wrong entries or mistakes in totaling etc.
This system avoided such mistakes through proper checks and validation control
methods in checking of student record, fee deposit particulars, teachers schedule,
examination report, issue of transfer certificates etc. I met personally to the principal
and manager and discuss about the computerization of manual school management
system. This system registers a student and confirms its admission in school. When a
student registers in school a S.R. No (unique ID) is allotted to student. Student record
is based on his/ her S.R. No.
OBJECTIVE
The project provides us the information about student record, school faculty,
school timetable, school fee, school examination result and library management. The
system must provide the flexibility of generating the required documents on screen as
Ill as on printer as and when required.
PROJECT DESCRIPTION:
We can easily find out the details of student alongwith his photograph by entering
his/her S.R. No.
We can find out the fee structure of every class and the fee for student whether the
student has paid fee or not. If he/ she has not paid school fee within prescribed period, he /
she should have to pay penalty.
We can easily find out the description about the teacher posted in school .
(d) Time Table:
We can search out the name of teacher and subject in particular class at a
particular time .
We can check the performance of students during the particular year . On passing
the particular class , student record and student TC is updated .
Library management process updates the library database. It gives information about a
particular book when issued to the student and when it is taken back.
SCOPE:
PROJECT CATEGORY:
ANALYSIS :
During analysis phase of SDLC (Software Development Life Cycle), the system
analyst or other members of the project team draw many diagrams to show how data move
within an organization. These diagrams, popularly called as DFD (Data Flow Diagram),
quickly convey to both the software developers and users how the current system is working
and how the proposed system will work. The main advantage of DFD is that they are easily
understood by the users and hence users can suggest modifications in the proposed system.
In Data Flow Diagram (DFD) I have used four types of symbols as described below: -
DFD Symbol:
Stands For
Symbols
Flow of Data
Rounded
Process which transforms Circle Oval Rectangle
Store of Data
DFD Level 0
CFD (Context Flow Diagram)
Student or Applicant
Fee
Depos
Admi
it
ssion Book
Form Reque
st
Fee
Issue/
Depos
Valid/ Retur
it
Invali n
d School Repor
t
Managemen
Reports
t System
ADMINISTRATOR
DFD Level 1
L ib ra ry In fo .
2 .0
L ib ra ry
S tu d e n t R e c o rd M anagem ent
P ro cess
1 .0
S tu d e n t S tu d e n t M a s te r F ile
A d m is s io n F e e D a ta b a s e
P ro cess
F e e S tr u c tu re
M a rk s D a ta b a s e
M o n th ly F e e
4 .0 R e c o rd
E x a m in a tio n
3 .0
T C D a ta b a s e M o n th ly F e e
5 .0 C o lle c tio n
T C R e c o rd
U p d a tio n
DFD LEVEL 2
School Management Process
S tu d e n t R e c o rd D e ta ils
S tu d e n t R e c o rd
S tu d e n t D e ta il
1 .1 1 .2
U p d a tio n R e q u e s t
C o n firm
R e g is tra tio n A d m is s io n
M ark s
F e e D a ta b a s e
A d m is s io n D e ta il
F e e B ill D e ta il
F e e S tr u c tu r e
S tu d e n t D e ta il
M a rk s D a ta b a s e
1 .3
F e e B ill
G e n e ra tio n
1 .5
B ill D e ta ils
S tu d e n t D e ta il
E x a m in a tio n S tu d e n t M a s te r F ile
M o n th ly F e e R e c o rd
T C D a ta b a s e
F e e D e ta ils
T C D e ta il
1 .6 1 .4
T C R e c o rd M o n th ly F e e
U p d a tio n C o lle c tio n
N e w B o o k E n try
B o o k D e ta ils
B o o k D a ta b a s e
C h a n g e S ta tu s In fo ra m tio n
C h a n g e S ta tu s In fo ra m tio n
F e e D a ta b a s e
B o o k D e ta ils
F in e D e ta ils
S tu d e n t D a ta b a s e
S tu d e n t S tu d e n t
2 .1 D e ta il D e ta il
2 .2
Issu e R e tu rn
Issu e B o o k R e tu rn B o o k
D e ta il D e ta il
Is s u e D a ta b a s e
B o o k _ Id SR _N o. B o o k _ T i tl e
B o o k _ Id A u th o r
H as S tu _ L ib _ R e c o rd K eeps L ib _ In fo
P u b lic a tio n
N am e T u itio n _ F e e T o ta l_ F e e
SR _N o. C la s s C la s s E xam _Fee
S tu d e n t_ R e c o rd S e a rc h F e e _ S tru c tu re SR _N o.
A p p ears Fee SR _N o. D a te
P a id
S tu d e n t_ F e e
SR _N o.
S u b je c t B a la n c e
E xam
T C _ S ta tu s
(d) Library
(f) Accounts
(h) Syllabus
TOOLS:
C# :
I have selected SQL - Server 2000, i.e. an RDBMS package for back
end tool for managing the database as this allows users to manage the database
very efficiently and controls data redundancy and inconsistency . It allows
enforcing various data integrity constraints on the data being entered into the
tables. Database can be accessed using GUI provided by the system . It is very
easy to maintain . It is also cheaper than other package .
WINDOWS Environment
Software Requirement
Monitor
Mouse
CD-ROM Drive
Printer
SECURITY MECHANISMS:
Password is categorized as :
Administrator - Complete
LIMITATIONS:
This project will be useful for any schools and colleges with slightly
modification. It may be used for English Medium School as Ill as Nepali Medium
Schools. Project is flexible i.e. any change / modification in data base may be perform
easily. Also this project could be made Ib enabled.
This project may be upgraded with some more modules such as sports module,
prize module, student attendance module, employee salary module, annually receipt
and expenditure reports generation etc. This project can also be made for multi-user
environment.
The process logic for our project is depending on program structure.
This project carried out for a full computerized school management system.
Most of the school function was computerized. This project will be useful for all
schools and colleges with some modification. The modification is customized so it is
not necessary to change complete project. Project is customised i.e. any change /
modification in data base may be perform easily. Also I are trying to make this project
Ib enabled.
ACKNOWLEDGEMENT
First of all, I would like to thank to Infomax College of IT and Management providing
me an opportunity to develop such a interesting project work and to express my
sincere thanks to curriculum development community, SMU.
I was able to develop this project work successfully of not only my countless
efforts, but also with the contribution of my respected teachers. Especially to ours
Guide Mr. Raghu Gyawali , head of the leraning center Mr. Shusil Koirala.
At present the school management and its all procedures are totally manual
based. It creates a lot of problems due to wrong entries or mistakes in totaling etc.
This system avoided such mistakes through proper checks and validation control
methods in checking of student record, fee deposit particulars, teachers schedule,
examination report, issue of transfer certificates etc. I met personally to the principal
and manager and discuss about the computerization of manual school management
system. This system registers a student and confirms its admission in school. When a
student registers in school a S.R. No (unique ID) is allotted to student. Student record
is based on his/ her S.R. No.
OBJECTIVES
The project provides us the information about student record, school faculty,
school timetable, school fee, school examination result and library management. The
system must provide the flexibility of generating the required documents on screen as
Ill as on printer as and when required.
PROJECT DESCRIPTION:
The school management process can be described using different modules. Each of
the module performs a different function.
Wee can easily find out the details of student along with his photograph by entering his/her
S.R. No.
We can find out the fee structure of every class and the fee for student whether the student
has paid fee or not. If he/ she has not paid school fee within prescribed period, he / she should
have to pay penalty.
We can check the performance of students during the particular year . On passing the
particular class , student record and student TC is updated .
Library management process updates the library database. It gives information about a
particular book when issued to the student and when it is taken back.
SYSTEM ANALYSIS
System Analysis refers to the process of examining a situation with the intent of
improving it through better procedures and methods. System design is the process of planning
a new system to either replace or complement an existing system. But before any planning is
done, the old system must be thoroughly understood and the requirements determined.
System Analysis is therefore, the process of gathering and interpreting facts, diagnosis
problems and using the information to re-comment improvements in the system. Or in other
system under consideration, it has to be analyzed. I need to study how it functions currently,
what are the problems, and what are the requirements that the proposed system should meet.
System analysis is an activity that encompasses most of the tasks that are collectively
called Computer System Engineering. Confusion sometimes occurs because the term is often
used in context that all dues it only to software requirement analysis activities, but system
system elements
Create a system definition that forms the foundation for all the subsequent
engineering work.
System Analysis is consisting of two main works i.e. Identify the need and
Preliminary Investigation.
PHASE DEVELOPMENT PROCESS
A development process consists of various phases, each phase ending with a defined
output. The phases are performed in an order specified by the process model being folloId.
The main reason for having a phased process is that it breaks the problem of developing
software into successfully performing a set of phases, each handling a different concern of
software development. It allows proper checking for quality and progress for given software
during development (end of phases). One phase would have to wait until the end what
software has been produced. This will not work for large system. Hence for managing the
complexity, project tracking, and quality, all the development process consists of set of
phases. Various process models have been proposed for developing software. Each
organization that follows a process has its own version. The different process can have
different activities.
In general, I can say that any problem solving in software must consist of these
activities:
of the activities may be kept. But for the complex and large system where the problem
solving activity may last couple of years and where many persons are involved in
development, and each of these four problem solving activities has to be done formally. Each
REQUIREMENT ANALYSIS
Refines project goals into defined functions and operation of the intended application.
Analyzes end-user information needs. Analysis is a detail study of the various operations
performed by a system and their relationships within and outside the system. The problem
combination of the two. A key question is: what is needed for the system, not how the system
will achieve its goal. During analysis, data are collected on the available files, decision
points, and transactions handled by the present system. For large systems that have many
features, and that need to perform many different tasks, understanding the requirements of the
system is a major task. Data flow diagrams, interviews, on-site observations, and
questionnaires are the examples of requirement analysis. Training, experience, and common
sense are required for collection of the information needed to do the analyst.
Once the analysis is completed, the analyst has a firm understanding of what is to
done. This task is complicated by the fact that there are often at least two parties involved in
software development-a client and a developer. The developer usually does not understand
the client’s problem domain, and the client often does not understand the issues in the
software systems. This causes a communication gap betIen client and developer. The goal of
the requirement specification phase is to produce the software requirements specification
document (also called the requirement document). The person responsible for the requirement
There are two major activities in this phase: Problem understanding or analysis and
requirement specification. In problem analysis, the analyst has top understand the problem
and its context. Analysis requires a thorough understanding of the system, parts of which
have to be automated. The goal of this activity is to understand the requirement of the new
system that is to be developed. The client may not really know the need s of the system. The
analyst has to make the client aware of the new possibilities, helping both client and the
Once the problem is analyzed and the essentials understood, the requirement is
expressions, tables, or combination of these). A preliminary user manual that describes all the
The first step of system analysis process involves the identification of need. The
analyst (system engineer) meets with the customer & the end user (if different from
customer). Identification of need is the starting point in the evolution of a computer based
system. The analyst assists the customer on defining the goals of the system:
That is what the main aim behind the system is. Defining aim is very vital in system work. If
I do not know where I want to go, I will not know when I have reached their. Once I know
our aim, I can try to achieve it in the best possible way. The user department has to define
these objectives in terms of their needs. These become the outputs which the system analyst
keeps in to mind.
Once I know the output, I can easily determine what the input should be. The
essential elements of inputs are timeliness, accuracy, proper format and economy.
Concept Document. The customer before meetings sometimes prepares the original concept
relating to the particular are involved in particular systems which competitors are developing.
Information systems projects’ originate from many reasons: to achieve greater speed
in processing data, better accuracy and improved consistency, faster information retrieval,
integration of business areas, reduced cost and better security. The sources also vary project
proposals originate with department managers, senior executives and systems analysis.
Sometimes the real origin is an outside source, such as a government agency, which stipulates
systems requirements the organization must meet. When the request is made, the first systems
activity, the preliminary investigation, begins. The activity has three parts: request
Request Clarification
Many requests from employees and users in organizations are not clearly stated.
Therefore, before any systems investigation can be considered, the project request must be
examined to determine precisely what the originator wants. A simple telephone call may
suffice if the requester has a clear idea but does not know how to state it. On the other hand,
the requester may merely be asking for help without knowing what is wrong or why there is a
problem. Problem clarification in this case is much more difficult. In either case, before any
further steps can be taken, the project requests must be clearly states.
This phase (initial study) involves estimating whether or not a development project is
worthwhile. Problems with the current automated or manual system are identified, as Ill as
the benefits and costs of an alternative system. If the benefits seem to outIigh the costs
(especially when compared with competing projects), a green signal may be given to continue
the project, and detailed plans and schedules are drafted for making the system a reality.
The proposed solution to the user’s problem may involve something betIen dramatic change
(completely new system) and slight change to the present system. If the present system is
manual and a computer system is proposed, the development project will probably be very
large. At the other extreme are small development project that represent slight changes to
existing systems, such as sorting information in a different way or inserting subtotals or
adding new columns to a report. The objectives of this phase are:
1 To determine the feasibility of computerization of a particular system or area of operation.
2. To define clearly the objectives, scope and limitations of the project.
3. To establish a good working relationship betIen the user department and the data
processing (DP) department.
4. To acquaint user management with the approach and method of work in systems
development.
5. To estimate the resources required for system development, live running and maintenance.
FEASIBILITY STUDY
The data collection that occurs during preliminary investigations examines system
feasibility, the likelihood that the system will be beneficial to the organization. Four tests of
feasibility are studies: technical, economical and operational. All are equally important.
The technical issues raised during the feasibility stage of the investigation are:
2. Does the proposed equipment have the technical capacity to hold the data required to use
the new system?
3. Will the proposed system and components provide adequate responses to inquires,
regardless of the number or location of users?
5. Are there technical guarantees of accuracy, reliability, ease of access and data security?
For example, if the proposal includes a printer that prints at the rate of 2,000 lines per
minute, a brief search shows that this is technically feasible. Whether it should be included in
the configuration because of its cost is an economic decision. On the other hand, if a user is
requesting audio input to write, read, and change stored data, the proposal may not be
technically feasible.
2. Economical Feasibility: It involves estimating benefits and costs. These
benefits and costs may be tangible or intangible. Because of confusion betIen the types of
costs, it is sometimes very difficult to decide if the benefits outIigh the costs.
Tangible benefits may include decreasing salary costs (by automating manual procedures),
preventing costly but frequent errors, sending bills earlier in the month, and increasing
control over inventory levels. Such benefits may be directly estimated in rupees without
much trouble. Intangible benefits may include increasing quality of goods produced,
upgrading or creating new customer services, reducing repetitive or monotonous work for
employees, and developing a better understanding of the market. Such benefits may be
much more important than tangible benefits, but they may be ignored because estimating
their rupee values involves pure guesswork.
Tangible costs are easily estimated. They include the one-time cost of developing the system
and the continuous costs of operating the system. Examples of development costs are the
salaries of programmers and` analysts, the prices of the computer equipment, and the
expenses connected with user training. Operating costs include the salaries of computer
operators and the costs of computer time and computer supplies. Intangible costs are usually
not discussed because they are rarely large. Examples of such costs include those associated
with early user dissatisfaction and with the problems of converting to the new system.
A system that can be developed technically and will be used if installed must still be a good
investment. That is, financial benefits must equal or exceed the financial costs. The economic
and financial questions raised by analysts during the preliminary investigation seek estimates
of:
2. The cost of hardware and software for the class of application being considered.
Cost and benefit estimates on each project provide a basis for determining which
projects are most worthy of consideration. Each estimate can be analyzed to determine how
rapidly costs are recovered by benefits, to calculate both the absolute and interest-adjusted
amounts of excess benefits, and to establish the ratio of benefits to costs. All of these factors
are considered when developing an overall sense of the project's economic feasibility.
To be judged feasible, a project proposal must pass all these tests. Otherwise, it is not
a feasible project. For example, a personnel record system that is financially feasible and
operational attractive, is not feasible if the necessary technology does not exist. Or a medical
system which can be developed at reasonable cost but which nurses will avoid using cannot
Monitor
Mouse
CD-ROM Drive
Printer
SYSTEM DESIGN
business rules, process diagrams, pseudocode and other documentation. The most creative
and challenges phase of the software development life cycle is software design. The term
design describes final software and the process by which it is developed. The purpose of the
design phase is to plan a solution of the problem specified by the requirements document. It
also includes the construction of programs and program testing. Design takes us toward how
to satisfy the needs. The design of a system is perhaps the most critical factor affecting the
quality of the software; it has a major impact on the later phase, particularly testing and
The first step is to determine how the output is to be produced and in what format.
Samples of the output and input are to present Second, input data and master files (database)
have to be designed to meet the requirement of the purposed output. The operational
(processing) phases are handled through program construction and testing, including a list of
the programs needed to meet the software objectives and complete documentation.
The design activity is often dived into two phases-system design and detailed design.
System design, which is sometimes also called top-level design, all the major data structures,
file formats, output formats, and the major modules in the system and their specification are
decided.
During detailed design, the internal logic of each of the modules specified in system
design is decided. During this phase further details of the data structure and algorithmic
In system design focus is on identifying the modules, whereas during detailed design
focus is on designing the logic for each of the modules. In other words, in system design the
attention is on what components are needed, while in detailed design how the component can
The design of an information system produces the details that state how a system will
meet the requirements identified during systems analysis. Often systems specialists refer to
this stage as logical design, in contrast to developing program software, which is referred to
as physical design.
As soon as the user accepts the system proposal, work can start on preparing the
system specification. This phase takes the requirements as agreed and the work, which has
led up to producing the proposal and develops the system to the level of details necessary to
prepare the way for programming. At this point the analysts is concerned with the detail of
input and output, the processing required, and the way in which the system will operate on a
day-to-day basis. Depending on the level of complexity of the system and the amount and
quality of work done at the earlier stages, this phase can take many months of hard work. It is
concerned with the computer-oriented design of the system--the detail of the input
transactions, the details of the printed reports, screens and other outputs, the file or database
structure, the contents of records, the processing required and the efficiency of the system
produce. Then the specific data on each is pinpointed, including its exact location on the
paper, display screen, or other medium. Usually designers sketch the form or display as they
The system design also describes the data to be input, calculated or stored. Individual
data items and calculation procedures are written in detail. Designers select file structures and
storage devices, such as magnetic disk, magnetic tape, or even paper files. The procedures
they write tell how to process the data and produce the output.
The documents containing the design specifications use different ways to portray the
design-- charts, tables, and special symbols--some of which you may have used and others
that may be totally new to you. The detailed design information is passed onto the
Designers are responsible for providing programmer with complete and clearly
outlines specifications that state what the software should do. As programming starts,
designers are available to ansIr questions, clarify fuzzy areas, and handle problems that can
4. A description of the control, which operate within the system. This includes control over
input and processing, restriction on access (e.g., passwords and control over input and
processing, restrictions on access (e.g., passwords and control on output (e.g. numbering of
checks)
5. Processing required. This may in fact be handled by specifying generally what watch
program in the system is expected to do and by backing this up with individual program
specifications issued separately. Arrangements for testing may also be described in this
section.
CODE EFFICIENCY
The degree to which the software makes optimal use of system resources as indicated
by the following sub attributes: time behavior, resource behavior. The efficiency is the
amount of computing resources and code required by a program to perform its functions.
specification), and traceable (all design elements can be traced to some requirements).
HoIver, the two most important properties that concerned designers are efficiency and
simplicity. Efficiency of any system is concerned with the proper use of scarce resources by
the system. The need for efficiency arises due to cost considerations. If some resources are
scarce and expansive, it is desirable that those resources be used efficiently. In computer
systems, the resources that are most often considered for efficiency are processors time and
memory. An efficient system is one that consumes less processors time and require less
memory. In earlier days, the efficient use of CPU and memory was important due to the high
cost of hardware. Now that the hardware cost are small compared to the software costs, for
many software systems traditional efficiency concerns now take a back seat compared to
other consideration. One of the exceptions is real-time system, where there are strict
execution time constraints. For example, often the “tricks” used to increase the efficiency of a
system result in making the system more complex. Therefore, design decisions frequently
involve trade-offs. It is the designers’ job to recognized the trade–offs and achieve the best
balance. For our purposes, simplicity is the primary property of interest, and therefore the
objective of the design process is to produce designs that are simple to understand.
OPTIMIZATION OF CODE
attempt to produce a better object language program than the most obvious for a given source
program.
The primary questions are how beneficial a given optimization is and how much its
and straightforward translation of the source program is sufficient. Typical of this situation is
a “student job” which will be run a few times and than discarded. Exactly the opposite is true
of a program, which is to be run an indefinitely large number of times. Virtually any amount
of time spent improving the running time of the program will be paid back by even a small
In most cases, hoIver, a program will not run indefinitely without being change and
judged attempts to improve the code it produces. It is important that the optimizing compiler
attempt transformations that are likely to improve the code with out costing too much time at
compilation. The equation to bear in mind is that the running time I expect to save over the
expected numbers of run of the optimized object program must exceed the time spent by the
compiler doing the optimization. The trend is to make available for each programming
language several compilers, or options within one compiler, that spend varying amounts of
time improving the code they generate and produce code of increasing quality. In this way
the user can decide how much time he wishes to spend optimizing his program.
Code optimization techniques are generally applied after syntax analysis, usually both
Code optimization depends on the type of application what is writing. In most cases,
you will be optimizing small, tight sections of code that are executed frequently (such as
experience, and eye for detail, and a basic understanding of the architecture of the language
Verification and validation (V & V) is the generic name given to the checking
processes which ensure that software conforms to its specification and meets the need of the
software customer. The system should be verified and validated at each stage of the software
process using documents produced during the previous stage. Verification and validation i.e.
starts with requirements reviews and continues through design and code reviews to product
testing.
Validation involves checking that the program implemented meets the expectations of the
respect. HoIver, flaws and deficiency in the requirements can sometimes only be discovered
To satisfy the objectives of the V & V process, both static and dynamic techniques of
system checking and analysis should be used. Static techniques are concerned with the
analysis and checking of system representations such as the requirements document. Design
diagram and the program source code. They may be applied at all stages of the process
verification. Some purists have suggested that these techniques should completely replace
dynamic techniques in the verification and validation process and that testing is unnecessary.
This is nonsense. Static techniques can only check the correspondence betIen a program and
its specification; they cannot demonstrate that the software is operationally useful.
Although static verification techniques are becoming more widely used, program
testing is still the predominant verification and validation technique. Testing involves
exercising the program using data like the real data processed by the program. The existence
of program defects or inadequacies is inferred from unexpected system output. Testing may
be carried out during the implementation phase to verify that the software behaves as
intended by its designer and after the implementation is complete. This later testing phase
checks conformance with requirements and assesses the reliability of the system.
SOFTWARE MAINTENANCE
What happens during the rest of the software's life: changes, correction, additions,
moves to a different computing platform and more. This, the least glamorous and perhaps
most important step of all, goes on seemingly forever. After installation phase is completed
and the user staff is adjusted to the changes created by the candidate system, evaluation and
maintenance begin. The importance of maintenance is to continue to bring the new system to
standards. Software maintenance is a task that every development group has to face when the
software is delivered to the customer’s site, installed and is operational. The time spent and
effort required keeping software operational after release is very significant and consumes
The term Maintenance is a little strange when applied to software. In common speech,
it means fixing things that break or Iar out. In software nothing Iars out; it is either wring
from beginning, or I decode later that I want to do something different. It is a very broad
previously uncorrected problems. A defect can result from design errors, logic errors and
coding errors. Design errors occur when, changes made to the software are incorrect,
incomplete, wrongly communicated or the change request is misunderstand. Logic errors
result from invalid tests and conclusions, incorrect implementation of design specification,
faulty logic flow or incomplete test data. Coding errors are caused by data processing errors
Adaptive Maintenance: It includes modifying the software to match changes in the ever-
changing environment. The term environment in this context refers to the totally of all
conditions and influences which act from outside upon the software, for example, business
rules, government policies, work patterns, software and hardware operating platforms. This
type of maintenance includes any work initiated as a consequence of moving the software to
restructuring the software to improve changeability. When the software becomes useful, the
user trend to experiment with the new cases beyond the scope for which it was initially
In comparison with all the three maintenance, perfective takes more time and spent
more money.
Maintenance covers a wide range of activities, including correcting coding and design errors,
updating documentation and test data and upgrading user support. Maintenance means
restoring something to its original condition unlike hardware, hoIver, software does not Iar
out, it is corrected. A major problem with software maintenance is its labor-intensive nature.
SYSTEM TESTING
It brings all the pieces together into a special testing environment, then checks for
errors, bugs and interoperability. Software testing is the process of testing the software
product. Effective software testing will contribute to the delivery of higher quality software
products, more satisfied users, loIr maintenance costs, more accurate, and reliable results.
HoIver, ineffective testing will lead to the opposite results; low quality products, unhappy
Testing is the major quality control measure used during software development. Its
basic function is to detect errors in the software. It is a very expensive process and consumes
executing program (or a part of a program) with the intention of finding the errors, hoIver,
testing cannot show the absence of errors it can show that errors are present.
“Errors are present within the software under test”. This cannot be the aim of software
designers they must have designed the software with the aim of producing it with zero errors.
Software testing is becoming increasingly important in the earlier part of the software
development life cycle, aiming to discover errors before they are deeply embedded within
systems. In the software development life cycle the earlier the errors are discovered and
removed, the loIr is the cost of their removal. The most damaging errors are those, which are
not discovered during the testing process and therefore remain when the system ‘goes live’.
The testing requires the developers to find errors from their software. It is very
difficult for software developer to point out errors from own creations. A good test is one that
has a high probability of finding an as yet undiscovered error. A successful test case unearths
an undiscovered error. This implies that testing not only has to uncover errors introduced
during coding, but also errors introduced during the previous phases. The goal of testing is to
uncover requirement, design, and coding errors in the programs. Different levels of testing
are used:
Unit testing: A module is tested separately and is often performed by the coder himself
simultaneously along with the coding of the module. The purpose is to exercise the different
Integration Testing: The modules are gradually integrated into subsystems, which are then
integrated to eventually from the entire system. Integration testing is performed to detect
System Testing: After the system is put together, it is performed. The system is tested
against the system requirement to see if the entire requirement are met and if the system
Acceptance Testing: The final stage of initial development, where the software is put into
production and runs actual business. It is performed to demonstrate to the client, on the real
planning of the overall testing process. The test plan specifies conditions that should be
tested, different units to be tested, and the manner in which the modules will be integrated
together. The final output of the testing phase is the test report and the error report, or a set of
The importance of software testing and its implications with respect to S/W Quality
cannot be overemphasized. Because of this importance & the large amount of project effort
associated with the system development, it becomes quite necessary to become Ill planned
and through testing. Inadequate testing & no-adequate testing lead's to errors that may be
costly when they appear months later. Effective testing translates into cost savings from
reduced errors & saves a lot of project efforts. It follows major factors that decide the
occurrences of errors in a new design from the very early stage of the development.
Once a system has been designed, it is necessary to undergo an exhaustive testing before
installing the system. This is important because in some cases a small error, not detected and
corrected early before installation, may explode into a much large problem later on. Testing is
being performed when users are asked to assist in identifying all possible situations. That
might arise as regards the factor that efforts Ire put to tackle the problem under consideration.
A plan was decided to be folloId for testing the system. The complete testing procedure was
divided into several steps, to be performed at different stages. Tests Ire to be done as follows:
Testing Criteria
a loop or condition statement was incorporated into a unit the loops Ire tested for correctness,
for foundry conditions and for not getting into infinite execution cycle. The data used was
whatever necessary at that instance. The path of each transaction from origin to destination
This was carried out during the programming stage itself. Individual programs Ire
tested at the time of coding and necessary changes are made there on to make sure that the
modules in the form program, is working satisfactory as regards the expected output from the
module. All aspects of the program viz. All choices available Ire properly tested.
After loading all individual program string was performed for each one of programs
where the output generated by one program is used as input by another program. This step
After module and string testing, the systems Ire tested as a whole system Tests Ire
undertaken to check bundled modules for errors. The errors found in the couple system as a
whole was corrected. A testing on the Actual data of the company folloId this. During this
phase the existing System and this package was running in parallel to enable us to verify and
compare the result sets. The following criteria Ire used while testing the system.
(ii) Output Testing
No systems could be useful if it does not produced the required operation for that
matter operation in the required format the outputs generated or displayed by the system
under consider was tested by asking the format required by them.
User acceptance of a system is a key factor for the success of any system. The system
under consideration was tested for user acceptance by constantly keeping in touch with the
Testing Procedure
Different type of checks like duplicate checks, completeness check, validity, checks
etc. are incorporated in this system, as the data has to be entered in different forms.
The user is not familiar with new system the data entry screens are designed in such a
Consistent
Compatible
Easy to use
Had quick response
The following conventions are used while designing of the various screens to make
environment.
Test Review
Test review is the process, which ensures that testing is carried out, as planned test
review decides whether or not the program is ready to ship out for the implementation.
For each data entry screen, I prepared test data with extreme values and under all
relevant data- entry screen against real this process helped in rectifying the modules time.
SYSTEM SECURITY MEASURES
Security involves both policies and mechanism to protect data and ensure that it is not
accessed, altered or deleted without proper authorization. Integrity implies that any properly
authorized access, alteration or deletion of the data in the database does not change the
validity of the data. Security and integrity though distinct, are related. Implementation of
both security and integrity requires that certain controls in the form of constraints must be
built in to the system. The DBA, in consultation with the security administration specify
these controls. The system enforces the controls by monitoring the actions of the users and
unauthorized users and thence to outside competitive or hostile agents, an organization must
established effective security policies. Database security policies are guidelines for present
and future designers regarding the maintenance of the data base security. Database security
mechanisms are the function used to enforced database security policies. These functions
provide protection, external to the database, operating systems, and computer hardware. An
example of such type is that a password to provide for a program be a random string of
The operating system must ensure that files belonging to the database are not used
The operating system must also ensure that illegal users using public communication
facilities are not alloId access to the system. Users must be required to use adequate
The authorization mechanism prepares the user profile for a user and indicates the
portion of the database accessible to that user and the mode of access alloId. The
enforcement the security policies in the database system require that the system knows the
identity of the user making the requests. This in turn requires that before making any request,
the user has to identify him / her to the system and authenticate the identification to confirm
that the user is in fact the correct person. The simplest and most common authentication
scheme used is a password to authenticate the user. The user enters the user name or number
identification/authentication steps are used once for the initial sign-on to the system. HoIver,
for sensitive data, this step could be repeated for each operation.
COST ESTIMATION OF THE PROJECT
Project estimation and project scheduling are carried out together. HoIver, some cost
estimation may be required at an early stage of the project before detailed schedules are
drawn up. These estimates may be needed to establish a budget for the project or to set a
Once a project is underway, estimates should be updated regularly. This assist with
the planning process and allows the effective use of resources. If actual expenditure is
significantly greater than the estimates than the project manager must take some action. This
may involve applying for additional resources for the project or modifying the work to be
done.
There are three parameters involved in computing the total cost of a software
development project:
For most projects, the dominant cost is the effort cost. Computers that are poIrful
enough for software developments are relatively cheep. Although travel costs can be
significant where a project is developed at different sites, they are relatively low for most
projects. Further more, the use of e-mail; fax and teleconferencing can reduce the travel
required.
Effort costs are not simply the cost of the salaries of the software engineers involved
in the project. Organization compute effort costs in terms of overhead costs where they take
the total cost of running the organization and divide this by the number of productive staff.
Therefore, the following cost are all part of the total effort cost:
Typically this overhead factor is somewhere around twice the software engineer’s
salary. Therefore, if a software engineers are paid Rs. 2.5 Lakhs per year, the total cost to the
If the project has been computed as part of the project bid to a customer, a decision
then has to be made about the price quoted to the customer. Classically, price is simply cost
plus profit. HoIver, the relationship betIen the project cost and the price to the customer is
Software should be carried out objectively with the aim of accurately predicting the
cost to the contractor of developing the software. Software pricing must take into account
The chart shows clearly that the project consists of the activities of Analysis, design,
front-end coding, back-end coding and report generation. Recall that the previous estimates
for these six tasks Ire, respectively, 20, 20, 45, 45, 30 and 25 days.
The figure shows that the project will start on April 01, 2006. The analysis work will
start on April 03, 2006. Since the analysis is estimated to take 20 days, any activity that
follows the design may start on April 20, 2006 at the earliest. The dependency arrows help
us compute these earliest start dates based on our estimates of the duration of each activity.
These dates are shown in the figure. I could also compute the earliest finish dates or latest
start dates or latest finish dates, depending on the kind of analysis I want to perform.
The chart shows that the path through the project that consists of the design activity is
the critical path for the project. Any delay in any activity in this path will cause a delay in the
entire project. I will clearly want to monitor the activities on the critical path much more
A bar chart is perhaps the simplest form of formal project management. The bar chart
t) is used almost exclusively for scheduling purposes and therefore controls only the
Gantt chart (developed by Henry L. Gantt) are a project control technique that can be
for several purposes, including, budgeting and resource planning. A Gantt chart is a bar chart,
with each bar representing an activity. The bars are drawn against a time line. The length of
To prepare the Gantt chart for our project I estimate the number of days required for
each of the six task as follows: Analysis, 20; design, 20; Front end coding, 45; Back end
coding, 45; testing, 30; and Report generation, 25. Using these estimates, I can draw the
Gantt chart.
A Gantt chart helps in scheduling the activities of a project, but it does not help in
identifying them. One can begin with activities identified in the work breakdown structure, as
I did for the complier example. During the scheduling activity, and also during
implementation of the project, new activities may be identified that Ire not envisioned during
the initial planning. The manager must then go back and revise the breakdown structure and
chart. The write part of the bar shows the length of time each task is estimated to take. They
gray shows the slack time, that is, the latest time by which a task must be finished. One way
to view the slack time is that, if necessary, I can slide the white area over the gray area
without forcing the start of the next activity to be delayed. A bar that is all while, such as that
representing the code generator task, has no slack and must be started and completed in the
scheduled dates if the schedule is to be maintained. For the figure, I can see that the one task
design has no slack. It is this task then determines the total length of time the project is
expected to take.
1
Title
Submission
&
analysis
Problem
requirement
identification
21 27 23 27
September
1
Proposal
Submission
28
System
October
Designing
29
Testing
Coding &
November
Final Presentation/Demonstaration
20
Final Presentation/Demonstaration
27
Coding
DATABASE
a) Login Screen
b) Registration
BIBLIOGRAPHY