Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1. Introduction.....7
1.1 Organization Profile....7
1.2 Information Technology at TERI........8
1.3 ICT (Information and Communications Technology).....8
1.4 Knowledge for Rural Development Portal......8
1.5 TERI Knowledge Centres........8
2. Overall Description......9
2.1 Overview of TKS.....9
2.2 Objective..9
2.3 Product features and functions...10
3. Requirement Analysis.11
3.1 External Interface Requirements.12
3.1.1 User Interface.....12
3.1.2 Software Interfaces....12
3.1.3 Communication Interfaces.....12
3.2 Other Non-Functional Requirements...12
3.2.1 Performance Requirements....12
3.2.2 Security Requirements13
3.3 Other Requirements..13
3.3.1 Database Requirements......13
4. Feasibility Study...14
4.1 Economic Feasibility14
4.2 Technical Feasibility14
4.3 Legal Feasibility...14
5. System Architecture.....15
5.1 IT Infrastructure15
5.1.1 Development Platform....15
5.1.2. Operating Environment..15
5.1.3 Client Configuration15
5.1.4 Networking..15
6. Project Plan16
7. System Analysis.17
7.1 Context Level Data Flow Diagram.18
7.2 Use Case Diagram...19
7.3 Activity Diagram.20
8. System Design.21
8.1 Database Design.23
9. Implementation...28
11. Bibliography..47
ICT is the Information and Communications Technology department of TERI. It works for the knowledge dissipation in
rural areas. TERIs rural ICT initiative is a natural extension of its work spanning over 25 years in the fields of energy,
environment, and sustainable development. It is envisioned as an integrated initiative that will build and nurture
capacities among village communities, and enhance their livelihood by providing access to improved and innovative
technology and services.
To fulfil its mandate, it is required to reach the wider rural audience. Therefore, TERI Knowledge Centres are opened at
various locations in rural India to make K4RD portal easily accessible to the resident communities.
The local entrepreneurs are required to make a record of all the transactions and expenses made at the Knowledge
Centre. This data is of immense interest for the stakeholders and the administrator. On the basis of this data various
reports are generated such as sales report, transaction report, monthly sales report etc.
To automate the process of data collection and report generation and to make these reports easily available to the
stakeholders, TERI Knowledge System has been developed.
TERI Knowledge System is a reporting system developed to assist the entrepreneurs working at the remote rural
knowledge centres to collect, compile and generate reports of the transactions done at their centres at a pre-defined
regular interval of time.
A user-id and password will be provided to the entrepreneurs to authenticate themselves to the system. The data will be
sourced to the system by the entrepreneurs through the interfaces in the CSV format at a regular interval of time. On the
basis of this data sales reports, transaction reports, monthly sales reports and various graphs and tables will be generated.
Administrator and area convener will also interact with the system through the user-id and password provided to them.
Only the administrator will have a right to view details of various remote centres, and the services provided at these
centres. Administrator and area convener will edit or delete the services provided at these centres, add or delete the
information regarding new or existing services, and will add new centres and new entrepreneurs.
The system contain a relational database containing a list of entrepreneurs, list of centres, details of the centres,
transactions at the centres, files uploaded by the entrepreneurs, infrastructure of the centre and services available at the
knowledge centres.
2.2 Objective
The objective of the project in specific terms is as follows:
To collect and compile data from various remote centres at a pre-defined regular interval of time.
To generate sales reports, transaction tables, and graphs based on the data provided by the entrepreneurs
working at the remote centres.
To provide details of the entrepreneur working at different centres various projects in action at these centres,
infrastructure and other details of the centres.
To provide details of various services provided at the centres.
To allow administrator and area convener to edit or delete the existing services and to add new services,
new centres and new members to the system.
To allow the administrator to view the reports.
Web-based
TERI Knowledge System is a web-based system to provide the flexibility to access it from anywhere, anytime by
an authorized user. It may be the administrator or the entrepreneur working at the remote centre.
Reports
Reports will be generated automatically on the basis of the data sourced by the entrepreneurs working at the
remote centres on a monthly and yearly base in the form of tables and graphs
Security
Administrator, entrepreneurs and area convener are provided with user-id and passwords, so the system
can be accessed by these authorized users.
The complete IT-structure will be implemented behind a firewall.
Requirements analysis encompasses those tasks that go into determining the needs or conditions to meet for a new or
altered product, taking account of the possibly conflicting requirements of the various stakeholders, such as beneficiaries
or users. Requirements analysis is critical to the success of a development project.
The two major activities in this phase: problem understanding or analysis and requirement specification. In problem
analysis the analyst has to understand the problem and its context. A clear understanding is needed of the important
data entities in the system, major centres where the action is taken, the purpose of the different actions that are
performed, and inputs and outputs. Understanding the existing system is usually just the starting activity in problem
analysis. The goal of this activity is to understand the requirements of the new system that is to be developed. The
analyst has to make the client aware of the new possibilities.
Once the problem is analysed and the essentials understood, the requirements must be specified in the requirement
specification document. The requirements document must specify all the functional and performance requirements;
the format of input and outputs; and all design constraints that exist due to economic, environmental, and security
reasons. A preliminary user manual that describes all the major user interfaces frequently forms a part of
requirement document.
Software requirement specification (SRS) is the starting point of the software development activity. As systems
grow more complex, it becomes evident that their goals cannot be easily comprehended. Hence the need for the
requirements analysis phases arose. The SRS is a means of translating the idea in the mind of the client (the input)
into a formal document (the output of the SRS phase).
Functional
Requirements
Performance SRS
Requirements Design
Document
Requirements
External
Requirements
SI-1.1 The software will transmit the data uploaded by the entrepreneur to the database.
SI-1.2 The administrator and area convener will be allowed to modify the services provided and to add or
delete centres, members and services.
SI-1.3 The entrepreneur can edit the data uploaded by him in case wrong data is entered.
SI-1.4 Only the administrator will be allowed to view the details and statistics of the centre.
SI-2 Database
The TERI Knowledge System will communicate with the database to perform the following actions:
CI-1 The security of a user must be consistent through the use of passwords.
CI-2 The system will communicate with the database to display the details and statistics for the centre.
SR-1 Only the administrator will be allowed to view the details and statistics for the centres
SR-2 To edit, add or delete the information, the administrator and area convener shall be required to enter a
password.
SR-3 Passwords shall be stored in the database and verified upon each session of modification or addition.
SR-4 A user will be able to retrieve its password in case he forgets the password.
SR-4 A user shall be allowed to change his/her password only by supplying his/her existing password. The
updated password shall be stored in the database.
A feasibility study is a preliminary study undertaken to determine and document a project's viability. Feasibility study
explores all the socio-economic, technical as well as legal domains to find the best possible solution. All projects are
feasible given unlimited resources and infinite time. Unfortunately the development of the computer based system or
product is more likely to be plagued by a scarcity of resources and difficult delivery dates. Thus it is both necessary and
prudent to evaluate the feasibility of the project at the earliest possible time. The feasibility study is a test of system
proposal according to its workability, impact on the organization, ability to meet user needs, and effective use of
resources.
This project is found to be economically feasible since an evaluation of development cost was outweighed by the
ultimate benefit derived from the proposed system.
System is based on open source which is easily and readily available and no expense is involved.
The hardware and softwares required were already available.
There is no man power cost as the project is developed at TERI and modifications are to be done by the staff
members only.
The system uses the available LAN system for communication between the server and the system.
Technical feasibility centers on the existing computer system (hardware, software, etc.) and to what extent it can support
the proposed addition. The proposed system is assessed to be technically viable as the technologies decide to be used in
the project were available and were capable of accomplishing the desired function and performance. It is compatible with
existing software, and is operated by employees with new or existing computer skill sets.
The respective IEEE Standards are met and it is determined that no violation or liability would result from the
development of the system. The software is compatible with the organizations policies and rules like data security,
which is being maintained as per organizations policies.
5
System Architecture
5.1 IT Infrastructure
TERI knowledge system would aim for an integrated Local Area Network. Following are the hardware, software and
network requirements for the servers and client machines.
Front End: PHP 5, Hypertext Markup Language, JavaScript, Cascading Style Sheet
Back End: MySQL 5
5.1.4 Networking
A Local Area Network (LAN) connecting all the servers and Computers is required to establish the communication
among the systems. The Internet would be the main Communication channel to access TERI Knowledge System from
other locations either to provide the inputs or access the information.
A Gantt chart is a very useful tool used for planning and scheduling projects. A Gantt chart helps in identifying the tasks
involved, the estimated length of time each task will take and the sequence in which those tasks have to be performed. It
is a graphic display of the duration of a set of activities constructed with a horizontal axis representing the total time span
of the project, broken down into increments and a vertical axis representing the tasks that make up the project.
Horizontal bars of varying lengths represent the sequences, timing, and time span for each task. The Gantt chart
representing the project schedule is given below.
Systems analysis is an explicit formal inquiry carried out to help developer identify a better course of action and make a
better decision than he might otherwise have made. This phase works for the better understanding of the proposed
system. The system is analyzed for its data flow, and workflow, its entities and their relationships.
The following users have been identified for the TERI Knowledge System:
Administrator: An administrator is the person who is responsible for running the reporting system successfully. It
could be the director or any stakeholder of TERI. He/she will interact with the system through the user-
id and password available to him/her. He/she will be allowed to view details and statistical reports of
the centres, edit services, add new services, centres and members to the system.
Entrepreneurs: Entrepreneurs are the persons who are working in the remote centres and are responsible for sourcing
the data to the system on a pre-defined regular interval of time. They will interact with the system
through the user-id and password available to them. They will upload the transaction data to the
system on the basis of which statistical reports will be generated.
Area Convener: A person who has the right to add new centres, new members and new services and can edit as well as
delete the centres, members and services but is not allowed viewing the details and reports of the
centres. He/she will interact with the system through the user-id and password available to him/her.
The data flow and work flow is been defined using various tools such as Context Level Data Flow Diagram, Use Case
Diagram, Activity Diagram etc. as follows:
Administrator
Login, Add new centre, new member, Provides Details and Statistics, excel
new services, edit and delete services, format of statistics, uploaded files
centre, member or service
TERI
Knowledge
Login, Add new centre, new
System
members, new services, edit
Login, and delete centres, members
Upload and and services
edit data
Provides uploaded
files for editing
Entrepreneur Area Convener
7.2 The following is the Use Case Diagram for TERI Knowledge System:
View
uploaded files
View
Services
Entrepreneur Edit Services
Delete
Services
Area Convener
Add New
Services
Administrator View
centre Details
View statistical
data
Add New Centre
Add New
Member
Logout
Area convener
Select centre name
Logout
Login again
8
TERI Knowledge System 15
System Design
System Design is the process or art of defining the architecture, components, modules, interfaces, and data for a system
to satisfy specified requirements. System design is a solution, a how to approach to the creation of a new system. This
important phase is composed of several steps. It provides the understanding and procedural details necessary for
implementing the system recommended in the feasibility study. Emphasis is on translating the performance requirements
into design specification. Design goes through logical and physical stages of development.
The purpose of the design phase is to plan a solution of the problem specified by the SRS. This phase is the first step in
moving from the problem domain to the solution domain. This phase has a major impact on the later phase; particularly
testing and maintenance. The output of this phase is the design document. The design phase is often divided into two
separate phases-
System design aims to identify the modules that should be in the system, the specifications of these modules, and how
they interact with each other to produce the desired result.
During detailed design phase the internal logic of each of the modules, specified in system design, is decided. During
this phase further details of the data structures of each of the module is specified.
System design goes through two phases of development: logical and physical design, Prepares a Logical design
walkthrough of information flow, output, input, controls and implementation plan. The logical design also specifies
output, input, file and screen layouts. Following logical design is physical design. Physical system design consists of the
following steps:
Design physical information flow through the system and a physical design walkthrough.
TERI Knowledge system consists of a relational database named Ictcontaining eight tables as shown in the figure
This table contains the details of the entrepreneurs working at the centre, and other details of all the centres. Its fields are
as follows:
This table describes the details related to the centre i.e. its name, id and a small description
When the entrepreneur upload the data file, all the data related to expenses is loaded into this table. Its fields include the
following:
This table contains the information regarding the infrastructure of the knowledge centre.
This table contains the details of the username and password of the authorized members
This table contains the details of the services available at various knowledge centres
This table contains the details of all the transactions done at the knowledge centre
Once the design is complete most of the major decisions about the system have been made. The goal of the
implementation phase is to translate the design of the system into code in a given programming language.
The implementation phase affects both testing and maintenance profoundly. Well-written code can reduce the testing and
maintenance effort. Because the testing and maintenance cost of the software are much higher than the coding cost. The
goal of the coding should be to reduce the testing and maintenance effort. Simplicity and clarity should be strived for
during the implementation phase.
Coding starts once the design phase is over. During the design phase, it is not decided that which language will be chosen
and how the different modules will be written. In the coding phase the system design is converted into a code using
programming language. During the coding the focus should be on the developing programs that are easy to read and
understand and not simply on developing programs that are easy to write.
The coding of the system is done in PHP scripting language. JavaScript is used for validation. All the forms are designed
in HTML. MySQL is used for creating database.
Coding Guidelines:
Coding for the development has been done keeping in view the following guidelines:
Descriptive Comments
Describe blocks of code, rather than commenting every line.
Be correct, an incorrect or misleading comment is worse than no comment at all.
Indentation will be used to ensure that the code is readable.
Naming conventions (for variables, subroutines, etc.) - these will follow the project naming conventions
documented in the project file.
Complexity should be minimized and modules sub-divided when required, simplifying the code.
Following is the login window for the TERI Knowledge System. Every user is provided with a username and password
through which he/she can log into the reporting system.
Administrator can also add a new centre, a new service to any of the centre and add a new member to the existing centres
through this form.
On clicking the logout link administrator can any time log out of the system.
For an instance, the following figure shows that the administrator has selected Sahiya centre from the drop down panel.
As the administrator clicks the Edit Button the following form opens for the purpose of editing. Here the administrator
can change the centre name, service provided at the centre, per unit cost for the service and whether the service is active
or not at the centre. After doing the requisite changes, the information is saved in the database by clicking the save
button.
Fig. 11: Opening the excel sheet containing the financial details for the centre
On clicking the above Transaction Report link, the following data on the transaction of services appears.
On clicking on Monthly Sales Report link, a report containing the sales generated from various services at the centre on
monthly basis appears as follows:
From the welcome admin form, administrator can view the uploaded files of various centres after selecting the centre
name form the dropdown panel and clicking at the View Uploaded Files button.
In the following figure (Fig. 20), administrator has selected to view the uploaded files for the Sahiya centre
Admin can view the files in the CSV format by clicking at the file name or could view the file in excel sheet by clicking
on the download button
On clicking on the download button, the system asks the administrator to open the uploaded file or to save the uploaded
file to the disk before opening or saving the file
On opening the file, the following excel sheet appears on the window
Administrator can add a new centre name and its description and click on the add button to get the information saved in
the database.
To add a new service, administrator clicks on Add New Services button from the welcome admin window
The following form appears asking for the centre name to which the service is added, name of the service to be added,
per unit cost for the service and whether it would be active at the centre or not. On clicking on the add button, the
information get added to the database.
On clicking the Add New member button, the following form appears asking for the new users name, his/her password,
(this password has to be re-entered for the confirmation) and the centre name for which the member would be working.
On submitting the form the information gets stored in the database.
Area convener is provided with a username and password to authenticate with the system..
The following form appears as the area convener login into the system
The entrepreneurs working at various knowledge centres are provided with a unique username and password to interact
with the system in order to upload the files containing the sales and expenses details.
As the entrepreneur clicks the login button, the following form appears (fig.42). The files that are already uploaded in the
system can be viewed along with the date and time of upload on this page. The details of these files can be viewed in
CSV format as well as in excel format by clicking on the file name and on the download button respectively.
On clicking the submit button, the file in the following format appears. Here the form asks for whether the data in the
form is correct or not. If the data is correct and needs to be stored, entrepreneur clicks the Yes Save it button otherwise
he/she may click No. Want to upload again button.
As the file is saved in the database the message Data imported successfully appears in the window.
On clicking back to main page link entrepreneur is sent back to the welcome window where he/she can view all the files
uploaded at the centre and can open the file for the editing purpose by clicking on the download button (in the same way
as in case of administrator)
1.