Software Engineering for Library Management System
Verified
Added on  2023/05/30
|13
|1520
|478
AI Summary
This paper discusses the fundamentals of a web application for library management system along with UML diagrams. It defines the functionalities, classes, object diagram, OCL, state machine diagram, sequence diagram and communication diagram.
Contribute Materials
Your contribution can guide someone’s learning journey. Share your
documents today.
Running head: SOFTWAREENGINEERING SoftwareEngineering Name of the student Name of the university Author note
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
Introduction: A library system must include some basic functionality in order to maintain the transaction and ease the librarians work efforts. In a library, there are several operations needs to be conducted for a single transaction. A web application can assist to automate most of the work and as result it could provide optimal support and operation with less effort. In this paper, the fundamentals of such application is discussed along with the UML diagrams which will assist to understand and define the operationsof the library management application. A library must consist of librarians who manage the transactions, items which can be borrowed, borrower who borrow the items. Similarly, the web application will involve these to be more productive and improve their library services to library users. This approach will not only assist them to automate the processes, it will also reduce the amount of time spent looking for library items and speed up the delivery of library items to borrowers. Requirements: In order to define the functionalities of the new web application, requirements of the application needs to be defined clearly. This application is associated with the library, hence there must be functionalities such as checked out, returned, put on reserve and renewed. Even though, the rules differ from one library to another. For this application, the items stored in the library is categorized in the three sections such as books, DVDs and magazines. Librarians will be the principal user of the application. The system should automate their daily functions, which include: checkout, return, placing items on reserve, and renewing items. The system should also allow a borrower or librarian to search for an item based on title, author, or keywords.
a)Classes In software engineering, aclass diagramin the Unified Modeling Language (UML) is a type of static structurediagramthat describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationshipsamong objects. Borrower, item, librarian, transaction, reservation are the candidate classes along with books, DVD and magazine. a)Class Diagram
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Figure 1: Class diagram for library management system As shown in the above figure, classes are comprised with the relative attributes and operations along with multiplicities of the associations. For the class item there are six attributes as item id, name, rack number, number of copies, item type, loan date and the operations are display details, update status and check condition. Classes books, DVD and magagizens forms inheritance with the item class. For the class librarian the attributes are name, address, email address, phone number along with operations search book, checkout, return, reserve, renew and confirmation. Items and librarian is associated with each other with one to many relation. The transaction class is associates with the fine and librarian. Librarian is responsible for creating the transaction and close them. Borrowers must pay a fine for overdue items. This is $1 per day for books and $2 per day for magazines. There are also a class name reservation which enables the reservation for any specific item, if the item is not currently available. b)Object diagram Figure 2: object diagram
The object diagram specifies the state of the system after the borrower named ‘Bob’ (identifier of this borrower is borrower1) has borrowed two books and one magazine as per the following table (rows 1–3). Bob has also reserved another book, which is on loan now. Information about this book is shown in the last row of the table. For the borrowed items in the table the date column shows the loan date. For the reserved item this column shows the date Bob made the reservation. RowTitleTypeIdentifierDate 1C++ programmingBookbook115/08/2017 2Java programmingBookbook218/08/2017 3PC magazineMagazineMagazine118/08/2017 4PHP programmingBookBook320/08/2017 c)OCL CL is a typed, declarative and side-effect free specification language.Typed means that each OCL expression evaluates to a type (either one of the predefined OCL types or a type in the model where the OCL expression is used) and must conform to the rulesandoperations of that type. Side-effectfreeimplies that OCL expressions can query or constrain the state of the system but not modify. 1.The calss diagram does not specify the limit of item which can be borrowed. This statement defines the limitations. Context transaction inv noitemtransaction: self. Item -> forall (I | I.count < self.transaction) 2.Fine for the books is applicable if the book is not returned in 3 weeks which is equivalent to 21 days and the fine is 1$ per day.
Context item :: loanduration : string derive: If not self.item.book. -> loanduration ()>=21 Then 0 else 1 endif 3.Fine for the books is applicable if the book is not returned in 2 weeks which is equivalent to 14 days and the fine is 2$ per day. Context item :: loanduration : string derive: If not self.item.magazine. -> loanduration ()>=14 Then 0 else 2 endif 4.Items which are available cannot be reserved. contextborrower :: reserve:booleaninit:false
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
e)State Machine Diagram Figure 3: State Machine diagram The state machine diagram is associates with the class item and specifies the availability and reserve functionality with appropriate notations. The conditions are also applied in certain states as to check the availability of the items and eligibility to borrow items.
f)Sequence Diagram Figure 4: Sequence Diagram for checkout Theabovesequencediagraminvolvesforclasses,librarian,andborrower,itemand transaction.The diagram is illustrated with the synchronize and asynchronies messages. It describes the the checkout process.
g)Communication diagram Figure 5: Communication diagram Acommunication diagramis an extension of objectdiagramthat shows the objects along with the messages that travel from one to another. In addition to the associations among objects,communication diagramshows the messages the objects send each other. It specifies for the checkout scenario in this case. Question 2: The banking class diagram showcase a set of class and multiplicities. Every class consists of mainly two section as attributes and operations. The given banking system consists of several classes as bank, branch, loan, account and customer. The bank class includes the name of the bank along with the unique code. The operations are defined as addbranch. Remove branch, get branch and getallbranches. The branch class includes the
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
branch code and the location of the branch. The operations are defined as addaccount, remove account, get account, add loan, remove loan and get loan. The loan class includes the customer class includes customer ID, name, address and phone. The bank and branch forms 1 to many relationship as multiple branch falls one bank. The account number forms zero-many to one relationship with branch. The account class consists of account number and balance. The operations of the class are classified as debit amount, credit amount and get balance. The loan class forms many to 1 relationship with the class branch. The customer forms a 1 to many relationship with loan. Assuming from the diagram, there are two type of accounts the bank deals with. Saving and current account forms composition with the class account. b)The given object diagram specified the classes bank and branches. The name of the bank is declared as ANZq along with the code 0.6q. Four different branches are declared with different name and location. The diagram showcase the relationship of the two classes with attribute values.