bike system req document

Document Sample
bike system req document Powered By Docstoc
					City bike sharing system
Requirements document
Informal description
Many cities have deployed a bicycle rental system. The system is composed of many
deposits, distributed all over the city. A deposit contains some dozen bicycles in an
open area, the deposit has a number of numbered places (one per bicycle) where
bicycles are initially stored with a lock/unlock system. The lock unlock system is
connected to the system and works as follows.
If a user is authorized by the system, the system opens a lock for a bicycle, the user
can get it and becomes responsible for the bicycle until it returns it. When the user
wants to return a bicycle, he selects an empty place in a deposit, and inserts the bicycle
in it. The lock/unlock system senses the bicycle and automatically locks the bicycle.
From this moment the user is not responsible anymore for the bicycle. To be able to use
bicycles a person must first register with the system, providing his/her name and his
credit card information, and obtaining an ID. Next, when a user wants to take a bicycle,
he goes to a deposit, inserts in a dedicated interface (made of keyboard and screen) his
After the needed checks, the system selects a bicycle available in the deposit and
opens the corresponding lock, so the user can take the bicycle. When the user wants to
return the bicycle, he selects an empty place in a deposit, and returns the bicycle. No
interaction with the keyboard/screen should be needed for return.
The rental system must track the state of all bicycles and rentals. Notably, the user pays
for the rental a fee that depends on the duration of the rental. Users are encouraged to
take the bicycle in one deposit and return it to any other deposit.
The system should also monitor the maintenance of bicycles (a bicycle never rented is
probably broken),AMB1 the distribution of bicycles in deposits (no deposit should be
always empty, no deposit should be always full), the most common paths used (where
bicycles are most frequently taken and most frequently returned)

AMB1 could mean
R-bike: bike has diagnostic system that recognizes if bike is broken and signals failure
to system
R-maintainer: maintainer checks bikes regularly, recognizes failure and communicate to
system what bikes are broken, the system, excludes them
R-system: the system recognizes bikes that are never used and suggests to maintainer
to check them
Context diagram


                                                               Credit card system


                                Bike sharing system


                     Physical                   Logical
                                                Procedural     Data
Bike                 Locking system
                     requires rod long
                     5cm, diameter 1cm
                     at around 1mt from
Rfid On bike                                    ReadID         Id of bike
User                 GUI on touchscreen TBD
Administrator        GUI on desktop      TBD
Credit Card system   Lan                 http + ssl      Cc number,
                                                         name and family
                                                         name, expiration
                                                         date, ccv

List of requirements
id       Description
FR3          Authenticate user (using account and password)
FR31         Authorize user
FR1          Register new user
Fr2.1        Lock bike
Fr2.2        Unlock bike
Fr5          System Selects bike
Fr5          User selects bike (system cannot know if bike is broken)
FR2.3        System retrieves name of bike in place p
FR 4         Charge rental of bikes

FR 4.1       Compute rental duration

FR 4.2       Make payment

NFR 4.2      Function FR4.2 should complete in less than 1 sec
FR 5         Monitoring

FR 5.1       Keep trace of bike status

FR 5.2       Check Distribution
FR 5.3       Compute most common paths
NFR 2        All functions should complete in less than 1 sec
NFR 3        An average user (user capable of using a mobile
             phone) should be able to use any function available
         from the system in less than one minute with no

Bike: bycicle adapted to system with rfid device and
rod for being locked/unlocked by the system. Each
bike has an unique ID.
User: a person capable of riding a bike, .. Is
identified by an account name and has an
associated password to authenticate hime/her
Administrator: employee charged of monitoring
state of system (number of bikes, ..) and interacting
with it (ex add bikes, remove bikes, ban user, ..)
Bike area: part of public space in the city dedicated
to host a number of bikes, each of them locked to a
 a person capable of riding a bike

            +name                                               is parked
            +family name
                                                                       Bike position

                                                   is composed of

                                     Bike area

step Description                FR
1     User requires
      authentication (enters
      account name u1 and
2     System authenticates user FR3
3     User selects a bike (in
      place p)
4     System authorizes user to FR31
      take bike.
4.1   System retrieves name of FR2.3
      bike (b1) in place p.
4.2   System logs that user u1
      takes bike b1, at time t0
5     System unlocks bike
      (unlocks place p)
6     User takes bike, uses it
7     User returns bike (selects a
      free place p2 in bike
      station and puts bike
8     System locks bike (locks
      place p2)
      System records user u1
      returns bike b1 at time t1.
9     System computes rental
      fee f = (t1 – t0) * hour fee
10    System debits rental fee f
      to user u1

1     User requires
      authentication (enters
      account name u1 and
2     User u1 does not exist,
      System does not authorize

1     User requires
      authorization (enters
      account name u1 and
2     User u1 exists, password
      wrong, System does not
      authorize user

Scenario 4
1     User requires
      authorization (enters
      account name u1 and
2     System authorizes user
3     User selects a bike (in
    place p)
4   User has no credit, System
    does not authorize user to
    take bike.
Scenario 5 Register new user
Scenario 6 Delete a user
Scenario 7 Modify properties of user (address,
credit card, ..)
Scenario 8 add a new bike to system
Scenario 9, delete a bike
Scenario 10, change status of bike (WORKING,
Scenario 11, change status of bike (free in
place p1, used by user u1)
Scenario 12, add A BIKE area
Scenario 13, cancel a bike area
Scenario 14, query state of bike area (number
of bikes available, number of bike places
available, …)
Use cases
Use case 1: bike rental
Made of scenarios 1,2,3,4
Use case2: user management
Made of scenarios 5, 6, 7
Use case3: bike management
Made of scenarios 8, 9, 10, 11

Use case 4: bike area management
Made of scenarios 12, 13

Use case diagram

                                  Credit card system

                 bike rental

   User                  <<include>>      user management

                    bike management

                          bike area managerment

Shared By: