2. Advanced System Analysis
Abstract
The main goal of this report is to introduce the key concept and analyzing the strategy for the
development of the Automated Library System for the Islington College. This report is divided
into the three main parts describing its three main components that will be used during the
development. The actual development is not included in this report but all the analysis and
deigns that are used in the development are details analyzed in this chapter. The actual cost i.e.
direct cost as well as the indirect cost is also analyzed details in this report.
2 | Page
3. Advanced System Analysis
Table of Contents
Chapter 1. Selection of a Methodology
1.1 SSADM Methodology
1.2 DSDM Methodology
1.3 SCRUM Methodology
1.4 Extreme Programming
Chapter 2. Project Plan
2.1 Planning
2.1.1 Project Cost
2.2 Managing
2.3 Designing
2.4 Coding
2.5 Testing
Chapter 3. Design
3.1 Requirements
3.1.1 Functional Requirements
3.1.2 System Requirement
3.2 Use Case Diagrams
3.2.1. Login Use Case Diagram
3.2.2 Add Book Use Case Diagram
3.2.3 Librarian Use Case Diagram
3.2.4 Add Member User Case Diagram
3.2.5 Search Member Use Case Diagram
3.2.6 Member Use Case Diagram
3.2.7 Search Book Use Case Diagram
3.3 Class Diagram
3.4 Sequence Diagrams
3 | Page
4. Advanced System Analysis
3.4.1 Sequence diagram for login
3.4.2 Sequence diagram for Adding member
3.4.3 Sequence diagram for adding books
3.4.4. Sequence diagram for booking system
3.4.5. Sequence diagram for searching book
3.4.6 Sequence diagram for searching users
3.5 Activity Diagrams
3.5.1. _ Activity diagram for login
3.5.2 _ Activity diagram for adding member
3.5.3 _ Activity diagram for adding books
3.5.4 Activity diagram for assuring books
3.5.5 Activity diagram for returning the book
3.6 ER Diagram
3.5 Interface Designs
3.5.1 User Login
3.5.2 Search Book
3.5.3 Member info
3.5.4 Book Details
3.5.4 Book Info
3.5.5 User Status
3.6 Application Architecture
Appendix
Appendix A: Gantt Chart
Appendix B: ER Diagram
References
4 | Page
5. Advanced System Analysis
List of Figures
Figure 1: SSADM life cycle (System Development Life Cycles (SDLC) – Sharper Tutorials.)
Figure 2:DSDM lifecycle (DSDM Atern Project Structure; Overview | M.C. Partners & Associates)
Figure 3: SCRUM lifecycle
Figure 4:XP life cycle
Figure 5: Overall plan for islington library.
Figure 6: Iteration 1 for islington library.
Figure 7: Iteration 2 for islington library.
Figure 8: Iteration 3 for islington library.
Figure 9: Iteration 4 for islington library.
Figure 10: Use case diagram for login
Figure 11: Use case diagram for adding books
Figure 12: Use case diagram showing system for librarian
Figure 13: Use case diagram for register users
Figure 14: Use case diagram for searching students
Figure 15:Use case diagram showing system for users
Figure 16: Use case diagram for searching books
Figure 17:Class Diagram for Automated Library Management System
Figure 18: Sequence diagram for login into the system
Figure 19: Sequence diagram for registration of users
Figure 20: Sequence diagram for register books in the system
Figure 21: Sequence diagram for booking
Figure 22: Sequence diagram for searching the books
Figure 23: Sequence diagram for searching the users
Figure 24: Activity diagram for login
5 | Page
8. Advanced System Analysis
Chapter 1. Selection of a Methodology
Introduction to project
The project is on Islington Library which currently has a manual system of handling member
registration, book issuance, book returning etc. This report intends to provide a full specification
for the development of Automated Library System for Islington College with the selected
methodology. The project is carried out through XP methodology with previous comparison of
methodology done.
The various possibilities for the development of Islington Library could be the following
methodologies:
1 SSADM
2 DSDM
3 Scrum and
4 XP
8 | Page
9. Advanced System Analysis
1.1 SSADM Methodology
SSADM is a waterfall method for the analysis and design of information systems. SSADM can
be thought to represent a pinnacle of the rigorous documentled approach to system design, and
contrasts with more contemporary agile methods such as DSDM or Scrum.
Figure 1: SSADM life cycle (System Development Life Cycles (SDLC) – Sharper Tutorials.)
For SSADM puts special emphasis on the analysis of the system and its documentation, this
causes the danger of overanalyzing, which can be very time and cost consuming (Kanban.
2012).Due to various types of description methods, checks of consistency cannot be carried out.
Especially with large systems, the outline diagram can become very unclear, because all
relevant data flows have to be included. (ITC Infotech, India, 2012.)
SSADM can’t be used for the development of Islington Library for the following reasons :
1 SSADM puts special emphasis on the analysis of the system and its documentation which
causes the danger of overanalyzing and can be time and cost consuming (Kanban. 2012).
For the development of Islington Library we do not need an absolute documentation for
the system.
2 Due to various types of description methods, checks of consistency cannot be carried out.
9 | Page
10. Advanced System Analysis
3 The outline diagram can become very unclear, because all relevant data flows have to be
included. (ITC Infotech, India, 2012.). As the system of Islington Library is small and
mediumsized systems in which we do not include all the data flows.
10 | Page
11. Advanced System Analysis
1.2 DSDM Methodology
The another possibility for the development of Islington Library, DSDM, is the robust Agile
framework for effective Project Management and Delivery; providing best practice guidance for
on time, in budget delivery of projects – with proven scalability to address projects of all sizes
and for any Business Sector. (DSDM Atern – DSDM Atern. 2012)
Figure 2:DSDM lifecycle (DSDM Atern Project Structure; Overview | M.C. Partners & Associates)
Yet, DSDM can’t be used for the development of Islington Library for the following reasons :
1 DSDM places relatively little emphasis on quality delivering solid prototypes quickly,
rather than the actual product quickly.(Compare Dsdm And Xp. 2012) So, DSDM is
generally for RAD no matter what the coding approach is. Since Islington library has got
clear requirements and has to be delivered a solid product, there is no necessity of
building a quick prototype being ignorant on coding approach.
11 | Page
12. Advanced System Analysis
2 DSDM does not recognize that the Cost Of Change Curve may be flattened. (Compare
Dsdm And Xp. 2012) This is another reason for not choosing DSDM for development of
Islington Library, because changes can always not be expected in a monster way. They
can appear with a constant line of curve, when cost is considered.
3 DSDM uses timeboxing to manage risk per iteration while the other methodology like XP
uses more responsive techniques. (Compare Dsdm And Xp. 2012) Timeboxes are
generally of longer periods, hence making it quite tedious process of development, which
may affect the development process of Islington library because there is nothing amazing
and much interesting about project tasks, as it revolves only around the Library.
12 | Page
13. Advanced System Analysis
1.3 SCRUM Methodology
The Library management system can also be developed using the scrum methodology. Among
all the agile methodologies, Scrum is unique because it introduces the idea of “empirical process
control.” It uses a real world progress of the project. In Scrum, projects are divided into succinct
work cadences, known as sprints, which are typically one week, two weeks, or three weeks in
duration. At the end of each sprint, stakeholders and team members meet to assess the progress
of a project and plan its next steps. This allows a project’s direction to be adjusted orreoriented
based on completed work, not speculation or predictions (Scrum Methodology & Agile Scrum
Methodologies. 2012). Scrum has certain practices and is also a commitment and result oriented.
In SCRUM project is delivered using increments of the shippable products. Here on each day the
task to be done is discussed before starting it and at the end what is achieved is also discussed.
After the delivery of each parts of the product a group meeting between the developing and
stakeholder teams takes place which focuses on quality assurance they want to have in their
system.
Figure 3: SCRUM lifecycle
13 | Page
14. Advanced System Analysis
Development of Library management system may be beneficial by using the SCRUM because in
SCRUM:
1. The principles are easy to understand as well as easy to implement.
2. All the rules and development is technological and tools agnostics.
3. The system is built and tested several times focuses on each drawback as well as on its
removal and modifications.
Instead of its advantages there are also several points which are briefly discussed below about
why not to use SCRUM for the development of the library management system.
1. The library management is not such a big project and all the additional programmed planning
and the changing requirements are not all required here. Using SCRUM costs bit more and also
needs additional documentations prepared that’s way using the SCRUM for its development may
not be appropriate.
2. In our project we are going to have all the previous requirements required for the development
of the system and all are previously set, which means we are not going to change any
requirements. The scrum mainly focuses on the changing requirement that’s way we may not
have to use it.
3. Management systems such as Library Management system needs lots of integration between
its modules like as: student, teachers and so on so the developer needs to be together during the
14 | Page
15. Advanced System Analysis
development but SCRUM developer may be personally dedicated i.e. Chickens, but in our
project all the developer teams needs to be together that’s way scrum may not be appropriate.
4. The daily meeting is the main agenda of the scrum which is not needed in our project.
Because all the necessary requirements and the task according to the priorities are all set up
earlier which all are required to set up before starting project.
5. SCRUM focuses on the shorter more structured sprints, and prioritizes backlog items Scrum's
aim goal is to get estimations of how long development will take(agile What is the difference
between Scrum and Extreme Programming? StackOverflow. 2012.)
6. It does not address the practices required to create "goods" of any kind, but instead gives us
the process that will take us from the inception of a vision to the final product,regardless of the
actual development process. (Agile What is the difference between Scrum and Extreme
Programming? Stack Overflow. 2012.)
7. Scrum has nothing to say about programming. (Agile What is the difference between Scrum
and Extreme Programming? Stack Overflow. 2012.)
15 | Page
16. Advanced System Analysis
1.4 Extreme Programming
The methodology that suits the best for the development of Islington library is XP.
Extreme Programming is a discipline of software development based on values of simplicity,
communication, feedback, and courage.
Figure 4:XP life cycle
It works by bringing the whole team together in the presence of simple practices, with enough
feedback to enable the team to see where they are and to tune the practices to their unique
situation. (xProgramming.com. 2012.)
The reasons for using XP for the Islington Library are as follows :
1 Focuses of XP are more on paired programming, prioritizing the tasks, and more test
driven development.(agile What is the difference between Scrum and Extreme
Programming? Stack Overflow. 2012.) This feature helps the development of the
Islington Library software with great quality.
2 XP is more about helping developers get things done as quickly and maintainable as
possible. (agile What is the difference between Scrum and Extreme Programming?
Stack Overflow. 2012.)
16 | Page
17. Advanced System Analysis
3 It gives us a process with which to create software in an agile and productive way. It
deals with, though doesn't specialize in the management of the development process, and
focuses mostly on the engineering practices required to deliver software, with quality.
(agile What is the difference between Scrum and Extreme Programming? Stack
Overflow. 2012.)
17 | Page
21. Advanced System Analysis
● Update Authors and Publishers Information
Iteration 2 – Librarian Module (Member Part)
The second Iteration is of 10 days, with 7 tasks, each task being tested by the programmer
himself right after the coding is completed. Each task is of 1 working day.
Figure 7: Iteration 2 for islington library.
The tasks are as follows:
● Accept Membership Request
● Create Membership Request
● Reject Membership Request
● Update Membership Request
● Issue Books to Members
● Return Books to Members
● Renew Books to Members
21 | Page
25. Advanced System Analysis
2.1.1 Project Cost
The overall cost of the project is calculated through direct and indirect cost during the different
phases of the development.
2.1.1.1 Direct cost
The direct cost is calculated for the project duration of 58 days as shown on the project plan
which is as shown in Appendix A of the very document.
SN Title Cost Per
Day(NRs)
Total Cost (2 Months)
1
Programmer 1 800 46, 400
2 Programmer 2 600 34, 800
3 Tester
700 7, 000
Total Direct Cost 88, 200
Table 1: Table showing the direct cost used in the development of Library system.
Apart from Direct cost of developers and testers, indirect cost needs also to be considered.
25 | Page
26. Advanced System Analysis
2.1.1.2 Indirect cost
Indirect costs refer to all those costs that are indirectly related to the project in its development.
All the basic costs that are directly related to the development of the project such as the salary of
the programmer, analysis’s etc. all refers to the direct cost. The indirect costs include cost of
electricity, cost of travelling, cost of printing etc.
a. In our project we do not need to travel a lot, only once before the starting of the project
with the librarian of the Islington College is needed so it can be neglected. If further
meeting with the librarian is needed then it will be conducted using the video conference
on online.
b. The Islington college library is a 30 days long project so the cost of electricity needed for
it should be included as the indirect cost. As due to huge amount of load shedding in the
context of Nepal we need to manage some extra budget for the electricity to continue the
project.
c. The cost related to the project manager is also considered as the indirect cost, because
he/she only survey or check the actual development and progress of the project without
taking part in the real development.
d. Islington college library management system is complete server based application so to
test the system we also need to hire a server. That server will store all the necessary
information of the system in the database. For the development of Islington management
library system we have to hire such a server for about a month.
e. Rent is also considered as the indirect cost for any project. The price that is needed to pay
as the rent of the developing company needs to be included in the indirect cost of the
project.
26 | Page
30. Advanced System Analysis
Chapter 3. Design
3.1 Requirements
3.1.1 Functional Requirements
The functional requirements of the system are as follows :
1 Librarian should be able to insert books.
2 Librarian should be able to modify books.
3 Librarian should be able to delete books.
4 Librarian can accept or reject a membership request according to the Library Policy or
Payment Methods.
5 Librarian should be able to increase the period of borrowing a book for any specific type
or group of users.
6 Librarian should be able to edit book categories.
7 Librarian should be able to arrange books by categories.
8 Librarian should be able to add authors and publishers information.
9 Librarian should be able to edit authors and publishers information.
10 Librarian should be able to send notification to people who have exceeded deadline or
about to exceed date.
11 Librarian should be able to record books returned by members.
12 Librarian should be able to add membership request.
13 Librarian should be able to edit membership request.
14 Librarian should be able to delete membership request.
15 Librarian should be able to reject membership request.
16 Librarian should be able to issue books to members.
17 Librarian should be able to return books to members.
18 Librarian should be able to renew books to members.
19 Librarian can charge fine to members exceeding return date.
20 Member should be able to view personal information and modify it.
30 | Page
31. Advanced System Analysis
21 Member can have the ability to search through books by subject, title, authors etc.
22 Member can place a request for booking.
23 Member can place a request for renewal.
24 Member may suggest a book to be brought to library.
25 Admin should be able to check issuance of books.
26 Admin should be able to check return of books.
27 Admin should be able to view the fine details of members returning books late.
3.1.2 System Requirement
1 System should be able to be operated in online/offline status.
2 Bar code generation should be done for Books.
3 Bar code generation should be done for Members.
31 | Page
32. Advanced System Analysis
3.2 Use Case Diagrams
Use case diagrams overview the usage requirements for a system. They are useful for
presentations to management and/or project stakeholders, but for actual development you will
find that use cases provide significantly more value because they describe "the meat" of the
actual requirements. The use case diagrams for the library management system are given below:
3.2.1. Login Use Case Diagram
32 | Page
34. Advanced System Analysis
Input: The login page to the Library System is displayed where users input their
username and password.
Output: The system will then check the username and password and if matched then the
system will direct them to their home page otherwise the appropriate error message will be
displayed.
Successful steps
Actor action System response
i. User select username
ii. User select password
iv. User logged in successfully.
iii. Verifies username and password
Exception: If username and password does not match system ask user for maximum three times.
34 | Page
36. Advanced System Analysis
Use case Name: add books
Primary Actor: Librarian
PreCondition: Librarian must be logged in.
PostCondition: Books must be added to the database.
Purpose: Librarian can add books which late on can be used to view the information
and its availability in the library.
Input: Users will be provided the upload page from where they can upload book
details.
Output: Those uploaded books now can be displayed in library system.
Successful steps
Actor action System response
1.User enter book information from their
system
3.Press Upload Button
2. System check for valid book name and
type.
4. Upload the books detail to the server.
Exception: Books details must be fulfilled.
36 | Page
40. Advanced System Analysis
Use case Name: Register user
Primary Actor: Liberian
Purpose: This is implemented in order to enable new user authentication. A valid user
account must be provided for this.
Input: The user request to register for the system.
Output: The system provide registration page for the users from where they can register
their name for the use of library
Successful step
Actor action System response
i. Liberian select username
ii. Liberian select password
iii. Liberian enter user ID
iv. Liberian enter member type
v. Liberian enter contact detail
vii. User Successfully Registered
vi. Register user
Exception: If username already exists then system update the user account.
40 | Page
46. Advanced System Analysis
Use case name: search books
Primary Actor: Users
PreCondition: User must be logged in.
PostCondition: books must be displayed.
Purpose: its main purpose is to enable users to search the books which are in the
system database.
Input: User select the search book menu in the system and enter the name of the
book that they want to search.
Output: The searched books will be displayed along with its information.
Successful steps
Actor action System response
1. User enters the name of the book.
2. System shows the result related to the name
of the book entered.
Exception: Valid book name must be entered in order to search.
46 | Page
47. Advanced System Analysis
3.3 Class Diagram
The class diagram for the Islington Library contain the following objects :
1 Member
2 Category
3 Book
4 Author
5 Publication
6 Stock
7 Librarian
8 Borrow
9 Membership
10 MemberType
11 BooksIssuancePolicy
12 UserLogin
13 DeadlineNotification
14 RenewalRequest
15 ReservationRequest
16 FinePolicy
17 FineType
The Member object holding integrated information about the member has the following
attributes : firstName, middleName, lastName, barCode, memberType, clearance, approvedBy
and userLogin.
Member object will request for Membership, maintained by the object Membership with
attributes; member, created, expiry and boolean active.
The Book is the another object holding master information about the book, with attributes title,
barCode, author, publication, category, active and stocks.
47 | Page
48. Advanced System Analysis
Book has a Author with attributes firstName, middleName, lastName and address. Book belongs
to the Category, while the category has name, description and issuable attributes. The publication
is another object holding information about the publication of the book. At any point in time,
Book can have certain number of Books, and that is maintained by the object Stock, with
attributes book, numberOfBooks, createdDate, active and createdBy. Book can have a
ReservationRequest with attributes member, book, requestCreated, bookingDate,
messageFromLibrarian, approval and approvedBy.
The Librarian object represents the person with the attributes; firstName, middleName, lastName
and userLogin. UserLogin is an another object holding username and password of Librarian and
Member as well.
The information about issuance of Books is maintained by the object Borrow. The object Borrow
has the attributes; member, issuedDate, expectedReturnDate, actualReturnDate, issuedBy, book,
finePolicy and returnApprovedBy.
Late Borrow can have FinePolicy. FinePolicy is an object with attributes descrpition,
minNumberOfDays, maxNumberOfDays, amount, created and fineType.
Borrow can have RenewalRequest, which holds the attributes borrow, requestCreatedDate,
approval and approvedBy.
48 | Page
50. Advanced System Analysis
Figure 17:Class Diagram for Automated Library Management System
3.4 Sequence Diagrams
Sequence diagram graphically helps us to show how the objects do interact with each other
through the message in the execution of the use case. This diagram also helps us to show how the
message are sent as well as received between the objects in the sequences (Jeffrey L. Whitten,
2002). For the development of sequence diagram for library system we have used Microsoft
Office Visio 2003. . In addition, boxes known as combine fragments are drawn around sets of
arrows to mark alternative actions, loops, and other control structures.
Notation used in Sequence diagram used in the Development of Library management
system.
Class
Class roles describe the way an object will behave in context.
Activation
Activation Boxes represents the time an object needs to complete
a task.
50 | Page
60. Advanced System Analysis
3.5 Activity Diagrams
In its basic form, an activity diagram is a simple and intuitive illustration of what happens in a
workflow, what activities can be done in parallel, and whether there are alternative paths through
the workflow (ibm.com, 2006).
Notation use in Activity diagram of Library manage system
Initial State
A filled circle followed by an arrow
represents the initial state.
Action States
Action states represents the noninterruptiable
actions of object.
Action Flow
Action flow arrows illustrate the relationship
among action states.
Branching
A diamond represents a decision with
alternate paths.
60 | Page
66. Advanced System Analysis
This activity diagram shows the actual mechanism for adding the books into the library. In order
toad the book its complete information including its type, publication, author name must be
entered, and then the books information are added in to the server database.
3.5.4 Activity diagram for assuring books
Figure 26: Activity diagram to take a book
66 | Page
67. Advanced System Analysis
This activity diagram shows the assurance of books by the user from the library. Here at first the
availability of books is checked by the system into the database and if the books are available
then it is provided to the user with the return date calculated by the system. Then the detail
Information about this transaction is stored in the database.
67 | Page
69. Advanced System Analysis
fine exists then the user must have to pay that fine first in order to return the book otherwise the
books can be returned successfully.
3.6 ER Diagram
The Entity Relationship for the Islington Library contains the following entities :
1 member
2 category
3 book
4 author
5 publication
6 stock
7 librarian
8 borrow
9 membership
10 books_issuance_policy
11 user_login
12 deadline_notification
13 renewal_request
14 reservation_request
15 fine_policy
Except for the Enums defined in the Class Diagrams, every object of Class Diagram acts as a
pure entity in the ER diagram, so, the same are attributes for each of the object in counterpart
database.
69 | Page
85. Advanced System Analysis
References
DSDM Atern – DSDM Atern. 2012. DSDM Atern – DSDM Atern. [ONLINE] Available at:
http://www.dsdm.org/dsdmatern. [Accessed 21 December 2012].
ITC Infotech , ITC Infotech, India, 2012. Structured Systems Analysis and Design . Structured
Systems Analysis and Design Methodology , Version 4, 17.
Compare Dsdm And Xp. 2012. Compare Dsdm And Xp. [ONLINE] Available at:
http://c2.com/cgi/wiki?CompareDsdmAndXp. [Accessed 21 December 2012].
Scrum Methodology & Agile Scrum Methodologies. 2012. Scrum Methodology & Agile Scrum
Methodologies. [ONLINE] Available at: http://scrummethodology.com/. [Accessed 21
December 2012].
agile What is the difference between Scrum and Extreme Programming? Stack Overflow.
2012. agile What is the difference between Scrum and Extreme Programming? Stack
Overflow. [ONLINE] Available at:
http://stackoverflow.com/questions/209011/whatisthedifferencebetweenscrumandextreme
programming/211128#211128. [Accessed 24 December 2012].
What is Extreme Programming? | xProgramming.com. 2012. What is Extreme Programming? |
xProgramming.com. [ONLINE] Available at: http://xprogramming.com/book/whatisxp/.
[Accessed 23 December 2012].
Introducing Agile Scrum XP and Kanban. 2012. Introducing Agile Scrum XP and Kanban.
[ONLINE] Available at:
85 | Page
86. Advanced System Analysis
http://www.slideshare.net/dimka5/introducingagilescrumxpandkanban. [Accessed 23
December 2012].
Differences Between Scrum and Extreme Programming | Mountain Goat Software. 2012.
Differences Between Scrum and Extreme Programming | Mountain Goat Software. [ONLINE]
Available at:
http://www.mountaingoatsoftware.com/blog/differencesbetweenscrumandextremeprogramm
ing. [Accessed 23 December 2012].
DSDM Atern Project Structure; Overview | M.C. Partners &; Associates. 2012. [ONLINE]
Available at: http://www.mcpa.biz/2011/10/dsdmaternprojectstructureoverview/ . [Accessed
23 December 2012]
Anon., 2002. Sequence diagram. In Jeffrey L. Whitten, L.D.B.K.C.D. System Analysis and Design
Methods. New Delhi: Tata McGrawHill Publication Company Limited. p.655.
ibm.com, 2006. Activity Diagrams: What They Are and How to Use Them. [Online] Available at:
HYPERLINK "http://www.ibm.com/developerworks/rational/library/2802.html"
http://www.ibm.com/developerworks/rational/library/2802.html [Accessed 25 December
2012].
86 | Page