0% found this document useful (0 votes)
107 views

Software Architecture and Design

The document describes requirements for a bicycle rental (CBR) system. It lists key features such as 1000 bicycles available for member rental across 10 docking stations. Members can borrow bicycles using a QR code sent to their mobile app. Bicycles communicate wirelessly with docking stations via RFID chips. The system tracks bicycle usage data like rental duration and location. Additional implicit requirements are identified, such as the manager's ability to manage bicycle data and generate receipts.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
107 views

Software Architecture and Design

The document describes requirements for a bicycle rental (CBR) system. It lists key features such as 1000 bicycles available for member rental across 10 docking stations. Members can borrow bicycles using a QR code sent to their mobile app. Bicycles communicate wirelessly with docking stations via RFID chips. The system tracks bicycle usage data like rental duration and location. Additional implicit requirements are identified, such as the manager's ability to manage bicycle data and generate receipts.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Read the description below and make an architectural design.

Your answer must include the


following. Below the case, description follows a detailing and elaboration of which parts of the
system to focus on.
1. Identify ASR which are not explicitly stated in the scenario but which are important
for this product.

ASR for the CBR System


 The CBR system has 1000 bicycle for the members.
 The system Have 10 docking station parking around the city..
 At a parking location bicycles should be in a locked docking station.
 A bicycle can be borrowed and used for a particular period of time and then it must be
returned (and locked) at one of the parking sites in a docking station.
 Borrower must be a member by registering on the CBR website
 To register customer requires registering a personal number, a mobile telephone number and
paying a membership fee
 The member gets a QR-code sent to the CBR-app on his mobile telephone
 QR code can be read by the docking station.
 Via RFID chip, the bicycle can communicate wirelessly with the docking stations
 A bicycle is entered into a lock in a docking station, the usage period for that bicycle and
member is automatically ended.
 A member can borrow more than one bicycle at a time
 Via the CBR website, members can log in and see which uses of bicycles are registered
 The bicycle is repaired in a maintenance center.
 The management of the CBR has a requirement that it can see aggregate statistics such as
how often bicycles are used, for how long they are used, from where to where they move,
and how often bicycles go missing.
Other requirements that are not stated are:
 The manager can add, delete and update bicycles data.
 The user can cancel a rent order or request.
 The manager can generate a receipt.
 The user can extend the return date of the bicycle.
 The manager assigns a maintenance center and sends the cycle info when damage is
detected.
 The manager, the city administrator and maintenance center all need tofirst register then log
in to the system in order to operate.
2. Design use case view
 Consider at least 3 types of users.
 Clearly indicate any external systems that the CBR system is connected to.

Figure 1. Usecase Diagram

The external system that the CBR is connected to is Bank system as for the customers to make
the membership fee payment.
 Users pay, rent, return and check status of the bicycles.
 The City Administrator owns and operates the CBR.
 The Maintenance Center repair bicycles when damage is detected.
 The Manager sees aggregate statistics, check status, detect damage, manage data of
the bicycles.
Use Case #1: Checking Bicycle Status
Primary Actor: customer (Renter)
Goal in Context: To see if Bicycle rental is possible(Bicycle Renter)
Preconditions: customer has to register and make membership fee. Bicycle should be delivered
to the Bicycle renter
Trigger: The Customer knows the current information of where his/her Bicycle is at.
Scenario:
1. Customer: Logs onto Bicycle Rental website (Enters Username/ Password)
2. Customer: Selects “Bicycle Rent” on website.
3. Customer Selects “Bicycle Status” on website.
4. Customer: Observes status of Bicycle to know current information on Bicycle
Exceptions: 1. Bicycle Rent service Username/Password incorrect: Customer is sent to home
page to try again.
2. Password is not recognized: E-mail is sent to Customers current E-mail and prompt to enter
new password.
3. “Bicycle Status” is unavailable: Customer is prompt to call Bicycle Rental Service for further
details on Bicycle Status and return time.
Priority: Essential, must be implemented
When available: First increment
Frequency of use: Two times per day/ week
Channel to actor: Bicycle rental Website
Open Issues:
1. Should there be an option to opt out of the Bicycle rental on the day of the Bicycle rental date?
2. Should the Customer have an option to change what Bicycle he/she wants after confirming
what Bicycle they decided on (i.e. going from a stock model to luxury)?
3. How much time does the Customer have on their account before an amount of time has passed
before the system automatically logs them out due to inactivity?

Use Case #2: Change Bicycle Rental Date


Actor: Customer
Goal in Context: To change the date of when the Customer wants to rent Bicycle
Preconditions: Customer has made a rental and wishes to change the rental date
Trigger: Customer has switch the date of when Bicycle is being rented on
Scenario: 1. Customer Logs onto Bicycle rental service site (Enters Username/ Password)
2. Customer Selects “Bicycle Rent” on website.
3. Customer Selects “Bicycle rental” on website.
4. Customer Selects “Change Date” on website.
5. Customer is prompt on website to select new date for Bicycle rental
6. Customer selects new date for Bicycle rental and accepts the new date
7. Customer is prompt to enter “password” sent to his/her E-mail to validate the switch
8. Customer enters “password” and sees the new date for the Bicycle rental
Exceptions: 1. Customer denied request, Bicycle rent date is too close to actual date of the rental,
cannot make change.
2. Customer submits wrong “password”; is prompt to re-enter otherwise the date will not be
changed
3. Customer encounters error on accepting new date; is prompt to announce to the administrator
and talk to representative about issue.
4. Customer enters wrong date and change accepted; is prompt to contact administrator
Priority: Essential, must be implemented
When available: First increment
Frequency of use: Once per quarter to Registered Members
Channel to actor: Bicycle rental Website
Open Issues:
1. How many times can a Bicycle rental member request this service in a given period of time? 2.
Should the Bicycle rental member be charged extra for a convenience fee for using this service?
3. How much time does the Bicycle rental member have before this option is void to him/her?

3. Design Modular View (Class Diagram)

Class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that
describes the structure of a system by showing the system's classes, their attributes, operations (or
methods), and the relationships among objects. The designed class diagram for the CBR system is:

Figure 2: Class Diagram


4. Design C and C View (Sequence Diagram)

Sequence diagrams are used to model the logic of usage scenarios or the description of the potential
way the system used. Sequence diagrams are a great way to validate the logic of use case scenarios
and to document the design of the CBR system.

Figure 3: Sequence Diagram for Login

Figure 4: Sequence Diagram for Customer Registration


Figure 5: Sequence Diagram for Bicycle Borrow

Figure 6: Sequence diagram for Maintenance

Figure 7: Sequence diagram for generate report


Design Deployment view

Deployment diagrams show the configuration of run-time processing elements and the software
components, processes, and objects that live on them. Software component instances represent
run-time manifestations of code units. Deployment diagrams are useful when the software
solution is deployed across multiple machines with each having a unique configuration. To
design and draw deployment diagram for the CBR system, It must use the following basic nodes:
Monitor, Modem, server and Caching servers. Since the system is web based application, which
is clustered environment using 3 servers (client server, application server and database server).
The system user (Administrator, Customer and Manager and Maintenance center) connects to the
application using internet. Then the control flows from the caching server to the clustered
environment. The Bank (external system ) communicate with the CBR system through internet
http protocol.
Figure 8: Deployment diagram

You might also like