MIL-STD-498 Software Design Description Outline - brains-N

advertisement
Engraved In Stone
Researching MIS: Electronic Commerce Business Startup
Software Design Description
Release 1.0
7/27/99
Casey Chesnut
Aaron Wardrum
TBD/TBR
-diagram entire scope of system in section 4, not just examples of some diagrams
-complete section 5 of detailed design
Table Of Contents
1. Scope
……………………………
1.1 Identification
1.2 System Overview
1.3 Document Overview
2. Referenced Documents
……………………………
3. CSCI-Wide Design Decisions
……………………………
A. Inputs/Outputs
……………………………
B. Behavior
……………………………
C. Database/Files
……………………………
D. Safety/Security/Privacy
……………………………
E. Other CSCI-Wide Design Decisions ……………………………
17
1. Scalability
2. Availability
3. Maintainability
4. Performance
5. Transferability
4. CSCI Architectural Design
……………………………
4.1 CSCI Components
A. Software Units
……………………………
B. Static Relationship
……………………………
C. Purpose
……………………………
D. Development Status
……………………………
E. Hardware Utilization
……………………………
4.2 Concept Of Execution
……………………………
4.3 Interface Design
……………………………
4.3.1 Interface Identification Diagrams
……………………………
4.3.1 XXX Interface Details
……………………………
…
4.3.X
5. CSCI Detailed Design
……………………………
25
5.1 XXX Software Unit
……………………………
…
5.X
6. Requirements Traceability
……………………………
A. Software Unit/Package – Requirement
B. Requirement – Software Unit/Package
7. Notes
……………………………
A. Acronyms
B. Glossary
A. Appendixes
……………………………
5
5
6
6
7
15
17
18
18
20
21
21
21
22
23
23
24
26
27
27
28
List Of Figures
Analysis
Analysis Use Case Diagram
……………………………
6
Make Invitation Sequence Diagram
Distribute Invitation Sequence Diagram
Transaction Sequence Diagram
Update Invitation Sequence Diagram
RSVP Sequence Diagram
Manage RSVP Sequence Diagram
Monitor Site Sequence Diagram
……………………………
……………………………
……………………………
……………………………
……………………………
……………………………
……………………………
7,8
9
10
11
12
13
14
Package Diagram
……………………………
15
Server Component Diagram
Invitee Component Diagram
Inviter Component Diagram
Owner Component Diagram
……………………………
……………………………
……………………………
……………………………
18
19
19
19
Analysis Class Diagram
……………………………
20
Hardware Deployment Diagram
……………………………
21
System Statechart Diagram
……………………………
22
Invitee User Interface Activity Diagram
……………………………
23
Inviter User Interface Screen Capture
……………………………
24
Design Class Diagram
……………………………
25
Inheritance Diagrams
……………………………
26
Collaboration Diagram(s)
……………………………
X
Object Diagrams
……………………………
X
Architecture
Detailed Design
1. Scope
1.1 Identification
This document is the Software Design Description (SDD) for the Engraved In Stone (EIS)
online wedding invitation system. It details the design effort being performed by the developers
of Engraved In Stone. This design effort should reflect the intentions of Engraved In Stone’s
Software Requirements Specification (SRS), as well as provide the basis for prototyping efforts
and implementation of the online wedding invitation system. Finally, this document will also be
referenced during testing of the final system.
1.2 System Overview
The system provides for online wedding invitations. The wedding invitation is a
dynamically generated HTML page hosted at EngravedInStone.com. It consists of the
information traditionally dealing with the wedding and its associated events (showers, rehearsal
dinner, parties). The invitees of the individual events will be notified by email, supplied by the
purchaser of the invitation. The invitee will be able to RSVP to the invitation(s) and will be
provided with other communication services. The purchaser will be provided with an online
interface to manage the acceptance and rejection of invitations and other information services.
1.3 Document Overview
The remainder of this document is organized as follows: Section 2 lists the documents
referenced to support the SDD. Section 3 presents the CSCI-Wide Design Decisions. These
design decisions were discovered through the analysis effort of generating the SRS. Section 4
consists of the Architectural (high level) view of the system. Section 5 consists of the Detailed
Design of the system. Section 6 presents the traceability of the design to requirements and vice
versa. Section 7 presents supplementary material to support the SDD. Throughout the
document, the appropriate UML design diagrams are shown to display functional, static, and
dynamic views of the system.
2. Referenced Documents

