Dissertation Report

A Report submitted In partial fulfillment of the award of the degree of

B.C.A Session 2007-2010

Submitted by: ARIBA NAJIB 2007-301-027 Under the guidance of Mrs.Farheen Siddiqui (Assistant Professor) Faculty of Computer Science

Department of Computer Science JAMIA HAMDARD New Delhi


I hereby declare that the minor project work entitled WILDLIFE CONSERVATION MANAGEMENT SYSTEM submitted for the BCA (3yrs course) is my original work carried out by me under the guidance of Mrs.Farheen Siddiqui for the partial fulfillment of the award of the degree of the Bachelor of Computer Applications. The matter embodied in this report has not been submitted anywhere else for the award of any other degree/diploma.

Place: New Delhi. Date: 15th April 2010

Signature of the candidate




I would like to thanks to all my guides who really acted as pillars to help my way throughout this project that has led to successful and satisfactory completion of this project. Firstly I would like to thank my project incharge Mrs.Farheen Siddiqui under whose able guidance and motivation this work has been performed. The inspiration of the faculty members of the Computer Science Department of JAMIA HAMDARD enabled me to make a thorough study of this subject.

NAME -Ariba Najib ENROLL.NO. - 2007-301-010


It thus helps in creating awareness about the endangered fauna in India.deals basically with the information about endangered and non-endangered species of birds and animals living in sanctuaries and national parks respectively. The proposed system can manage all drawbacks of the existing manual system.ABSTRACT The project. modifying. The complete information about various animals is available at the click of the mouse via this project. cell ID where it is being kept. Each record of the particular bird or animal contains entire information and details including its name. zoo keeper’s name and likewise. 4 . WILDLIFE CONSERVATION MANAGEMENT SYSTEM . The project also helps in adding. deleting and displaying records related to animals and birds categorized either as endangered or non-endangered species.

Diagram 10.1 Data Flow Diagram 10.3 Data Dictionary 10.4 Tools to be used Documentation Output System Testing Implementation Conclusion Scope References 14 15 16 17 18 19 20 23 25 27 28 42 49 52 53 54 55 9 10 11 12 13 14 15 16 17 5 .2 Actual Process System Design 10.Sno. Table of Contents Page No.2 E. 1 2 3 4 5 6 7 List of Abbreviations List of figures List of tables Introduction Objective Problem Selection System Study 6 7 8 9 10 11 12 8 Cost Benefit 8.1 benefit category Project monitoring System 9.R.1 PERT Chart 9.

List of Abbreviations Sno. 1 2 3 4 5 6 Abbreviations Rec RA Ackn Prg H/w S/w Word Records Requirement Analysis Acknowledgment Programs Hardware Software 6 .

21 2.1.No. Table No. 3. 10. 1.1.0 22 Entity-Relationship 24 Diagram 7 .2 10.2 Level 1 DFD for Process 1. 10.1 Description of table Context level diagram of wildlife conservation management system Page No.List of Figures S.

2. 26 26 8 . 1. 10.1 10.no.List of Tables s.DAT ZOO_DB2.2.2.2 Description of table ZOO_DB1. Table no.DAT Pageno.

Due to this. there were many problems that occurred. We are in an era of change and can do away with all the obstacles of the current prevailing system. manual system takes a large amount of time for processing queries generated by the user. there is also a possibility of inconsistency. IT industry is an industry which brings changes in the working environment of our society in a convenient and efficient way. While studying and analyzing the working of this system. i. There is a possibility of duplicity of data in manual system. IT industry is flourishing and has its scope in relatively all the fields. Manual system is difficult to operate.INTRODUCTION Today. These problems are:      Manual system is a time consuming system.e. 9 . It uses more man power. It is more costly.

The manipulation of record is successful if it is done to all the duplicate records.OBJECTIVES OF THE PROJECT The main objective of the WILDLIFE CONSERVATION MANAGEMENT SYSTEM is to perform all the functions or operations accurately and correctly. it is very difficult to handle the database  Update Problem:.In the existing system.  10 .   Deletion problem: . For example. updating or deleting of records is limited to the speed of operator. then there is a possibility of inconsistency of data. and there is only one record is updated and then there is a problem in query handling. It doesn’t enforce any constraint over the user while inputting data in the table. Due to this. false information in the table. there is need of extra storage space and person who maintains the registers of records. It overcomes all the problems that we have in our existing system. our database becomes lengthy and difficult to maintain. Apart from the duplication and updation problem. The process of inserting. Our existing system is as follows:  Duplication of data: . The user may enter irrelevant. In our new computerized record keeping system. there is another problem which is that our existing system is very slow. which may lead to irrelevant or false data.If a product data is to be deleted from the database and if the table has duplicate records than the entire duplicate records have to be deleted and the practical implementation of this is not possible. there is a possibility of duplication of records. if a record is entered in the table twice.Duplication of data means that the same record was repeated a number of times.The updation problem is further categorized into three category: Insertion Problem: . inconsistency of record. And maintaining registers or papers is very difficult. There are more chances of losing the records during handling them. If there is duplication of data. domains are specified that enforces the user to input valid data. For example. Due to the above problem. the user can enter the incorrect data in the table. Manipulation Problem: . That result inaccuracy..

