Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

Software Requirements Specification

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

4. External interface requirements 8


4.1 User Interfaces! 8
4.2 Hardware Interfaces! 8
4.3 Software Interfaces! 8
4.4 Communications Interfaces! 9

5. Non-functional Requirements 10
5.1 Performance! 10
5.2 Security! 10
5.3 Software Quality Attributes! 10

Group Zulu Page 2


Zulu Photo Management System HCI CW 1.2

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.

Group Zulu Page 3


Zulu Photo Management System HCI CW 1.2

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.

2.2 Product Features


The system has three core functionalities, Add, Manage, and Share. A central server
device stores the users photos and performs tasks when requested by a client device.
Client devices could be phones, cameras, laptops, digital photo frames, or any other
device capable of a network connection and of storing and/or displaying photographs.
The process begins when your client device comes into contact with the server, and

Group Zulu Page 4


Zulu Photo Management System HCI CW 1.2

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.

1See Section 4.2 for more information.


Group Zulu Page 5
Zulu Photo Management System HCI CW 1.2

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.

Group Zulu Page 6


Zulu Photo Management System HCI CW 1.2

3.3 Share Photos


3.3.1 Description and Priority
Users should be able to choose from a range of different devices and services to
share selected photos to, including the device from which the user is making the
request. The user should be prompted for any information required to share the
photos that is not already available, and given the option to change the information
that will be submitted. If the user selects to share photos to a device those photos
should be pushed to the device and displayed as soon as the device connects to
the server. For a service the photos should be sent in whatever form the service
requires it’s submission. There should be an easily extendable framework for adding
new devices and services.
3.3.2 Functional Requirements
REQ-8: Must be possible to choose photos and share them with any available
service or device.
REQ-9: Must be easy to add new services or devices to share to.
REQ-10: Client Devices must be able to display photos shared with them, and
should do so automatically if appropriate (i.e., digital photo frames).
REQ-11: Any information that will be submitted to other services should be
displayed for the user to check, and any necessary information not already
provided should be requested.
3.3 Settings
3.3.1 Description and Priority
Should be possible to add user accounts and restrict available operations to certain
accounts.
3.3.2 Functional Requirements
REQ-11: There should be a user management system that allow certain users to
be limited in the tasks they can perform.

Group Zulu Page 7


Zulu Photo Management System HCI CW 1.2

4. External interface requirements


4.1 User Interfaces
Since there will be client software on multiple types of device it is important that all
devices have a consistent interface. Many tasks (adding details for photos, sharing
photos with different devices/services) will require information from the users. The
client application should be able to display these list dynamically, using a description
provided by the server to inform the user what is required, and the type of information
requested to display a suitable method of entry. This will allow additional options/
changes to the information needed to only require an update to the server, not the
client software, and keep information entry consistent across all client devices.
Operations that allow users to Share and Delete photos should be clearly highlighted
to prevent users accidentally using them.
There should be a minimum of core screens, one for each major operation (Add,
Manage, View, Settings) and all addition options and messages should be overlaid on
top of these screens.
When users are presented with the ability to select photos options to filter and sort the
photos by all available information should be clearly presented as the ability to access
photos in a manner suitable to the user is a core goal of the system.
4.2 Hardware Interfaces
Since the product is intended to store multiple users collections of photos it is
important that the server box has a high storage capacity.
The server also needs to be able to connect to client devices to share and add photos,
and thus must include Bluetooth, 8.0.11g/n connections, as well as fast (100 or 1000
bit) ethernet connections.
The server software shouldn’t be too intensive in terms of processing power, so the
hardware should be able to run with fairly low powered hardware.
Client devices should be able to display and/or acquire (take/download/etc) photos,
and connect to the server by at least one of the interfaces specified above.
4.3 Software Interfaces
The most important software interface will be the server/client communication. The
server should provide the client software with any information that is requested about
the photos/services/options presented. We recommend that such information is
communicated using xml (http://www.w3.org/XML/) containing the appropriate data.
As a established and flexible parsable language XML is perfect for this system and
allows strict but extendable information to be generated.
It is also important that there is a well documented interface to allow the addition of
extra sharing services/devices to the server software, so that new options can be
added easily. The easy addition of new sharing methods makes the ability of the server
to inform the client what information is needed for each option very important.
The server should also use a database to store the information about existing photos in
the system. The specific implementation used is unimportant as long as it is fast and
can cope with sorting large databases without issue on low powered hardware.

Group Zulu Page 8


Zulu Photo Management System HCI CW 1.2

4.4 Communications Interfaces


The communication between client and server it is important that a stateful
communication interface is used, i.e. it is must be know whether or not a message has
reached it’s intended destination. This should help prevent corruption of data and
ensure that when issues occur the user isn’t left wondering why nothing is happening.
Also important when communicating between Client and Server, especially from an
external device via the internet, is that the information, photos and the information
about when, where and what they depict, is secure. Such information comes with
important privacy concerns.
The server should use HTTP and HTTPS to connect to online photo sharing services,
and should also be able to use SMTP to share photos by email. Such services come
with the same privacy concerns as internal communications between Client and
Server, and all measures to secure it should be taken, but this may not be possible
depending on the service.

Group Zulu Page 9


Zulu Photo Management System HCI CW 1.2

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.

Group Zulu Page 10

You might also like