SE Requirements Specification (1)

advertisement
Requirements Specification
Android Text Encryption
http://code.google.com/p/androidtextencryption/
Tommy Fritz
Nghia Nguyen
Paul Scott
Sara Wells
Submitted October 25, 2010
Introduction
Encryption as an art has existed for centuries, vastly pre-dating the technological adaptations we
take for granted today. Early encryptions were effective, but generally simple and limited by the
time required to manually encrypt, send, and decrypt messages. In today’s society, almost
instantaneous encryptions performed by computers are part of everyday life and make secure
shopping, banking, data exchange, and other activities possible. One popular form of
communication, however, generally lacks any sort of sophisticated encryption – text messages.
Many people send delicate information and conduct private conversations via text with little
protection from third parties who might intercept the message or the storage of their information
in phone company records. In order to fill this void and offer customers a more securely private
means of textual communication, Fish Eating Penguin hopes to develop Text Encryption, an
application for Android phones.
Text Encryption will be a third-party application capable of running on any Android system. It
will allow users to send and receive encrypted text messages using the standard SMS text
messaging system, and will only send encrypted data over that system. Without the Text
Encryption program and an appropriate key/password, any intercepted or stored messages will
appear unreadable. In this way, we hope to provide a safe and secure means of transferring
private messages between any two Android phones.
This paper details the specification of the Text Encryption system in two main parts: a
requirements section and a use case section. The requirements section lists all currently
anticipated functional and non-functional requirements. The use case modeling section provides
a use case diagram representing the system and brief and detailed descriptions of each use case.
Additionally, the responsibilities of each team member are addressed.
Requirements Specification
Functional Requirements
R01 Text Encryption should encrypt ascii characters
R02 Text Encryption should decrypt ascii characters
R03 Text Encryption should function with standards of SMS android telephony package
R04 Text Encryption should take keyboard input
R05 Text Encryption should determine when it can and cannot get message service
R06 Text Encryption should be able to send unencrypted messages
R07 Text Encryption should allow different encryption between multiple persons
Non-Functional Requirements
N01 Only works on Android based phones
N02 Should fit encryptions within 160 characters
N03 Will be written in Java w/ Android packages
N04 Only Roman alphabet and Ascii characters
N05 Should be usable out of the box by anyone who has used SMS before
N06 Should encrypt and decrypt without a pause, does not slow down a text
Use Case Modeling
Use Case Diagram
Use Case Descriptions?
USE CASE
Description
Actor
Precondition
TEXT MESSAGE ENCRYPTION
Software user (Sender and Receiver)
The software interact with the android text message, showing the ENCRYPT
and DECRYPT icon on the top right of the text message window. User must
have android phone and the text message that supports this software.
Postcondition The input should not over 180 characters. English as default languages, using
the roman alphabets.
Functions
 Setup default encrypt key and decrypt key
o To save time, the software automatically use default key to
encrypt or decrypt the given message.
 Encrypt text with given key


Note
o Sender is asked to input the key, which is used to encrypt the
message.
Decrypt text with given key
o Receiver is asked to input the key, which is used to Decrypt the
message.
Install/Uninstall
o Setup or remove the software from the android phone.
If the receiver input a wrong key code, the software still produce the output,
however the output is not correct as the sender’s intention.
Download