Requirements Document V4

mewlingtincupΛογισμικό & κατασκευή λογ/κού

9 Νοε 2013 (πριν από 3 χρόνια και 7 μήνες)

76 εμφανίσεις


CMPT275 Fall 2009 Group 12


Virtual Mechanics

Marc Lynch

Chien Chen

Tyler Shao

Jeffrey Lim

Greg Steffensen

08

Fall

Requirements Document
V4


[ C o p y r i g h t 2 0 0 9 © V i r t u a l M e c h a n i c s ]

Virtual Mechanics

Requirements Document V4

1


Version History

Version 2

User registration feature added

Features generally reworded/made more specific

Introduction rewritten

Intended
audience examples added

Glossary: Part deleted

Glossary: Description added

Version 3

Table of contents updated

Screenshots updated to latest available

Appended photo albums example to tutorial

Updated space, external and interoperability
requirements

Added page headers

Changed cover page

Updated user registration requirement

Glossary updated

Version 4

Main menu screenshot changed, to reflect fact that all content is online now
(no "Download New", since all machines are always
available from online)

User requirements: removed sentence about photo posting (unimplemented)

Removed "Download new" from features (read above)

Removed "Auto update" from "Features > Settings" (same reason as above)

New screenshots for Settings
Menu, Comments Page, and Control Bar

Removed all mention of zooming function and upload photo function, from
all screenshots and documentation (unimplemented)

Non
-
functional s
pace/external requirements changed to reflect
implementation and space limits

on FTP server (1GB at SFU Filespace)

New screenshots for commenting tutorial, with actual online commenting
shown
. Sequence of steps to post a comment also
updated
.



Virtual Mechanics

Requirements Document V4

2


Table of Contents

Introduction

................................
................................
................................
...............

3

Intended Audience

................................
................................
................................
......

4

User Groups
................................
................................
................................
................................
................................
.

4

User Requirements

................................
................................
................................
................................
..................

4

Features

................................
................................
................................
.....................

5

User Registration

................................
................................
................................
................................
......................

5

Main Menu

................................
................................
................................
................................
................................
...

6

Start

................................
................................
................................
................................
................................
....................

6

Settings

................................
................................
................................
................................
................................
.............

7

Machine View

................................
................................
................................
................................
.............................

8

The Interface

................................
................................
................................
................................
................................
..

8

The Title Bar

................................
................................
................................
................................
................................
...

9

The Control Bar

................................
................................
................................
................................
..........................

10

Available actions within the Machine View

................................
................................
................................
...

10

The Comments Page

................................
................................
................................
................................
.............

11

The Interface

................................
................................
................................
................................
................................

11

Viewing Comments

................................
................................
................................
................................
....................

12

Posting a comment

................................
................................
................................
................................
....................

13

The Photo Page

................................
................................
................................
................................
.......................

15

The Interface

................................
................................
................................
................................
................................

15

Viewing photos

................................
................................
................................
................................
............................

15

Non
-
functional Requirements

................................
................................
...................

17

Product Requirements

................................
................................
................................
................................
........

17

Usability Req
uirements

................................
................................
................................
................................
.......

17

Performance Requirements

................................
................................
................................
..............................

17

Space Requirements

................................
................................
................................
................................
.............

17

Reliability Requirements

................................
................................
................................
................................
....

18

Standards Requirements

................................
................................
................................
................................
....

18

Delivery Requirements

................................
................................
................................
................................
.......

19

Implementation Requirements

................................
................................
................................
........................

19

External Requirements

................................
................................
................................
................................
.......

19

Interoperability Requirements

................................
................................
................................
........................

19

Ethical Requirements

................................
................................
................................
................................
...........

20

Privacy Requirements

................................
................................
................................
................................
.........

20

Example Tutorial

................................
................................
................................
.......

21

Glossary

................................
................................
................................
....................

28



Virtual Mechanics

Requirements Document V4

3


Introduction



The "Virtual Mechanic" app for iPhone is a teaching tool that allows users to learn
about how things work by virtually dissecting machines on the device's touchscreen
.
Potentially anyone who yearns to learn about how everyday machines work can
consult our program without getting
his or her

