Waterfall Model Vs Prototyping Model
Software products developed in today’s era are mostly customer oriented. It is either drives the market or it driver by market. Customer Satisfaction was the main aim in the 1980’s. Customer Delight is today’s logo. Market needs more customers oriented and less emphasizes on the technology. Though the technology factor is always the prime factor behind the deliverables, the product should always satisfy the customer needs. The product development should start focusing on the customer requirements in case of both the retail based products and products developed based on pre-defined specifications.
The software products like other engineering products have various types of development or manufacturing strategies to obtain the final output. The most famous software development strategies are as follows:
Waterfall Model
Evolutionary Model or Prototyping Model
Incremental Model
Spiral Model
The most used models are Waterfall models used for generally small scale projects and single release based software products, whereas the Prototyping Model is used for developing large scale products generally developed in multiple parts rather than single release also called version of release.
The software developments strategy I prefer is Prototyping Model. The reason for selecting the Prototyping Model encourages progressive strategic development with course of time.
With prototyping model, I am also using non-agile approach and USDP methodology as active part of the development process.
The usage of the prototyping non-agile approach and USDP methodology is justified below to be the best choice for my Project.
WATERFALL MODEL vs. PROTOTYPING MODEL
Waterfall Model is a flow based model which consist of following phases:-
1. System/Information Engineering and Modeling
2. Software Requirements Analysis
3. Systems Analysis and Design
4. Code Generation
5. Testing
6. Maintenance
A Waterfall method of software development has to pass through every phase once, and not meant to go back to previous phase again. Once the requirements request made freeze, changes can’t be done during any phase. That is why, it is used rarely now a days. Due to this If there is any change in requirements, and then it becomes difficult as well as costly affair. Apart from this each phase takes a lot of time to produce solution for its consecutive next phase as it is irreversible process the solution should be well optimized and satisfactory. If one phase result goes wrong means subsequent phases get effected.
Prototyping Model is a technique that uses the technique of replication of few aspects or feature of expected product and it is then developed upon it to obtain the full software. It can be called designing of software prototypes or temporary versions of software program being developed for full edition deliverables.
The main theme behind the prototyping is to allow users to evaluate developer’s proposal for the design of expected product based on real time analysis by user rather than interpreting by the developers themselves. So it is also referred as an efficient way of controlling the prototype that act as a key factor in the commercial relationship between clients and respective solution provider. The client and the contractor can compare if the software made matches the software specification, according to which the software program is built.
In Prototype strategy of development as we create a number of Prototypes of the product, before the release of final one. We release number of Prototypes with some differences between them just as versions, and take client opinion, and modify the final Product, as per client suggestions. Prototype is developed by keeping currently known requirements in the mind. Development of prototype undergoes design, coding, testing like phases which give client an actual feel of the system. Prototype is a model which looks exactly like Software development life cycle (SDLC).
AGILE MODELvs NON-AGILE MODEL
Agile software development is mainly based on iterative development in which solutions are generated from the collaboration between the phases and functional teams of development. The agile software development approach has taken the software developing industry by storm. Agile software development has been en vogue in this decade. It started with the popularity of Extreme Programming (XP) and Kent Beck’s series of books on the topic.
Somewhere it creates a misleading impression that agile is not formal and hence maintenance cost is reduced or controlled by spending more on up-front design. Of course, “traditional” (non-agile) methods shine in other areas. Agile methods are counter indicated, for example, where there are no system experts, so that only exhaustive study can possibly reveal what’s truly needed.
Most agile methods are, of course, informal, and so will not work unaltered in a problem area where formality is one of the requirements; but enough agile methods have been formally documented that for any formal project where exhaustive study is NOT a requirement, there should be precedent for using a (formal) agile method. Non-Agile software development provides a traditional simple way to develop software. It reduces the whole cost as well as time consumed in the development. It is less affected from the type of resources.
Management information system (MIS)
A management information system (MIS) is a process that provides the information which are essential to run an organization professionally. MIS are totally different from regular information systems in that they are used to analyze other information systems applied in operational activities in the organization. Academically, the term is commonly used to refer to the group of information management methods tied to the automation or support of human decision making. MIS are computer-based system that provides managers with the tools for organizing, evaluating and efficiently running their departments. In order to provide past, present and prediction information, an MIS can include software that helps in decision making, data resources such as databases, the hardware resources of a system, decision support systems, people management and project management applications, and any computerized processes that enable the department to run efficiently.
MIS are designed for ease of any type of business or organization. Now almost every kind of organization has its own MIS. It is a suite of software applications that together make it possible for people or businesses to store, modify, and extract information from a database. There are many MIS places in your everyday life like in banks, hospitals, hotels; colleges and universities have their own management system.
MIS are helpful for organizations and institutes. Universities have their own managements systems. There are many departments in a university like examination, admission, registration, administration, hostel, finance. All these are required a proper and complete management, so for this reason MIS are designed to manage these departments. Every department has its own MIS which is specifically designed to handle its operation like data retrieval, storage and modification.
Whenever the internet came every organization and institute is try to provide the better facilities through making their MIS online to satisfy their client. Today’s every company and organization is moving on internet and building database in such a way that provided the better facilities and interaction to their clients as compare to past.
Library information system (LIS)
LIS are designed to record and maintain the information related books and activities of library. LIS plays unavoidable role in a university library because it provides the information about all types of books in a better organized manner. LIS keeps the track of all the books in a university. It contains records of each and every book and the members who borrowed the book. In other aspects LIS also serves as an accounts manager for library. It tracks and calculates possible fines, takes care for member securities and when required provide monetary calculation related to library to the university accounts office which manages university financial resources. The LIS is always ready to share data with the university central accounting system [1].
Traditionally manual file based systems serve as LIS in universities. Registers and note books are used to maintain records for available and borrowed books. A university having multiple departments normally has requirement to maintain a separate register for each department and sometimes for each session a department may demand to have a separate register. This builds a large register set which is very difficult to maintain and is highly error prone. In such scenarios to issue book needs much effort whereas at the same time to calculate and report monetary issues, and perform other managerial tasks may sometimes take days or even weeks.
The library user pool is mainly the students and the university staff. Library cards are issued to each of them. When Students or staff members borrow books from library, the librarian needs to search for the relevant register and enter the information of borrower and the borrowed book on relevant page. At the same time he needs to assure that the member should be clear from library issues, the book can be borrowed and it is also his responsibility to provide the member with his time to possess the book. Sometimes members are not known to timings or forget to return the book in time even when they want to return it. In manual management of LIS it is not possible to regulate to process of warnings for library members when their returning dates are near to come. On the very other side where student are staff also feel very difficult to integrate with such system because the most irritating part of this system for them is the time took on any process, either to borrow book or to search book or most irritating when they need their clearance from the library and it take a day to just get a single signature.
The only solution to these drawbacks of manual LIS lies in automation of the library information system by computerizing it and integrating with other management systems of a university. By automation of LIS it means to develop a fully computerized system that serves to enable the complete library operations through computers. Automations have some traditional advantages over manual systems like no paper work required and easy to backup, higher consistency of data and it is possible to schedule those tasks which are somewhat impossible in manual systems. Similarly, in context of LIS automation results in ease of library administration, control and tracking processes. The convenience of both librarians and members who use library is increased due to higher decrease of time. It becomes a matter of minutes to perform managerial tasks and estimating monetary matters and many other issues which are never resolved in manual systems.
It all becomes wonderful when automation also occurs in making the system online, because through this the system becomes available for 24 hours 7 days a week. It means the student has no need to go through so many book racks to find a book and does not need to go to library to reserve a book. He just needs to go there and get his reserved book. He must not be worried to remember the returning date because he knows that he will be sent an alert indicating the return date of the book he has borrowed. So all this becomes more and more convenient with the increased automation in the process of LIS.
LIS Automation for university means to develop a fully computerized system that enables the complete library functions through computers. The system provides the basic set of features to add/update/delete member, add/update/ delete books, search for books, and manage check-in / checkout processes. Automated LIS is designed to meet the needs of libraries both large and small, not only to meet the traditional requirements of a resource centre, but also able to keep track on borrowed books in university. This system is very helpful for university staff, student members and librarians because this system is also interact with the bar code reader and magnetic card reader. When the student and staff members are registered in university they are issued library cards from library. Through this card they can borrow books from the library. When they enter in library their cards are identified through the magnetic card reader and barcode reader is helpful for them in searching the books.
The automation of LIS lessens human efforts in university. The maintenance of the records is made efficient, as all the records are stored in the database, through which data can be update, delete and retrieved easily. It also reduced the chance of frauds and errors because all things are computerized.
Existing solution
EXISTING SYSTEM ARCHITECTURE
The existing LIS in university is completely manual and file based. It contains the records of all books and members of the university so this builds a large register set which is very difficult to maintain. In this situation to issue book, return book, fine management, catalog management and member registration verification need much effort whereas at the same time to perform other managerial tasks may sometimes take days or even weeks.
C:Documents and SettingsATIFADesktopuntitled.JPG
Figure 1: Manual Library System
In this system, it is also very difficult to control the process of warnings for library members (student and staff) when their returning dates are near to come. Student and staff members are also faced the problem of book search and borrow. And when they need their clearance from the library, it also takes a day to just get a single signature. In existing manual system all the library members (librarian, staff and students) are faced a lot of difficulties when they are going to issue book, return book, fine management, book catalog management and member registration verification.
Issue Book
To issue a book in an existing system is a big matter because when student and staff members borrow books from library, the librarian needs to search for the relevant register and enter the information of borrower and the borrowed book on relevant page. At the same time the book can be borrowed when librarian is assured that the member should be clear from library issues.
Return Book
To return a book process is also very irritating and time consuming as well as the issue book process. Sometimes members are not known to timings or forget to return the book in time even when they want to return it. In this system it is not possible to regulate the process of warnings for library members when their returning dates are near to come because this system is completely manual.
Fine Management
Because the existing LIS in university is completely manual so the fine management is also a tuff and time consuming task. It is very complicated to tracks and calculates possible fines, takes care for member securities and when required provide monetary calculation related to library to the university accounts office which manages university financial resources.
Book Catalog Management
University central library contains the records of all books related to its every department and its LIS is manual so the book catalog management is not easy. When members returned the borrowed books then there is no proper management to see is the book is placed at right location or not. To add, delete and search the required book is time consuming process because librarian needs to arrange the proper registers for this.
Member Registration
Files and registers are used in university for member registration, so that all the student and staff member’s records are saved on them. When the members information are added, deleted and updated the entries in associated registers are also updated which required a large amount of time. Student and staff members’ registration information is also required to LIS to issue the library cards of each of them. Library staff adds all these information in registers to keep the track of members of LIS so this is also required enough time.
The complete functions of existing system are shown in figure. It represents the overall functionality of library in university.
Proposed System Architecture
Scope of Proposed System
Library System is a library information and knowledge management system. This application is used to support a librarian in managing a book library in university. The system is designed to provide the basic set of to add, delete or update members, add, delete or update books, and search for books processes. The main focus of this system is to reduce human efforts. The maintenance of the records is made efficient, as all the records are stored in the database, through which data can be retrieved easily. Some of the other specific objectives of the Library System are as following:
Minimum amount of work should be required.
Special hardware such as bar code reader and magnetic card reader should be used with this system for security and efficiency.
Permanent storage of data should be done easily by using the database instead of the registers.
It provides the interface for librarians to interact with the backend library database.
It provides the interface to add, delete or update new student and staff member in the database.
It also provides the interface to add, delete or update book information in the book database.
GUI to search for a book based on user inputs.
It provides the interface to check out of books which are issued by student and staff member.
It also checks in the books which are returned by student and staff member.
Calculate and manage the record for fine.
Provide a facility to automatically send reminders to university members when required.
Product Perspective
The Library System is developed for the library to help the staff members, students and Librarians to search and borrow books. The system provides information related to books to the members of the library. The Librarian can keep the tracks of books updated all the time so that the student and the staff members get the up to date information all the time.
This system is developed to interact with its users like librarian students and staff members of the university. The system has to interact with other systems like: Library System, Member Registration System, Catalog Management System, Accounting System, Email System, Fine and Reminder Bot System, Purchase Management System, and Online Client System of university.
Software Requirment specifications
Introduction
The library system provides the information about the books available in the Library. It provides different type of services for its users, such as reserve book, renew book, check items, and check fines and view hold requests in the account. The following requirements specifications and required functions of the Library System are given below:
Library members
The Library has university staff and students as its members. All members must be registered with the library and issued with Username and Password for accessing their account in Library System.
Book issue and return
When a library member login via his account he can issue books. The system restricts the borrow limits as this a staff member can borrow up to 4 books up to 4 weeks and a student can borrow up to 2 books for up to 2 weeks. When a book is borrowed or returned by the library member, the information should be captured in the system and the account of the member should be updated. Only book items can be issued in library, currently journals and magazines should only be read in the library.
Fine calculation and send late book reminders
The system is able to calculate fines and send reminders to members automatically. When a return date is overdue, information about overdue items, overdue days and accumulated fines is sent to the user via email.
Adding and deleting books
Librarian is responsible to maintain the information about catalogues and library members. He can add, update and delete books in database.
Querying to find books
The system provides search functions to library members they can search a book through online catalogue. All book items in library are searched either by ISBN No or Author.
Report generation
Library system generates reports for the system administration automatically.
User characteristics
The main users of the system are student and staff members, librarian of the university who maintain the system. It is assumed that the members and librarian have the basic knowledge of internet and computers. This system ensures that the system administrator have enough knowledge of the internals of the system such as he is able to correct the small problems like disk crashes and power failure. The proper GUI, user’s manual, online help and the guide to install and maintain the system must be provided with the system to educate the users.
System Constraints
All the users’ information must be stored in a database that is accessible by the library system.
The library system is connected to the university server and that is available 24 hours.
The library system is accessible for the users who have internet connection with their computers in university.
The Member Registration System, Catalog Management System, Accounting System, Email System, Fine and Reminder Bot System, Purchase Management System, and Online Client System are connected to the Library System and the database used by these systems must be compatible with the interface of the System.
The users login into Library System through their username and password which they are assigned.
System Assumptions and Dependencies
Enough knowledge of computers should be required.
To access the system online in university internet connection should be required.
Library system can access the university student database.
Microsoft SQL Management studio 2005 to store the database.
To developed the product by using ASP.Net and C #.Net.
Requirements
For the Online Table Booking system following features will be provided to the customers related to table reservation.
Students/Staff Requirements
Search Books
Search Issue Book by Student/Staff ID
Search Reserve Book by Student/Staff ID
Get Fine by Student/Staff
Get Total Fine for Student/Staff
Analysis Models
Design Models
The Physical design of the system is developed from logical design, which is completely based on logical design [9]. It is completely based upon the relationship among the data rather than the storage structures. The systematic organization of data which is used in automated system makes a database different form of record keeping [10]. While designing the database for the system, theses facts such as data integration, data sharing, no redundancy and data consistency have been taken care. Physical design consists of Table Design and Specifications.
Database Physical Schema
Tools and Technologies
Tools and technologies refer to the text which describes the used and required technical specifications of the designed system. The system is a kind of information system which is targeted to be an n-tier application without losing desktop application style. The requirement to be n-tier and also to have a desktop application demands for a technology combination where following areas can be integrated to build up the system.
Centralized data source
Interoperability
Ease of use
Integrity
Availability
Integrating with the existing system
Rapid development
All these areas have their own constraints, some of which make it difficult to introduce them in a single system. While our technology study our team was working to find a solution that can help us in such a situation. In earlier stages we had an idea to provide a client server application where the data source will be centralized server and clients will call that for data services. This idea could have worked if the available time was not very short, so we left this option. Later we found a better solution to design a web application that provides the required services and we started working upon that but soon our team found a complete solution that had solved our problems. Creating a web application has some constraints which are number 2 and 3 in the above list. These constraints were removed by the new solution where we shifted to service oriented architecture and used a protocol based approach to provide data to our client application; this architecture is named as SOAP – Service Oriented Architecture Protocol.
Deciding finally on our system architecture we decided to use the same database management system, which is used by the university website. This decision was to support to integration of the new product with the old system and for the same reason we had used the web technology used by the website. One of the targets of the system design was to lower the cost for the deployment of the developed system, because it will only add up with the existing system and no changed will be required. On the other side no need to buy or manage or maintain any new server. It will just require simple system with required software packages installed and the system will start providing its services. Normally there will be no need to configure the client side application.
The coming text will describe the software technologies which were used to design the software with their justification to use them.
Server Side:
Server side was build with following technologies:
ASP.NET
The reason to use this web technology is already described above. The website for University of Sargodha is designed using ASP.NET and is currently active and working. So to support integration with the existing web application our team decided that we must use the same technology there are using. It is very famous Microsoft technology and is used to build any kind of web solutions from simple personal websites to n-tire enterprise level web application. In comparison with other similar technologies like PHP and Java Server Pages it focuses on development of quality products rapidly.
MSSQL Server 2005
MSSQL server is a database management system which is a product of Microsoft. It is very famous with medium scaled data driven business solutions. It supports client server architecture and at the same time it also provides parallel user access to the databases. Such kind of DBMS also sounds good for web technologies. In normal practice MYSQL – another DBMS is used more frequent on web due to the compatibility of MYSQL with LINUX / UNIX based operating systems. MSSQL is only compatible with Windows based operating systems. Similar is the case with ASP.NET, from the introduction of MSSQL 2005 and ASP.NET both are known to be the best for each other for web technologies.
The university website is also using the same combination and that is why we also are using the same technology.
Web Services
Web Services are a technology which is derived to provide a central source not only to provide data but also to receive data. There are many pros when we talk about this technology.
Its expandability is inherited from web. Similar to a website a web service can also have unlimited number of clients, only constrained by the hosting server of the web service. This was the biggest reason to use web services in the designed solution.
It does not cause change in the existing architecture of the system, but just add to the existing system. This kind of integration ability was very useful for the designed system.
Web service use a protocol named SOAP which uses xml to transfer data to/from the clients of the web service. The global nature of xml enables another option in web services, that they do not restrict their clients to be the one kind of system. Any system, which can generate the kind of xml schema required for a web service and can receive and interpret the returned xml document from the web service, can call it.
Another reason that made us to use the web services was the ease to call them, we called them from our desktop application where they worked just like normal routine calls, and it made it easier to proceed with the same system.
Crystal Reports
This technology refers to generating reports from vast data to support business decision; in our system we used crystal reports to generate several reports which are help full in providing the results regarding the library information to higher management. The reason to use this technology was to make it easier to generate reports. We concluded the ease with crystal reports from there automatic database interpretation and retrieving objects from the database schema to design reports. Reports designed in crystal reports are also not very specific to IT; their design can be modified by any designer so university is not constrained to us for required change after the deployment.
Client Side:
.NET
The name Dot Net refers to a Microsoft technology framework which is intended to design managed and secure applications. The reason we used this framework was the ease and speed of development which is supported by .NET. The application, build on .NET assemblies needs .NET to be installed on the system where the application has to run. Our client application requires pre installation of .NET on the hosting system to run on it. The application was built using .NET 2.0 so at least .NET 2.0 or any newer version can support the application.
Visual C#
It is a programming language with is supported by .NET development environments. The reason to choose this language was to focus on the functionality of the system rather than bug fixing.
Communication Method
The server side of the system has to be deployed on a web server with the existing website. So considering this the system uses Ethernet as the communication medium to send and receive data from web services. To call/discover the web services the system uses HTTP protocol to send and receive requests to web services.
Browser Technology
While developing the web based interface, we have tried to make it well formed on most famous browsers which are IE6, Firefox 3.0 and Chrome 1.0. In all of these browsers it has almost similar and well formed look and feel. Another browser is targeted theoretically, which is safari. But this browser is not tested. Regarding to studied problems most of the layout is static which has a complete compatibility in all browsers. No layout uses absolute or relative positioning.
System Evaluation
introduction
The library information management system is designed and developed using the client server architecture and is implemented using the asp.net technology. In this chapter, we will evaluate the designed system. The evaluation process will be based on the functionality and features provided by the system. The resulting system will be compared with the manual system to identify its benefits.
Staff/student side evaluation
Staff/Student Registration
The system provides the staff/student to register itself with the system. When all the providing information is valid, system will attempt to register the new user.
Benefit
The benefit of allowing staff/student to first create its account before using the system is very useful from security point and also to keep track of his/her request status. The staff/student can only login in the system using his /her user name and password. User will be represented by an interface to provide information for following.
Person Information
Login Information
After providing all information, the user will press Insert button on the interface to proceed. The provided information will be validated for consistency. The member registration web service will be called to insert the person. If successful user will be informed of success. The user will press OK to close the interface or will repeat the process to insert a new person.
Add Issue Book
This feature is used to add new Issue book in library system. When all the providing information is valid, system will attempt to register the new Issue book
Benefit
User will be represented by an interface to provide information for following.
Issue book Specific Information
After providing all information, the user will press Insert button on the interface to proceed. The provided information will be validated for consistency. The library information system web service will be called to insert the Issue book. If successful user will be informed of success. The user will press OK to close the interface or will repeat the process to insert an Issue book.
Get Fine by Staff/Student
This function is used to get fine by student in library system.
Benefit
User will be triggered with the student/staff id. Fine will be calculated for the student/staff. The calculated fine will be returned to the calling system.
Librarian staff side evaluation
Add Book
This feature is used to add new book in library system. When all the providing information is valid, system will attempt to register the new book.
Benefit
User will be represented by an interface to provide information for following.
Book Specific Information
After providing all information, the user will press Insert button on the interface to proceed. The provided information will be validated for consistency. The catalog management web service will be called to insert the book. If successful user will be informed of success. The user will press OK to close the interface or will repeat the process to insert a book.
Reserve Book
This feature is used to add new reserved book in library system. When all the providing information is valid, system will attempt to register the new reserved book.
Benefit
User will be represented by an interface to provide information for following.
Reserved book Specific Information
After providing all information, the user will press Insert button on the interface to proceed. The provided information will be validated for consistency. The library information system web service will be called to insert the reserved book. If successful user will be informed of success. The user will press ok to close the interface or will repeat the process to insert a reserved book.
Get Valid Reservation
This function is used to get the valid reservation of books in library system.
Benefit
Use case is triggered and control is sent to the library system. The database system is called to provide all those reservations which are active and were added in between 60 minutes of time from the calling time. The array of reserved books is returned as a result. The result is returned to the calling system.
Calculate Fine
This feature is used to calculate fine in library system.
Benefit
The feature is triggered by the bot. The CalculateAllFine service is called. After calculating the fines. Fines are sent to the relevant database service. The calling system is acknowledged.
Calculate Fine for Staff/Student
This function is used to calculate fine for staff/students in library system.
Benefit
User will be represented by an interface to select the student whose fine is calculated. User selects the student. The accounts control web service will be called to calculate the fine for the selected staff/student. After calculating the fines, these are sent to the relevant database service. The user will press OK to close the interface or will repeat the process to calculate fine for other students.
Keeping in view the above functionalities provided by system, it is clear that system facilitates student/staff and library management staff. New computerized system is much better as compare to the manual system. The system is evaluated from the functionality point view because it has to replace the manual system. Since the system functionality fully resolves the problems which exist due to the manual system, therefore we can say that our new system can successfully replace the manual system without any problem.
Project objectives
Staff/Student objectives
The main objective of the project is to facilitate the staff/student of university to do online book search and reservation without any problems. The objective is successfully achieved and now the staff/student can interact with the system online for searching and reserving books. In addition, the staff/student are also able to issue book online.
Learning objectives
The learning objective of the project is related to the information management domain. By exploring the information management methodologies, the basic understanding of information management solutions is achieved. The prerequisite and the factors which need to be considered for information system solution design and implementation are also discussed.
System design approach
To design the system, agile approach is followed. The agile approach is based on iterations where each iteration consists of a complete life cycle of software development. The agile approach was adopted in order to get the continuous feed back from client. As result of this approach the produced product is accordingly to the requirements of the client. The agile approach also helps us to identify the risks associated.
Design methodology
The unified software development process methodology is selected to design the system. By following the unified software development framework, we have managed to implement the design approach for the system implementation and development. The methodology resulted in incremental development of the system. During each increment the system gets matured along with the new features added up in each iteration. On the end of each interaction the client was consulted to give feedback of existing system. The feedback includes the testing of implemented functionalities, and identification of features to be added for next iteration. The online library system is successfully implemented using the unified software development process and has resulted in product which is according to the user requirement.
Order Now