DAVID MINTAH HND COMPUTER SCIENCE SOFTWARE ENGINEERING Contents Web-based Library System ............................................................................................................. 2 1.0 Introduction to Web-based Library System .............................................................................. 2 1.1 Purpose...................................................................................................................................... 3 1.2 Scope: ........................................................................................................................................ 3 1.3 Technology Used: case tools .................................................................................................... 3 1.4 Assumptions.............................................................................................................................. 4 2.1 Discovery prototyping .............................................................................................................. 4 1.3 Scenario Analysis...................................................................................................................... 6 2.0 Functional and nonfunctional requirement of web-based library systems ............................... 7 2.1 Functional requirement of web-based library systems ............................................................. 7 2.2 Nonfunctional Requirement of web-based library systems .............................................. 10 3.0 Data models of the web-based library system in the scenario ................................................ 11 3.1 Use-Case diagram for web-based library ................................................................................ 11 Use case Templates description for a web-based library system .................................................. 13 3.2 Entity Relationship Diagram for web-based library ............................................................... 22 Web-based Library System A web-based library system is to be developed to provide a single user interface to a number of databases of articles in different university libraries across the country. 1.0 Introduction to Web-based Library System Project is related to library management which provides reading services to its members. The users of the system have to register to become a member of the on-line library. They can get the article downloaded by paying a fee in order to read or print. 1.1 Purpose The purpose of this research is the use of software is for computerization of library and provides following services to User: either faculty or student • Can enter particulars relating to a particular article. • be able to make available relationship to members. Administrator: Liberian • Can access information concerning any member. • be capable of bring up to date, create, delete the record of membership as per requirement and implementation plans. 1.2 Scope: There are many ways to use this web-library system, the following areas are considered: • Any education institute can make use of it for providing information about author, content of the available articles. • It can be used in offices and modifications can be easily done according to requirements. 1.3 Technology Used: case tools Pacestar UML programmer, Edraw Max 1.4 Assumptions • This application is used to convert the manual library system to the web-based. • Customized data will be used in this application. • User does not have right to enter information about articles. 2.1 Discovery prototyping Prototyping is known as fundamental to software development as it has been to systems development in other engineering fields. Satzinger et al., state that prototyping is used "in almost every [software] development project in some way" (Satzinger, J. W., Jackson, R. & Burd, S., 2004) and McConnell proposes that prototyping can be used "in one form or another on most kinds of [software] projects regardless of what other practices are used" (McConnell, 1996). The use of prototyping has been developed to the level of being the basis for software development methodologies, such as the Evolutionary Prototyping lifecycle model McConnell (1996). Sommerville states that the evolutionary prototyping methodology "is now the normal technique used for web-site development and ecommerce applications (Sommerville, 2001). Discovery prototypes use input and output in the analysis phase as a mechanism for eliciting and refining functional requirements for the web-based library system; In the Analysis Phase of this system, Discovery prototypes are used as an aid in determining user requirements. Allowing users to experiment with a prototype interface will help to refine requirements that were specified as the basis for the prototype's construction and elicit new requirements that may have been overlooked. Feasibility prototypes also are used in the analysis phase to evaluate this new web-based library development system architecture. Three variations of discovery prototypes are to be developed. The first is a "paper mock-up" prototype. This type, in traditional methodologies, was called a "layout chart" (record layout chart, display layout chart, etc.). The second type of discovery prototype is an "electronic mock-up." This type is developed using HTML forms (raw HTML or Dreamweaver, etc.) with no ACTION attribute. Thus, these are non-operational, as are the paper mock-ups. This tends to draw the library analysis into designing interfaces rather than defining requirements. The third type of discovery prototype to be developed contains multiple electronic mock-ups with navigation between the web pages. The primary purpose of this type of prototype is the validation of requirements. With this prototype the user can do a virtual walk-through of the identified functions for the system. Four variations of the types of prototypes used in design are developed. The first is a refinement of the electronic mock-up developed for analysis. In this case, though, the purpose is to design system components. So, the prototype is used to compare alternate designs, such as, different layouts, color schemes, etc. This is easily accomplished by comparing the prototypes developed by different designers. The mock-up is then extended to incorporate design decisions on data formats with client-side editing being added using a package of Javascript functions that is available on the web (http://developer.apple.com/internet, 2014). This allows comparison of different designs such as editing data input item by item or editing an entire form or doing both Poley (2005). The third type of design prototype focuses on prototyping a database system. MySQL and Erwin modeller are used in this web-library to define tables, relationships, and data formats. Data can then be added and retrieved from the database to test the design's ability to fulfill the system's functional specifications. The fourth type of design prototype adds real interactive capability to the prototype by using a set of Javascript functions developed by a designer. The Javascript package provides support for temporary data storage (in a Javascript array) for a simple database schema. Support for multiple tables is provided along with functions for storing, updating, and deleting tuples. Tuples can be retrieved by primary key or non-primary key attributes. With this package, students can produce a working system prototype on a client computer without the need for a server. 1.3 Scenario Analysis Scenario-based design is a family of techniques in which the use of a future system is concretely described at an early point in the development process (Rosson and John, 2003). Narrative descriptions of envisioned usage episodes are then employed in a variety of ways to guide the development of the system that will enable these use experiences. This section presents a range of scenarios for the Web-based Library System strategy case and then tests the redesigned strategies against these alternative futures (i.e. scenarios). Initially is to indicate the scope of the major uncertainties that could have an impact on the Web-based Library System. This system presents two ‘forced’ scenarios. These form the basis for the ‘learning’ scenarios, which is to analyse with the dynamic simulation model to test the robustness of the design strategies. There is an outline of scenario planning and some guidelines on developing Web-based Library System and using scenarios. This is followed by a brief overview of scenario modelling. An example of scenario modelling is provided based on the system dynamics. The system dynamics scenarios involve dynamic simulation modelling a web-based library system is to be developed to provide a single user interface to a number of databases of articles in different university libraries across the country. Creating connectivity for web-based library is by the integration scenario is during design time. In this web-based system library, there should be two main aspects by: 1.3.1 Prerequisites for students to access the web-based library system The central web-based library system For all students in the scenario, Identifiable Business Context reference (IBC reference) the system can be deactivated which makes all of its connections will be deleted with any next request scenario Checking of the library integration configuration; it is to check the technical stability of the system Access to library articles by print, print or download. 2.0 Functional and nonfunctional requirement of web-based library systems 2.1 Functional requirement of web-based library systems This describes an interaction between the web-based library system and its environment and also shows how a system should behave under certain stimuli. The following are some of the functional requirements of the web-based library system: 1. Web-based library system: There are following seven options to choose from: a. Students Membership Record 1. Admin: Selects the menu option to enter in the Student Membership Record. 2. Web-based library system: Presents a Menu for maintaining student Membership record. That contains the following four options to choose from. Add Students Record Edit Students Record View Students Record Search for Student Record b. Article Catalogue 1. Admin: Selects the menu option to add membership record of the different Students. 2. Web-based library system: presents a form 3. Admin: Enters the name Registration Number Date of Birth Date of joining Email Address, Phone Number and Residential Address of the students. 4. Web-based library system: Add the Membership record of the Students updates the previous record and download the student a Library number c. Reference articles Catalogue 1. Admin: Selects the menu option to enter in the Reference Articles Record. 2. Web-based library system: Presents a Menu for maintaining Reference Articles Record. That contains the following four options to choose from. Add Reference Articles Record Edit Reference Articles Record View Reference Articles Record Search for Reference Articles 3. Web-based library system: Waits for user input d. Article Downloaded record 1. Admin: Selects the menu option to enter in the downloaded Articles record. 2. Web-based library system: Presents a Menu for maintaining downloaded Articles Record. That contains the following two options to choose from. a. Add downloaded Articles Record b. Edit downloaded Articles Record 3. Web-based library system: Waits for user input e. Fee records 1. Admin/User: Selects the menu option to enter in the Fine record 2. Web-based library system: Presents a Menu for fine Record that contains the following two options to choose from. a. List of students b. Check the status before download (Paid/not) 2.2 Non-functional Requirement of web-based library systems This describes the restrictions on the web-based library system that limits the choices for its construction as a solution to a given problem. Student will be able to use the system interface with no intuition such as: The web-based library system will provide tips on all control, buttons provided on the forms Student will have access to context sensitive help on interface elements Explicit inform on type of data and range of values acceptable for data entry fields will be available for all data entry boxes. Student will be able to complete data entry forms over multiple sessions; Students will be able to log in and initiate the web library session The Registration must be in the form “year of joining of institution – institution name – department name – registration number (that must not be greater than 4 digits)”. Student must be able to save downloaded articles in a session and resume reading or printing later. If the Password is incorrect than a message is printed on the screen and admin is returned to the returned Articles record menu. The Returning date must be in the format of “MM/DD/YYYY” if Month is greater than 12 or Days is greater than 31, a message is printed on the screen and asks for reenter. 3.0 Data models of the web-based library system in the scenario 3.1 Use-Case diagram for web-based library Registration Login Verify credit code «include» Credit Card via downloads Student Articles Catalogue «include» Refernce Article «include» Download Article «include» Check Article Availability Liberian Read Article «include» «extend» Calculate Download Payment Condition {print option selected} extension point: Article print University Faculty Upload Article Print Article «include» Cofirm Upload Add Article «include» Maintain Article «include» Remove Article Logout Figure3.1: use case model of web-based library system Use case Templates description for a web-based library system Use Case ID: Use Case Name: Created By: Date Created: 1 Introduction: 1 Registration Mamudu Hamidu 05/11/2014 This use case allows the actor with role “student, University faculty, librarian” to register to the articles for an every user in the web-based library system. Student , University faculty, librarian The student should have a valid college Credit Card via downloads (library card) which contains his name, date of birth, course, roll no to obtain library card. The same criteria apply for registration of library and other University faculty members including the librarian. NONE 2 3 Actors: Preconditions: 4 Post conditions: Triggers Main Success 1. To register a student, the librarian or University faculty has to first Scenario: login. 2. After login the librarian or University faculty searches for the existing students. 3. If the student is already registered there is no need to register him. 4. If the student is not already registered then his name, roll no is to be entered for registration. 5. A student id for library membership is generated and provided to the Student. 6. To register a staff member the administrator has to first login. 7. After successful registration the staff member is provided with a unique id Extensions: 1. The administrator or staff fails to login. 2. Administrator or staff can search for his id among existing members. 3. If he is already a member and unable to login he should contact the librarian otherwise he should get re-registered. Special The student or the University faculty must pay for downloads via id. If Requirements: invalid has to re-register to activate id with money. 5 6 7 8 Use relationship: case NONE Use Case ID: 2 Use Case Name: login 1 This use case allows that the user to login in the web-based library Introduction: system. A login generally requires the user to enter two pieces of information, first a user name and then a password. 2 Actors: Student , University faculty, librarian 3 Preconditions: If the student or University faculty or librarian want to login then he should have been first registered first. 4 Post conditions: 5 Main NONE Success 1. To login the student or University faculty or librarian should Scenario: first open the Login page. 2. They should then enter their ids and passwords. 3. Once the id and password are verified they are moved to the options page where they can search, view and perform other operations. 6 Extensions: 1. The login fails after entering login and password. 2. It is the responsibility of the librarian to see that all University faculty and students are properly registered and can login to the system. 7 Special NONE Requirements: 8 Use relationship: case NONE Use Case ID: 03 Use Case Name: Library card 1 This use case documents the procedure for Article Download, download Introduction: article in the web-based library system. 2 Actors: Student, Librarian 3 Preconditions: User must have a valid login student id, credit card for fee charges and password. User must be a member. 4 Post conditions: If the use case is successful, the article is to be downloaded via credit card through student id. Access is given for read or print of the article by library card person. 5 Main Success 1. Librarian: Selects the menu option to Enter in the Student Record. Scenario: 2. Student: Presents a Menu for maintaining student Membership record. That contains the following Four options to choose from. Add Students Record Edit Students Record View Students Record Search for Student Record Check credit card 6 Extensions: If Credit Card via downloads (library card) is not available then error message is generated. Or apply for create new credit card recharge. 7 Special Requirements: 9 Use relationship: For student: Id card, login id, credit card case If the Credit Card via downloads (library card) is downloadd/valid then articles use case the entry is shown for download access. Use Case ID: 4 Use Case Name: Article 1 This use case documents the procedure for Return Article in the web- Introduction: based library system. 2 Actors: Student, Librarian, University faculty 3 Preconditions: User must have a valid login id and password. User must be a member. User must have paid a fee before to download that article to read or print. 4 Post conditions: 5 Main If the use case is successful, the article is downloaded. Success The student or staff or administrator logins to the system. Scenario: If the login is successful. Student or staff or administrator enters the article name or ISBN or author name and presses search If the search is successful then that article is displayed on the screen. To search for a student the administrator or university, staff logins to the system. If the login is successful then it is possible to search for any student by entering his id. To search for a staff member the administrator enters his login id. If successful he can search for any of the staff members. 6 Extensions: 1. The login fails. 2. The student or staff or administrator can re-register themselves 3. If the search is unsuccessful then the administrator should add that members. 4. If the article search is unsuccessful then that article should be added. 5. If download is unsuccessful then student should check his credit card. 7 9 Special To download the student has to have money on credit card linked to Requirements: student id. This will allow him to read then print article. Use relationship: case If the article is to be downloaded the person pays a fee via credit card. Use Case ID: 5 Use Case Name: Download Article 1 Introduction: This use case documents the procedure for Article Download in the web-based library system. 2 Actors: Student, Librarian, University faculty 3 Preconditions: User must have a valid login id and password. User must be a member. 4 Post conditions: 5 Main If the use case is successful, the article is downloaded to the person. Success The use case starts when a person wants to download an article. Scenario: The system checks the availability of that article. If the article is available then it is downloaded to that person. The same is added to its article (read or print) payment list. The use case ends. 6 Extensions: If article is not available then error message is generated. If credit card is empty or limited then an error message is generated. 7 Special For student: Requirements: Payment of a fee for each article downloaded. For University faculty: Articles to be uploaded are possible after registration on the management system. 8 Use relationship: case Download article is related to check availability and check availability is related to reference article. Use case ID 6 Use Case Name: Books Catalogue Scope Library System Level User Goal Introduction: Present a menu from which one can access the various functions of the Books Catalogue. Actor Admin Stakeholders Admin: Wants to enter and maintain the Books Record. Preconditions None Triggers Admin selects Books Catalogue option from the main menu. Success Guarantee Library Management System Waits for user input Main Success Scenario: Admin: Selects the menu option to Enter in the Books Catalogue 2. Library Management System: Presents a Menu for maintaining Books Record. That contains the following Four options to choose from. a. Add Books Record (UC3-1) Edit Books Record (UC3-2) b. View Books Record (UC3-3) c. Search for Books (UC3-4) 3. Library System: Waits for user input Extensions: 3a. to enter in the option Add books Record and Edit books Record, the system waits for the Password. 3b User can only entered in the View Books record and Search for books from where he can checks the available books. Use Case ID: 7 Use Case Name: Upload Article 1 Introduction: This use case documents the procedure for Upload Article in the webbased library system. 2 Actors: Librarian, University faculty 3 Preconditions: 1. User must have a valid login id and password. 2. User must be a member. 3. User must have registered on the system downloaded/ Uploaded before. 4 Post conditions: 5 Main If the use case is successful, the article is Uploaded. Success The use case starts when a person wants to Upload an article. Scenario: The system checks the status of that article. If the article is not in the download list then the article is Uploaded. If article is to be Uploaded then a fee is paid by faculty before don load access is granted. Fee is taken from the University. The use case ends. 6 Extensions: If the article is in download list then error message is generated. 7 Special NONE Requirements: 9 Use relationship: case If the article is not in uploaded list a fee is paid from the University. Use Case ID: 8 Use Case Name: Maintain Article 1 This use case documents the procedure of maintaining articles in the Introduction: web-based library system. 2 Actors: Librarian 3 Preconditions: 1. User must have a valid login id and password. 2. User must be a member. 3. For adding articles in library: a. Article must not be in the library. 4. For removing articles from the library. a. Article must be available in the library. 4 Post conditions: If the use case is successful, the article is added or removed from the library. 5 Main Success The use case starts when the librarian wants to add or remove a article. Scenario: For adding articles: The system checks the status of that article. If the article is not in the library then it is added into it. The use case ends. For removing: The system checks the status of that article. If article is in the library then it is removed. The use case ends. 6 Extensions: If the article is not in return list then error message is generated. 7 Special NONE Requirements: 8 Use relationship: case For adding, the article must not be in the library. For removing, the article must be available in the library. Use Case ID: 9 Use Case Name: logout 1 This use case documents the procedure for logout into the web-based Introduction: library system. 2 Actors: Student, University faculty, librarian 3 Preconditions: There is must for any user to log into the web-based library system. 4 Post conditions: If use case is successful, the user (admin & student) is logged out from the web-based library system. 5 Main Success This use case ends when actor wishes to log out into the Web-based Scenario: library system. 6 Extensions: NONE 7 Special If user login then it must logout Requirements: 8 Use relationship: case if login is occur logout is compulsory 3.2 Entity Relationship Diagram for web-based library I modelling a web-based library using E-R diagram, one may acknowledge the main entities and relationship between the entities. This will show how the system will behave before its implementation. The main entities are: Student Faculty Article Liberian Account The relationships are: Liberian manages Article catalogue. Users register account Student downloads article but has a sub-data types of fee to be paid by student. Article is referenced in article catalogue. Liberian performs system maintenance. In this abstract data type the Liberian can either add/remove article. Liberian log to account Student has credit card to enable him to pay for downloads: Student id credit card downloads In this modelling Disjoint Constraint is chosen which is whether it is possible for an instance of a superclass to simultaneously be a member of one or more subclasses. Disjoint constraints indicate whether a superclass instance can be disjointed or overlap more than one subclass. Disjoint Rule states that if an instance of a superclass is a member of any subclass, then it cannot be a member of more than one subtype. In the E-R diagram below, a constraint of disjoint rule is put to indicate that a user must be either a Liberian, a faculty staff but cannot belong to all subclasses simultaneously. To indicate the disjoint rule by putting a letter “D” in the joining circle of the superclass/subclass relationship. User D Faculty Liberian pays Student has log belongs to manages Fee downloads Credit_ca rd Account Article Catalogue University contains Article performs referenced in registers Add Article has is_a Remove Aticle Figure 3.2: E-R Diagram for the web-based library system Maintenance Reference Mary, B. R. and John, M. C. (1997) Scenario-Based Design Department of Computer Science and Center for Human-Computer Interaction Virginia Tech, Blacksburg VA. J. Jacko and A. Sears (2002) The Human-Computer Interaction Handbook: Fundamentals, Evolving Technologies and Emerging Applications, .Lawrence Erlbaum Associates, pp. 10321050. Robert, F. Z. HANDS-ON PROTOTYPING IN SYSTEM ANALYSIS AND DESIGN, Illinois State University, US. http://developer.apple.com/internet/webcontent/validation.html [Accessed on November 2, 2014]. McConnell, S. (1996) Rapid Development, Microsoft, p. 147, p. 573. Poley, S. (2005) Javascript form validation – doing it right, p. 175 [Accessed on November 2, 2014] Satzinger, J. W., Jackson, R. & Burd, S. (2004) Systems Analysis and Design, p.137, Course Technology. Sommerville, I. (2001) Software Engineering, Addison Wesley. Bennett, S. et al (2010) Object oriented system analysis using UML, third Ed. McGraw-Hill.