hands dirty. This valuable teaching
tool finds a unique niche in today's modern classrooms and teaching environments,
where people
can come together online and discuss how their favorite machines
work.


Virtual Mechanics

Requirements Document V4

4


The developers of the program will provide content by creating various virtual
machines for users to play with. For each machine, the user is presented with many
layered images that c
an be selected and dragged around to reveal other images
below and around them. All this is accomplished without using any tools or any of
the hassle that is associated with putting machines back together again.


When presented with a machine, users can t
ap and drag
component
s of the machine
around on the screen so that it feels like the user is actually dismantling the
machine. Users can find out more about what each
component
does by reading the
component
description, viewing other people's comments, and seeing relevant
photos.


Users can share knowledge and ideas by post
ing

ideas or
comments on a specific
component
of the machine or the entire machine in general. This inflow of new
information not only in
creases the learning value of the software, but also promotes
discussion between users.

Intended Audience

User Groups

The application is quite general and may apply to almost any sort of
machine
one
can imagine: Computers, cars,

boats, buildings, clocks, a
natomy, etc.
For that reason
the application will be of interest to a wide variety of technic
ians, mechanics, and
students.
The user groups are expected to have particular interest in performing
their learning in a social setting. Users require no more tha
n a basic understanding
of how to operate an iPhone. The groups may be categorized as follows:



Students learning about mechanical devices. (
T
rade schools, universities,
high schools
, etc.
)



People working in the field
of
maintaining mechanical devices. (Au
to
mechanics, airplane mechanics)



People interested in
developing mechanical devices.



People who enjoy learning about mechanical devices as a hobby.

User Requirements



The application is completely visual and thus is unavailable to the
visually
-
impaired.



The users must have access to an iPhone

and

iTunes with internet access.



In order to view comments

and machines,
the user must have access to
the
Internet
.

Virtual Mechanics

Requirements Document V4

5




Because the application is so heavily text based the user should also have
an intermediate underst
anding of the English language.

Features

User Registration

The very first time that the user opens the application they
will be greeted with a
welcome screen requesting them

to enter a
u
sername
and password. Their
username will
be attached to any co
mments

or photos that they post.
Once the user
enters their desired username they will be directed to the
Main Menu
.

The program
only asks for registration once, and only one user may use the application at any one
time.



Virtual Mechanics

Requirements Document V4

6


Main Menu

The
Main Menu

is the screen the user is greeted with when he/she
first
starts the
program (aside from the
very
first ti
me that user runs the program).
The
Main Menu

is displayed below.



Start

Shows the user a list of machines available, and a
llows the user to load a
machine

onto the iPhone
.


Virtual Mechanics

Requirements Document V4

7



Settings



Background color
-

Lets users choose from a selection of 1
2

colors for the
Machine View

background.



Shake to reset on/off
-

Toggles the option to reset all
component to their
default locations
by shaking the iPhone rigorously.

Virtual Mechanics

Requirements Document V4

8




Machine View

The Interface

The Machine View

(shown below) is the screen where the user may disa
ssemble
and interact with the m
achine of interest.
Below are descriptions of
what each
button does, and
also describes
how the user can interact with the
selected m
achine.

Virtual Mechanics

Requirements Document V4

9




The Title Bar

The title bar is displayed at the very top of the screen and contains:




To the far left the
Back Button
. The back button will display the name of the
previous page, and tapping this button will always take the user back to the
previous page.



Centered in the title bar is the
Selected
S
tatus
, which displays the name of
the current component which is selecte
d, and if no component is selected it
will display the name of the machine currently being viewed.



To the far right
is
the
Help B
utton.

Tapping the help button takes the user to
a page where they may view the user manual.

Virtual Mechanics

Requirements Document V4

10


The Control Ba
r

The control bar
is present whenever the user has a machine open. It is displayed at
the bottom of the screen and contains 4
usable

buttons:




Undo



When the undo button is tapped it returns the most recently moved
component to its last position.



