You are on page 1of 35

A

PROJECT
REPORT
ON
'OFFLINE DICTIONARY'

Session: 2015 2016

Supervised by: Submitted By:


TALHA ANWAR
Madhav Sharma ROLL:12EJGCS753

Department of Computer Science and


Engineering

CERTIFICATE
I hereby certify that the work is being presented the B Tech. Minor

Project Report entitled OFFLINE DICTIONARY submitted by

TALHA ANWAR in partial fulfillment of the requirements for the

award of Bachelor of Technology in Computer Science at

Jagannath Gupta Institute of Engineering and Technology,

Sitapura, Jaipur is an authenticate work taken by him under my

supervision and guidance.

The matter presented in this project has not been submitted by

me to any other University/Institute for the award of any Degree.

This is to certify that the above statement made by the student is


correct to the best of my knowledge.

Internal Examiner External Examiner

Acknowledgement

A research work owes its success from commencement to


completion, to the people in love with researches at various
stages. Let me in this page express my gratitude to all those who
helped me in various stages of this study,

I would also like thanking all the people who have helped us in

this project developmental grateful to our guides MR. MADHAV

SHARMA for the help provided in completion of the project, which

was assigned to me.

I owe my thanks to faculty member of computer science branch,

for their help and support during each phase of development of

the project. Without their friendly help and guidance it was difficult

to develop this project.

Last but not least, I pay my sincere thanks and gratitude to MR.
SHEKHAR CHANDER (HOD-CS) for his all-time support in
making my project successful. I am also thanks to all my
colleagues for their co-operation and support.

_ TABLE OF CONTENT
Chapter-I

1. Abstract

2. Technologies
Python
Python Interpreter
Linux Command Line
Software development Methodology.

Chapter-II

3. Project

_ ABSTRACT

Name of Project : OFFLINE

DICTIONARY Student Name : TALHA

ANWAR

Email : talhaanwar.anwar@gmail.com
Project Coordinator : MR.MADHAV SHARMA
Department of Computer Science
.

Branch: CS 'B' Shift: 2nd


Team Members: 2 Semester:7th

1. Problem Identification:-
As a language enthusiast, I always wanted that there should be
an app where I can store all the word I learn. I could store the
word in a file that would be too time consuming, error prone
and manual.

2. Solution :
To solve the problem I started creating an offline dictionary in
python. Using this app I can add new words learned with its
meaning automatically. The app also has a variety of other
features.

3. System Requirement
1. Tool: - Sublime editor, Bash shell, Web Browser.
2. Technology: - Python
3. Operating System: - Linux
4. Hardware: Can work in lowest of RAM and takes up KB's of
space.
4. Application Area:-
Personal Usage and Public Usage

5. Project Outcome :
Automatic
Less error prone
New features can be easily added

6. Future Scope:
I can share the code on github and interested person can hack
and make it more better.
I am also planning to give it a GUI and make it available on
windows too.

7. References:
google.com
stackoverflow.com
python.org

SOFTWARE REQUIREMENT SPECIFICATION (SRS)


1. Introduction:
The following subsections of the SRS document provide an
overview of the entire SRS.
Purpose: Automating the english word leraning process.

Scope: The user can add word with their meaning or only
word whose meaning they currently they dont know. Apart
from this they can see all the words that have a meaning and
all the words that have no meaning.

Benefits: This website reduces the manual work,


maintaining accuracy, increasing efficiency and saving time.

Overview: The rest of this SRS document describes


the various system requirements, interfaces, features
and functionalities in details.

2. Overall Description:

(i) Product Perspective:


1. User interfaces
The application will have a command line interface with
instructions that will help the user . The instructions makes the
interface user friendly.

2. Software interfaces
Any Linux(debain) based operating system.
Python 2.7
3. Communications interfaces
None

4. Memory Constraints
No Constraints
_ TECHNOLOGY
1. Introduction to Python

History

In the beginning

Python's origins lie way back in distant December 1989,


