SoftwarePractice.org: Home | Courseware | Wiki | Archive

T9 - Sound Effects Wand

From SoftwarePractice.org

T9 - Sound Effects Wand

Contents

Team Members

  Ben-Jerome Ypilan________10417208
  Rienzi Wijasurya_________90056577
  Grant Watson_____________10054548
  Hazem Khamis_____________10317016

Introduction

We are designing a new toy which is capable of playing with sound effects based on the movement of the sound effects wand. The sound effects wand is based on an accelorometer, a device which measures movement by direction, acceleration, and tilt. The device is to be capable of four seperate functions; recording, playback, active effects, and neutral.

Team Responsibilities Co-ordinator

  Hazem Khamis

Wiki Page Maintenance

  Ben Jerome Ypilan

Team Meetings

Team meetings have been scheduled during the OOD tutorial sessions. This is due to Grant's work commitments and his location being difficult to organise other meetings. The rest of the team is scheduled for Thursdays 5pm-7pm. If necessary, meetings will be held outside the OOD tutorial sessions and email the work progress to whom that was not present.

Key System Elements

  • 1) GUI simulator to simulate Accelerometer Hardware.
  • 2) I/O Program to be easily modified for differing Input and Output. (code open for shareware)
  • 3) Main Program small enough for Mobile Device (Phone, PDA...etc) ~<50Kb in size
  • 4) Sound Generator (Acceleration-Pitch, movement-x,movement-y)
  • 5) Storage History Database
  • 6) Screen Output(Visual Indictor & Commands for movements representation)

Stakeholders

End Users

General Public with mobile devices. As it planned to be stand alone on PC or attachment to mobile devices


Software Designers

The time taken to develop the software and have it ready for production should be kept as low as possible to help maximise revenue.

Manufacturers

Business/Product Manufacturers. . as the program is flexible in its sensitivity, it is envisaged that Business will use the program as an add on to their own Value added products


Retailers

As this product will be on the market for public purchase, it is important that a quality, robust and easy to use product is delivered. By doing this, we can ensure that retailers will be able to sell the product with the condifence that they will not need to address a large number of warranty claims.

Design Assumptions & Decisions

During the creation of the program, several factors and decision will be assumed prior to the completion period:

  • 1) A code will be written for the program that will enable it to adress features such as movement, playback, record and sound output
  • 2) The program is made to a specific target audience (under 8 years of age)
  • 3) Errors both logically and physically will occur
  • 4) Time restriction allocation for end-users
  • 5) Limitation due to time restriction (30 seconds)
  • 6) How much functionality to include
  • 7) Different pitch variation will be outputed depending on the type of mevement
  • 8) Final product should not excess the proposed 50kb limit
  • 9) Different visual output will be displayed depending on what mode the program is in
   (eg: active = green, nuetral = grey)

Risks

  • 1)Time Management: To produce a working model for PC with Simulated GUI, Coding of program must start as per the planned schedule.
  • 2)Programming Resource: PC/Notebook, SW tools, dependant on personal and UTS equipment, labs & testing. We are assuming there will be No disruption to our access to these resources for the length of our product development
  • 3)Knowledge base: As our final product is to be operational on a Mobile Device (Phone or PDA) there is size limitation on program and we would like to be able to compile the final Java program on a Mobile device OS (i.e... Symbian) mainly to identify other risks that Business developers will need to know about.

Requirements

The program will successfully do the following:

  • 1) Play sounds relating to movement of wand, and indicates the type of movement on screen.
  • 2) Record sound and movement history.
  • 3) Playback sound and movement history.
  • 4) View movement history.
  • 5) Produce sound effects accordingly.
  • 6) Have Different modes of operation including turn sound off.
  • 7) Indication on screen the Mode of current operation.
  • 8) Parameters to detect Direction, Tilt and Acceleration
  • 9) GUI to be operational on Mobile device
  • 10) Separate GUI Simulator of Acceleratometer to be included in package.
  • 11) Distinguish between 'off' and 'nuetral' mode and perform accordingly.


Miniature Unified Process

Image:Project_Plan_r1.png

Usage Scenarios

The product that we will produce is a fun toy. – Sound movement wand.

