Download ExampleRequirementsDefinition

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Computer vision wikipedia , lookup

Artificial intelligence for video surveillance wikipedia , lookup

Transcript
1(6)
Group no.
Course CDT310, Software Engineering
Date
Proj. mgr.
E-mail
1
5/8/2017
Jenny Jutterström
jjm05001
Requirements Definition
Project Biological Vision
DISTRIBUTION
Steering group:
Frank Lüders
Farhang Nemati
Yue Lu
Project group:
Marcus Adolfsson
Sven Almgren
Mario Cardador Martin
Ulrika Hjälmgården
Johan Holmqvist
Jenny Jutterström
Tord Karlsson
Mikael Svensson
Jonatan Treijs
Others:
Baran Cürüklü
CONTENTS
1
2
3
Introduction .......................................................................................................... 2
1.1
Background ................................................................................................. 2
1.2
General Description .................................................................................... 2
1.3
Definitions .................................................................................................. 2
Requirements........................................................................................................ 2
2.1
How the Requirements Are Organized in the Document ........................... 2
2.2
Main Requirements ..................................................................................... 3
2.3
Additional Requirements ............................................................................ 4
Future Development ............................................................................................ 5
2(6)
Course CDT310, Software Engineering
1
1.1
Group
no.
1
Date
5/8/2017
Introduction
Background
The Blind Cortex software development team has been requested to create a software
utility which is of great interest to our customer, Baran Cürüklü. The software will be
a helpful tool for the customer needs. Besides, it will contribute to the scientific
research about the Primary Visual Cortex in the brain.
This document describes the requirements and constraints on the software to be
developed, and briefly describe what the final product will be like in terms of
functionality.
The document should be distributed to the Blind Cortex steering group, which is in
charge of the quality assurance of the project, and also to the customer to make sure
that we are in agreement of the requirements on the product to be developed.
1.2
General Description
Seen from the outside, the product will be a piece of software that can take images as
input and process them to detect edges. The output is a new image showing which
edges were detected.
On the inside, the software will be more complicated, since it will perform the image
processing based on a plausible biological model, simulating how edge detection
works in the human eye and brain.
To complete these tasks the product will use a neural network simulation, which is
going to be the image analyser and output producer. Some information about image
orientation will also be represented in the output image.
Interaction with the user will be through a friendly graphical user interface (GUI)
which will accept some common image formats as input.
1.3
Definitions
Terms
NEST
Python
2
2.1
Definitions
The Neural Simulation Technology Initiative:
http://www.nestinitiative.org/index.php/Software:About
Python Programming Language:
http://www.python.org/doc/faq/general/#what-ispython
Requirements
How the Requirements Are Organized in the Document
The requirements are organized into two subsections; Main Requirements (2.2) and
Additional requirements (2.3).
3(6)
Course CDT310, Software Engineering
Group
no.
1
Date
5/8/2017
The main requirements define the requirements needed to make the project make
sense, and describe on a high level what the software is supposed to do. The tools and
platforms we will use for the implementation of the software are also defined as main
requirements.
The additional requirements are not critical for the project, but describe what we want
the finished product to be like.
Each requirement has an identity code on the form: R-XX-NNN.
R simply stands for “requirement”, XX is combination of letters describing what type
of requirement it is and NNN is a number simply counting the requirements of each
type.
The letter codes:
IO: Requirements dealing with input and output to/from the software.
DC: Requirements dealing with design constraints on the software.
DE: Requirements dealing with the development environment for the software.
UI: Requirements dealing with the user interface of the software.
2.2
Main Requirements
Identity
R-IO-001
Prio.
1
R-IO-002
1
R-IO-003
1
R-DC-001
1
R-DE-001
1
R-DE-002
1
Description
Still image analysis
Definition: The software must be able to detect edges in still images.
Motivation: This is the main purpose of the software.
Dominant orientation output
Definition: The software should output some representation of the
dominant orientations in each spot of the visual field.
Motivation: Detecting orientations of line fragments is an important part
of biological edge detection, and should be shown in the output.
Image output
Definition: The software should output an image showing the detected
edges.
Motivation: It is important to get a visual result to confirm that the
software really can detect edges.
Human vision simulation
Definition: The software must detect edges by simulating neurons in the
human primary visual cortex.
Motivation: The purpose of the project is to simulate human vision.
NEST simulation tool
Definition: The neural networks in the software should be modelled using
the NEST simulation tool.
Motivation: Building our own neural networks would be a project in
itself.
Python language
Definition: The programming language used to develop the software
utility should be Python.
Motivation: Writing code in Python is compatible with the NEST
Source
Baran
Cürüklü
(customer)
Baran
Cürüklü
(customer)
Baran
Cürüklü
(customer)
Baran
Cürüklü
(customer)
Baran
Cürüklü
(expert)
Baran
Cürüklü
(expert)
4(6)
Course CDT310, Software Engineering
R-DE-003
2.3
1
Group
no.
1
Date
5/8/2017
simulation tool and they will work together in order to get the neural
network functionality.
LINUX platform
Definition: Development of the software should be done under LINUX
platform environment/operating system.
Motivation: Needed NEST utilities as well as Python language has been
tested under this kind of environment.
Baran
Cürüklü
(expert)
Additional Requirements
Identity
R-UI-001
Prio.
2
R-UI-002
2
R-UI-003
2
R-UI-004
2
R-IO-005
1
R-IO-006
1
R-IO-007
1
R-UI-005
1
R-UI-006
1
Description
Graphic user interface
Definition: The software should include a simple windowing system to
allow the user to interact with it.
Motivation: A GUI would make it much easier to use the finished
program.
GUI image loading
Definition: From the GUI, the user should be able to choose an image and
load it into the simulation model for processing.
Motivation: It should be easy to test the system with different images.
GUI output viewing
Definition: When the processing of an image is done, the user should be
able to chose to view the result from the GUI.
Motivation: It is desirable to have an easy way of presenting the output to
the user.
Neural network parameters
Definition: Width and height of simple cell receptive fields and number of
spots should be adjustable.
Motivation: This could be used to tweak the application to produce
optimal output for a specific image.
JPEG image format
Definition: The software should be able to process images of JPEG
format.
Motivation: JPEG is a very common image format. If the software can
handle this format, it will be able to process most images out there.
Bitmap image format
Definition: The software should be able to process images of Bitmap
format.
Motivation: Bitmap is a common image format and it would be desirable
to be able process images of this format.
Spiking times
Definition: The software should give some output of the spiking times of
the neurons (store it away in a file).
Motivation: The customer is interested in seeing this.
Abort process
Definition: It should be possible to abort a simulation from the GUI.
Motivation: Processing large images can be very time consuming. You
should not have to wait 5 hours for loading the wrong file.
Simulation time estimate
Source
Blind Cortex
project group
Blind Cortex
project group
Blind Cortex
project group
Blind Cortex
project group
Baran
Cürüklü
(customer)
Baran
Cürüklü
(customer)
Baran
Çürüklü
(customer)
Blind Cortex
project group
Blind Cortex
5(6)
Course CDT310, Software Engineering
Group
no.
1
Date
5/8/2017
Definition: The GUI should output an estimate of the time required to
project group
process a selected image.
Motivation: Process times can be long; it would be good for users to know
how long they would have to wait for the processing to be done.
3
Future Development
The original plan for the project was to develop a product based on biological vision
that could detect edges in moving images from web cameras. However, the
accomplishment of this goal was unrealistic with the limited time frame of the project,
and we instead agreed to develop a system that could detect edges in still images (still
using the primary visual cortex model).
In an eventual continuation of the project we (the Blind Cortex project group) believe
it would be possible to attach a module to the system that splits up moving images to
stills so they can be processed by the existing software, and then play the output as a
movie when the processing is done.
6(6)
Course CDT310, Software Engineering
Group
no.
1
Date
5/8/2017
REVISION
Rev. Page (P)
Description
ind. Chapt.(C)
001
P3 C1
Added general description
002
P5 C2
Defined main requirements R-IO-001, R-IO-002, R-IO-003,
R-DC-00, R-DE-001, R-DE-002, R-DE-003
003
P6 C2
Defined additional requirements R-IO-004
004
P3 C1
Added partial background information
005
P3 C1
Added definitions: Python, NEST
006
P6 C2
Added details for requirements R-DE-002, R-DE-003
007
P3 C1
Added customer as receiver of the Requirements Definition document
to the background information.
009
P2,3 C2 Filled out the section about organization of requirements
010
P4 C3
Described eventual future development
011
P4 C2
Removed requirement R-IO-004 (Moving image analysis)
012
P3,4 C2 Edited the misspelling of Baran’s name
013
P4 C2
Added additional requirements R-UI-001, R-UI-002, R-UI-003,
R-UI-004.
014
P3 C2
Updated definition of R-DC-001
015
P4 C3
Added requirements R-IO-005 and R-IO-006
016
P3 C2
Updated definition of R-IO-001
017
P5 C2
Updated definition of R-UI-004
018
P2 C1
Removed TBD
019
P5 C2
Added additional requirement R-IO-007
020
P2 C1
Updated Background and General description.
021
P3 C2
Updated motivation of R-IO-002
022
P2 C1
Removed Related documents section (there were no such documents)
023
P4 C2
Added additional requirement R-UI-005 and R-UI-006
024
P5 C2
Updated definition of R-UI-004
Date
Initials
20080402 UH
20080402 UH
20080402 UH
20080406 MC
20080406 MC
20080406 MC
20080406 UH
20080411 UH
20080411 UH
20080411 UH
20080411 UH
20080411 UH
20080411 UH
20080411 UH
20080411 UH
20080416 MA
20080416 JJ
20080421 UH
20080421 UH
20080421 UH
20080421 UH
20080421 UH
20080430 MA