making it the same age as Taylor Swift. Created by Guido van
Rossum (the Python community's Benevolent Dictator for Life) as
a hobby project to work on during week around Christmas, Python
is famously named not after the constrictor snake but rather the
British comedy troupe Monty Python's Flying Circus.
Python was born out of the ABC language, a terminated project of
the Dutch CWI research institute that van Rossum worked for,
and the Amoeba distributed operating system. When Amoeba
needed a scripting language, van Rossum created Python. One
of the principle strengths of this new language was how easy it
was to extend, and its support for multiple platforms - a vital
innovation in the days of the first personal computers. Capable of
communicating with libraries and differing file formats, Python
quickly took off.

Going Open with 2.0

As Python grew in the nineties, one of the key issues in uptake


was its continued concern on van Rossum. 'What if Guido was hit
by a bus?' Python users lamented, 'or if he dropped dead of
exhaustion or if he is rubbed out by a member of a rival language
following?'
In 2000, Python 2.0 was released by the BeOpen Python Labs
team. The ethos of 2.0 was very much more open and community
oriented in its development process, with much greater
transparency. Python moved its repository to SourceForge,
granting write access to its CVS tree more people and an easy
way to report bugs and submit patches. As the release notes
stated, 'the most important change in Python 2.0 may not be to
the code at all, but to how Python is developed'.
Python 2.7 is still used today - and will be supported until 2020.
But the word from development is clear - there will be no 2.8.
Instead, support remains focused upon 2.7's usurping younger
brother - Python 3.

The Rise of Python 3


In 2008, Python 3 was released on an almost-unthinkable
premise - a complete overhaul of the language, with no
backwards compatibility. The decision was controversial, and born
in part of the desire to clean house on Python. There was a great
emphasis on removing duplicative constructs and modules, to
ensure that in Python 3 there was one - and only one - obvious
way of doing things. Despite the introduction of tools such as
'2to3' that could identify quickly what would need to be changed in
Python 2 code to make it work in Python 3, many users stuck with
their classic codebases. Even today, there is no assumption that
Python programmers will be working with Python 3.
Despite flame wars raging across the Python community, Python
3's future ascendancy was something of an inevitability. Python 2
remains a supported language (for now), but as much as it may
still be the default choice of Python, Python 3 is the language's
future.

The Future
Python's userbase is vast and growing - it's not going away any
time soon. Utilized by the likes of Nokia, Google, and even NASA
for it's easy syntax, it looks to have a bright future ahead of it
supported by a huge community of OS developers. Its support of
multiple programming paradigms, including object-oriented
Python programming, functional Python programming, and
parallel programming models makes it a highly adaptive choice -
and its uptake keeps growing.

Characteristics of Python

Simple:

Python is a simple and minimalistic language. Reading a good


Python program feels almost like reading English (but very strict
English!). This pseudo-code nature of Python is one of its greatest
strengths. It allows you to concentrate on the solution to the
problem rather than the syntax i.e. the language itself.

Easy to Learn

As you will see, Python is extremely easy to get started with.


Python has an extraordinarily simple syntax as already
mentioned.

Free and Open Source


Python is an example of a FLOSS (Free/Libre and Open Source
Software). In simple terms, you can freely distribute copies of this
software, read the software's source code, make changes to it,
use pieces of it in new free programs, and that you know you can
do these things. FLOSS is based on the concept of a community
which shares knowledge. This is one of the reasons why Python
is so good - it has been created and improved by a community
who just want to see a better Python.

High-level Language

When you write programs in Python, you never need to bother


about low-level details such as managing the memory used by
your program.

Portable

Due to its open-source nature, Python has been ported (i.e. changed to
make it work on) to many many platforms. All your Python programs
will work on any of these platforms without requiring any changes at all.
However, you must be careful enough to avoid any system-dependent
features.
You can use Python on Linux, Windows, Macintosh, Solaris, OS/2,
Amiga, AROS, AS/400, BeOS, OS/390, z/OS, Palm OS, QNX, VMS,
Psion, Acorn RISC OS, VxWorks, PlayStation, Sharp Zaurus, Windows
CE and PocketPC !

Interpreted
This requires a little explanation.
A program written in a compiled language like C or C++ is translated
from the source language i.e. C/C++ into a language spoken by your
computer (binary code i.e. 0s and 1s) using a compiler with various flags
and options. When you run the program, the linker/loader software just
stores the binary code in the computer's memory and starts executing
from the first instruction in the program.
When you use an interpreted language like Python, there is no separate
compilation and execution steps. You just run the program from the
source code. Internally, Python converts the source code into an
intermediate form called bytecodes and then translates this into the
native language of your specific computer and then runs it. All this
makes using Python so much easier. You just run your programs - you
never have to worry about linking and loading with libraries, etc. They
are also more portable this way because you can just copy your Python
program into another system of any kind and it just works!

Object Oriented

Python supports procedure-oriented programming as well as object-


oriented programming. In procedure-oriented languages, the program is
built around procedures or functions which are nothing but reusable
pieces of programs. In object-oriented languages, the program is built
around objects which combine data and functionality. Python has a very
powerful but simple way of doing object-oriented programming,
especially, when compared to languages like C++ or Java.

Extensible
If you need a critical piece of code to run very fast, you can achieve this
by writing that piece of code in C, and then combine that with your
Python program.

Embeddable

You can embed Python within your C/C++ program to give scripting
capabilities for your program's users.

Extensive Libraries
The Python Standard Library is huge indeed. It can help you do various
things involving regular expressions, documentation generation, unit
testing, threading, databases, web browsers, CGI, ftp, email, XML,
XML-RPC, HTML, WAV files, cryptography, GUI(graphical user
interfaces) using Tk, and also other system-dependent stuff. Remember,
all this is always available wherever Python is installed. This is called
the "batteries included" philosophy of Python.
Besides the standard library, there are various other high-quality libraries
such as the Python Imaging Library which is an amazingly simple image
manipulation library.
How your python code gets executed?

The python code you write is compiled into python bytecode,


which creates file with extension .pyc. If compiles, again
question is, why not compiled language.

Note that this isn't compilation in the traditional sense of the


word. Typically, wed say that compilation is taking a high-level
language and converting it to machine code. But it is a
compilation of sorts. Compiled in to intermediate code not into
machine code (Hope you got it Now).

Back to the execution process, your bytecode, present in pyc file,


created in compilation step, is then executed by appropriate
virtual machines, in our case, the CPython VM (actually we call it
interpreter, right?).

Execution of Python Code

So for Cpython, we can say that its interpreted language. Aha, So


that made to confuse you as Python is an "interpreted
language"(which in term True for Cpython, a most famous
implementation of python).

