Final Year Project for B. Tech. (in Compt. Sc. & Engg. and Info. Technology) - Guided in 2006

 

WEB-BASED APPLICATION

ON

AGRICULTURAL INFORMATION SYSTEM

USING XML-TECHNOLOGY

BY

 

Sukhendu Sekhar Mondal  (11202021031)

Umacharan Karmakar   (11201021017)

Supriyo Pratihar     (11201021015)

Gourav Mondal (11202021009)

Bapi Ray    (11202021011)

 

 

UNDER THE GUIDANCE OF

 

Prof. Dr. Subodh Chandra Garai

 

 

The Project report submitted for the completion of 8th semester project for award of B. Tech degree in

Computer Science and Engineering

And

Information Technology

 

 

 

 

WEST BENGAL UNIVERSITY OF TECHNOLOGY (W.B.U.T)

GOVT. COLLEGE OF ENGINEERING & LEATHER TECHNOLOGY

GOVT. OF WEST BENGAL

LB BLOCK, SECTOR III, SALT LAKE

KOLKATA- 700098

                     

                              

 

 

 

 

 

 

 

                                           OBJECTIVE

 

This is the final year project report during final year and final semester.

The main objective of this project is as under:.

1. To provide integrated technical information to the user about agriculture

2. To practise a web related project.

3. To practise state-of-the-art technology of XML

 

 

 

 

 

CERTIFICATE

 

 

 

 

 

 

  CONTENTS

 

1 Objective

2 Certificate

3 Acknowledgements

4 Introductions

5 Scope of the project

6 Theoretical backgrounds

7 Functional Requirements

8 Non-Functional Requirements

9 Product Perspectives

10Software Engineering Paradigm Applied.

11Feasibility Study

·        Technical Feasibility.

·        Economic Feasibility.

·        Operational Feasibility

12.  Input

·        Context Diagram.

·        Data Flow Diagram.

·        Entity Relationship Diagram.

 

13.   Processing.

14.   Table Design.

15.   Testing

·        Unit Testing.

·        Integration Testing.

16.   Validation Check.

17.   Attributes of the Software.

18.   Evaluation of the Software.

19.   Maintenance of the Software.

20.   Security of the Software.

21.   Limitation of the Software.

22.   Future Scope.

23.   Bibliography.

24   Project source code and outlook

 

          

  

                        

 

                        

 

                             

                     ACKNOWLEDGEMENT

 

 

 

In one way or other many people helped us in preparing this project to the point of completion. We heartily wish to express our deepest gratitude to our guide Dr. Subodh Chandra Garai, for his active guidance, valuable suggestions and continuous encouragement, without whose help and efforts this project would not been completed successfully.

          We owe our respect to Dr. D. S. Mukhopadhyay (Principal) and Prof. Kalyan Mahato (Head of the Dept.) for their necessary help and encouragement. We are thankfull to our classmates for their encouragement during preparation of this project.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                        

 

                                  INTRODUCTION

 

The agricultural information is generally providing by the Block Development Offices. That is why every block has to cover a large area to provide scientific, integrated, systematic information to the users including farmers. There is only single Block Development Agricultural Officer in each block to provide such information. So many interested and serious users cannot get appropriate and timely information at no or low cost. Also most of the farmers (users) of W. Bengal are not practising cultivation in scientific manner. That’s why they are not receiving satisfactory benefits from agricultural activities. The percentage of literate farmers increasing gradually. In many states like Uttar Pradesh, Haryna, Punjab farmers use  computers and get the scientific information about agriculture and the annual incomes of most of the farmers in those states are Rs.100000 to Rs.150000, whereas in W. Bengal farmers’ annual incomes vary between Rs.30000 and Rs.80000. Using net the farmers also sell their products.

          Our main aim through this project is to introduce a new web based agricultural information system that will help all concerned users.      

 

 

 

 

 

 

In this project we basically give some important information about agriculture but we do not claim too much about any comprehensive system to provide information on all possible agricultural activities or products.

We hope that, in future, we shall be able to add more. Just this project may help the users a little bit and we believe that it is an attempt towards a positive and significant direction.

 

 

 

 

 

 

 

 

 

 

            SCOPE OF THE PROJECT

 

 

We are assigned for this project

The cross checking of the existing HTML files of the website (or intranet site).

Introduction a side wide uniform style sheet (XSLT).

Validation of the pages as per W3C  specifications.

 

 

 

 

                                                                                  

 

 

 

 

                                   THEORITICAL BACKGROUND

 

                                               HTML

 

 