11 . Therefore the requirements of the project are as follows:  Greater storage capacity.  Greater processing speed of input and output operations  More reliable and consistent procedure to eliminate errors in handling day to day processing. Maintaining these files requires a lot of space as well as lot of man power.PROBLEM SELECTION The existing system in the companies is manual where all the work is done manually by entering the records in the various files and folders. Also there is a possibility of duplicacy of data and data inconsistency.

if any. This people oriented test measures the urgency of the problem or the acceptability of a solution i.SYSTEM STUDY System Study is to measure that how beneficial or practical the development of an information system will be to an organization. FEASIBILITY STUDY A feasibility study is undertaken to determine the possibility of either improving the existing system or developing a completely new system. PIECE stands for: P – Performance I – Information E – Economics C – Control E – Efficiency 12 . Is the problem worth solving? PIECE is used as the basis for analyzing the urgency of problem or the effectiveness of a solution. The analyst should determine:  Whether the system can be used if it is developed and implemented?  Will there be resistance from users that will cripple the possible application benefit?  How well the solution will work and how the end-users and staff members feel about the system. The purpose of feasibility study is to determine whether the requested project is successfully realizable. Since the feasibility study may lead to the commitment of large resources. job restructuring and retraining will be needed to implement the system. There are three aspects of feasibility study. It is also known as the Feasibility study.e. This study helps to obtain an overview of the problem and to get rough assessment of whether feasible solutions exist. namely (a) Technical feasibility (b) Economic feasibility (c) Operational feasibility  Operational feasibility Operational feasibility must determines how the proposed system will fit in with the current operations and what. it is important that it is conducted completely and that no fundamental errors of judgement are made.

Technical feasibility determines whether the technology needed for the proposed system is available and how it can be integrated with in the organization. There are mainly two categories/analysis to determine economic feasibility:  Cost category  Benefit category 13 . So this project is new technology. it is necessary to estimate actual money values against any purchase or activities needed to implement the project. It is also necessary to assess money value against any benefits that will accrue from a new system created by the project. Technical feasibility The purpose of assessing technical feasibility is to gain an understanding of the organization’s ability to construct the proposed system.  Economic feasibility The purpose of assessing economic feasibility is to identify the financial benefits and costs associated with the development project. The technical feasibility centers on the existing computer system and to what extent it can support the proposed system. Technical evaluation must also assess whether the staff have the technical expertise to assimilate and use the new technology. Economic feasibility is often known as cost-benefits analysis. To carry out an economic feasibility study.  Whether the project can be carried out with the existing equipments? The existing system is manual system where all the work is done manually.

CD’s etc.e. Personnel cost It includes the salaries and wages of analyst. consultants etc. Material cost Conversion cost It includes cost of stationary. programmers. 14 . it includes the cost associated with the day to day operation of the system. paper. Salary may be on hourly basis or the entire salary for the duration of the project.. operators. Operating cost depends on the amount of time taken for a process i. ribbons. It includes the expense to run the system. It includes that of designing new forms and procedures.COST-BENEFITS ANALYSIS Cost Categories Equipment cost Operating cost It includes various items of computing equipment associated with the work. floppies. expenditure to prepare the project for using the new system.

Benefit Categories Performance The criteria emphasize whether the new system has resulted in a marked improvement in the accuracy in access to information. If the new system is efficient with minimum error. Does the new system provide easier and secure access to the authorized user. reduction of staff is a benefit that should be measured and included in cost benefit analysis Minimizing cost 15 .

