You are on page 1of 18

METU Department of Computer Engineering

CENG 491 Engineering Design I Fall 2013-2014

SRS Project of PhotoCenig

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.

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.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.

1.4 Definitions, acronyms, and abbreviations


This subsection should provide the definitions of all terms, acronyms, and abbreviations required to properly interpret the SRS. This information may be provided by reference to one or more appendixes in the SRS of by reference to other documents.

Terms SRS METU OpenCV BSD CPU 3D IEEE

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.

2.1.1 System interfaces

Figure 1 : System Interface Diagram

2.1.2 User interfaces

Figure 2 : Viewer Use Case Diagram

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

Figure 3 : Seeker Use Case Diagram

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.

2.1.3 Software interfaces

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.2 Product functions


The primary function of the PhotoCenig is essentially to receive and process the coordinates of the location within the department. It is able to send photos in response to the coordinates it receives in order to operate the photos which has been sent. This exchange is how the PhotoCenig is able to give a panoramic view of department from selected locations.

2.3 Constraints
The hardware that the elevator controller software will be running on may constrain some design decisions pertaining to timing and performance.

2.4 Assumptions and dependencies


There are 3 floors that the PhotoCenig provides service to. User can walkthrough around the corridors of the department. User can go into the classrooms, but can not go into the offices. The directions user can go are limited.
13

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.

3.1 Interface Requirements


The user can move around the virtual environment of Computer Engineering Department with the keyboard. And 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. The photos made into the panoramic view. (Look to the Figure 2)

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

3.2 Functional Requirements


3.2.1 Send Coordinates
Trigger: User changes the location by moving. 1. The system calculates the coordinates of the new location. 2. And sends the coordinates to the database. Basis Path:

3.2.2 Send Photos


Trigger: Database receives new data about the new location. 1. Creates a query with the new coordinates. 2. Gets the new photos after the query. 3. Sends the photos to the webpage application. Basis Path:

3.2.3 Search Place


Trigger: User selects a location from the list of the locations. The ID number of the selected location sent to the navigation program. Basis Path:

3.2.4 Find Route


Trigger: Navigation program receives new ID number of a location. 1. It calculates the route from the starting point to the desired location. Basis Path:

2. Sends it to the webpage application.

3.2.5 Show Route


Trigger: Program receives a new route. 1. The location of the viewer is set to the starting point. Basis Path:

2. The route to the desired location is showed on the screen by arrows.

15

4 Data Model and Description


4.1 Data Description
4.1.1 Data objects
4.1.1.1 Position Class Diagram

Figure 4 : Position Class Diagram

4.1.1.2 Scene Class Diagram

Figure 5 : Scene Class Diagram

16

4.1.1.3 Route Class Diagram

Figure 6 : Route Class Diagram

17

5 Behavioral Model and Description


System checks for change in the location first. If there is a change it gets the new scene from the database. Then it checks if there is a request for a new route. If there is a request for a new route navigator program finds the correct route. Finally system checks if the current location is the start point. If it is not it sets the location to the start point and then returns to idle state.

5.1 State Transition Diagrams

Figure 7 : State Transition Diagram

18

You might also like