1 / 24

Dot Net FM

Dot Net FM. Software and Object Design. Chris Zamanillo Ana Rodriguez Allen Lee Peter Singh Allen Vega Robert Lyn. Problem Statement. Problems with sharing music Large disk space requirements Slow downloads Complicated software Our solution Small amount of disk space

kpeel
Download Presentation

Dot Net FM

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DotNetFM Software and Object Design Chris Zamanillo Ana Rodriguez Allen Lee Peter Singh Allen Vega Robert Lyn

  2. Problem Statement • Problems with sharing music • Large disk space requirements • Slow downloads • Complicated software • Our solution • Small amount of disk space • Listen while you download • Easy to use interface

  3. Current Software Architecture • Winamp • Windows Media Player • SHOUTcast • iTunes

  4. Winamp & Windows Media Player • Several audio & video formats • Streaming Internet radio • Playlists • Customizable interface through skins • Winamp • No sharing without plug-ins • Media Player • has Jukebox functionality

  5. SHOUTcast • Listener needs to play streaming mp3 • Host uses Winamp with SHOUTcast plug-in • Music transmitted to server which broadcasts to listeners • Access to server can be expensive! • http://www.hosting4less.com • 100 listeners at 128Kbps is $250/month

  6. iTunes • Jukebox • Automatically manages music library • Playlists • Internet radio • No favorite stations • Shares library • available only on LAN

  7. Proposed Software Architecture • All in one design • Cleaner interface • Playlists • Station lists • Customizable skins • Simple to switch between client - server • Sharing not dependent on plug-ins • Ease of use!

  8. Subsystem Decomposition • Playback • List • Error • I/O • Configuration

  9. Packages

  10. Global Software Control • User interface classes do not have direct access to entity classes • Entity classes do not communicate directly with any other classes • Control classes do not communicate directly with interface classes • GUI classes subscribe events

  11. Design Goals • Modifiability • Ease of use • Efficiency • Low response time • Low-cost and Reuse of Components

  12. Design Patterns • Singleton • Error, Controllers, Preferences • Bridge • SoundData, Visualizations • Façade • Controllers • Observer • SkinController

  13. Hardware/Software Mapping • nBass Class Library • .Net Windows Forms • Extensible Mark-up Language (XML)

  14. Deployment Diagram

  15. Component Diagram

  16. Access Control and Security • No user authentication • Security handled by nBass • Access Matrix

  17. Access Control Matrix

  18. Persistent Data Management • Identifying persistent data objects • StationList • PlayList • Preferences • Log • MusicInfo • Station • XMLFile • Selecting a storage strategy • XML

  19. Boundary Conditions • Configuration use cases • Start-up and Shutdown use cases • Exception use cases

  20. Object Design Trade-offs • Buy vs. Build • Memory space vs. Response time

  21. Subsystem Services (1/2) • List services • Manages play lists and station lists. • Error services • Handles error reporting to user and to file. • I/O services • Allows configuration and list data to be outputted to XML files.

  22. Subsystem Services (2/2) • Configuration services • Manages user preferences and works with the I/O subsystem to save these settings from session to session. • Playback services • Provides playback of local files as well as broadcasting and playback of audio streams.

  23. Class Interfaces

  24. Class Interfaces

More Related