or milestones in the project linked by labeled vectors (directional lines) representing tasks in the project. A PERT chart presents a graphic illustration of a project as a network diagram consisting of numbered nodes (either circles or rectangles) representing events. and coordinate tasks within a project. 3) Construct a network diagram. 5) Determine the critical path. The direction of the arrows on the lines indicates the sequence of tasks. Arrow is used to represents task. 4) Estimate the time required for each activity. 2) Determine the proper sequence of the activities. organize.PROJECT MONITORING SYSTEM PERT CHART: A PERT chart is a project management tool used to schedule. 6) Update the PERT chart as the process progresses. 16 . The PERT chart process includes following steps: 1) Identifies the specific activitiy and milestone. PERT stands for Program Evaluation Review Technique. Circle represents the beginning or completion of task.

PERT CHART Problem Definition 1 3 System analyze 3 5 Flow chart 4 3 5 4 DFD 2 2 Feasibility study Data Dictionary 2 6 Coding 2 I Testing 7 8 30 Figure 6.2: .PERT chart 17 .

3. Phase Problem Definition Feasibility study System analysis and design Flow Chart DFD Data Dictionary Complete documentation Coding Testing Time Estimate in days 1 5 Actual Time 4 5 3 2 1 10 35 3 3 6 2 11 7 4 Total Number of Hours= 60days* 5 hours = 300 hrs.No 1. 3.2.Actual Process S. 3. 2.1. 5. 3. 4.4. 3. PERT Process 18 . 3.

Software and Hardware Requirement Specification Hardware:     Intel Pentium III processor Minimum 32MB RAM Recommended 256 MB RAM Minimum hard disk 2GB   Software: Windows operating system C complier compatible with the Windows OS 19 .

 Draws the model of new system. the primary objective is to identify user requirements and to build a system that satisfies these requirements. Basically. using data flow diagram & entityrelationship diagrams. The design phase is the second important steps in the system development life cycle.  Works with the user to determine the different data inputs to the system. During this phase the analyst does the following:  Schedules design activities. the design phase concentrates on “how” the system is developed. Design describes a final system and the process by which it is developed.SYSTEM DESIGN In the system design process.  Defines the data requirements with a data dictionary. 20 . It refers to the technical specification that will apply in implementing the candidate system. Identifies and orders any hardware and software that the system design phase would need.  Writes program specifications.

from one process to another process and from one process to external entity. With only four symbols. The Data Flow Diagram (DFD) clarifies system requirements and identifies major transformations that will become programs in system design. The flow is shown as an arrowed line with the arrowhead showing the direction of flow. In fact. It is the starting point of system design that decomposes the requirements specifications down to the lowest level of detail. The Data Flow Diagram (DFD) clarifies system requirements and identifies major transformations that will become programs in system design. The data flow may move from an external entity to a process. flowcharting has been criticized by proponents of structured analysis and structured design because it is too physically oriented. Data flow diagram shows how data travels from one point to another point in the diagram. Data flow diagrams (DFD’s) are not as good as flowcharts for not very useful for depicting purely logical information flows.DATA FLOW DIAGRAMS Data flow diagrams provide a logical model of the system and show the flow of data and the flow of logic involved. 21 . The data flow is given a simple and meaningful descriptive name . you can use data flow diagrams to represent both physical and logical information systems.

22 .

1 LEVEL DFD 23 .

e. An attribute is a property of characteristics of an entity that is of interest to the organization. thing or event of interest to the organization and about which data are captured.An association of several entities in a entity-relation model is called relationship. place. Relationships and their Associated Attributes. Relationship: .ENTITY-RELATIONSHIP DIAGRAM The other tool for problem analysis is the Entity-Relationship Diagram. We use an initial Capital Letters. It is a detailed logical representation of the data for an organization and uses three main constructs. For example. Attributes: Each entity type has a set of attributes associates with it. followed by Lowercase Letters in naming an attribute 24 . 3. 2. an employee is an entity. 1.An entity is a person. stored or processed. i. Data Entities. Entities: . often called as ER Diagram.

DIAGRAM s_type An_ sex anim_age species Species Cellid IS-A num_of_offspring Keeper_nm anim_ history An_name Endangered species Non Endangered species 25 .R.E.

Simply putting data dictionary (DD) is data about data.DATA DICTIONARY A data dictionary is a set of metadata which contains the definition and representation of data elements. It is a Centralized collection of definitions of all data flowing among functions and to or from data stores. tables. From the perspective of a database management system. The data dictionary also defines how much space has been allocated for and / or currently in used by all the schema objects. Most data dictionaries contain different information about the data used in the enterprise. The Data Dictionary for the current system is given below: The proposed WILDLIFE CONSERVATION MANAGEMENT SYSTEM is designed in the next stage following the DFDs and the DD. This will ensure that all these things follow one standard defined in the dictionary. synonyms. clusters. indexes. Data dictionary removes redundancy and inconsistencies. functions. the data table defines all schema objects including views. In terms of the database representation of the data. triggers and many more. a data dictionary is a set of table and views which can only be read and never altered. sequences. packages. procedures. 26 .

