Telecommunication System
Telecommunication System
1. INTRODUCTION
The Company has developed the following strategies to achieve its strategic objective:
Focus on maximizing revenues and margins;
Capture maximum telecommunications revenue potential with minimum
geographical coverage;
Offer multiple telecommunications services to provide customers with a "one-stop
shop" solution;
Focus on satisfying and retaining customers by ensuring high level of customer
satisfaction;
Leverage strengths of its strategic and financial partners; and
Emphasis on human resource development to achieve operational efficiencies.
MEGA TELESERVICES Private Limited will have 3 Strategic Business Units namely:
1. Fixed Line
2. Long distance
Fixed Line
MEGA TELESERVICES became the first private fixed-line service provider in
Netherlands, when the Company launched its fixed-line services in June 1998. The Company
has completed the construction of a 3,648-kilometer fiber optic backbone linking 29 cities.
Long Distance
MEGA TELESERVICES classifies its long distance business into the following
categories
The flow of work in the current system is manual in nature. Which involves whenever
a citizen needs a connection he must fill the application and submit it in the near by
authorized center of Mega Tele Services. Now the application will be forwarded to the next
level officer, if it is agreed the corresponding applicant profile must be maintained
manually. Similarly if the customer gave any compliant or enquiry kind of service, they
need to approach the office which involves manual work.
For these type of operations many number of employees are involved to sort
out any issue, they need to refer many books and manuals to take a decision. As we know
manual work is error prone.
Some times all the employees involved may not be coordinated properly to finish the
work in time.
Now for taking decisions no need to sort out many books manually
and to consult the other employees.
Now the customers need not wait for long time at telecom service
office’s regarding services..
Analysis is the detailed study of the various operations performed by a system and
their relationships within and outside of the system. A key question is: “What must be
done to solve the problem? One aspect of analysis is defining the boundaries of the
system and determining whether or not candidate system should consider other related
systems. During analysis, data are collected on the available files, decision points, and
transactions handled by the present system.
In a typical telecom service provider scenario customers raise their new connection
requests to the local Mega Tele Service Office (MTSO). The MTSO agent generally
gives them forms to fill up which are subsequently scrutinized and verified with the MTSO
provided features/ services as applicable and further verifications about the customer are
made. The local MTSO also connects to the branch exchange to verify the services
available and to identify if the exchange would need infrastructures up gradations. Traffic
analysis and availability of bandwidth and other technical validations are made. Further the
branch exchange goes through a sequence verification and document processing operations,
which are replicated at a city and subsequently at a national exchange level.
If any complaints received by the local “ Mega Tele Services Office (MTSO)“ then
based on the type of compliant work will be assigned to the corresponding MTSO
employees.
The enquires received by the local MTSO will be attended by the operator and send
the reply to the customer.
This is the flow of work they are implementing. Now they are expecting a web-based
application, which allows them to receive the new applications , complaints and enquiry
details etc. This facility saves customers waiting time at the MTSO. The application for
what they are looking is a good GUI characteristics with ease of work at front end level.
The functionally it should include all data accepting works from the customers
The client expecting the following Functional requirements from the computer
based system.
An application module to accept new permanent telephone
connection
An application module to accept temporary telephone connection
The pages should be loaded in a faster manner and results should be get back quickly
( This feature also depends upon the bandwidth of the network sources on which
customers using )
The Technological Requirements to Develop this application are :
Environment:
OS : Windows 2000/NT/Professional
S/w : J2SDK , Servlets, JSP , HTML
Design Methodology : UML
H/w : Pentium based systems with a minimum of PIII
RAM : 256MB
DB : MySql
Web Server : Tomcat 5.0
Economic Feasibility
Operational Feasibility
Technical Feasibility
Economical Feasibility:
It refers to the benefits or outcomes we are deriving from the product as compared to
the total cost we are spending for developing the product. If the benefits are more or less
the same as the older system, then it is not feasible to develop the product.
As this application doesn’t require much resources for development and once the
system is implemented no much maintenance is required . The maintenance doesn’t
recommended more resource but to keep the Web application in internet we need to pay for
Domain space in the Internet and an operator maintenance charges. Hence the application
can be Economically feasible.
Operational Feasibility:
It refers to the feasibility of the product to be operational. Some products may work
very well at design and implementation but may fail in the real time environment. It
includes the study of additional human resource required and their technical expertise.
After the completion of development the customers can access the application from
any where with the help of internet there is no operational problems for the system.
Technical Feasibility:
It refers to whether the software that is available in the market fully supports the
present application. It studies the pros and cons of using a particular software for the
development and its feasibility. .
As we are planning to use Java platform the application can be accessed from any
platform and H/w and in order to maintain performance aspects we will have plenty of
concepts in java such as Multithreading (to support more user with each user for a thread),
Networking concepts, Servelets ( to run web based applications)
3.1 JAVA:
Java is an object oriented, multi thread programming language developed by Sun
Microsystems in 1991. It is designed to be small, simple and portable across different
platforms as well as operating systems. The popularity of Java is due to its unique technology
that is designed on the basis of three key elements. They are the usage of applets, powerful
programming language constructs and a rich set of significant object classes.
The editor (i.e., where the programs are being written) can be Notepad, WordPad,
MS-DOS editor, etc…). This provides system input and output capabilities and other utility
functions in addition to classes that support networking, common Internet protocols and user
interface toolkit functions.
Java was designed to meet all the real world requirements with its key features, which
are explained in the following paragraphs:
Java was designed to be easy for the professional programmers to learn and use
efficiently. Java makes itself simple by not having surprising features. Since it exposes the
internal working of the machine, the programmers can perform his desired action without
fear. Unlike other programming systems that provide dozens of complicated ways to perform
a simple task, Java provides a small number of clear ways to achieve a given task. Secure
Today everyone is worried about safety and security. Using Java Compatible
Browser, anyone can safety download applets without fear of viral infections or malicious
intent. Java achieves this protection by confining a Java program to Java execution
environment and by making it inaccessible to other parts of the computer.
Portable.
In Java, the same mechanism that gives security helps in portability. Many types of
computers and operating systems are used throughout the world and are connected to the
Internet. For downloading programs through different platforms connected o the Internet,
some portable, executable ode is needed. Java’s answer to these problems is its well-designed
architecture.
Object-oriented.
Java was not designed to be source code compatible with any other language. Java
team gave a clean, usable, realistic approach to objects. The object model in Java is simple
and easy to extend, while simple types, such as integers, are kept as high-performance non-
objects. ust
Most programs in use nowadays fail of the two reasons: memory management or
exceptional conditions. Java forces the user to find mistakes in the early stages of the
program development. At the same time, Java frees the user from having to worry about the
most common causes of the programming errors. Java virtually rectifies the problem of
memory management by managing memory allocation and automatic memory reallocation
by providing garbage collection for unused objects.
Multithreaded.
The Java designers worked hard in attaining their goal “ write once; run anywhere,
anytime, forever” and as a result the Java Virtual Machine was developed.
A main issue for the designers was that of code longevity and portability. One of the
main problems is the execution speed of the program. Since Java is architecture-neutral it
generates byte code that resembles machine code, and are not specific to any processor
3.2 SERVLETS:
A servlet is a web component, managed by a container that generates dynamic
content. Servlets are small, platform independent Java classes compiled to an architecture
neutral byte code that can be loaded dynamically into and run by a web server. Servlets
interact with web clients via a request response paradigm implemented by the servlet
container. This request-response model is based on the behavior of the Hypertext Transfer
Protocol (HTTP).
The servlet container, in conjunction with a web server or application server, provides
the network services over which requests and responses are set, decodes MIME based
requests, and formats MIME based responses. A servlet container also contains and manages
servlets through their lifecycle. A servlet container can either be built into a host web server
or installed as an add-on component to a Web Server via that server’s native extension API.
Servlet Containers can also be built into or possibly installed into web-enabled Application
Servers. All servlet containers must support HTTP as a protocol for requests and responses,
but may also support other request / response based protocols such as HTTPS (HTTP over
SSL). The minimum required version of the HTTP specification that a container must
implement is HTTP/1.0. It is strongly suggested that containers implement the HTTP/1.1
specification as well.
A Servlet Container may place security restrictions on the environment that a servlet
can executed In a Java 2 Platform Standard Edition 1.2 (J2SE) or Java 2 Platform Enterprise
Edition 1.3 (J2EE) environment, these restrictions should be placed using the permission
architecture defined by Java 2 Platform. For example, high end application servers may limit
certain action, such as the creation of a Thread object, to insure that other components of the
container are not negatively impacted.
Separation of Roles
JSP supports the separation of roles: developers write components that interact with
server-side objects.
Reuse of components and tag libraries
The Java Server Pages technology emphasizes the use of reusable components such
as Java Beans™ components, Enterprise Java Beans™ components and tag libraries.
Separation of dynamic and static content
The Java Server Pages technology enables the separation of static content from
dynamic content that is inserted into the static template.
Support for scripting and actions
The Java Server Pages technology supports scripting elements as well as actions.
Actions permit the encapsulation of useful functionality in a convenient form that can also be
manipulated by tools; scripts provide a mechanism to glue together this functionality in a
per-page manner.
Web access layer for N-tier enterprise application architecture(s)
The Java Server Pages technology is an integral part of the Java 2 Platform Enterprise
Edition (J2EE), which brings Java technology to enterprise computing.
3.4 JDBC:
JDBC( Java Data Base Connectivity) is used to access the data stored in different
databases using the java programs. We can store information, retrieve it of modify the stored
information. To do all this we need a basic understanding of Structured Query Language
since we are going to manipulate the information with SQL only.
JDBC is a front-end tool for connection to server and is similar to ODBC. However,
JDBC can connect only Java clients and it uses ODBC for the connectivity. JDBC is
essentially a low level Application Programming Interface. It is called a low level API since
any data manipulation, storage and retrieval has to be done by the program itself.
Why we need JDBC is, once we have ODBC on hand, we can use the ODBC to
connect to all the databases and ODBC is a proven technology. Problem for doing this is
ODBC gives a ‘C’ language API, which uses pointers extensively. Since java does not have
pointers and is object oriented, Sun Microsystems, inventor of Java, developed JDBC to su9it
its need.
JDBC DRIVER TYPES:
There are various types of Drivers, identified by the sun, such that each one has some
unique features and facilitates a connection to the database.
1. the JDBC_ODBC bridge provides JDBC access via most ODBC drivers. Note that
some ODBC binary code and in many cases database client code must be loaded on
each client machine that uses this driver, so this kind of diver is most appropriate on a
corporate network, or for application server code written in java in a 3-tier
architecture.
2. A native-API partly-Java driver converts JDBC calls into calls on the client API for
Oracle, Sybase, Informix, DB2, or other DBMS. Note that, like the bridge driver, this
style of driver requires that some binary code be loaded on each client machine.
3. a net-protocol all Java driver translates JDBC calls into a DBMS-independent net
protocol, which is then translated, to a DBMS protocol by server. This net server
middleware is able to connect it all java clients to many different databases. The
specific protocol used depends on the vendor. In general. This is the most flexible
JDBC alternative. It is likely that all vendors of this solution will provide products
suitable for Intranet use. In order for these products to support Intranet access they
must handle the additional requirements for security, access through firewall, etc. that
the web imposes. Several vendors are adding JDBC drivers to their existing database
middleware products.
4. a native-protocol all-Java driver converts JDBC calla into the network protocol used
by DBMS’s directly. This allows a direct call from the client machine to the DBMS
server and is a practical solution for Intranet access. Since many of these protocols
are proprietary the database vendors themselves will be the primary source for this
style of driver . several database vendors have these in progress.
UML NOTATIONS:
UML is a notation that resulted from the unification of Object Modeling Technique,
Booch and OOSE. UML has been designed for a broad range of applications. Hence, it
provides constructs for a broad range of systems and activities.
Class diagrams :
Class diagrams are used to describe the structure of the system. Classes are
abstractions that specify the common structure and behavior of a set of objects. Objects are
instances of classes that are created, modified, and destroyed during the execution of the
system. Objects have state that includes the values of its attributes and its relationships with
other objects.
Class diagrams describes the system in terms of objects, classes, attributes, operations
and their associations.
Sequence diagrams:
Sequence diagrams are used to formalize the behavior of the system and to visualize
the communication among objects. They are useful for identifying additional objects that
participates in the use cases.
A sequence diagram represents the interactions that take place among these objects.
Statechart diagrams:
Statechart diagrams describe the behavior of an individual object as a number of
states and transitions between the states. A state represents a particular set of values for an
objects. Given a state, a transition represents a future state the object can move to and the
conditions associated with the change of state.
A statechart diagram focuses on the transitions between states as a result of external
events for an individual object.
Activity diagrams:
An activity diagram describes a system in terms of activities. Activities are states that
represent the execution of a set of operations. The completion of these operations triggers a
transition to another activity.
Activity diagrams are similar to flowchart diagrams in that they can be used to
represent control flow and data flow.
Once the software requirements have been analyzed and specified the software design
can be modeled with some sort of notations such as DFDs , UML notations to describe the
proposed solution to the Problem. These Notations allows us to understand complex ideas
clearly and serves as blue print for the proposed solution. These notations also reduce the
complexity associated with problem solving by converting problem in to a Graphical
Views.
The design activities are of main importance in this phase, because in this activity,
decisions ultimately effecting the success of the software implementation and its ease of
maintenance are made. These decisions have the final bearing upon reliability and
maintainability of the system. Design is the only way to accurately translate the customer’s
requirements into finished software or a system.
Home Page
Change Enter
Number Entry Complaint
App Enq for New App Enq for App Enq for App Enq for Enq for phone
Connection Phone TempPhone Modifications Cancellation
Transfer Connection
APPLICATIONS
ENTRIES
ENQUIRES
ACTOR ACTOR
USER COMPLIANTS SERVER
CLASS DIAGRAMS:
Class diagrams are used to represent the structure of a system in terms of objects,
their attribute, and relationships.
The following Class Diagram describes the classes that participate in the Applications
Use Case. For simplicity in the diagram we just ignore the members the class. .
The following Class Diagram describes the classes that participate in the Entries Use
Case. For simplicity in the diagram we just ignore the members of the classes.
1 administrator
1 initiator
Server
User
The following Class Diagram describes the classes that participate in the Enquiries
Use Case. For simplicity in the diagram we just ignore the members the class.
BillEnquiry
Application Enquiry
User Server
The following Class Diagram describes the classes that participate in the Complaints
Use Case. For simplicity in the diagram we just ignore the members the class.
Enter Complaints
User Server
SEQUENCE DIAGRAMS:
Sequence diagrams represent the system’s behavior in terms of interactions among a
set of objects. They are used to identify objects in the application and implementation
domains.
The following Sequence diagram describes the Applications Use Case ( Initiation
from the User side)
User Server
App . App. For Form
Button New Ph.
Conn.
press()
press()
create()
fillContents()
submit() createID()
acknowledgement()
STATECHART DIAGRAMS:
Statechart diagrams are used to represent the behavior of nontrivial objects. A UML
Statechart is a notation for describing the sequence of states in objects goes through in
response to external events. A state can be thought of as an abstraction of the attribute values
of a class.
The following statechart diagram is for Application For New Phone
Connection class.
Archived
ACTIVITY DIAGRAM:
This is Activity Diagram for new phone connection. Activity Diagram nothing but a
Flowchart. Activity diagrams are flow diagrams used to represent the date flow or the control
flow through a system
Get
Client Subscribe Required Form
Fill
And Submit
Error page
Retrieve
Content
Handle Appli
For New Ph Conn
Add error
acknowledgem
ent
Document Appli
Archive doc
with unique Id
Get
acknowledgem Add Req_ID
ent acknowledgemen
t
ACTIVITY DIAGRAMS:
Activity diagrams are flow diagrams used to represent the date flow or the control
flow through a system.
The following Activity diagram is for Application For New Phone Connection.
During the action state HandleApplicationForNewPhoneConnection, the server receives
details and allocates a connection. Once the ApplicationForNewPhoneConnection is closed,
the ApplicationForNewPhoneConnection moves to the
DocumentApplicationForNewPhoneConnection activityduring which Server document the
ApplicationForNewPhoneConnection. Finally, the
ArchiveApplicationForNewPhoneConnection activity represents the archival of the
ApplicationForNewPhoneConnection onto the database.
HandleApp.ForNe
wPh.Connection
DocumentApp.F
orNewPh.Conn
ArchiveApp.For
NewPh.Conn
MODULES SPECIFICATION
Level 0:
The application provides the following services which in turn map to be various sub
modules of the project.
1. Applications
2. Entries
3. Enquiries
4. Complaints
Level-1:
1.1. Application processing module has the following sub modules.
4.5 ARCHITECTURE:
Implementation Model
JDBC
Jdbc
MySql
client
Data Base
5. TESTING
Software testing is a critical element of software quality assurance and
represents the ultimate review of specification, design and coding. Testing is the
exposure of the system to trial input to see whether it produces correct output.
Testing Phases:
Software testing phases include the following:
Test activities are determined and test data selected.
The test is conducted and test results are compared with the expected results.
There are various types of Testing:
Unit Testing:
Unit testing is essentially for the verification of the code produced during the coding
phase and the goal is test the internal logic of the module/program.
This project is thoroughly tested by exposing it to the various test cases regarding correct
event generation, as this project passed all the tests its quality is completely assured.
But the date entry has no validation in this project .
Integration Testing:
All the tested modules are combined into sub systems, which are then tested. The goal is
to see if the modules are properly integrated, and the emphasis being on the testing interfaces
between the modules.
On this project integration testing is done mainly while implementing menus.
System Testing:
It is mainly used if the software meets its requirements. The reference document for
this process is the requirement document.
Acceptance Testing:
It is performed with realistic data of the client to demonstrate that the software is
working satisfactorily.
Testing Methods:
Testing is a process of executing a program to find out errors. If testing is conducted
successfully, it will uncover all the errors in the software. Any testing can be done basing on
two ways:
White Box Testing:
It is a test case design method that uses the control structures of the procedural design
to derive test cases. Using this testing a Software Engineer can derive the following test
cases:
Exercise all the logical decisions on either true or false sides. Execute all loops at
their boundaries and within their operational boundaries. Exercise the internal data structures
to assure their validity.
Black Box Testing:
It is a test case design method used on the functional requirements of the software. It
will help a software engineer to derive sets of input conditions that will exercise all the
functional requirements of the program. Black Box testing attempts to find errors in the
following categories:
Incorrect or missing functions
Interface errors
Errors in data structures
Performance errors
Initialization and termination errors
By Black Box Testing we derive a set of test cases that satisfy the following criteria:
Test cases that reduce by a count that is greater than one, the number of additional
test cases that must be designed to achieve reasonable testing.
Test cases that tell us something about the presence or absence of classes of errors
rather than errors associated only with a specific test at hand.
6. USER INTERFACE
7. CONCLUSION
The main intention of introducing this system is obvious one, to reduce the manual
work and to save the customers valuable time .
The customer is having a lot of flexibility to apply for a new connection, enquiring
for a bill or complaints to becomes easier now , because all the customers can access these
services from their desktop computers with the help of the internet.
But in this system, we just impalement up to the applications module. The remaining
modules have not been supported. Because they are interlinked with another database tables
and interfaces.
Anyway to we are using some dummy tables to run some important features of this
systems.
8. REFERENCES
1. UML Distilled
2. Software Engineering Concepts
3. Beginning JavaServer Pages (Wrox Programmer to Programmer)
4. Professional Java Server Programming (J2EE 1.3 Edition)
5. Java 2 Complete Reference by Schildt, Hervert
6. HTML(Ivan Bayross)
7. Design patterns (Gang of Four)
http://www.java.sun.com/apidocumentation.
http://www.mysql.com/documentation.