Discuss



When the Discuss button is tapped it opens the comments page for
a particular component (when a component is selected) or the comments
page for the machine itself (if no component is currently selected).

In the
details view, the user can see a related p
hoto, read the details of the
component, and have an option to view other comments and post a comment
of his/her own
.



Photos



When the Photo button is tapped it opens the photo

album

page for
a particular component (when a component is selected) or the p
hoto page for
the machine itself (if no component is currently selected).



Reset



When the reset button is tapped it returns all the
components

of the
machine to their default location.

A
vailable actions
within

the
Machine View

The
Machine View

is the screen where the user may view and interact with the
machine. It is here that the user may disassemble the Machine or perform other
actions.



To select a component
: The user taps the component with their finger. The
name of the component is display
ed at the top of the screen in the title bar to
show that the correct component has been selected. Also

the selected
component becomes

sli
ghtly transparent to show that it has been selected.



To deselect a component
:
If t
he user taps on

any empty space on t
he
screen, t
he
previously tapped
component becomes opaque, and the title bar
updates to show that the
overall
machine is now selected. If the user taps on
a different component, then the previously selected component becomes
opaque,

and

the newly selected
component becomes slightly transparent,
and the title bar also updates to display the name of the newly selected
component.



To move a component
: Once the component is selected the user may gently
press their finger down on the component, and drag their fi
nger along the
Virtual Mechanics

Requirements Document V4

11


screen to the desired location. Releasing their finger at the desired location
will drop the component in the desired location.


The Comments Page

The Interface

The
Discuss and Comments

page is where the user can
see more details about a
c
omponent and add comments about it.
The comments page is accessed by tapping
the

Discuss


button in the control b
ar at the bottom of the screen
. Then tap on
“View Comments”

will bring up the latest comments
.

An example
“Discuss”

page for
a
component

DVD


is
shown
below.


Virtual Mechanics

Requirements Document V4

12



Viewing Comments

The comments page will provide the user with a list of comments on the
component
or on the machine that they have selected.



C
omments are posted by users and
it
include
s
: user

name,
date posted,
and
the comment made by the user. These comments are loaded from the server
and if no connection may be achieved will instead be replaced by the
comment: Could not connect to the server.
The comments for the DVD drive
are shown below
:

Virtual Mechanics

Requirements Document V4

13





If the comments nee
d more space than offered on the screen then the user
may scroll down on the list of comments by gently pressing their finger down
on the
comment list

and dragging their finger towards the top of the screen.
To scroll up the user repeats the procedure des
cribed above, only the user
drags their finger towards the bottom of the screen instead of the top.

Posting a comment

To post a comment tap the
“P
ost comment


button at the bottom of the comments
pane and the post a comment window will be displayed.
An ex
ample is shown
below:

Virtual Mechanics

Requirements Document V4

14




From here simply enter the comment by typing with the given keyboard and tap the
“Send”

button to post the comment, or tap back in the top left hand of the screen to
go back.

The comment will automatically be added.

Virtual Mechanics

Requirements Document V4

15


The Phot
o Page

The Interface

The photo album

view in Photos

(shown below) is
a

page where the user can view
photos of
whichever
component

or machine the user is studying.



Viewing photos

To view a larger version of one of the photos the user simply taps it in
the photo
screen and will be directed to a page containing the larger version of the image
. The
following view contains a
“B
ack
to list”
button,
component
name, help button, and
back to Machine View button
.

Virtual Mechanics

Requirements Document V4

16





Virtual Mechanics

Requirements Document V4

17


Non
-
functional Requirements

Product
Requirements

Product Name: Virtual Mechanics


Created by: Team Virtual Mechanics (SFU Fall

2009

CMPT275 Group 12)


Proposal: Allow users to analyze a machine by virtually disassembling
a

machine
and inspecting the individual components that it is compris
ed of.


Usability Requirements

After 10 minutes of experience with the software, an iPhone user with at least 5
hours of iPhone experience should be able to perform any of the functions when
asked, with no training necessary.

Performance Requirements

The

