Transcript Sky Watcher

Sky Watcher
by Zane Everett
31279187
Description
Sky Watcher is a program designed to let a user
gain information about star viewing through a
web and phone interface.
The web interface is for novice users and gives
detailed information about viewable night sky
objects.
The phone interface is for more advanced users
allowing them to hear basic viewing info.
Client Server
Level 2 Architecture
Server
Phone Interface
Client
Phone Info
Gather
Validation
XQuery Handler
Astro
Data
Define
Data
Web Info
Gather
Web Interface
Client
Star Chart
Gather
Star Chart
Data
Client Server
Class Diagram
Define
Data
Astro
Data
DefineGenerator
XML Validation
generateXQuery()
runXQueryOnData()
returnDefine()
getFileValues()
validateFiles()
returnValidStates()
1
1
Star Chart
Data
DataSorter
queryDatabase()
dateCompare()
displaySingleDataType()
displayBothDataTypes()
formatData()
returnData()
1
* * *
VXML Output
generateOutput()
queryServer()
ChartFinder
getDate()
findCurrentChart()
returnChart()
1
1
*
DetailedDataOutput
*
StarChartOutput
displayList()
displayPicture()
displayLink()
queryServer()
queryCurrentChart()
displayCurrentChart()
Client Server
Mapping
Component
Class
Phone Interface Client
VXML Output
Web Interface Client
DetailedDataOutput, StarChartOutput
Phone Info Gather
DataSorter
Validation
XML Validation
XQuery Handler
DefineGenerator
Web Info Gather
DataSorter
Star Chart Gather
ChartFinder
Object Oriented
Level 2 Architecture
Validator
Astro
Data
Phone
Interface
Client
Data Gather
Formatter
Web
Interface
Client
Define Gather
Chart Gather
Define
Data
Star Chart
Data
Object Oriented
Class Diagram
astroObject
definitionObject
returnData()
*
chartObject
returnData()
*
returnData()
*1
1
1
objectGatherer
1
xmlValidator
queryObjects()
sortObjectsWithQuery()
returnObjects()
1
1
getFileValues()
validateFiles()
returnValidStates()
1
formatData
formQuery()
sendQuery()
formatObjects()
sendObjects()
1
*
*
vxmlOutput
outputObject()
serverRequest()
1
*
webOutput
displayObject()
serverRequest()
*
Object Oriented
Mapping
Component
Class
Phone Interface Client
vxmlOutput
Web Interface Client
webOutput
Validator
xmlValidator
Formatter
formatData
Data Gather, Define Gather, Chart
Gather
objectGatherer
Astro Data
astroObject
Define Data
definitionObject
Star Chart Data
chartObject
Pros and Cons
ISSUE
CS
OO
Interface Component Distribution
Pro
Con
Code Reuse
Pro
Con
Voxeo Front End Compatibility
Pro
Con
Bottlenecking
Pro
Con
Data Complexity
Pro
Con
Number of Components/Complexity
Con
Pro
Data Access/Integrity
Con
Pro
Adding New Interfaces
Con
Pro
Rationale
Voxeo, the front end is designed for VXML scripts, so it was easier to
implement as a Client-Server to fit this limitation and reduce the processing
and complexity of components.
The Client Server architecture is more distributed with little bottlenecking
issues. The OO design requires a bottleneck built in to pass objects along,
there the CS version lets interfaces use their own discrete code. If one
interface fails, the other can still theoretically function.
Data Integrity became very little concern when the design was fleshed all. All
data is pre-rendered and not modifiable by the user. So the components
access to them was not going to change them.
Code Compilation
The system was mainly built in .php scripts residing on the server and
the Voxeo component is also VXML script based.
The one component that was compiled is the Adobe Flex based
Shockwave Flash web front end.
Demo
Sky Watcher Web Interface
Sky Watcher Phone Interface
(720) 381-4229