Software Engineering – 10/26/2000 Team 3 Requirements and Specifications Imajicon CD Player Chris Bledsoe John Gill Derek Haynes Craig Ricks Introduction The purpose of this report is to identify the Requirements and Specifications phase of the project. This report will give a description of the project, related documents, use case descriptions, functional requirements, nonfunctional requirements, development and target platforms, as well as the risk assessment. Project Description Originally, our project was to create an Internet-ready, console compact disc player that would be able to connect to databases to display CD information. This will be the first Internet-ready, console compact disc player. The system can be connected to a home network using the included network interface. Once connected to the network, the player will be able to interface with both the personal computer and the Internet to obtain additional disc information. This disc information is retrieved in real-time from our web server, and can be stored in the local database at the user’s discretion. After the information is transferred to the player, any of the information available can be displayed at the user’s command. As pointed out by the instructor, the time constraint incurred by this course will not allow us to complete a project of this nature. Therefore, we are scaling back our project. Our project is a console CD player that will maintain and display (using a LCD display) user entered information. The information provided by the user will be entered using an externally connected keyboard, or via the optional touch screen feature. This information will include CD Title, Artist, Song Names, and a user created Play List for each CD. This information will be stored in a local database. Related Documents The Imajicon CD player will use many of the ideas from CD players already on the market. One of the most popular software music players on the market is Winamp. Winamp provides all of the functionality one would want in a CD player. For instance, the user can quickly seek through a song using the built in slider bar. It provides the user with an easy to use interface, which allows total control over the music being played. Winamp can be downloaded Chris Bledsoe John Gill Derek Haynes Craig Ricks Software Engineering – 10/26/2000 Team 3 Requirements and Specifications Imajicon CD Player for free at the their homepage http://www.winamp.com. If you run Linux and are interested in trying out a nearly identical audio player (the Winamp skins even interchange) go to http://www.xmms.org. The following link is one that gives a class diagram for how the various functions of the CD player may interact. This CD player is written in Java but the information is still relative to what we are designing in Visual Basic. http://www.linuxgazette.com/issue29/hamilton.html To allow the user to automatically be presented with information about a CD they have, we will implement a lookup of the CD through the online database, CDDB. The CDDB database contains over 650,000 albums and 8 million tracks. CDDB offers developers the ability to sign up to use CDDB in their own applications. We will sign up and implement the lookup of information through CDDB in our Imajicon CD player. http://www.cddb.com Kenwood is a manufacturer of high-end audio systems for both the home and professional user. Kenwood offers a product very similar to what we are designing. What Kenwood offers is called the PCLink NetNamer. It allows those with a compatible home Kenwood CD player to link the unit to their PC and download the specific CD information through the net. The unit uses software that is installed on the PC and transfers the information from CDDB. This link contains a lot of relative information to what we are doing. http://www.kenwoodusa.com/cat.htm?body=new/cddbnews.htm Use Cases – General In order to more accurately describe the various use cases for the Imajicon CD Player, we have classified the different cases into four categories. The majority of the use cases occur in one of the three basic system states. The three system states are when the system is on but not playing a CD, when a CD is playing, or when a CD is paused. The rest of the use cases are not dependant on any of these factors and can be performed by the user at any time. In addition, all of the use cases assume that the system is on and is functioning properly. When player is idle: The user can insert a CD to be played by pressing the eject button on the interface. After pressing the button, the CD tray will slide out and they can insert a CD of their choosing. The tray can be closed by pressing the eject button again. A CD should be properly inserted into the player now. Chris Bledsoe John Gill Derek Haynes Craig Ricks Software Engineering – 10/26/2000 Team 3 Requirements and Specifications Imajicon CD Player The user may choose to immediately start playing the CD after one has been inserted. By pressing the play button on the interface, the CD will be started and will begin playing the first track. If no playlist has been specified and stored for that particular CD, it will play all the songs in order until the user takes another action. The user may also choose to skip directly to a track using the forward ( >>| ) and backward ( |<< ) buttons on the interface. After the appropriate song has been selected, the user may choose to begin listening to the CD by pressing the play button. The CD will begin playing at the particular track and continue until the end if no action is taken and no playlist has been previously specified. The user can also directly access a track by touching the drop down menu on the interface and selecting the desired song from the list of tracks. When the CD player is idle, the player will skip to that track and will not begin playing until the user selects that option from the interface. When the system is playing a CD: The user may at any time choose to pause the disc. This is accomplished by pressing the pause button or || on the interface. This will cause the CD to halt the transmission of sound to the speakers, and hold the CD at that particular place until some other action is taken. To continue playing the CD, the pause button may be pressed again and the music will continue. The user may stop the CD at any time by simply pressing the stop button on the interface. This will cause the player to stop transmitting the sound to the speakers, and the CD will stop spinning. The user may directly access a certain part of a track using either the slider control or the FF ( >>) or RW ( << ) buttons on the interface. By moving the slider on the interface, the song skips to the place in the song denoted by the position of the slider. After the user releases control of the slider, the song is moved forward or backwards to that part of the song. When pressing the FF or RW buttons on the interface, the song will fast forward or rewind to a place in the track. When either control is released, the song will continue playing at the part of the song where the user released the control. Chris Bledsoe John Gill Derek Haynes Craig Ricks Software Engineering – 10/26/2000 Team 3 Requirements and Specifications Imajicon CD Player The user can directly access a track by touching the drop down menu on the interface and selecting the desired song from the list of tracks. When the CD player is playing, that track will be stopped and the chosen song will begin playing immediately. The user can change the CD in the drive by pressing the eject button on the interface. After pressing the button, the CD will stop playing and the tray will slide out to allow the insertion of a new CD. The tray can be closed by pressing the eject button again. When paused: The user can decide to skip to another song by pressing the forward ( >>| ) or backward ( |<< ) buttons on the interface. After the desired song has been selected, the CD will remain paused until there is further action by the user. The user can stop the CD by pressing the stop button on the interface. After the button is pressed, the player will stop transmitting the sound to the speakers, and the CD will stop spinning. The user may directly access a certain part of a track using either the slider control or the FF ( >>) or RW ( << ) buttons on the interface. By moving the slider on the interface, the song skips to the place in the song denoted by the position of the slider. After the user releases control of the slider, the song is moved forward or backwards to that part of the song. When pressing the FF or RW buttons on the interface, the song will fast forward or rewind to a particular place in the track. When either control is released, the song will remain paused at the part of the song where the user released the control until another action is taken. The user can directly access a track, but this feature will behave a bit differently than in the playing state. The player will move to the selected track, but will remain paused until the user decides to take another action by selecting its control on the interface. State Independent: The user may change the way the track time is displayed on the interface at any time during the operation of the player. By selecting the View option in the menu bar at the top of the screen, the user can toggle between Track Time Elapsed and Track Time Remaining to display the time in the format of their choice. Chris Bledsoe John Gill Derek Haynes Craig Ricks Software Engineering – 10/26/2000 Team 3 Requirements and Specifications Imajicon CD Player The user can at any time select the Shuffle feature, which plays songs in random order. To access this feature, select Options from the menu bar at the top of the screen and select Shuffle. This will cause the songs to be played in random order until the user deselects the Shuffle option by selecting Shuffle from the Options menu again. The user can select the Intro play feature at any time from the Options menu. This allows the user to preview the tracks on the CD for a predetermined length of time on each track. When this option is selected the player will remain in the intro mode until the user deselects this play mode by selecting Intro from the Options menu. The user can edit the Preferences feature at any time by selecting the Options menu and selecting the Preferences list entry. When this option is selected, another window containing the preferences appears, and the user has the ability to configure four different options. The user can decide whether they want the CD to continue playing after the program is shut down, they can decide whether to save preference settings on exit, and they can enable or disable tool tips, the feature that gives hints to various interface controls. The length of the Intro play can be changed from the default setting of 10 seconds to anywhere in the range of five to fifteen seconds. These settings are accepted by pressing the OK button on the right of the Preferences window, or can be voided by selecting the Cancel button. Expanded Use Case: Updating information through Internet The user will have the option of finding out very specific information about the current CD with the Imajicon CD player. They will have the ability to find out the name of the artist, the title of the album, as well as the name of all the songs available on the CD. The availability of the options will hinge on whether there is an active Internet connection that Imajicon can use. The option to look up the specific CD information will be up to the user to decide. Although unlikely, there may be a user who does not wish to have the information automatically looked up for them, and instead, just have the track numbers listed. However, by default, Imajicon will automatically lookup the information for the user. The option to control whether Imajicon automates the looking up of CD information will be very easy to manipulate. To begin, the user must press “Options” in the menu bar of the CD Chris Bledsoe John Gill Derek Haynes Craig Ricks Software Engineering – 10/26/2000 Team 3 Requirements and Specifications Imajicon CD Player player. Then the user will be presented with a new menu and the following options: Options Shuffle Continuous Intro Repeat Track Repeat CD ---------------------------- Preferences The user must press “Preferences” from the list of options. Next, the preferences window will appear. Now the focus of the window will shift from the main CD player window to the preferences window. The preferences window will take control precedence over the CD player as long as the window is open. At this point the state of the CD player will continue as it was previously. For instance, if the CD player were currently playing the intro of each song from the CD, this would continue. Conversely, if nothing were playing, this status would continue. The user will be presented with the following options in the preferences window: By default the “Lookup CD information through internet” checkbox will be checked. To disable this feature the user must press on the checkbox to remove the check. To enable the Chris Bledsoe John Gill Derek Haynes Craig Ricks Software Engineering – 10/26/2000 Team 3 Requirements and Specifications Imajicon CD Player feature the user must press on the checkbox so that a check appears. After the user has selected whether or not to lookup CD information through the Internet they press the “OK” button. At this point the Preferences window will disappear and the focus will shift back to the CD player. The decision on whether to lookup the CD information can either be permanent or can be saved for as long as the current instance of the CD player depending on if the “Save preferences on exit” checkbox is enabled. The user will also be given the choice to cancel any changes they may have made to the Preferences. If the user selects “Cancel” the previous settings will remain the same. Expanded Use Case: Editing the Play List One of the advanced features that the project will include in the Imajicon CD Player will be the ability to create or modify a play list for the CD that is inserted into the player. This feature will be accessed and used in the following manner. When the touch screen display is added, the user will be able to access this function by replacing the word click with the word touch. To edit the play list for the current CD, the user will click the File menu located in the top left-hand corner on the player. Next, click the Edit Play List option. When the CD information screen appears, the user will be able to modify the order of the play list. To remove a song from the play list, the user clicks the specific song in the play list to highlight it, and then clicks the remove button. This will remove the song from the play list, and any songs that followed it in the listing will move forward one position. To add a song to the play list, the user clicks the specific song from the track list to highlight it, and then clicks the add button. This will add the song to the end of the play list. When the user is finished making the changes to the play list, the user should click the OK button located at the bottom of the screen. This will save any changes the user made, and then exit the Edit Play List function. If the user does not want to save the changes that were made, they should click the cancel button. Doing so will exit the Edit Play List function without saving any changes. Chris Bledsoe John Gill Derek Haynes Craig Ricks Software Engineering – 10/26/2000 Team 3 Requirements and Specifications Imajicon CD Player Expanded Use Case: Entering CD Information A very important feature of the Imajicon CD Player will be the ability to enter information regarding the CD that is currently inserted. It has been determined that the more control a user is allowed to have over a product, the more the user will like the product. The more the user likes a product, the better the product will sell. The team members designing this project have decided to take this type of approach by including as many features as possible within the given time constraints. The Imajicon CD Player will contain the ability to record and display the artist, title, and track of the inserted CD. The prototype being developed on the Windows version will look and act similar to the final product. Since the final product will contain a compact touch-screen display with a virtual keyboard, it will be easy to enter the CD information in the same manner that it will be entered using the prototype. To begin entering information about the CD, one will need to click (or touch) the File menu located at the top left-hand corner of the player. When the drop-down menu appears, the Edit Play List option should be chosen. Next, a screen containing the artist, title, and a list of tracks will appear. To change the artist name or title, the user may use the tab key to tab to the appropriate field. The final product will allow you to touch the appropriate field before you begin your typing. Once the artist and title have been entered, the user can click the OK button that will be located at the bottom of the screen to apply and save the changes. A name can also be designated for each track on the CD. This field will be located on the same screen that the artist, title, and track list are on. Once a track has been selected from the list, the user should then go to the track input field by using the tab key (or touching the display). Once the track name has been entered, the user should press the Set Name button to tell the program to remember the track name. Chris Bledsoe John Gill Derek Haynes Craig Ricks Software Engineering – 10/26/2000 Team 3 Requirements and Specifications Imajicon CD Player Once all the track names have been entered, the user should click the OK button located at the bottom of the screen and the changes will be saved. If at anytime the user should click the Cancel button, all changes, including the artist name and title will be lost. Functional Requirements Physical Environment Since the CD player will be a product that available to the general public, the system will be functioning in many different environments under various conditions. As any other electronic equipment, the player should not be exposed to moisture or excessive humidity. Since the player has an optical lens that reads the compact discs, smoke and other pollutants should be kept away from the unit so as not to cloud the lens. Interfaces The system will receive digital information from compact discs and transmit that information to a stereo system. A stereo system with attached speakers will serve as the medium to transmit the music from the player. The system will work with any standard compact disc including recordable discs. Users and Human Factors There will be a variety of users from the general public who will be using this system. Ideally, the user should have some proficiency with electronics to take full advantage of the available features of the player such as the programming of playlists and retrieval of information from the Internet. However, technical proficiency is not required to use the basic playing functions of the player. Anyone with experience playing compact discs should have no trouble using this player, and many steps have been taken to assure that there are few ways to misuse the system. Functionality The system will include all the standard features included on compact disc players such as the ability to play, pause, stop, navigate or seek through a disk. Also, it will include some other features common to many compact disc players such as intro play, repeat, and shuffle. In addition to the standard features found on many other players, the user will have the ability to Chris Bledsoe John Gill Derek Haynes Craig Ricks Software Engineering – 10/26/2000 Team 3 Requirements and Specifications Imajicon CD Player program a sequence of tracks or a playlist and save that information for future reference. Also the system is able to receive input from the user to update internal database information. The system stores information about each compact disc and can access particular information in the format of the users choice. After connecting the player to you home network, retrieval of disc information from the Internet is possible. Documentation A manual containing detailed descriptions of all the available features of the system will be included with the player. There will also be extended information accessible at the Imajicon web site as new features are made available. The manual included with the system will be directed towards a general, non-technical audience, whereas the information on the web site will be of a more technical nature intended for users that want to use the extended features of the player. Resources The developers working on this project need to have a strong knowledge of embedded systems development tools and a general knowledge of electronic hardware. The system will be the size of a standard compact disc player (approx 4” X 7” X 14”) and will require a 120V power supply. Quality Assurance To insure the highest levels of quality in our system, we will continue to develop and improve the product after the initial release. To make the player the most useful for the greatest number of people, we also plan to make the system compatible with different operating systems such as Windows, Mac, and Linux. Also, we plan to design a very modular code with strong error handling algorithms to increase the performance of the system software. Non-Functional Requirements One of the main limitations of the system is the amount of storage space available on the internal hard drive. This will limit the amount of disc information that can be stored on the machine. Also, the amount of disc information that can be displayed on the screen at one time is limited to the size of the LCD screen. Because of some of these limitations, we will have to make the software as efficient as possible to compensate for the hardware limitations. Chris Bledsoe John Gill Derek Haynes Craig Ricks Software Engineering – 10/26/2000 Team 3 Requirements and Specifications Imajicon CD Player Development and Target Platforms The prototype model will be developed on the Microsoft Windows platform and is compatible with Windows 2000 and all previous versions. The final product will be designed using a proprietary operating system that is specific to its operational needs. It will be comprised of a compact touch-screen display that will operate similar to the Windows environment. Risk Assessment Due to the large amount of planning and programming involved in this project, a fair amount of risk assessment is needed to assist with the success of the final product. Below, a risk management plan has been implemented to help prepare the team with the most severe outcomes, which in turn, could allow problems to be better handled if they arise. Concern Description Concern Level Programmer getting sick or quitting. There should be another member High of the team knowledgeable of the programming that can take over at any given time. Unable to meet deadline. The proper preparation needs to be High maintained and group members should be continuously updated on the project status of all events. Changes to requirements. Team members should always be prepared Medium for frequent requirement changes that are likely to occur. Loss of team members. It is best to be knowledgeable in other Medium member’s responsibilities in case there is a personnel shortage. Developing a user-interface that doesn’t do what it is supposed to do. Continuous testing and review of the user-interface should be performed as often as possible. Low
© Copyright 2026 Paperzz