SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
Software Engineering, System Design
1
Cover Page
 Library System (Lib SYS)
 Robert Hoffman
 Higher Diploma in Computing
 Submitted on the 06/12/2011
Software Engineering, System Design
2
Table of Contents
1. Introduction/Overview....................................................................................................................3
2. Hierarchy Chart...............................................................................................................................4
3. User Requirements..........................................................................................................................5
4. System Requirements......................................................................................................................6
5. Dataflow Diagrams .......................................................................................................................11
6. Database Schema ..........................................................................................................................17
7. Program Specification...................................................................................................................18
8. Conclusion/Summary....................................................................................................................30
Software Engineering, System Design
3
1. Introduction/Overview
The project which I’ve done for software engineering is a library system. When doing this
project I had to first start out by doing a hierarchy chart this shows the structure and the
hierarchy of the software modules. In a diagram what you want the program to do. Next I did
the user requirements and system requirements. The user requirements are statements of
the system requirements for the customer and end user of the system. In the System
requirements I provided a more detailed description of the functionality. In the dataflow
diagram section I provided DFD to show how data flows are used through a sequence of
processing steps I also outlined class diagrams with their relationships. In the database
schema section I provided details for the attributes which would be used when
implementing the system. Finally in the program specification section I put in a screen
layout for three program specification. I outlined a main menu, adding a new member and
MIS function (listing the history of the book). In the conclusion section I outlined a few of
the system requirements which I could of also put in.
Software Engineering, System Design
4
2. Hierarchy Chart
Software Engineering, System Design
5
3. User Requirements
The functional user requirements for the proposed system (LibSYS) are described below:
3.1 LibSYS will perform all aspects of book administration.
3.1. 1 LibSYS will allow for new books to be added to the system.
3.1. 2 LibSYS will allow book changes to be made.
3.1. 3 LibSYS will allow for books to be removed.
3.1. 4 LibSYS will allow book enquiries to be performed
3.1. 5 LibSYS will list what books have been taken out by members
3.2 LibSYS must perform all aspects of member administration
3.2.1 LibSYS will allow member details to be recorded in the system.
3.2.2 LibSYS will allow removal of member details.
3.2.3 LibSYS will allow changes to be made to member details.
3.3 LibSYS must support the loan functions.
3.3.1 LibSYS will allow member loans to be recorded.
3.3.2 LibSYS will allow for book returns to be recorded.
3.3.3 LibSYS will list the overdue books.
Software Engineering, System Design
6
4. System Requirements
The system requirements for the user requirements described above in section 3 are presented in
this section.
4.1 Manage Books
4.1.1 Add new book
When a book is added to the library, this needs to be reflected in the system.
Each book is identified by a unique identifier (Book_ID). This identifier is assigned by the system. The
book status is assigned a default status of ‘A’ (available).The book title and authors name must be
input by the system user. The register date is assigned the system date. The input data is validated
and any errors are reported to the user.
The user can cancel the transaction at any time.
If all input is valid, the unique identifier and the valid input data are then recorded in the book file
with a default status ‘added’. A confirmation message is then displayed on the user interface.
4.1.2 Change Book
It might be necessary to change a book registered details (for example, change of book details). The
registered details for the book are first retrieved from the book file. This data may be retrieved using
the unique identifier (book_ID) or by using the book title. If the book details are retrieved by book
title, there may be more than one book title retrieved. In this case, the user selects the required
book. The retrieved details are displayed for amendment by the system user. Changes are not
allowed if the book is removed (i.e. status ‘R’)
If the user proceeds with the change, the amended data is validated and any errors are reported to
the user. When all inputs are valid, the amended data is written in the book file. A confirmation
message is then displayed on the user interface.
Next, the input fields are cleared and the system user may amend another book details
4.1.3 Remove book
When a book is removed from the library, this needs to be reflected in the system.
The registered details for the book are retrieved from the book file. This data may be retrieved using
the unique identifier (Book_ID) or by using the book title and author name. The retrieved details are
displayed on the user interface, but may not be amended.
The book may not be removed if it is currently out on loan.
Software Engineering, System Design
7
If the user proceeds with the removal, a status of ‘R’ (removed) is recorded in the book file for the
book in question.
Next, the input fields are cleared and the system user may remove another book from the library.
Next, the unique identifier (Book_ID) is incremented by one, the input fields are cleared and the
system user may add another book.
4.1.4 Book Enquiry
A member enquires to see if the book the member wants is in the library. The book details are
retrieved from the book file. The book data may be retrieved using the unique identifier (Book_ID)
or by using the book title.
The retrieved details are displayed on the user interface. The details should show if the book is in the
library or if the book is “U” (unavailable).
4.1.5 Book History
Every time a book is borrowed by a member, a record of the loan is recorded in the system. This
allows a history for a particular book to be produced.
The book details of all books are retrieved from the book file. The retrieved details are displayed on
the user interface. The user selects the book for which the history is required.
By using the Book_ID for the selected book, all loan details for this book are retrieved from the loan
file and the loan items file and the details of the member who borrowed the book are retrieved from
the member file.
The information is displayed on the user interface.
The user has the option to print if required.
4.2 Manage Members
4.2.1 Register Member
When a new member joins the library, the member details must be recorded in the system. Each
member is identified by a unique identifier (Member_ID). This identifier is assigned by the system.
Name, address and contact details must be input by the system user. The register date is assigned
the system date. The input data is validated and any errors are reported to the user.
The user may cancel the transaction at any time.
Software Engineering, System Design
8
If all the input data is valid, the unique identifier and the valid input data are then recorded in the
members file with a default status of ‘active’. A confirmation message is then displayed on the user
interface.
Next the unique identifier (Member_ID) is incremented by one, the input fields are cleared and the
system user may register another member.
4.2.2 Change Member
It might be necessary to change a member’s registered details (for example, change of address or
telephone number). The registered details for the member are first retrieved from the member file.
This data may be retrieved using the unique identifier (Member_ID) or by using surname. If the
member details are retrieved by surname, there may be more than one member retrieved. In this
case, the user selects the required member. The retrieved details are displayed for amendment by
the system user.
Amendments are not allowed if the member’s status is ‘removed’.
If the user proceeds with the change, the amended data is validated and any errors are reported to
the user. When all inputs are valid, the amended data is written in the Members file. A
confirmation message is then displayed on the user interface.
Next, the input fields are cleared and the system user may amend another members details.
4.2.3 Remove Member
When a member is removed from the library, this needs to be reflected in the system.
The registered details for the member are retrieved from the member file. This data may be
retrieved using the unique identifier (Member_ID) or by using the surname. The retrieved details are
displayed on the user interface, but may not be amended.
The member may not be removed if there is books currently out on loan.
If the user proceeds with the removal, a status of “removed” is recorded in the member file for the
member in question.
Next, the input fields are cleared and the system user may remove another member from the library
4.3 Manage loans
4.3.1 Book loan
When a book loan is taken out in the library, the loan details must be recorded in the system. Each
book loan is identified by a unique identifier (Loan_ID). This identifier is assigned by the system. The
details for the member are retrieved from the member file. This data may be retrieved using the
unique identifier (Member_ID) or by using the surname.
Up to four books can be borrowed in a single loan. The registered details for each book (up to
four books) are retrieved from the book file and are displayed. This data may be retrieved using the
Software Engineering, System Design
9
unique identifier (Book_ID) or by using the book title and author name. There is also a maximum
limit of 4 books per member per loan.
The loan date is set to the current system date. The date on which the books are due to be returned
is determined by the system. This date is set to the date two weeks after the loan date. The Loan_ID,
Member_ID, loan date and due date are recorded in the Loan file.
The return date for each book will be NULL until the book is actually returned. Each book may be
returned late, in which case a fine will be applied. This fine amount will be set to zero, until such
time as the book is actually returned. For each book borrowed (up to four books), the Loan_ID,
Book_ID, Return Date (NULL) and Fine amount (zero) are written to the Loan Items file.
The status for each book borrowed is set to “U” (unavailable) in the book file.
The user may cancel the transaction at any time.
If all the input data is valid, the unique identifier and the valid input data are then recorded in the
loan file.
A confirmation message is then displayed on the user interface.
Next the unique identifier (Loan_ID) is incremented by one, the input fields are cleared and the
system user may register another book loan.
4.3.2 Return Book
When a book is returned to the library, this needs to be reflected in the system.
The registered details for the loan are retrieved from the loan file. This data may be retrieved using
the unique identifier (Loan_ID) or by using the title of the book. This data may be retrieved using the
unique identifier (Member_ID) or by using the surname. The details for the member are retrieved
from the member file. This data may be retrieved using the unique identifier (Member_ID) or by
using the surname.
The retrieved details are displayed on the user interface, but may not be amended. The date the
book is returned must be recorded in the loan items file. The input data is validated and any errors
are reported to the user.
The date the book is returned must be recorded in the loan item file. A book may be returned
late, in which case a fine will be applied. This fine amount will be set to zero, until such time as the
book is actually returned. For each book returned (up to four books), the Loan_ID, Book_ID , Return
Date (is recorded) and Fine amount (is applied if necessary) are recorded in the Loan Items file.
If the book is late, (i.e. the return date is greater than due date) a fine is stored in the Fine amount in
the loan items file. There is a €1.00 fine per day.
If the user proceeds with the removal, a status of “returned” is recorded in the book file for the
book in question.
Software Engineering, System Design
10
Next, the input fields are cleared and the system user may return another book to the library
4.3.3 List Overdue books
A list of the overdue books may be required.
The loan details of the overdue books are retrieved from the loan file and loan items file. These
details are displayed on the user interface. The member details and book titles are retrieved from
the member file and book file. This data may be retrieved using the unique identifier (Loan_ID).
When a book is late, (i.e. the return date is greater than due date) a fine is stored in the loan item
file. Loans which have not been returned (i.e. return date is null) and for which due date less than
today’s date a fine is applied to the member.
For each overdue book a fine is occurred. There is a €1.00 fine per day. The system calculates the
total amount of fine the member has to pay. The system does this by comparing when the book was
supposed to be returned to today’s date and adding a €1.00 for each day that the book was due.
The system should show the list of overdue books by members with print option.
Software Engineering, System Design
11
5. Dataflow Diagrams
Level-0 DFD
Loan request
Loan
Library
System
Member
Software Engineering, System Design
12
Level-1 DFD
Member details
Book details
Member details Member details
Member Details
Book details
Loan details
P1
Record
Book
D1 Book File
P2
Manage
LoanD2 Loan File
D3 Member File
P3
Manage
Member
Member
D4 Loan Item file
Software Engineering, System Design
13
Level-2 DFD Process P1
Book details
Book details
Book details
Book details
Book details
Loan details
Loan details
P1.1
Add Book
D1 Book file
P1.2
Remove Book
P1.3
Change Book
P1.4
Book Enquiry
P1.5
Book History
D2 Loan file
D4 Loan Items file
Software Engineering, System Design
14
Level-2 DFD Process P2
Member Details
Book details
Loan details Loan details
Loan Details
` Member details Book details Member Details
Loan details member details Loan Details
Member details Member details
Loan details Loan Details
Loan Details
Book Details
Loan details
P2.1
Loan Book
D2 Loan file
Member
D3 Member file
P2.2
Return Book
D2 Book file
P2.3
List Overdue
Books
D4 Loan Item file
D4 Loan Item file
D2 Loan file
D3 Member file
Software Engineering, System Design
15
Level-2 DFD Process P2
P3.1
Register member
D3 Member File
P3.2
Change member
P3.3
Remove
member
Member
Member details
Member details
Member details
Member ID
Member details
Member details
Software Engineering, System Design
16
Class Diagram
1..1 can have 0..*
1..1
Has a
1..*
1..1 can have 0..*
Member
Member_ID {PK}
Surname
Forename
Street
Town
County
Phone no
Status
Loan
Loan_ID {PK}
Due date
Loan date
Book
Book_ID {PK}
Book title
Author
Status
Loan Item
Return Date
Fine amount
Software Engineering, System Design
17
6. Database Schema
Schema: LibSYS
Relation: Books
Attributes:
BookId number(6)
Title char(30) NOT NULL
Author char(30) NOT NULL
Status char(1) DEFAULT „A‟
Primary Key BookId
Relation: Members
Attributes:
MemberId number(4)
Surname char(20) NOT NULL
Forename char(20) NOT NULL
Street char(25) NOT NULL
Town char(25) NOT NULL
County char(15) NOT NULL
Phone no number(15)
Primary Key MemberId
Relation: Loans
Attributes:
LoanId number(6)
MemberId number(4) NOT NULL
LoanDate NOT NULL
DateDue date NOT NULL
Primary Key LoanId
Foreign Key MemberId REFERENCES Members
Relation: Loan Item
Attributes:
LoanId number(6)
BookId number(6) NOT NULL
DateReturned date
FineAmt number(4, 2)
Primary Key LoanId , BookId
Foreign Key BookId REFERENCES Books
Foreign Key LoanId REFERENCES Loans
Software Engineering, System Design
18
7. Program Specification
Program Specification
System : LibSYS Author: R Hoffman
Module : Main Menu Date: 17/11/2011
Invoked By:
None
Invokes:
Book Menu
Member menu
Loan Menu
Inputs:
None
Outputs:
None
Screen Layout:
Software Engineering, System Design
19
Error Messages:
None
Process:
BEGIN
DO UNTIL EXIT
IF BOOK MENU
Pass control to Book Module
ELSE IF MEMBER MENU
Pass control to Member Module
ELSE IF LOAN MENU
Pass control to Loan Module
END DO
IF EXIT
Terminate Program
END
Software Engineering, System Design
20
Program Specification
System : LibSYS Author: Robert Hoffman
Module : Add Member Date: 21/11/2011
Invoked By:
LibSYS
Invokes:
None
Inputs:
Surname
Forename
Street
Town
County
Phone no
Outputs:
New Member Record
Screen Layout:
Error Messages:
1. Surname must be entered
2. Forename must be entered
3. Street must be entered
Software Engineering, System Design
21
4. Town must be entered
5. County must be entered
6. Phone no must be Numeric
Process:
BEGIN
Do GetNextMemberID
Display System Date
Display form
Do Until EXIT or BACK
IF INSERT
If Surname is blank then
Do Display Error Message
Exit
ELSE IF Forename is blank then
Do Display Error Message
Exit
ELSE IF Street is blank then
Do Display Error Message
Exit
ELSE IF Town is blank then
Do Display Error Message
Exit
ELSE IF County is blank then
Do Display Error Message
Exit
ELSE IF Phone No is blank then
Do Display Error Message
Exit
End If
Open Database
` Set status = „A‟
Write Member record
Close Database
Do Clear Screen
END IF
End Do
Software Engineering, System Design
22
IF EXIT
Terminate program
IF BACK
Return to Main Menu
END
Display Error Message(X)
Begin
IF X = 1 then
Display “Surname Must be Entered”
ELSE IF X = 2 then
Display “Forename Must be Entered”
ELSE IF X = 3 then
Display “Street Must be Entered”
ELSE IF X = 4 then
Display “Town Must be Entered”
ELSE IF X = 5 then
Display “County Must be Entered”
ELSE IF X = 6 then
Display “Phone No Must be Entered”
END IF
END
Clear Screen ()
Begin
DO GetNextMemberId
Surname = “”
Forename = “”
Street = “”
Town = “”
County = “”
Phone no = “”
END
Software Engineering, System Design
23
GetNextMemberId
Begin
Connect to database
Retrieve last MemberID assigned from Member File
IF Last MemberID is NULL
SET MemberID = 1
ELSE
SET MemberID = Last MemberId +1
Close Database
END
Software Engineering, System Design
24
Program Specification
System : LibSYS Author: Robert Hoffman
Module : Edit Member Date: 21/11/2011
Invoked By:
LibSYS
Invokes:
None
Inputs:
Member ID
Outputs:
Edit Member Record
Screen Layout:
Error Messages:
1. Member ID must be Numeric
Process:
BEGIN
Display form
Do Until EXIT or BACK
Software Engineering, System Design
25
Insert MemberId
Retrieve the details for the member in the member file
Display form
If status = “R”
Do Display Error Message (1)
Exit
IF EDIT
If Surname is blank then
Do Display Error Message (2)
Exit
ELSE IF Forename is blank then
Do Display Error Message (3)
Exit
ELSE IF Street is blank then
Do Display Error Message (4)
Exit
ELSE IF Town is blank then
Do Display Error Message (5)
Exit
ELSE IF County is blank then
Do Display Error Message (6)
Exit
ELSE IF Phone No is blank then
Do Display Error Message (7)
Exit
End If
Open Database
Write Member record
Close Database
Do Clear Screen
END IF
End Do
IF EXIT
Terminate program
IF BACK
Return to Main Menu
Software Engineering, System Design
26
END
Display Error Message(X)
Begin
IF X = 1 then
Display “Amendments are not allowed”
ELSE IF X = 2 then
Display “Surname Must be Entered”
ELSE IF X = 3 then
Display “Forename Must be Entered”
ELSE IF X = 4 then
Display “Street Must be Entered”
ELSE IF X = 5 then
Display “Town Must be Entered”
ELSE IF X = 6 then
Display “County Must be Entered”
ELSE IF X = 7 then
Display “Phone No Must be Entered”
END IF
END
Clear Screen ()
Begin
DO GetNextMemberId
Surname = “”
Forename = “”
Street = “”
Town = “”
County = “”
Phone No = “”
END
Begin
Connect to database
Software Engineering, System Design
27
Retrieve last MemberID assigned
IF Last MemberID is NULL
SET MemberID = 1
ELSE
SET MemberID = Last MemberId +1
Close Database
END
Software Engineering, System Design
28
Program Specification
System : LibSYS Author: Robert Hoffman
Module : List Overdue books Date: 21/11/2011
Invoked By:
LibSYS
Invokes:
None
Inputs: Outputs:
List overdue books
Screen Layout:
Error Messages:
Process:
BEGIN
Retrieve details of all loans where due date is less than today from loan file and loan items
file.
Retrieve corresponding member and book details from member file and book file.
Software Engineering, System Design
29
Load retrieved details into form control in order of due date.
Display Form
IF EXIT
Terminate program
IF BACK
Return to Main Menu
IF PRINT
Format overdue data into print format.
Send to printer
Display Confirmation message
END
Software Engineering, System Design
30
8. Conclusion/Summary
In this project I left out a few things that I could have put in the system requirements. These
were that I could have put in the date the book was added and the date the book was
destroyed in the book file. Also I would of put in the date the member was added and the date
the member was removed in the member file. I could also have put in a library card with a
Card_No and date allocated which would have been in a new file called LibraryCard the
Card_no would have been the primary key and also Member_Id{Fk} would be in the
LibraryCard file. I would also put in an Author file with the attributes of author_no {pk} and
author name. I could also have put in a book title file with the attributes of isbn_no {pk},
book title and category. I could also have put in an Authorship file with the attributes of
isbn_no {pk, fk} and author_no {pk, fk}. Finally given more time I would of put the attribute
of Member type {adult, child, student, OAP} in the members file. I would‟ve of put in a
member type file with the attributes Member type and description.