DAT Column name anim_history an_name keeper_nm Data type char char char char Int Int Int char Length 50 30 20 2 2 2 4 20 keeper_nm an_sex anim_age char char int 20 an_sex 2 anim_age 2 num_of_offsprings num_of_offsprings int Cellid S_type int char 2 cellid 4 s_type 20 27 .ZOO_DB1.DAT : Column name anim_history an_name Data type char char length 50 30 ZOO_DB2.

28 . Languages to be used Operating System Languages BackHand Application :WINDOWS VISTA :C Programming compatible with OS :RDBMS :multi-User Interactive With RDBMS Data dictionaries should not be confused with data models because the latter usually include more complex relationships between elements of data.Tools/Platform.

29 .DAT" #define TEMP_FILE "TEMP.DAT" #define _OPT_ONE 1 #define _OPT_TWO 2 #define _OPT_THREE 3 #define _CELL_ID_SIZE 4 #define _ANIM_NAME_SIZE 30 #define _ANIM_HIST_SIZE 50 #define _KEEPER_NAME_SIZE 20 struct ZooAnimal { char anim_history[_ANIM_HIST_SIZE]. an_sex[_OPT_TWO].h> #include <dos. an_name[_ANIM_NAME_SIZE].DAT" #define ZOO_MGMT_FILE_2 "ZOO_DB2. int anim_age.h> #include <string. s_type[_KEEPER_NAME_SIZE]. /* //All the Function Prototypes //Actually not required since all the functions are declared before main void DisplayMainMenu(void). }. num_of_offsprings. void DisplayWildMgmtSystemMenu(void). keeper_nm[_KEEPER_NAME_SIZE]. cellid[_CELL_ID_SIZE].h> //standard input output //console input output //for all screen related functions //for exit function //for string related functions //The name of file which stores the information about the ZOO Animals #define ZOO_MGMT_FILE_1 "ZOO_DB1.h> #include <stdlib.h> #include <conio.CODING //Include Header Files #include <stdio.

