SDD Example For Web Project
SDD Example For Web Project
Senior Project
Matthew King
6/25/2010
Hillsborough County Historical Mapping Version: 1.2
Software Project Management Plan Date: 02 November 2010
Revision History
Date Version Description Author
1. Introduction............................................................................................................................................4
1.1. Purpose...........................................................................................................................................4
1.2. Project Scope..................................................................................................................................4
1.3. Definitions, acronyms, and abbreviations......................................................................................4
1.4. References......................................................................................................................................4
1.5. Overview........................................................................................................................................4
2. Design Considerations............................................................................................................................4
2.1. Assumptions...................................................................................................................................4
2.2. General Constraints........................................................................................................................5
2.3. System environment......................................................................................................................5
3. Architectural Design...............................................................................................................................5
3.1. Web Architecture...........................................................................................................................5
3.2. Block Diagram.................................................................................................................................6
3.3. Data Design.....................................................................................................................................6
3.3.1. Data Description.....................................................................................................................6
3.3.2. Maps Database.......................................................................................................................6
3.3.3. Data Dictionary of Maps table................................................................................................7
3.3.4. Blog Database.........................................................................................................................9
3.3.5. Data Dictionary of Blog table...............................................................................................11
4. User Interface Design...........................................................................................................................12
4.1. Section Overview..........................................................................................................................12
4.2. Web Pages....................................................................................................................................12
4.2.1. Home Page............................................................................................................................12
4.2.2. Maps Page............................................................................................................................13
4.2.3. Blog (Web Log) Page.............................................................................................................14
4.2.4. Book Page.............................................................................................................................16
5. Glossary................................................................................................................................................18
5.1. Acronyms and Abbreviations.......................................................................................................18
5.2. Definitions....................................................................................................................................18
Introduction
The project is to create an interactive Google ® map to view historical information in Hillsborough
County.
1.1. Purpose
The primary purpose of this document is to present a detailed description of the design elements
of the Hillsborough County Historic Maps. This will guide me in the design of the application
This document will provide details on the design of the various pages of the web application, in particular
the Maps page and the Blog page which interact with the MySQL relational database using various scripts.
User will have the ability to view Hillsborough County and interact with various aspect of its
history. The user will be able to view historical overlay maps from various years, photos and
historical notes. Users will also be able to view Blogs within the application as well as participating
and signing up with the Wordpress ® Blog by linking to it external.
Definitions, Acronyms and Abbreviations are defined in the Glossary, see Section 7.
1.4. References
IEEE Standard 1016‐2009, IEEE Standard for Information Technology – Systems Design – Software
Design Description, IEEE Computer Society, 2009.
1.5. Overview
This document will go over the design of various aspects of the project including architectural, software
components, interface, and database design.
2. Design Considerations
2.1. Assumptions
The user of the web application will have the Adobe® Flash plug‐in installed along with a current
multi‐media web browser to view the application.
2.2. General Constraints
The application will be completed using the Adobe Flex® architecture and a MySQL relational
database. The developer of the application requires Adobe Flex® 3.0, a local web server for
testing to include Apache Web Server 2.0, PHP 5.0 and MySQL 5.1 and WordPress database
installed. The designer will also need a vector and/or raster image editor such as Adobe®
Illustrator/InkScape or Adobe® Photoshop/GIMP. For publishing the application the provider
must have Apache Web Server 2.0, PHP 5.0, and MySQL 5.1 or higher and have the ability to
include WordPress® Blog.
The application is designed to work on all operating systems that can support a current media
enabled web browser and the Adobe® Flash plug‐in.
3. Architectural Design
The Hillsborough County Historic Mapping application will run on a client‐server system
architecture where the client will connect to a web server using a current internet browser and
TCP/IP connection. The web server will be hosted by GoDaddy® with a Yahoo® web server as
backup. The web server is maintained by the Apache® web server software on a Linux operating
system. The web server will communicate with a MySQL database and interact with Google®
Maps API using client and server side scripting.
Figure 1
3.2. Block Diagram
Figure 2
MySQL database connects with Adobe® Flex ODBC connection using PHP Scripts installed
on the local web server.
3.3.5.1. ID
3.3.5.1.1. ID
3.3.5.1.2. Auto Number ID of Post
3.3.5.1.3. Integer
3.3.5.1.4. 20 digits
3.3.5.1.5. 0‐99999999999999999999
3.3.5.2. Author
3.3.5.2.1. post_author
3.3.5.2.2. Author of Post ID (from UserId in ps_users table)
3.3.5.2.3. Integer
3.3.5.2.4. 20 digits
3.3.5.2.5. 0‐99999999999999999999
3.3.5.3. Post Date
3.3.5.3.1. post_date
3.3.5.3.2. Date of posting
3.3.5.3.3. DateTime
3.3.5.3.4. YYYY‐MM‐DD HH:MM:SS
3.3.5.3.5. 0000‐00‐00 00:00:00
3.3.5.4. Post content
3.3.5.4.1. post_content
3.3.5.4.2. Content of the Post
3.3.5.4.3. Varchar/Text
3.3.5.4.4. 255 characters
3.3.5.4.5. 0‐255 characters
3.3.5.5. Post Title
3.3.5.5.1. post_title
3.3.5.5.2. Title of Post
3.3.5.5.3. Varchar/Text
3.3.5.5.4. 50 characters
3.3.5.5.5. 0‐50 characters
3.3.5.6. Post Status
3.3.5.6.1. post_status
3.3.5.6.2. Status of Post
3.3.5.6.3. Varchar/Text
3.3.5.6.4. 20 characters
3.3.5.6.5. 0‐20 characters
3.3.5.7. Post Name
3.3.5.7.1. post_name
3.3.5.7.2. Name of Post
3.3.5.7.3. Varchar/Text
3.3.5.7.4. 200 characters
3.3.5.7.5. 0‐200 characters
3.3.5.8. Post Modified
3.3.5.8.1. post_modified
3.3.5.8.2. Date post modified
3.3.5.8.3. DateTime
3.3.5.8.4. YYYY‐MM‐DD HH:MM:SS
3.3.5.8.5. 0000‐00‐00 00:00:00
This section provides an example of what the interface will look like for each web page to the user.
Figure 5
4.2.1.1. Description
The Home page provides you with links to all the other pages within the web
application and displays an overview of what is expected of the application.
Figure 6
4.2.2.1. Description
The Google® map is displayed by using the Google® map API provided by
Google® for Flash application development.
Year – Selecting the Year will display an overall map for that particular
year sectioned off by grids based on Township, Range and MapNo (2919‐
01 is equivalent to Township 29, Range 19, Map No 01) and will be
displayed in the Map Overlays section of the form.
Map Overlay – Selecting a particular grid on the map or in the form will
provide you with the field notes, points of interest, photos and other
notes related to that overlay.
Field Notes – Available field notes will display in the form for the overlay
selected and as green thumbtacks on the Google® map.
Other Info – If there are other info that do not apply above it will be
displayed on the map as an orange thumbtack and displayed on the
form.
4.2.2.3. Methods
Year Select – When a year is selected a PHP script will connect to the
database and display the image on the map with the available overlays
displayed in the form.
Opacity Slider – Another feature will allow the user to control the opacity
of the overlay image on the map. When the slider is moved a PHP scripts
updates the opacity by manipulating the XML related to that image.
4.2.3.2. Description
The Blog Page displays the most current posts from the external
Historical Maps WordPress® blog. A list of available blogs will be
displayed with the name of the poster, date and short
description. A display window will show the selected post with
its contents.
4.2.3.4. Methods
Post Select – Selecting a specific post in the selection window calls a PHP
script which pulls the post content from the database and displays in
the post window.
4.2.3.5.1. Description
This is the linked external website created with WordPress® and installed
on the web server. The administrator can access and administer the Blog
from this website, approve users, and update posts as needed.
4.2.4.1.1. Description
The Purchase Book (left) section of this page allows a user to link
to Amazon to purchase the text ‘The Fort King Road Then and
Now’ by Jerry Morris and Jeff Hough. A link is also provided to
e‐ mail one of the authors of the book.
4.2.4.1.2. Methods
Selecting the Amazon icon or the text will link you to an external
Amazon website for purchasing the text.
Selecting the e‐mail link will bring up the users default e‐mail
program allowing the user to e‐mail one of the authors of the
book.
4.2.4.2. About Us
4.2.4.2.1. Description
4.2.4.2.2. Methods
Selecting the e‐mail link will bring up the users default e‐mail
program allowing contact with the developer.
5. Glossary
QA Quality Assurance
5.2. Definitions
Action Script
A scripting language, similar to JavaScript, used primarily for developing Adobe® Flash
applications.
Programming interface that enables one software interface to interact with another.
A way of developing web applications using a combination of XHTML, CSS, DOM, XML, XSLT,
Asynchronous data retrieval via XMLHttpRequest, and JavaScript.
Style sheet language that allows for formatting and layout of web sites.
A web interface that provides a way for programs and/or scripts to update the content, structure,
and style of web documents dynamically.
Flash
A development environment created by Adobe used to create and view animation programs for
the internet.
Flex
A development environment created by Adobe used to great Flash based applications from a
programmer (vs. designer) perspective using MXML and Action Script.
Java
JavaScript
A web scripting language used to make web pages more dynamic based on the Java language.
A language created to express geographic information used with various applications including
Google® maps and Google® Earth based on the Extensible Markup Language.
MySQL
A relational database management system owned by Sun Microsystems® and used on the
Apache Web Server.
Object‐Oriented
Open‐Source
PHP
A scripting language used to interact with a web server to provide an interactive, dynamic web
experience.
Python
An application similar to a desktop application but for use with the web and web technologies.
Ruby
An open‐source object oriented programming language that can be used on multiple platforms.
Ruby on Rails
An open‐source web application framework used to develop for the web based on the Ruby
language.
Web Log
A way for individuals to provide information, similar to a journal, to the public via the web.
XMLHttpRequest
An application programming interface that transfers data between a client and server.
XML
XSLT
A web technology used to add styles to XML and other marked up text.