Professional Documents
Culture Documents
PhotoCenig
Tripod
October 28, 2013
Team Members: 1) 2) 3) zgn KORKUT, 1560390, e1560390@ceng.metu.edu.tr Rdvan ZKERM, 1560754, e1560754@ceng.metu.edu.tr Hasan YILMAZ, 1679349, e1679349@ceng.metu.edu.tr
Preface
This document contains the system requirements for PhotoCenig Project. The document is prepared according to the IEEE Guide for Developing System Requirements Specification IEEE Std 1233 1998 and IEEE Recommended Practice for Software Requirements Specification IEEE Std 830 1998.
This Software Requirements Specification provides a complete description of all the functions and specifications of the PhotoCenig.
The first section of this document includes purpose and scope of the project. Also definitions, acronyms, abbreviations which are used in and references which are utilized for this document are stated in this section.
Overall description of the project is defined in second section. That section contains product perspective, product functions, user characteristics, constraints, assumption and dependencies.
Third section contains specific requirements of the project. External interfaces, functional requirements and non functional interfaces are described in third section. External interfaces subsection includes user interfaces, software interfaces, hardware interfaces and communication interfaces parts.
Fourth section includes data model and description. This section describes information domain for the software. Data objects that will be managed/manipulated by the software are described in this section. Data objects and their major attributes will be described. Also the class diagrams will be shown. Moreover a reference to the data dictionary will be provided.
Software behavior will be described in fifth section. Also, state transistion diagrams will be placed there.
In sixth section Tripod team structure and estimated time schedule and process model can be founded.
At the end of the this document some supporting information will be placed to find some sections and keywords easily.
Table of Contents
1. Introduction ......................................................................................................................................... 6 1.1 Problem Definition ........................................................................................................................ 6 1.2 Purpose.......................................................................................................................................... 6 1.3 Scope ............................................................................................................................................. 7 1.4 Definitions, acronyms, and abbreviations ..................................................................................... 8 2. Overall description .............................................................................................................................. 9 2.1 Product perspective ...................................................................................................................... 9 2.1.1 System interfaces ................................................................................................................... 9 2.1.2 User interfaces ..................................................................................................................... 10 2.1.3 Software interfaces .............................................................................................................. 11 2.2 Product functions ........................................................................................................................ 13 2.3 Constraints................................................................................................................................... 13 2.4 Assumptions and dependencies .................................................................................................. 13 3. Specific requirements ........................................................................................................................ 14 3.1 Interface Requirements ............................................................................................................... 14 3.2 Functional Requirements ............................................................................................................ 15 3.2.1 Send Coordinates ................................................................................................................. 15 3.2.2 Send Photos .......................................................................................................................... 15 3.2.3 Search Place.......................................................................................................................... 15 3.2.4 Find Route ............................................................................................................................ 15 3.2.5 Show Route .......................................................................................................................... 15 4 Data Model and Description .............................................................................................................. 16 4.1 Data Description .......................................................................................................................... 16 4.1.1 Data objects .......................................................................................................................... 16 5 Behavioral Model and Description ..................................................................................................... 18 5.1 State Transition Diagrams ........................................................................................................... 18
1. Introduction
1.1 Problem Definition
1.2 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.
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.3 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 Requirements Specification Middle East Technical University Open Source Computer Vision Library Berkeley Software Distribution Central Processing Unit Three dimensional The Institute of Electrical and Electronics Engineers
2. Overall description
2.1 Product perspective
PhotoCenig is a web based application and consists of a database which contains data for coordinates. Each data divided into groups so that they are organized in a form that serves right the user. Groups contain entries with coordinates and photographs of the department.
In the diagram below there are the main components of the system, subsystem interconnections and external interfaces to help you understand the main idea of PhotoCenig. All of them are analyzed with more details in this document.
As the viewer moves around the virtual environment of Computer Engineering Department with the keyboard, the coordinates of the new location are sent to the database. Database sends the photos which represented by the coordinates of the location to the Webpage application. The scenery is created at the webpage.
10
When the seeker looks up the way from starting point to another point, the navigation program finds the root and sends it to the webpage application. The application shows the route to seeker. If seeker gives the command in the way the program shows, the system acts like the viewer case.
OpenCV Library OpenCV (Open Source Computer Vision Library) is a library of programming functions mainly aimed at real-time computer vision, developed by Intel, and now supported by Willow Garage and Itseez. It is free for use under the open source BSD license. The library is crossplatform. It focuses mainly on real-time image processing. If the library finds Intel's Integrated Performance Primitives on the system, it will use these proprietary optimized routines to accelerate itself.
11
Officially launched in 1999, the OpenCV project was initially an Intel Research initiative to advance CPU-intensive applications, part of a series of projects including real-time ray tracing and 3D display walls. The main contributors to the project included a number of optimization experts in Intel Russia, as well as Intels Performance Library Team. In the early days of OpenCV, the goals of the project were described as
Advance vision research by providing not only open but also optimized code for basic vision infrastructure. No more reinventing the wheel.
Disseminate vision knowledge by providing a common infrastructure that developers could build on, so that code would be more readily readable and transferable.
Advance vision-based commercial applications by making portable, performanceoptimized code available for freewith a license that did not require to be open or free themselves.
The first alpha version of OpenCV was released to the public at the IEEE Conference on Computer Vision and Pattern Recognition in 2000, and five betas were released between 2001 and 2005. The first 1.0 version was released in 2006. In mid-2008, OpenCV obtained corporate support from Willow Garage, and is now again under active development. A version 1.1 "pre-release" was released in October 2008. The second major release of the OpenCV was on October 2009. OpenCV 2 includes major changes to the C++ interface, aiming at easier, more type-safe patterns, new functions, and better implementations for existing ones in terms of performance (especially on multi-core systems). Official releases now occur every six months and development is now done by an independent Russian team supported by commercial corporations. In August 2012, support for OpenCV was taken over by a non-profit foundation, OpenCV.org, which maintains a developer and user site.
OpenCV is written in C++ and its primary interface is in C++, but it still retains a less comprehensive though extensive older C interface. There are now full interfaces in Python,Java and MATLAB/OCTAVE (as of version 2.5). The API for these interfaces can be
12
found in the online documentation. Wrappers in other languages such as C#, Ch, Rubyhave been developed to encourage adoption by a wider audience. All of the new developments and algorithms in OpenCV are now developed in the C++ interface. A CUDA-based GPU interface has been in progress since September 2010. An OpenCL-based GPU interface has been in progress since October 2012, documentation for version 2.4.5 can be found here. OpenCV runs on Windows, Android, Maemo, FreeBSD, OpenBSD, iOS, BlackBerry 10, Linux and OS X. The user can get official releases from SourceForge, or take the current snapshot under SVN from there. OpenCV uses CMake.
2.3 Constraints
The hardware that the elevator controller software will be running on may constrain some design decisions pertaining to timing and performance.
3. Specific requirements
This section of the SRS should contain all of the software requirements to a level of detail sufficient to enable designers to design a system to satisfy those requirements, and testers to test that the system satisfies those requirements.
The user also can search routes for some special locations such as classrooms or some instructors office. When the user searchs the way from starting point to another point, the navigation program finds the route and sends it to the webpage application. Users viewer location is set to the starting point. The application shows the route to the user. If the user gives the command in the way the program shows, the system acts like the viewer case. But also shows the way to desired location with an arrow. (Look to the Figure 3)
14
15
16
17
18