10). textcolor(9). int iUserMenuChoice). void DisplayAnimalInfo(FILE *fp.EXIT"). /* To Display Main menu */ gotoxy(26. void ModifyAnimalInfo(FILE *fp). gotoxy(55.8). void AddAnimal2DB(FILE *fp).14). void DeleteAnimalInfo(FILE *fp.40). /* To Display date and time */ cprintf("DATE : %s ". cprintf("1. cprintf("TIME : %s ". textcolor(19). gotoxy(30. gotoxy(30. int iUserMenuChoice). textcolor(9). gotoxy(30.12).__TIME__). */ //================================================================ ============= //Function Name DisplayMainMenu() // //Description This function Displays the main menu // //Parameter NONE // //================================================================ ============= void DisplayMainMenu(void) { clrscr().__DATE__).ENDANGERED SPECIES CONSERVATION SYSTEM").void ExitTheSystem(void). gotoxy(8. textcolor(9). /* Main menu */ cprintf("WILDLIFE CONSERVATION MANAGEMENT SYSTEM"). cprintf("2.NON ENDANGERED SPECIES SUPPORT SYSTEM"). } //DisplayMainMenu //================================================================ ============= 30 . cprintf("3.45). textcolor(9).45). cprintf("WILDLIFE CONSERVATION MANAGEMENT SYSTEM "). gotoxy(30.

45).28). gotoxy(30.//Function Name DisplayWildMgmtSystemMenu() // //Description This function display the operation of Wild Mgmt System // //Parameter NONE // //================================================================ ============= void DisplayWildMgmtSystemMenu(void) { gotoxy(23.EXIT").45).42). textcolor(19).MODIFY").ADD ").10). gotoxy(55. cprintf("TIME : %s ". gotoxy(30. gotoxy(30.12).16). } //DisplayWildMgmtSystemMenu //================================================================ ============= //Function Name ExitTheSystem() // //Description This function simply exit the system using exit function // //Parameter NONE // //================================================================ ============= void ExitTheSystem(void) { /* To exit from the system */ gotoxy(30. cprintf("DATE : %s ".DELETE").14). textcolor(4). cprintf("3. cprintf("WILDLIFE CONSERVATION MANAGEMENT SYSTEM"). cprintf("4. cprintf("5. 31 .__TIME__). gotoxy(30. cprintf("2. cprintf("1.DISPLAY"). textcolor(19).__DATE__). gotoxy(30.18). textcolor(4). gotoxy(8.

//Checking for unique id while(fread(&animal_info.fp)==0) { //Take the File Pointer to the end of the file fseek (fp. 1. //To add a record LBL_CELL_ID: printf("\n\n\n\t\tENTER CELL ID( 3 DIGIT NO. } //ig } //while if (fread(&animal_info. printf("WILDLIFE CONSERVATION MANAGEMENT SYSTEM").cell_id)==0) { textcolor(4).): ").0.SEEK_END).cprintf("SYSTEM SHUTTING DOWN"). exit(0).cell_id). goto LBL_CELL_ID.42). printf("\n\t\tTHE CELL ID ALREADY EXISTS!!!!!\n"). int record_size = sizeof(animal_info).record_size. //init with null int isvalid = 0.1.cellid. 32 . rewind(fp). } //ExitTheSystem //================================================================ ============= //Function Name AddAnimal2DB() // //Description This function add the animal info to file // //Parameter File Pointer // //================================================================ ============= void AddAnimal2DB(FILE *fp) { struct ZooAnimal animal_info. char cell_id[_CELL_ID_SIZE] = {0}. scanf("%3s". record_size. gotoxy(8. sleep(3). fp)==1) { if(strcmp(animal_info.

if(strlen(animal_info. LBL_ANML_AGE: printf("\n\t\tENTER ANIMAL AGE : ").an_name)<3) goto LBL_ANML_NAME.an_sex).an_sex)>1) // goto LBL_ANML_SEX. LBL_ANML_CHILD: printf("\n\t\tENTER NO.//Copy the Input cell id to animal info strcpy(animal_info. scanf("%s". LBL_ANML_SEX: while (isvalid != 1) { char dump.animal_info.f]".an_name). if(animal_info. LBL_KEEPER_NAME: printf("\n\t\tENTER KEEPER'S NAME: ").animal_info.cellid. isvalid = scanf("%[M. animal_info.s_type)<3) goto LBL_S_TYPE. scanf("%s".an_name)>30 || strlen(animal_info. printf("\n\t\tENTER SEX [M/F] : ").F.&animal_info.keeper_nm). scanf("%d".m.animal_info.num_of_offsprings).&animal_info. if(strlen(animal_info.anim_age<0||animal_info.s_type)>20 || strlen(animal_info.anim_age>100) goto LBL_ANML_AGE. LBL_S_TYPE: printf("\n\t\tENTER SPECIES TYPE : "). LBL_ANML_NAME: printf("\n\t\tENTER ANIMAL NAME : "). OF OFFSPRING: ").cell_id). scanf("%s". 33 .s_type).anim_age). while((dump = getchar()) != '\n' && dump != EOF) { } } // if(strlen(animal_info. scanf("%d".

//Display according to Main menu gotoxy(0. On error returns EOF */ fflush(stdin).20). rewind(fp).fp).record_size. 34 . //init with null int isExists = 0. printf("\n\n\n\t\tENTER CELL ID: ").use '_'): ").LBL_ANML_DETAILS: printf("\n\t\tANIMAL DETAILS(IF ANY)\n\t\t(Don't leave space. //Searching and displaying all the information by id textcolor(7). } //if } //AddAnimal2DB //================================================================ ============= //Function Name DisplayAnimalInfo() // //Description This function display the animal info from the file // //Parameter File Pointer and user choice // //================================================================ ============= void DisplayAnimalInfo(FILE *fp.anim_history).cell_id)==0) { isExists = 1. clrscr(). char cell_id[_CELL_ID_SIZE] = {0}. int record_size = sizeof(animal_info).animal_info. //Write the input information to the file fwrite(&animal_info.record_size.fp)!=0) { if(strcmp(animal_info. scanf("%s".cellid.anim_history)>50) goto LBL_ANML_DETAILS.1. /*Flushes a stream On success returns 0 .cell_id). if(strlen(animal_info.1. scanf("%s". int iUserMenuChoice) { struct ZooAnimal animal_info. while(fread(&animal_info.

