Project of Telephone Directory
Project of Telephone Directory
XAVIER’S COLLEGE
RANCHI
Project Report On
“Telephone Directory System”
1
Submitted By: Guided To:
RAUSHAN KUMAR
INTERMEDIATE OF SCIENCE
CERTIFICATE
original w o r k d o n e b y RAUSHAN
KUMAR during this project submission as a
partial fulfillment of the requirement for
the System Design
Project of Masters of Computer Application I.SC
II, of the ST. XAVIER’S COLLEGE ,
RANCHI
ACKNOWLEDGEMENT
Chapter 4:-
4.1. Feasibility Study 19
Chapter 5:-
5.1. Data Tables 21
Chapter 6:-
6.1.
Cost estimation
236.2. Conclusion 26
CHAPTER 1
Introduction
A telephone directory (also called a telephone book and
areaor subscribers t o s e r v i c e s p r o v i d e d b y t h e o r g a n i z a
//Telephone Directory
#include <iostream.h>
#include <fstream.h>
#include <string.h>
#include <iomanip.h>
#include <conio.h>
class phoneBook{
char name[20],phno[15];
public:
void getdata();
void showdata();
char *getname(){ return name; }
char *getphno(){ return phno; }
void update(char *nm,char *telno){
strcpy(name,nm);
strcpy(phno,telno);
}
};
void main(){
phoneBook rec;
fstream file;
file.open("d:\\phone.dat", ios::ate | ios::in | ios::out | ios::binary);
char ch,nm[20],telno[6];
int choice,found=0;
while(1){
clrscr();
cout<<"\n*****Phone Book*****\n";
cout<<"1) Add New Record\n";
cout<<"2) Display All Records\n";
cout<<"3) Search Telephone No.\n";
cout<<"4) Search Person Name\n";
cout<<"5) Update Telephone No.\n";
cout<<"6) Exit\n";
cout<<"Choose your choice : ";
cin>>choice;
switch(choice){
case 1 : //New Record
rec.getdata();
cin.get(ch);
file.write(( char *) &rec, sizeof(rec));
break;
subsystem level. The total project level has the advantage that all cost
components of the system will be considered while the subsystem level has
the advantage of providing a more detail reassessment of the similarities and
differences between the new project and the completed projects. The
strength of this method is that the estimate is based on actual project
experience. However, it is not clear to what extend the previous project is
actually representative of the constraints, environment and functions to be
performed by the new system. Positive results and definition of project
similarity in term of features were reported in [33].
Expert judgment
: :-This method involves consulting one or more experts. The experts provide
estimates using their own methods and experience. Expert-consensus
mechanisms such as Delphi technique or PERT will be used to resolve the
inconsistencies in the estimates. The
Delphi technique
works as follows:1) The coordinator presents each expert with a specification
and a form to record estimates.2) Each expert fills in the form individually
(without discussing with others) and is allowed to ask the coordinator
questions.3) The coordinator prepares a summary of all estimates from the
experts (including mean or median) on a form requesting another iteration of
the experts’ estimates and the rationale for the estimates.4) Repeat steps 2)-
3) as many rounds as appropriate. A modification of the Delphi
technique proposed by Boehm and Fahquhar [5] seems to be more effective:
Before the estimation, a group meeting involving the coordinator and experts
is arranged to discuss the estimation issues. In step 3), the experts do not
need to give any rationale for the estimates. Instead, after each round
of estimation, the coordinator calls a meeting to have experts discussing
those points where their estimates varied widely.
Parkinson
: Using Parkinson's principle “work expands to fi ll the available
volume” [28], the cost is determined (not estimated) by the available
resources rather than based on an objective assessment. If the software has
to be delivered in 12 months and 5 people are available, the effort is
estimated to be 60 person-months. Although it sometimes gives good
estimation, this method is not recommended as it may provide very
unrealistic estimates. Also, this method does not promote good software
engineering practice.
Price-to-win
:The software cost is estimated to be the best price to win the project. The
estimation is based on the customer's budget instead of the software
functionality. For example, if a reasonable estimation for a project costs
100 person-months but the customer can only afford p e r s o n - m o n t h s , i t
i s c o m m o n t h a t t h e e s ti m a t o r i s a s k e d t o m o d i f y t h e
e s ti m a ti o n t o fi t 6 0 person months’ effort in order to win the project.
This is again not a good practice since it is very likely to cause a bad delay of
delivery or force the development team to work overtime.
Bottom-up
:In this approach, each component of the software system is separately
estimated and the results aggregated to produce an estimate for the overall
system. The requirement for this approach is that an initial design must be in
place that indicates how the system is decomposed
26
into different components.
Top-down
:This approach is the opposite of the bottom-up method. An overall cost
estimate for the system is derived from global properties, using either
algorithmic or non-algorithmic methods. The total cost can then be split up
among the various components. This approach is more suitable for cost
estimation at the early stage.
Algorithmic methods:-
The algorithmic methods are based on mathematical models that produce
cost estimate as a function of a number of variables, which are considered to
be the major cost factors. Any algorithmic model has the form: Effort = f(
x
1
,
x
2
, …,
x
n
)where {
x
1
,
x
2
, …,
x
n
}
denote the cost factors. The existing algorithmic methods differ in two
aspects: the selection of cost factors, and the form of the function f. We will
first discuss the cost factors used in these models, then characterize the
models according to the form of the functions and whether the models are
analytical or empirical.
Cost factors:-
Besides the software size, there are many other cost factors. The most
comprehensive set of cost factors are proposed and used by Boehm et al in
the COCOMO II model [6]. These cost factors can be divided into four types:
Product factors
: required reliability; product complexity; database size used; required
reusability; documentation match to life-cycle needs;
Computer factors
: Execution time constraint; main storage constraint; computer turn around
constraints; platform volatility;
Personnel factors
: analyst capability; application experience; programming capability; platform
experience; language and tool experience; personnel continuity;
Project factors
: Multisite development; use of software tool; required development
schedule. The above factors are not necessarily independent, and most of
them are hard to quantify. In many models, some of the factors appear in
combined form and some are simply ignored. Also, some factors take discrete
values, resulting in an estimation function with a piece-wise form.
CONCLUSION;-
The aim of this project was to build an Telephone di
r e c t o r y through which allowed to add, search, delete contacts of
individual
27
andaccess toexternal memorydevice. At the completion of
t h i s project we are able to add, search and delete contacts
hence
thep r o j e c t i s c o m p l e t e d s u c c e s s f u l l y . A a p p r o x i m
ate model of T e l e p h o n e D i r e c t o r y w a s a s
e m b l e d u s i n g k e y p a d , l c d , microcontroller and
EEPROM.