So my pyc file contains cross platform code right?. Yes, your


bytecode is cross platform but its version dependent ( python 2.x
or 3.x).

Is .pyc created every time I run code?

Answer is No. Actually it depends on your modification in py file.


The time-stamp (called as magic number) is used to validate
whether .py file is changed or not, depending on that new pyc file
is created. If pyc is of current code then it simply skips compilation
step.

Basically the way the programs are run is always the same. The
compiled code is interpreted. The way the programs are loaded
differs. If there is a current pyc file, this is taken as the compiled
version, so no compile step has to be taken before running the
command. Otherwise the py file is read, the compiler has to
compile it (which takes a little time) but then the compiled version
in memory is interpreted just the same way as always.

2. Python Interpreter

The interactive prompt

The interactive prompt allows interacting with the Python


interpreter from a terminal. Once the interactive prompt has been
launched, it is possible to enter valid Python code line by line. A
line of the interactive prompt always starts with the
characters >>> or ... depending on indentation.

$ python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more
information.
>>> prompt = "guest"
>>> if prompt:
... print prompt
...
guest
>>>

To exit from the Python interactive prompt, we'll hit Ctrl+D under
linux ubuntu. Since the interactive prompt plays an important role
in the development of Python code, we would customize it for a
more efficient use. This is explained in the following paragraph.

3. Linux Command Line

What Is the Command Line?

The command-line interface, sometimes referred to as the CLI, is


a tool into which you can type text commands to perform specific
tasksin contrast to the mouse's pointing and clicking on menus
and buttons. Since you can directly control the computer by
typing, many tasks can be performed more quickly, and some
tasks can be automated with special commands that loop through
and perform the same action on many filessaving you,
potentially, loads of time in the process.
The application or user interface that accepts your typed
responses and displays the data on the screen is called a shell,
and there are many different varieties that you can choose from,
but the most common these days is the Bash shell, which is the
default on Linux and Mac systems in the Terminal application.
By default, Windows systems only include the anemic Command
Prompt application, which has nowhere near the power of Bash,
so for the purposes of this article we're going to suggest you use
the open source Cygwin tool as your Windows command line,
since it's quite a bit more powerful. You'll also at some point want
to read parts one, two, and three of our series on using the Bash
shell under Cygwinthe tips apply to Linux and OS X as well.

File Commands

The following section lists the most important commands for file
management. It covers everything from general file administration
to the manipulation of file system ACLs.

File Administration

