Upload
tyrone-stafford
View
218
Download
0
Tags:
Embed Size (px)
Citation preview
Comp 410: Final Project
Christopher AlmeChristopher Nunu
Dennis QianStanley Roberts
Comp 410Software Engineering Methodology
Create a Mock Software Company
“Customer” commissions a new product
Semester-Long Project
Dr. Wong, 3 Teaching Assistants, 1 Client, 4 Students
Warm-Up Project: Battle Ships
Team OrganizationProject Manager: Christopher AlmeStudent DirectedSelf Assigned MilestonesFreedom to make choices (and mistakes)Team Collaboration Tools
SharePoint Server: Collaboration WebsiteTeam Foundation Server: Version Control
Client Proposal
Interactive ArtScalable number of usersDynamically changing inputs
Possibly including game controllersVisual representation of the population of inputs
Into The CloudDynamic ScalabilityMinimal Initial InvestmentCommunal HardwarePay As You GoClassic Examples:
Batch ProcessingWebsite
Services offered by:Amazon, Google, IBM, Microsoft
Drawbacks of the CloudTrust
Communal ServersData outside the corporation
Vulnerability to AttackData sent over the Internet
Catastrophic EventsRecovery at the mercy of the cloud owner
Ideal Cloud CustomerMinimal cost
Scalability
Minimum Data Risk
Microsoft Azure Platform Compute Platform
Storage Platform
Development Tools
Uncharted Skies: Streaming Cloud
Real time data streams ground -> cloud
Process data in the cloud
Stream the results back to the ground
Huge Parallel Processing Capability
Practical UsesAir Traffic Control
Environmental Sensors
Inventory Tracking
Surveillance
Home Automation
User Experience: The Ground Connect Streams to the Cloud
Manage Processing of Streams
Visual Representation of Results
Architecture: The Ground
Control Panel
Cloud SettingsOptionsStatus
StreamManag
erStream
Stream
Stream
Stream UpStream
ManagerStream
Stream
Stream
Stream UpStream
ManagerStream
Stream
Stream
Stream Up
Display
Visual Representation of Cloud
Output
Stream Down
Visual Representation of Cloud
Output
Display
Visual Representatio
n of Cloud Output
Stream Down
Stream Manager
• Provides a way for the user to connect streams up into the cloud
• Arbitrary number of running instances
• Dynamically add/remove Streams
• User Friendly
Display
• Receives streaming output from the cloud
• Renders the output from the cloud
• Displays the results on a screen
• Arbitrary physical location
Control Panel
• Administration of cloud functionality
• How streams are used in processing
• Coordinate the Creation of Cloud
• Varies based on scale
User Experience Demo
Cloud StructureControl Process
Creates the cloud structureFeature Extractor
Cloud Entry PointMixers
Perform functional operations on streamsDisplay Adapter
Cloud Exit PointState Repository
Stores information on cloud structure
Message
Architecture – The Cloud
Feature Extracto
r
Stream Feature Extracto
r
Stream Feature Extracto
r
Stream
Mixer
Mixer
Mixer
Mixer
Mixer
StreamDisplayAdapter
StreamDisplayAdapter
2-w
ay
Mes
sage
Mess
ag
e
ControlProcess
Stream Entry Processing of Streams Stream Exit
StateRepository
Control Process
• Creates the Cloud structure
• Communicates the status of the cloud to the user on the ground
• Provides user access to the cloud structure
Feature Extractor
• Stream entry into the cloud
• Single Stream Number Crunching
• Converts streams into internal events
• Forwards events to proper Mixer
Mixer
• Syncs and Processes Streams
• Given an arbitrary lambda
• Linked to produce a graph of operations
Display Adapter
• Stream exit point, connection to Display
• Converts the processing results to Visualization commands
• Different adapters can be set to produce different results
State Repository
• Shared Database
• Stores Cloud Configuration Data
• Allows for re-creation of lost module
Software EngineeringWhat it means to develop large software
projectsMaking mistakesProper planning and design
What it means to be part of a teamTime ManagementDivision of labor
Enterprise Architecture DesignUnderstanding how to approach something new
Questions