animal_info.an_sex).an_name).strupr(a nimal_info.nu m_of_offsprings.cellid). printf("\n\n CELL ID : %s\n KEEPER's NAME : %s\n ANIMAL's NAME : %s\nSPECIES TYPE:%s\n ANIMAL's SEX: %s\n ANIMAL's AGE : %d \n OFFSPRING NO.strupr(animal_info.an_name).strupr(animal_info.s_type).anim_age. } //if getch().strupr(animal_info.strupr(animal_info. : %d\n\n ANIMAL DETAILS: %s".strupr(animal_info.an_name)).strupr(animal_info.str upr(animal_info.keeper_nm). printf("\n__________________________________________________________________ ___\n\n").an_name)).s_type).anim_age. printf("\n__________________________________________________________________ ___\n\n"). strupr(animal_info. : %d\n\n ANIMAL/BIRD DETAILS: %s"."). strupr(animal_info. printf("\n__________________________________________________________________ ___\n\n").anim_history)).//ENDANGERED SPECIES CONSERVATION CONSERVATION if(iUserMenuChoice == _OPT_ONE) { printf("\n\n\n\t\tDETAILS OF ANIMAL/BIRD:%s". } //NON ENDANGERED SPECIES SUPPORT SYSTEM else if(iUserMenuChoice == _OPT_TWO) { printf("\n\n\n\t\tDETAILS OF ANIMAL/BIRD:%s".cellid).anim_history)). printf("\n__________________________________________________________________ ___\n\n").animal_info.keeper_nm). } //else-if } //if } //while if (isExists == 0) { printf("\n\t\tRECORD DOESN'T EXISTS.nu m_of_offsprings. printf("\n\n NAME : %s\t\n\n CELL ID : %s\tSPECIES TYPE :%s\t\n\n KEEPER'S NAME : %s\n\n AGE: %d\t \n\nSEX : %s \t \n\nOFFSPRING NO.strupr(animal_info.animal_info.strupr(animal_info.strupr(animal_info..strupr(animal_info. } //DisplayAnimalInfo //================================================================ ============= //Function Name ModifyAnimalInfo() // 35 .animal_info.an_sex).

