Software Development Project – SRS doc

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

15 Αυγ 2012 (πριν από 5 χρόνια και 2 μήνες)

276 εμφανίσεις

Software Development Project


SRS doc

2010


Developer

Name and Surname

Page
i




System Specification

For

An Encryption Program



Software Development Project


SRS doc

2010


Developer

Name and Surname

Page
ii

Table of Contents

1.

Introduction

................................
................................
................................
..............................
3

1.1

Purpose

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

3

1.2

Project Scope

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

3

1.3

Audience

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

3

2.

Overall Description

................................
................................
................................
..................
4

2.1

User Classes and Characteristics

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

Error! Bookmark not defined.

2.2

Operating Environment

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

4

2.3

Design and Implementation Constraints

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

4

2.4

User Documentation

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

4

2.5

Assumptions and Dependencies

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

4

3.

System Functionalities

................................
................................
................................
.............
6

3.1

Overview

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

Error! Bookmark not defined.

3.2

In Detail

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

6

4.

External Interface Requirements

................................
................................
...........................
8

4.1

User Interfaces

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

8

5.

Other N
onfunctional Requirements

................................
................................
.......................
8

5.1

Security Requirements

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

8

5.2

Software Quality Attributes

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

9

5.3

Detailed Time Plan

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

9





Software Development Project


SRS doc

2010


Developer

Name and Surname

Page
3

1.

Introduction

1.1

Purpose

This system specification document will serve to
describe

an encryption program that will be
used by any

business

wh
ich

would want to
secure its
data. Amongst the many
requirements that this document will outline regardin
g the
system

that is to be designed,
one may find detailed functionalit
ies of the program, the needed resources
, language that is
to be used to develop this application, and also a
detailed time plan which is to be followed
if the program is to be develope
d within the schedule stipulated.


The purpose of the system is that it
will be able to encrypt data input by the user.
However
,

one is to note the following two

encryption features
which

later on will be outlined
as functionalities of this system is that




it will be able to generate random secret keys which will be used during the
encryption using DES algorithm



it will also be able to encrypt these random keys using an asymmetric algorithm such
as DES, thus offering better security.

1.2

Project Scope

The scop
e of the system that will be developed is mainly to offer better security measures
which
the busines
s using this system can take in order to secure better
its

data.


The benefits that one will gain from this system are the following:



Greater

security of data

since…

o

…the data can be encrypted using a widely used algorithm;

o

…s
ecret
k
eys are also encrypted so that malicious users can never find what
the generated secret keys were.



The process is autonomous


user
s

need not invent secret keys (wh
ich might later
be forgotten)



The system can be run on any platform (Windows, Linux, Mac OS, etc)



Easy
-
to
-
Use


Apart from the benefits mentioned here above, the objectives of the system are the
following:



The system is to provide the business a way to encr
ypt and decrypt its data in a
secure and controlled way.



The system is to provide an easier, friendlier and autonomous way to the users to
encrypt its data by randomly generating keys.



The system is to provide more portability and flexibility.



1.3

Audience

T
his document

is intended for those business who intend to acquire an encryption system
with greater security, that runs on any platform.



Software Development Project


SRS doc

2010


Developer

Name and Surname

Page
4

2.

Overall Description



2.1

Operating Environment

For the system to run properly the buyer must ensure that on the machines there is the
Java Runtime Environment
installed, preferably the latest version

so that all updates are
included. Version 6 with Update 11 may be downloaded from this website:
http://java.com/en/download/index.jsp
.


The advantage of using java and its runtime environment is that it enables the system to
run on any platform, whether it is Windows, Mac OS, Linux or Solaris.

2.2

Desig
n and Implementation Constraints

In order for this system to be developed the following software packages will be used:


Microsoft Visio

This will be used to produce activity diagrams, charts, UML class
diagrams which will provide the technical people with

a better
understanding of the architecture of the system.

T h e r e a r e
o t h e r p r o g r a m s w h i c h c a n b e o p t e d f o r a n d w h i c h h e l p i n t h e
d e v e l o p me n t o f t h e s e d i a g r a ms ( e v e n N e t B e a n s i t s e l f d o e s h e l p
i n t h i s ).


N e t B e a n s I D E 6.1