HTML stands for Hypertext Markup Language. HTML is a subset of SGML (Standard General Markup Language) and is the language used to define the layout and attributes of a World Wide Web document as well as to create links between web documents (documents being text, sound, or graphics). HTML stands for the Hypertext Markup Language. HTML code is the major Language of the Internet’s World Wide Web. Web sites and Web pages are written in HTML code. With HTML code and the World Wide Web, we have the ability to bring together text, pictures, sounds, and links. All in one place!

 HTML code files are plain text files; so they can be composed and edited on any computer - Windows, UNIX, Mac, whatever.

 

 

 

 

ASP

 

Active server pages (ASP) technology provides a simplified, fast way to create dynamic web Content. ASP technology enables rapid development of web-based applications that are server-and platform-independent.

          Active Server Pages (ASP) technology enables web developers and designers to rapidly develop and maintain information-rich, dynamic web pages that leverage existing business systems. As part of the Microsoft technology family, ASP technology enables rapid development of web-based applications that are platform independent. ASP technology separates the user interface from content generation, enabling designers to change the overall page layout without altering the dynamic content.

          Active Server Pages (ASP) is a technology based on the VBScript or JavaScript and enables the Development of dynamic web sites. ASP was developed by Microsoft Technology to allow server side development. ASP files are HTML files with special Tags containing VB script & ASP Source code that provides the dynamic content.

           

 

          

XML

 

Microsoft® XML Core Services (MSXML) 4.0 allows customers to build high-performance XML-based applications that provide a high degree of interoperability with other applications that adhere to the XML 1.0 standard. Among the core services MSXML 4.0 provides developers support for the following:

   The Document Object Model (DOM), a standard library of application programming interfaces (APIs) for accessing XML documents.

   The XML Schema Definition language (XSD), a current W3C standard for using XML to create XML Schemas. XML Schemas can be used to validate other XML documents.

   The Schema Object Model (SOM), an additional set of APIs for accessing XML Schema documents programmatically.

   Extensible Style sheet Language Transformations (XSLT) 1.0, a current W3C XML stylesheet language standard. XSLT is recommended for transforming XML documents.

   The XML Path Language (XPath) 1.0, a current W3C XML standard used by XSLT and other XML programming vocabularies to query and filter data stored in XML documents.

   The Simple API for XML (SAX), a programmatic alternative to DOM-based processing.

 

           We use XML as a backup or database, but we do not use any other data base like SQL server, Microsoft Access, or ORACLE. IT has several advantages over other database server, which are listed below:

1. XML store each document as a text document, that’s                         why a little amount of memory is used to store each                                                                                 document. In case of SQL or Microsoft Access to                             create a database uses a lot of memory!

2. XML is simple to other data base.

3. XML data base can run any type of machine.

4. XML-family of languages (i.e., XSLT, XSD, XPath etc.) not only stores data but also manipulates data and displays differently formatted reports.

5. This technology only requires an Operating System (in the server) having an Internet browser (in the client machine) and hence in an copy-left OS like LINUX the cost implications are almost nil.

          Drawback of XML is that it is slow compared to other database but as the technology improves we expect that the XML database will run faster in future.

          There are several branches available in XML, for several purposes. But we use only DOM (Document Object Model), X_Path (used for query), XSLT (Stylesheet Language Transform, though we can also use other stylesheet like CSS).

  

 

 

FUNCTIONAL REQUIRMENT

 

The functional requirements of the project can be summarized as follows:

v In our project there are two categories of users, namely,

·       GENERAL USERS and

·       ADMINISTRATORS.

 

v The following are the functions of the administrator::

·       If any new product or corps is coming which is most economical for cultivating to the farmer, the administrator can add and edit the product.

·       If there any government norms to popularise any product,   the administrator edits this product

to provide and add necessary information about the climax of several agricultural products;

to refresh records of the database from time to time by the administrators.

 

v The following are the functions of general users:

·       Accessing the necessary information about agriculture..

·       Accessing results of any student associated with the University..

·       Connecting with the block in case of old users..

 

The exclusive functions of our software are:

o   Various field level validations are present in the various forms.;

o   The software does not allow the update and modifications of the main database as well as of the users (including administrators) profile of data by the general users.

 

 

 

 

 

 

NON FUNCTIONAL REQUIREMENTS

 

The following are the non-functional requirements of our project:

             

·       Manual recording of the subscription.;

 

·       Generation of reports periodically and

·       Manual receiving of the notification regarding someone’s, which will cause the administrator to delete his/her record.

 

 

 

 

 

PRODUCT PERSPECTIVE

 

Website of any block maintains records of all the details of the block documents. It gives the information about the availability of the block, its mission

Quality control, infrastructure, and facilities. It gives the information about the agricultural product of the block .It provides the facilities for the outside user to access the block database to collect necessary information.

 

 

 

 

 

 

 

 

 

SOFTWARE ENGINEERING PARADIGM

 

