Professional Documents
Culture Documents
MCA Programme
INDEX
Sr. No. Chapter Page No.
1. Company Introduction
2. Project Description
2.1 Purpose of the Project
2.2 Project Overview (module wise)
3. Project Introduction
3.1 Existing System
3.2 Proposed System
3.3 Scope of the Project
4. System Specification
4.1 Hardware
4.2 Software
5. System Requirement Analysis
5.1 Feasibility Study
5.2 Fact Finding Technique
6. System Analysis And Design
6.1 Use Case Diagram
6.2 Class Diagram
6.3 Entity Relationship Diagram
6.4 Activity Diagram
6.5 Sequence Diagram
6.6 Deployment Diagram
6.7 Component Diagram
6.8 Menu Tree
6.9 Table Design
7 System Design
7.1 Input and Output System
8 Testing
8.1 Testing procedures & Test Plan
8.2 Test Cases
9 Future Enhancement and Limitations
10 Conclusion
11 Bibliography
12 References
We have solutions for tapping ideas within the stakeholders in an ecosystem. We support the
Idea to Prototype (i2p) lifecycle. Our solution is a comprehensive idea management and
execution platform that utilizes Web 2.0 and Social Networking technologies integrated with
Process management, Document Management and Analytics.
Dilip is a veteran in the IT industry with more than a quarter century of experiences. This is the
fifth start-up that he is involved with. His experience both with established IT services
companies as well as with start-ups, in both Business and Technology innovation roles, is a key
factor that will positively influence the success of this venture. He is the Founder and Chief
Executive of Aikon Labs and also heads technology and engineering.
R R Dasgupta is a strategy and consulting professional with over 20 years experience in the
Industry. He has held several leadership positions which include Global Consulting Practices
covering areas like e-Business/ IS Strategy, Collaboration, Content Management and CRM. He
has worked with companies like IBM, Zensar and Tech Mahindra. RR is responsible for
Community and Partnering Strategy.
Shekhar Naik has over 25 years professional experience in Operations & HR in the FMCG,
Paperboards, Pharmaceutical, Engineering and Software sectors - both product and services. He
leads Operations & Education Sector
Project Description
It is not economical and practical in this high-tech century that the executive heads of the
organization having branches spread over a wide range of locations meet together for a
Conference after extensive traveling. Here Virtual World for Planet Aikon can be used by the
participants working in different zones. Also it can be used within the organization to provide
immediate telepresence, using internal LAN as the communication infrastructure.
Virtual World for Planet Aikon is a peer-to-peer, multi-platform conferencing suite for
Local Area Networks. Written in C#, and using only the Microsoft .Net Framework package,
Virtual World for Planet Aikon is trivially portable to any platform for which the standard
desktop Microsoft .Net Framework is available. It is designed with flexibility and modularity in
mind, and implements, in a modular fashion. Virtual World for Planet Aikon is a "peer-to-peer"
conferencing package. Like most communications systems that carry that description, however,
the layout is not entirely serverless. The initiator of a Conference becomes the authority and
entry point to the Conference, and can hence be seen as the "Server". All participants of the
Conference, however, communicate to all other peers via their own peer-to-peer connection.
Conference communication, mainly initiated by the Modules that handle each of Virtual World
for Planet Aikon's main features, is passed through these connections via a "Core" running on
each client, which maintains the connections and manages the modules. Data is transmitted
between Cores in a Conference using DsCore and DsDevice classes. These provide a simple
interface for sending Serializable classes through a socket. The main features of Virtual World for
Planet Aikon are
Private one-to-one text chats
A shared whiteboard
A polling/voting system
Desktop Sharing in the Conference
Video and/or Audio streaming from a webcam and microphone
The most prominent advantage of developing such a software is it enables the end users
to easily create manage and share on demand presentations that combine text, graphics
and audio. Increase productivity among end users. Improve business relationship with
customers. Reduce total communication costs. Improve quality of communications.
This enables fast data exchange between the various members of a Virtual World for
Planet Aikon and reduces the resource usage of the server.
Video conferencing is the ability to use a live video stream obtained from a PC camera
that streams through the network to all members in the Virtual World for Planet Aikon
who have Video Conferencing enabled would receive the video stream in real time on
their computer.
A Whiteboard looks like a typical Paint program screen where objects can be drawn and
images placed upon it and is shared.
Polling enables the users to create and participate in polls for the entire Virtual World for
Planet Aikon to view. This is a quick and easy way of getting an opinion on a number of
questions as the results are received moments after the poll has been answered.
Desktop Sharing will be an important part of Virtual World for Planet Aikon allowing
Virtual World for Planet Aikon members to sharing desktop to other members with ease
and the ability to track its progress easily.
In Virtual World for Planet Aikon the use of a general chat area for all members in a
Virtual World for Planet Aikon will be available as well as the ability to have private
Instant Messaging with different members of the Virtual World for Planet Aikon.
In the existing system communication is through telephone and is not that much
productive
There is need to travel physically for the existing system.
Time and cost factors are adverse.
Quality of communication is of low standard.
The success of any system resides particularly from user point i.e. does the system
provide the proper information & is it easy to operate?
The Crucial part is deciding upon user requirements and to provide him with the best possible
solution. To determine the user requirement following point have to be considered
Economical Feasibility
Operational Feasibility
Technical Feasibility
Economical Feasibility
This refers to if there are sufficient benefits in developing the new systems to make the
cost acceptance or is the cost of not creating the system so great that the project works must not
be undertaken.
Since the cost of hardware has considerably gone and hence there is no problem on developing
/this system for a particular organization having the required hardware.
The proposed system can be developed in a short period of time and with the minimum
cost.
If in case there is a need for any changes to the system, which are easily possible with the
low cost. Lastly, Inventory Management system does not involve any kind of large operating or
maintenance costs as well as no storage costs as such.
Operational feasibility
The Proposed system is beneficial from the aspect only when it is implemented and
turned into a fully functional information system. Simply stated this test of feasibility asks if the
system will work when it is developed and installed. Following are the points that system is
operational feasible.
As there is direct involvement of the user with the system, there are less chances of any
resistance from them in using the system.
The training imparted to the end user and the support extended through the user manuals
make the system operationally feasible.
Technical Feasibility
This determines whether the project work can be done with the current equipment,
existing software technology and available personnel.
For this proposed system the necessary software and hardware are available, so there are
no problems from the technical aspect. The system exhibits superior performance by generating
e-learning courses reach out to the end user.
‘Virtual World for Planet Aikon’ for Planet Aikon Labs was found to be technically,
economically, and operationally feasible.
The following fact finding techniques have been used for collecting the data:
• Interviews - Analysts can use interviews to collect information about the current system
form the potential users. Here the analysts discover the areas of misunderstanding,
unrealistic exception and descriptions of activities and problems along with resistance to
the new proposed system. Interviews are time consuming.
• Questionnaires - Here the analysts can collect data from large groups. Questionnaires
could be Open-ended or Close questionnaires. Open-ended questionnaires are used to
learn feelings, opinions, general experiences on process detail or problem. In it, questions
are answered in their own words. Where as in closed questionnaires a set of prescribed
answers are used and specific response have to be selected. This is a costly affair as the
questions should be printed out.
• Record inspections or reviews - Basic records like the reports, bills, policy manuals,
regulations, standard operation procedures etc can be used for better understanding the
system.
• Observation - This is a skill which the analysts have to develop. The analysts have to
identify the right information and choose the right person and look at the right place to
achieve his objective. He should have a clear vision of how each departments work and
work flow between them and for this he should be a good observer.
Fact finding techniques is an important part of the system design process, whereby
requirements engineers and business analysts, along with systems engineers or software
developers, identify the needs or requirements of a client. Once the client's requirements have
been identified and facts collected, the system designers are then in a position to design a
solution.
Request
6.1 Use Case Diagram Accept Request
Response
User
<<include Chat
Audio
<<include Administ
rator
Video <<include
Text Chat
Register
User
MCA Programme
Sign Out
User
Administ
rator
Chat
<<extend <<extend
Space
Line
Rectangle
Sender Reciever
Ellips
Eraser
Send Request
Accept Request
User Availability
User Administ
rator
Response
Visibility
Accept
Response
User
No
Administ
rator
Yes
Rating
Receiver
Part of
Video
V_Id:int Au_Id:int
+Add()
Sender Receiver IP_Address:int IP_Adress:int
+Display()
Type:string
S_Id:int T_Id:int +Add() +Add()
Name:sting Name:string +Remove() +Remove()
+Add() +Display +Diplay()
Operations
+Display() Gives
1...* Gives
Query
User Gives 1...*
Whiteboard Q_Id:int
(1,1) 1...*
1...* Name:string
U_Id:int Gives
Wtb_Id:int Type:string
User Name:string
Type:string Polling
Password:string +Add()
+Display()
+Add() Chat +Add() P_Id:int
+Update() +Update() Type:string
+Display() C_Id:int +Display()
Type:String +Add()
+Display() Rating
Operations +Update()
Text Chat R_Id:int
Type:string
TC_Id:int Menu Space
Type:string
M_Id:int +Add()
IP_Adress:int S_Id
Name:string +Display()
Name:string
+Display() Type:string
Type:string
+Update() +Add()
+Display() +Add()
+Delete() +Display()
Is-A
Sender Receiver
Is-A
Registration 1 Contain
Is-A
Has
Polling *
Desktop
1 Sharing
Has
Has
Wants
Video confencing
Needs
Has Has
Has
1
Need Video
Chat
White Board
I S- A I S- A
1 1
Video Chat Audio Chat Text Chat User
I S- A 1 1
Menu Space
Login
Registration
No
Yes
Launch Application
Conference
Video
Request Chat
LogOut
Registration
No
Yes
Launch Application
Conference
Chat
User Chat
LogOut
Registration
No
Yes
Launch Application
Conference
Whiteboard
Menu Space
LogOut
Registration
No
Yes
Launch Application
Conference
DesktopSharing
Sender Receiver
LogOut
Registration
No
Yes
Launch Application
Polling
Rating Query
LogOut
Video
Chat
Admin Login Launch Conference Log Out
Application
Desktop
sharing
Polling
Send Req
Request
Accept Req
Chat Video
Sign in
User
Signup
Line
Menu Rectangle
Receiver
Desktop Sharing
Rating
Log
User Registration Login Launch
Polling Out
Application
Query
Polling Sharing
6: Login
7: Succesful Login
8: Video/Chat/Whiteboard/Desktopsharing/polling
9: Video/Chat/Whiteboard/Desktopsharing/polling
10: Succesful Update Info
6: Login
7: Succesful Login
Web/Applicat
-ion Server
Client
Web Browser
Client
Windows
Application
DshowNET.dll
Conference
Login
Sender
Receiver
Chat
User
Query
Rating
Video
Table Name Video
Description This table will contain the
information of the rating which
is given by the user.
Primary Keys Q_Id
Foreign Keys ---
Audio
Table Name Audio
Description This table will contain the
information of the rating which
is given by the user.
Primary Keys Q_Id
Foreign Keys ---
Menu
Table Name Menu
Description This table will contain the
information of the rating which
is given by the user.
Primary Keys Q_Id
Foreign Keys ---
Space
Table Name Space
Description This table will contain the
information of the rating which
is given by the user.
Primary Keys Q_Id
Foreign Keys ---
System Design
Home Page
Overview
FAQ`s
Meetings
TrainingPurpose
Product Info
Support
ASM`s CSIT College 40 University of Pune
Virtual World For Planet Aikon
MCA Programme
User Guide
Sytem Requirement:
About Us
Regestration Page
Log In
Waite Page
Main Window
Receiving Camera
Connect whiteboard
Unit Testing:
This testing fucuses verification on the module. Using pdocedural design description as a
guide; important control paths are tested to uncover errors with in the boundries of the module.
The relative complexity of tests and uncovered errors is limited by the constraints scope
established for unit testing. The unit testing can be conducted in parallel for several modules.
Integration testing:
Generally a combined approach known as sandwich testing using features of top down
teting strategy for upper levels of the program structure, coupled with the bottom up strategy for
subordinate modules.
Functional testing:
This is done for each module/sub module of the system. Functional testing serves as a
means of validation weather the functionality of the system confirms the original user
requirement i.e. done the module do what is supposed to do. The separate scheduled were made
for functional testing. It involves preparation of bugs listing for non-conformities.
System testing:
System testing is done when the entire system has been fully integrated. The purpose of
the system testing is to test how the different modules interact with each other and whether the
system provides the functionality that was expected. It consists of the following steps.
1. Program testing
2. String testing
3. System testing
4. System documentation
5. User acceptance testing
Sometimes called glass-box testing is a test case design method that uses the control structure of
the procedural design to derive test cases. Using white-box testing methods, the software
engineer can derive test cases that (1) guarantee that all independent paths within a module have
been exercised at least once, (2) exercise all logical decisions on their true and false sides, (3)
execute all loops at their boundaries and within their operational bounds, and (4) exercise
internal data structures to ensure their validity. White-box testing of software is predicated on
close examination of procedural detail. Providing test cases that exercise specific sets of
conditions and/or loops tests logical paths through the software. The “status of the program” may
be examined at various points to determine if the expected or asserted status corresponds to the
actual status. Basis path testing is a white-box testing technique first proposed by Tom McCabe.
The basis path method enables the test case designer to derive a logical complexity measure of a
procedural design and use this measure as a guide for defining a basis set of execution paths.
Test cases derived to exercise the basis set are guaranteed to execute every statement in the
program at least one time during testing. In this system, the system was tested for the calculation
matters were the data provided for giving the right output or not. If wrong data was provided
then what it is throwing error or accepting.
Also called behavioral testing, focuses on the functional requirements 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 is not an alternative to
white-box techniques. Rather, it is a complementary approach that is likely to uncover a different
class of error than white-box methods. When computer software is considered, black box testing
alludes to tests that are conducted at the software interface. Although they are designed to
uncover errors, black-box tests are used to demonstrate that software functions are operational,
that input is Properly accepted and output is correctly produced and that the integrity of external
information is maintained. A black-box test examines some fundamental aspect of a system with
a little regard for the internal logical structure of the software. Black-box testing attempts to find
errors in the following categories:
combined to provide an approach that validates the software interface and selectively ensures
that the internal workings of the software are correct. Black box testing for this system was done
to check the internal testing i.e., the system is working properly in each case or no. What kind of
errors are there in database design.
We have tested our software in the each phase of its development. In the first step after
configuring the processor we have tested the processor whether the processor is correctly
working or not. Then after interfacing the capture device with the program we checked whether
it is supporting the given format or not. After coming out the each stage of the processor we
checked the output whether its working according to the theory or not. This testing method
carried out until we reached to our goal.
Finally the software has been successfully tested on the small network or more
specifically on the Local Area Network (LAN). The software is working properly in all
respect for video conferencing as well as for audio chatting.
Test Results
As we tested our software in its each phase of its development and successfully over
come each stage. So finally we reached to our goal of our software development. This project has
been wholly successful in designing and implementing a Video Conferencing with Multicast
Support Software.
Future Enhancement:
Web Application: As of now the proposed system is not a web application. It works
only when more than one computers are connected in LAN.
Multi User Conferencing: The proposed system cannot be shared by more than one user
at the same point of time. In future the screen can be shared by many users at same point
of time.
Records of participant: The system doesn’t store the record of the participant. We are
planning to enlarge our database, so that in future, we can do the needful.
Records of audio, video details: The system doesn’t record the audio as well as the
video but in future since the we are expanding the database, we will surely take one step
in this area.
Record of activity performed on whiteboard: The system doesn’t save the data which
all are displayed by any of the means on the whiteboard. But In future we will have
separate tables in our database for the same.
Performance, speed and user friendly: Since this is the first application of this type is
developed by us. Hence this system cannot compete with other systems which all are
available in the market. But in future surely we are going to work on this and the speed
and the performance of the system will be increased on priority basis and the system will
be made lucrative and friendly to the users.
Enhancement in Polling section: As of now there are limited question are there on the
screen which all are provided by the organization with the system and the users are
compelled to poll from the given questions only. But In future as it will be a online or
web application the user can also poll on the basis of questions according to their choice.
File Sharing: In future we are also planning to enable file sharing. So that any file can be
transferred in a friction of second.
Limitations:
We can’t connect with as web application over the Public network.
Multiple user conference may be not possible.
Participants list will not displaying as attendee list.
Without IP ADDRESS not possible to connect.
It is not a Platform Independent.
Conclusion
The software is complete as per the SRS specified and the Design provides but is still
under development to add more things like we are planning to implement our own compression
and decompression technique. Also we are planning to modify our code so that compression
algorithm can be applied dynamically according to the available bandwidth. The software has
been successfully tested on the small network or more specifically on the Local Area Network
(LAN).
This project has helped me to understand the concepts and visualize the importance of the
Software Engineering and how C Sharp Language can be used for multimedia programming.
Through this project we learned about the C Sharp Media Framework API and how it can be
used for conferencing.
The project helped us to learn the basic design principles that go in the background in the
development of any Conferencing Software.
Bibliography:
ASP.NET Professional --- Bill Evjen, Scott Hanselman, Devin Rader, WROX
Professional C# 2005 with .NET 3.0 --- Christian Nagel, Bill Evjen, Jay Glynn, Morgan
C# 3.0 - The Complete Reference --- Herbert Schildt
The Unified Modeling Language --- Grady Booch, James Rambaugh
Software engineering --- Pressman Roger, Mc-Graw Hill
Websites Referred
www.msdn.microsoft.com
www.asp.net
www.dotnetsoider.com
www.codeproject.com
www.google.com