Xin hướng dẫn hoặc lập hội làm 1 bài tập lớn về Java và UML theo Object Oriented

Sau đây là bài tập lớn, nội dung về việc quản lý cho mượn sách trong thư viện của trường học


Problem Domain Scenario

A university’s library loans books to the university’s staff and students, according to a certain set of rules.

Any loan item (i.e. a copy of a book title) is classified into one (and only one) of the 3 collections: main collection with 3 week loan and 1 week loan, one day collection and short loan collection with (i) max of 3-hour loan if issued between 9am and 1pm, or (ii) from 4pm to10:30am the next working day. Note that a book title is usually stocked in several copies, which may be made available for loan through all the three
loan collections.

Borrowing
A borrower may borrow up to a maximum number of book items determined for the borrower category, to which s/he belongs, as follows.
· Undergraduates -
16 items from the main collection;
4 short loan or one day loan items
· Postgraduates -
20 items from the main collection;
4 short loan or one day loan items
· Staff -
35 items from the main collection;
4 short loan or one day loan items


Fines
Fines are charged for the late return of one week loan and short loan items. All students pay the same fines:
· Three Week Loans - No fines
· One Week Loans - 50p per day
· One Day Loans - 50p per hour or part of an hour
· Short Loans - 50p per hour or part of an hour

Renewal
Borrowed items can be renewed, provided they are not reserved for another borrower.
· A borrower will not be able to renew any item that has been reserved by another borrower.
· A borrower will not be able to renew any of her/his loans if s/he has an item which has been reserved by another borrower, and which is already overdue.
· A borrower will not be able to renew any items if it has been overdue for more than two calendar days.
. A borrower will not be able to renew her/his items if s/he owes more than £40.00 in library fines or charges.


Reservation
If an item is unavailable because all copies of the title have already been borrowed, then a borrower may place a reservation on the item, and await the first copy that becomes available.
· A borrower cannot reserve an item if there are copies available on the shelves at the time (those with the status: not on loan). If this is the case s/he is expected to find the item on the shelf themselves.
· Once a request is made, and provided the item is available, it will take a few days for the item to be available for collection. The requested item is shown as ready for pickup in the library account of the borrower who made the request.

Software Development Task

Design and implement a Java desktop application (not a client-server or database application) using an object-oriented development method, to support the library staff in managing the book availability, borrower accounts, as well as in handling their borrowing, renewal, reservation and returning (including fines) transactions.
It is an essential requirement of the coursework that the software design should encapsulate not only relevant operations and data, but also the rules in order for the software to assist the library staff in their work following the rules above.
Your work should also aim to meet the following requirements.


Requirements
1) Represent the scenarios of the user–system interaction using use cases.
2) Use CRC cards to record class responsibilities and collaborators, which are present in your system.
3) Perform and document a realisation of the use cases in (1) using CRC cards from (2) to match the use cases’ operations and class’ responsibilities, and to refine the final class design.
4) Draw the UML class diagram of your system’s classes.
5) Draw the relevant sequence diagrams to represent the system control flow at the system design level.
6) Description of the public interface for every class of your system following the javadoc documentation style. Use the Sun Java SDK javadoc tool to generate HTML javadoc documentation for the whole system and include the documentation files in your submission.
7) The system’s back-end classes that execute the system’s operations must be implemented separately from the system’s front-end user-interface implementation.
8) Save and retrieve the system’s state between program runs.
9) Provide either two different front-ends to the same implementation of the backend classes, or two different implementations to use two different data structures to store the state of the system, implementing the same interfaces of the back-end classes.
Please note: in either choice, there must be a GUI using Java Swing classes implemented.
10)Design and write a test class to test with JUnit all the methods of the class which
includes the method that changes the state of the system after the operation of
issuing a loan to a borrower. Supply the source code, javadoc of the test class and
instructions as to how to run the test using JUnit.

Mình lơ tơ mơ về Java và UML, tuy hiểu đc đề bài yêu cầu j nhưng ko biết bắt tay vào đâu để làm, nếu các bạn nào đã và đang làm project về Java và UML thì xin giúp đỡ mình hoặc các bạn đang nâng cao tay nghề Java thì xin lập hội cho mình vào với.
Thanks nhìu nhìu
 

taibl89

Banned
Ðề: Xin hướng dẫn hoặc lập hội làm 1 bài tập lớn về Java và UML theo Object Oriented

Sao toàn tiếng anh thế, học trường nào thế
 
Ðề: Xin hướng dẫn hoặc lập hội làm 1 bài tập lớn về Java và UML theo Object Oriented

@taibl89 trường mình là của nc ngoài nên xài toàn tiếng anh

Mình cũng có làm đc 1 tí rùi nhưng ko biết đúng xai, mọi người cho cái ý kiến:


usecase.jpg



BORROWING:


1. Library Staff or Borrowers inputs Book Title in Library Loan System.
2. Library Loan System checks Book Title with database system.
3. Library Loan System displays search result of the book title.
4. Borrowers get the book that they need in library.
5. Library Staff asks member ID from Borrowers
6. Library Staff checks member ID in Library Loan System
7. Library Loan System displays Borrower’s information
8. Library Staff scans a barcode of the book title
9. Library Loan System updates Borrower’s information
10. Library Loan System shows which collection the book title is belonging to and how many book titles the borrowers can loan more.
11. Library Loan System display the date of borrowing and the last date of collection.
12. Borrowers get the book.


Variation 1:
1.1 In step 3, the book title is not available in Library Loan System.
1.2 Library Loan System shows message “Invalid Book Title”
1.3 Continue with step 1.


Variation 2:
2.1 In step 4, the book is not available in the library
2.2 Library Loan System shows message “Book Not Available”
2.3 Borrowers have to do reservation.


RETURNING AND FINES
1. Borrowers return a book
2. Library Staff asks member ID from Borrowers.
3. Library Staff scans member ID
4. Library Loan System checks member ID with database system.
5. Library Loan System displays Borrower information
6. Library Loan System checks Loan Collection information.
7. Library Loan System checks the date of borrowing and the last date of collection.
8. Library Loan System does a fine calculation
9. Library Loan System displays calculation result
10. Borrowers pay a fine
11. Library Staff collects the fine from Borrowers
12. Library Staff removes the fine from Library Loan System.


Variation 1
1.1 In step 7, Borrowers return their book within the time allowance
1.2 Library Loan System shows message “No Fine”
1.3 continues with step 1.


Variation 2
2.1 In step 10, Borrowers does not pay the fine when they return the book
2.2 Library Staff records a fine in Borrower information


RENEWAL
1. Library Staffs or Borrowers scans Borrower’s ID with Library Loan System
2. Library Loan System displays Borrower’s information
3. Library Loan System displays Book title and its loan collection information
4. Borrowers do renewal
5. Library Loan System checks Book title with reservation list.
6. Library Loan System prompts confirmation message
7. Borrowers confirms acceptance
8. Library Loan System updates Borrower’s collection information.
9. Borrowers log out
10. Library Loan System cancels current borrower status.
 
Top