Professional Documents
Culture Documents
a. Identification – Searching for different project ideas. Identifying and finalizing one of
them for further implementation.
b. Conceptualization and design – The concepts required for building the project are
studied in detail. Also the high level designing is done at this stage. Preliminary
presentation is given for more clarification of project.
c. Detailed design – At this stage, low-level designing is done. User Interface is
designed to give better visualization of the project idea.
d. Coding – Actual implementation of the project starts at this stage. Coding for each of
the modules will be done. Coding and testing will take approximately 10 to 12 weeks.
e. Unit Testing – Initially the application will be tested over a number of gestures and
their possible use cases. Then GUI for each scenario involving all possible cases is
tested separately.
f. Integration Testing –All modules will be integrated and then testing of whole
integrated component will be performed. It also includes evaluation of project.
g. System Testing – The product was tested in the context of the entire system. Different
Windows OS and hardware platforms will be used for system testing and the
performance will be monitored.
h. Documentation – A detailed document about the project shall be prepared at this
stage.
Requirement Gathering and Plan for the initial part of the project was as follows:
a. Understanding the problem definition
b. Understanding the current scenario in the Enterprise
c. Gathering information about required Software Resources
d. Gathering information about required Hardware Resources
e. Preparing preliminary design of overall workflow of project
f. Deciding the modules required for overall execution
g. The Plan of execution for actual implementation will be as follows:
Different types of estimation techniques like three point based estimation, use case
based estimation, process based estimation, etc. are applied as follows:
In this estimation technique the size of each element of the software is considered for
the estimation. The project planner begins with the bounded statement of the project scope
and from this statement attempts to decompose software into problem functions that can be
estimated individually. LOC is then estimated for each function. Baseline productivity
metrics are then applied to the appropriate estimation variable and cost or effort for the
functions is derived. Function estimates are then combined in order to calculate an overall
estimate of the project. When a new project is estimated, it should first be allocated to a
domain and then appropriate domain average for productivity should be used in generating
the estimate.
A functional decomposition of the software was performed and major software functions
were identified. Those functions are:
Use cases provide a software team with insight into software scope and requirements.
Before use cases can be used for estimation, the level within the structural hierarchy is
established, the average length in pages of each use case is determined the type of software is
defined and rough architecture for the system is considered. Once these characteristics are
established empirical data is used to establish LOC. Historical data is used to compute effort
required to develop system.
A functional decomposition of the software was performed and major software functions
were identified. Those functions are:
1. Handling the simultaneous events coming from the hardware.
2. Identifying the logic and choosing Visual Studio as a web framework.
3. Identifying the use of server and choosing IIS as a web server.
4. The cloud work is handled by the loopback adapter.
The most common technique for estimating a project is to base the estimate on the
process that will be used. That is the process is decomposed into a relatively small set of tasks
and effort required to accomplish each task is estimated. Like problem-based techniques,
process based estimation begins with a delineation of software functions obtained from the
project scope. A series of software framework activities must be performed for each function.
Once problem functions and process activities are melded, the planner estimates the
effort (e.g. person-months) that will be required to accomplish each software process activity
for each software function. These data constitute the central matrix of the process estimation
table. Average labor rates are then applied to the effort estimated for each process activity. It
is very likely that labor rate will vary for each task. Costs and effort for each function are
computed at the last step.
4.3.1. Introduction
Risk is a possibility of loss or injury. The definition of risk in the software
engineering environment that we will use is exposure to harm or loss, as this includes not
only the possibility of risks, but their impact as well. Using risk management techniques, we
alleviate the harm or loss in a software project .All risk cannot be avoided, but by performing
risk management, we can attempt to ensure that the right risks are taken at the right time.
Risk taking is essential to progress and failure is often a key part of learning. Risk
management involves Risk Identification, Risk Analysis and Risk Prioritization.
The key functions of software risk management are to identify, address and eliminate
sources of risk before they become threats to successful completion of a software project.
T7: Testing
a. Testing the project by entering the normal values and checking for expected results.
b. Test the project for abnormal input.
c. Enter the virus code to editor window and check the behaviour of server to that code
d. Testing the project from point of view of the intruder.
e. Testing the project performance.
f. Try to break the security measure of cloud.
g. Testing the GUI for consistency.
h. Testing the overall system operation
i. Testing the system in a live deployment scenario
The following figure (as shown in figure 4.1) shows the task organization of our
project.
Windows Virtual
Machine
MS Visual Sudio,
6. Link the servers MS Loopback 1 1
Adapter
Project Report Generation and
7. MS Word 2010 N/A N/A
Finalization
The following diagram (as shown in figure 4.2) is the timing diagram of tasks
involved in project.
The team structure for the project is identified. Roles are defined. Our team consists
of 3 individuals namely Vibhor Singhal,Tanuj Vir,Prateek Aggarwal. We have decided to
keep the team structure highly flexible throughout the project. Each individual shall
contribute equally through all the phases of the project namely Problem Definition,
Requirements Gathering and Analysis, Design, Coding, Testing and Documentation.
The overall design issues will be primarily tackled by all team members. For every
stage in design each member shall be responsible for bringing relevant knowledge to the
discussion table following which there will be an identification and allotment of roles to each
individual towards development of a module, all in consultation with our internal and
external project guides.
The division of work shall change for every module of the software to be written as
per the requirements imposed by that module. However, keeping in mind that one of the key
goals of this project is trying to gain certain amount of expertise in the various areas of the
project, it shall be ensured that each individual is exposed to different tasks with a view to
enhance his knowledge.
In order to ensure that the project work goes in parallel, the team would be split and
work distributed among themselves. The distribution of work of individuals would also be
dynamic so that the aforementioned goal of knowledge enhancement is satisfied. In spite of
this work division cross team knowledge sharing would be encouraged so that each pair gets
to know what the other pair does.
Quality control involves series of inspections, reviews, and tests used throughout the
software development process. Our gesture library is scalable. We will start with small and
direct use-cases for gestures and follow an incremental approach. Quality assurance consists
of set of auditing and reporting functions that assess the effectiveness and completeness of
quality control.