program should open within 10 seconds of the user tapping on the program’s
icon.


For internet access (i.e.
updating or
downloading
new
content) there should be no
more than
1

min
utes delay

other than the regular downloading rate the user
regularly experi
ences with their iPhone.


The following functions should be performed with no more than 3 seconds delay:



Selecting a part



Dragging a part



Undo previous drag and drop



Reset positions



Pressing the “Home” button on the bottom of the iPhone

The following f
unctions should be performed within 1 second:



Switching between any of the windows (i.e. views)



Exiting to
Main Menu



Changing background color and other
settings

Space Requirements

Virtual Mechanics

Requirements Document V4

18


The program itself will take up at most 10MB of flash drive space on the
iPhone and
harddisk space at the iTunes store.


The .plist that describes each individual machine’s titles, comments and pointers
will be no more than 500KB per machine.

Each machine component will require space for:



The original image

(max 50KB each)



Re
lated photos
(max 50KB each)

All media and plists will be stored on the FTP server (at SFU
-

ftp://fraser.sfu.ca),
which has a space capacity limit of 1GB.

Reliability Requirements

If the user performs an illegal operation, error
-
checking methods (report,

explain
and offer solution for the error) will be initiated. For minor errors, the program will
either ignore the operation or alert the user. For fatal errors like null pointers or
memory overflow, the program will quit to home page with a popup
describi
ng the
error
.

Standards Requirements

Current coding standards accepted for the iPhone and Objective
-
C will be followed
for this project and are listed below.

1.

Names of All UIViewController subclasses must follow the format:

(class's service) + (ViewControl
ler). For example, PhotoViewController means a
UIViewController subclass that displays photos of machine components.

2.

All class header should include the titles:

*/

Person Worked on:

Change History:

Problem to be solved:

Description:

*/

3.

Important methods that are complex should include comments that have the
information:

/*

description:

parameters:

precondition:

Virtual Mechanics

Requirements Document V4

19


postcondition:

*/

4.

All methods and variable names should be self
-
explainatory. (e.g.
componentsVector, touchesBegan,
drawComponentImage)


Delivery Requirements

This application requires the application’s executable file to run, as well as all
related source code.
New content added to the FTP with modification to the
MachineBuild.plist will automatically reflect in the pr
ogram with no input from the
user.


Implementation Requirements

The software will be developed using the Xcode programming environment SDK 3.1,
in the Objective
-
C programming language. The GUI will be fine
-
tuned using the
Xcode Interface Builder (XIB). The

software will run on Mac OS X on the iPhone
Simulator and on an actual
3G/3GS
iPhone. The frameworks involved are
Cocoa
Touch and

CFNetwork. The online user interactivity will be based on
an FTP server
which hosts an .
plist which

describes
machines and al
l their related
comments and
photos available for download
.

External Requirements

Comments and photos for each part will be stored in an FTP server
and will be
associated (linked) with the respective machine by using .
plist

files.

The FTP will
run off SFU

FTP Filespace with a total space limit of 1GB.

Interoperability Requirements

The requirement of importing this application to a machine (computer, cellular
-
phone, etc) is the operating system. The operating system must be Mac OS X with
iPhone SDK 3.1 or
greater.
Users of Microsoft Windows (XP or greater) can only
access the application through downloading it through the iTunes store.



Virtual Mechanics

Requirements Document V4

20


Ethical Requirements

This software is intended for educational purposes and
will b
e distributed freely.
Any costs incurre
d will be those associated with the user’s current data plan on
their iPhone account
when

downloading the application. This is a public application
and so every uploaded
comment or photo

will be screened for offensive content
.

Privacy Requirements

The Virt
ual Mechanic application will never ask the user to submit any persona
l
information aside from a user
name. Moreover, the application will not upload any
users'
private
information to the server or any third
-
party

applications
. All personal
user data
will b
e encrypted on a firewalled
FTP
server
.

Virtual Mechanics

Requirements Document V4

21


Example Tutorial

This tutorial shows how to open up a new machine, move components around, and
post a comment for a DVD drive.

Step
1
-

The main screen after starting the application



Tap on the start button (in the picture above) to
choose

a machine.

Tap

Virtual Mechanics

Requirements Document V4

22


Step 2


Choosing a machine


This tutorial shows
the
disassembly of a
personal computer as an example. Tap the
personal computer,
and
the screen will show the picture in step

3.

Tap

Virtual Mechanics

Requirements Document V4

23


Step 3

-

Analyze the machine by dissembling it





Components can be selected and dragged around, possibly revealing other components
below it
that

can also be selected and moved. Clicking on “Undo” reverses the previous
step, while clicking on “Reset” brings all the components back to their original positions.
When a component is selected, the title bar changes to show what is selected.
Tap

and
hold..

Drag and

drop.

Repeat..

Virtual Mechanics

Requirements Document V4

24


Step 4

-

Vie
wing

the comments and description of
a

component

of
a
machine



To see the
details

about a component, first choose one
component
of the machine.
Tapping on the "Discuss" button the screen will show the following view.




Tap

Virtual Mechanics

Requirements Document V4

25


Step

5

-

Adding comments
to a
component

of
a
machine




To
add comments
to a
component
of
a machine,
press the button called

“View
comments” then

"Post comment.."
A
keyboard and the comments text field will
appear after pressin
g the "Post comment" button, showing the view
below.

Tap

Tap

Virtual Mechanics

Requirements Document V4

26



After typing a comment, pressing the
"
P
ost"
button will upload the comment for
everyone to see.


Type..

.. and Send

Virtual Mechanics

Requirements Document V4

27


Step

6



Viewing related photos of a
component

of
a
machine




To view related photos of a component, first select the desired component and then
tap on “Photos”. A photo album of the component will be shown, and tapping on a
photo will expand it. Clicking on the “Back to list” button goes back to the album
view. This

is the end of the example tutorial.


1.
Tap

2.
Tap

3.
Tap

Virtual Mechanics

Requirements Document V4

28


Glossary

App
: Short for "application", this refers to the Virtual Mechanic application.

Canvas
: The background of the application's
Machine View


Comments
: A body of text, attached by a user, relating to a certain
component
.

Comments Page
: A page where one may view, or add
comments

about a
component
,
or a
machine
.

Component
: An image of a single section of a
machine
.
Comments

and
photos

can be
associated with a
component

just as they are with the
machine
.

Control

bar
: The control bar contains the options for the user's current view (i.e.
Machine View
,
Main Menu
, etc.).

