COMP 145 Client Contract II Oral Text Learning Production Interface Project for Mr. Dick Schmitz February 13th, 2001 Name Title Dick Schmitz Client Approval Signature Group 10 Software Engineering Team Team Member Karen Parker Title Producer Brianne Roth Administrator Sean Rielly Director Jason Howell Librarian Sam Adu Quality Assurance/Tester Page 1 of 26 Approval Signature February 13th, 2001 COMP 145: Group 10: Client Contract II Oral Text Learning Production Interface Project for Mr. Dick Schmitz Table of Contents: Section 1 3 4 5 6 7 8 9 Page Preface 1.1 2 Description 3 Document Change History 3 Introduction 4 2.1 2.2 2.3 2.4 4 4 4 4 The Client Oral Text Learning Description Current Production Production Problems and Project Goal Glossary (alphabetical order) User Requirements Specifications 5-7 7-9 4.1 (A) 4.2 (B) 4.3 (C) 4.4 (D) Figure 4 7 8 8 8 9 User Interface Microsoft Word Interface Audio Extraction Network File Transfer Summarized Context Model Diagram System Requirements Specification 9-15 5.1 5.1.1 5.1.1.* 5.2 5.3 5.4 9 10 11-14 14-15 15 15 Functional Requirements Overall Model Diagram Detailed Screens from Diagram Non-Functional Requirements Domain Requirements Goals Hardware and Software Resource Requirements 15-16 6.1 6.2 6.3 6.4 6.5 15 15 15-16 16 16 Hardware Software Plans to procure Estimated Schedule of Procurement/Delivery Alternatives (risk management) Verification and Validation 16-17 7.1 7.2 16 17 Strategy Test Cases Developmental Schedule 17-20 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.1.5 8.1.6 17 17-18 18-19 20 20 20 (see 21-26) 20 Development items Major Phases Tasks and Dependencies Major milestones Deliverables Diagrams (see 9.1 and 9.2) Risk Analysis and Management Appendices 21-26+ 9.1 9.2 9.3 22-25 26 Attached Pert Chart Pages 1-4 Gant Chart Page 1 Technical Notes Issue 1.1 Page 2 of 26 February 13th, 2001 COMP 145: Group 10: Client Contract II Oral Text Learning Production Interface Project for Mr. Dick Schmitz 1 Preface This is the second version of the Contract for the Oral Text Learning Production Interface. The first version of the contract was delivered to the Client on February 6th, 2001. The Client had one week to review this document with the Engineering Team, to point out changes, mistakes, or points of contention that need to be addressed. Then, the team delivered this version (entitled Contract II) on February 12th, 2001, which includes an additional section about Contract Changes made since Contract I [section 1.1], and a new Verification and Validation section [section 7]. 1.1 Document Change History 2.4 3.15 4 4.1.2 4.4.2 4.4 (D) 5 5.1 5.1.1 5.1.1.5 5.1.1.6.1 5.1.1.6.2 5.1.1.9 5.1.1.9.1 5.1.1.9.2 5.1.1.11 5.2.1.1 5.2.3.1 5.3 6.3.2 6.4.2 6.5.2 7 7.2.4 8 8.1.2.10 8.1.5.1 8.1.5.2 Changes made including background about file transferring and Internet connection. VPN definition updated. Added alphabetical labeling system (A-D). The term “professor” was changed to “user” for consistency. Changed server folder names and clarified. Clarify need for network transfer. The term “teacher” changed to “user” for consistency. Added special instruction functionality – for each major step in the process. Made changes to Overall Model Diagram to match A-D labeling and to correct sequential processes. Lesson name does not have to be in all lowercase. Clarified usage of folder names. Added preview graphic functionality. Added text area for notes about web page URL graphic. Skip a song choice added. Added ability to preview saved song. Added ability to preview saved song. Changed to preview, modify, and/or add all special instructions Efficiency section removed. ONYEN login changed to Departmental Login. Should operate in Windows 95 / 98 / NT4.0 / 2000. Commercial audio extraction code library acquired. Commercial audio extraction code library acquired. Commercial audio extraction code library acquired. Added new section, entitled Verification and Validation. Word 97 and 2000 compatible, not backwards. Added a button for “special notes” on applicable pages. Added Beta Phase Section Updated PERT chart. Added stronger dependencies. Updated Gant Chart. Added more milestones and modified due dates on deliverable documents. Page 3 of 26 February 13th, 2001 COMP 145: Group 10: Client Contract II Oral Text Learning Production Interface Project for Mr. Dick Schmitz 2 Introduction 2.1 The Client The client is Dick Schmitz, a staff computing consultant for the UNC College of Arts and Sciences. He is presently consulting on the “Oral-Text Learning” project at the Foreign Language Resource Center in the basement of Dey Hall. This Foreign Language Resource Center provided computer and audio-visual labs, recording services, technology classrooms, and other supportive services for the Department of Germanic Languages and Literatures, Department of Romance Languages and Literatures, Department of Slavic Languages and Literatures, and Department of Linguistics. The Director of the FLRC, Dr. Jim Noblitt, began the development of the “Oral Text Learning” system that is currently running at http://www.unc.edu/FLRC. Mr. Schmitz expects to spend a few months time on the “Oral-Text Learning” project improving the lesson production process. 2.2 Oral Text Learning Description Currently, the “Oral Texts in the Romance Languages” web site is up and running. This web site provides streaming Real-Audio and a few Real-Video musical tracks with printed foreign lyrics and English translations for students studying one of the Romance Languages. The student logs-in with their UNC ONYEN and password to gain access to the web site, located at http://www.unc.edu/FLRC. The student selects which language they are studying, and then selects from a list of countries, artists in those countries, and particular songs by that artist. Once the song is selected, the Real Media plug-in starts in the student’s web-browser, and he may press play to listen to a song, and begin read along with the choice of the foreign lyrics, the translated lyrics, or both combined in one table adjacent to the audio plug-in and a graphic of the artist. This technique of “oral-text learning” combines access to real-world examples of the syntax, dialect, semantics, and intonation of a language with a presentation method that gets and holds the interest of most students. 2.3 Current Production Currently, department assistants referred to as “editors” communicate with professors and other instructors that wish to produce a new audio/text lesson. These editors collect the information required from professors and instructors needed for the lesson, such as the foreign text lyrics of the song, the translated text lyrics, graphics files of the artist or the CD jacket, the audio compactdiscs, tapes, or comparable extracted [.wav] sound files, and copyright information about the audio clip. The editor is then responsible for designing the web page for that lesson, and producing realaudio streaming files to place on the server for student listening. 2.4 Production Problems and Project Goal Oftentimes the lesson editors are less than fluent in the lesson's language, which makes production quite a challenge. The professor or instructor who requests a lesson, not the editor, should do text entry and content decision-making. Presently, communication limitations between teachers and editors make the lesson production process slow and inefficient. Editors receive many different audio file formats, sometimes substandard or unusable, and various text files from numerous word processors with different formatting and pagination standards or even plain-text emails with lyrics and translations. The editors have to contend with the haphazard file formats and produce the lesson with the information provided, or contact the instructors and teach them how to provide useful information. The process is usually tedious, and needs improvement. The goal of this software project is to make an extremely simple computer program production interface for a foreign language instructor, which will step him through a standardized content entry process. The lesson text and files will then be transferred from the computer lab or office, where the lesson was created, over a connection to the departmental Windows NT server for centralized storage and editor access. Typically the user will connect through the high bandwidth UNC Campus Local Area Network, or alternatively, he can connect remotely through a DSL or cable-modem line via a Virtual Private Network to the server without a noticeable difference. Page 4 of 26 February 13th, 2001 COMP 145: Group 10: Client Contract II Oral Text Learning Production Interface Project for Mr. Dick Schmitz 3 Glossary 3.1 Audio Extraction Commonly known as “Ripping.” The process of transforming a physical audio medium such as a track of a audio compact disc or a cassette tape into a digital computer file such as a high fidelity wave file or compressed mp3 file, which can be transferred easily from one computer to another, without losing quality or affecting content. 3.2 Bitmap Bitmap images, also known as raster images, are generally any computer graphic made up of pixels in a grid. Pixels are picture elements; tiny dots of individual color that make up what you see on your screen. More commonly, Bitmaps refer to the file type with the extension *.bmp used in Microsoft Windows. These are fairly primitive graphics files that are easily edited and produced, and commonly used in web pages. 3.3 .doc Document Files created by Microsoft Word end with the extension *.doc. Microsoft Word allows formatting of text documents using RichText markup language, and extends capability to include images, tables, and other embedded formatted objects. Microsoft Word can also edit HTML files or read-only templates that allow easy text entry into pre-existing formatting. Microsoft Word, due to the widespread popularity and ease of use, will likely be used in this project for foreign lyrics text entry, and English translation text entry into a standard html template set up such that text is divided into table cells representing stanzas or verses of recorded music. 3.4 Editor The individual FLRC employee that is responsible for taking the provided information from an instructor and producing the web based oral-text lesson, including the naming and editing of all HTML files, audio/video extraction, creation of streamable Real-audio or video files, and the posting of such files for student access. This editor currently communicates with the instructors in a case-by-case fashion as needed to collect required information for a lesson. 3.5 FLRC Foreign Language Resource Center, which provides computer and audio-visual labs, recording services, technology classrooms, and other supportive services for the Department of Germanic Languages and Literatures, Department of Romance Languages and Literatures, Department of Slavic Languages and Literatures, and Department of Linguistics. Directed by Dr. Jim Noblitt. 3.6 .gif A compressed digital computer file with the file extension *.gif. GIFs are a standard for colorful computer generated graphics. GIF is short for Graphics Interchange Format. Technically best for the lossless interchange of raster images that have no geospatial context, such as the exchange of still-images that can be viewed in sequence. GIF files are popular because of their small file size, animation capabilities, and optionally transparent pixels, which makes them popular for web pages. 3.7 GUI GUI or Graphical User Interface is a user interaction mechanism which is performed through pictorial representation of textual information. In the case of this project, the GUI is the windowed application within Microsoft Windows that will allow entry of information into text fields, allow file browsing of disk space, and provide step-wise, reversible navigation through the different sections of the application. 3.8 Instructor The individual professor or teacher that requests an oral-text lesson, and provides the materials to create the web based lesson from, including the audio, graphics, text lyrics, translated lyrics, and copyright information. Page 5 of 26 February 13th, 2001 COMP 145: Group 10: Client Contract II 3.9 Oral Text Learning Production Interface Project for Mr. Dick Schmitz .jpeg or .jpg A compressed digital computer file with the extension *.jpg or *.jpeg. JPEGs are standard for still image compression. It is commonly used for storage of scanned photographs, or for photographs on web pages. JPEG or JPG is short for the 'Joint Photographic Experts Group'. Best used for very large still-raster images that have no geospatial context and where lossy decompression is acceptable (See also http://www.jpeg.org/ ) 3.10 Oral Text Learning The technique of learning and practicing a foreign language by listening to popular or operatic music sung in that foreign language while reading the transcribed foreign lyrics adjacent to an English translation. This technique of “oral-text learning” combines access to real-world examples of the syntax, dialect, semantics, and intonation of a language with a presentation method that gets and holds the interest of most students. 3.11 Real Audio, .rm or .rpm An audio file compression format that is playable through a free software program (plug-in) called Real Player that works with a web browser to allow visitors to hear audio over the Internet. RealAudio files are smaller than full-fidelity files, and thus can be downloaded or streamed easily over relatively slow internet connections. Files can be copyright protected, such that the user cannot save the files for local hard drive access. Real Audio files must be produced by copyrighted software called Real Producer, and are streamable with a special network transfer protocol through a designated server. Real Media pointer files are used in the Oral Texts in the Romance Languages web site to instruct web browsers to stream audio and video files into the browserintegrated plug-in. 3.12 SN Abbreviation for Sitterson Hall, the location of the Computer Science Departments, where undergraduate students have classes and computer labs are open for them to design programs. 3.13 User Commonly, the User of this developing software product is the Professor or instructor that is requesting an Oral-text lesson online and is in the process of providing the necessary audio, graphics, and text files for production of the lesson. 3.14 Visual Basic Also known as VB. A proprietary programming language and compiler developed by Microsoft that is very useful for highly optimized rapid application development. It is particularly easy to develop graphical user interfaces and to connect them to handler functions provided by an application, such as Microsoft Word or a CD Audio extraction program. The graphical user interface of the VB provides intuitively appealing views for the management of the program structure in the large and the various types of entities (classes, modules, procedures, forms, etc.) Since VB is a very popular language, there is a large amount of existing libraries and VB code that can prove useful in smallscale software development projects, such as this one. Page 6 of 26 February 13th, 2001 COMP 145: Group 10: Client Contract II Oral Text Learning Production Interface Project for Mr. Dick Schmitz 3.15 VPN A Virtual Private Network connects the components and resources of one network over another network. VPNs accomplish this by allowing the user to tunnel through the Internet or another public network in a manner that lets the tunnel participants enjoy the same security and features formerly available only in private networks. VPNs allow telecommuters or off-campus users to connect in a secure fashion to a University departmental server on the University Local Area Network (LAN) using the routing infrastructure provided by a public internetwork (such as a dialup connection to the Internet). This connection works best only where high bandwidth is available, whereas dialup 56kbps connections can cause problems. From the user's perspective, it appears as if the data is being sent over a dedicated private link, activated by the departmental login name and password. VPN’s would be used to transmit the audio, text, and graphic files from an offcampus user’s local hard drive to the FLRC server, where these files are stored for editing and web production. VPN is transparent to this application, because the computer behaves just as if it was on the Local Area Network. 3.16 .wav File A wave file is a digital audio file with the Windows extension *.wav. Wave files can be played on most computers with a sound card. The wave format does not require MIDI. Wave files are large and stored on hard disks. A typical wave file, for stereo, 16-bit 44.1KHz audio and will take up about 11 megabytes of your computer's memory for each minute of recording time. Wave files preserve much of the quality of high-fidelity sound from CDs and other recordings, but in turn are much larger in file size when compared to other compressed audio file formats such as MPEG Layer 3 (.mp3) or RealAudio files (.rm) (see [3.11]). 3.17 Webmaster The individual responsible for delegating web-authoring tasks to various editors in the FLRC. This person will receive email notification and special instructions from the developing software product notifying him that the User has posted materials to the dedicated FLRC NT Server for lesson production. The webmaster schedules editors to produce the lesson, then approves lesson web pages before they are posted to the internet for students. 4 User Requirements Specifications 4.1 Figure 4 Region A: User Interface 4.1.1 User Level The user interface allows the user to interact with the program. It will be a simple GUI, easily understandable by most average computer users. The next and back buttons will allow the user to navigate the windows. All important information will be prompted for. 4.1.2 Process Level The user interface serves two functions. First, is to make the program simple enough for most user with little computer knowledge. The client requested that we have “large buttons” and a “simple interface”. We plan to take the user step-by-step through the process of creating a lecture with next and back buttons. Users will also be allowed to save their work in order that they might come back at a later time to finish it. Second, the user interface serves on a higher level to reduce the editors’ workload. Since the interface allows users to gather all relevant material and store it in the same location, this should cut down on the editors’ work. The user interface will allow users to enter important information such as the lesson name, the date needed and the copyright information. It will also handle audio extraction so the user does not have to try and get the song into .wav format on their own. Page 7 of 26 February 13th, 2001 COMP 145: Group 10: Client Contract II 4.2 Oral Text Learning Production Interface Project for Mr. Dick Schmitz Figure 4 Region B: Microsoft Word Interface 4.2.1 User Level A document will pop up in MS Word where the user will be able to enter the foreign language and English text. When the user saves his/her work the text portion of the program will be completed. One column will be for foreign language text and the other will be for the English translation. 4.2.2 Process Level Our program will pop up an MS Word template (copied under the name of their text file). This template will have the page settings already set and the user will simply type the foreign language text in one column, and the English text in the other column. Our program will save this file as an HTML file, which will be sent to the editor. MS Word was chosen because every campus computer (and most computers in general) has Word and because it supports HTML files. 4.3 Figure 4 Region C: Audio Extraction 4.3.1 User Level Our program will handle all of the audio extraction. The user will be required to place a CD in the CD-ROM drive, choose the drive from a list where the CD is located, and choose the desired track. When they are ready to extract the track, the user will click on an OK button or something similar. Our program will automatically extract the track. 4.3.2 Context Level The audio extraction will be handled through our program so the user does not have to attempt to do this by himself. The user will choose a track from a CD and click on something signaling the program to start the extraction. An audio extractor will pop up (at current, Sean is trying to write this in VB but we may decide to use a freeware version) and the track will be extracted behind the scenes. The user will then be allowed to replay the song if desired to check for correctness. 4.4 Figure 4 Region D: Network File Transfer 4.4.1 User Level The user will see a progress bar notifying them that their files are being transferred to a centralized location for storage and manipulation. This includes the transfer of the graphic, the audio file, the word file, and all file attachments. They do not need to understand how our program gets the files to the editor, however they need to know that this process is taking place. They will be notified, first, that our program will transfer the files when they are ready, and then they will be notified that the transferring has been completed. 4.4.2 Context Level Lesson files must be transferred to a centralized storage location so that editors and users can access them when required for manipulation or web page creation. The client has asked that we do all transferring over the Windows NT network instead of by FTP. When the files for the lesson have been created or submitted, they will be transferred into a directory in a set domain. They will be stored using the naming convention currently in place by the program used by the FLRC. We will have several folders in which the files will be classified and stored. For example, there will be "in", "ready", "wip" (works in progress), and "active" folders. There are two reasons for the separate folders. First, this will help with the implementation of the "Resume/Modify" feature. This way, the program will know which files can still be edited and which cannot. The users will not have access to certain folders such as the "ready" folder. Here, editors can store the files that are ready to be posted to the Internet. This serves as a security feature, restricting access to only the editors and the Webmaster. Page 8 of 26 February 13th, 2001 COMP 145: Group 10: Client Contract II 4.5 Oral Text Learning Production Interface Project for Mr. Dick Schmitz Figure 4: Summarized Context Model Diagram A: User Interface B: MS Word Interface ORAL TEXT LEARNING Production C: Audio Extraction D: Network File Transfer 5 System Requirements Specification 5.1 Functional Requirements The following is a System-level text description of the Overall model (Diagram [5.1.1]). It will go through each screen, and discuss the behavior and interface requirements for each section of the diagram. I will refer to the Technical Notes that the Client gave us as [TN.1.page_number] (see [Section 9: Appendix] for this document). The large dashed regions indicate major regions of functionality within the Context Model Diagram [Figure 4 and Section 4]. All items not included in a larger dashed region, (B, C, or D) are considered to be part of region A, User Interface. For every section of the program, the user will have an option to save their progress, and return later to finish. Because this option will be on many pages, we will describe it here, and just refer to the functionality as the “save” button. On a general basis, the save function will have to save the state of how far the user has gone in the program (by associating a special number corresponding to the last page completed). The user, if he/she wants to save their progress, they will have to remember the name they gave their lesson. Since we guarantee the name will be unique, this will serve as a sufficient way to maintain the state of the user. Another option that will appear on many screens is the special instruction page. Again, since this function will appear on many screens, we will describe it once here and refer to it is the “S.I. button”. If the user feels the need to leave instructions (“this file is a quiz they should take”, or if the user feels that he/she did not do something right “the graphic might be too big, but I don’t know”, etc.). All of the instructions that are entered in through the program will be concatenated together into a text file and the user will be able to view/edit those instructions before he/she sends it in. Page 9 of 26 February 13th, 2001 COMP 145: Group 10: Client Contract II Oral Text Learning Production Interface Project for Mr. Dick Schmitz 5.1.1 Overall Model Diagram 5.1.1.1 Welcome Login with password 5.1.1.2 Administrative Screen Modify Existing/Resume Create New Lesson 5.1.1.3 Resume/ Modify ID 5.1.1.4 User Information 5.1.1.3.1 What do you want to Modify? 5.1.1.5 Name Entry Duplicate rename. 5.1.1.5.1 Rename D: N.F.T. Unique valid name. 5.1.1.5.2 Confirm Name A: User Interface (all un-boxed items) Modify Graphic 5.1.1.6 Do you have a graphic? Yes 5.1.1.6.1 Get drive/disk graphic Yes 5.1.1.6.2 Get URL No 5.1.1.6.3 none provided Modify Lyrics 5.1.1.7 Pre-Word B: MS Word Interface Open word Open Word File Modify Song Info 5.1.1.7.1 Preview Word Document 5.1.1.8 Song Information Modify Song File 5.1.1.9 Where is the Song? C: Audio Extraction CD or existing .wav 5.1.1.9.1 drive/disk .wav file on hard 5.1.1.9.2 Song is on a CD Skip song Modify Attachments 5.1.1.10 File Attachment Yes, attach 5.1.1.10.1 Attach file now 5.1.1.11 Special Instructions Yes, review or modify 5.1.1.12 Review or Modify anything No 5.1.1.13 Finished Page 10 of 26 February 13th, 2001 No file COMP 145: Group 10: Client Contract II 5.1.1.1 Oral Text Learning Production Interface Project for Mr. Dick Schmitz Welcome Screen This could potentially become two screens, but the functionality will remain the same. This is a basic welcome screen. It will probably contain some written information telling the user what he/she should expect/need to complete the program (very broadly). The only functionality of this screen will be that the user will have one of three options: 1. “Administrative” (password protected - this option will send the user to the administrative screen [5.1.1.2]) 2. “New” - for users who want to create a new lesson plan (will take users to screen [5.1.1.4]) 3. “Resume/Modify” - for users who saved their progress and want to finish (or modify) where they left off. (screen [5.1.1.3]) 5.1.1.2 Administrative Screen This screen will have several basic functionalities for administrators. Most of these options will come up as we are coding, and we realize what we should allow a basic administrator to be able to change. Some options we have already come up with are: ability to change web-masters email address (see [5.1.1.13]); ability to change password; ability to change path of where files are saved. More will come up as we begin to actually implement some code. There will be options that the administrator can change, and a button to accept and make the necessary changes. 5.1.1.3 Resume/Modify ID Screen This screen will request the name the user decided on in [5.1.1.5]. Since this name will be unique, this will be the easiest way to let the user resume his/her progress. If deemed necessary (pending implementation) there will be a confirmation screen showing the users info to make sure the user entered the correct name. Upon getting the name, the program will need to find all the information that the user has already given, upload the necessary info into the correct places, and then take the user to screen [5.1.1.3.1]. 5.1.1.3.1 What do you want to modify screen Upon getting to this screen, there will be a list of steps given (a list of all the necessary steps to complete the program). By clicking on one of the steps, the user will be taken to corresponding screen. 5.1.1.4 User Information Entry Screen This will get the user info requested in [TN1.1.7]. It will be a basic form requesting the following information: instructors name; course number; date the new lesson set is needed (mm/dd/yy); title to show on the index page and which index page it should play from; title to appear in the lesson set player frame; language lesson is in; user’s email. A back button will take the user to [5.1.1.1]. A next button will be provided. There will be some sort of internal representation (a boolean for example) saying if a lesson name has been given or not (have they gone through [5.1.1.5] yet). If they have already gone through [5.1.1.5] (because of several internal reasons, it would be easier if the user would not be allowed to go back and change the lesson name) the next button will take the user to [5.1.1.6]. If the user has not gone through [5.1.1.5], the user will be taken to [5.1.1.5]. There will be a “save button” and a “S.I. button” as described above. Page 11 of 26 February 13th, 2001 COMP 145: Group 10: Client Contract II 5.1.1.5 Oral Text Learning Production Interface Project for Mr. Dick Schmitz Name Screen The user needs to provide a one-word name for the lesson. The screen will inform the user the importance of remembering this name for purposes of saving and returning to finish their progress. Upon giving this name, if it is not unique, the user will be taken to [5.1.1.5.1]. If the name given is unique, it needs to be saved with the user info, and assigned to a name field. Also, the program needs to make a copy of the HTML template file into the designated directory and name it givenname_4_text_pg1_2col.htm. The directory it is saved in determines the status of the lesson and whether the user can resume or whether he/she can only modify a copy of the original files. For example, if the lesson is in the "wip" (work in progress) or "complete" folder, the user will not have write access and will therefore only be allowed to modify a copy of the files. If the files are in the "in" folder, the user does have write access and will be allowed to simply resume his/her original lesson. These directories are listed in [4.4.2]. The program will then take the user to [5.1.1.5.2]. There will be a submit button that will take the user to [5.1.1.5.1] or [5.1.1.5.2] pending uniqueness. A back button will take the user to [5.1.1.4]. A "save button" and a "S.I. button" are provided as discussed above. 5.1.1.5.1 Re-name Screen Will have the exact same functionality as [5.1.1.5], but will have different text informing the user that the name they have given has been used already, and if a non-unique name is given again, it will return to this screen. If a unique name is given, the program will have to create the word template file and take the user to [5.1.1.5.2]. A “save button” and a “S.I. button” are provided as discussed above. 5.1.1.5.2 Confirm Name Screen This will show the user the name they have given, ask them to remember it and tell them that it now cannot be modified. Clicking on “next” will take the user to [5.1.1.6]. Clicking on “back” will take user to [5.1.1.4]. A “save button” and a “S.I. button” are provided as discussed above. 5.1.1.6 Do you have a graphic Screen This screen will ask the user if they have a graphic they want to provide, and how they want to provide it. The user will be given three options to click from in radio button fashion: o (default) No I do not have a graphic - will take user to screen [5.1.1.6.3]; o I have a graphic on my disk/hard drive - will take user to [5.1.1.6.1]; o I have a url of a graphic I want to give - will take user to [5.1.1.6.2]. Upon clicking the “next” button, the user will be taken to the screen pending the radio button. Clicking on the “back” button will take them to [5.1.1.5.2]. A “save button” and a “S.I. button” are provided as discussed above. 5.1.1.6.1 Get hard drive/disk graphic This screen will have some way for the user to look through their files on their hard drive/disk and provide the pathway to the graphic they want to provide. There will be a “browse” button. There will be a “next” button that will take the user to [5.1.1.7] if there is a file provided or a warning screen will pop up (the file will be saved in the correct file with the name givenname_graphic.filetype). The “back” button will take the user to [5.1.1.6]. A “save button” and a “S.I. button” are provided as discussed above. The warning screen (or something similar) will state that the user has not provided a graphic and ask if they want to continue anyway. If yes it will take the user to [5.1.1.7]; if no, it will take the user to [5.1.1.6.1]. The user will also be able to view the graphic. 5.1.1.6.2 Get URL graphic This will provide a one-line text box so the user can enter in a URL of a graphic they want to give. It will be saved as a string and provided in the email to the web-master. There will be a text field, where the user can enter any special notes regarding their desired graphic. There will be a “next” button that will take the user to [5.1.1.7] if there is a URL provided or a warning screen will pop up. The “back” button will take the user to [5.1.1.6]. A “save button” and a “S.I. button” are provided as discussed above. The warning screen (or something similar) will state that the user has not provided a URL and ask if they want to continue anyway. If yes it will take the user to [5.1.1.7]; if no, it will take the user to [5.1.1.6.2]. Page 12 of 26 February 13th, 2001 COMP 145: Group 10: Client Contract II 5.1.1.6.3 Oral Text Learning Production Interface Project for Mr. Dick Schmitz No Graphic Screen An information page saying that the user can save their progress, and come back later with a graphic, or email the Webmaster later and provide one as an attachment. There will be a “next” button that will take the user to [5.1.1.7], and a back button that will take the user to [5.1.1.6]. A “save button” and a “S.I. button” are provided as discussed above. 5.1.1.7 Pre-Word Screen An information page explaining what is about to happen. Word will open with the pre-named template open. The user will need to enter the text and save the file (without changing the path or file name). This screen will explain all of this in very laymen’s terms. There will be an ok button that will open Word and take the application to page [5.1.1.7.1] (there will be two applications running at the same time). There will be a back button that will take the user to [5.1.1.6]. A “save button” and a “S.I. button” are provided as discussed above. 5.1.1.7.1 Preview Word Screen Will give the user a chance to view the template file. This will be useful for modifying purposes, and to make sure the file is saved in the correct place. There will be a “preview” button that will open the word template. There will be a back button that will take the user to [5.1.1.7] and a next button that will take the user to [5.1.1.8]. A “save button” and a “S.I. button” are provided as discussed above. 5.1.1.8 Song Information Screen This will be a form getting all the necessary song information as requested in [TN1.1.7] and [TN1.1.8]. The fields will be - Artists name; song title; composer’s name; label company name; and copyright year. There will be a back button that will take the user to [5.1.1.7.1], a next button that will make sure all fields are entered, and then take the user to [5.1.1.9]. A “save button” and a “S.I. button” are provided as discussed above. 5.1.1.9 Where is Song Screen The user will be given three options to submit the song to the program. The choices will be (radio button format): o On hard drive/disk in .wav format o On a CD o Skip song extraction. The next button will depend on the radio button. If the file is on the hard drive or a disk the user will be taken to [5.1.1.9.1]. If the file is on a CD - the user will be taken to [5.1.1.9.2]. If the audio extraction is skipped, the user is taken to [5.1.1.10]. There will be a back button that will take the user to [5.1.1.8]. A “save button” and a “S.I. button” are provided as discussed above. 5.1.1.9.1 .wav file on hard drive/disk screen If the file is on the hard/drive or disk in a .wav file, the user can submit it here. There will be a text box for the user to enter in the path name, and a browse button. There will be a submit button that MUST do type checking to make sure the file is a .wav file. If the file is not in .wav, the user will be asked to enter in the file again, or hit back so they can just put in the CD. If the file is .wav, it will save copy the file into the correct directory with the name givenname.wav, let the user listen to the saved song, and then take the user to [5.1.1.10]. There will be a back button that will take the user to screen [5.1.1.9]. A “save button” and a “S.I. button” are provided as discussed above. 5.1.1.9.2 Song on a CD screen This will either open an application that we will tie in, or (if we create a CD ripper, open our version). Either way, it will be an application that will extract .wav audio from the CD, allow the user to listen to the saved song, and then take the user to [5.1.1.10]. Page 13 of 26 February 13th, 2001 COMP 145: Group 10: Client Contract II 5.1.1.10 Oral Text Learning Production Interface Project for Mr. Dick Schmitz File Attachment Screen This will ask the user if they have any files they wish to attach to the lesson (notes, quiz, etc.). If the user clicks yes, they will be taken to [5.1.1.10.1]. If they click no, they will be taken to [5.1.1.11]. There will also be a back button that will take the user to [5.1.1.9]. A “save button” and a “S.I. button” are provided as discussed above. 5.1.1.10.1 Attach File Screen This will provide a text box and a browse button so the user can attach files to be mailed to the webmaster. There will be an “attach” button that will attach the file, and ask the user if they want to attach any more files. If yes, they will be taken back to [5.1.1.10.1]. If no, they will be taken to [5.1.1.11]. There will be a back button that will take the user to [5.1.1.10]. A “save button” and a “S.I. button” are provided as discussed above. 5.1.1.11 Special Instructions Page This screen will allow the user to preview any special instructions they have entered in to this point. If they want, they can add some, or modify the already entered ones. Whatever is typed will be concatenated with all the previous special instructions, with delimiters, and will be included in the email (see [5.1.1.13]). If they included a file, this would be good to explain what the file is, or any concerns they might have (I don’t know if I did this right….. etc.). There will be a next button that will take the user to [5.1.1.12], a back button that will take the user to [5.1.1.10] and a save button as described above. 5.1.1.12 Review or Modify page This will have an option to see if the user wants to review or change anything that they have entered. If they click on yes, they will be taken to [5.1.1.3.1] (or a similar page). If they click on no, they will be taken to [5.1.1.13]. There will be a back button that will take the user to [5.1.1.11], and a save button as described above. 5.1.1.13 Finished Page On this page will inform the user that if they click finished, they can no longer go back and modify anything because it will all be sent to the webmaster. If the user clicks ‘Finished’, they will no longer be able to modify any information, and an email with several pieces of given information will be sent automatically to the webmaster informing him that the lesson is ready to be created. The user can click a back button if they want to modify anything, and a save button as described above. 5.2 5.2.1 Non-Functional Requirements Application 5.2.1.1 Storage Can accommodate any file size 5.2.1.2 I/O device capability Must have a CD-ROM that allows digital audio extraction 5.2.1.3 File Types Program can process text, audio and graphic files *.doc or *.html *.wav *.jpg or *.jpeg *.bmp *.gif File type checking will ensure that appropriate files are selected. 5.2.1.4 Stand-alone Application is not web based Page 14 of 26 February 13th, 2001 COMP 145: Group 10: Client Contract II 5.2.2 Oral Text Learning Production Interface Project for Mr. Dick Schmitz Organizational Requirement 5.2.2.1 Naming Convention Follow naming convention given in [TN1.1.7] 5.2.2.2 Implementation All coding will be done in Visual Basic (VB) and C++ 5.2.3 External Requirements 5.2.3.1 Authentication User must have a valid departmental login and password 5.2.3.2 Copyright Information A user must provide the copyright information of a CD: Song Title, Composer’s name, Label company name Copyright year. 5.3 Domain Requirements Application is guaranteed to run on Windows NT 4.0 Operating System, and should operate functionally in Windows 95, 98, NT 4.0, or 2000 operating systems. User must have high bandwidth connection capability to the required network. Need text editing application that can handle *.html files. 5.4 Goals 5.4.1 User friendly system Create an easy-to-use interface so that anyone with little computer training will be able to use the program. 5.4.2 Easy to maintain system Provide adequate documentation for revision and improvement in the future. 6 Hardware and Software Resource Requirements 6.1 Hardware 6.1.1 6.2 Software (in order of importance) 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 CD-Rom with digital audio extraction capabilities Visual Basic Development Software (Microsoft) CD Extraction Audio Preview Email Scripts Graphics Preview Plans to procure 6.3.1 Visual Basic Development Software Microsoft will provide copies of Visual Basic if labs in Sitterson do not have copies or if they are unavailable to satisfy our request. 6.3.2 CD Extraction A commercial audio extraction code library has been located. There are no current legal issues with use of this code. Team member Sean is also developing his own extractor that may be used optionally if scheduling is not jeopardized. 6.3.3 Audio Preview The Internet is the best option if not a built-in feature of the extractor. 6.3.4 Email Scripts The Internet is one option for finding information on this topic if we cannot solve it using system calls. Page 15 of 26 February 13th, 2001 COMP 145: Group 10: Client Contract II 6.3.5 Oral Text Learning Production Interface Project for Mr. Dick Schmitz Graphics Preview The Internet is one option if we cannot develop a way to display graphics. 6.4 Estimated Schedule of Procurement/Delivery 6.4.1 Visual Basic Some machines in Sitterson have Visual Basic now installed. Our team could begin prototyping and development in Sitterson upon availability of these select machines. Otherwise, these phases will be on hold until available from Microsoft—optimistically, by Feb 8, 2001. 6.4.2 CD Extraction A commercial audio extraction code library has been located. Team member Sean has begun developing an additional extraction resource. 6.4.3 Audio Preview This is not a required feature, however, Dick Schmitz desires for it to be included. Thus far, no resources have been procured for this feature. If it is not a built-in feature, then we will need to procure resources before the Audio Extraction Phase. 6.4.4 Email Scripts Hopefully this requirement can be done through VB system calls. However, in the case that this cannot be done, resources for this feature need to be procured before the beginning of the Communication Phase of development. 6.4.5 Graphics Preview This is also a desirable feature, but is not required. At this moment no resources have been procured for this feature. Resources will be needed before the Additional Features Phase. 6.5 Alternatives (risk management) 6.5.1 Visual Basic There is no alternative to using Visual Basic. Each team member has his own personal copy of Microsoft Visual Studio for VB development, and computer labs in Sitterson are available for development. Reference books are on order from Microsoft Press. 6.5.2 CD Extraction A commercial audio extraction code library has been located. There are no current legal issues with use of this code. This is probably the most important feature and the most difficult feature of the entire application. 7 Verification and Validation 7.1 Strategy The program should be tested for the conditions listed under Test Cases [7.2]. These are the areas of general concern for the Software Engineering Team. There are two specific areas of concern for the project. The program will have to handle user input many times. Because our users are not computer aficionados, our program should be able to handle wrong/unexpected input. The program also needs to make sure the information gathered is stored correctly. Another main concern is that the interface with external programs works correctly. Since these programs are outside the control of this program, a lot can go wrong. Our program should expect user error. Our testing phase should mainly occur between March 5th and April 9th. This will be testing done by the team for problematic or buggy code. This part of testing will be done on section by section (i.e. test all the graphic screens as a whole). After the program is completed, we will implement “beta testing” where the program is tested by actual users. They will notify the Software Engineering Team of critical problems they encounter with the program. Minor corrections may be made at this point but major changes will not. Page 16 of 26 February 13th, 2001 COMP 145: Group 10: Client Contract II 7.2 Oral Text Learning Production Interface Project for Mr. Dick Schmitz Test Cases 7.2.1 Invalid Input For each step, the program needs to prevent invalid input (i.e. wrong file types). 7.2.2 Resume/Modify Make sure that all files are retrievable from the server for modification, and any changes made are accurately synchronized with those originals still on the server. Make sure the program knows how much of the wizard the user has completed, and where all the user’s files are located. 7.2.3 Graphic Test Make sure the graphic supplied by the user is in an acceptable format and if it is not, the program should recover from this gracefully. The program also needs to let the user see the submitted graphic. 7.2.4 Word Interface Be able to handle problems created by opening Word. For example, if Word is already active when the program attempts to open it, the program should not crash. Microsoft Word 97 or 2000 should be compatible, but earlier versions do not have to be supported. 7.2.5 Network Transferring The program needs to guarantee that the files are saved in the correct space with the correct name. 7.2.6 Information Email Make sure all information entered by the user is emailed to the webmaster in the correct format and that the email address to which this information is sent can be changed in the Administrative Section. 7.2.7 PC Crash Protection The program should be able to handle computer crashes without losing all information provided. In order to do this the program must save each file or text as it is advancing to the next screen. 7.2.8 Audio Extraction The program needs to extract the proper track from a CD. The program should also be able to handle no CD in the drive, or a non-audio CD. 7.2.9 Lesson Name The program needs to guarantee unique lesson names. It also needs to convert any uppercase letters given to lower case before testing for uniqueness. It also needs to handle spaces. 8 Developmental Schedule 8.1 Development items 8.1.1 Major Phases 8.1.1.1 GUI Phase Design and development of user graphical interfaces/pages for each step of the application. 8.1.1.2 Introduction and Naming Phase Development of the introduction, general information, and lesson naming pages. 8.1.1.3 Graphics Phase Development of the insertion of the user graphic or URL page. 8.1.1.4 Lyrics Text Phase Development of page that will open Word for text editing. 8.1.1.5 Modify Feature Phase Development of the pages that will allow modifications to already created lessons. 8.1.1.6 Audio Extraction Phase Development of page that will extract a track from the user’s CD-Rom drive. Page 17 of 26 February 13th, 2001 COMP 145: Group 10: Client Contract II Oral Text Learning Production Interface Project for Mr. Dick Schmitz 8.1.1.7 Communication Phase Development of page that will create and send an email to the editor from the user communicating that a new lesson has been created. 8.1.1.8 Additional Features Phase Development of: 8.1.1.8.1 Administrator’s Menu Development of page that contains changeable information such as editor’s email, file saving location, etc. 8.1.1.8.2 Audio Preview Development of the feature that replays the CD extraction. 8.1.1.8.3 Graphics Preview Development of the feature that will display the user specified graphic. 8.1.1.8.4 File Attaching Phase Development of the feature that will allow the user to attach quizzes, notes, etc. 8.1.1.9 Testing/Quality Assurance Phase Testing of all phases to ensure completeness and accurateness. 8.1.1.10 Packaging Phase Package all files into deliverable format—perhaps distributable CD’s or downloadable format. 8.1.1.11 Documentation Phase Production of deliverable documents about the software including user manuals and system manuals. 8.1.2 Tasks and Dependencies 8.1.2.1 GUI Phase Learn the basics of Visual Basic to get started with development with an emphasis on GUIs. 8.1.2.2 Introduction and Naming Phase 8.1.2.2.1 8.1.2.2.2 8.1.2.2.3 8.1.2.2.4 8.1.2.2.5 Creation of the GUI of this step. Text fields for user information and any other important information needed. Text field for the naming of the lesson and error checking to ensure uniqueness. Button for modify option to be implemented in the Modify Feature Phase. Button for Administrator’s menu option to be implemented in the Additional Features/Administrator’s Menu Phase. 8.1.2.3 Graphics Phase 8.1.2.3.1 8.1.2.3.2 8.1.2.3.3 8.1.2.3.4 8.1.2.3.5 Creation of GUI for this step. Text fields for the location of the graphic or URL. Button for graphics preview to be implemented in Additional Features/Graphic Preview Phase. Button for special notes. Transfer of file to network. 8.1.2.4 Lyrics Text Phase 8.1.2.4.1 8.1.2.4.2 8.1.2.4.3 8.1.2.4.4 8.1.2.4.5 Page 18 of 26 Creation of GUI for this step. Creation of HTML template file for text editing. Command to open Word application for text editing. Button for special notes. Save and transfer file to network. February 13th, 2001 COMP 145: Group 10: Client Contract II Oral Text Learning Production Interface Project for Mr. Dick Schmitz 8.1.2.5 Modify Feature Phase 8.1.2.5.1 8.1.2.5.2 Creation of GUI for this step. Implementation of button on main page for the option of modifying an existing lesson. 8.1.2.6 Audio Extraction Phase 8.1.2.6.1 8.1.2.6.2 8.1.2.6.3 8.1.2.6.4 8.1.2.6.5 Creation of GUI for this step. Button for audio preview to be implemented in the Additional Features/Audio Preview Phase. Use of CD extraction program to extract a track from a CD on the user’s CDRom drive. Button for special notes. Transfer of file to network. 8.1.2.7 Communication Phase 8.1.2.7.1 8.1.2.7.2 8.1.2.7.3 8.1.2.7.4 Creation of GUI for this step. Text field for modifications to standard email. Button for special notes. Creation of email to be sent to WEB master with any special instructions. 8.1.2.8 Additional Features Phase 8.1.2.8.1 Administrator’s Menu 8.1.2.8.1.1 8.1.2.8.1.2 8.1.2.8.1.3 8.1.2.8.2 Audio Preview 8.1.2.8.2.1 8.1.2.8.2.2 8.1.2.8.3 Creation of GUI for this step. Text fields for changeable information. Security protected. Implementation of button on Audio Extraction Phase. Implementation of playing back the extracted audio file. Graphics Preview 8.1.2.8.3.1 8.1.2.8.3.2 Implementation of button on Graphics Phase. Implementation of displaying user specified graphic. 8.1.2.9 Testing/Quality Assurance Phase 8.1.2.9.1 8.1.2.9.2 8.1.2.9.3 8.1.2.9.4 8.1.2.10 Beta Phase 8.1.2.10.1 8.1.2.10.2 8.1.2.11 Gathering of all files into preliminary deliverable format. Non affiliated team members will test for completeness and accuracy. Packaging Phase 8.1.2.11.1 8.1.2.11.2 8.1.2.11.3 8.1.2.12 Testing of all files to ensure correctness. Testing of all files to ensure ease of use. Testing of all files to ensure efficiency. Testing of all files to ensure stability. Gathering of all files into deliverable format. Creation of deliverable format (perhaps available on CD or for download) Collecting all documentation and manuals for distribution. Documentation Phase 8.1.2.12.1 8.1.2.12.2 8.1.2.12.3 Page 19 of 26 Creation of user manual or alternatively a integrated help file. Creation of Implementation Manual. Creation of System Manual including system requirements etc. February 13th, 2001 COMP 145: Group 10: Client Contract II Oral Text Learning Production Interface Project for Mr. Dick Schmitz 8.1.3 Major milestones 8.1.3.1 Project Milestones 8.1.3.1.1 Backbone Milestone Milestone representing the technical halfway point. At this milestone the beginning and easy part of the application should be completed. 8.1.3.1.2 Almost Done Milestone Milestone representing the ending of the development process and finishing testing and quality assurance phase of development. At this point, the development should be done and should be moving towards final testing and packaging. 8.1.3.2 Deliverable Milestones 8.1.3.2.1 8.1.3.2.2 8.1.3.2.3 8.1.3.2.4 8.1.3.2.5 8.1.3.2.6 8.1.3.2.7 8.1.3.2.8 8.1.3.2.9 8.1.3.2.10 8.1.3.2.11 8.1.3.2.12 8.1.3.2.13 8.1.3.2.14 Preliminary Report Project WEB I Contract I Schedule I Contract II User Manual HLD Project WEB II Prototype Schedule II Implementation Manual WEB complete Project Packages Final Reports (Team and individual) 8.1.4 Deliverables 8.1.4.1 8.1.4.2 8.1.4.3 8.1.4.4 8.1.4.5 8.1.4.6 8.1.4.7 8.1.4.8 Weekly Reports Preliminary Report Contract I & II Schedule I & II & III User Manual Implementation Manual Project Packages Individual Final Reports 8.1.5 Diagrams 8.1.5.1 PERT Chart- See Appendix 9.1 8.1.5.2 Gant Chart- See Appendix 9.2 8.1.6 Risk Analysis and Management 8.1.6.1 Identified Risks 8.1.6.1.1 8.1.6.1.2 Software procurement Education/Learning of Visual Basic 8.1.6.2 Plans 8.1.6.2.1 Avoidance or assignment Learning materials have been ordered from Microsoft. 8.1.6.2.2 Tasks have been split between the group. Page 20 of 26 February 13th, 2001 COMP 145: Group 10: Client Contract II Oral Text Learning Production Interface Project for Mr. Dick Schmitz 9 Appendices 9.1 9.2 9.3 Pert Chart Pages 1-4 (pages 22-25) Gant Chart Page 1 (page 26) Technical Notes Issue 1.1 for Procedure # 01-001 by Dick Schmitz for FLRC (attached) Page 21 of 26 February 13th, 2001 COMP 145: Group 10: Client Contract II Oral Text Learning Production Interface Project for Mr. Dick Schmitz 9.1 Pert Chart page 1 (Top Row Left) Page 22 of 26 February 13th, 2001 COMP 145: Group 10: Client Contract II Oral Text Learning Production Interface Project for Mr. Dick Schmitz 9.1 Pert Chart page 2 (Top Row Middle) Page 23 of 26 February 13th, 2001 COMP 145: Group 10: Client Contract II Oral Text Learning Production Interface Project for Mr. Dick Schmitz 9.1 Pert Chart page 3 (Top Row Right) Page 24 of 26 February 13th, 2001 COMP 145: Group 10: Client Contract II Oral Text Learning Production Interface Project for Mr. Dick Schmitz 9.1 Pert Chart page 4 (Bottom Row) Page 25 of 26 February 13th, 2001 COMP 145: Group 10: Client Contract II Oral Text Learning Production Interface Project for Mr. Dick Schmitz 9.2 Gant Chart Page 26 of 26 February 13th, 2001