A software development process is designed as a framework involving a small number Frame of activities those are applicable to all software projects, containing a number of task  sets, each a collection of software itself, including work products and quality assurance points. From to scratch to final product a systematic approach is followed. A Software development process deals with the broad categories of software development.

It has four fundamental activities or stages.

 

·       Software specifications: Functionality of software and the constraints of its operation must be defined.

·       Development: Meeting those specifications must be produced.

·       Validation: It has to be validated to check for the customer need.

·       Evolution: Must have the changes to meet the necessary needs for the customer time wise.

 

The software process model used in this project is the  Waterfall Model. It is also called staircase model. It represents a systematic and sequential approach to its development. The beauty of this approach is the fact that a step is initiated only when its predecessor steps are completed successfully. The process compromises of the following steps:

        

·       Feasibility study.

·       Requirement analysis and specification.

·       Design.

·       Coding and unit testing.

·       Integration and system testing.

·       Maintenance.

 

 

 

 

                   FEASIBILITY STUDY

 

It is conducted to select the best system that meets the performance requirements. Here we consider economical, technical, operational aspects in judging whether our software is viable or not.as such feasibility study comprises of

 

Ø Technical feasibility

Ø Economic feasibility

Ø Operational feasibility

A feasibility study is conducted to select the best option that meets the performance requirements. Three key considerations are following.

 

Technical Feasibility:

 

Technical feasibility centers around the existing computer system and to what extends

 it can support the proposed addition or whether the new application could overload the system or require additional. The project can be implemented on any computer having the following specification.

Hardware requirements:

    

·       PII or higher processor or AMD processor.

·       64 MB minimum ram.

·       200 MB free hard disk space.

 

Software requirements:

      

·       Windows 98/98se/me/2000/xp.

·       MSXML 4.0

 

All these things are already present to every one. So this project is technically feasible.

 

Economic Feasibility:

 

Economic feasibility analysis is the most frequently used method for evaluating  the effectiveness of the project. The project is economically feasible because   

1.    The software and hardware required is already present so new software or hardware is to be bought.

2.    The software is user friendly. So any person with minimum knowledge of computer can use the software. No experts are needed for operating the software.

 

Operational Feasibility:

 

 The software is user friendly and builds with conventional notation. As the project is GUI based with smart control buttons and icons, there will be no extra effort and manpower needed in educating and training the user staff.

 

 

 

 

 

 

REQUIREMENT ANALYSIS & SPECIFICATION

 

In this stage the requirement of the developed software are established. These are usually the services it will provide its constraints and the goals of the software. Once these are established they have to be defined in such a way that they are usable in the next state.

            

 

 

 

 

                    DESIGN:

 

In this stage the established requirement are converted in such a way that they can be readily transformed computer programs.

 

 

 

     IMPLEMENTATION AND UNIT TESTING:

 

This is stage where the computer programs are created. Each program is called a unit and unit testing is the verification that every unit meets its specification.

 

 

 

 

INTEGRATION AND SYSTEM TESTING

 

All the units are combined and now the whole is tested. When the combined programs are successfully tested, the software product is finished.

 

 

 

          

             MAINTENANCE

 

It means the hardware and software maintenance of the software. 

 

 

 

                                 TESTING

 

After completing program coding, the program testing begins. Testing a program consists of providing the program with a set of inputs and observing if the program behaves as expected. If the program fails to debugging and corrections. There are some terms which are associated with testing: failure, fault, test suit etc.

 

 

 

 

The objective of testing are:

 

·       To execute the program with the intention of finding error.

·       To generate a good test case, this has a high probability of an as yet undiscovered error.

 

·       Successful test is one that uncovers an  undiscovered error.

·       Our objective is to design cases which facilitate the systematic focus on different classes of errors and uncover it with a Minimum amount of time and effort.

 

·       Another benefit of testing is demonstrate that software works according to specification.

 

Test case design:

 

Test cases are designed by the following two cases.

 

 BLACKBOX TESTING

It focuses on the functional requirements of the software. That is BBT enables us to sets of input condition that will fully exercise all functional requirements for a program. By using BBT we attempt to find the following class of errors:

 

·       Incorrect or missing functions

·       Interface errors.

·       Errors in data structures

·       Performance errors.

·       Initialization and termination errors.

 

WHITE BOX TESTING

It is the test case design method that uses the control structure of the procedural design to derive test cases. Using this method we aim to derive test cases that will serve the following purposes:

·       Guarantee that independent paths within a module have

been exercised at least once.

·       Exercise all logical decisions on their true and false sides.

·       Exercise all loops at their boundary and within operational bounds.

·       Exercise internal data structure to assure their validity.

 

GUITESTING

 

As the project uses graphical user interface, and the modern GUI has the same look and feel, thus a series of standard test can be performed to test the graphical user interface. The following questions are used as guidelines for GUI testing:

     

