Requirements Document for Electronic Guitar Tuner

Embed Size (px)

Citation preview

  • 8/8/2019 Requirements Document for Electronic Guitar Tuner

    1/18

    Requirements Document

    Version 1.0

    January 19, 2011

    Electronic Guitar Tuner

    Ozan Can al

    Boazii University, SWE522

  • 8/8/2019 Requirements Document for Electronic Guitar Tuner

    2/18

    2

    REVISION TABLE

    Revision Date Explanation

    1.0 19.01.2011 System requirements for an electronic guitar tuner

  • 8/8/2019 Requirements Document for Electronic Guitar Tuner

    3/18

    3

    TABLE OF CONTENTS

    TABLE OF FIGURES ........................................................................................ 41. SYSTEM CONTEXT & SCOPE ................................................................. 5

    1.1 SCOPE OF THE SYSTEM............................................................................... 51.2WORKFLOW PARTITIONING .......................................................................... 51.3PRODUCT BOUNDARY................................................................................... 51.4USE-CASE LIST............................................................................................. 5

    2. LOOK, FEEL AND USE REQUIREMENTS ............................................ 73. FUNCTIONAL REQUIREMENTS ............................................................ 74. PERFORMANCE REQUIREMENTS ....................................................... 9

    4.1SPEED REQUIREMENTS ................................................................................. 94.2SAFETY CRITICAL REQUIREMENTS ............................................................. 104.3PRECISION REQUIREMENTS......................................................................... 104.4RELIABILITY AND AVAILABILITY REQUIREMENTS...................................... 104.5CAPACITY AND SCALABILITY REQUIREMENTS............................................ 10

    5. OPERATIONAL REQUIREMENTS ....................................................... 105.1EXPECTED PHYSICAL ENVIRONMENT ......................................................... 105.2PRODUCTIZATION ENVIRONMENT............................................................... 10

    6. SECURITY REQUIREMENTS ................................................................ 117. CONSTRAINTS AND ASSUMPTIONS .................................................. 118. REQUIREMENTS MODELLING ........................................................... 11

    8.1GOAL MODELS ........................................................................................... 118.2RESPONSIBILITY MODELS ........................................................................... 148.3OBSTRUCTION MODEL................................................................................ 168.4OBJECT MODEL .......................................................................................... 168.5OPERATIONALIZATION MODELS ................................................................. 17

  • 8/8/2019 Requirements Document for Electronic Guitar Tuner

    4/18

    4

    TABLE OF FIGURES

    Figure 1 - Electronic Guitar Tuning Process Use-Case Diagram .............................................. 6Figure 2 - Electronic Guitar Tuning Process - State Diagram ................................................... 9Figure 3 - Top Goals ................................................................................................................ 11Figure 4- Requirement Refinement: Tuning Process Started By User .................................... 12Figure 5 - Sub-goals ................................................................................................................. 12Figure 6 - Goal Diagram for the user interface of the tuner ..................................................... 13Figure 7 - Non-functional Goals .............................................................................................. 13Figure 8 - Non-functional Goals Refinement ........................................................................... 14Figure 9 - The "Guitarist" Agent .............................................................................................. 14Figure 10 - The "Tuner Company" Agent ................................................................................ 15Figure 11 - The "Tuner Controller" Agent ............................................................................... 15Figure 12 - Obstruction Model ................................................................................................. 16Figure 13Entities and Agents ............................................................................................... 16Figure 14 - Events, Entities and Operations ............................................................................. 17Figure 15 - Operationalization: Execute tuner on/off and determine the musical note of the

    sound signal .............................................................................................................................. 18

  • 8/8/2019 Requirements Document for Electronic Guitar Tuner

    5/18

    5

    1. SYSTEM CONTEXT & SCOPE1.1Scope of the SystemA regular guitar comprises six strings relating to five different musical notes (E A D G B and

    again E). In order that the guitar provides proper sounds when its strings are strummed, these

    strings should be in tune and the easiest and most effective way to do that is to use a tuner

    which can determine the musical note of a string very precisely.

    The intend of this document is to give initial system requirements about the operations of an

    electronic guitar tuner. The tuner helps the user tune the guitar in an easy, fast and reliable

    way while the system is produced in an inexpensive and robust manner.

    1.2 Workflow Partitioning

    The electronic guitar tuner system is predominantly managed by the tuner controller inside the

    tuner. The controller first captures the input that can be provided through various inlets such

    as microphone or guitar inlet jack, and processes it wherein it turns the sound signals into

    electronic signals. Then, it determines the frequency (hertz value) of this electronic sound

    signal and displays the adequate musical note on the LED display of the tuner.

    1.3 Product Boundary

    The human actor for the electronic guitar tuner is the user, generally the guitarist who wants

    to tune his/her guitar. The other actor is the tuner controller which is an electronic componentinside the tuner. The boundaries of the product spread from the input component of the tuner

    through the sound signal processing to the output component of the tuner.

    1.4 Use-Case List

    Below are the use-case list and the relevant use-case diagram showing the acts of the guitarist

    and the tuner controller as well as the main actions occurring inside the product boundary, the

    constraints and the goals. These use-cases are the subset of the operationalization model

    described in Chapter 8.

  • 8/8/2019 Requirements Document for Electronic Guitar Tuner

    6/18

    6

    Use Case Name: Electronic Guitar Tuning Process

    Created By: Ozan Can al

    Date Created: January 17, 2011

    Actors: Guitarist, Tuner Controller

    Description: Guitarist tunes his/her guitar by means of the directives of the electronicguitar tuner.

    Preconditions: 1. The tuner is working properly.2. The guitar is present and the guitarist is ready to play the guitar.

    Postconditions: 1. The guitarist has tuned his/her guitar in an easy, fast and efficientway.

    Normal Flow: 1.0 Guitar Tuning Process

    1. The guitarist turns on the tuner.2. When the guitarist sees that the tuner is operating, he/she strums a

    string of the guitar.

    3.

    The controller of the tuner detects the voice signal input throughvarious methods such as microphone, guitar jack or vibration.

    4. The controller determines the musical note of the voice signal input.5. The controller displays the determined name of the musical note as

    the output.

    Alternative Flows: None

    Exceptions: The guitarist can turn off the tuner any time during the tuning process

    Special

    Requirements:None

    Figure 1 - Electronic Guitar Tuning Process Use-Case Diagram

  • 8/8/2019 Requirements Document for Electronic Guitar Tuner

    7/18

    7

    2. LOOK, FEEL AND USE REQUIREMENTSThe box-shaped guitar tuner is in the size of a regular mobile phone and is predominantly

    black.

    The Interface:

    The user interface of a box-shaped guitar tuner consists of inlets, an on/off button and LEDs.

    The inlets are the microphone and the guitar jack inlet that receive sound signals. The

    microphone and the guitar jack inlet are located at visible places and marked with signs so

    that the user can easily find them. Besides, an on/off button and LED lights are situated on the

    tuner. The on/off button turns the tuner on or off according to its state. One red LED for the

    musical note of each guitar string as well as a sharp - and a flat -sign and a green LED to

    indicate the precise frequency state of the string are situated on the interface. The relevant

    LED is lit according to the received and processed sound signal. A 9V-battery compartment is

    also provided at the back of the tuner.

    3. FUNCTIONAL REQUIREMENTSThe main goal of this electronic guitar tuner is to satisfy the tuning needs of the user. This

    goal is satisfied after the user starts the tuning process without canceling it during tuning, and

    as the name of the right musical note of the guitar string being strummed at that time by the

    user is displayed.

    To start the tuning process, the tuner should be able to receive sound signals emitted from the

    guitar. This can be achieved by means of two types of guitar tuners: clip-on and box-shaped.

    Clip-on guitar tuners are attached to the body of the guitar and perform the musical note

    displaying task by detecting the sound vibrations emitted from the guitar by their sensors. On

    the other hand, box-shaped guitar tuners have a guitar jack inlet and a built-in microphone to

    get the sound of the string being strummed. In this kind of tuners, the microphone is activated

    only in times when no guitar jack is plugged into the tuner.

    Besides, guitar tuners employ indicators either for each twelve musical notes (seven natural

    plus five accidental (sharp - and flat - ) notes) or only five indicators that constitute the

    musical notes of the strings on a standard six-stringed guitar, being E A D G B.

    In this document, requirements for a box-shaped guitar tuner having indicators only for the

    musical notes of the guitar strings will be analyzed.

  • 8/8/2019 Requirements Document for Electronic Guitar Tuner

    8/18

    8

    At the highest level of the functional requirements, the tuning request of the user is satisfied if

    and only if the user is informed about the changes happening. This will come true when the

    user starts the tuning process by turning on the tuner and then strumming a string of the

    guitar. The upper goal user informed about changes is only satisfied as long as the guitarist

    resolves the tuning process not canceled expectation during the tuning request.

    The sub-goal of starting the tuning process is applied as the guitarist presses the on/off button,

    which is provided on the user interface provided by the tuner company. The on/off button

    command is detected by the tuner controller inside the tuner and the tuner is turned on. This

    operation is displayed to the guitarist by sequentially blinking LEDs on the user interface so

    that the guitarist can get feedback of his/her action. When no action is performed by the

    guitarist, the tuner keeps its inertia and displays nothing on the user interface.

    Then, when the guitarist strums a string of the guitar, the tuner controller first converts the

    analog sound signal into electronic signal. Then, it calculates the frequency of the signal and

    determines the closest musical note to this frequency. Lastly, it displays the guitarist the name

    of the musical note by blinking the LED related to the name of the musical note on the user

    interface. If the frequency of the received signal matches the frequency of any musical note in

    an exact manner, the controller lights up the LED of that musical note as well as the green

    LED meaning the string is in tune. On the other hand, if the frequency of the received signal

    does not match the frequency of any musical note in an exact manner, the controller lights up

    the LED of the musical note that is closest to the musical note of the received signal and alsoone of the sharp - or flat -signs on the interface. If the musical note of the received signal

    is a bit sharper than it is supposed to be, the sharp - sign is lit and if the musical note of the

    received signal is a bit more flat than it is supposed to be, the flat - sign is lit, meaning that

    the guitarist should adjust the tension of the string by means of the tuning keys (pegheads)

    situated at the headstock of the guitar.

    In order that the sound signal is detected and analyzed, it must arrive to the tuner via guitar

    jack if the guitar jack is plugged into the tuner. If this is not the case, the microphone located

    on the tuner collects the sound signals.

    The UML state diagram eliciting the described tuning process within the product boundary is

    displayed below.

  • 8/8/2019 Requirements Document for Electronic Guitar Tuner

    9/18

    9

    Figure 2 - Electronic Guitar Tuning Process - State Diagram

    4. PERFORMANCE REQUIREMENTS4.1 Speed Requirements

    The tuner employs an easy-to-use user interface with input components, one on/off button and

    the output display. It can be learned instantly and there is no learning curve for it. The

    maximum latency for the tuner to give feedback about the name of the musical note after each

    strum is approximately 1 second.

  • 8/8/2019 Requirements Document for Electronic Guitar Tuner

    10/18

    10

    4.2 Safety Critical Requirements

    No safety-concerning risks are associated with the tuner.

    4.3 Precision Requirements

    This tuner has been designed to be the most accurate possible. Its controller determines thehertz of the voice signal with an error margin of only 2 hertz.

    4.4 Reliability and Availability Requirements

    The tuner is designed to be available as soon as the on/off button is pressed as long as there is

    enough battery power left. Apart from that, no reliability issues are expected. No maintenance

    is required as long as the tuner does not get out of order, which is highly unlikely. Still, in

    case of a system failure such as inadequate blinking of LEDs which casts a suspicion on the

    effectiveness of the tuning process, the tuner may warn the user about the crash by lighting up

    the LEDs in an unfamiliar way. Moreover, there are plans that in the next release, the tuner

    announces the on/off warning or the names of the musical notes by voice regarding that the

    user interface is unreadable by blind people.

    4.5 Capacity and Scalability Requirements

    The tuner is designed to respond to stable sound signals, that is, sound signals that keep their

    frequency for some time. A strumming string of a guitar is a good example for that. Although

    every kind of sound signal can be converted into musical notes, sounds with quickly changing

    pitches cannot be easily detected by the tuner. So, the user should string guitar strings one at atime to get the best result. Besides, while using the microphone of the tuner as the input

    component, noisy environments can cause bad results as the microphone of the tuner cannot

    filter the sound of the guitar string properly. Thus, using the guitar jack inlet as much as

    possible is recommended.

    5. OPERATIONAL REQUIREMENTS5.1 Expected Physical Environment

    There is no expected physical environment as the tuner operates only by catching sound

    signals in the environment and determining the corresponding musical note. If the guitar jack

    inlet is desired to be used as the input component, a guitar cable between the guitar and the

    tuner is also needed.

    5.2 Productization Environment

    The product will be distributed through music shops and e-shopping websites, especially the

    ones concerning guitarists.

  • 8/8/2019 Requirements Document for Electronic Guitar Tuner

    11/18

    11

    6. SECURITY REQUIREMENTSNo security requirements are needed for this product.

    7. CONSTRAINTS AND ASSUMPTIONSNo constraints and assumptions regarding the product are foreseen.

    8. REQUIREMENTS MODELLINGIn this chapter; functional/non-functional goal, responsibility, obstruction, object and

    operationalization models are showed.

    8.1 Goal Models

    Figure 3 - Top Goals

  • 8/8/2019 Requirements Document for Electronic Guitar Tuner

    12/18

    12

    Figure 4- Requirement Refinement: Tuning Process Started By User

    Figure 5 - Sub-goals

  • 8/8/2019 Requirements Document for Electronic Guitar Tuner

    13/18

    13

    Figure 6 - Goal Diagram for the user interface of the tuner

    Figure 7 - Non-functional Goals

  • 8/8/2019 Requirements Document for Electronic Guitar Tuner

    14/18

    14

    Figure 8 - Non-functional Goals Refinement

    8.2 Responsibility Models

    Figure 9 - The "Guitarist" Agent

  • 8/8/2019 Requirements Document for Electronic Guitar Tuner

    15/18

    15

    Figure 10 - The "Tuner Company" Agent

    Figure 11 - The "Tuner Controller" Agent

  • 8/8/2019 Requirements Document for Electronic Guitar Tuner

    16/18

    16

    8.3 Obstruction Model

    Figure 12 - Obstruction Model

    8.4 Object Model

    Figure 13Entities and Agents

  • 8/8/2019 Requirements Document for Electronic Guitar Tuner

    17/18

    17

    8.5 Operationalization Models

    Figure 14 - Events, Entities and Operations

  • 8/8/2019 Requirements Document for Electronic Guitar Tuner

    18/18

    18

    Figure 15 - Operationalization: Execute tuner on/off and determine the musical note of the sound signal