Business developers to use it for, application of their creativeness. i.e...

  • 1) Baby movement monitor.
  • 2) Monitor if somebody falls over
  • 3) Pedometer of exercise done.
  • 4) Training purposes, distance travelled, speed movement monitor/storage.

Examples of Usage Scenarios:

  • Paul has a few friends over and wants to show them some sound moves he hyas come up with.
  • Jenny wants to record some sound effects for her to show friends at school.
  • Maria wants to playback the sound effects that she had recorded the other day.
  • Michael wants to stop the wand from making noise, so he can rest.

Use Case Diagrams


Image:UCD10317016.jpg

Essential Use Cases


General Use of Device
User Action System Responsibility
1.Set Mode
Store Current Mode
Display Mode on Interface


Active Sound Effects Mode
User Action System Responsibility
1.Move Accelorometer
Translate Movement
Access Sound Bank
Play Relative Sound
Display Movement on Interface


Playback Mode
User Action System responsibility
1. Move Accelorometer Right/Left
Translate movement
Move Track Listing Respectively
2. Move Accelorometer Up/Down
Translate Movement
Retrieve Selected Track
Store Track in Temporary Location
Play/Pause Selected Track


Recording Mode
User Action System Responsibility
1. Select Start Record
Prepare Track Name
Create Temp Location
Record Sound
Save To Database


Neutral Mode
User Action System Responsibility
1. Move Wand
Do nothing

System Test Cases

Case 1

Paul was playing around with the sound wand using it as a drum sticks to warm up his hands for before playing drums. He managed to get some unique sounds but also he managed to get the wand to go at a speed where it went off the Screen indicator.

Case 2

Little Johnny was playing with the sound wand, swinging it about and noticing that it makes different sounds depending on the direction and speed it was swung.

Case 3

Jane had finished playing with the sound wand and decided to put it in neutral mode so it didnt make any more sound.

Case 4

Hank recorded some cool sounds with the sound wand which he wanted to keep to show his friends later in the day. He placed it in recording mode and began swinging around.

CRC Cards

These CRC cards were developed during group meeting sessions and in class time. They are not representative of the final version of the project, but are an expression of ideas at this point in the process.

Image:Main-class-s.jpg    Image:wand-class-s.jpg

Image:sound-class-s.jpg    Image:database-class-s.jpg

Image:display-class-s.jpg

Sequence Diagrams

Initial Sequence Diagram

The initial sequence diagram

Sound Effects Wand


Image:t9initseq1.jpg

Final Sequence Diagram

Image:T-09-Sequence_diagram.jpg

Graphical User Interface

The following Graphical User Inteface design sketches were developed based on ideas formed during group meeting sessions.

Device GUI Sketches

The following sketches are for the display which will be on the physical device, the sound wand.

Image:T9-Gui-active.png Image:T9-Gui-record.png
In Active mode, the screen shows a movement indicator. Diamond will move depending on the current motion of the wand, and the circle behind will expand to indicate the magnitude of the movement. Recording will also show the movement indicator, but will also show a position indicator at the bottom to signify how far user is through the allocated recording time.
   
Image:T9-Gui-playback.png Image:T9-Gui-neutral.png
In Playback mode, the movement indicator is replaced with a 'playlist' of previous recordings. The current playback item is highlighted. The progress indicator at the bottom shows the progress of the current item's playback. The Neutral mode shows nothing on the screen, other than the currently selected mode. This mode is used to disable the functionality of the device, so no output is needed.


Final Device GUI

Image:T09-Gui_active.JPG Image:T09-Gui_neutral.JPG
Active mode. Neutral mode.

Prototype Testing GUI

The following is a sketch of the GUI which will be used to simulate the device on the development environment.

Image:T9-Gui-proto.png|

Final Testing GUI

Image:wandsim2.png|

Class Diagrams

Initial Class Diagram

Our Rough Initial Class Diagram


Image:t9classDiag.jpg

Final Class Diagram


Image:T09-FinalClass.jpg

Milestone 1 Presentation

Milestone 1 Presentation

Reference

  • Michael Kolling and David J.Barnes(2000).'Shapes Demonstation' - "Square.java","Circle.java","Canvas.java".Retrieved on 2007-10-28
  • Brian Lichtenwalter(1999)."MidiSynth.java". Sun Microsystems 1999. Retrieved on 2007-10-20

Lian Loke Feedback

Personal tools