Vous êtes sur la page 1sur 58

PREFACE

During the past decade, increasing attention has been focus on the Technology of Computer software. As
manual computing system becomes more numerous, complex the need for the systematic approaches
development becomes increasingly apparent.
The objective of project work-Digital Diary is designing a convenient frame work including Address Book,
Dead-Lines Note-Book and Reminder Application to the user on one platform. A primary goal of this project
is to develop good software to overcome the existing problem caused by manual systems.
This application is developed for the users who want to store contacts, want to set reminders and dead line
notes through single application. The users who have computer knowledge will get more advantage from this
application.
Although every care has been taken to check mistakes through verifications and validations, yet it is difficult
to claim absolute perfection.

EXECUTIVE SUMMARY
We have developed Digital Diary application to makes ease the work of users by this computerised software.
By this application a user can store contact details, retrieve contact details, set reminder for important
meetings of works and make dead line notes on single platform. Thus the user can manage his contacts and
daily working schedules through this application. This application avoids user to make manual contact
diaries to store the contact address. A user who is working on system can set reminder for the important
work while doing some another work. Reminder will remind him about that work. He can also set reminder
message which will tell him what to do at which time by stealing his attention.
Through dead line note book a user can set the start date, start date message, end date and end date message
for any project. This will remind him about a project that he had started on which date and when to submit
that project. On the whole this application will make a user punctual. The dead line note book will show
current date dead line notes through red colour as a warning.
So, this application is convenient platform for a user to manage, contacts, daily work schedules and to
enhance the punctuality of the user.

TABLE OF CONTENTS
PARTICULARS

PAGE NO.

1. Acknowledgement
2. Preface
3. Executive Summary
4.Problem Statement
5.System Analysis
5.1
Existing System and Drawbacks
5.2
Proposed System Description
6. Software Requirement Specification
7.Feasibility Analysis
8.E-R Diagram
9.Data-Flow-Diagrams
10.Data Tables
11.Module Description
12.System Testing Security & Implementation
12.1 Coding
12.2 Testing
12.3 Security
12.4 Implementation
13.Input/output GUI Interface Screenshots
14.Conclusion
15.References

2
3
4
5
6
6
7
7
10
11
12
16
18
18
18
18
19
20
21
25
26

PROBLEM STATEMENT
This point describe you how to overcome the problem that arisen general for any person scheduling the
appointments, activities, daily work and managing contact details of their knowns. Previously we were
using manual systems to manage contact details of knowns. We were using separate applications for
reminder dead line note book reminder or manual methods to do that.

The task of managing daily activities future activities, contact details is time consuming and very
complex and may lead to confusion if not properly scheduled.
This is the application which provides user to maintain contact details, their present and future activities
and their start and deadlines date of accomplishing any project through one platform with one
application. A user can store contact details of any known person and side by side can set reminder and
dead line project details.

SYSTEM ANALYSIS
System analysis is a detailed study of various operation performed by a system and their relationships
within and outside the system. A key question is what must be done to solve the problem?. One
aspect of analysis is defining the boundaries of system and determining whether or not the proposed
system should consider other related systems. During analysis, data are collect from the available files,
decision points, and transactions handled by the present system.
The logical system model and tools that are used in the analysis are Data Flow Diagrams (DFDs), data
dictionaries and flow chart. The analysis part in the following pages cover:

Existing System
Proposed System

Existing System & Drawbacks


Almost each person have their knowns who are living apart from him having some contacts details. It is
a very complex task to store contact details manually at diaries and searching them page by page. A user
also want to do some specific tasks in the future for that he always makes diaries or separate applications
with limited memory size to store reminder data and large number of reminders. Side by side a user also
has to complete any work at some specific dates. A person having large number of task to be done at
different dead line dates also have to make manual entries in the separate applications or in the manual
diaries and he have to check those notes daily to know about which projects deadline date is reached. All
these tasks are very time consuming and very complex.
Drawbacks:
As seen clearly a lot of time is spent and much effort is made for managing contact details of the known
future activities times and submission dates of the projects. In todays world which is growing, these all
tasks should take minimum effort and less time. But the present system does not support this. In the

present system user install and operate on three different applications to complete about written task
which is very difficult and complex.
Proposed System
The system which we have developed makes it easy for a user to maintain, search thousand of contacts,
thousand of future activity reminder and thousand of future dead line dates for the projects through
installing and operating on single application, as it provides:

Address Book- to store add and search contacts


My Note Book- to set reminder for dead line dates of projects.
Reminders- to set reminders for the recent future activities

So, this system is very convenient a user. It saves the time of the user makes his work easy with fast
speed through operating on single application.
This is the application which provides user to maintain contact details, their present and future activities
and their start and deadlines date of accomplishing any project through one platform with one
application. A user can store contact details of any known person and side by side can set reminder and
dead line project details.

SOFTWARE REQUIREMENT SPECIFICATION


1. Introduction
1.1 Purpose
The goal of the project is to develop the software for a computer-based personal Digital Diary. Only one
user will use the Digital Diary at any time. There are three parts in the Digital Diary a phone diary cum
contacts list, task to do, reminder. The contacts are used to store and retrieve personal appointments.
Using the Digital Diary, a user must be able to add, delete and modify names, addresses and phone
numbers. In addition, the user must be able to search and retrieve names and information associated with
names (the address and phone numbers) from the Digital diary. The phone numbers can range from 7 to
21 digits, thus allowing the user to enter local, long distance and international phone numbers. Addresses
use conventional 3-line format - The first line contains the house/building number followed by street
name, followed by an apartment number, if any. The second line contains the city name, state
abbreviation and the ZIP code. The third line contains the country name.
The appointment reminder is used to store and retrieve personal appointments throughout the year. A
user must use date/time as a key when storing or retrieving reminder details. Each appointment must also
have a tag that can contain a name of the person in the appointment. By this way, the user can retrieve
the address and phone number of the person when needed. The Dead line note book will also work as
reminder but it will show dead line dates of the project by highlighting the current dead line dated
projects.

1.2 Scope
User who wants short and precise application can use it, without taking much time to install.
Users are allowed to delete, update any record any time. Almost every person is the user of this
application because everyone has to store contact address of their knowns, to manage future activities
through reminders, to get remind about the dead line dated projects. This application provides a user to
manage the above written activities through single platform with one application.
The features that are described in this document are used in the future phases of the software development
cycle. The features described here meet the needs of all the users.
1.3 Overview
This the product which can used as only for personal use. User uses it in their laptop and desktops. It is
short and precise application.
2. The Overall Description
It includes general factors that affect the product design and implementation in Digital Diary requirements
and necessary features. Digital Diary requirements and specifications will be the main factor determining
the design of the components since this is a single user product.
2.1 Interfaces
All component interfaces will be GUI interfaces.
Logical Characteristics:
(1) View Status
(a) View list of contact persons at once or differently
(b) Can display all the upcoming appointments through reminders
(c) Can display all the start and end dates of the projects to be accomplished
(2) Change Status
(a) Options for changing a persons information
(b) Interface is easy to find person in list
(c) Options to edit reminder- time, date, message and date, message for the coming projects.
2.2 Hardware Requirement
The system has following hardware requirements:
Pentium 2 and higher processor
16 MB RAM minimum
64kb cache memory at least
Hard Disk 50 MB space at least
2.3 Software requirements
The system has following software requirements:

Operating System: Window XP/98/95/NT/ 2000/W 7

Database server -: Ms-access


Data base connectivity: ODBC, Microsoft ODBD Driver
Other tools and technology: C++
Front End: C++
Back End: Ms-Access

2.4 Product Features


Users are provided with different function and each function sub-functions.
Address Book is having sub function like user can see the date from 1 to 30 at time, add, delete, edit, save
and close. User can make schedule for whole day in particular date, a different page is opened using my
notes. Search help to find out your contacts in bulk of contacts. You can use it for saving previous record.
Important alarms are there.
(1) Product will need to connect with Ms-Access database.
(2) Product will work on windows operating only
(3) Product will need to overcome search latency, when records are more then 1000.
2.5 Apportioning of Requirements
We feel that we can accomplish all of the above stated requirements given the time that we have. We have
already limited the number of components that we intend to develop, because we do feel that we have time
to completely finish and test more components then the ones listed in future.
3. Specific Requirements: Specific requirements include:
3.1 Functions: Product will perform following functions:
3.1.1 Functional Requirements
In this system there is lots of functioning:
The user can Search and see any account information.
a) He will be able to get the record using character searching.
b) There will also be a reminder and digital diary through this he can go to know about details.
c) User can use my notes for daily purpose.
d) Main user can safe this application by giving passwords so that no other can put record into it.
3.1.2 Non-Functional Requirement: Non functional requirements are as:
3.1.2.1 Performance Requirements
Software must be able to support more than 2000 entries, and efficiently search them.
3.2.2.2 Safety requirement
Database safety from viruses and operating system failure
3.2.2.3Software quality attributes
The quality of the database maintained in such a way so that it can be a very user friendly to all the user of
the data base.

