Beruflich Dokumente
Kultur Dokumente
PhotoCenig Tripod
November 24, 2013
1) 2) 3)
Team Members: zgn KORKUT, 1560390, e1560390@ceng.metu.edu.tr Rdvan ZKERM, 1560754, e1560754@ceng.metu.edu.tr Hasan YILMAZ, 1679349, e1679349@ceng.metu.edu.tr
Table of Contents
1. INTRODUCTION ................................................................................................................... 5 1.1 Purpose ....................................................................................................................... 5
1.2 Scope ............................................................................................................................... 6 1.3 Definitions, Acronyms, and Abbreviations ......................................................................... 7 2. SYSTEM OVERVIEW ........................................................................................................... 8 2.1 2.2 2.3 2.4 2.5 Processor Module ........................................................................................................ 8 Database Module ......................................................................................................... 9 Graphical User Interface Module.................................................................................. 9 Input Handler Module ................................................................................................... 9 Output Handler Module ................................................................................................ 9
3. SYSTEM ARCHITECTURE ..................................................................................................10 3.1 Architectural Design .......................................................................................................10 3.2 Design Rationale ............................................................................................................10 4. DATA DESIGN......................................................................................................................11 4.1 Data Description .............................................................................................................11 4.1.1 Panoramic View Table ..............................................................................................11 5. COMPONENT DESIGN ........................................................................................................12 5.1. Architectural Design .......................................................................................................12 5.2 Description of the Components........................................................................................13 5.2.1 GUI Module ...............................................................................................................13 5.2.2 InputHandler Module .................................................................................................14 5.2.3 OutputHandler Module ..............................................................................................16 5.2.4 Processor Module .....................................................................................................17 5.2.5 Database Module ......................................................................................................20 6. HUMAN INTERFACE DESIGN .............................................................................................22
6.1 Overview of User Interface .............................................................................................22 6.2 Screen Images ...............................................................................................................22 6.3 Screen Objects and Actions............................................................................................23 6.3.1 Monitorize Part ..........................................................................................................23 6.3.2 Area Information........................................................................................................23 6.3.3 Return To Start .........................................................................................................24 6.3.4 The Compass............................................................................................................24 6.3.5 View Information .......................................................................................................24 6.3.6 Information ................................................................................................................25 6.3.7 Navigator Menu .........................................................................................................25 6.3.8 Bottom Menu .............................................................................................................26 6.3.9 Keyboard Actions ......................................................................................................27 7. LOGICAL DESIGN ................................................................................................................28 7.1 Coordinate Entity .............................................................................................................28 7.2 Neighbors Relationship....................................................................................................29 7.3 Room Entity .....................................................................................................................29 7.4 Includes Relationship.......................................................................................................29 7.5 People Entity ...................................................................................................................29 7.6 Use Relationship .............................................................................................................29 7.7 Information Entity.............................................................................................................30 7.8 Has Relationship .............................................................................................................30
1. INTRODUCTION
1.1 Purpose
Aim of this software specification requirements document is to provide a complete description of all of the features that are planned to implement to system and to define the expectations from the PhotoCenig project. It also describes how the system operates and how users interact with the application. Besides external systems and interfaces which the application depends, are specified in this SRS document. This document is intended for Developers: in order to be sure they are developing the right project that fulfills requirements in this document. Testers: in order to have an exact list of the features and functions that have to respond according to requirements and provided diagrams. Users: in order to get familiar with the idea of the project and suggest other features that would make it even more functional. Documentation writers: to know what features and in what way they have to explain. What security technologies are required, how the system will response in each users action etc. Advanced end users, end users/desktop and system administrators: in order to know exactly what they have to expect from the system, right inputs and outputs and response in error situations.
1.2 Scope
In daily life address and location information is among in most frequently asked questions. Besides people can interest a place in different city or region where they live. Many people look photos of a place before they go there first time. METU Computer Engineering is also one of the most wondered places. Every year a lot of high-school students come to METU for orientation and take photos in front of our department. So this product will help to find a place such as canteen, student affairs or a staff room in our department and show detailed visual information for interested people such as high-school students who consider to prefer our department. In our project we have two main purpose for people. Firstly, people who do not know inside of our department can reach the information about the place where they want to go such as a staff room, stationery shop or student affairs. The current way to find a place in the department building is to look a list near the main door of the building. By this way the person should know the alphanumerical codes of blocks and rooms to go his/her target. On the other hand by our project a person who try to find any place in our department building, does not need to know anything about building. Secondly, people who try to decide which university they will study and people who deserved to study at METU Computer Engineering department, may want to have information to imagine their prospective department. Unfortunately the current official website of our department includes a few photo and these photos taken from very far. As is seen there is not existing solution for these two aim. So we will try to solve this problems by doing PhotoCenig.
Definitions Software Design Document Middle East Technical University Open Source Computer Vision Library Berkeley Software Distribution Central Processing Unit Three dimensional The Institute of Electrical and Electronics Engineers Graphical User Interface Global Positioning System
2. SYSTEM OVERVIEW
In this project there are mainly five connected software modules namely processor module, database module, graphical user interface module, input handler module, and output handler module . The general system overview is depicted below in figure 2.1.
2.1
Processor Module
This module manages the system. Input data is processed in this module and the output data is send to the graphical user interface module with the help of output handler module. Moreover, the process on views taken from database is done by that module to create the web compatible views that can be shown on the web browser screen. Finally, it decides the data to be sent to database for appropriate view and call the database module to do that work.
2.2
Database Module
This module provides the view according to the data coming from processor module to send to processor module.
2.3
This Module is responsible from interaction with the users. It will be used to get the information and actions from the users and to display the results of these actions.
2.4
This module handles all the inputs asked by user such as location requests. It also transmits these inputs to the processor module.
2.5
This module has a role between processor module and graphical user interface module. It transmits the outputs produced by processor to the graphical user interface module to be shown on screen.
3. SYSTEM ARCHITECTURE
3.1 Architectural Design
The main components of the system is explained here. In the next part the subcomponents will be explained in detail. The architectural design of the system consists of 5 different components, namely Database Module, GUI Module, InputHandler Module, OutputHandler Module, and Processor Module, where each works for different purposes of the system. There is a core component in the architecture which manages the other components relations by mean of data flow and processes the data. This core module may seen as the main module which does the main work. The users will see the GUI Module of the system, and when they do some actions on this module, this data will be sent to InputHandler Module and then to the Processor Module and it will process the sent data. Processor Module will be composed of 3 different subcomponents namely, ErrorHandler Module, Navigator Module, and Show Module. These modules responsibilities are described in detail in the Processor Modules description and how they will work is explained in detail in this document. When user navigates, processor will get the corresponding view according to the coordinates and send it to outputhandler module in order to be displayed on the screen. The details of the processes will be given for each component later.
10
4. DATA DESIGN
4.1 Data Description
4.1.1 Panoramic View Table
This object will hold panorama id, save path to find the view on server, tags to give the opportunity to tag the views and make users to find these views easily by searching on tags, and GPS information to associate the view with the exact location on the system map. Panorama id is the primary index.
11
5. COMPONENT DESIGN
Here, a detailed description of the system architecture is explained here.
12
In figure 5.1, architectural design of the system, there are 5 main modules which are GUI module, InputHandler Module, OutputHandler Module, Database Module and Processor Module. Each module works for different purposes, and some modules include different submodules. Sub-modules are User Module in GUI Module and Navigator Module, Show Module, ErrorHandler Module in Processor Module. Main modules will do the main work of the system, and sub-modules will be work in some main modules. The user will see and work on the GUI Module of the system. When the user do actions on this module, the data comes from users action will be sent to InputHandler Module, after that the Processor Module takes this datas and process them. In the Processor Module will contain 3 different components and these submodules will be described in detail in part 7 of this document. The details of the each component of the architecture of the system will be given later.
13
14
5.2.2.3 InputHandler Module Processing Detail InputHandler module gets the information from the GUI. By looking at the characteristics of these data, related sub-module is called from Processor Module with the given action or information. 5.2.2.4 Dynamic Behavior of InputHandler Module
15
16
17
Each of these responsibilities will be handled by different sub-modules of the Processor Module. Relations between these sub-modules are shown in figure 5.1. In this part just what they are supposed to do and their interfaces are described. 5.2.4.2 Processor Module Interface Description The Processor gets the information from the InputHandler Module. The different informations will call the different sub-modules of the Processor. According to the inputs, some data are called from Database Module or written on it. After finishing this process, the results will be sent to OutputHandler Module to be sent to GUI Module. Therefore, InputHandler and Database Modules are the input interfaces of this module, where OutputHandler and Database Modules are the output interfaces for this module. ErrorHandler Module has interfaces with every other subcomponent of Processor, and also with Database Module.Navigator Module has interfaces with Database Module, InputHandler Module, ErrorHandler Module, and Show Module. Show Module has connection with OutputHandler Module, Database Module, ErrorHandler Module and Navigator Module. What will be sent in between these sub-modules are in the next part and how they will work is in part 7 of this document. 5.2.4.3 Processor Module Processing Detail The Processor Module is the module where all the main jobs are done. Since the project contains different works such as displaying existing image or handling errors, there will be different sub-modules. As already mentioned in processing narrative part, there will be three different sub-modules Navigator Module, ErrorHandler Module and Show Module. Each of which will handle different situations. Show Module will be handling the viewing of the views or maps. When users want to view a panoramic view, InputHandler Module will send the related data to this subcomponent. Then related views will be asked from database, after getting the view, it will be prepared to be displayed on the screen with desired rectangular of the panoramic image, finally it will be sent to
18
outputhandler, in order to be displayed on GUI.If something needs to change in GUI, Processor Module will call Show Module and the outputs will be sent to OutputHandler Module with Show Module. The details of the algorithm to be used will be explained in part 7 under Processor Module.In case of any errors ErrorHandler sub-module of the Processor Module will be called with the error information. 5.2.4.4 Dynamic Behavior of Processor Module
19
20
21
Figure 6.2.1 : Main Screen The main screen of PhotoCenig will be animated like shown in the Figure 6.2.1. At the first look we can say that there are five main physical part of the screen: background, left-side, right-side, upside and downside. In this figure except area information and view information parts all of
22
the others are permanent on the screen. When View Information will be clicked Information part also will be visible under the button View Information like as shown in the figure 6.2.2.
23
24
6.3.6 Information
This part will be visible after view information button is clicked. There will be three type of information about the area : E-mail address, room, and local phone number. These areas may be a teacher's room can also be student affairs. If user clicks to email address on the information part, email client program of users operation system will be opened to send mail.
25
6.3.7.5 Others Others includes the rest important areas : Computer Club, Meeting Room, Canteen, Photocopy Room.
26
27
7. LOGICAL DESIGN
Figure 7.1 : Entity Relationship Diagram As shown in the Figure 7.1 there are four entities in the logical view. These entities are Coordinate, Room, People and Information. They and their relations will be described below.
28
29
30