Visual C++ Program for the Implementation of Resume Builder System | IT1253 - Software Engineering Laboratory


ABSTRACT:
This project implements the resume builder. It is an application that maintains all the details of the person. Here the records of the persons. The current system makes use of notebooks or files to maintain the whole details regarding every person. All the records are entered and accessed manually. While maintaining the details in notebooks or files it becomes very difficult to view the particular record details. Moreover it is very much essential to be aware of all records. This proposed system application is used MS ACCESS as the database tool and C language as front end tool. Information recorded automatically updated into the database accordingly to the data needs. The objectives of this proposed system are to have the permanent details of resumes of persons created. The input to the application is the details specified by the person when creating the resume. The output is the details that are collected from the user and are given out.

REQUIREMENTS 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:
•    Create  the  resume
•    The resume can be delete
•    The details given by user the is displayed in the resume format.

DEVELOPER REQUIREMENT:
•    Personal  details of the user
•    Educational details of the user
•    Technical  skills of the user
•    Contact details of the user
•    Software and hardware requirements as mentioned above.

SOFTWARE REQUIREMENT SYSTEM (SRS):

FUNCTIONAL REQUIREMENT:
The functional requirements of a system mainly comprises of the following strategies:
•    Get the details which are given by the user.
•    Delete a particular resume using the id number.
•    Display a particular resume using the id number.
The software requirements of the application are:
•    FRONTEND: VC++
•    BACKEND: 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.

