While implementing our project we mainly took in consideration the Layered basis
architecture. This allowed us a great deal of flexibility, reduced coupling and improved
cohesion. It was also very
helpful in undertaking our unit testing.
Contract CO2: update_dvd
update_DVD(title: String, director: String, publication_date: Date)
Use Cases: Handling of DVD
DVD object has
Dvd values are modified
dvd_list was updated
Contract CO4: return_dvd
Use Case: DVD is returned
Person object must exist;
Dvd object must
Copy object must exist
Loan object must exist
person removed from the loan_list
case: Handling of Loans
Pre condition: Person object must exist;
Dvd object must exist;
Copy object must exist;
A Loan object has been created and values added
Loan object is added to the Loan
We used standard architecture which consist
of the three layers:
UI or Presentation Layer
This architecture is useful especially when we would like to update this program
add new features. We believe it is a nice h
ierarchy architecture where
changes in the case of upgr
ade application. That is probably why
this architecture is so
We use java
with NetBeans and BlueJ.
the methods according the class diagram
(name, parameter list, visibility).
After writing the classes we created an instance of each separate one to test the constructors
and the accessor and mutator methods.
CRUD was not tested s
ince we already have done it in the model layer
Complex operations were tested:
extend loan period
it is in CRUD but it’s a more complex operation
because of the connections
tween the model layer classes
and the control layer classes
Our tests included positive testing as well as negative testing.
Every test was successful!
The diagrams are not included into this document because they are too big.