ls [options] [files]
If you run ls without any additional parameters, the program
lists the contents of the current directory in short form.
-l
Detailed list
-a
Displays hidden files

cp [options] source target


Copies source to target.
-i
Waits for confirmation, if necessary, before an
existing target is overwritten
-r
Copies recursively (includes subdirectories)

mv [options] source target


Copies source to target then deletes the original source.
-b
Creates a backup copy of the source before moving
-i
Waits for confirmation, if necessary, before an
existing targetfile is overwritten

rm [options] files
Removes the specified files from the file system. Directories are
not removed by rm unless the option -r is used.
-r
Deletes any existing subdirectories
-i
Waits for confirmation before deleting each file

ln [options] source target


Creates an internal link from source to target. Normally, such a
link points directly to source on the same file system. However,
if ln is executed with the -s option, it creates a symbolic link that
only points to the directory in which source is located, enabling
linking across file systems.
-s
Creates a symbolic link

cd [options] [directory]
Changes the current directory. cd without any parameters
changes to the user's home directory.
mkdir [options] directory
Creates a new directory.

rmdir [options] directory


Deletes the specified directory if it is already empty.

chown [options] username[:[group]] files


Transfers ownership of a file to the user with the specified
username.
-R
Changes files and directories in all subdirectories

chgrp [options] groupname files


Transfers the group ownership of a given file to the group with
the specified group name. The file owner can change group
ownership only if a member of both the current and the new
group.

chmod [options] mode files


Changes the access permissions.
The mode parameter has three parts: group, access, and
access type. group accepts the following characters:
u
User
g
Group
o
Others
For access, grant access with + and deny it with -. The
access type is controlled by the following options:
r
Read
w
Write
x
Executeexecuting files or changing to the directory
s
Setuid bitthe application or program is started as if it were
started by the owner of the file
As an alternative, a numeric code can be used. The four digits of
this code are composed of the sum of the values 4, 2, and 1
the decimal result of a binary mask. The first digit sets the set
user ID (SUID) (4), the set group ID (2), and the sticky (1) bits.
The second digit defines the permissions of the owner of the file.
The third digit defines the permissions of the group members and
the last digit sets the permissions for all other users. The read
permission is set with 4, the write permission with 2, and the
permission for executing a file is set with 1. The owner of a file
would usually receive a 6 or a 7 for executable files.
gzip [parameters] files
This program compresses the contents of files using complex
mathematical algorithms. Files compressed in this way are
given the extension .gz and need to be uncompressed before
they can be used. To compress several files or even entire
directories, use the tar command.
-d
Decompresses the packed gzip files so they return to their
original size and can be processed normally (like the
command gunzip)

tar options archive files


tar puts one or more files into an archive. Compression is
optional. tar is a quite complex command with a number of
options available. The most frequently used options are:
-f
Writes the output to a file and not to the screen as is usually
the case
-c
Creates a new tar archive
-r
Adds files to an existing archive
-t
Outputs the contents of an archive
-u
Adds files, but only if they are newer than the files already
contained in the archive
-x
Unpacks files from an archive (extraction)
-z
Packs the resulting archive with gzip
-j
Compresses the resulting archive with bzip2
-v
Lists files processed
The archive files created by tar end with .tar. If the tar archive
was also compressed using gzip, the ending is .tgz or .tar.gz. If
it was compressed using bzip2, the ending is .tar.bz2.

locate patterns
This command is only available if you have installed
the findutils-locate package. The locate command can find in
which directory a specified file is located. If desired, use wild
cards to specify filenames. The program is very fast, because it
uses a database specifically created for the purpose (rather
than searching through the entire file system). This very fact,
however, also results in a major drawback: locate is unable to
find any files created after the latest update of its database. The
database can be generated by root withupdatedb.

updatedb [options]
This command performs an update of the database used
by locate. To include files in all existing directories, run the
program as root. It also makes sense to place it in the
background by appending an ampersand (&), so you can
immediately continue working on the same command line
(updatedb &). This command usually runs as a daily cron job
(see cron.daily).
find [options]
With find, search for a file in a given directory. The first
argument specifies the directory in which to start the search.
The option -name must be followed by a search string, which
may also include wild cards. Unlike locate, which uses a
database, find scans the actual directory.

Commands to Access File Contents

file [options] [files]


With file, detect the contents of the specified files.
-z
Tries to look inside compressed files