·       Will all the web pages open properly based on related keyboard or menu based command buttons?

·       Can web pages be resizes, moved and scrolled  properly?

·       Are all the functions that are related to a particular web page available and operational?

·       Does the web page appear properly in sequence?

 

 

 

Testing strategies followed in this project are:

 

Front-end GUI testing

 

The GUI tool has been extensively put to the test by innumerable developers, Still some amount of GUI testing buttons and mouse operations etc.

Actually testing was done to check the visual appearance of the web pages.

 

Back-end database testing

 

Tests are done to check whether the ASP data entry modules have been successful to insert update, and delete data into relevant tables. Also we check all the triggers are working properly or not.

                 

                 

 

 

                 VALIDATION CHECKS

 

System validation checks the quality of the software in both simulated and live (i.e., real-life) environments. It ensures that the customer can in fact match his/her claims, especially system performance. True validation is verified by having each system demonstrated.

Validation checks whether a particular product satisfies user requirements. The WEBSITE checks validation of the user by checking the username and password.

          The persons who want to update the records are also first provided the username and password in the website.

 

 

Several levels of validation are offered by our project. They are as follows:

  1. A new user has to get him self registered to the site. Existing users have to provide their user-id and passwords which is validated then access is granted.

2. An administrator has to provide his own user-id and password in order to use the special authorities granted to him

 

 

 

 

 

ATTRIBUTES OF THE SOFTWARE

 

Reliability

 

 The amount of time that the software is available for use as indicated by the following

  sub attributes:

·       Maturity.

·       Fault tolerance.

·       Recoverability.

 

Usability

 

 The degree to which the software is easy to use as indicated by the following sub attributes:

·       Understandability.

·       Learn ability.

·       Operability.

 

Portability

 

The case with which the software can be transposed from one environment to the other as indicated by the following sub attributes:

·       Adaptability.

·       Install ability.

·       Conformance.

·       Replace ability.

In this case of our project it can be installed on a LAN where at least one machine

has operating system windows XP,ME,98,95  and we can call that machine as server and the others are clients.

 

Reusability

The extent to which a program or parts of it reused in other applications defines

its reusability.

 

Interoperability

It is defined as the effort required coupling one system to another.

 

 

 

       EVALUATION OF THE SOFTWARE

 

 

Before selecting software, our first task to analyze the requirements of the software after initial selection, further scrutiny is needed to determine the desirability of the particular s/w compared with others. From the above point of view, we have chosen XML as database management system and ASP for developing the front-end. Evaluation of the system is to done to find it out its strengths and weaknesses.

 

MAINTENANCE OF THE SOFTWARE

 

Maintenance can be classified as follows:

    

·       Corrective

·       Adaptive.

·       Perfective.

1 The first one is repair performance failures or making to the existing system because of previously uncorrected failures. In the previous existing system there was no scope of platform  of independence. This fault was removed using ASP, HTML as front-end GUI. Maintaining ASP&XML program is easy and the object oriented approach of XML makes it easy to rectify problems in a particular frame.

2 Adaptive maintenance means changing the program functions. ASP is a fast developing language and flexible enough to incorporate new technologies.

3   Perfective maintenance indicates to the enhancements of system.

 

 

 

SECURITY OF THE SOFTWARE

 

Security must be implemented to prevent the information from being lost or to prevent Invalid or unscrupulous user from tampering critical information like details of the agriculture, details of the users etc. This is done by

1. Nobody is given the permission to access the system until he/she is passed the authentication process. Any user wishing to view the contents of the site has to the first register to the site. Any existing user has to provide the user-id and password in order to enter the site. The user-id and password is validated against the contents of a member-table. Each user is given a member-id which is unique for every member.

2. Existing users can only view the necessary documents of the other members but cannot alter or modify them. He however can update or alter his personal details after passing through the authentication process.

3. Common users have limited facility when they access the website.

4. Administrators however are certain authorities. They can enter new information, update database details and also refresh records.

 

 

 

LIMITATION OF THE SOFTWARE

 

In our software has some limitations are listed below

1. Due to use of XML as a database, the database does not work so fast than other database server like ORECLE, SQL, Microsoft Access etc.

2. In some operating systems, like WINDOWS XP, where the system security is high, some time the XML data base not work properly, that’s means operating system prevent from updating files. Since the XML document is saved as text file and the modifications are not allowed by the operating system, that’s why the INSERT or DELETE any XML document is interfered and hence disturbed.

3. This is basically 2-tier architecture not maintain 3-tier architecture.

 

 

 

FUTURE SCOPE OF THE SOFTWARE

 

 

1.    In future we can design more interactive pages in the website which will give more information.

2.    We can provide an option of selling the agricultural product in future .

3.    The manual accessing information of the agriculture is time consuming. It can be done easily through web-based applications.