T h i s w i l l b e u s e d t o d e v e l o p t h e
s y s t e m. T h i s w i l l e n a b l e a n d
h e l p t h e d e v e l o p e r s t o p r o d u c e a q u a l i t y s y s t e m s i n c e i t
p r o v i d e s h e l p w h i l e c o d i n g a n d h a s a n i n t e r f a c e w h i c h d o e s n o t
h i n d e r t h e d e v e l o p me n t p r o c e s s.



2.3

Us e r Do c u me n t a t i o n

Wh e n t h e s y s t e m i s c o mp l e t e d a u s e r ma n u a l w i l l b e d
e v e l o p e d i n o r d e r t o h e l p t h e u s e r s o f
t h e s y s t e m ma n a g e t h r o u g h t h i s a p p l i c a t i o n i f a n y d i f f i c u l t i e s a r e e n c o u n t e r e d. H o w e v e r,
t h e i n t e r f a c e w i l l b e q u i t e e a s y t o u n d e r s t a n d b u t t o p r o v i d e i mme d i a t e h e l p a n d r e f e r e n c e
t h e u s e r ma n u a l c a n b e u s e d. T h i s w i
l l a l s o s a v e t h e b u s i n e s s f r o m s p e n d i n g a d d i t i o n a l
mo n e y o n t r a i n i n g t o u s e t h i s s o f t w a r e.

2.4

As s u mp t i o n s a n d De p e n d e n c i e s

A s s u mp t i o n s:



T h e u s e r s o f t h e s y s t e m a r e p r o f i c i e n t i n u s i n g c o mp u t e r s o f t w a r e a n d ma n a g e f i l e s.



T h e u s e r s o f t h e s y s t e m k n o w a b o u t t h e
c o n c e p t a n d t h e u s e o f e n c r y p t i o n a n d
d e c r y p t i o n.




T h e b u s i n e s s e n v i r o n me n t w i l l i n s t a l l t h e n e c e s s a r y s o f t w a r e i n o r d e r f o r t h i s s y s t e m
t o w o r k. T h i s s o f t w a r e n e e d s t h a t t h e ma c h i n e o n w h i c h i t i s w o r k i n g h a s t h e J a v a
R u n t i me E n v i r o n me n t ( J R E ) i n s t a l l e d.

Software Development Project


SRS doc

2010


Developer

Name and Surname

Page
5




Private key will be shared

in a pre
-
determined secure way

between the two parties if
the encrypted file will be transferred

and decrypted by someone else.




The private key generated will eventually be exported into a file to be remembered
afterwards.
This should be kept in a safe and secure place, and so it is the
responsibility of the business people involved to provide this environment.




One of the requirements of the business which wants to acquire this system

should
be

to encrypt or decrypt
files

of data. This is being assumed since data can be input
in other various ways (e.g. by copying text, scanning, etc).



Software Development Project


SRS doc

2010


Developer

Name and Surname

Page
6

3.

System
Functionalities

3.1

In Detail

High Importance Functionalities

3.2.1.

The system will be able

to

encrypt files;


3.2.1.1.

Description and
Priority


One of the main purposes the system is going to be designed for is
encryption of data. Data will be passed in files to the program through a
custom
-
built interface, where the data in the file(s) will be encrypted and
output into another file whi
ch may contain the encrypted keys too. This
functionality is a high importance functionality as without it the program
does not make sense and will not be useful to any business which might
want to make use of it.


3.2.1.2.

Functional Requirements

1)

The system will
be able to open any file and loads the data into a
stream of bytes.

2)

The system will be able to generate automatically a secure random
secret key using the well
-
known algorithm DES

3)

The system will be able to encrypt the loaded stream of bytes
using DES
algorithm.

4)

The system will be able to generate a public and a private key
using the non
-
symmetric algorithm RSA

5)

The system will be able to encrypt the secret key generated in (2)
using the public key generated in (4).

6)

The system will be able to export encr
ypted/wrapped secret key
(included within the public key) into a file which can be forwarded
with the encrypted content file(s).



3.2.2.

The system will be able to decrypt files (which were encrypted using
the algorithm used in this system i.e. DES);



3.2.2.1.

Descripti
on and Priority