3.2.2.4 Design Constraints


The system must be designed in such a way that it will easy to use and user friendly.
3.2.2.5 Reliability
We try to make it reliable by testing it.
3.2.2.6 Availability
System will be available during all work hours.
3.2.2.7 Security
Logins will be used to restrict use.

FEASIBILITY STUDY
Feasibility study is a high level version of the entire system and design process. The purpose of feasibility
study is not to solve the problem but to determine if the problem is worth solving. It is conducted to select
the best system that meets performance requirement. A systems required the identification of specific
system objectives, and a description of out puts defines performance.
Three key considerations are involved in the feasibility analysis:
Economical feasibility
Technical feasibility
Operational feasibility
Economical feasibility: economical analysis is the most frequently used method for evaluating the
effectiveness of the proposed system. This is an ongoing effort that improves inaccuracy at each phase of the
system life cycle.
As the necessary software and hardware is available in the system, the initial investment for the proposed
system is NIL.
The proposed system minimizes the time and effort right from managing the activities. Thus, the
proposed system is economically feasible.
Technical feasibility: it centres on the existing computer system (hardware, software etc) and to what extent
it can support the proposed system. The necessary hardware and software tools are available in the computer
system and the software recommended supports the system objectives. Thus, it is technically feasible to
design and develop the proposed system.
Operational feasibility: people are inherently resistant to change and computers have been known to
facilitate the change. As estimate should be made of how a strong reaction the user is likely to have towards
the development of a new system. As the proposed system is a user friendly package with all the visual aids,
the effort that goes into the educating and training the user staff is almost negligible. Therefore, resistance to
the proposed system is NIL.
Based on the above analysis, the recommended system is feasible.

ENTITY RELATIONSHIP DIAGRAM


User
User Name
Digital Diary

do

Password
Login

Reminder System

Address Book
Select
ID

ID

Name
Address

My Notes

Date
ID

Phone

Start Date

Nationality

Notes

Fathers Name

Dead Line Date

Qualification

Dead Line Notes

Other Details
Mail ID
Designation
DOB

Level-0

DFD (DATA FLOW DIAGRAMS)

Time
Message

Level-1

Level-2

Level-3

COADING

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>

int password();
void addrecord();
void viewrecord();
void editrecord();
void editpassword();
void deleterecord();

struct record
{
char time[6];
char name[30];
char place[25];
char duration[10];
char note[500];
};

