Professional Documents
Culture Documents
Software Requirements Specification Zulu Photo Management System
Software Requirements Specification Zulu Photo Management System
for
Zulu Photo Management System
James Titmuss,
James Morton,
Sarah Bowhill,
Sardor Kadyrov,
James Rose,
Zhu Zhongda
Group Zulu
Version 1.0
28th February 2010
2498 Words
(Not including titles and footnotes)
Zulu Photo Management System HCI CW 1.2
Contents
1. Introduction
3
1.1 Purpose! 3
1.2 Intended Audience! 3
1.3 Project Scope! 3
2. Overall description
4
2.1 Product Perspective! 4
2.2 Product Features! 4
2.3 User Classes and Characteristics! 5
2.4 Operating Environment! 5
3. System Features
6
3.1 Add Photos! 6
3.2 Sort Photos! 6
3.3 Manage Photos! 6
3.3 Share Photos! 7
3.3 Settings! 7
5. Non-functional Requirements
10
5.1 Performance! 10
5.2 Security! 10
5.3 Software Quality Attributes! 10
1. Introduction
1.1 Purpose
This document describes the authors’ proposal for a system to aid in the organization
and sharing of digital photographs both within the home and throughout their wider
network of friends and associates. The description is intended to give a specific
overview of the key features the product will require, and the minimum of operations it
must perform.
1.2 Intended Audience
This document is aimed mainly at the designers and developers of the described
system, allowing them to set targets and meet a clear list of criteria in the design of the
product. It will hopefully also be of use to the managers and testers of the project
allowing them to compare the product as it progresses and check that it meets the
criteria specified below.
1.3 Project Scope
The product specified below is intended to provide a single system to allow multiple
users in the house to flexibly store and sort their photographic media both between
themselves and among others. It allows media to be stored and maintained in a single
location from which they are distributed to multiple displays around the home, and can
be shared to other locations accessible by a wider group of people, for example
services such as Facebook™, Photobucket™ and Flickr™.
New methods for displaying photographs in the home, such as digital photo-frames,
are now a more common, but still emerging, technology. We feel that a system that
allows central management and selective distribution to such devices would be highly
desirable to a wide demographic of people. Imagine adding photos of your children on
holiday to their grandparent’s photo frame whilst still on the beach.
2. Overall description
2.1 Product Perspective
Having carried out a number of ethnographic studies into the way households organise
and share photographs we have identified some major areas of inefficiency and
inconvenience that commonly occur.
Everyone has their own way of organising their photos. This means every one is
different, which is a major frustration when sharing photos. Collections could be sorted
when they are displayed to the user, allowing anyone to see them however they desire,
rather than only the owners preferred system.
Sharing photos also contains a number of menial tasks that could be accomplished
with minimal user input. Many steps are repeated when adding to a storage system,
and then to sharing systems. It would be simple for many of these task happen
automatically.
The main purpose of the system is to provide a way for households to be able to share
photos with each other in a far more unified manner and also be able to share them to
people outside the household such as via social networking sites.
new photographs are automatically moved across to the server and processed. The
user can have predefined behaviours based on certain rules, allowing the system to do
as much as the work possible for them.
Whenever a collection of photos is displayed to choose from the user has the ability to
filter and sort them by any information they have entered into the system, allowing
them to have them appear in whatever way they prefer.
Most importantly they can choose to share the photos with any device they own that
supports the system, and with any service that the system can interface with. The
system is extendable so that any service can be used, but at a minimum should
support Facebook and Flickr on release. And if the user likes they can have the system
automatically push new photos to whichever device or service they like as soon as
they add them.
2.3 User Classes and Characteristics
The users of the system are not expected to have a wide range of computing skills as
they will be home-users of varying ages, and therefore requiring a simple interface in
order to use the system effectively. They are likely to have a rough idea on how the
system works as most will be familiar with interfaces for taking and viewing photos.
The typical sub-categories of user classes within a typical household generally consist
of parents and their children. It is important that the parents’ requirements are fulfilled
as they are likely to use the system more frequently, and control the buying of devices
in the home.
Since device is intended for households security must be considered, e.g. the
implementation of features such as parental controls. This is necessary to prevent data
loss occurring accidentally, i.e. due to users unable to understand the system. With
parental controls users can be assured that only they have the privileges perform
chosen actions.
Student households are typically more computer literate and it can be assumed that
this user class should have less trouble than others with using the system. In terms of
product design there should not be as much consideration required for this user class
in comparison to others.
2.4 Operating Environment
The core of the system, the server device, is intended to operate within a household,
and should be able to be place in any room with power and a (wireless or wired)
network connection.
There should be several software clients developed that are able to interact with the
server. These clients should ideally be able to run on any device that can take, store, or
display photos.
The hardware device should use common wireless communication technologies1
without causing interference with other devices.
3. System Features
3.1 Add Photos
3.1.1 Description and Priority
There should be two possible methods of adding photos, automatic and on request.
The user can configure devices to automatically send photos to the server when
they come into contact, with a specific specified workflow when this happens. It
should be possible to have any task that can be performed on the photos happen
automatically. The user should also be able to setup a process that occurs
automatically, but requires certain information, for example an album name and
description, before it completes. In these instances the server should submit the
queries to the user the next time they explicitly (i.e., not automatically) connect.
The ability to add photos to the system is a core feature, and this is of a very high
priority. The ability to have the process happen automatically is one of the unique
features that seperate this system from others, and thus while not essential is of
high importance.
3.1.2 Functional Requirements
REQ-1: Server must be able to receive photos from a client device, and if
requested automatically carry out any available operation on the photos.
REQ-2: Client devices must be able to connect and send photos to the server,
both automatically and when requested by the user, and either provide the
server with any pre-configured workflow, or specify a workflow saved on the
server.
3.2 Sort Photos
3.2.1 Description and Priority
Whenever a selection of photos is displayed for the user to select from/interact with
they should be able to choose to sort and filter the displayed photos by any
information stored about them.
3.2.2 Functional Requirements
REQ-3: It should be possible to sort and filter photos instantly by any information
available. It should be possible to have multiple level sorts (i.e., by date, and
then by group).
3.3 Manage Photos
3.3.1 Description and Priority
Users should be able to choose to manage their photos. It must be possible to
create groups of photos, to add and edit any information about them. Users should
be able to delete photos that they no longer want to keep. Users should be able to
add new types of information that can be added, with a name, description, and type
(number, date, text).
3.3.2 Functional Requirements
REQ-4: Must be possible to add and edit photo information.
REQ-5: Must be possible to create groups of photos, and give the groups a
name, description, and any other details the user would like.
REQ-6: Must be possible to add new types of information.
REQ-7: Must be possible to remove photos from the system.
5. Non-functional Requirements
5.1 Performance
The upload of photos with this system should be fast, allowing the user to access their
photographs instantly from any device connected to the system. The system must
have a large memory to store a substantial number of photos the user requires.
5.2 Security
As the information stored on this system is personal, there will need to be relatively
high security. The users will want to be able to have only their personal devices to be
able to access and edit the information on the system. An authentication system
should be provided requiring a username/password pair. Once a user has
authenticated ideally all communications between the client and server should be
encrypted, and at a minimum all private data, for example connection details for
sharing services, should be protected. Ideally a public/private key system would be
used to ensure maximum security of the potentially highly personal data being
transferred.
5.3 Software Quality Attributes
This system needs to be highly reliable due to users having a high emotional
attachment to majority of their photographs. Also it needs to be robust and easy to
maintain as a typical home user would want a simple system that will last a long time.
The system must be relatively easy to use as there will be a wide variety of user
abilities that will work and access this system. A manual must be provided with step-
by-step guidance on how to set up and use the system, with information on the
variation of devices able to connect to the system This manual must also contain any
help links (phone numbers, website etc.) if difficulty does occur with the user.