This document conforms to the MIL-STD-498 for Software Design Descriptions.

This document references Release 2.0 of the Software Requirements Specification for
Engraved In Stone.

The UML artifacts are compliant with UML Version 1.1.
3. CSCI-Wide Design Decisions
A. Inputs/Outputs
The inputs and outputs to the system are represented by the following use case diagram.
The stick figures represent the actors, which are external to the system and interact with the
system through interfaces. The actors of the online wedding invitation system are the Inviter,
Invitee, and the Owner. The Inviter will invite a number of Invitees to his wedding. The Owner
will receive payment and maintain the site for the Invitee’s. The ovals are individual use cases
that represent the functions the system performs to provide the services that the actors desire.
The use cases of the online wedding invitation are: Make Invitation, Distribute Invitation,
Transaction, Update Invitation, RSVP, Manage RSVP, and Monitor Site. The Transaction use
case is unique in that it is not acted on directly by an external actor. It represents a function that
can only be performed indirectly through the use of the Distribute Invitation use case. This is
represented by the <<uses>> relationship between Distribute Invitation and the Transaction use
cases. The Inviter actor interacts with the following use cases: Make Invitation, Distribute
Invitation (Transaction), Update Invitation, and Manage RSVP. The Invitee actor interacts with
the following use cases: Distribute Invitation and RSVP. The Invitee does not initiate the
Distribute Invitation use case, but is a data sink for the output of the Distribute Invitation use
case, initiated by the Inviter. The Owner actor interacts with the following use cases:
Transaction and Monitor Site. The Owner does not provide any inputs for the Transaction use
case.
B. Behavior
The behavior of the system is modeled as sequence diagrams. Each use case has its
own corresponding sequence diagram. The sequence diagram shows the flow of data between
the system and external actors through interfaces, as well as for the flow of data and message
calls between objects internal to the system. Data cannot flow between actors and objects
unless they have the appropriate association represented in the class diagram. Only some of
the objects of the class diagram are required to support the function of each individual use case.
The scenarios represented are the most common path through the system and do not detail
alternate scenarios. The scenarios are also time dependent and happen in sequence. The
transitions internal and external to scenarios might be either synchronous or asynchronous.
B.1 Make Invitation
B.1.1 Introduction
The Inviter uses a web browser client to access the Engraved In Stone web server to
create the wedding invitation online.
B.1.2 Inputs
The Inviter inputs the appropriate textual and graphical data into the html forms,
concerning the wedding ceremony itself, and submits the information to the web server.
B.1.3 Processing
The web server manages the collection of the data from the html forms and uses the
information to generate the online wedding invitation.
B.1.4 Outputs
The online wedding invitation is presented to the Inviter, so that he/she may preview it.
: Invitation
: Inviter
initiate order
display available packages
choose package
display invitation template
choose template
display contact information form
contact information
: Invitation
: Inviter
display wedding service info form
wedding service info
display associated event info form
info
guest and registry info form
info
ceremony details form
info
display information for confirmation
confirm
display image file upload form
image files
generates invitation
invitation preview
DISTRIBUTE INVITATION USE CASE
B.2 Distribute Invitation
B.2.1 Introduction
The Inviter uses a web browser client to access the Engraved In Stone web server to
specify who should be notified of the online wedding invitation.
B.2.2 Inputs
The Inviter inputs the appropriate textual data into the html forms, concerning the Invitees,
and submits the information to the web server.
B.2.3 Processing
The web server manages the collection of the data from the html forms and uses the
information to dynamically generate email messages. The Transaction use case occurs
within the context of this sequence.
B.2.4 Outputs
The email messages are sent to the appropriate Invitees to notify them of their online
wedding invitation.
: Mail
: Inviter
: Invitee
initiate distribution
display guest list form
attendants
generate guest/event matrix
display guest/event matrix form
designate attendants for specific events
display personal message form
personal message text
TRANSACTION USE CASE
generate email message
sends email messages
B.3 Transaction
B.3.1 Introduction
The Inviter uses a web browser client to access the Engraved In Stone web server to offer
the monetary transaction information to purchase the online wedding invitation. This entire
sequence is performed over a secure connection.
B.3.2 Inputs
The Inviter inputs the appropriate textual data into the html form, concerning the monetary
transaction, and submits the information to the web server.
B.3.3 Processing
The web server accepts the information and passes it an external system which solely
provides the means to process online transactions.
B.3.4 Outputs
A dynamic html page is generated and displayed to the Inviter, so that the Inviter can
monitor and track the state of the transaction.
Actor : Inviter
: Owner
: Inviter
initiate financial transaction
display transaction form
credit card info
process transaction
transaction tracking info
payment
provide notice of invitation creation
DISTRIBUTE INVITATION USE CASE
B.4 Update Invitation
B.4.1 Introduction
The Inviter uses a web browser client to access the Engraved In Stone web server to
update and modify the information presented on the online wedding invitation.
B.4.2 Inputs
The Inviter inputs the appropriate textual data into the html form, concerning the
previously generated invitation, and submits the updated information to the web server.
B.4.3 Processing
The web server manages the collection of the data from the html forms and uses the
updated information to regenerate the online wedding invitation.
B.4.4 Outputs
The Inviter is presented with an html page confirming the invitation has been successfully
updated.
: Invitation
Actor : Inviter
initiate update
display information form with current info
modified information
regenerate invitation
update confirmation
B.5 RSVP
B.5.1 Introduction
The Invitee receives notification of the online wedding invitation through email and uses a
web browser client to access the Engraved In Stone web server to RSVP for the event.
B.5.2 Inputs
The Invitee inputs textual information into the html form aspect of the online wedding
invitation and submits the information to the web server.
B.5.3 Processing
The web server manages the collection of the data from the html form and uses the
information to update the reservation list hosted on the server.
B.5.4 Outputs
The Invitee is presented with an html page confirming the reservation has been
successful.
: Reservation
: Invitation
: Mail
: Invitee
receives email message
views invitation
RSVPs
update reservation list
RSVP confirmation
B.6 Manage RSVP
B.6.1 Introduction
The Inviter uses a web browser client to access the Engraved In Stone web server to view
and update the reservation list for the associated online wedding invitation.
B.6.2 Inputs
The Inviter inputs the appropriate textual data into the html form, concerning the
reservation list, and submits the additional information to the web server.
B.6.3 Processing
The web server manages the collection of the data from the html forms and uses the
additional information to update the reservation list.
B.6.4 Outputs
The Inviter is presented with an html page confirming the reservation list has been
successfully updated.
: Reservation
: Inviter
initiate reservation review
generate RSVP page
display reservations
updates reservations
update reservation list
update confirmation
B.7 Monitor Site
B.7.1 Introduction
The Owner uses a web browser client to access the Engraved In Stone web server to
monitor the online wedding invitations and email messages that have been produced.
B.7.2 Inputs
The Owner selects the online wedding invitation to monitor from a list of the most recently
created/modified invitations.
B.7.3 Processing
The web server updates the list of most recently created wedding invitations the links to
its associated data store information stored as files.
B.7.4 Outputs
The Owner views the chosen online wedding invitation to monitor that the online wedding
invitation system is working correctly.
: Invitation
: Owner
: Inviter
request list changed/modified invitations
display most recent invitations
select invitation to audit
display selected invitation and associated information
audit invitation and transaction for errors
notify inviter of any errors
fix error
C. Database/Files
Initially, the system will not incorporate a DBMS because of limited resources. Instead,
persistence of data will be accomplished through file manipulation on the server. The following
package diagram displays all of the file types that will be necessary to complete the online
wedding invitation system. The files will fall into either two categories: ASCII or Binary. ASCII
files are human-readable, Binary files are only machine-readable. Each of these packages
would ultimately contain all of the files, or examples of the files, necessary to make EIS
operational. These packages could also be abstracted to the use case level, in which their
would be a package for each use case and each use case would contain all of the files
necessary to support it. Descriptions of each package follow the package diagram.
ASCII
Binary
Presentation
HTML
Presentation
Image Files
HTML Forms
Uploaded Image
Files
Dynamically
Generated HTML
ASCII Data
Storage Text
ASCII Data
Storage Text
Invitation
Package
Generated Mail
Messages
Servlets
Presentation HTML - These are the static HTML pages that compose the EIS web site.
They will all have the same ‘look and feel’. An example will be the home page when the Inviter
firsts enters the site at www.engravedinstone.com. The invitation itself will be saved on the
server as a static HTML file, which may have some parts that are dynamically generated.
HTML Forms - These are also static HTML pages. Instead of being used for presentation,
these forms are used to collect information from the user when they are specifying what they
want their invitation to display. These forms will also contain JavaScript which can be used to
verify that the proper information will be submitted to the web server. An example is a webpage
in which the Inviter types in their ‘Contact Information’ and submits the information to the web
server.
Dynamically Generated HTML - These are dynamically generated HTML pages that will
not be saved to the server. These will be used to display confirmation information, such as
confirming the information the user specified when creating the invitation. The invitation itself will
be generated on the server, but it will also be saved to the server as a static HTML file, so that it
does not have to be dynamically generated each time an Invitee wants to view the invitation.
ASCII Data Storage Text - Some of the information will be stored in a human readable
form on the server. This information will only be accessible by the Owners. It will remain in
human readable form so that the Owners may use scripting languages to parse the information
and generate reports to help them manage the web site. An example is a list of Inviter’s contact
information which the Owners can use to market new products to these individuals.
Generated Mail Messages - The dynamically generated email messages are also
generated in ASCII format. These messages will not be saved on the server. An example is a
copy of the email message that was sent out to a group of Invitee’s, notifying them of a new
invitation, this will also be sent to the Owners so that they can monitor the site. This message
will be saved in the Owner’s mail browser.
Presentation Image Files - These are image files that will be displayed through the
Presentation HTML files. These will support the main web site, and not individual invitations.
Uploaded Image Files - These are the image files that a user will upload to display along
with the invitation that has been created. The image files will have to be in either GIF or JPG
format, which are internet standard image file formats.
Binary Data Storage Text - The textual information concerning individual invitations will be
saved in a binary format. It will be saved as binary so that hackers cannot modify the
information. Only the Servlets on the web server will have the capability to manipulate the
information in a meaningful way. An example of this type of file will be the reservation list
associated with an invitation.
Invitation Package - All of the files needed to support the invitation as a stand-alone entity
will be compressed into a single binary file. This file can then be downloaded by Invitee’s and
Inviter’s to be kept as a keepsake, which they can keep forever and view on their local
machines. Possible formats are ZIP or PDF.
Servlets - Servlets are the components with the business logic to automatically run the
EIS web site. Servlets will accept the information that the Invitee’s submit to the web site,
generate the invitation and save it on the server as a file. Also, servlets will be used to
dynamically generate HTML and email messages.
D. Safety/Security/Privacy
The online wedding invitation has to take into account security and privacy concerns.
Inviters will not want everyone to receive the wedding invitation, so they will only notify a limited
number of Invitees to receive the invitation. Their will not be a link from the presentation HTML
of the site to take browsing users to the invitation. Invitees will be able to view the site by going
directly to the URL or by logging into the online wedding invitation system from a presentation
HTML page. Either way, the Invitee will have to enter their username and password to access
the invitation. Inviters will have the capability to choose not to use this security restriction for
Invitees. Inviters will have to login to the system with a password to update their invitation, and
to manage RSVPs. This will keep Invitees from maliciously changing the content of the invitation
or modifying the reservation list. Security will also have to be handled during the transaction. A
secure connection will be established using SSL so that the integrity of the users credit card
number will not be violated. Owners will have super privileges to the web site which will allow
them to monitor all information being passed through the system, to verify that the site is
working correctly and to support the Inviters properly. EIS will choose an appropriate ISP to
support the online wedding invitation system and handle all of its low level web service issues.
E. Other CSCI-Wide Design Decisions

