Visual C++ Program for the Implementation of Dictionary Management System | IT1253 - Software Engineering Laboratory


ABSTRACT:
This project implements the Dictionary. It is an application that maintains all the words and corresponding meanings. The current system makes use of dictionary in the form of book to refer to a word at any time. All the words are accessed manually. While referring to the book it becomes very difficult to view the particular word. Moreover it is very much essential to be aware of all records. This proposed system application uses MS ACCESS as the database tool and C language as front end tool. Information recorded automatically updated into the database in prior. The objectives of this proposed system is to reduce tediousness. The input to the application is the word for which meaning is to be known. The output is the word, its meaning along with description.

REQUIREMENT ANALYSIS:
      It results in the specification of software’s operational characteristics, indicates software’s interface with other system elements and establishes constraints that
software must meet. The aim of analysis is to understand the problem with a view to eliminate any deficiencies in the requirement specification such as incompleteness, Inconsistencies, etc. The model which we are trying to build may be or may not be ready.
 
OVERALL OBJECTIVES AND PHILOSOPHY:

 USER REQUIREMENT:
•    A word is given as input
•    The meaning of the word along with its description is displayed.

 DEVELOPER REQUIREMENT:
•    Meaning of  words
•    Descriptions of words

SOFTWARE REQUIREMENT SYSTEM (SRS):

FUNCTIONAL REQUIREMENT:
The functional requirements of a system mainly comprises of the following strategies:

•    Get the word given by the user.
•    Display the meaning and description if the word entered.
The software requirements of the application are:

•    FRONT END: VC++
•    BACK END: MSACCESS
•    DRIVER: ODBC

The hardware requirements of the application are:
•    INTEL PENTIUM 3
•    MINIMUM 128 RAM

GOAL OF IMPLEMENTATION:
The primary goal of this application is to maintain a perfect record of the auctioneers who have auctioned the properties at different places. This is achieved by the above mentioned requirements.

DESIGN:
Software design deals with transforming the customer requirements, as described in the SRS document, into a form (a set of documents) that is suitable for implementation in a programming language. A good software design is seldom arrived by using a single step procedure but rather through several iterations through a series of steps. Design activities can be broadly classified into two important parts:

•    Preliminary (or high-level) design and
•    Detailed design.

     The aim of design is to produce a model that will provide a seamless transition to the coding phase, i.e. once the requirements are analyzed and found to be satisfactory, a design model is created which can be easily implemented.

Characteristics of a good software design

The characteristics are listed below:
•    Correctness: This application has got a perfect design that which correctly implement all the functionalities identified in the SRS document.
•    Understandability: our application is easily understandable.

•    Efficiency: our application is highly efficient.

•    Maintainability: It is easily amenable to change.

Data Flow Diagram (Level 0)


 Component Description:

Entity Relationship Diagram:

Component Description:

TESTING:
Testing a program consists of providing the program with a set of test inputs (or test cases) and observing if the program behaves as expected. If the program fails to behave as expected, then the conditions under which failure occurs are noted for later debugging and correction.

Unit testing:
Unit testing is undertaken after a module has been coded and successfully reviewed. Unit testing (or module testing) is the testing of different units (or modules) of a system in isolation.
In order to test a single module, a complete environment is needed to provide all that is necessary for execution of the module. That is, besides the module under test itself, the following steps are needed in order to be able to test the module:

• The procedures belonging to other modules that the module under test calls.

• Non local data structures that the module accesses.

 • A procedure to call the functions of the module under test with appropriate parameters

System testing:
System tests are designed to validate a fully developed system to assure that it meets its requirements.
There are essentially three main kinds of system testing:
• Alpha Testing. Alpha testing refers to the system testing carried out by the test   team within the developing organization.
• Beta testing. Beta testing is the system testing performed by a select group of friendly customers.
• Acceptance Testing. Acceptance testing is the system testing performed by the customer to determine whether he should accept the delivery of the system.


SOURCE CODE:

#include<windows.h>
#include<sqlext.h>
#include<stdio.h>
#define TEST_LEN 50
int main()
{
    char ch='y';
    SQLCHAR word[TEST_LEN+1],description[TEST_LEN+1],synonym[TEST_LEN+1];
    HENV hEnv=NULL;
    HDBC hDBC=NULL;
    HSTMT hStmt=NULL;
    UCHAR szSqlStr[]="select * from oxford  where  word=?";
    UCHAR szDSN[SQL_MAX_DSN_LENGTH]="deepa";
    UCHAR  *szUID=NULL;
    UCHAR *szpasswd=NULL;
    UCHAR szModel1[128];
    UCHAR szModel2[128];
    UCHAR szModel3[128];
    SDWORD cbModel1;
    SDWORD cbModel2;
    SDWORD cbModel3;
    SDWORD cbtest=SQL_NTS;
    RETCODE  retcode;
    printf("\n\t\t*************************\n");
    printf("\n\t\t  WELCOME TO DICTIONARY  \n");
    printf("\n\t\t*************************\n");
    do
    {
        SQLAllocEnv(&hEnv);
        SQLAllocConnect(hEnv,&hDBC);
        retcode=SQLConnect(hDBC,szDSN,SQL_NTS,szUID,SQL_NTS,szpasswd,SQL_NTS);
        if(retcode==SQL_SUCCESS||retcode==SQL_SUCCESS_
                                   WITH_INFO)
        {
            retcode=SQLAllocStmt(hDBC,&hStmt);
            retcode=SQLPrepare(hStmt,szSqlStr,sizeof(szSqlStr));
            SQLBindParameter(hStmt,1,SQL_PARAM_INPUT,SQL_C_CHAR
                        SQL_C_CHAR,TEST_LEN,0,word,0,&cbtest);
            SQLBindParameter(hStmt,3,SQL_PARAM_INPUT,SQL_C_CHAR,
                        SQL_C_CHAR,TEST_LEN,0,description,0,&cbtest);
            SQLBindParameter(hStmt,2,SQL_PARAM_INPUT,SQL_C_CHAR,
                     SQL_C_CHAR,TEST_LEN,0,synonym,0,&cbtest);
            printf("\n ENTER THE WORD\n");
            scanf("%s",&word);
            retcode=SQLExecute(hStmt);
    SQLBindCol(hStmt,1,SQL_C_CHAR,szModel1,sizeof(szModel1),&cbModel1);
    SQLBindCol(hStmt,2,SQL_C_CHAR,szModel2,sizeof(szModel2),&cbModel2);
    SQLBindCol(hStmt,3,SQL_C_CHAR,szModel3,sizeof(szModel3),&cbModel3);
    retcode=SQLFetch(hStmt);
    if(retcode==SQL_SUCCESS||retcode==SQL_SUCCESS_WITH_INFO)
    {
        printf("\nWORD:%s\n\nSYNONYM:%s\n\nDESCRIPTION:%s\n\n",szModel1,
        szModel3,szModel2);
        retcode=SQLFetch(hStmt);
    }
    else
        {
            printf("Sorry the word is not present");
        }
    }
        flushall();
        printf("\n DO YOU  WANT TO  CONTINUE[y/n]");
        scanf("%s",&ch);
    }while(ch=='y');
    return 0;
}

OUTPUT:


CONCLUSION:
             The  project we have done here is “DICTIONARY MANAGEMENT SYSTEM” using  c language.In this project we have designed a software to implement the customer details that any user can perform it in a simple and a better way. This way of format helps us to have clear database.
Previous
Next Post »

Still not found what you are looking for? Try again here.