Weitere ähnliche Inhalte

Was ist angesagt?

LookupPoint the 60 second intro
LookupPoint the 60 second introLookupPoint the 60 second intro
LookupPoint the 60 second introDonal Cullen
 
Library management system
Library management systemLibrary management system
Library management systemwethecodershelp
 
online library management system
online library management systemonline library management system
online library management systemVirani Sagar
 
Statement of the problem
Statement of the problemStatement of the problem
Statement of the problemAngelito Pera
 
Developer's guide for Readpeer Android
Developer's guide for Readpeer AndroidDeveloper's guide for Readpeer Android
Developer's guide for Readpeer AndroidWeiran Liu
 
Synopsis of Library Management System
Synopsis of Library Management SystemSynopsis of Library Management System
Synopsis of Library Management SystemAnkit Verma
 
Feasibility report for library management system
Feasibility report for library management systemFeasibility report for library management system
Feasibility report for library management systemArslan Nazim
 
New library management system slide
New library management system slideNew library management system slide
New library management system slideEnzo Ivan
 
Library management system
Library management systemLibrary management system
Library management systemtechlike
 
Vision and Scope Document For Library Management System
Vision and Scope Document For Library Management SystemVision and Scope Document For Library Management System
Vision and Scope Document For Library Management SystemSoman Sarim
 