Scalability – because of limited resources, EIS will start out using a virtual web hosting
service, running a Java web server, and storing data to files. This configuration should be
adequate to support the business plan of EIS. If scalability becomes an issue, the system
would be moved to its own server, running an application server, connected to a DBMS.

Availability – the system has to be available 24 hours a day. The largest possible number of
clients will be supported because users will only require a standard web browser. All
modifications to the web site will be handled on the server and will not effect client access.

Maintainability – the system is automated and will be tuned to maintain itself, but it will be
maintained at a number of different levels. The Inviters will use the system to maintain their
own invitations. The Owners will maintain the site through the use of the system and by
interacting directly with the Java web server. The web hosting administrators will also maintain
the site by directly interacting with the server.

Performance – the system does not have any performance requirements. If performance
becomes an issue, it can be improved through the same means which would be used to
improve scalability. Performance should not be an issue, because the site is neither data,
processing, not bandwidth intensive.

Transferability – the system complies with many standards so that it is portable. From a
clients perspective it complies with HTML, HTTP, and MIME standards. From the owners
perspective, the system will be implemented using Java on the server so that EIS will not be
tied down to a single platform or web hosting service provider. This is also supported through
the purchase of the engravedinstone.com domain name, which abstracts the virtual company
from having to reside on the same web server.
4. CSCI Architectural Design
4.1 CSCI Components
A. Software Units
The software units are represented by the following component diagrams. The primary
components are a Web server, Inviter, Invitee, and Owner components. The Web Server
components can be further decomposed, and will consist of a Java Web Server, File Server,
Email Server, Servlet Engine, and a Standard Web Server. A Java Web Server is comprised
of a Servlet Engine along with a Standard Web Server. The Standard Web Server handles
the static interfaces to external clients through HTML, HTTP, and MIME. It also directs this
information to the Servlet Engine. The Servlet Engine hosts the servlets that will be developed
by the Owners of EIS. The servlets are components that will incorporate the business logic to
automate the online wedding invitation system and support all of its dynamic functions. The
servlets will use the Email Server to pass the email messages that they dynamically generate.
The servlets will also use the File Server to store and retrieve information. Finally, the servlets
will pass information to the web server which will display the information as dynamically
generated web pages. At a higher level, and in a more traditional sense, the Web Server will
also interact with the Email server to receive questions and comments from clients, as well as
interact with the File Server to retrieve the presentation HTML pages and the associated
image files.
Web Server
Components
Email
Server
Java Web
Server
Invitee
Components
Servlet
Engine
Web
Server
Inviter
Components
File
Server
Owner
Components
The Invitee components consist of a Web Browser and a Mail Browser. The Mail Browser
will be used to retrieve notification of the invitation and provide the link to the invitation. The
Web Browser will display the invitation and allow the Invitee to RSVP. The Invitee will only
interact with the Email Server and the Web Server components of the Java Web Server.
The Inviter components primarily consist of a Web Browser. A standard browser such as
Netscape Navigator or Internet Explorer is all that an Inviter will need to create, update, and
manage their invitation. The Inviter will only interact with the Web Browser of the Java Web
Server.
The Owner components consist of a Web Browser, FTP Client, and a Telnet Client. The
Web Browser allows the Owners to monitor the site through master servlets that only the
Owners have access privileges to. The FTP and Telnet Clients connect directly to the Java
web server to allow the Owners to modify any aspect of the site.
Web
Browser
Invitee
Components
Mail
Browser
Inviter
Components
Web
Browser
Web
Browser
Owner
Components
Telnet
Client
FTP
Client
B. Static Relationship
The online invitation system was also modeled as a class diagram. Class diagrams
represent the static associations between objects in the system. The classes derived from the
analysis are: Inviter, Reservation, Invitation, and Mail. Inviter was an external actor in the use
case view, but it was determined that a class would also have to be developed to maintain
state for individual actor objects. Invitee remains as an actor in the system in the static view
because it was not deemed necessary at this point in time to collect their state information.
The information needed to contact Invitee’s is currently handled by the Mail class. The
associations between the classes, show which objects can interact directly and indirectly with
other objects. Attributes and methods were only defined in so much as to help describe the
primary purpose of the class. UML design artifacts, such as collaboration diagrams, would
provide the exercise to flesh out the complete set of attributes and methods necessary to
support the system. The system is decomposed in these low level objects to that Engraved In
Stone can experience reuse. An example might be that the Mail class could be reused in a
baby announcement system.
C. Purpose
Tailored out of this document.
The purpose of the software components has already been covered in previous sections
of this document.
D. Development Status
All of the components displayed in the component diagrams can be purchased as COTS
products. Each of the actors will have purchased their own components to support the
system. The Web Server components will have been purchased from a web hosting service
and the use of the components will be purchased as a service by the Owners.
The EIS online wedding invitation system will be newly developed. The presentation
content using static HTML pages, forms, and images will be developed by the Owners. The
dynamic server side servlet components will also be developed by the Owners.
A working prototype of the technology needed to support the site has been completed and
is detailed in Appendix A of this document.
E. Hardware Utilization
The following deployment diagram shows the hardware architecture that will support the
EIS online wedding invitation system. The Inviter, Invitee, and Owner components will execute
on their respective PC Clients. The Inviter and Invitee will connect to the Java Web Server
indirectly through their own ISPs, over the internet. The Owner will connect to the Java Web
Server directly, because the Java Web Server is also their ISP. The Owners can also connect
to the Java Web Server through third party ISPs, although some access privileges will be
reduced.
Java Web Hosting Server
Invitee PC
Client
Personal
Computer
Owner
PC Client
ISP 'A' Server
Connections
through
internet
backbone
Dial-up
modem
connections
Inviter PC
Client
4.2 Concept Of Execution
ISP 'B' Server
Invitee
PC Client
The following statechart diagram represents the following modes that the system can be
in, as well as the roles of the external actors which will be operating in those modes. Each of the
modes is directly related to a functional use case. The system can concurrently operate in a
number of these modes at once, supporting multiple clients simultaneously. An example is that
one or more Inviters can be creating invitations and/or distributing invitations at the same time
Invitees are RSVP’ing to different invitations while the Owners are monitoring various activities
of the site. The only restriction is that a single client can only be in one mode of operation at a
time. An example is that an Inviter cannot be creating an invitation and distributing the invitation
at the same time.
Owner
Idle
Monitored by Owner
Inviter
Invitee
Managing RSVP
Inviter
Inviter
Accepting RSVP
Inviter
Updating Invitation
Distributing Invitation
Generating Invitation
Return To Idle
Processing Transaction
4.3 Interface Design
4.3.1 Interface Identification Diagrams
The following activity diagram describes the interface the Invitee used to RSVP an
invitation. It includes the use of both of the components that comprise the Invitee
components. This type of diagram would be generated for the interfaces to accomplish each
of the use cases.
Receive Notification Email
Click Link
Enter Login Information
Login Accepted?
No
Decision
No
Send Email for Help
Yes
Sign Guestbook
View Invitation
RSVP
Receive Confirmation Email
Leave Personal Message
4.3.1 XXX Interface Details
The following screen capture is of what a typical HTML form page will look like. This
specific HTML form is to collect the Inviters contact information. Mandatory form fields are
designated in a bold typeface. The transaction cannot be processed without content being
supplied in these field. JavaScript will run on the client side component to ensure that the
fields are filled in correctly with the appropriate information. The only form components being
used in this example are text fields and pull down menus. Other forms components might
include check boxes, text areas, etc… This prototype does not include a submit button, which
will be necessary on a finished product to submit the information to the Java web server
through the HTTP protocol, so that a servlet can process the information on the server. Also,
this prototype form does not include any presentation items to make the form less imposing or
any links to associated pages to help the Inviter interact with the system.
5. CSCI Detailed Design
The following diagram shows the preliminary version of the online wedding invitation
system detailed design class diagram. Some of the classes from the anlaysis class diagram have
been abstracted to more generalized classes to provide for reuse in the future, for such products
as Birth Announcements and Baby/Wedding Albums. Following the design class diagram are its
associated inheritance diagrams. These diagrams are represented separately to reduce the
complexity of the individual diagrams. They could all be represented on the same diagram
because they are at the same level of abstraction. The invitation class is further decomposed into
possible packages, which might be represented better as a ternary relationship between the user,
the product, and a package class.
5.1 Individual Software Unit
OBJECT DIAGRAMS
A. Unit Design Decisions
B. Constraints/Limitations
C. Programming Language Rationale
D. Procedural Commands
E. Inputs/Outputs/Data Elements
F. Logic
…
5.X
…
6. Requirements Traceability
The use case driven approach of the Unified Modeling Language ensures traceability of
requirements by allowing for a seamless transition from analysis to design. It also allows for a
mapping of requirements to test cases, because during integration the use cases become the test
cases of the system. The seamless transition from analysis to design is because preliminary
design artifacts are discovered during use case analysis. These design objects become the basis
for the design of the system which maps back to the functional requirements of the system,
represented as use cases.
A. Software Unit/Package – Requirement
Tailored out of this document.
B. Requirement – Software Unit/Package
Tailored out of this document.
7. Notes
A. Acronyms
API
Application Programming Interface
ASCII American Standard Code for Information Interchange
CASE Computer Aided Software Engineering
COTS Commercial Off The Shelf
CSCI Computer Software Configuration Item
DBMS DataBase Management System
DID
Data Item Description
DoD
Department of Defense
EIS
Engraved In Stone
FTP
File Transfer Protocol
GIF
Graphics Interchange Format
HTML HyperText Markup Language
HTTP HyperText Transfer Protocol
IEEE Institute of Electrical and Electronics Engineers
ISP
Internet Service Provider
JPG
Joint Photographic (E)xperts Group format
MIL-STD Military Standard
MIME Multipurpose Internet Mail Extensions
MIS
Management Information Systems
OO
Object Oriented
OS
Operating System
PC
Personal Computer
PDF
Portable Document Format
RSVP Repondez Sil Vous Plait
SDD
Software Design Description
SRS
Software Requirements Specification
SSL
Secure Socket Layer
TBD
To Be Determined
TBR
To Be Resolved
UML
Unified Modeling Language
URL
Universal Resource Locator
B. Glossary
Tailored out of this document.
A. Appendixes
Technology Prototype
The prototype is a technology feasibility prototype for developers and is not a proof of
concept prototype for end users. It is also not a typical prototype in that it actually works, and is
not just made to look like it is working. Specifically, it prototypes all of the main functionality that
the online wedding invitation system is going to have to offer. First, it prototypes the client side
handling of forms. It accepts ascii textual data, as well as a binary image file from the end user.
Next, it prototypes the transfer of both the ascii and binary data to the java web server. The web
server generates an ascii text file and saves it to the server, along with uploading the binary image
file. Then, it prototypes the Java web server dynamically generating an email message, along with
dynamically generating an html message. Finally, it prototypes hosting the created HTML file and
uploaded image on the web server. The languages used to develop this prototype include HTML,
Java, and Servlets. JavaScript was the only language not prototyped, which will be used in the
ultimate system. The prototype uses the standard components of the system, such as the email
and web browser. The Java web server is emulated as by an application called the Servletrunner,
which is a fully Servlet specification compliant stand-alone utility used for testing servlets.
Although both the client and Java web server are operating on the same machine, they are
communication to each other through the use of the internet protocols, so that the prototype would
operate correctly if it were distributed onto separate machines. Thus, if EIS currently had access
to a Java web server, this prototype would work in the exact same manner as the completed
system will. It successfully demonstrates the robustness of the development environment chosen
for the system and its capabilities to support the entire scope of the online wedding invitation
system. The only aspects it is lacking is the presentation aspects of the system along with error
handling procedures, which will have to be thorough to provide an entirely automated system.
steps for running the prototype:
 connect to dial up RNA account, no new messages in mailbox
 kc.jpg in c:\ and not anywhere else on harddrive
 startserver from servlets folder
 open http://localhost:8080/file.html in netscape
 -file is in C:\jsdk2.1\webpages\file.html
 submit text name and file
 it uploads the file and dynamically generates html and email
 check email for location of new file
 -new file is at c:\jsdk2.1\examples\fileMade.html
 go to that directory and double clock on that file
 -delete the fileMade.html and kc.jpg from that directory
 run stopserver from servlets directory
 close internet connection
 close all open windows
Download