Академический Документы
Профессиональный Документы
Культура Документы
PROJECT PLANNING
1.1 PLANNING PROCESS
The key to the successful project is the planning process or phase. Creating a
project plan is the initial phase for undertaking any kind of project. Writing the planning
phase for project provides a structured framework
conducted.
1.2 PROJECT GOALS
The goal of the Telephone dictionary system is to display the telephone no with
code, name of the person and residential address of the person.
The people involved in this project are
Telephone administrator
User
a.) Telephone administrator
The person who is having authority or responsible for any operation such as
updation , addition, deletion of the database.
b.) User
The person who are in need of other persons details such as name, address and
telephone number. The Telephone dictionary system is used to analyse the other persons
details and view the name, address, telephone number.
1.3 PROJECT DELIVERABLES:
The deliverables of the Telephone directory Application include the following
Application
Documentation :
Source Code
the user.
Create a list of things that the project needs to deliver in order to meet the specified
goals.
The deliverables of Telephone dictionary system are
Administrator
The person who have right authority to update, add, delete new or old persons
details.
User
The person who has the right to view only the persons telephone number,
address
and name.
Authentication
Add an entry
Remove an entry
Look up
Change the phone number in entry
List all entries.
a.) Authentication
This module is mainly for signing in to have the authority of viewing the person
details. This is done by giving user id and password.
b.) Add an entry
The administrator have the right authority to add the new person details such as
name, telephone number and residential address.
The administrator can delete the specified persons details and update the database.
d.) Look up
The user or administrator can view the address of the person by entering the
telephone number.
e.) Change the phone number in entry
The administrator is responsible for changing the phone number in database.
f.) List all entries.
The user or administrator can view all the details of the person such as name,
telephone number and address.
1.5 GNATT CHART
Admin
User
The following are the functions for the administrator, update, add, Delete.
The following are the functions the user,
He/She has the rights to view the information no alteration can be made.
2.2.3 User Characteristics
There are various kinds of user for the product.
Usually web products are visited (or) viewed by various users for different
reasons.
They include
User-who is using the product to view the information through online,.
Admin-who is acting as the controller of the project.
2.2.4 General Constraints.
The admin entering into the system must use the correct id and password.
The information stored in the database are correct i.e., the telephone no, name,
address of the person.
2.2.5 Assumptions and Dependencies
The admin should have sufficient knowledge about how to use the system.
The user must know the English, as the interface is English.
2.3. Specific Requirements
2.3.1 External Interface Requirements
This part describes how the software interacts with other software products.
4. SOFTWARE ESTIMATION
The ability to accurately estimate the time and/or cost taken for a project to come
in to its successful conclusion is a serious problem for software engineers. The use of a
repeatable, clearly defined and well understood software development process has, in
recent years, shown itself to be the most effective method of gaining useful historical
data that can be used for statistical estimation. In particular, the act of sampling more
frequently, coupled with the loosening of constraints between parts of a project, has
allowed more accurate estimation and more rapid development times.
Parametric Estimating
Wideband Delphi
COCOMO
SLIM
The estimation of cost in the Dictionary application is performed using the basic
COCOMO (The Constructive Cost Model) model.
Basic COCOMO computes software development effort (and cost) as a function
of program size. Program size is expressed in estimated thousands of lines of code
(KLOC).
COCOMO applies to three classes of software projects:
1. Organic projects - "small" teams with "good" experience working with "less
than rigid" requirements
2. Semi-detached projects - "medium" teams with mixed experience working
with a mix of rigid and less than rigid requirements
3. Embedded projects - developed within a set of "tight" constraints (hardware,
software, operational, ...)
This model uses three sets of {a, b} depending on the complexity of the software only:
i.
ii.
iii.
The basic COCOMO model is simple and easy to use. As many cost factors are not
considered, it can only be used as a rough estimate.Basic COCOMO is good for quick
estimate of software costs. However it does not account for differences in hardware
constraints, personnel quality and experience, use of modern tools and techniques, and so
on.
4. SOFTWARE DESIGN
Unified Modelling Language (UML)
The Unified Modeling Language (UML) is a standard language for writing
software blueprints. A modeling language is a language whose vocabulary and rules
focus on the conceptual and physical representation of the system.
The primary goals of UML are:
Provide users with a ready-to-use, expressive visual modeling language so they can
develop and exchange meaningful models.
Provide extensibility and specialization mechanisms to extend the core concepts.
Be independent of particular programming languages and development processes.
Provide a formal basis for understanding the modeling language.
Support higher-level development concepts such as collaborations, frameworks,
patterns and components.
Diagrams in the UML
A diagram is the graphical presentation of a set of elements, Each UML diagram is
designed to let developers and customers view a software system from a different
perspective and in varying degrees of abstraction.
There are nine diagrams:
Class Diagram
Package Diagram
Component Diagram
Activity Diagram
Sequence Diagram
Collaboration Diagram
Deployment Diagram
These diagrams can be categorized as Structural and Behavioral diagrams. The first four
diagrams are structural and the next five are behavioral.
A) STRUCTURAL DIAGRAMS
Structural diagrams deal with the static parts and the behavioral diagrams deal
with the dynamic parts of the system. A type of diagram that depicts the elements of a
specification that is irrespective of time. This includes class, composite structure,
component, deployment, object, and package diagrams
DATA BASE
Name : char
Telephone No. : int
Address : Char
State : Char
District : Char
Add()
Delete()
Update()
search()
ADMINISTRATOR
Name : Char
Telephone No. : int
Address : Char
Add Entry()
Delete Entry()
Update Entry()
USER
Name : Char
Telephone No. : int
Address : Char
search()
Class diagrams are widely used to describe the types of objects in a system and
their relationships. Class diagrams model class structure and contents using design
elements such as classes, packages and objects. 2 Class diagrams describe three different
perspectives when designing a system, conceptual, specification, and implementation. 1
These perspectives become evident as the diagram is created and help solidify the
design. This example is only meant as an introduction to the UML and class diagrams
ADMINISTRATOR
USER
DATABASE
Web
Browser
Regiona
l Service
Login
DB
Main
Server
Dictiona
ry DB
B) BEHAVIOURAL DIAGRAMS
A type of diagram that depicts behavioural features of a system or business
process. This includes activity, state machine, and use case diagrams as well as the four
interaction diagrams.
The diagrams explaining the behaviour are called Behavioural Diagrams.
Behavioural diagrams put the object model as a dynamic model.
Login
Add Entry
User
Administrator
Delete Entry
Update
Look Up
The main purpose of the use-case diagram is to help development teams visualize
the functional requirements of a system, including the relationship of "actors" (human
beings who will interact with the system) to essential processes, as well as the
relationships among different use cases. Use-case diagrams generally show groups of use
cases either all use cases for the complete system, or a breakout of a particular group
of use cases with related functionality (e.g., all security administration-related use cases)
a.) ADMINISTRATOR
Database
Administrator
Login Accepted
Exit
b.) USER
User
Database
Prompt for viewing details of person
2: Login Accepted
3: Enter the new details of Person
5: Delete the Details of the Person
6: Person Details are Deleted and Updated
8: Exit
Database
Collaboration diagrams are also relatively easy to draw. They show the relationship
between objects and the order of messages passed between them. The objects are listed
as icons and arrows indicate the messages being passed between them. The numbers next
to the messages are called sequence numbers. As the name suggests, they show the
sequence of the messages as they are passed between the objects. There are many
acceptable sequence numbering schemes in UML. A simple 1, 2, 3... Format can be
used, as the example below shows or for more detailed and complex diagrams a 1, 1.1,
1.2, 1.2.1... Scheme can be used.
USER
Database
User
Create
Admin
Add person
Details
Logout
Delete Person
Details
Lookup
Operation
Select State
,District
Perform Search
Operation
Enter Website
User or
Admin
user
User Enter
Telephone no.
Admin
Add / Delete
Entry
Add Entry
Details
Delete Entry
Details
Update
Exit
Details are
display
Lookup
Search
Login
Telephone
Dictionary
Update
Add
Database
Delete
The telephone dictionary is implemented using visual basic 6.0 and Ms-Access.
As mentioned before the project consists of following modules.
Authentication
Add an entry
Remove an entry
Look up
Change the phone number in entry
List all entries.
IMPLEMENTATION
5.1 FORM 1
5.2 FORM 2
5.3 FORM 3
5.4 FOR M 4
5.6 CODING:
5.6.1 FORM 1
Private Sub Command1_Click()
Form5.Show
End Sub
Private Sub Command2_Click()
Form4.Show
End Sub
5.6.2 FORM2
Option Explicit
Dim db As Database
Dim rs As Recordset
Private Function fprvPopulateListview(vQuery As String)
fpubDBConnect
vpubDBRecordset.Open (vQuery)
With vpubDBRecordset
If .BOF = False Then
.MoveFirst
While Not .EOF
List1.AddItem (rs.Fields(0))
.MoveNext
Wend
End If
End With
vpubDBRecordset.Close
End Function
Private Sub Command1_Click()
Dim I As Integer
I=0
rs.MoveFirst
I=1
List2.AddItem (rs.Fields(0))
List3.AddItem (rs.Fields(1))
List4.AddItem (rs.Fields(2))
End If
rs.MoveNext
Wend
If I = 0 Then
MsgBox ("NO DATA FOUND")
End If
End If
End Sub
Private Sub Command2_Click()
Form1.Show
End Sub
Private Sub Form_Load()
Set db = OpenDatabase("E:\eswarrr\KUM.MDB")
Set rs = db.OpenRecordset("UPDATE")
End Sub
Private Sub Option1_Click()
Text1.Text = ""
List2.Clear
List3.Clear
List4.Clear
End Sub
Private Sub Option2_Click()
Text1.Text = ""
List2.Clear
List3.Clear
List4.Clear
End Sub
5.6.4 FORM 4
Dim db As Database
Dim rs As Recordset
Private Sub Command1_Click()
rs.MoveLast
rs.AddNew
rs.Fields(0) = Text1.Text
rs.Fields(1) = Text2.Text
rs.Fields(2) = Text3.Text
rs.Update
MsgBox (" person details are added")
End Sub
Private Sub Command2_Click()
rs.MoveFirst
a: If ((rs(0) = Text1.Text) And (rs(1) = Text2.Text) And
(rs(2) = Text3.Text)) Then
rs.Delete
Else
rs.MoveNext
If rs.EOF Then
MsgBox ("PERSON DETAILS CANCELLED")
End If
GoTo a:
End If
End
End Sub
Private Sub Command3_Click()
Text1.Text = " "
Text2.Text = " "
Text3.Text = " "
End Sub
Private Sub Command4_Click()
Form5.Show
End Sub
Private Sub Form_Load()
Set db = OpenDatabase("E:\eswarrr\KUM.MDB")
Set rs = db.OpenRecordset("UPDATE")
End Sub
6. SOFTWARE TESTING
Software testing is an investigation conducted to provide stakeholders with
information about the quality of the product or service under test. Software testing also
provides an objective, independent view of the software to allow the business to
appreciate and understand the risks at implementation of the software. Test techniques
include, but are not limited to, the process of executing a program or application with the
intent of finding software bugs.
Software testing can also be stated as the process of validating and verifying that
a software program/application/product:
1. Meets the business and technical requirements that guided its design and
development;
2. Works as expected; and
3. Can be implemented with the same characteristics.
Testing method s:
Testing levels:
Unit testing
Integration testing
System testing
Regression testing
Acceptance testing
Alpha testing
Beta testing
Non-functional testing:
Stability testing
Usability testing
Security testing
Destructive testing
Software testing is a critical elements of the software quality assurance and represents
the ultimate review of the specification, design, and code generation. Testing is a process
of executing a program with the intent of finding an error. Once source has been
generated software must be tested to uncover as many as errors as possible before
delivery to you customer.
6.1 Unit Testing:
Unit Testing is normally considered as an adjunct to the coding step. After source
level code has been developed, reviewed, and verified for correct syntax, and unit test
case design begins. A review of design information provides guidance for estimating test
cases that are likely to uncover errors in each of other categories. Each test case should
be coupled with a set of expected results.
6.2 Integration Testing:
Integration testing is a systematic technique for constructing the program
structure while conducting testes to uncover errors associated with interfacing. The
objective is to take the unit tested modules and build a program structure that has been
dictated by design.
6.3 Black Box Testing:
Black Box Testing focuses on the functional requirements of the software. Black
Box testing enables the software engineer to drive sets of input conditions that will fully
exercises the entire functional requirement for a program. Black Box testing attempts to
find errors in the following categories.
1. Incorrect or Missing functions
2.
Interface errors.
Admin Login
Expected Result
Actual Result
Status
Pass
Pass
Pass
Search Key
By City
Pass
Add Entry
Delete Entry
Navigation Conditions:
Pass
pass
S No.
Test
Expected result
Status
Keyboard
Fail
shortcut to
keyboard
condition
1.
menu
2.
Keyboard
shortcut to
keyboard
Fail
menu items
3.
4.
Button access
to screens
Modal
dialogs
Pass
Pass
Application
instances
Fail
6. SOFTWARE DEBUGGING
Debugging is a methodical process of finding and reducing the number of bugs,
or defects, in a computer program or a piece of electronic hardware, thus making it
behave as expected. Debugging tends to be harder when various subsystems are tightly
coupled, as changes in one may cause bugs to emerge in another. Many entire books
have been written about debugging (see below: Further reading), as it involves numerous
aspects, including: interactive debugging, control flow, integration testing, log files,
monitoring, memory dumps, Statistical Process Control, and special design tactics to
improve detection while simplifying changes.
The purpose of debugging is to locate and x the offending code responsible for a
symptom violating a known specication. Debugging typically happens during three
activities in software development, and the level of granularity of the analysis required
for locating the defect differs in these three.
The rst is during the coding process, when the programmer translates the design
into an executable code. During this process the errors made by the programmer in
writing the code can lead to defects that need to be quickly detected and xed before the
code goes to the next stages of development. Most often, the developer also performs
unit testing to expose any defects at the module or component level. The second place for
debugging is during the later stages of testing, involving multiple components or a
complete system, when unexpected behavior such as wrong return codes or abnormal
program termination (abends) may be found. A certain amount of debugging of the test
execution is necessary to conclude that the program under test is the cause of the
unexpected behavior and not the result of a bad test case due to incorrect specication,
inappropriate data, or changes in functional specication between different versions of
the system. Once the defect is conrmed, debugging of the program follows and the
misbehaving component and the required x are determined. The third place for
debugging is in production or deployment, when the software under test faces real
operational conditions. Some undesirable aspects of software behavior, such as
inadequate performance under a severe workload or unsatisfactory recovery from a
failure, get exposed at this stage and the offending code needs to be found and xed
before large-scale deployment. This process may also be called problem determination,
due to the enlarged scope of the analysis required before the defect can be localized.
The activities that involve debugging, testing, and verification in a typical software
development process
Debugging techniques
Print debugging is the act of watching (live or recorded) trace statements, or print
statements, that indicate the flow of execution of a process.
Often the first step in debugging is to attempt to reproduce the problem. This can be a
non-trivial task, for example as with parallel processes or some unusual software bugs.
Also, specific user environment and usage history can make it difficult to reproduce the
problem.
After the bug is reproduced, the input of the program needs to be simplified to
make it easier to debug. For example, a bug in a compiler can make it crash when
parsing some large source file. However, after simplification of the test case, only few
lines from the original source file can be sufficient to reproduce the same crash. Such
simplification can be made manually, using a divide-and-conquer approach. The
programmer will try to remove some parts of original test case and check if the problem
still exists. When debugging the problem in a GUI, the programmer can try to skip some
user interaction from the original problem description and check if remaining actions are
sufficient for bugs to appear. To automate test case simplification, delta debugging
methods can be used.
After the test case is sufficiently simplified, a programmer can use a debugger
tool to examine program states (values of variables, plus the call stack) and track down
the origin of the problem(s). Alternatively, tracing can be used. In simple cases, tracing is
just a few print statements, which output the values of variables at certain points of
program execution.
Remote debugging is the process of debugging a program running on a system
different than the debugger. To start remote debugging, debugger connects to a remote
system over a network. Once connected, debugger can control the execution of the
program on the remote system and retrieve information about its state.
Post-mortem debugging is the act of debugging the memory dump (or core dump) of a
process. The dump of the process space could be obtained automatically by the system,
or by a programmer-inserted instruction, or manually by the interactive user. Crash
dumps (core dumps) are often generated after a process has terminated due to an
unhandled exception.
TELEPHONE DICTIONARY