cat [options] files


The cat command displays the contents of a file, printing the
entire contents to the screen without interruption.
-n
Numbers the output on the left margin
less [options] files
This command can be used to browse the contents of the
specified file. Scroll half a screen page up or down
with PgUp and PgDn or a full screen page down with Space.
Jump to the beginning or end of a file using Home and End.
Press Q to exit the program.

grep [options] searchstring files


The grep command finds a specific search string in the
specified files. If the search string is found, the command
displays the line in which searchstring was found along with the
filename.
-i
Ignores case
-H
Only displays the names of the relevant files, but not the text
lines
-n
Additionally displays the numbers of the lines in which it
found a hit
-l
Only lists the files in which searchstring does not occur

diff [options] file1 file2


The diff command compares the contents of any two files. The
output produced by the program lists all lines that do not match.
This is frequently used by programmers who need only to send
their program alterations and not the entire source code.
-q
Only reports whether the two files differ
-u
Produces a unified diff, which makes the output more
readable
File Systems

mount [options] [device] mountpoint


This command can be used to mount any data media, such as
hard disks, CD-ROM drives, and other drives, to a directory of
the Linux file system.
-r
Mount read-only
-t filesystem
Specify the file system, commonly ext2 for Linux hard
disks, msdos for MS-DOS media, vfat for the Windows file
system, and iso9660 for CDs
For hard disks not defined in the file /etc/fstab, the device type
must also be specified. In this case, onlyroot can mount it. If the
file system needs to also be mounted by other users, enter the
option user in the appropriate line in the /etc/fstab file
(separated by commas) and save this change. Further
information is available in the mount(1) man page.

umount [options] mountpoint


This command unmounts a mounted drive from the file system.
To prevent data loss, run this command before taking a
removable data medium from its drive. Normally, only root is
allowed to run the commandsmount and umount. To enable
other users to run these commands, edit the /etc/fstab file to
specify the option user for the relevant drive.
System Commands

The following section lists a few of the most important commands


needed for retrieving system information and controlling
processes and the network.
System Information
df [options] [directory]
The df (disk free) command, when used without any options,
displays information about the total disk space, the disk space
currently in use, and the free space on all the mounted drives. If
a directory is specified, the information is limited to the drive on
which that directory is located.
-h
Shows the number of occupied blocks in gigabytes,
megabytes, or kilobytesin human-readable format
-T
Type of file system (ext2, nfs, etc.)

du [options] [path]
This command, when executed without any parameters, shows
the total disk space occupied by files and subdirectories in the
current directory.
-a
Displays the size of each individual file
-h
Output in human-readable form
-s
Displays only the calculated total size
free [options]
The command free displays information about RAM and swap
space usage, showing the total and the used amount in both
categories. See Abschnitt 18.1.6, The free
Command, ( Reference ) for more information.
-b
Output in bytes
-k
Output in kilobytes
-m
Output in megabytes

date [options]
This simple program displays the current system time. If run as
root, it can also be used to change the system time. Details
about the program are available in the date(1) man page.

Processes

top [options]
top provides a quick overview of the currently running
processes. Press H to access a page that briefly explains the
main options for customizing the program.

ps [options] [process_ID]
If run without any options, this command displays a table of all
your own programs or processesthose you started. The
options for this command are not preceded by hyphen.
aux
Displays a detailed list of all processes, independent of the
owner

kill [options] process_ID


Unfortunately, sometimes a program cannot be terminated in
the normal way. In most cases, you should still be able to stop
such a runaway program by executing the kill command,
specifying the respective process ID (see top and ps). kill sends
a TERM signal that instructs the program to shut itself down. If
this does not help, the following parameter can be used:
-9
Sends a KILL signal instead of a TERM signal, bringing the
specified process to an end in almost all cases

killall [options] processname


This command is similar to kill, but uses the process name
(instead of the process ID) as an argument, killing all processes
with that name.

Network

ping [options] hostname_or_IP address


The ping command is the standard tool for testing the basic
functionality of TCP/IP networks. It sends a small data packet to
the destination host, requesting an immediate reply. If this
works, ping displays a message to that effect, which indicates
that the network link is basically functioning.
-cnumber
Determines the total number of packages to send and ends
after they have been dispatched (by default, there is no
limitation set)
-f
flood ping: sends as many data packages as possible; a
popular means, reserved for root, to test networks
-ivalue
Specifies the interval between two data packages in seconds
(default: one second)

