Title: Project Guestimation
1Project Guestimation
- Team 3
- Amine Moustasim, Nick Sullivan, and Tom Skoczlas
2Describe the description.
Product Proposal A proposal is a response to a
business need. It is neither descriptive nor
structured enough to be considered a formal
proposal. Also, this would come from the
proposed supplier or facilitator. Since this
originates with the party requesting, it is not a
proposal.Â
Product Spec. It is a product specification,
because it outlines exactly what the product
does. Â
Project Requirement Spec. A requirements
specification explains how to make the product.Â
Although the description would be part of a
Requirements Specification, it is not the
requirements specification. Â
Project A project is an endeavor leading to the
creation of a product. The description itself
does not outline the steps, tasks or resources
needed in its creation. Thus it is not a
Project.  Â
Project Specification A Project Specification
must contain deliveries and due dates. No
deliverables or timelines are specified by the
description. Â
Project Req. Specification Like previously
mentioned term, this pertains to the project
itself. Procuring of resources, time, funds,
persons, equipment, etc Â
Problem Statement A problem statement is used to
articulate the current issues with the system
currently in production. This would be included
in a request for proposals, and in some form is
represented in the GCFS sections. Given that
definition, it is not a problem statement.Â
Architecture Description An Architecture
Description examines a system as a collection of
inter-operating sub-systems or components. Not
nearly enough detail is provided to support the
claim that the description is an Architecture
Description.Â
Product Grammatically speaking, being as how we
are discussing an application, we must be dealing
with a tangible product. The sentence itself
provides enough information to fully describe the
product and its outputs.Â
System Description A system description explains
the internal operation of a system. This could
be the existing system to be upgraded or
replaced, or the proposed newer system. It is
essentially a walkthrough of the inter-workings.Â
This is why this is not a system. Â
A general use application that converts any input
data to cipher data, or vice versa, using a
public key two-way encryption mechanism.
3Task List
W3C states that a Web service is a software
system designed to support interoperable
machine-to-machine interaction over a network.
Software applications written in various
programming languages and running on various
platforms can use web services to exchange data
over computer networks like the Internet in a
manner similar to inter-process communication on
a single computer. This interoperability (for
example, between Java and Python, or Microsoft
Windows and Linux applications) is due to the use
of open standards. OASIS and the W3C are the
primary committees responsible for the
architecture and standardization of web
services. From Wikipedia/W3C.
Provide source, executables, documentation, etc.
to client. Provide them with the knowledge
needed to deploy the solution in their clients
environments. If being sold by our client to
people as a per seat/per user application then we
would deploy the solution over the Internet and
have the clients call a webserver hosted by our
client.
- Write XML Web Service for encryption /
decryption. - Both functions must provide overloads for
any/all desired input formats (binary, text,
etc.). - Language used dependant on server it is hosted on
(IIS / Apache), could be done in Perl, php,
Microsoft.NET, etc. - Can be hosted internally on network or hosted on
Internet. - Can handle licensing via required credentials
tied to each request.
Develop a web interface that ensures cross
platform capability. For instance use of Python
or Perl. _________________________ For automated
use, we can develop an API which can be utilized
by other developers to encorporate the encryption
/ decryption algorithms within their code with
relative ease. They could also utilize the XML
Web Service directly. API - Abbreviation of
application program interface, a set of routines,
protocols, and tools for building software
applications. A good API makes it easier to
develop a program by providing all the building
blocks. A programmer puts the blocks together.
-- www.webopedia.com
Ensure format can be read on any OS we are
planning on supporting. There are several
options. Popular choices may be a plain text
file, Rich Text Format (rtf), or
PDF.
Requests made to XML web service can include
credentials such as a license key to validate
consumer is trusted. Given encryption request
is sent through network we can also utilize
IP/MAC addresses for verification if need
be. Licensing on this platform could easily be
done as per seat or per server.
Testing - Internal Run application in house,
with our data, on every OS we plan to support to
ensure compatibility - Stress Ensure that
application can handle any size input. Test
maximum and minimum capabilities. - Stability
Ensure that if application does fail it does so
gracefully releases any resources and does not
impact system as a whole. - Beta Get a focus
group or small team to start utilizing the system
and incorporate any feedback.
Address issue related to us in the GCSF
specifications sheet such as the decryption
algorithm causing a numerical calculation
error. Algorithm doesnt have to be in any
specific language and could be simply the
mathematical functions. It simply has to work at
this point.
Given that application is to be invoked manually
by users then we need to discuss what the
application should look like and how it should
behave.
Detail what resources from functional groups are
needed and how much time is required to be
retained in order to develop the
system.
- Application must be usable from any current OS.
- Deployed electronically
- Include instruction manual (MS Word)
- Input binary, text, or GCSF encrypted data
- Output GCSF encrypted data or original data
- Input data can be any size
- Application must fail gracefully
- Must be at a price point near 17/unit and
include licensing functionality - Application can be invoked manually or in
automated fashion. - Application should be deployed electronically
- Application must be able to intercept any
external communications and encrypt / decrypt it.
- Applications designed to run on multiple
operating systems can introduce unique issues - Use Java Slow, requires Java Runtime on
machine. - Multiple Stand-Alone Apps Develop multiple
applications for each platform. Increases
development time, chance of error, maintenance,
support, etc. by a factor of the number of OSs
supported. - XML Web Service Write algorithm once, deploy on
intranet or Internet. Service deploys serialized
xml data back to any client. Develop UI in Perl
which understands SOAP methods used by XML Web
Service.
Attempt to get an idea of how much time the
customer has to deliver the product. This can
help us in determining which solution is best for
them.
Ensure that the product is viable, possible, and
also investigate that there are no other more
appropriate solution in existance.
- Scope requires a Microsoft Word document being
deployed as help file but application is supposed
to run on Unix machine.
4(No Transcript)
5Questions?