Rational Unified Process is one of the continuous software development processes. It is a framework which is created by the IBM Corporation for the development of software. In this process basically a team has already developed a different framework for the development of software and the engineers who are developing the software can use these frameworks for their development. It is a specific implementation of Unified Process.
RUP constitutes four different phases which comprises requirement and analysis, design, development, testing, deployment, and configuration and change management. The four different phases are:
Inception Phase: This phase is all about determining the overall value of the project. It basically considers the resources needed, cost to build the project, and revenue it generates. In this phase it also considers other factors like its success, its risk, its effectiveness and efficiency. To determine all these factor it uses different model as well, like use case model and so on. After these other criteria is also consider for the further development. If it cannot get success on these criteria then whole project will again be redesign to meet those criteria.
Elaboration Phase: The main objectives of this phase are to eliminate the risk of the project as much as it can. In this phase project starts to take its shape of design we have developed in inception phase. In this phase project must get green signal on the lifecycle architecture milestone criteria answering some questions:
The vision of the product set earlier stable or not?
The architecture which has been designed stable or not?
Major risks were address or not?
Stakeholders are satisfied or not with the progress made?
Actual and planned resources are acceptable or not?
If these above criteria were met then we can precede further development of the system otherwise we can again redesign the system from beginning. Redesign and restructuring is possible till this phase only so whatever problems or risks identified should sort out in this phase.
Construction phase: This is one of the important phases where development of all the components and features are take place. The software is developed and completed. All the designing work, coding work, testing work are done by which the software is developed.
Transition phase: It is a phase where implementation of the system takes place. Here in this phase system is made available to its end users. Developers of the systems also provide the training to the end users about the system functionality and feedback from end users is collected after the software is launched.
Fig 3.1 Rational Unified Process (RUP)
Requirement Analysis: It is a most important part of inception and elaboration phase. Here team of developers and designers sit together to assess the requirements of the system. They generate the idea to begin the development of system, evaluate the cost and effectiveness and efficiency of the system. That is why this analysis part is very important in system development.
Above Fig 3.1 clearly shows the requirement analysis in the inception phase and consecutively in other phases.
Design: Design is very important in elaboration phase. Here we architect the complete framework of the system as well as different components of the system. This will help us in further development of the system.
As shown in the Fig. 3.1, design starts from middle of the inception phase and it goes to the peak point of the elaboration phase and slowly drops down in the construction phase but slightly proceeds in the transition phase.
Development: In this step coding is carried out according to the design set in the earlier phase. If the system we are developing is large then it can be broken down into different components so that it will be easier for the development. After the completion of these different components it can be merge in one to create one ultimate system.
In the Fig 3.1, development process starts at end of the inception phase and it slowly rise to the end of the elaboration phase and development process goes throughout the whole construction phase up to maximum level and slowly finishes at transition phase.
Testing: In this step we test the final released system. It can be tested in like whether it is user friendly or not, whether it is workable or not and so on. Here its effectiveness and efficiency is also tested according to its design. In addition in this step overall system is tested which makes it one of vital step in system development.
From Fig. 3.1, testing process starts from beginning of the elaboration phase and it keeps on continuously progressing to the end of the construction phase where in the construction phase, most of the testing process takes place and slowly ends at transition phase.
Deployment: This is the final step of system development. After the successfully completion of every steps system is handover to the end users. After that developer provides require trainings to the end users about the system.
As shown in the Fig 3.1, deployment process also starts from the beginning of the elaboration phase with the start of the testing process and continuously processes from construction to transition phases.
Configuration & Change Management: This is the approach which is done when there are some changes needed in requirements, design, and implementation. It helps to find out the drawbacks of the system.
From above Fig 3.1, configuration and change management process is done throughout the whole phases starting from inception phase to transition phase.
In this way different steps are carried out in different phases of Rational Unified Process of system development.
Chapter 4: Project
4.1 A Brief Discussion On Function Of The Proposed System
4.1.1 Book Reservation Procedure:
First of all, the user needs to login providing the appropriate username and password. After successful login, simply view the "Book Catalogue". If there is any desire book showing available then just click on "Reserve" button to reserve that particular book. After successful reservation, the user needs to go to the college to collect that book.
4.1.2. Book Return Procedure:
The user has a limited days to hold the book. So, he/she has to go to the college and submit that book to the librarian. Now, it is the duty of the library staff to receive that book, but they check every user's details, book details, check whether there is any late fee as a fine in the system. If they found everything okay then only they pass the library card to the respective users.
4.1.3 Addition of new book:
The authority is only given to the staff not to teacher or student to add a new book arrive in the college. The library staff fill up the form "Add Book". After login by the staff, there is a button called "Add Books" where they put all details of new book inputting the values like 'Book Name', 'ISBN', 'Price', 'Author', 'Published By', 'Published Date', and 'Volume/Edition'. After adding new book, the book is then amended in the system and can view immediately inside the 'Book Catalogue'.
4.1.4 Deletion Procedure:
It is again the duty of the library staff to delete the book from the 'Book Catalogue' simply by clicking the Delete button from the list. It happens only when the book has been misplaced or totally damaged.
4.2 Feasibility Of The Proposed System
Simply feasible means possible to do easily or conveniently. The feasibility study has been determined to get an idea about whether to proceed to the next step or to discontinue the project. It is used as a primary tool in the development cycle.
4.2.1 Economic Feasibility:
Economic feasibility study is carried out to know whether the cost mulled over against the extreme income or advantage derived from the development system. We can say it is referred to as cost/benefit analysis. The cost of making this system is nothing in contrast to the sum of expenses made by the college in managing the library activities. Therefore, the proposed system with no doubt is economically feasible.
4.2.2 Technical Feasibility:
Is the system feasibility within the perimeter of the recent technology? Does the technology exist at all? Is it available within give resource constraints (i.e., budget, schedule...)? Technically, the proposed system is feasible studying the performance, function, and constraints.
4.2.3 Environmental Feasibility:
The proposed system is simple, and library staff, students, and teacher can easily use it without any difficulties. They can use it from anywhere. They do not need to be trained to use this system nor they need any previous experiences in the related field because it is comfortable to use in a friendly environment.
4.3 System Design
The goal of designing system is to make the users feel easy, logical and free from errors and giving the user a pleasant environment.
4.3.1 Input Design
Input Design is the method of assigning user-oriented input to a computer based layout. It is a part of whole system design that requires a very careful attention. Normally, the compilation of input data is the most expensive portion of the system. User login input, input for user registration and dynamic database input are the main input design related to this project.
The following points are the main objectives of the input design:
1. Produce cost effective technique of input.
2. Get maximum potential degree of accuracy.
3. Ensure that the input is acceptable by the database.
Use Case Diagram
Fig. 220.127.116.11 Use Case Diagram
Login User Interface Design
Fig. 18.104.22.168 Login User
View/Edit Profile Interface Design
Fig. 22.214.171.124 View/Edit Profile
Fig. 126.96.36.199 Change Password
Tab. 188.8.131.52 Book Catalogue
Tab. 184.108.40.206 Reserve Book
Tab. 220.127.116.11 Borrow Books
Fig. 18.104.22.168 Add Books
Tab 22.214.171.124 Issue Books
Fig. 126.96.36.199 Add User
4.3.2 Database Development Process
The common subject behind a database is to manage information as an incorporated whole. A database is nothing but a collection of interrelated data stored with lowest amount of redundancy. The common goal is to make information retrieve, trouble-free, fast, cheap, and flexible for other users.
For this, we need a proper collection of data items in a organized way. This we call as Relational Database. To obtain this, we require a source of model called relational model. This model is used to create a relational database. Generally, Relational Database Management System (RDBMS) is a software used in a relational database.
Entity Relationship Diagram (ERD)
A data modeling technique that generates graphical description of the entities, and the relationships between entities, within an information system is known as Entity Relationship Diagram (ERD). It often uses symbols to represent three different types of information. Boxes, Diamonds, and ovals are commonly used to represent entities, relationships, and attributes respectively. It is also known as Entity-Relationship model, E-R Diagram, or ER Diagram.
It is clearly understood that the physical objects from the earlier part - the users, staffs and the library books correspond to entities in the E-R Diagram, and the actions to be done on those entities - holds, checkouts, and so on keep in touch to relationships. Nevertheless, a good-quality design will reduce redundancy and make an effort to store all the necessary information in as small a room as possible. After some consideration, I have decided on the following design.
Degree of Relationship
Catalogue to Book
1 catalogue contains many books
Books to Member
1 member can hold many books
Member to Return Status
1 member can return many books
Member to Issue Status
1 member can issue many books
Tab 4.3.2 Degree of Relationship
In above table, ER Diagram represents five entities which are Catalogue, Books, Members, Return Status, and Issue Status and their relationship. The relationship between catalogue and books is one-to-many because one catalogue contains many books. The relationship between books and member is many-to-one because one member can hold many books. The relationship between member to return status is one-to-many because one member can return many books. the relationship between member to issue status is one-to-many because one member can issue many books.
Fig 4.3.2 ER Diagram
1 catalogue contains many books
Aa, bc, ..
Book identification number
1, 2, 3,...
Name of the books
Dare Me, Network Warrior, etc.
Internation Standard Book Number
2147483647, 2147483647, etc.
2, 1, 3, etc.
Status of the book
0, 1, etc.
Name of the author
Megan Abbott, Gary A. Donahue, etc.
Reagan Arthur Books, OReilly, etc.
2012-07-31, 2011-06-02, etc.
Price of the books
15, 29, etc.
Member to Return Status
1 member can return many books
Member to Issue Status
1 member can issue many books
Tab 4.3.2 Degree of Relationship
Fig 4.3.3 Schema Diagram
Schema Diagram represents three tables book_user, book_list and book_lend of database 'library'. Firstly, the table named 'book_user' contains the information of the library users. The 'user_id' is the primary key of this table and represents a unique 'ID' for each user. The fields 'user_name' and 'user_pass' of this show the user name and password of the users respectively. The next field called 'category' shows the category like student, staff, or teacher. Similarly, other fields show the personal details of the users. The 'books_reserved' field of this table shows how many books are currently reserved or borrowed by the respective user. The Q1 and Q2 are the secret answers to questions that are used for password recovery purposes.
Secondly, the table book_list contains the information about the books that is available in the library. In this table, 'book_id' field plays the primary key for this table and foreign key for the 'book_lend' table. All the details about the books like book name, ISBN, author, published address, published date, price, volume are records in the respective fields. The 'status' field denotes the availability of the book. The '0' in status is available and 1 in the status field is not available. The 'status' field is dynamically used by PHP script.
At last 'book_lend' table keeps track of the books that are borrowed or checked out by particular users. When the books are checkout out then the 'issued' field is flagged to record the change. Also the cardinality relationship between the three tables shows that one customer can have one or more books borrowed or checked out and one 'book_id' represents one and only one book. For this table, the 'lend-id' field is the primary key.
Users (students and teachers) will be provided a library card to check out books from a library and a temporary password to use the Library Management System for the first time. The assigned unique library card number and temporary password which has to be changed will be used to authenticate users to register him/her into the system.
Users will provide their name, address, phone number, and email address while registering. They will also be able to create their username and password at the same time. Checkout operations will require a library card, as well as reservation to put books on hold. Every library card will have its own fines depending on the category of users in case of late returns.
Library staffs will work at the library issuing and receiving the books as well as adding and deleting the book information into the system. All the said operation will be accomplished through the Library Management System.
Functions of Users (Student and Teacher)
Both the Student and Teacher can register themselves
View or edit their profile. They can view their existing profile and if they want they can edit their profile with some limitations. They can change their address, their phone number, etc. They cannot change their First Name or Last Name.
They can change password when necessary.
They can look for the books to reserve. They can go into the "Book Catalogue" and they can see the availability of the book.
If they found availability of the book, then they can reserve the available books.
They now checkout the books from the library using their library card.
They can view their status about the book taken date and book return date. They can return the books on time.
They can check if any fine imposed.
They can pay the fine if applicable.
The number of books that can be reserved and checked out depends on the category of users i.e. student or teacher. The duration of time that the users can keep the books also depends on the category itself. These settings can be changed or modified on the configuration file i.e. config.php to reflect on the system.
Functions of Staff
Staff can provide library card to users.
They can add users to system.
They can issue and receive books.
They can check if any books are due or late.
They can collect fines from the users if any.
They can add or delete books.
Staffs can also view/edit profile and change their password.