host [options] hostname [server]


The domain name system resolves domain names to IP
addresses. With this tool, send queries to name servers (DNS
servers).
ssh [options] [user@]hostname [command]
SSH is actually an Internet protocol that enables you to work on
remote hosts across a network. SSH is also the name of a
Linux program that uses this protocol to enable operations on
remote computers.

Miscellaneous

passwd [options] [username]


Users may change their own passwords at any time using this
command. The administrator root can use the command to
change the password of any user on the system.
su [options] [username]
The su command makes it possible to log in under a different
username from a running session. Specify a username and the
corresponding password. The password is not required
from root, because root is authorized to assume the identity of
any user. When using the command without specifying a
username, you are prompted for the root password and change
to the superuser (root). Use su - to start a login shell for a
different user.

halt [options]
To avoid loss of data, you should always use this program to
shut down your system.

reboot [options]
Does the same as halt except the system performs an
immediate reboot.
clear
This command cleans up the visible area of the console. It has
no options.

SOFTWARE DEVELOPMENT METHODOLOGY

The establishment and use of sound engineering principles in


order to obtain economically developed software that is reliable
and works efficiently on real machines is called software
engineering.
Software engineering is the discipline whose aim is:
Production of quality software
software that is delivered on time
cost within the budget
satisfies all requirements

Software process is the way in which we produce the software.


Apart from hiring smart, knowledgeable engineers and buying the
latest development tools, effective software development process
is also needed, so that engineers can systematically use the best
technical and managerial practices to successfully complete their
projects.
A software life cycle is the series of identifiable stages that a
software product undergoes during its lifetime .A software lifecycle
model is a descriptive and diagrammatic representation of the
software life cycle .A life cycle model represents all the activities
required to make a software product transit through its lifecycle
phases .It also captures the order in which these activities are to
be taken.

Life Cycle Models


There are various life cycle models to improve the software
processes.
WATERFALL MODEL
PROTOTYPE MODEL
ITERATIVE ENHANCEMENT MODEL
EVOLUTIONARY MODEL
SPIRAL MODEL

In the project, Waterfall model is followed.

Waterfall Model
FI
G
3.1

Waterfall Model
This model contains 6 phases:
Feasibility Study
The feasibility study activity involves the analysis of the problem
and collection of the relevant information relating to the product.
The main aim of the feasibility study is to determine whether it
would be financially and technically feasible to develop the
product.

Requirement Analysis And Specification


The goal of this phase is to understand the exact requirements of
the customer and to document them properly (SRS)

Design
The goal of this phase is to transform the requirement
specification into a structure that is suitable for implementation in
some programming language.

Implementation And Unit Testing


During this phase the design is implemented. Initially small
modules are tested in isolation from rest of the software product.

Integration And System Testing


In this all the modules are integrated and then tested altogether.

Operation And Maintenance.


Release of software inaugurates the operation and life cycle
phase of the operation.
The phases always occur in this order and do not overlap.

_ CHAPTER-II

PROJECT

Objective:
Build an offline dictionary in python

Technolog Used:
Python 2.7
Command line

Features:

Add a word

We can add a word whose meaning we don't know. When we


chose the option to add a word, the app will ask whether we know
the meaning. If you know the meaning then you can add it
instantly or else only the word will be added and its meaning can
be added later.
[Word Entered]

[Prompt to add meaning]


[Meaning Added]

Seeing all word that has a meaning:

We can see all word that has meaning.

Seeing all words having no meaning

We can also see all words that have no


meaning as of now.

CONCLUSION:

The Offline Dictionary developed using Python


fully meets the objectives of the system for
which it has been developed. The system has
reached a steady state where all bugs have
been eliminated. The system is operated at a
high level of efficiency and all the teachers and
user associated with the system understands its
advantage. The system solves the problem. It
was intended to solve as requirement
specification.

The project was successfully designed and is tested for


accuracy and quality.

During this project I have accomplished all the objectives

This project meets the needs of the organization .

The developed will be used in searching , retrieving and


generating information for the concerned requests.

GOALS:

Reduced entry work.

Easy retrieval of information

Reduced errors due to human intervention

Portable and flexible for further enhancement

SCOPE FOR FURTHER DEVELOPMENT:

The system can be designed for further enhancement .This could


also be developed according to the growing needs of the the
usability.

You might also like