int main()
{
int ch;
printf("\n\n\t***********************************\n");
printf("\t*PASSWORD PROTECTED PERSONAL DIARY*\n");
printf("\t***********************************");

while(1)

{
printf("\n\n\t\tMAIN MENU:");
printf("\n\n\tADD RECORD\t[1]");
printf("\n\tVIEW RECORD\t[2]");
printf("\n\tEDIT RECORD\t[3]");
printf("\n\tDELETE RECORD\t[4]");
printf("\n\tEDIT PASSWORD\t[5]");
printf("\n\tEXIT\t\t[6]");
printf("\n\n\tENTER YOUR CHOICE:");
scanf("%d",&ch);

switch(ch)
{
case 1:
addrecord();
break;

case 2:
viewrecord();
break;

case 3:
editrecord();
break;

case 4:
deleterecord();
break;

case 5:
editpassword();

break;

case 6:
printf("\n\n\t\tTHANK YOU FOR USING THE SOFTWARE
BY:\n\n\tBIJAY PURI\n\n\tBHANU POUDEL\n\n\tNRIPASH AYER...");
getch();
exit(0);

default:
printf("\nYOU ENTERED WRONG CHOICE..");
printf("\nPRESS ANY KEY TO TRY AGAIN");
getch();
break;
}
system("cls");
}
return 0;
}
void addrecord( )
{

system("cls");
FILE *fp ;
char another = 'Y' ,time[10];
struct record e ;
char filename[15];
int choice;
printf("\n\n\t\t***************************\n");
printf("\t\t* WELCOME TO THE ADD MENU *");
printf("\n\t\t***************************\n\n");
printf("\n\n\tENTER DATE OF YOUR RECORD:[yyyy-mm-dd]:");
fflush(stdin);
gets(filename);
fp = fopen (filename, "ab+" ) ;
if ( fp == NULL )
{
fp=fopen(filename,"wb+");
if(fp==NULL)
{

printf("\nSYSTEM ERROR...");
printf("\nPRESS ANY KEY TO EXIT");
getch();
return ;
}
}

while ( another == 'Y'|| another=='y' )


{
choice=0;
fflush(stdin);
printf ( "\n\tENTER TIME:[hh:mm]:");
scanf("%s",time);
rewind(fp);
while(fread(&e,sizeof(e),1,fp)==1)
{
if(strcmp(e.time,time)==0)
{
printf("\n\tTHE RECORD ALREADY EXISTS.\n");

choice=1;
}
}
if(choice==0)
{
strcpy(e.time,time);
printf("\tENTER NAME:");
fflush(stdin);
gets(e.name);
fflush(stdin);
printf("\tENTER PLACE:");
gets(e.place);
fflush(stdin);
printf("\tENTER DURATION:");
gets(e.duration);
fflush(stdin);
printf("\tNOTE:");
gets(e.note);

fwrite ( &e, sizeof ( e ), 1, fp ) ;


printf("\nYOUR RECORD IS ADDED...\n");
}
printf ( "\n\tADD ANOTHER RECORD...(Y/N) " ) ;
fflush ( stdin ) ;
another = getchar( ) ;
}

fclose ( fp ) ;
printf("\n\n\tPRESS ANY KEY TO EXIT...");
getch();
}

void viewrecord( )
{
FILE *fpte ;
system("cls");
struct record customer ;
char time[6],choice,filename[14];
int ch;

printf("\n\n\t\t*******************************\n");
printf("\t\t* HERE IS THE VIEWING MENU *");
printf("\n\t\t*******************************\n\n");
choice=password();
if(choice!=0)
{
return ;
}
do
{
printf("\n\tENTER THE DATE OF RECORD TO BE VIEWED:[yyyy-mmdd]:");
fflush(stdin);
gets(filename);

fpte = fopen ( filename, "rb" ) ;


if ( fpte == NULL )
{
puts ( "\nTHE RECORD DOES NOT EXIST...\n" ) ;

printf("PRESS ANY KEY TO EXIT...");


getch();
return ;
}
system("cls");
printf("\n\tHOW WOULD YOU LIKE TO VIEW:\n");
printf("\n\t1.WHOLE RECORD OF THE DAY.");
printf("\n\t2.RECORD OF FIX TIME.");
printf("\n\t\tENTER YOUR CHOICE:");
scanf("%d",&ch);
switch(ch)
{
case 1:
printf("\nTHE WHOLE RECORD FOR %s IS:",filename);
while ( fread ( &customer, sizeof ( customer ), 1, fpte ) == 1 )
{
printf("\n");
printf("\nTIME: %s",customer.time);
printf("\nMEETING WITH: %s",customer.name);

printf("\nMEETING AT: %s",customer.place);


printf("\nDURATION: %s",customer.duration);
printf("\nNOTE: %s",customer.note);
printf("\n");
}
break;

case 2:
fflush(stdin);
printf("\nENTER TIME:[hh:mm]:");
gets(time);
while ( fread ( &customer, sizeof ( customer ), 1, fpte ) == 1 )

{
if(strcmp(customer.time,time)==0)
{
printf("\nYOUR RECORD IS:");
printf("\nTIME: %s",customer.time);
printf("\nMEETING WITH: %s",customer.name);

printf("\nMEETING AT: %s",customer.place);


printf("\nDUARATION: %s",customer.duration);
printf("\nNOTE: %s",customer.note);
}
}
break;

default: printf("\nYOU TYPED SOMETHING ELSE...\n");


break;
}

printf("\n\nWOULD YOU LIKE TO CONTINUE VIEWING...(Y/N):");


fflush(stdin);
scanf("%c",&choice);
}while(choice=='Y'||choice=='y');
fclose ( fpte ) ;
return ;
}
void editrecord()
{

system("cls");
FILE *fpte ;
struct record customer ;
char time[6],choice,filename[14];
int num,count=0;
printf("\n\n\t\t*******************************\n");
printf("\t\t* WELCOME TO THE EDITING MENU *");
printf("\n\t\t*******************************\n\n");
choice=password();
if(choice!=0)
{
return ;
}
do
{
printf("\n\tENTER THE DATE OF RECORD TO BE EDITED:[yyyy-mmdd]:");
fflush(stdin);
gets(filename);

printf("\n\tENTER TIME:[hh:mm]:");
gets(time);
fpte = fopen ( filename, "rb+" ) ;
if ( fpte == NULL )
{
printf( "\nRECORD DOES NOT EXISTS:" ) ;
printf("\nPRESS ANY KEY TO GO BACK");
getch();
return;
}
while ( fread ( &customer, sizeof ( customer ), 1, fpte ) == 1 )
{
if(strcmp(customer.time,time)==0)
{
printf("\nYOUR OLD RECORD WAS AS:");
printf("\nTIME: %s",customer.time);
printf("\nMEETING WITH: %s",customer.name);
printf("\nMEETING AT: %s",customer.place);

printf("\nDURATION: %s",customer.duration);
printf("\nNOTE: %s",customer.note);

printf("\n\n\t\tWHAT WOULD YOU LIKE TO EDIT..");


printf("\n1.TIME.");
printf("\n2.MEETING PERSON.");
printf("\n3.MEETING PLACE.");
printf("\n4.DURATION.");
printf("\n5.NOTE.");
printf("\n6.WHOLE RECORD.");
printf("\n7.GO BACK TO MAIN MENU.");
do
{
printf("\n\tENTER YOUR CHOICE:");
fflush(stdin);
scanf("%d",&num);
fflush(stdin);
switch(num)
{

case 1: printf("\nENTER THE NEW DATA:");


printf("\nNEW TIME:[hh:mm]:");
gets(customer.time);
break;

case 2: printf("\nENTER THE NEW DATA:");


printf("\nNEW MEETING PERSON:");
gets(customer.name);
break;

case 3: printf("\nENTER THE NEW DATA:");


printf("\nNEW MEETING PLACE:");
gets(customer.place);
break;

case 4: printf("\nENTER THE NEW DATA:");


printf("\nDURATION:");
gets(customer.duration);
break;

case 5: printf("ENTER THE NEW DATA:");

printf("\nNOTE:");
gets(customer.note);
break;

case 6: printf("\nENTER THE NEW DATA:");


printf("\nNEW TIME:[hh:mm]:");
gets(customer.time);
printf("\nNEW MEETING PERSON:");
gets(customer.name);
printf("\nNEW MEETING PLACE:");
gets(customer.place);
printf("\nDURATION:");
gets(customer.duration);
printf("\nNOTE:");
gets(customer.note);
break;

case 7: printf("\nPRESS ANY KEY TO GO BACK...\n");


getch();

return ;
break;

default: printf("\nYOU TYPED SOMETHING ELSE...TRY


AGAIN\n");
break;
}

}while(num<1||num>8);
fseek(fpte,-sizeof(customer),SEEK_CUR);
fwrite(&customer,sizeof(customer),1,fpte);
fseek(fpte,-sizeof(customer),SEEK_CUR);
fread(&customer,sizeof(customer),1,fpte);
choice=5;
break;
}
}
if(choice==5)
{
system("cls");

printf("\n\t\tEDITING COMPLETED...\n");
printf("--------------------\n");
printf("THE NEW RECORD IS:\n");
printf("--------------------\n");
printf("\nTIME: %s",customer.time);
printf("\nMEETING WITH: %s",customer.name);
printf("\nMEETING AT: %s",customer.place);
printf("\nDURATION: %s",customer.duration);
printf("\nNOTE: %s",customer.note);
fclose(fpte);
printf("\n\n\tWOULD YOU LIKE TO EDIT ANOTHER RECORD.(Y/N)");
scanf("%c",&choice);
count++;
}
else
{
printf("\nTHE RECORD DOES NOT EXIST::\n");
printf("\nWOULD YOU LIKE TO TRY AGAIN...(Y/N)");
scanf("%c",&choice);

}while(choice=='Y'||choice=='y');
fclose ( fpte ) ;

if(count==1)
printf("\n%d FILE IS EDITED...\n",count);
else if(count>1)
printf("\n%d FILES ARE EDITED..\n",count);
else
printf("\nNO FILES EDITED...\n");
printf("\tPRESS ENTER TO EXIT EDITING MENU.");
getch();
}
int password()
{
char pass[15]={0},check[15]={0},ch;
FILE *fpp;
int i=0,j;

printf("::FOR SECURITY PURPOSE::");


printf("::ONLY THREE TRIALS ARE ALLOWED::");
for(j=0;j<3;j++)
{
i=0;
printf("\n\n\tENTER THE PASSWORD:");
pass[0]=getch();
while(pass[i]!='\r')
{
if(pass[i]=='\b')
{
i--;
printf("\b");
printf(" ");
printf("\b");
pass[i]=getch();
}
else
{

printf("*");
i++;
pass[i]=getch();
}
}
pass[i]='\0';
fpp=fopen("SE","r");
if (fpp==NULL)
{
printf("\nERROR WITH THE SYSTEM FILE...[FILE MISSING]\n");
getch();
return 1;
}
else
i=0;
while(1)
{
ch=fgetc(fpp);

if(ch==EOF)
{
check[i]='\0';
break;
}
check[i]=ch-5;
i++;
}
if(strcmp(pass,check)==0)
{
printf("\n\n\tACCESS GRANTED...\n");
return 0;
}
else
{
printf("\n\n\tWRONG PASSWORD..\n\n\tACCESS DENIED...\n");
}
}
printf("\n\n\t::YOU ENTERED WRONG PASSWORD::YOU ARE NOT

ALLOWED TO ACCESS ANY FILE::\n\n\tPRESS ANY KEY TO GO BACK...");


getch();
return 1;
}
void editpassword()
{
system("cls");
printf("\n");
char pass[15]={0},confirm[15]={0},ch;
int choice,i,check;
FILE *fp;
fp=fopen("SE","rb");
if(fp==NULL)
{
fp=fopen("SE","wb");
if(fp==NULL)
{
printf("SYSTEM ERROR...");
getch();

return ;
}
fclose(fp);
printf("\nSYSTEM RESTORED...\nYOUR PASSWORD IS 'ENTER'\n PRESS
ENTER TO CHANGE PASSWORD\n\n");
getch();
}
fclose(fp);
check=password();
if(check==1)
{
return ;
}
do
{
if(check==0)
{
i=0;
choice=0;

printf("\n\n\tENTER THE NEW PASSWORD:");


fflush(stdin);
pass[0]=getch();
while(pass[i]!='\r')
{
if(pass[i]=='\b')
{
i--;
printf("\b");
printf(" ");
printf("\b");
pass[i]=getch();
}
else
{
printf("*");
i++;
pass[i]=getch();

}
}
pass[i]='\0';
i=0;
printf("\n\tCONFIRM PASSWORD:");
confirm[0]=getch();
while(confirm[i]!='\r')
{
if(confirm[i]=='\b')
{
i--;
printf("\b");
printf(" ");
printf("\b");
confirm[i]=getch();
}
else
{
printf("*");

i++;
confirm[i]=getch();
}
}
confirm[i]='\0';
if(strcmp(pass,confirm)==0)
{
fp=fopen("SE","wb");
if(fp==NULL)
{
printf("\n\t\tSYSTEM ERROR");
getch();
return ;
}
i=0;
while(pass[i]!='\0')
{
ch=pass[i];

putc(ch+5,fp);
i++;
}
putc(EOF,fp);
fclose(fp);
}
else
{
printf("\n\tTHE NEW PASSWORD DOES NOT MATCH.");
choice=1;

}
}while(choice==1);

printf("\n\n\tPASSWORD CHANGED...\n\n\tPRESS ANY KEY TO GO BACK...");


getch();
}

void deleterecord( )

{
system("cls");
FILE *fp,*fptr ;
struct record file ;
char filename[15],another = 'Y' ,time[10];;
int choice,check;
printf("\n\n\t\t*************************\n");
printf("\t\t* WELCOME TO DELETE MENU*");
printf("\n\t\t*************************\n\n");
check = password();
if(check==1)
{
return ;
}

while ( another == 'Y' )


{
printf("\n\n\tHOW WOULD YOU LIKE TO DELETE.");
printf("\n\n\t#DELETE WHOLE RECORD\t\t\t[1]");

printf("\n\t#DELETE A PARTICULAR RECORD BY TIME\t[2]");

do
{
printf("\n\t\tENTER YOU CHOICE:");
scanf("%d",&choice);

switch(choice)
{
case 1:
printf("\n\tENTER THE DATE OF RECORD TO BE DELETED:
[yyyy-mm-dd]:");
fflush(stdin);
gets(filename);
fp = fopen (filename, "wb" ) ;
if ( fp == NULL )
{
printf("\nTHE FILE DOES NOT EXISTS");
printf("\nPRESS ANY KEY TO GO BACK.");
getch();

return ;
}
fclose(fp);
remove(filename);
printf("\nDELETED SUCCESFULLY...");
break;

case 2:
printf("\n\tENTER THE DATE OF RECORD:[yyyy-mm-dd]:");
fflush(stdin);
gets(filename);
fp = fopen (filename, "rb" ) ;
if ( fp == NULL )
{
printf("\nTHE FILE DOES NOT EXISTS");
printf("\nPRESS ANY KEY TO GO BACK.");
getch();
return ;
}

fptr=fopen("temp","wb");
if(fptr==NULL)
{
printf("\nSYSTEM ERROR");
printf("\nPRESS ANY KEY TO GO BACK");
getch();
return ;
}
printf("\n\tENTER THE TIME OF RECORD TO BE DELETED:
[hh:mm]:");
fflush(stdin);
gets(time);
while(fread(&file,sizeof(file),1,fp)==1)
{
if(strcmp(file.time,time)!=0)
fwrite(&file,sizeof(file),1,fptr);
}

fclose(fp);

fclose(fptr);
remove(filename);
rename("temp",filename);
printf("\nDELETED SUCCESFULLY...");
break;

default:
printf("\n\tYOU ENTERED WRONG CHOICE");
break;
}
}while(choice<1||choice>2);

printf("\n\tDO YOU LIKE TO DELETE ANOTHER RECORD.(Y/N):");


fflush(stdin);
scanf("%c",&another);
}
printf("\n\n\tPRESS ANY KEY TO EXIT...");
getch();
}
DATA TABLES

Table under AddressBook.mdb Database:


1. AddressData Table
2. login Table
AddressData Table:

login Table:

Table under MyNotes.mdb Database:


tb1_notes Table:

Reminder uses the XML file for creating the Data Table as given:

MODULE DESCRIPTION

The main objective of the Digital Diary is to Display, Store, Edit, Searching Contacts, setting reminders and
setting dead line project dates. We have divided it into three sub-modules as given under:
1. Address-Book: for inserting, editing, searching the contacts of the known.
2. My-Note Book: for inserting the start date with message and end date of the project with specific
message.
3. Reminder: to set reminder for accomplishing specific activities at time.
All the above three modules are integrating within the Digital Diary to give an ease to the user. A single user
can operate on it at a time in one system. Total control on the application is provided to the authorized user.
First sub-module is the Address Book that a user can use to store contacts of their known. He can store
thousands of the records in it. A user can edit any contact easily and he can also search the contact by the
initial character searching of the contact name.
Second sub-module is My Note Book that a user can use to manage the starting and deadline dates of the
projects that he has to complete. He simply can add, edit and delete any entry made in it. The starting and
end date of the projects with the specific messages can be stored in this Note Book. The current deadline
dated projects will be highlighted with the red colour as a warning.
Third sub-module is Reminder that a user can use to remind him about the activities planned by him to
complete at some specific times in future. He can add any reminder with specific message at specific date
and time to be shown. A user can also edit and delete any entry at any time.

SYSTEM TESTING SECURITY & IMPLEMENTATION


Coding
Coding is the process that transforms design into a programming language, which can be understood by the
computer. Coding is viewed as natural source code which is based on internal documentation, methods for
data declaration procedures for statement constructions and input output techniques. Source Code is
Intelligible if it is simple and clear.
Testing:
Testing the newly developed or modified systems is one of the most important activities in the system
development methodology the goal of the testing is to verify the logical and physical operation of the design
blocks to determine that they operates as intended.

During testing the program to be tested is executed with a set of the test cases, and the output of the program
for the test cases is evaluated to determine if the program is performing as it is expected to do so. There are a
number of rules that can serve well as testing objectives.
Testing is a process of executing a program with the intent of finding errors. Good test case is alone that has
a high Probability of finding as yet undiscovered errors. A successful test is one that uncovers as yet
undiscovered errors. The basic levels are unit testing, Integration testing and Acceptance testing. The
different levels of the testing attempt to detect different types of the faults as discussed below:

Unit Testing

During the implementation of the system each module of the system was tested separately to uncover errors
with all its boundaries. User inter-faces was used as a guide in this process.

Integration Testing

The objective of the integration testing is to take the unit tested modules and build a program structure that
has been defined in the design. We have down a top down integration, which is an incremental approach,
which is constructing and testing small segments where errors are easier to isolate and corrected. The
Integration process was performed in three steps is:
1. The main control was used as a test driver.
2. Tests were conducted as each module was integrated.
3. Regression Testing (Conducting all or some of the previous tests) to ensure that new errors not been

introduced.
System Testing

Here the entire software system was tested. The references document for this process is the requirements
document and the goal is to see if the system meets its requirements.

Boundary Conditions Test

Boundary conditions as in case of the generating sequences were tested to ensure that the module operates
properly at boundaries established to limit or restrict processing.

Acceptance Testing

This is normally performed with the realistic data of the client to demonstrate that the software is working
satisfactorily. Testing here focus on external behaviour of the system.
Security
Security is the main concepts we have to provide in the project, so that unauthorized users can not access or
violate valuable information. In the present system we provided a logon screen which monitors the users.
Which helps the only authorized users can access the data.
Implementation

The implementation phase is the period during which the system is used. The major activities of this are:
1.
2.
3.
4.

Complete conversion
Operate system
Evaluate system performance
Maintain system and manage charges

The implementation phase follows the development phase. Usually it is the longest of all life cycle phases
and is characterized by four distinct stages. Initially the new system must be introduced into business activity
mainstream. This state is called changeover. The changeover transaction period may take weeks or even
months. After it is completed the system enters the operation and routine maintenance state. Early in this
stage an evaluation should be made based on performance measurement that determine whether the specific
benefits claimed for the system have been achieved. Finally the new system has all operational systems must
be able to accommodate change. Change is perhaps the most important state in the life of a computer based
application. Whether or not change can be managed is the final measure of the success or failure of the entire
system effort.
The principal activities and documents that characterize the stages of the implementation phase are:

System Changes Over

Normally a period of transition is required to change from an old system to new one. If all the development
phase implementation activities have been performed adequately the necessary manuals and documentation
for the new system are available. There is a nucleus of trained personnel to assume responsibility for the new
system. However it is critically important for the project team to remain heavily involved and in control
during changeover. Changeover usually is one way process it must result in a planned, numerous unforeseen
incidents and problems will arise. System changeover is the most critical period in the entire life cycle of the
computer-based system. Positive support by all user organization is essential.

Routine Operation

At the conclusion of the changeover process the system has been operational for a reasonable period; its
performance is formally evaluated. The result of the evaluation is documented in an evaluation report, which
should be presented to a user management review board. The principle user of the system should head the
board.

System change

The modern system environment is dynamic subject to many internal and external influences. The business
environment may trigger a change request, which is then reviewed by the user management. This process
may form a brief analysis of the requested change to an extensive investigation. This investigation could

cause a return to the study phase, in which case the resulting new design and development activities might
yield a great modified system.

INPUT/OUTPUT GUI INTERFACE SCREENSHOTS


Login Form:

Main Form:

Address Book Form:

My Notes Form: This form is showing two states:


1. Starting My Notes Form:

2. My-Notes form showing Deadline Date of project with red colour:

Reminders Form: Three states of this form are shown:


1. Starting form:

2. Form after reminder details insertion:

3. Reminder showing pop-up:

CONCLUSION

This report gives an overview of all that one needs to get acquainted with in order to work with software
project documentation specifically in the field of software development.
It was a diverse and enriching experience to learn from developing a software and documentation in a team
on our own.
This project helped us to enhance our skills in programming field of the software development. We learnt
how to develop software, how to make requirement analysis, how to make feasibility analysis and how to
document the same.
On a whole, this project helped us to enhance our technical skills, teamwork, documenting skills.

REFERENCES

Books:
1. C++ Black Book, Wiley
2. C++ Unleashed, Pearson Education
Websites:
1.
2.
3.
4.
5.
6.
7.
8.

http://www.edrawsoft.com/Data-Flow-Diagrams.php
http://www.freetutes.com/systemanalysis/sa5-dfd-ordering-system.html
http://www.umsl.edu/~sauterv/analysis/dfd/dfd.htm
http://www.agilemodeling.com/artifacts/dataFlowDiagram.htm
http://www.csharphelp.com/archives/archive172.html
http://www.datadirect.com/developer/net/index.ssp
http://www.codeproject.com
http://www.msdn.com