• Nonlocal 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<sql.h>
#include<stdio.h>
#define TEST_LEN 50
int main()
{
    int c;
    char ch='y';
    SQLINTEGER id_no,contactno;
SQLCHAR name[TEST_LEN+1], fname[TEST_LEN+1], dob[TEST_LEN+1], basiceducation[TEST_LEN+1], technicaleducation[TEST_LEN+1], address[TEST_LEN+1],
experience[TEST_LEN+1], technicalskills[TEST_LEN+1], interests[TEST_LEN+1],
 objective[TEST_LEN+1];
    HENV hEnv=NULL;
    HDBC hDBC=NULL;
    HSTMT hStmt=NULL;
UCHAR szSqlStr[]="insert into optimist1(id_no,name,fname,dob,address,contactno,objective, basiceducation,technicaleducation,experience,technicalskills,interests)
values(?,?,?,?,?,?,?,?,?,?,?,?)";
    UCHAR szSqlStr1[]="delete * from optimist1 where id_no=?";
    UCHAR szSqlStr2[]="select * from optimist1 where id_no=?";
    UCHAR szDSN[SQL_MAX_DSN_LENGTH]="devi";
    UCHAR *szUID=NULL;
    UCHAR *szPasswd=NULL;
    UCHAR szModel1[128];
    UCHAR szModel2[128];
    UCHAR szModel3[128];
    UCHAR szModel4[128];
    UCHAR szModel5[128];
    UCHAR szModel6[128];
    UCHAR szModel7[128];
    UCHAR szModel8[128];
    UCHAR szModel9[128];
    UCHAR szModel10[128];
    UCHAR szModel11[128];
    UCHAR szModel12[128];
    SDWORD cbModel1;
    SDWORD cbModel2;
    SDWORD cbModel3;
    SDWORD cbModel4;
    SDWORD cbModel5;
    SDWORD cbModel6;
    SDWORD cbModel7;
    SDWORD cbModel8;
    SDWORD cbModel9;
    SDWORD cbModel10;
    SDWORD cbModel11;
    SDWORD cbModel12;
    SDWORD cbtest=SQL_NTS;
    RETCODE retcode;
    do
    {
        printf("\t\t.........................\n");
        printf("\t\t RESUME BUILDER");
        printf("\n\t\t.........................\n");
        printf("\n1.Entry Module \n2.Cancellation Module \n3.Display Module");
        printf("\nEnter your option:");
        scanf("%d",&c);
        switch(c)
        {
        case 1:
            printf("\nEntry Module\n");
            printf("\n\nEnter the id_no:");
            scanf("%d",&id_no);
            printf("\nEnter the name:");
            scanf("%s",&name);
            printf("\nEnter the father name:");
            scanf("%s",&fname);
            printf("\nEnter the Date of Birth:");
            scanf("%s",&dob);
            printf("\nEnter the address:");
            scanf("%s",&address);
            printf("\nEnter the contact no:");
            scanf("%d",&contactno);
            printf("\nEnter the objective:");
            scanf("%s",&objective);
            printf("\nEnter the basic education:");
            scanf("%s",&basiceducation);
            printf("\nEnter the technical education:");
            scanf("%s",&technicaleducation);
            printf("\nEnter the experience:");
            scanf("%s",&experience);
            printf("\nEnter the technical skills:");
            scanf("%s",&technicalskills);
            printf("\nEnter the interests:");
            scanf("%s",&interests);
            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_LONG,
SQL_INTEGER,1,0,&id_no,0,&id_no);
            SQLBindParameter(hStmt,2,SQL_PARAM_INPUT,SQL_C_CHAR,
SQL_CHAR,TEST_LEN,0,name,0,&cbtest);
            SQLBindParameter(hStmt,3,SQL_PARAM_INPUT,SQL_C_CHAR,
SQL_CHAR,TEST_LEN,0,fname,0,&cbtest);
            SQLBindParameter(hStmt,4,SQL_PARAM_INPUT,SQL_C_CHAR,
SQL_CHAR,TEST_LEN,0,dob,0,&cbtest);
            SQLBindParameter(hStmt,5,SQL_PARAM_INPUT,SQL_C_CHAR,
SQL_CHAR,TEST_LEN,0,address,0,&cbtest);
            SQLBindParameter(hStmt,6,SQL_PARAM_INPUT,SQL_C_LONG,
SQL_INTEGER,1,0,&contactno,0,&contactno);
            SQLBindParameter(hStmt,7,SQL_PARAM_INPUT,SQL_C_CHAR,
SQL_CHAR,TEST_LEN,0,objective,0,&cbtest);
            SQLBindParameter(hStmt,8,SQL_PARAM_INPUT,SQL_C_CHAR,
SQL_CHAR,TEST_LEN,0,basiceducation,0,&cbtest);
            SQLBindParameter(hStmt,9,SQL_PARAM_INPUT,SQL_C_CHAR,
SQL_CHAR,TEST_LEN,0,technicaleducation,0,&cbtest);
            SQLBindParameter(hStmt,10,SQL_PARAM_INPUT,SQL_C_CHAR,
SQL_CHAR,TEST_LEN,0,experience,0,&cbtest);
            SQLBindParameter(hStmt,11,SQL_PARAM_INPUT,SQL_C_CHAR,
SQL_CHAR,TEST_LEN,0,technicalskills,0,&cbtest);
            SQLBindParameter(hStmt,12,SQL_PARAM_INPUT,SQL_C_CHAR,
SQL_CHAR,TEST_LEN,0,interests,0,&cbtest);
            retcode=SQLExecute(hStmt);
            printf("\nResume is inserted\n\n");
            }
            break;
        case 2:
            printf("\nCancellation module\n");
            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,szSqlStr1,sizeof(szSqlStr1));
            SQLBindParameter(hStmt,1,SQL_PARAM_INPUT,SQL_C_LONG,
SQL_INTEGER,1,0,&id_no,0,&id_no);
                printf("\nEnter the  ID NO: ");
                scanf("%d",&id_no);
                retcode=SQLExecute(hStmt);
                printf("\nResume is deleted\n\n");
            }
            break;
        case 3:
            printf("\nDisplay module\n");
            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,szSqlStr2,sizeof(szSqlStr2));
                SQLBindParameter(hStmt,1,SQL_PARAM_INPUT,SQL_C_LONG,
SQL_INTEGER,1,0,&id_no,0,&id_no);
                printf("\nEnter the  ID NO: ");
                scanf("%d",&id_no);
                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);
            SQLBindCol(hStmt,4,SQL_C_CHAR,szModel4,sizeof(szModel4),&cbModel4);
            SQLBindCol(hStmt,5,SQL_C_CHAR,szModel5,sizeof(szModel5),&cbModel5);                SQLBindCol(hStmt,6,SQL_C_CHAR,szModel6,sizeof(szModel6),&cbModel6);
            SQLBindCol(hStmt,7,SQL_C_CHAR,szModel7,sizeof(szModel7),&cbModel7);
            SQLBindCol(hStmt,8,SQL_C_CHAR,szModel8,sizeof(szModel8),&cbModel8);
            SQLBindCol(hStmt,9,SQL_C_CHAR,szModel9,sizeof(szModel9),&cbModel9);
        SQLBindCol(hStmt,10,SQL_C_CHAR,szModel10,sizeof(szModel10),&cbModel10);
        SQLBindCol(hStmt,11,SQL_C_CHAR,szModel11,sizeof(szModel11),&cbModel11);
        SQLBindCol(hStmt,12,SQL_C_CHAR,szModel12,sizeof(szModel12),&cbModel12);
                retcode=SQLFetch(hStmt);
                if(retcode==SQL_SUCCESS||retcode==SQL_SUCCESS_WITH_INFO)
                {
printf("\n\nNAME :%s\n\nFATHER NAME :%s\n\nDATE OF BIRTH :%s\n\nADDRESS :%s\n\nCONTACT NO :%s\n\nOBJECTIVE :%s\n\nBASIC EDUCATION :%s\n\nTECHNICAL EDUCATION :%s\n\nEXPERIENCE :%s\n\nTECHNICAL SKILLS :%s\n\nINTERESTS:%s\n\n",szModel2, szModel3,szModel4,szModel5,szModel6,szModel7,szModel8,szModel9,szModel10,szModel11,szModel12);
                    retcode=SQLFetch(hStmt);
                }
            else
            {
                printf("\n Sorry the record is not found\n\n");
            }
            }
            break;
        }
        flushall();
        printf("\nDo you want to continue?(y/n):");
        scanf("%s",&ch);
    }
    while(ch=='y');
    return 0;
    }

OUTPUT:

ENTRY  MODULE:

CANCELLATION  MODULE:


DISPLAY  MODULE:

CONCLUSION:
       This automated resume builder application is successfully automated with the mentioned software and hardware requirements. The records that are entered in are automatically updated in the database with the ODBC driver. In future the application can be improved by including a module for updating the resume and also retrieval can be done using name instead of id number. The above mentioned testing techniques are also performed and our application is finally deployed to our customers. The maintenance of resume builder system wholly depends on the customer’s risk.
Previous
Next Post »

1 comments:

Write comments
Anonymous
AUTHOR
October 19, 2013 at 2:35 PM delete

Thanks for shearing this blog about CV Builder. it is very helpful blog for career

Reply
avatar

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