Was ist angesagt? (13)

LookupPoint the 60 second intro
LookupPoint the 60 second introLookupPoint the 60 second intro
LookupPoint the 60 second intro
 
Library management system
Library management systemLibrary management system
Library management system
 
online library management system
online library management systemonline library management system
online library management system
 
Statement of the problem
Statement of the problemStatement of the problem
Statement of the problem
 
Developer's guide for Readpeer Android
Developer's guide for Readpeer AndroidDeveloper's guide for Readpeer Android
Developer's guide for Readpeer Android
 
Synopsis of Library Management System
Synopsis of Library Management SystemSynopsis of Library Management System
Synopsis of Library Management System
 
Chapter 3
Chapter 3Chapter 3
Chapter 3
 
SRS Slide
SRS SlideSRS Slide
SRS Slide
 
Feasibility report for library management system
Feasibility report for library management systemFeasibility report for library management system
Feasibility report for library management system
 
New library management system slide
New library management system slideNew library management system slide
New library management system slide
 
Library management system
Library management systemLibrary management system
Library management system
 
Vision and Scope Document For Library Management System
Vision and Scope Document For Library Management SystemVision and Scope Document For Library Management System
Vision and Scope Document For Library Management System
 
Initial reportfinal
Initial reportfinalInitial reportfinal
Initial reportfinal
 