Description
: A comment left by the author of the machine for a
component

or the
machine itself

Device
: The iPhone upon which the application has b
een installed.

FTP
: File Transfer Protocol: a software protocol for exchanging information
between computers over a network.

FTP Server
: A network server program or computer which responds to requests for
files via
FTP
.

Layered Image
: An image that is a
ctually comprised of more than one image. Each
image is given a hierarchal position so that it seems to cover over some other
image(s) and is covered by others. This creates the "layering" effect.

Mac OSX
: An operating system implemented by Apple for thei
r computer systems.

Machine
: A composition of images of different
components

of a
machine
, placed on
top of each other to recreate the
machine

as viewed from some angle. A collection of
comments

associated with the
components s

and with the
machine

itself

are
accessible through this.

Machine View
: The screen where one may disassemble or select different
components

of the
machine
.

Main Menu
: A user's default screen upon loading up the application. From this
point a user may select a
machine

to view, download new content from the web
service, or access the
Settings Menu
.

Virtual Mechanics

Requirements Document V4

29


Photo
: A user
-
uploaded picture file of a
component

or
machine
.

Photo Page
/Album
: A page where one may view, or add
photos
, and
comments

about a
component

or a
machine
.

Scr
een
: A reference to the view for a certain function (i.e.
Machine View
).

Settings Menu
: A menu of the application where a user can choose their personal
preferences for the behaviour of the application.

Title bar
: The bar shown at the top of the screen w
hich shows the name of the
currently selected
component
, and is visible at the
Machine View
, the
comments page
,
and the
photo page
.