1. cell_id). isvalid = scanf("%[M. //init with null char cAns = 'y'. scanf("%s".s_type). rewind(fp). if(strlen(animal_info.an_name).an_name)). char cell_id[_CELL_ID_SIZE] = {0}. LBL_S_TYPE: printf("\n\t\tENTER SPECIES TYPE : "). cell_id)==0) { LBL_ANML_NAME: printf("\n\n\t\tENTER ANIMAL NAME: %s : ".an_name)<3) goto LBL_ANML_NAME.animal_info.F.//Description This function updates the animal info in the file // //Parameter File Pointer // //================================================================ ============= void ModifyAnimalInfo(FILE *fp) { struct ZooAnimal animal_info. if(strlen(animal_info.an_name)>20||strlen(animal_info.an_sex). record_size.animal_info. while((dump = getchar()) != '\n' && dump != EOF) { 36 . while(fread(&animal_info. //Searching and modifying Records by id while(cAns == 'y' || cAns == 'Y') { printf("\n\n\n\t\tENTER CELL ID: "). scanf("%s".f]".s_type)>20 || strlen(animal_info. printf("\n\t\tENTER SEX [M/F] : "). int record_size = sizeof(animal_info).strupr(animal_info.s_type)<3) goto LBL_S_TYPE. animal_info. fp)==1) { if(strcmp(animal_info. LBL_ANML_SEX: while (isvalid != 1) { char dump. scanf("%s".m.cellid.

num_of_offsprings). scanf("%d". LBL_ANML_AGE: printf(" \n\t\tENTER AGE: %d : " .} } // // if(strlen(animal_info.-record_size. On error returns EOF */ fflush(stdin).&animal_info. } //while } //ModifyAnimalInfo //================================================================ ============= //Function Name DeleteAnimalInfo() // //Description This function deletes the animal info from the file 37 .animal_info.SEEK_CUR).num_of_offsprings).record_size. if(strlen(animal_info. scanf("%s".anim_age<1||animal_info. /*Flushes a stream On success returns 0 . //Repositions the file pointer of a stream //Write the input information to the file at current location fwrite(&animal_info. OF OFFSPRING: %d :".anim_age>100) goto LBL_ANML_AGE. break. cAns=getche(). } //if } //while printf("\n\n\n\t\tDO U WANT TO MODIFY ANY OTHER RECORD[y/n]").animal_info. LBL_ANML_CHILD: printf(" \n\t\tENTER NO. printf("\n\t\tRECORD MODIFIED ").&animal_info. LBL_ANML_DETAILS: printf("\n\t\tANIMAL DETAILS( if ANY )\n\t\t(Dont leave space.anim_history).animal_info.use'_'instead)': %s : ".fp).anim_history).1.anim_age).anim_history)>50) goto LBL_ANML_DETAILS. fseek(fp.an_sex)>1) goto LBL_ANML_SEX.anim_age). scanf("%d". if(animal_info.animal_info.

scanf("%s". //Repositions file pointer to stream's beginning rewind(fp). } //else-if } //while if (isExists != 1) { isExists = 0.1. printf("\n\n\t\t NO SUCH RECORD FOUND").record_size.fp)!=0) { if(strcmp(animal_info. //Searching and Delete Records by id while(cAns == 'y' || cAns == 'Y') { printf("\n\n\t\tENTER CELL ID TO delete RECORD : "). while(fread(&animal_info. char cAns = 'y'. int record_size = sizeof(animal_info). int iUserMenuChoice) { struct ZooAnimal animal_info. printf("\n\n\t\t RECORD DELETED SUCCESSFULLY").record_size. } else { isExists = 1.ft).cell_id)!=0) { fwrite(&animal_info. //Open Temp File in write mode ft=fopen(TEMP_FILE.1.cell_id).cellid. char cell_id[_CELL_ID_SIZE] = {0}. 38 . FILE *ft = NULL.// //Parameter File Pointer // //================================================================ ============= void DeleteAnimalInfo(FILE *fp. //init with null int isExists = 0. } //if //Close the Files fclose(fp)."wb").

fclose(ft); //ENDANGERED SPECIES CONSERVATION CONSERVATION if(iUserMenuChoice == _OPT_ONE) { remove(ZOO_MGMT_FILE_1); rename(TEMP_FILE,ZOO_MGMT_FILE_1); fp=fopen(ZOO_MGMT_FILE_1,"rb+"); } //NON ENDANGERED SPECIES SUPPORT SYSTEM else if(iUserMenuChoice == _OPT_TWO) { remove(ZOO_MGMT_FILE_2); rename(TEMP_FILE,ZOO_MGMT_FILE_2); fp=fopen(ZOO_MGMT_FILE_2,"rb+"); } //if printf("\n\n\t\tDO U WANT TO delete ANOTHER RECORD[y/n]"); fflush(stdin); cAns=getche(); } //while } //DeleteAnimalInfo //================================================================ ============= //Function Name main() // //Description This function is main function where execution starts // //Parameter NONE // //================================================================ ============= void main() { int iUserMenuChoice = 0; LBL_DISPLAY_MENU: DisplayMainMenu(); cprintf("PLEASE ENTER YOUR CHOICE:"); scanf("%d",&iUserMenuChoice);


//If user chose to exit if(iUserMenuChoice > _OPT_THREE || iUserMenuChoice < _OPT_ONE) { printf("\n You have entered wrong choice ! Press any key to continue..."); getch(); goto LBL_DISPLAY_MENU; } else if(iUserMenuChoice == _OPT_THREE) { ExitTheSystem(); } else { FILE *fp, *fp_opt1, *fp_opt2; char cChoice; //Open the File for ENDANGERED SPECIES fp_opt1 = fopen(ZOO_MGMT_FILE_1,"rb+"); if(fp_opt1==NULL) { fp_opt1=fopen(ZOO_MGMT_FILE_1,"wb+"); if(fp_opt1==NULL) { puts("\n\t\tCannot Open file"); //exit(); } //if } //if //Open the File for NON-ENDANGERED SPECIES fp_opt2 = fopen(ZOO_MGMT_FILE_2,"rb+"); if(fp_opt2==NULL) { fp_opt2=fopen(ZOO_MGMT_FILE_2,"wb+"); if(fp_opt2==NULL) { puts("\n\t\tCannot Open file"); //exit(); } //if } //if while(1) { clrscr(); textcolor(4); if(iUserMenuChoice == _OPT_ONE) {


gotoxy(30,8); textcolor(4); cprintf("ENDANGERED SPECIES MENU"); fp = fp_opt1; } else if(iUserMenuChoice == _OPT_TWO) { gotoxy(30,8); textcolor(4); cprintf("NON ENDANGERED SPECIES MENU"); fp = fp_opt2; } //else-if DisplayWildMgmtSystemMenu(); cprintf("SELECT YOUR OPTION: "); fflush(stdin); cChoice=getche(); clrscr(); gotoxy(25,8); textcolor(5); switch(cChoice) { case '1': AddAnimal2DB(fp); break; case '2': DisplayAnimalInfo(fp, iUserMenuChoice); break; case '3': ModifyAnimalInfo(fp); break; case '4': DeleteAnimalInfo(fp, iUserMenuChoice); break; case '5': fclose(fp); goto LBL_DISPLAY_MENU; } //switch - user choice } //while - infinite loop } //else-if } //main


42 .

43 .

44 .

45 .

46 .

47 .

48 .

SYSTEM TESTING System testing is a process of executing a program to locate an error. It involves checking processes. it will run according to its specification and in the way users expect to it. i. and the integrated system is tested and finally the system is tested with the item data. Testing is the verification and validation activity for the software product.e. such as inspection and reviews. During system testing. the system is used experimentally to ensure that the software does not fail. Testing is a four stage process where system components are tested. The four types of testing are as follows: UNIT TESTING INTEGRATION TESTING SYSTEM TESTING 49 ACCEPTANCE . at each stage of the software process from user requirements definition to program development.

Figure 10.1: .Testing Process 50 .

The goal here is to see if the modules can be integrated properly. Tests of data flow across a module interface were carried out for each module of the software. though usually functional. I. but one can be sure that all paths through the test object are executed. While white box testing is applicable at the unit. it is typically applied to the unit. it might not detect unimplemented parts of the specification or missing requirements.  Black Box Testing: . These tests can be functional or non-functional.Black box testing diagram  White Box Testing: .2: . Though this method of test design can uncover an overwhelming number of test cases. it can also test paths between units during integration. A unit is the smallest testable part of an application. Figure 10. There is no knowledge of the test object's internal structure.The following are the stages in testing process:  Unit Testing: Unit testing is a method of testing that verifies the individual units of source code are working properly. integration and system levels of the software testing process. It requires programming skills to identify all paths through the software.White box uses an internal perspective of the system to design test cases based on internal structure. The tester chooses test case inputs to exercise paths through the code and determines the appropriate outputs. While it normally tests paths within a unit.e. the emphasis is on testing the interfaces between modules. In electrical hardware testing. every node in a circuit may be probed and measured. Each component is tested individually.  Integration Testing: Integration testing is a process of combining multiple modules systematically for conducting tests in order to find errors in the interface between modules.Black box testing takes an external perspective of the test object to derive test cases. unit testing ensures that functions or procedures are operating correctly. and between subsystems during a system level test. The test designer selects valid and invalid inputs and determines the correct output. Using component level design description as a guide. The integration testing follows the following strategies: - 51 . important control paths are tested to uncover errors within the boundary of the module. Hence.

In functional testing the structure of the program is not considered. Acceptance testing is done at the user end.In the system testing. Non-incremental strategy. Mixed strategy. They are follows: o Functional Testing: . A number of different types of testing are used at this stage.  System Testing: .It deals with quality related issues like security test.  Acceptance Testing: . Acceptance testing is performed with realistic data of the client to demonstrate that is software is working satisfactory. the entire software system is tested.   Incremental strategy. It is the user who now designs the test cases. and the objective is to see if the software meets its requirements.It is concerned with functionality rather than the implementation of the program. The reference document for this purpose is the requirements document. 52 . System testing is done by the developers and before the product is given to user for use. reliability test etc.After the system testing is completed successfully by the developers. o Performance Testing: .

IMPLEMENTATION System implementation is the final stage of development. Implementation can be done in two ways. it can be implemented to other areas also. collecting data and organizing people to interact with and run the system. In large organizations. 53 . user actually starts using the system. One way is by implementing the new system along with the old system and makes them run in parallel. The other method is to replace the entire system. the new system can be implemented in certain areas as a pilot project and if satisfactory results are obtained. programs. This phase therefore involves training the users for using the system and also providing them documentation to refer to. In the implementation phase. It consists of installing hardware.

54 . The objective of the project is to perform all the functions or operations accurately. Records of the animals in park are saved in separate files and can be used to locate any information about any particular animal. This application software is about managing the records of the animals and their daily requirements.CONCLUSION This software is a database project with all the basic capabilities a database should have.

 Easy to Operate.SCOPE OF THE PROJECT The proposed system can manage all drawbacks of the existing manual system.  Cost Reduction. . The system has a user friendly environment where the end user can perform all the activity.  Less Space. 55 .  Fast Retrieval. The system has the following objectives to be achieved  User Friendly Environment.  Accuracy. Even if the user has little knowledge of computers he/she can easily operate. The system proposed can easily be installed in any shop.

com BOOKS REFERENCES  ANSI C by E Balagurusamy Tata Mc Graw Hill India. 56 .  BOOK: ANSI in Turbo C AUTHOR: Robert Lafore PUBLISHER: Galgotia Publications pvt. Ltd.REFERENCES WEB REFERENCES  http://google.

57 .

58 .

59 .

60 .

61 .

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.