Andere mochten auch

Polar Journeys | Travel Brochure
Polar Journeys | Travel BrochurePolar Journeys | Travel Brochure
Polar Journeys | Travel BrochureDiscover The World
 
Association 2.0 - Les Médias sociaux pour les associations, l'exemple du Seco...
Association 2.0 - Les Médias sociaux pour les associations, l'exemple du Seco...Association 2.0 - Les Médias sociaux pour les associations, l'exemple du Seco...
Association 2.0 - Les Médias sociaux pour les associations, l'exemple du Seco...Samir SIRAT
 
media pembelajaran matematika SDN 1 GLAGAH kelas 4 semester 1
media pembelajaran matematika SDN 1 GLAGAH kelas 4 semester 1media pembelajaran matematika SDN 1 GLAGAH kelas 4 semester 1
media pembelajaran matematika SDN 1 GLAGAH kelas 4 semester 1gita12005202
 
המדינה טעתה המדינה תשלם
המדינה טעתה המדינה תשלםהמדינה טעתה המדינה תשלם
המדינה טעתה המדינה תשלםGal Wolkowicz
 
Pod kapotou V - Eurofondy
Pod kapotou V - EurofondyPod kapotou V - Eurofondy
Pod kapotou V - EurofondyMichael Angelov
 
Prueba de tic 2
Prueba de tic 2Prueba de tic 2
Prueba de tic 2alexruma
 
Content making on web (2)
Content making on web (2) Content making on web (2)
Content making on web (2) Deepak Khurana
 
The shaping of the earth´s relief.ppt
The shaping of the earth´s relief.pptThe shaping of the earth´s relief.ppt
The shaping of the earth´s relief.pptdavmartse
 
Primo levi 2, serendipity
Primo levi 2, serendipityPrimo levi 2, serendipity
Primo levi 2, serendipityleolika99
 

Andere mochten auch (16)

Group B presentation
Group B presentationGroup B presentation
Group B presentation
 
Project
ProjectProject
Project
 
Group 6 presentation
Group 6   presentationGroup 6   presentation
Group 6 presentation
 
Canada | Travel Brochure
Canada | Travel BrochureCanada | Travel Brochure
Canada | Travel Brochure
 
Polar Journeys | Travel Brochure
Polar Journeys | Travel BrochurePolar Journeys | Travel Brochure
Polar Journeys | Travel Brochure
 
Building business and customer personas
Building business and customer personasBuilding business and customer personas
Building business and customer personas
 
