Software Design Description Version 1.1 January 2, 20014 Bookstore Mobile Application 201011004 Merve Altınbaş 201011045 Zeynep Şanlı 201111004 Melda Aydoğan
Table of Contents Table of Contents Table of Figures 1.0. Introduction... 3 1.1. Purpose... 3 1.2. Scope... 3 1.3. Glossary... 3 1.4. References... 3 1.5. Overview of document..4 2.0. Deployment Diagram...5 3.0. Architecture Design...6 3.1. Web System Architecture...6 3.2. Android Design 12 4.0. Data structure design...14 5.0. Use case realizations..16 6.0. System Sequence Diagram 17 7.0. Uml Diagram..18 8.0. Interface Design...19 1
Table of Figures Figure 1: Deployment Diagram 5 Figure 2: Use case relations 16 Figure 3: System sequence diagram...17 Figure 4: Uml diagram...18 Figure 5: Home Page..19 Figure 6: Home Page 2..19 Figure 7: Admin Login Page..20 Figure 8: Admin Page.20 Figure 9: Add New Book Page...21 Figure 10: Borrow Page..21 Figure 11: Borrow List Page...22 Figure 12: Return Book Page..22 Figure 13: QR code..23 Figure 14: Android Application..23 Figure 15: The main menu...24 Figure 16: QR code scanner..24 Figure 17: Scanning the qr code 25 Figure 18: Location of the book.25 Figure 19: Quit..26 2
1.0 Introduction 1.1 Purpose This Software Design Description (SDD) provides the design details of bookstore or library mobile application. The expected audience is user of libraries. This document describes the detailed structure of the components of mobile application. It also shows how the use cases detailed in the SRS will be implemented in the system using this design. 1.2 Scope There are two parts of system. The book location information website uses standard clientserver architecture with a database on the server. The other part of the system is mobile application. This Software Design is focused on the base level system and critical parts of the system. The system will be used in libraries. This sdd defines and describes the use of each view, the architectural constraints of the system, and the functional requirements with a significant impact. 1.3. Glossary Term Android Eclipse Website SDD SRS Definition A Linux based mobile phone operating system developed by Google. A multi-language software development environment A place on the world wide web Software Design Document Software Requirement Specification 1.4. References 3
1.5. Overview of document The remaining chapters and their contents are listed below. Chapter 2 is a Deployment Diagram that shows physical locations where the system actually exists. This allows a clear explanation of where each design entity will reside. Section 3 is the Architectural Design that specifies the design entities that collaborate to perform all the functions included in the system. Each of these entities has an Abstract description concerning the services that it provides to the rest of the system. In turn, each design entity is expanded into a set of lower-level design operations that collaborate to perform its services. Section 4 is about the Data Structure Design. Section 5 contains the Use Case Realizations. Each Use Case stated in the SRS Document can be traced by the given design objects. Section 6 shows the User Interface Design, and how it can be created with maximum user efficiency and ease of use. 4
2.0. Deployment diagram Web Browser Internet Database Server Scan QR code QR Code Mobile Application Figure 1: Deployment Diagram 5
3.0. Architecture Design 3.1. Web System Architecture 3.1.1. Book Location Information Page Name: Book Location Information Page Type: Webpage Description: This is the home page presented to Book Location Information. There are three buttons. One button is to search book name, one to get location information of the wanted book and the other one is login. Attributes: name Resources: None autname :String code : String location : String numberofbook : int Operations: Name= Search Button action Arguments: None Returns: If there is a book in the system, name, location button, autname and codes are return values. Pre-condition: Connected to site Post-condition: If there is a wanted book in system, list of books are viewing Exceptions: If cannot reach the wanted book, system give error message Flow of Events: 1. Entering the name of book 2. Clicks a search button 3. Getting the information of book 6
3.1.2. Admin Login Page Name: Admin Login page Type: Webpage Description: When the user clicks the Login button in main page, it connects to the admin page. In admin page user enters their own username and password after than by clicking the login button user can entered the page. Attributes: username: String Resources: None password: int Operations: If valid username and password is entered admin can login Arguments: None Returns: None Pre-condition: Click the Login hyperlink Post-condition: Needed to be logged in Exceptions: If username and password is not valid, admin cannot log in and system gives error message Flow of Events: 1. Entering the username and password 2. Click the login button 3. Login can be done 3.1.3. Admin page Name: Admin page Type: Webpage Description: There is a list of box that admin can made changes with them. There is add new book, borrow book, return book and borrow list hyperlinks. Admin can click what he or she wants. By clicking them admin can connect the other pages with hyperlinks and can change them. Attributes: None 7
Resources: None Operations: With the hyperlink connect to the other pages Flow of Events: Arguments: None Returns: None Pre-condition: Log in Post-condition: Connect the other page with the chosen hyperlink Exceptions: None 1. Add new book, borrow book, return book, borrow list hyperlinks appears 2. Admin choose one of them 3. With clicking the one of them, it connects the page of selected one 3.1.4. Add New Book Page Name: Add new book page Type: Webpage Description: If admin wants to add new book to the system, admin must entered the book name, author name, ISBN, number of book, book code and location. After filing these attributes click the add button. By clicking the new book added. Attributes: bookname2: String Resources: None autname: String isbn: int numberofbook: int location: String code: String Operations: Entering the all information of book, the new book added to the list. Arguments: None Returns: If the book added successfully, system gives added message. Else system gives error message. 8
Flow of Events: Pre-condition: Fill all the attributes of book Post-condition: New book added to the list Exceptions: None 1. Fill the book name, author name, ISBN, number of books, book code, location 2. Entering the all these attributes of book click the add button 3. New book added to the list 3.1.5. Borrow List Page Name: Borrow list page Type: Webpage Description: Attributes: bookname: String Resources: None stuname: String stunum: int borrowdate:date Operations: If the book has been give previously to someone else, page show the student number, student name, book name and borrow date. Arguments: None Flow of Events: Returns: None Pre-condition: The one book has been taken previously Post-condition: Showing the attributes of borrow list Exceptions: None 1. Display of the received books with their book name, taken by which student and their numbers and borrow which date. 9
3.1.6. Borrow Book Page Name: Borrow book page Type: Webpage Description: After the find the book that user s search, user can borrow it. Admin enters the book name, student name, student number and borrow date before giving the book. After filling these information by clicking the borrow button, the book can given and book s information are shown in borrow list. Attributes: bookname1: String Resources: None stunum: int stuname: String date: Date Operations: The desired book is given Arguments: None Returns: None Pre-condition: User finds the book that user search with system Post-condition: Name of book, student name and number and the borrow date seems in borrow list Flow of Events: Exceptions: Entered None 1. Entering the book name, student number, student name and borrow date 2. Click the borrow button 3. Book can be given to the student and book information can seen in borrow list 10
3.1.7. Return Page Name: Return books page Type: Webpage Description: Admin entered the book name, student name, student number and return date. After filling these attributes by clicking the return button book taken from the student. And information are erased in borrow list. Attributes: bookname2: String Resources: None stunum1: int stuname1: String date1: Date Operations: If the student brings back the book, student name and the information of book erased in list Flow of Events: Arguments: None Returns: None Pre-condition: The borrowed book is returned Post-condition: The information of book erased in borrow list Exceptions: None 1. Entering the book name, student name, student number and return date 2. Click the return button 3. Name of book and information erased in list 11
3.2. Andorid Design 3.2.1. Scan QR Code Name: Scan qr code Type: Application Description: After searching the book if the desired book in the system book information seen in page. Qr code is located in information of book. User can see the qr code by searching the book name. User can scan the qr code and get location information of bookç Operations: Flow of Events: Arguments: None Returns: None Pre-condition: Scanning the qr code Post-condition: Navigation activated Exceptions: If qr code cannot scanning correctly, error message is shown. 1. Searching the book name and getting it s information and qr code 2. Scanning the qr code and getting location of book 3. Navigation starts 3.2.2. Indoor Navigation Name: Indoor navigation Type: Application Description: After the scanning qr code navigation activated With the augmented reality user can reach the book location. Wi-Fi based positioning will be used on indoor navigation. Operations: Arguments: None Returns: None 12
Flow of Events: Pre-condition: Scanning must be done Post-condition: Direct by navigation Exceptions: Book is not in place 1. Directing with navigation to the book location 2. Reach the book 13
4.0. Data structure design 4.1. Data field types and sizes 4.1.1. Book Location Information Table Attribute Name Attribute Type Attribute Size Name String 50 Autname String 50 Location String 50 Numberofbook Int 8 4.1.2. Admin Login Table Attribute Name Attribute Type Attribute Size username String 50 Password Int 8 4.1.3. Add New Book Table Attribute Name Attribute Type Attribute Size Bookname2 String 50 Autname String 50 Isbn Int 8 Numberofbook Int 8 Location String 50 code 4.1.4 Borrow List Tale Attribute Name Attribute Type Attribute Size bookname String 50 stuname String 50 stunum Int 8 borrowdate Date 14
4.1.5. Borrow Book Table Attribute Name Attribute Type Attribute Size bookname1 String 50 stuname String 50 stunum Int 8 date Date 4.1.5. Return Table Attribute Name Attribute Type Attribute Size bookname2 String 50 stuname1 String 50 stunum Int 8 date1 Date 15
5.0. Use case realizations Figure 2: Use case relations 16
6.0. System Sequence Diagram Figure 3: System sequence diagram 17
7.0 Uml Diagram Figure 4: Uml diagram 18
8.0. Interface Design Figure 5: Home Page Figure 6: Home Page 2 19
Figure 7: Admin Login Page Figure 8: Admin Page 20
Figure 9: Add New Book Page Figure 10: Borrow Book Page 21
Figure 11: Borrow List Page Figure 12: Return Book Page 22
Figure 13: QR code Figure 14: Android Application 23
Figure 15: The main menu Figure 16: QR code scanner 24
Figure 17: Scanning the qr code Figure 18: Location of the book 25
Figure 19: Quit 26
27