Any files encrypted using the method described in 3.1, can be decrypted
back to the original text using this system. The functionality enables a
business to retrieve back data that was made to be secure. This is a highly
important functi
onality as without it the functionality described in 3.1 would
not be of much help.


3.2.2.2.

Functional Requirements


1)

The system will be able to decrypt back/unwrap the secret key
from the public key using the private key that was exported to a
file.

2)

The system
will be able to decrypt a stream of encrypted bytes.

Software Development Project


SRS doc

2010


Developer

Name and Surname

Page
7

3)

The system will output a file with the original text after it has been
decrypted.


Medium

Importance Functionalities


3.2.3.

The system will be able to encrypt/ decrypt secret keys used to
encrypt/decrypt the f
iles



3.2.3.1.

Description and Priority


Since one of the system objectives is to offer greater security, it will
encrypt the secret key randomly generated by the using the DES algorithm
so that it is not easily read/accessed by any malicious users. This process
is more referred to as wrapping t
he secret key with the public key
generated by the non
-
symmetric algorithm. Obviously as long as the
private key generated is kept safely the process can all be reversed and
thus decrypting/unwrapping back the secret key generated by the
symmetric algorit
hm. This is also a high importance functionality as
without it, the system would not meet one of its main objectives.



3.2.3.2.

Functional Requirements




The system will be able to encrypt (wrap) and to decrypt (unwrap)
the secret key (generated using the DES algo
rithm with the use of
the classes
KeyGenerator

and
SecretKey
) using the public key and
private key respectively that were generated using the
KeyPairGenerator
,
PublicKey

and
PrivateKey

classes)
.



Software Development Project


SRS doc

2010


Developer

Name and Surname

Page
8

4.

External Interface Requirements

4.1

User Interfaces

The user interface will consist of a desktop application which will offer the user to encrypt/
decrypt files chosen. A
sketch of
the interface
is

Figure 1
, where the user is helped with
labels what to expect in the textboxes placed on screen. As one can
easily note there are
also button controls on the screen which give way to an operation as indicated.























Each of the above controls will be accompanied with help which can assist the users if the
find any difficulty while operating the system. The status label will keep the users informed
of the operations statuses which occur according the user’s command.


M
enus will be placed on the interface of the system which the user can use if he/she finds
it
more comfortable that way.

The menus will also be accompanied by shortcut keys which
makes the application more accessible for the user. The menus will be designed as follows:

5.

Other Nonfunctional Requirements

5.1

Security Requirements

Since the system wil
l encrypt the data passed on to by the user, the security is well
-
handled
by the system. However, during this process as also described above, the system will
produce a private key which should be kept in a safe place. This should not be shared with
anyo
ne whom the user/business does not want to decrypt and thus see the original text in
clear form.

Figure
1

Software Development Project


SRS doc

2010


Developer

Name and Surname

Page
9

5.2

Software Quality Attributes

The system will make use of designed classes that will handle encryption and decryption
while taking input and producing output fro
m and to a file respectively. These classes are
to be developed in a separate jar file so that they can be later reference in other projects
thus increasing code re
-
usability.


Flexibility in the system should also be noted. As also pointed out the
interface is quite
flexible and helpful (providing various ways and shortcuts to carry out the operations
required), however the system should be made flexible to operate on various operating
systems. This is a characteristic of this system and since it i
s going to be developed in java,
it would not be a problem since installing the JRE would solve the problem of different
platforms. Flexibility of using the system on different platforms will also lead to portability
of the system. The system will not be

a large
-
sized one and since java works on Linux,
Windows, etc, the system will be more portable.


In the system, exception handling will be given importance too. This will make the system
more robust by trying to handle properly the errors the system migh
t encounter.


5.3

Detailed Time Plan

Detailed Plan

The following is a time plan which will be followed in order to develop and test the system specified in
the previous sections. The time plan as one can notice follow the waterfall model and is spread over 10

weeks, thus finishing on the first week of April considering that the first week has started on Monday
26
th

January. Within these 10 weeks the system should be fully completed except maintenance work,
which has to be done when the system has started to
be operational and used by the business as
planned.










Software Development Project


SRS doc

2010


Developer

Name and Surname

Page
10






























Gantt chart of the plan with detailed times and phases.