Dot Net FM Software and Object Design Chris
Dot. Net. FM Software and Object Design Chris Zamanillo Ana Rodriguez Allen Lee Peter Singh Allen Vega Robert Lyn
Problem Statement n n 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
Current Software Architecture n n Winamp Windows Media Player SHOUTcast i. Tunes
Winamp & Windows Media Player n n n Several audio & video formats Streaming Internet radio Playlists Customizable interface through skins Winamp ¡ n No sharing without plug-ins Media Player ¡ has Jukebox functionality
SHOUTcast n n Listener needs to play streaming mp 3 Host uses Winamp with SHOUTcast plug-in Music transmitted to server which broadcasts to listeners Access to server can be expensive! ¡ ¡ http: //www. hosting 4 less. com 100 listeners at 128 Kbps is $250/month
i. Tunes n Jukebox ¡ n n Playlists Internet radio ¡ n Automatically manages music library No favorite stations Shares library ¡ available only on LAN
Proposed Software Architecture n n All in one design Cleaner interface ¡ ¡ ¡ n n n Playlists Station lists Customizable skins Simple to switch between client - server Sharing not dependent on plug-ins Ease of use!
Subsystem Decomposition n n Playback List Error I/O Configuration
Packages
Global Software Control n User interface classes do not have direct access to entity classes n Entity classes do not communicate directly with any other classes n Control classes do not communicate directly with interface classes n GUI classes subscribe events
Design Goals n n n Modifiability Ease of use Efficiency Low response time Low-cost and Reuse of Components
Design Patterns n Singleton ¡ n Bridge ¡ n Sound. Data, Visualizations Façade ¡ n Error, Controllers, Preferences Controllers Observer ¡ Skin. Controller
Hardware/Software Mapping n n. Bass Class Library. Net Windows Forms Extensible Mark-up Language (XML)
Deployment Diagram
Component Diagram
Access Control and Security n n n No user authentication Security handled by n. Bass Access Matrix
Access Control Matrix Objects Actors Playlist Station. List Station Music. Info Custom. Skin Listener <<create>> Add. Music. Info Get. Songs Get. Lists <<create>> Get. Name <<remove>> Get. Name <<create>> Get. Filename DJ <<create>> Add. Music. Info Get. Songs Get. Lists <<create>> Set. Name <<remove>> Set. Name <<create>> Get. Filename
Persistent Data Management n Identifying persistent data objects ¡ ¡ ¡ ¡ n Station. List Play. List Preferences Log Music. Info Station XMLFile Selecting a storage strategy ¡ XML
Boundary Conditions n n n Configuration use cases Start-up and Shutdown use cases Exception use cases
Object Design Trade-offs n Buy vs. Build n Memory space vs. Response time
Subsystem Services (1/2) n List services ¡ n Error services ¡ n Manages play lists and station lists. Handles error reporting to user and to file. I/O services ¡ Allows configuration and list data to be outputted to XML files.
Subsystem Services (2/2) n Configuration services ¡ n 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.
Class Interfaces
Class Interfaces
- Slides: 24