Software Architecture and Design
Software Architecture and Design
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?
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:
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.
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