Association 2.0 - Les Médias sociaux pour les associations, l'exemple du Seco...
Association 2.0 - Les Médias sociaux pour les associations, l'exemple du Seco...Association 2.0 - Les Médias sociaux pour les associations, l'exemple du Seco...
Association 2.0 - Les Médias sociaux pour les associations, l'exemple du Seco...
 
Cuadricula
CuadriculaCuadricula
Cuadricula
 
media pembelajaran matematika SDN 1 GLAGAH kelas 4 semester 1
media pembelajaran matematika SDN 1 GLAGAH kelas 4 semester 1media pembelajaran matematika SDN 1 GLAGAH kelas 4 semester 1
media pembelajaran matematika SDN 1 GLAGAH kelas 4 semester 1
 
המדינה טעתה המדינה תשלם
המדינה טעתה המדינה תשלםהמדינה טעתה המדינה תשלם
המדינה טעתה המדינה תשלם
 
Pod kapotou V - Eurofondy
Pod kapotou V - EurofondyPod kapotou V - Eurofondy
Pod kapotou V - Eurofondy
 
Prueba de tic 2
Prueba de tic 2Prueba de tic 2
Prueba de tic 2
 
Content making on web (2)
Content making on web (2) Content making on web (2)
Content making on web (2)
 
Horror Film Presentation
Horror Film Presentation Horror Film Presentation
Horror Film Presentation
 
The shaping of the earth´s relief.ppt
The shaping of the earth´s relief.pptThe shaping of the earth´s relief.ppt
The shaping of the earth´s relief.ppt
 
Primo levi 2, serendipity
Primo levi 2, serendipityPrimo levi 2, serendipity
Primo levi 2, serendipity
 

Ähnlich wie H dip hoffman_r_final

Java library synopsis_1
Java library synopsis_1Java library synopsis_1
Java library synopsis_1Ganesh Mohite
 
Library management System
Library management SystemLibrary management System
Library management Systemsaradateja
 
Library Management System.pdf
Library Management System.pdfLibrary Management System.pdf
Library Management System.pdfSanjayNamdeo14
 
E-Commerce Mobile Sale System
E-Commerce Mobile Sale SystemE-Commerce Mobile Sale System
E-Commerce Mobile Sale SystemAbhishek Kumar
 
database implementation phase
database  implementation phasedatabase  implementation phase
database implementation phasehossanaymcmb
 
Library manaementreport1
Library manaementreport1Library manaementreport1
Library manaementreport1Rohit Verma
 
Developing a Comprehensive Library Management System for Tamale Polytechnic
Developing a Comprehensive Library Management System for Tamale PolytechnicDeveloping a Comprehensive Library Management System for Tamale Polytechnic
Developing a Comprehensive Library Management System for Tamale PolytechnicEditor IJCATR
 
library-project-report library-project-report
library-project-report library-project-reportlibrary-project-report library-project-report
library-project-report library-project-reportmediacontrol2000
 
Gr.-06library-project-report.pdf
Gr.-06library-project-report.pdfGr.-06library-project-report.pdf
Gr.-06library-project-report.pdfkajalkhorwal106
 
Library management system
Library management systemLibrary management system
Library management systemArman Ahmed
 
Software requirements specification of Library Management System
Software requirements specification of Library Management SystemSoftware requirements specification of Library Management System
Software requirements specification of Library Management SystemSoumili Sen
 
Report of Student management system
Report of Student management systemReport of Student management system
Report of Student management system1amitgupta
 
Library management system presentation
Library management system presentation Library management system presentation
Library management system presentation Smit Patel
 
E book management system
E book management systemE book management system
E book management systemBarani Tharan
 
Library Management System SRS
Library Management System SRSLibrary Management System SRS
Library Management System SRSParas
 
Library management system project
Library management system projectLibrary management system project
Library management system projectAJAY KUMAR
 

Ähnlich wie H dip hoffman_r_final (20)

Java library synopsis_1
Java library synopsis_1Java library synopsis_1
Java library synopsis_1
 
Library management System
Library management SystemLibrary management System
Library management System
 
Library Management System.pdf
Library Management System.pdfLibrary Management System.pdf
Library Management System.pdf
 
Library management system using java technology
Library management system using java technologyLibrary management system using java technology
Library management system using java technology
 
E-Commerce Mobile Sale System
E-Commerce Mobile Sale SystemE-Commerce Mobile Sale System
E-Commerce Mobile Sale System
 
Srs for library
Srs for librarySrs for library
Srs for library
 
database implementation phase
database  implementation phasedatabase  implementation phase
database implementation phase
 
Library manaementreport1
Library manaementreport1Library manaementreport1
Library manaementreport1
 
synopsis
synopsissynopsis
synopsis
 
Developing a Comprehensive Library Management System for Tamale Polytechnic
Developing a Comprehensive Library Management System for Tamale PolytechnicDeveloping a Comprehensive Library Management System for Tamale Polytechnic
Developing a Comprehensive Library Management System for Tamale Polytechnic
 
library-project-report library-project-report
library-project-report library-project-reportlibrary-project-report library-project-report
library-project-report library-project-report
 
Gr.-06library-project-report.pdf
Gr.-06library-project-report.pdfGr.-06library-project-report.pdf
Gr.-06library-project-report.pdf
 
Library management system
Library management systemLibrary management system
Library management system
 
Presentation2
Presentation2Presentation2
Presentation2
 
Software requirements specification of Library Management System
Software requirements specification of Library Management SystemSoftware requirements specification of Library Management System
Software requirements specification of Library Management System
 
Report of Student management system
Report of Student management systemReport of Student management system
Report of Student management system
 
Library management system presentation
Library management system presentation Library management system presentation
Library management system presentation
 
E book management system
E book management systemE book management system
E book management system
 
Library Management System SRS
Library Management System SRSLibrary Management System SRS
Library Management System SRS
 
Library management system project
Library management system projectLibrary management system project
Library management system project
 

