|
|
|
|
Subair Erunnaladummal subair_e@yahoo.com
This sample IGNOU Study Centre Automation
Project report does not contain DFD and ERD insert them in appropriate places.
The system is developed in Linux platform using Glade interface designer and C
as front end and Postegre SQL as Backend. Before using this report make sure
that all technical aspects are correct.
(This only a sample)
IGNOU Study
Centre Automation Project report
Introduction
and objective: -
The main objective of the project
is to develop a software system to automate the activities carried out at study Centre. This will ease all the official operations at the study Centre such as student list processing, certificate
verification, counseling schedule preparation, assignment processing, mark list
preparation for practical examination, account keeping, correspondence
management, activities planning etc. it will simplify and ensure the accuracy
of complex and time consuming preparation of various reports. Another objective
of this system is to have an effective, efficient and easy system to manage
outside queries.
Identification of needs
The major problems regarding the study centre staff are-
Some reports prepared for sending to the Regional Centre are having complex steps. So it takes lot of time to complete which affects other activities of the office like enquiries.
Reports and statements prepared normally contain errors or incorrect figures. Sometimes corrections are reported even after the confirmation of the documents. It creates many problems to the officials.
Documents having similar character kept under similar group. Some of the processes of the office need a summary from different documents. Such activities need much attention else will result in production of incorrect results.
Sometimes reports prepared are to be reviewed and even re-prepared because of some minor errors, which affects the overall performance of the system.
There is no efficient method to handle the enquiries from students and outside parties, no way to know the status of various activities related to the study centre, etc which in effect causes over heads to the staff.
The requirements are identified from the study of the existing system, interview with the officials, etc. The primary need is a simple system with improved performance having the below mentioned capabilities.
ð Timely, efficient and accurate preparation of various reports, which are required periodically and non-periodically.
ð Easy handling of corrections reported later.
ð Timely information to pupils regarding assignments, examinations etc and for outside parties information regarding various courses etc
ð A system capable of handling data regarding activities of the study centre and correspondence.
ð A system, which reduce the additional man-hour required on demand.
Preliminary Investigation
The purpose of preliminary investigation is to evaluate system requirements. Its objective includes clarification and understanding of system requirements, determine the size of project, asses cost and benefit, and determine the technical and operational feasibility.
I adopted on-site observation, reviewing organization documents and interviewing as fact-finding techniques during preliminary investigation.
The written documents and reports at the office of previous years of education are very helpful in preliminary investigation. It gives an idea about who are the persons or outside parties directly associated with the study centre. Various monthly-prepared reports shows that it is related to the Regional Centre of IGNOU, some reports like annual report, examination grade list etc are associated with the Head Quarters of IGNOU. Enquiry documents are associated with students or peoples outside. It gives a brief overview of the activities of the office and important steps involved in. Documents give idea about what input are required for various activities. For example, verification report readily gives a clear idea about the input needed. Reports like monthly report, monthly bill, account statement etc give some idea about the volume of transaction.
The next step I had done in system analysis is on-site observation. Through this I got a better understanding of the system and various persons involved in the system. The clerical staff, at the office, carries out all the activities. The Programme in Charge of the study centre gives directions and final approval of processes or documents. On-site observation gave me the steps and procedures of various activities carried out. For example, in assignment processing the steps involved are – assignments are collected on date from the students and a list of students who are submitted assignments are prepared course wise. The assignments collected along with the student list are handed over to the responsible counsellor. Verified assignments with mark are received at the study centre, and finally an award list is prepared which the Programme in Charge approves and a copy is sent to Regional Centre.
On-site observation gives the frequency of activities that occurs at the centre. Documents like account statement, performance report etc are required monthly, scheduling needed once per semester, attendance sheet is prepared for all counselling sessions etc. It also gave me an idea about the workload of staff at the office; facilities provided etc. Workload to the staff at the time of some process like certificate verification, assignment processing, etc are much higher. The office is provided with one computer, which is used for some clerical activities.
I finally conducted interviews with the persons related to the present system. It helped me to get the user’s view about the system and suggestions about the proposed system. I got idea about the responsibilities of various staff. The primary responsibilities of the clerical staff are to do the official activities related to students, counsellors and the study centre. The Programme in Charge is responsible for verification and approval of various statements sent to Regional centre and Head quarters of IGNOU. I gathered existing problems of the system related to various activities, from the office staff. Various problems felt by the officials are regarding efficiency, accuracy, timeliness, complexity, etc. They suggested the need for a better method to manage enquiries and correspondence management.
After conducting the system analysis, I got a good understanding of requests and idea about the size of the project. The major areas identified after the preliminary investigation are: -
Feasibility Study
By feasibility we mean a test of system proposal according to its workability, impact on the organisation, ability to meet user needs, and effective use of resources. Only a feasible system will be useful to the organisation, so it is significant to evaluate the feasibility of the system.
Technical feasibility
Technical feasibility is concerned with specifying equipment and software that will successfully satisfy the user requirements. The equipments required for the proposed system are PC having configuration Pentium I or above with 64MB RAM and 4GB HDD, plus a 132 columned dot matrix printer and a UPS having at least 20mins backup. Software needed for the system is Linux as the operating system and Postgre SQL as database management system.
The specifications given above can easily satisfy the requirements of the system. It is able to give lengthy and complex reports in a given time. The response time will be quick under almost any conditions. It will have the ability to process large reports like monthly reports in a very high speed in which data from many relations involve. Postgre SQL supports high-speed transaction on high volume of data. From the above given facts we can conclude that the system is technically feasible.
Economical feasibility
It is most commonly known as cost/benefit analysis and its objective is to determine the benefits and savings that are expected from the proposed system and compare them with costs. If benefits outweigh costs, a decision is taken to design and implement the system.
There is already availability of hardware equipments needed for the system at the office, so there is no additional cost is needed for hardware. As Linux and Postgre SQL are free software, there is no additional investment is needed towards the software also.
As no hardware and software cost required for the system, the only cost coming is the development cost.
In the proposed system, we can have cost-avoidance benefits. For example, the computerised system will reduce the overheads and time period required in the manual system. This is helpful as there is no need to hire or appoint additional clerical staff in the future.
The proposed system will cause improved service level benefits, as the performance of the computerised system is much higher than the existing manual one. For example, the time required for processes like schedule preparation, monthly report preparation, assignment processing, promotion etc on an average takes many hours in the present system. We can reduce this into minutes in the computer-based system.
We can feel improved information benefits in the proposed system, because it will lead to better information for decision-making. It will be helpful to the staff if details like number of remaining counselling sessions, unverified students list, list of students who are not submitted assignments etc are readily available.
From the above-mentioned benefits, we can know that the proposed system is economically feasible.
Operational Feasibility: -
The proposed system is operationally feasible because it will meet the operating requirements of the organisation. I feel extreme support from the Programme in Charge and other official staff of the study centre. They all welcome an efficient and useful computer based system. They are so corporative and involved in the planning and development of the project.
The proposed system will not brought any changes to the system and organisation structure because the proposed system will not cause any harm to the existing staff members.
The staff members of the study centre are well trained to operate computer. So there is no need of training to the existing staff or no need of hiring trained staff.
Feasibility studies conducted reveals that the proposed system is an acceptable one.
Software Engineering Paradigm applied: -
Throughout the life cycle of the project, I adapted structured system analysis and design.
Structured analysis is a set of techniques and graphical tools that allow the analyst to develop a new kind of system specification that are easily understandable to the user. Structured design is a data flow based methodology. The approach begins with a system specification that identifies input and output of the system. General features such as reports and inputs are identified first and are studied individually in detail. Structured design is an attempt to minimise the complexity and make a problem manageable by subdividing into small modules.
Software and hardware requirement specifications
Software: -
Platform & Tools used
The system is developed to
run under Linux platform. It also uses various tools, compiler and libraries,
which are available with Linux for the development and implementation of this
project. A brief description about the platform and tools used are given below.
Platform
Linux
Linux is a fast developing,
free, multiuser, multitasking and multi processing operating system, which was
originally developed by Linus Torvalds, a finnish scientist. Since it is
a free software anyone can work on it, make changes and enhance it. Apart from
the kernal, the creators of Linux has attached a bundle of system software and
application software with it, through GNU software effort, which is
directed by Free Software Foundation (FSF). There is a wide range of
software that can be used with Linux, all of which includes features that can
compete with or even surpass those of any other operating system in the world.
Some of the features, which justify the selection of Linux as a platform for my
project, are given below.
1. Open source
2. Free
3. Availability of wide range of compilers &
utilities
4. Database server support
5. GUI support and Designers, Tools and libraries
to build GUI
6. Support for a variety of hardware
7. Worldwide user group support
8. Highly reliable and secure
Compiler
gcc
gcc is a C compiler used to
compile C source code for Linux platform. Since all the source code of my
project is written in C, I used gcc compiler create executables.
Tools
GNU make
GNU make is a tool used to
compile and link programs written in various languages under Linux platform.
This tool uses a file named ‘Makefile’, in which we can give the specification,
for compilation and linking, such as the compiler, source files, target file,
libraries to be included, flags used while compilation etc.
Glade
Glade is a user interface
builder for Linux, which allows developers to design layouts of windows,
dialogs, menus and toolbars in a point-and-click fashion, in same vein as a
package. Glade allow user interface to be created by designers without a
technical background, by separating the interface from the back end code.
Glade is the most advanced
RAD (Rapid Application Development) tool for GNOME/GTK and is similar to
Windows-based tool such as Power Builder and the Visual C++ Resource Editor.
Once we have put together a design, Glade can generate a skeleton source tree,
complete with code to create that design, packaging each window and dialog
within a creation function. With Glade we have instant access to all common
GNOME/GTK widgets, along with their properties that we can adjust in real time,
and hence see effects instantaneously.
Libraries
This project uses mainly
two libraries one to build the GUI front-end for the user to interact with the
system and the other to access the database. The front-end library used here is
GIMP Toolkit (GTK), which provides a set of controls or components to
build a very good GUI. The second library, ‘libpq’, is used to interact
with the PostgreSQL server, which is the database server for this project, in
order to store and fetch data.
GIMP Toolkit (GTK)
GTK (GIMP Toolkit) is a library for creating
graphical user interfaces. It is licensed using the LGPL license, so we
can develop open software, free software, or even commercial non-free software
using GTK without having to spend anything for licenses or royalties.
It’s called the GIMP
toolkit because it was originally written for developing the GNU Image
Manipulation Program (GIMP), but GTK has now been used in a large number of
software projects, including the GNU Network Object Model Environment
(GNOME) project. GTK is built on top of GDK (GIMP Drawing Kit) which is
basically a wrapper around the low-level functions for accessing the underlying
windowing functions (Xlib in the case of the X windows system).
There is also a third
component called GLib, which is a lower-level library that provides many useful
definitions and functions available for use when creating GDK and GTK
applications. These include definitions for basic types and their limits,
standard macros, type conversions, byte order, memory allocation, warnings and
assertions, message logging, timers, string utilities, hook functions, a
lexical scanner, dynamic loading of modules, and automatic string completion. A
number of data structures (and their related operations) are also defined,
including memory chunks, doubly-linked lists, singly-linked lists, hash tables,
strings (which can grow dynamically), string chunks (groups of strings), arrays
(which can grow in size as elements are added), balanced binary trees, N-ary
trees, quarks (a two-way association of a string and a unique integer
identifier), keyed data lists (lists of data elements accessible by a string or
integer id), relations and tuples (tables of data which can be indexed on any
number of fields), and caches.
GTK is written completely
in C, it is implemented using the idea of classes and callback functions
(pointers to functions) and it can be used with C. There are GTK bindings for
many other languages including C++, Guile, Perl, Python, TOM, Ada95, Objective
C, Free Pascal, and Eiffel.
GTK is an event driven
toolkit, which means it will sleep in ‘gtk_main’ until an event occurs and
control is passed to the appropriate function (slot). This passing of control
is done using the idea of “signals”. When an event occurs the appropriate
signal will be “emitted” by the widget. This is how GTK does most of its useful
work.
GTK provides a wide range
of GUI components known as ‘Widgets’. All Widgets are derived from ‘GtkObject’
and they keeps a hierarchical relationship among them.Widget Hierarchy of GTK
library is given below:
GtkObject
+GtkWidget
| +GtkMisc
| | +GtkLabel
| | | +GtkAccelLabel
| | | ‘GtkTipsQuery
| | +GtkArrow
| | +GtkImage
| | ‘GtkPixmap
| +GtkContainer
| | +GtkBin
| | | +GtkAlignment
| | | +GtkFrame
| | | | ‘GtkAspectFrame
| | | +GtkButton
| | | |
+GtkToggleButton
| | | | | ‘GtkCheckButton
| | | | |
‘GtkRadioButton
| | | | ‘GtkOptionMenu
| | | +GtkItem
| | | | +GtkMenuItem
| | | | | +GtkCheckMenuItem
| | | | | | ‘GtkRadioMenuItem
| | | | | ‘GtkTearoffMenuItem
| | | | +GtkListItem
| | | | ‘GtkTreeItem
| | | +GtkWindow
| | | | +GtkColorSelectionDialog
| | | | +GtkDialog
| | | | | ‘GtkInputDialog
| | | | +GtkDrawWindow
| | | | +GtkFileSelection
| | | | +GtkFontSelectionDialog
| | | | ‘GtkPlug
| | | +GtkEventBox
| | | +GtkHandleBox
| | | +GtkScrolledWindow
| | | ‘GtkViewport
| | +GtkBox
| | | +GtkButtonBox
| | | | +GtkHButtonBox
| | | | ‘GtkVButtonBox
| | | +GtkVBox
| | | | +GtkColorSelection
| | |
| ‘GtkGammaCurve
| | | ‘GtkHBox
| | |
+GtkCombo
| | |
‘GtkStatusbar
| | +GtkCList
| | | ‘GtkCTree
| | +GtkFixed
| | +GtkNotebook
| | | ‘GtkFontSelection
| | +GtkPaned
| | | +GtkHPaned
| | | ‘GtkVPaned
| | +GtkLayout
| | +GtkList
| | +GtkMenuShell
| | | +GtkMenuBar
| | | ‘GtkMenu
| | +GtkPacker
| | +GtkSocket
| | +GtkTable
| | +GtkToolbar
| | ‘GtkTree
| +GtkCalendar
| +GtkDrawingArea
| | ‘GtkCurve
| +GtkEditable
| | +GtkEntry
| | | ‘GtkSpinButton
| | ‘GtkText
| +GtkRuler
| | +GtkHRuler
| | ‘GtkVRuler
| +GtkRange
| | +GtkScale
| | | +GtkHScale
| | | ‘GtkVScale
| | ‘GtkScrollbar
| |
+GtkHScrollbar
| |
‘GtkVScrollbar
| +GtkSeparator
| | +GtkHSeparator
| | ‘GtkVSeparator
| +GtkPreview
| ‘GtkProgress
|
‘GtkProgressBar
+GtkData
| +GtkAdjustment
| ‘GtkTooltips
‘GtkItemFactory
libpq
libpq is the C application
programmer’s interface to PostgreSQL. libpq is a set of library routines that
allow client programs to pass queries to the PostgreSQL backend server and to
receive the results of these queries. libpq is also the underlying engine for
several other PostgreSQL application interfaces, including libpq++ (C++),
libpgtcl (Tcl), Perl, and ecpg.
libpq uses PGconn object to
connect to the database. PGresult to retrieve data from tables. There are functions to connect, execute query and
check the status of query being executed etc.
Database
Server
PostgreSQL
PostgreSQL is an object-relational
database management system (ORDBMS) based on POSTGRES, Version 4.2, developed
at the University of California at Berkeley Computer Science Department. The
POSTGRES project, led by Professor Michael Stonebraker, was sponsored by the
Defense Advanced Research Projects Agency (DARPA), the Army Research Office
(ARO), the National Science Foundation (NSF), and ESL, Inc.
PostgreSQL is an
open-source descendant of this original Berkeley code. It provides SQL92/SQL99
language support and other modern features.
POSTGRES pioneered many of
the object-relational concepts now becoming available in some commercial
databases. Traditional relational database management systems (RDBMS) support a
data model consisting of a collection of named relations, containing attributes
of a specific type. In current commercial systems, possible types include
floating point numbers, integers, character strings, money, and dates. It is
commonly recognized that this model is inadequate for future data-processing
applications. The relational model successfully replaced previous models in
part because of its “Spartan simplicity”. However, this simplicity makes the
implementation of certain applications very difficult. PostgreSQL offers
substantial additional power by incorporating the following additional concepts
in such a way that users can easily extend the system:
inheritance
data
types
functions
Other
features provide additional power and flexibility:
Constraints
triggers
rules
transactional
integrity
Hardware
Requirements: -
Minimum preferred
Processor Pentium I
RAM 32MB 64MB
HDD 2GB 4GB
Printer 132 Column 132 Column
UPS 20Min Back-up 1Hour Back-up
Description
DFD
Module listing
ER Diagram
Table listing
Slno Field Name Data Type Field Width Description
Coding
Code efficiency
{Memory Allocation, Memory Management, Modular Programming, Re-usable functions, Global variables used,
Optimisation of code
Validation checks
Design level (design documents)
Data validation
Implementation and maintenance
convertion
Testing
Security measures
Application level
Backup & Recovery
Os level
Database level
bravenet.com