Beruflich Dokumente
Kultur Dokumente
The development of Project is a very hard work and is not possible without proper guidance and
suggestions and this project report itself is an acknowledgement to the sincere efforts of all individuals
who have contributed to it for its completion. I take this opportunity to express my sincere gratitude to all
those who have helped me in various ways in the successful completion of my project report.
First of all I pay my sincere gratitude to honorable Ms. Vijeta Kumawat (HOD CS and IT
Department) and all the respectable members of Uttam Devi Mohan Lal College of Engineering, Jaipur.
I want to give my deep appreciation and regards to my guide Mr. Kanak Kumar Kanak for his
great efforts, helpful suggestions, and proper guidance. He has been always a great source of inspiration
to me and under his guidance I have done my work better.
Also, I extend my heartfelt gratitude towards my family and my friends, who also helped me to
boost my spirit, giving me unending support during the tough times and lending me helping hands
whenever needed. I also express my indebtedness to my friends for their great suggestions and hints. I
want to thank my Parents and family members who were by my side for every wrong move I made, for
moments I felt disgusted or unable to solve my problem, I thank them for having so much confidence in
me.
And above all I am thankful to God who gave me the inspiration and power to complete my
work.
INDEX
1. Introduction..................................................................................... 1
1.1.
Goal....................................................................................... 2
1.2.
Objective 2
1.3.
Features ......................3
1.4.
Scope..................................................................................... ..4
1.5.
2.2.
2.3.
SRS Fundamentals..9
Users of SRS ..10
SRS Principles 11
4.2.
5.2.
5.3.
7.2.
Integration Testing 33
7.3.
7.4.
....42
24
INTRODUCTION
FunChat Server is an online system developed for the group of members to communicate with each other
over the internet. This system solves almost all the limitations of the conventional system. Both the
students and teachers and the company are equally benefited by the proposed system. The system saves a
lot of time and effort for both. We are introducing new software called FunChat Server for chatting
purpose. We can say thoroughly that this software is very useful for the college. It is mainly designed for
the college to reduce the communication gap between the different peoples in a college.
1.1. Goal
Chatting has long been considered a recreational activity by many. C h a t t i n g online is no exception.
The FunChat Server is ideally suited for passing the messages from one user/client to other
user/client with animated smilies also. The goal of this application is to develop a API based
interface for online chatters. The system would be easy to use and hence make the chatting experience
pleasant for the users. The goal of this application is
To develop an easy to use API based interface where user can interacts with other persons.
To make a multi-threaded Client Chat server.
1.2.
Objective
Functional : Firstly, a system design should be functional in that may successfully support the user
requirements.
Efficient : A system must be able to meet the functional requirements within a specified time frame.
A user of the system will quickly become disillusioned if delays were unacceptable, and agreed time
scales were not achieved.
Flexible : All organisational systems should be dynamic and should be designed to be dynamic. They
are affected by internal growth and politics, staff resignations and appointments. Consequently
information systems designed to support the operational requirements to meet new needs as they
become apparent.
Portable : Portability is closely linked to independence rate of technological changes means that
investment in existing systems would only be preserved if the designer takes effective measures to
ensure that only a minimum of conversion work is required to transfer a system from one computing
environment to another.
Secure : Data are costly and hence, valuable organisational asset and so, any system that collects and
processes them must be resistent to breachesof provace and confidentiality.
Reliable : Integrity is another feature of a good design. A system is said to be having good integrity
when all the desired data are accurately recorded, without omission and stored on the computer safely
so that they are not accidently or deliberately corrupted or lost.Thus a system must be trustworthy and
accurate and it must wxhibit these qualities.
Economical : The need for a design, which demands minimum storage for data and programs is
probabely a feature, which has become less important, hardware costs rapidly decline. Nevertheless,
minimiizing the amount of redundant data stored by a system reduces problems associated with
amendment, insertion and deletion of data.
1.3.
Features
It can work with or without internet connection.
1.4.
Scope
Our project can be used in any organization, schools, colleges, companies and anywhere where a network
(LAN) is present. The user who wants to use this software should know the IP address of the server
computer (by whom he/she wants to connect). User enters the IP address of the server computer and
his/her nick name by a click on the connect button he can connect to the chat server, where he/she can
change his/her room and chat with other users who are online at that time in same room.
1.5.
1.5.1.
Hardware Specification
Minimum Requirement
Intel Pentium Class
600 MegaHertz
128 MB
100 MB
VGA
Processor
RAM
Minimum Disk Space Required
Monitor
- Win 2000/XP/VISTA
Platform.
Database
- XML
Recommendation
Higher
256 MB
200MB
Super VGA
1.
The purpose of System Requirements Analysis is to obtain a thorough and detailed understanding of the
business need as defined in Project Origination and captured in the Business Case, and to break it down
into discrete requirements, which are then clearly defined, reviewed and agreed upon with the Customer
Decision-Makers. During System Requirements Analysis, the framework for the application is developed,
providing the foundation for all future design and development efforts.
System Requirements Analysis can be a challenging phase, because all of the major Customers
and their interests are brought into the process of determining requirements. The quality of the final
product is highly dependent on the effectiveness of the requirements identification process. Since the
requirements form the basis for all future work on the project, from design and development to testing
and documentation, it is of the utmost importance that the Project Team create a complete and accurate
representation of all requirements that the system must accommodate. Accurately identified requirements
result from effective communication and collaboration among all members of the Project Team, and
provide the best chance of creating a system that fully satisfies the needs of the Customers.
The primary goal of this phase is to create a detailed Functional Specification defining the full set
of system capabilities to be implemented, along with accompanying data and process models illustrating
the information to be managed and the processes to be supported by the new system. The Functional
Specification will evolve throughout this phase of the SDLC as detailed business requirements are
captured, and as supporting process and data models are created, ensuring that the eventual solution
provides the Customers with the functionality they need to meet their stated business objectives.
2.1.
Information Gathering
As the goal of the application is ease of use and to provide an interactive interface, extensive
research has been done to gain an insight into the needs and behaviors of various users. The working of
the application is made convenient and easy to use for the end user. Dr Andresen, Associate Professor,
CIS provided regular feedback on the project.
Users can be classified into two types based on their knowledge of the products that suit their
needs. They can be classified as users who know about the product that would satisfy their needs and
users who have to figure out the product that would satisfy their needs. Users who know about the
product should be able to find the product easily with the click of a button. Such users can search for the
product by using the product name as the search term. Users who have to figure out the product that
would satisfy their needs could use a search term to find a list of products and then should be able to
filter the results based on various parameters like product type, manufacturer, price range, platform
supported etc.
The users should be able to view the complete specification of the product and various images
at different Zoom levels. The user should be able to read the customer reviews for the product and the
ratings provided. They should be able to write their own reviews. They should be able to print out the
specifications for a product or email the product page to a friends etc.
To increase the ease of use the user should be able to add a product to the shopping cart by
dragging a product and dropping it in the shopping cart. A user should able to edit the contents of a
shopping cart. They should be able to update the quantities of the products added to the cart and remove
the products from the cart. The user should be able to remove the product from the shopping cart by
dragging the product and dropping it outside the cart.
The application can be made interactive by pop up messages when a product has been dropped
in to the shopping cart or out of the shopping cart. The user can be notified if the cursor enters a drop
area and the object that could be dropped. Also users are impatient making it important to load pages
soon.
Other than this, I did a lot of research on various other methods of building this application
which and was able to incorporate a few stronger features into the application. The tools and controls
used in the application are recommended HTML controls and PHP which improves the navigation and
usability and interactivity.
2.2.
System Feasibility
Economic Feasibility
The project is economically feasible as the only cost involved is having a computer with the
minimum requirements mentioned earlier. For the users to access the application, the only cost involved
will be in getting access to the Internet.
2.2.2.
Technical Feasibility
To deploy the application, the only technical aspects needed are mentioned below: Operating
Behavioral Feasibility
The application requires no special technical guidance and all the views available in the application are
self explanatory. The users are well guided with warning and failure messages for all the actions taken.
3.1.
SRS Fundamental
3.2.
Users of SRS
The SRS is typically used by the following entities:
Customers and users for understanding what they are expected to get,
Project managers to estimate and plan the project to deliver the system,
Designers and programmers to know what to build,
Testers to prepare for testing activities,
Maintenance teams for understanding the system that they will maintain,
trainers to prepare training material for training the end users,
Users to understand the proposed system and prepare for the change over.
3.3.
SRS Principles
3) Establish the context in which software operates by specifying the manner in which other system
components interact with software.
4) A system specification in which the system operates and indicates how a highly intertwined
collection of agents react to stimuli in the environment.
5) A specification must be operational.
Characteristics of SRS
1) Completeness
6) Ranking
2) Clarity
7) Modifiability
3) Correctness
8) Traceability
4) Consistency
9) Feasibility
5) Verifiability
Components of SRS
1) Functional Requirements
2) Performance requirements
3) Design Constraints
4) External In interface Requirements
4. SYSTEM ANALYSIS
After carefully analyzing the requirements and functionality of the application, I had one important
diagram by the end of the analysis phase. They are the ER diagram and data flow diagram which were
the basis for finding out entities and relationships between them, the flow of information.
Message
Client
Server
Login
ss
Me
e
ag
Mess
ag
e
Receive
Message
Send
Message
g
sa
s
e
M
e
4.1.
Client
g
sa
s
e
M
e
4.2.
The UML has become the de-facto standard for building Object-Oriented software and is widely used in
the software industry. It is a notation for expressing object-oriented analysis and design and is
independent of the language, or languages, that are used to implement a system. It provides a means to
write systems blue prints outlining system functionality and describing programming language
statements, database schemas and reusable software components.
The project team has chosen the UML to outline the design of the system for several reasons.
The system will be developed using several programming languages such as Java, ASP, HTML,
so it is important that the design notation used is language independent.
By using a modeling language, the system is specified before coding begins, and the team
members have a clear understand of how the system will work and the responsibilities involved in
developing the various parts of the system.
Using the UML can be a means of avoiding design errors. Bad design can cause a lot of problems
when coding begins, especially with a strongly Object Oriented language like Java.
Another benefit to using the UML is that it stops the system design documentation from
becoming too detailed and confusing. During coding it is easy to become weighed down with
detail making it difficult to identify the main components of the system, relationships between
objects, and how they communicate with each other. Making design changes becomes more
difficult time progresses. The UML allows the definition of a precise, yet high level, design
before coding begins.
The project team has used UML diagrams to describe the overall system design and the various
4.2.1.
The purpose of the UML use case diagram is to illustrate the interactions between users and the main
parts of a system. It is generally the first step in project design and is particularly useful in planning
and controlling an iterative system.
Use case diagrams consist of actors, depicted by stickmen, which represents the end-user of the
system. These actors may be people, or other systems, which require some functionality from the
system. The use cases are represented by ellipses and capture a particular area of system functionality.
Arrows represent relationships between use cases and between the actors and use cases.
The complexity of the use case diagram depends on the level of granularity employed during its
creation i.e. the level of detail encompassed with in each use case. It is advised that the diagram
should be kept as simple as possible. It should describe the functionality of the system from the user
point of view.
1. Login
FunChat Server allows users to login via the login window using their username/nickniame. Users
also give the server name. An error message will result if invalid details are entered.
2.1.
2.2.
A Valid Scenario
User in Login Window.
User inputs Username/Nickname and Server name/Server IP address.
FunChat Server authenticates user.
User is logged into FunChat Server.
An Invalid Scenario
User in Login Window.
User inputs Username/Nickname and Server name/Server IP address.
FunChat Server authentication for user failed : Wrong Server name or IP
address.
FunChat Server sends error message.
2. General Room
The user enters the General room once successful login into FunChat has occurred.
2.2. Logout
The user is able to logout of FunChat Server via the General Room.
4.2.2.
Sequence Diagram
Sequence diagrams are used to model the way a system may potentially be used. They are generally
based on a particular use case or on part of that use case. Sequence diagrams model the flow of logic
within the system in a visual manner, and are commonly used for both analysis and design purposes.
The boxes or rectangles across the top of the diagram represent classifiers or their instances i.e.
typically use cases, objects, classes, user interfaces, or actors. Actors initiate and take an active part in
usage scenarios and therefore are also included in sequence diagrams.
Vertical dashed lines, connected to the classifiers, depict lifelines and these represent the life span
of the object during the scenario being described. Long, thin boxes on the lifelines are called methodinvocation boxes and they indicate that processing is being performed at that time, by the target
object, to fulfil a function. Messages are indicated as labelled arrows, where the labels contain brief
text describing the information being communicated between the classifiers.
The following sequence diagrams that depict the sequence of control flow between modules of
FunChat Server when actions are performed by users as portrayed in the Use Cases.
1. Server Startup
The sequence diagram illustrated in figure shows how the server loads at runtime.
1.
2.
3.
4.
Figure Shows :
1. The user enters his nickname and server name through the Client Application. The Client
Application sends a reference of itself to the Server Application.
2. The Server Application verifies the username with the logger.
3. The Logger Validates the username with the temporary database, and retrieves the user
4.
5.
6.
7.
8.
9.
10.
information.
The Database returns the information to the logger.
The Logger returns the information to the Server Application.
The Server Application creates a Client Interaction Thread to be associated with the client
The Client Interaction Thread returns control to the Server Application.
The Server Application sends a reference of the Client Interaction Thread to the General Room
The General Room Returns.
The Server Returns a reference of the General Room to the Client Application.
Figure shows:
1. The user sending the message inputs the message to the Client Application. The client application
sends the message to the General Room.
2. The General Room Sends the message to all client interaction threads for clients currently in the
General Room. The General Room returns to the Client Application.
3. Each Client Interaction thread sends the chat message to their associated client.
4. Each Client Interaction thread returns.
4. Private Room Chat
The sequence diagram illustrated in figure below shows the sequence of events that occur when a user
sends a message to chat in the private Room Chat.
Figure shows:
1. The User (Sender) sends the chat message through the Client Application. The Client Application
sends this message to the Private Room.
2. The Private Room sends the chat message to the logger to enter it into the database.
3. The Logger Returns
4. The Private Room sends the message to all Client Interaction threads currently in the Private
Room. The Private Room returns to the Client Application of the sender.
5. The Client Interaction Threads send the chat message to their Client Application.
6. The Client Applets return.
4.2.3
Class Diagram
Class diagrams are generally thought of as the backbone to any system. They describe the objects or
classes of a system and their relationships with other classes. In class diagrams the classes are
represented by rectangles divided into three compartments. The top compartment contains the name
of the class. The middle compartment contains a list of important attributes (variables) and the bottom
compartment contains a list of the main operations (functions) of that class.
The purpose of class diagram may be to highlight a particular part of the system, or to represent
the system in general. Associations/Relationships represent static relationships between classes. They
are symbolized by arrows connecting two or more classes. A key aspect of an association between
classes is its cardinality or multiplicity. This corresponds to relationships in the ER diagramming. The
multiplicity of an association indicates the number of instances of one class, which are linked to one
instance of the other class.
This class diagram shows the classes that make up the chat server system, currently under
development. The diagram explains how each class with in the program relates to another. The Chat
Interface represents the Chat Room Window on which the Chat Application will run. Each time an
application is activated by a user i.e. logging in to chat room, an instance of the ChatAppletThread is
created. This in turn creates a socket and communicates with the chat server so that messages can be
sent. There can be multiple instances of the ChatApplicationThread. These instances represent the
multiple users of a particular chat room. The ChatApplicationThread communicates with one instance
of the ChatServerThread class. The ChatServerThread represents a particular chat room. There may
be many instances of this class at any one time i.e. there may be many different chat rooms to choose
from. The diagram shows how there is one main ChatServer class and can be called on by many
ChatServerThread classes.
4.2.4
Activity Diagram
An activity diagram forms the visual "blueprints" for the functionality of the system, as described and
detailed in the use cases. The threads of execution throughout the Activity Diagrams enable the
developers to understand and monitor the development of system. Activity diagrams are useful when
it is necessary to show how the behaviors in several use-cases interact with each other or to describe
parallel behaviors. It is similar, to a certain extent, to a flow chart but it differs however, in that it
expressly supports parallel activities and their synchronization.
The activity diagram notation consists of rectangular boxes, which contain the activity name. This
name should be descriptive of the actual activity it represents. Action flow lines, represented by
arrows show the order in which the activities are carried out. If an activity can be carried out several
times an asterix is inserted beside the activity to signify this iteration.
The activity diagram shows the sequence of activities during a chat room session. The user
enters his user-name (nickname) in the log on process and select the chat room. These are verified
and, if valid, a socket connection with the Chat Server is established. If for some reason the
connection with the server is not successful, an error message is displayed. Once the connection is
successfully established, the user may begin chatting. The server receives the input strings and
displays them in the chat room. This is an iterative process and may continue until the user decides to
leave the chat room.
5.
The design phase focuses on the detailed implementation of the system recommended in the feasibility
study. The design phase is a transition from a user oriented document to a document oriented to the
programmers or database personnel. Systems design goes through two phases of development:
Logical Design
The DFD so far are known as logical data flow diagrams. They specify various logical processes
performed on data, ie the type of operations performed. A logical DFD does not specify who does the
Operations, whether it is done manually or with a computer and also where it is done. A physical DFD
specifies these.
Physical Design
A physical DFD is easily drawn the fact gathering stage. A physical DFD is a good starting point in
developing logical DFD; it is some times useful to depict physical movement of materials.
The data flow diagram shows the logical flow of a system and defines the boundaries of the
system. For a candidate system, it describes the inputs (source), outputs (destination), database (files)
and procedures (data flow), all in a format that meet the user's requirements.
5.1.
Input Design
Input design is the process of converting user-originated inputs to a computer based format, Input data
are collected and organized into a group of similar data. Inaccurate input data is the most common cause
of data processing errors. Effective input design minimizes errors made by data entry operators. The
goal of designing input data is to make data entry as easy, logical and free from errors as possible. In
addition to the general form considerations such as collecting only required data, grouping similar or
related data, input design requires consideration of the needs of the data entry operator, m entering data,
an operator needs to know the following: -
5.2.
Output Design
Computer output is the important and direct source of information to the user. Efficient, Intelligible
Output design should improve the system's relationships with the user and helps in decision making.
They also provide a permanent hard copy of these results for later consultation.
The various types of outputs required by the system are given below:
External Output: whose destination is outside the concern and requires special attention.
Internal Output: whose destination is within the concern and requires careful design because
they are the user's main interface within the computer.
5.3.
Code Design
The purpose of coding is to express the program logic in the best possible way and to the check it. The
main reasons for coding are:
1. Unique Identification - Each item in a system should be identified uniquely and correctly.
2. Cross referencing - Diverse activities in an organization give rise tiaras actions in different sub
systems but affect the same item, efficient storage. Code is a concise representation it reduces data
entry pme and improves reliability, Code as a key reduces storage space required for the data,
Retrieval based on a key search is faster in a computer.
1. Serial Numbers. This method is that it is concise, precise and expandable. It is however not
meaningful.
2. Block Codes. The block codes use blocks of serial numbers. This code is Expandable and more
meaningful than the serial number coding. It is precise but not comprehensive.
3. Group classification code. This is an improvement on the block code and is more meaningful.
Code Efficiency: It is often said that readability of a program is much more important than the
intricacies of its code. Steps, which can be taken at the coding stage, will include:
6.
METHODOLOGY
When you are designing distributed applications, you must consider availability and performance. A
common solution is to include a data store on the client system. Typically, the client will require a
lightweight data store as a result of limited resources. This approach poses a challenge for data
synchronization between heterogeneous data stores. One resolution to this problem is a Java-based
approach using JDBC. Distributed databases use a client/server architecture to process information
requests.
Server Side:
Server controls, manages the entire system and stores the complete details regarding their client.
And when request arises, authentication is done and the server provides the details for the
corresponding ones. The server will do the entire work as a background process. The user does not
have any interaction with servers. In this system the data request once arrived, is accepted from
client and. according to the client's request and sent the data.
Client Side:
This Client-side software will always interact with users working as the front-end. First of all a
connection is established with server. Then make appropriate request for data. Display the data in
the user requested format. Getting specification from the user is the main functionalities of the client
side and passes it to server side for processing.
Java Socket Programming
In client/server applications, the client and server components usually do not reside on the same computer
(i.e., the client could be installed on a computer that is different from the one hosting the server
installation); yet logically they are components of the same application. To enable the client and server
components to communicate with each other over a network, systems often rely heavily on sockets.
Because Java provides the required capabilities for developing socket-based applications
relatively easily and hides all the complexity involved, Java developers have an advantage in providing
quick solutions to networking problems.
The server listens on the port to which it is bound and waits for incoming requests.
2.
When it receives a connection request, it creates a socket and associates the new connection to
that socket.
3.
From then on, the client will communicate with the server via this newly created socket
(although it is not aware of it).
Imagine achieving this setup using native code. It would be a lot of work, and if you weren't
aware of the low-level constraints (like many developers), you would end up producing poor quality code.
Luckily, the Java socket APIs are well tested and used by a large group of developers, which ensures that
all possible hidden issues are caught and addressed. That is why developers using Java can produce highquality client/server applications based on sockets.
7.
SYSTEM TESTING
1. Detection of Error
If a code is designed which is able to detect the two types of common errors namely single transcription
and transposition errors, It will be reasonably good. Such code is called modules-11 code. In this check
a set of codes they are transformed to another set of codes with error detecting property and represents
the ultimate previews of specifications, design and coding. Testing represents an interesting anomaly for
the software. Doing the earlier definition and development phase it was attempted to build software
from an abstract concept to a tangible implementation
The main objectives of testing are: Testing is a process of executing a program with the intent of finding an error. A good test case
is one that has a high probability of finding an as yet undiscovered error. A successful test is one that
uncovers as yet undiscovered error. The above objectives imply a dramatic change in view point. They
move counter to the commonly held view that a successful test is one in which no errors are found. Our
objective is to design tests that systematically uncover different classes of errors and do so with a
minimum amount of time and effort.
If testing is conducted successfully it will uncover errors in the software. As a secondary
benefit, testing demonstrates that software function appears to be working according to specification and
that performance requirement appears have to been met. In addition, data collected as testing is
conducted provides a good indication of software reliability and some indication of the software quality
as a whole, but there is one thing that testing cannot do.
The various steps of testing the system can be listed as given below.
Running the program to identify any errors (whether syntax or semantic) that might have
occurred while feeding the program into the system.
Applying the screen formats to regulate users to gauge the extend to which the screens are
comprehensible to the user.
2. Testing correctness
The following ideas should be part of any testing plan :
1. Preventive Measures
2. Spot checks
3. Testing all parts of the program
4. Test Data
5. Looking for trouble
6. Time for testing
7. Re-testing
7.1.
Unit Testing
As this system was partially GUI based Web application, the following were tested in this phase
1. Tab Order
2. Reverse Tab Order
3. Field Length
4.
every module in all respects and got the desired output. Each module has been tested found working
properly.
7.2.
Integration Testing
Test data should be prepared carefully since the data only determines the efficiency and
accuracy of the system. Artificial data are prepared solely for testing. Every program validates the input
data.
7.3.
Validation Testing
In this, all the code modules were tested individually one after the other. The following were
1. Loop Testing
2. Boundary Value analysis
3. Equivalence Partitioning Testing
In our case all the modules were combined and given the test data. The combined module works
successfully without any side effect on other programs. Everything was found fine working
7.4.
Output Testing
This is the final step in testing. In this the entire system was tested as a whole with all forms,
system testing
Black Box testing methods focus on the functional requirement of the software. That is, Black
Box testing enables the software engineer to derive sets of input conditions that will fully exercise all
functional requirements for a program. Black Box testing attempts to find errors in the following
categories; incorrect or missing functions, interface errors ,errors in data structures or external database
access .performance errors and initialization error and termination errors.
8. SYSTEM IMPLEMENTATION
Implementation is one of the most important tasks in project. Implementation is the phase, in which one
has to be cautions, because all the efforts undertaken during the project will be fruitful only if the
software is properly implemented according to the plans made.
The implementation phase is less creative than system design. It is primarily concerned with
User-Training, Site Preparation and File conversation. When the Manager's system is linked to terminals
on remote sites, the telecommunication network and tests of the network along with system are also
included under implementation.
Depending upon the nature of the system, extensive user training may be required. Programming
itself is a design work. The initial parameters of the management information system should be modified
because of programming efforts; programming provides a reality test for the assumptions made by the
analyst. System testing checks the readiness and accuracy of the system of the system access update and
retrieve data from new files. Once the program becomes available, the test data are read into the computer
and processed. In most conventions, parallel run was conducted to establish the efficiency of the system.
Post Implementation Review
Post implementation review means changing from one system to another. The objective is to put
the tested system in to operation while holding cost's risks and personal irritation to a minimum involves.
1. Creating computer compatible files.
2. Training the operating staff.
3. Installing terminals and hardware.
The definition of software maintenance can be given by describing four activities that are under
taken after the program is released for use. The first maintenance activity occurs since it is unreasonable
to assume that software testing will uncover all errors in a large software system. The process of including
the diagnosis and correction of one or more errors is called Corrective maintenance.
The second activity that contributes to a definition of maintenance occurs since rapid change is
encountered in every aspect of computing .There for adaptive maintenance modifies software properly
interface with changing environment.
Third activity involves recommendations for new capabilities, modifications to the existing
functions and general enhancements when the software is used. To satisfy request perspective
maintenance is performed.
The fourth maintenance activity occurs when software is changed to improve future
maintainability or reliability .this is called preventive maintenance.
A computer system is secure if neither its ability to attain its objective nor its availability to
survive can be adversely affected by an unwanted events. A computer-based security is a combination of
many assets or resources design to perform some function or to provide service.
System Security
In this system, which is, web based, several measures have been taken to provide some security.
Loss of confidentiality is reduced to a great extent. The facility to impose strict authorization is
completely vested in the hands of the system administrator. He/She has the full authority to add or delete
user to and from the system respectively. Only valid users can enter the system. They have to provide a
valid user id and password, to prove that they are valid users .If any one of this is wrong, access is denied
to the system. Forced change of password can be imposed after a period as specified by the system
administrator. Also the password is made to contain alphanumeric characters. If any unauthorized person
tries to enter the system, then also preventive measures can be taken. For e.g. after four consecutive trails
that result in failure, provisions should be made such that the process terminates and the exits from the
program.
Education and User Training
The purpose of training is to ensure that all the personnel who are associated with the system
should possess the necessary knowledge and skills. The end users must know in detail what their rules
will be, how they can use the system and what system will or will not do. Before the initialization of
training program, materials are prepared.-The reference manuals are mainly based upon the system
specification. Both the system operators and users need the training.
9. SYSTEM MAINTENANCE
Software maintenance is the process of modifying a software system or component after delivery to
correct false, improve performance and other attributes, or adapt to change environment. Maintenance
covers a wide range of activities including correcting coding and design errors, updating documentation
and test data and of hardware and software. Maintenance is always necessary to keep the software usable
and useful. Hardware also requires periodic maintenance to continue to bring a new system to standards.
Software maintenance activities can be classified into :
Corrective Maintenance
Adaptive Maintenance
Perceptive Maintenance
Corrective maintenance removes software faults. Corrective maintenance should be the
overriding priority of the software maintenance team.
Perceptive maintenance involves recommendations for new capability modifications to the
existing functions and general enhancements when the software is used. To satisfy this request, perceptive
maintenance is performed.
Adaptive maintenance modifies the software to keep it up to date with its environment. Adaptive
maintenance may be needed because of changes in the user requirements, changes in the target platform,
or changes in external interfaces. Minor adaptive changes may be handled by normal maintenance
process. Major adaptive changes should be carried out as a separate development project.
QUALITY ASSURANCE
The quality of an information system depends on its design, development, testing and implementation.
One aspect of system quality is its reliability. A system is reliable if, it does not produce failures. Although
it is virtually impossible to develop software that can be proven to be error free, software development
strive to prevent the occurrence of errors, using methods and techniques include error detection,
correction and error tolerance. Both strategies are useful for keeping the system operating and preventing
failures. Unlike hardware with which there can be manufacturing and equipment failures with software
failures are the result of design errors that were introduced when specifications were formulated and
software written.
An error avoidance, developers and programmers make every attempt to prevent errors from
occurring at all. The scientific methods and techniques are used in the analysis and design phases are
aimed at meeting this objective. This emphasis on early and careful identification of user equipments is
another way this objective is pursued. Still analysis must assume that it is impossible to fully achieve this
objective.
Error Detection and Correction
This method uses design features that detect errors and make necessary change to correct either
the error while the program is in use or the effect on the user so that a failure does. Not occurs. Even
though the error may not happen for several years after the system is installed, the error is there from the
day of development. The failure occurs later.
11. CONCLUSION
We can conclude that this project enables easy decision making with the support of correct and precise
information, Accurate and timely reports as there would be less chance for errors in transactions. The new
system can lead to increase in transactions i.e., more billing, more booking as the computerization speeds
up operations, Increase in revenue due to increase in transactions and prevents loss of revenue.
Management authorities can collect reports at any point of time from software. They need not worry
about the delay in reports from finance and other departments. Computers can handle large volume of
data without any frustrations.
As the software is totally integrated, there is no question of increased data entry problems. As the
software comes with very flexible user interface, users will feel very comfortable with new environment.
11.1.
Limitations
This application does not have a built in check out process. An external checkout package has
to be integrated in to this application. Also users cannot save their information so that they can access
later i.e. they cannot create wish lists which they can access later. This application does not have features
by which user can set client/user list and receive alerts.
11.2.
The current application developed is in accordance with the requirement that has been provided by the
organization. On regarding the future enhancement, the application can be further expanded in accordance
with the changing scenario in the applications that need frequent changes in the changing environment
and expansion of the organization. Since the change in technology and user needs arises frequently in
certain short intervals of time, the application can be further upgraded to meet the requirements that may
arise in the far or near future. With regarding to the needs that arises, more and more features can be
included by adding it as separate modules and integrating it with the existing system. In future we can add
voice based chatting which is very useful in communication and also we can add or modify in video chat
also.
12. BIBLIOGRAPHY
Herbert Schildt