Kürzlich hochgeladen

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Kürzlich hochgeladen (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

H dip hoffman_r_final

  • 1. Software Engineering, System Design 1 Cover Page  Library System (Lib SYS)  Robert Hoffman  Higher Diploma in Computing  Submitted on the 06/12/2011
  • 2. Software Engineering, System Design 2 Table of Contents 1. Introduction/Overview....................................................................................................................3 2. Hierarchy Chart...............................................................................................................................4 3. User Requirements..........................................................................................................................5 4. System Requirements......................................................................................................................6 5. Dataflow Diagrams .......................................................................................................................11 6. Database Schema ..........................................................................................................................17 7. Program Specification...................................................................................................................18 8. Conclusion/Summary....................................................................................................................30
  • 3. Software Engineering, System Design 3 1. Introduction/Overview The project which I’ve done for software engineering is a library system. When doing this project I had to first start out by doing a hierarchy chart this shows the structure and the hierarchy of the software modules. In a diagram what you want the program to do. Next I did the user requirements and system requirements. The user requirements are statements of the system requirements for the customer and end user of the system. In the System requirements I provided a more detailed description of the functionality. In the dataflow diagram section I provided DFD to show how data flows are used through a sequence of processing steps I also outlined class diagrams with their relationships. In the database schema section I provided details for the attributes which would be used when implementing the system. Finally in the program specification section I put in a screen layout for three program specification. I outlined a main menu, adding a new member and MIS function (listing the history of the book). In the conclusion section I outlined a few of the system requirements which I could of also put in.
  • 4. Software Engineering, System Design 4 2. Hierarchy Chart
  • 5. Software Engineering, System Design 5 3. User Requirements The functional user requirements for the proposed system (LibSYS) are described below: 3.1 LibSYS will perform all aspects of book administration. 3.1. 1 LibSYS will allow for new books to be added to the system. 3.1. 2 LibSYS will allow book changes to be made. 3.1. 3 LibSYS will allow for books to be removed. 3.1. 4 LibSYS will allow book enquiries to be performed 3.1. 5 LibSYS will list what books have been taken out by members 3.2 LibSYS must perform all aspects of member administration 3.2.1 LibSYS will allow member details to be recorded in the system. 3.2.2 LibSYS will allow removal of member details. 3.2.3 LibSYS will allow changes to be made to member details. 3.3 LibSYS must support the loan functions. 3.3.1 LibSYS will allow member loans to be recorded. 3.3.2 LibSYS will allow for book returns to be recorded. 3.3.3 LibSYS will list the overdue books.
  • 6. Software Engineering, System Design 6 4. System Requirements The system requirements for the user requirements described above in section 3 are presented in this section. 4.1 Manage Books 4.1.1 Add new book When a book is added to the library, this needs to be reflected in the system. Each book is identified by a unique identifier (Book_ID). This identifier is assigned by the system. The book status is assigned a default status of ‘A’ (available).The book title and authors name must be input by the system user. The register date is assigned the system date. The input data is validated and any errors are reported to the user. The user can cancel the transaction at any time. If all input is valid, the unique identifier and the valid input data are then recorded in the book file with a default status ‘added’. A confirmation message is then displayed on the user interface. 4.1.2 Change Book It might be necessary to change a book registered details (for example, change of book details). The registered details for the book are first retrieved from the book file. This data may be retrieved using the unique identifier (book_ID) or by using the book title. If the book details are retrieved by book title, there may be more than one book title retrieved. In this case, the user selects the required book. The retrieved details are displayed for amendment by the system user. Changes are not allowed if the book is removed (i.e. status ‘R’) If the user proceeds with the change, the amended data is validated and any errors are reported to the user. When all inputs are valid, the amended data is written in the book file. A confirmation message is then displayed on the user interface. Next, the input fields are cleared and the system user may amend another book details 4.1.3 Remove book When a book is removed from the library, this needs to be reflected in the system. The registered details for the book are retrieved from the book file. This data may be retrieved using the unique identifier (Book_ID) or by using the book title and author name. The retrieved details are displayed on the user interface, but may not be amended. The book may not be removed if it is currently out on loan.
  • 7. Software Engineering, System Design 7 If the user proceeds with the removal, a status of ‘R’ (removed) is recorded in the book file for the book in question. Next, the input fields are cleared and the system user may remove another book from the library. Next, the unique identifier (Book_ID) is incremented by one, the input fields are cleared and the system user may add another book. 4.1.4 Book Enquiry A member enquires to see if the book the member wants is in the library. The book details are retrieved from the book file. The book data may be retrieved using the unique identifier (Book_ID) or by using the book title. The retrieved details are displayed on the user interface. The details should show if the book is in the library or if the book is “U” (unavailable). 4.1.5 Book History Every time a book is borrowed by a member, a record of the loan is recorded in the system. This allows a history for a particular book to be produced. The book details of all books are retrieved from the book file. The retrieved details are displayed on the user interface. The user selects the book for which the history is required. By using the Book_ID for the selected book, all loan details for this book are retrieved from the loan file and the loan items file and the details of the member who borrowed the book are retrieved from the member file. The information is displayed on the user interface. The user has the option to print if required. 4.2 Manage Members 4.2.1 Register Member When a new member joins the library, the member details must be recorded in the system. Each member is identified by a unique identifier (Member_ID). This identifier is assigned by the system. Name, address and contact details must be input by the system user. The register date is assigned the system date. The input data is validated and any errors are reported to the user. The user may cancel the transaction at any time.
  • 8. Software Engineering, System Design 8 If all the input data is valid, the unique identifier and the valid input data are then recorded in the members file with a default status of ‘active’. A confirmation message is then displayed on the user interface. Next the unique identifier (Member_ID) is incremented by one, the input fields are cleared and the system user may register another member. 4.2.2 Change Member It might be necessary to change a member’s registered details (for example, change of address or telephone number). The registered details for the member are first retrieved from the member file. This data may be retrieved using the unique identifier (Member_ID) or by using surname. If the member details are retrieved by surname, there may be more than one member retrieved. In this case, the user selects the required member. The retrieved details are displayed for amendment by the system user. Amendments are not allowed if the member’s status is ‘removed’. If the user proceeds with the change, the amended data is validated and any errors are reported to the user. When all inputs are valid, the amended data is written in the Members file. A confirmation message is then displayed on the user interface. Next, the input fields are cleared and the system user may amend another members details. 4.2.3 Remove Member When a member is removed from the library, this needs to be reflected in the system. The registered details for the member are retrieved from the member file. This data may be retrieved using the unique identifier (Member_ID) or by using the surname. The retrieved details are displayed on the user interface, but may not be amended. The member may not be removed if there is books currently out on loan. If the user proceeds with the removal, a status of “removed” is recorded in the member file for the member in question. Next, the input fields are cleared and the system user may remove another member from the library 4.3 Manage loans 4.3.1 Book loan When a book loan is taken out in the library, the loan details must be recorded in the system. Each book loan is identified by a unique identifier (Loan_ID). This identifier is assigned by the system. The details for the member are retrieved from the member file. This data may be retrieved using the unique identifier (Member_ID) or by using the surname. Up to four books can be borrowed in a single loan. The registered details for each book (up to four books) are retrieved from the book file and are displayed. This data may be retrieved using the
  • 9. Software Engineering, System Design 9 unique identifier (Book_ID) or by using the book title and author name. There is also a maximum limit of 4 books per member per loan. The loan date is set to the current system date. The date on which the books are due to be returned is determined by the system. This date is set to the date two weeks after the loan date. The Loan_ID, Member_ID, loan date and due date are recorded in the Loan file. The return date for each book will be NULL until the book is actually returned. Each book may be returned late, in which case a fine will be applied. This fine amount will be set to zero, until such time as the book is actually returned. For each book borrowed (up to four books), the Loan_ID, Book_ID, Return Date (NULL) and Fine amount (zero) are written to the Loan Items file. The status for each book borrowed is set to “U” (unavailable) in the book file. The user may cancel the transaction at any time. If all the input data is valid, the unique identifier and the valid input data are then recorded in the loan file. A confirmation message is then displayed on the user interface. Next the unique identifier (Loan_ID) is incremented by one, the input fields are cleared and the system user may register another book loan. 4.3.2 Return Book When a book is returned to the library, this needs to be reflected in the system. The registered details for the loan are retrieved from the loan file. This data may be retrieved using the unique identifier (Loan_ID) or by using the title of the book. This data may be retrieved using the unique identifier (Member_ID) or by using the surname. The details for the member are retrieved from the member file. This data may be retrieved using the unique identifier (Member_ID) or by using the surname. The retrieved details are displayed on the user interface, but may not be amended. The date the book is returned must be recorded in the loan items file. The input data is validated and any errors are reported to the user. The date the book is returned must be recorded in the loan item file. A book may be returned late, in which case a fine will be applied. This fine amount will be set to zero, until such time as the book is actually returned. For each book returned (up to four books), the Loan_ID, Book_ID , Return Date (is recorded) and Fine amount (is applied if necessary) are recorded in the Loan Items file. If the book is late, (i.e. the return date is greater than due date) a fine is stored in the Fine amount in the loan items file. There is a €1.00 fine per day. If the user proceeds with the removal, a status of “returned” is recorded in the book file for the book in question.
  • 10. Software Engineering, System Design 10 Next, the input fields are cleared and the system user may return another book to the library 4.3.3 List Overdue books A list of the overdue books may be required. The loan details of the overdue books are retrieved from the loan file and loan items file. These details are displayed on the user interface. The member details and book titles are retrieved from the member file and book file. This data may be retrieved using the unique identifier (Loan_ID). When a book is late, (i.e. the return date is greater than due date) a fine is stored in the loan item file. Loans which have not been returned (i.e. return date is null) and for which due date less than today’s date a fine is applied to the member. For each overdue book a fine is occurred. There is a €1.00 fine per day. The system calculates the total amount of fine the member has to pay. The system does this by comparing when the book was supposed to be returned to today’s date and adding a €1.00 for each day that the book was due. The system should show the list of overdue books by members with print option.
  • 11. Software Engineering, System Design 11 5. Dataflow Diagrams Level-0 DFD Loan request Loan Library System Member
  • 12. Software Engineering, System Design 12 Level-1 DFD Member details Book details Member details Member details Member Details Book details Loan details P1 Record Book D1 Book File P2 Manage LoanD2 Loan File D3 Member File P3 Manage Member Member D4 Loan Item file
  • 13. Software Engineering, System Design 13 Level-2 DFD Process P1 Book details Book details Book details Book details Book details Loan details Loan details P1.1 Add Book D1 Book file P1.2 Remove Book P1.3 Change Book P1.4 Book Enquiry P1.5 Book History D2 Loan file D4 Loan Items file
  • 14. Software Engineering, System Design 14 Level-2 DFD Process P2 Member Details Book details Loan details Loan details Loan Details ` Member details Book details Member Details Loan details member details Loan Details Member details Member details Loan details Loan Details Loan Details Book Details Loan details P2.1 Loan Book D2 Loan file Member D3 Member file P2.2 Return Book D2 Book file P2.3 List Overdue Books D4 Loan Item file D4 Loan Item file D2 Loan file D3 Member file
  • 15. Software Engineering, System Design 15 Level-2 DFD Process P2 P3.1 Register member D3 Member File P3.2 Change member P3.3 Remove member Member Member details Member details Member details Member ID Member details Member details
  • 16. Software Engineering, System Design 16 Class Diagram 1..1 can have 0..* 1..1 Has a 1..* 1..1 can have 0..* Member Member_ID {PK} Surname Forename Street Town County Phone no Status Loan Loan_ID {PK} Due date Loan date Book Book_ID {PK} Book title Author Status Loan Item Return Date Fine amount
  • 17. Software Engineering, System Design 17 6. Database Schema Schema: LibSYS Relation: Books Attributes: BookId number(6) Title char(30) NOT NULL Author char(30) NOT NULL Status char(1) DEFAULT „A‟ Primary Key BookId Relation: Members Attributes: MemberId number(4) Surname char(20) NOT NULL Forename char(20) NOT NULL Street char(25) NOT NULL Town char(25) NOT NULL County char(15) NOT NULL Phone no number(15) Primary Key MemberId Relation: Loans Attributes: LoanId number(6) MemberId number(4) NOT NULL LoanDate NOT NULL DateDue date NOT NULL Primary Key LoanId Foreign Key MemberId REFERENCES Members Relation: Loan Item Attributes: LoanId number(6) BookId number(6) NOT NULL DateReturned date FineAmt number(4, 2) Primary Key LoanId , BookId Foreign Key BookId REFERENCES Books Foreign Key LoanId REFERENCES Loans
  • 18. Software Engineering, System Design 18 7. Program Specification Program Specification System : LibSYS Author: R Hoffman Module : Main Menu Date: 17/11/2011 Invoked By: None Invokes: Book Menu Member menu Loan Menu Inputs: None Outputs: None Screen Layout:
  • 19. Software Engineering, System Design 19 Error Messages: None Process: BEGIN DO UNTIL EXIT IF BOOK MENU Pass control to Book Module ELSE IF MEMBER MENU Pass control to Member Module ELSE IF LOAN MENU Pass control to Loan Module END DO IF EXIT Terminate Program END
  • 20. Software Engineering, System Design 20 Program Specification System : LibSYS Author: Robert Hoffman Module : Add Member Date: 21/11/2011 Invoked By: LibSYS Invokes: None Inputs: Surname Forename Street Town County Phone no Outputs: New Member Record Screen Layout: Error Messages: 1. Surname must be entered 2. Forename must be entered 3. Street must be entered
  • 21. Software Engineering, System Design 21 4. Town must be entered 5. County must be entered 6. Phone no must be Numeric Process: BEGIN Do GetNextMemberID Display System Date Display form Do Until EXIT or BACK IF INSERT If Surname is blank then Do Display Error Message Exit ELSE IF Forename is blank then Do Display Error Message Exit ELSE IF Street is blank then Do Display Error Message Exit ELSE IF Town is blank then Do Display Error Message Exit ELSE IF County is blank then Do Display Error Message Exit ELSE IF Phone No is blank then Do Display Error Message Exit End If Open Database ` Set status = „A‟ Write Member record Close Database Do Clear Screen END IF End Do
  • 22. Software Engineering, System Design 22 IF EXIT Terminate program IF BACK Return to Main Menu END Display Error Message(X) Begin IF X = 1 then Display “Surname Must be Entered” ELSE IF X = 2 then Display “Forename Must be Entered” ELSE IF X = 3 then Display “Street Must be Entered” ELSE IF X = 4 then Display “Town Must be Entered” ELSE IF X = 5 then Display “County Must be Entered” ELSE IF X = 6 then Display “Phone No Must be Entered” END IF END Clear Screen () Begin DO GetNextMemberId Surname = “” Forename = “” Street = “” Town = “” County = “” Phone no = “” END
  • 23. Software Engineering, System Design 23 GetNextMemberId Begin Connect to database Retrieve last MemberID assigned from Member File IF Last MemberID is NULL SET MemberID = 1 ELSE SET MemberID = Last MemberId +1 Close Database END
  • 24. Software Engineering, System Design 24 Program Specification System : LibSYS Author: Robert Hoffman Module : Edit Member Date: 21/11/2011 Invoked By: LibSYS Invokes: None Inputs: Member ID Outputs: Edit Member Record Screen Layout: Error Messages: 1. Member ID must be Numeric Process: BEGIN Display form Do Until EXIT or BACK
  • 25. Software Engineering, System Design 25 Insert MemberId Retrieve the details for the member in the member file Display form If status = “R” Do Display Error Message (1) Exit IF EDIT If Surname is blank then Do Display Error Message (2) Exit ELSE IF Forename is blank then Do Display Error Message (3) Exit ELSE IF Street is blank then Do Display Error Message (4) Exit ELSE IF Town is blank then Do Display Error Message (5) Exit ELSE IF County is blank then Do Display Error Message (6) Exit ELSE IF Phone No is blank then Do Display Error Message (7) Exit End If Open Database Write Member record Close Database Do Clear Screen END IF End Do IF EXIT Terminate program IF BACK Return to Main Menu
  • 26. Software Engineering, System Design 26 END Display Error Message(X) Begin IF X = 1 then Display “Amendments are not allowed” ELSE IF X = 2 then Display “Surname Must be Entered” ELSE IF X = 3 then Display “Forename Must be Entered” ELSE IF X = 4 then Display “Street Must be Entered” ELSE IF X = 5 then Display “Town Must be Entered” ELSE IF X = 6 then Display “County Must be Entered” ELSE IF X = 7 then Display “Phone No Must be Entered” END IF END Clear Screen () Begin DO GetNextMemberId Surname = “” Forename = “” Street = “” Town = “” County = “” Phone No = “” END Begin Connect to database
  • 27. Software Engineering, System Design 27 Retrieve last MemberID assigned IF Last MemberID is NULL SET MemberID = 1 ELSE SET MemberID = Last MemberId +1 Close Database END
  • 28. Software Engineering, System Design 28 Program Specification System : LibSYS Author: Robert Hoffman Module : List Overdue books Date: 21/11/2011 Invoked By: LibSYS Invokes: None Inputs: Outputs: List overdue books Screen Layout: Error Messages: Process: BEGIN Retrieve details of all loans where due date is less than today from loan file and loan items file. Retrieve corresponding member and book details from member file and book file.
  • 29. Software Engineering, System Design 29 Load retrieved details into form control in order of due date. Display Form IF EXIT Terminate program IF BACK Return to Main Menu IF PRINT Format overdue data into print format. Send to printer Display Confirmation message END
  • 30. Software Engineering, System Design 30 8. Conclusion/Summary In this project I left out a few things that I could have put in the system requirements. These were that I could have put in the date the book was added and the date the book was destroyed in the book file. Also I would of put in the date the member was added and the date the member was removed in the member file. I could also have put in a library card with a Card_No and date allocated which would have been in a new file called LibraryCard the Card_no would have been the primary key and also Member_Id{Fk} would be in the LibraryCard file. I would also put in an Author file with the attributes of author_no {pk} and author name. I could also have put in a book title file with the attributes of isbn_no {pk}, book title and category. I could also have put in an Authorship file with the attributes of isbn_no {pk, fk} and author_no {pk, fk}. Finally given more time I would of put the attribute of Member type {adult, child, student, OAP} in the members file. I would‟ve of put in a member type file with the attributes Member type and description.