Software Design Description Version 1.0 April 16, 2007 Steganography Sorabh Tilak Raj Chandan Submitted in partial fulfillment of the requirements of B.Tech Degree UP Technical University
Software Design Document for Steganography
Table of Contents 1.Introduction.................................................................................................................................3 1.Introduction.................................................................................................................................3 1.1.Purpose ...............................................................................................................................................3 1.1.Purpose ...............................................................................................................................................3 1.3References............................................................................................................................................3 1.3References............................................................................................................................................3
2.System Design..............................................................................................................................4 2.System Design..............................................................................................................................4 3.Data Design..................................................................................................................................5 3.Data Design..................................................................................................................................5 4.Procedural Design.......................................................................................................................6 4.Procedural Design.......................................................................................................................6 5.Architectural Design...................................................................................................................7 5.Architectural Design...................................................................................................................7 6.External User Interface..............................................................................................................8 6.External User Interface..............................................................................................................8
1. Introduction 1.1.Purpose The purpose of these guidelines is to lay out what application developers must do in order to carry out their part in the overall process of making standard computers and software as accessible as possible to people with disabilities or those with reduced abilities due to aging. It also clearly describes about the guidelines of the project its constraints, modules their working and interaction of the product with external environments.
1.2
Scope
The proposed system is a product which is capable of hiding the information into other information. The hidden information can be a text file, image file, audio file, video file or simply a message. The Carrier file can also be one of text file, image file, audio file, and video file. The product (software) should also support encryption and compression.
1.3
References
The Following documents are provided with the product other than SDD • SRS • Installation GUIDE • User Manual • Context Sensitive Help • Tutorials for using the Software
2. System Design 2.1.
Description
The Software should be designed in such a way that Login Screen should be prompted first to authenticate the users who are using the software. Then the main Interface should be shown. This Interface is centralized interface and contains path to all the functionality provided by the software. Any further form can be prompted on clicking on various buttons on the main interface. Any further Form would be able to perform its corresponding task and it would also contain the functionality to go back to the main Interface. There should be only one exit point in the application and that would be in the main form. Any other form or interface would just have the path to the main form rather than having an exit path. To quit from application, user should go to the main interface from any other interface.
3.
Data Design 3.1.Database Structure No explicit data base has been used in the product. All the database tasks are carried out using file handling. The following file are used for storing the data • Stego.config : for storing the user account information, using which the application can be invoked. • Register.config : It stores the name of the owner of the application to which the product is registered. • Schedule.dat : It is used by scheduler to determine which tasks have been executed and which have to be executed and at what time • Log files : these files are used to store the logs of the previous tasks carried out by the software. Following log files are used o Text.log : It stores all the operations executed during text steganography o Image Log: It stores all the operations executed during image steganography o Audio Log :It stores all the operations executed during audio steganography o Video Log :It stores all the operations executed during video steganography o Error Log :It stores all the operations where some errors are encountered
4.
Procedural Design 4.1.
Overview :
3-tier architecture is used for procedural design. • 1st tier : Graphical User Interface (GUI) modules • 2nd tier : Connection modules • 3rd tier : Core modules 1st tier (GUI modules): At this level, the modules are written for the designing of the application. Example includes: MainGUI, StartForm, AudioGUI, TextGUI, and many more. These modules are solely responsible for the look & feel and the over all User interface. These are basically used as interaction between user and rest of product. 2nd tier (Connection modules): At this level the modules are written for providing the interface between the 1st tier and 3rd tier. The core modules are written in the 3rd tier. And the connection modules act as a pipe between GUI and core modules. When any steganographic task is to be done, the control is passed to connection modules. These modules then introspects the arguments and type of the tasks and then appropriately execute the desired core modules and store the result and then return back the data to the GUI modules. 3rd tier (Core modules): core modules are responsible for providing the functionality of the application. These receive the arguments from the connection modules and carry out the appropriate tasks.
5.
Architectural Design Data Flow Diagram
5.1.
The data flow diagrams are provided as separate document.
5.2 Module Description: •
• •
Following Modules are used: GUI Modules o SplashWindow, Authentication, Password, Register o StartForm, MainGUI o TextGUI, ImageGUI, AudioGUI, AudioExtractGUI, VideoGUI, VideoExtractGUI o UserGUI o CryptGUI, CompressionGUI, ZIPGUI, LogGUI, ScheduleGUI Connection Modules: o Schedular, Log, User, FileFilter, AudioFilter, TextFilter, VideoFilter, Timer, ScrollablePicture, Element Core Modules: o Text : txtwrite, txtread, rtfread, rtfwrite, htmread, htmwrite o Audio : extract2bitdemo, read2bitdemo , writefile, readfile, writebuffermessage, readbuffermessage o Video : writefile, readfile, writebuffermessage, readbuffermessage o Image : bmpFileRead, bmpFileWrite, bmpImageRead, bmpImageWrite, bmpTextRead, bmpTextWrite, gifFileRead, gifFileWrite, gifTextRead, gifTextWrite o WriteUser, ReadUser
5.3 SiteMap The following order of events occur in the software run : SplashWindow LoginForm MainForm TextGUI ImageGUI AudioGUI, AudioExtractGUI VideoGUI, VideoExtractGUI UserGUI, Register CryptGUI, CompressGUI, ZIPGUI LogGUI, SchedularGUI Aboutus Help EXIT
6. External User Interface 6.1.
User Interfaces
Splash Screen : It is the first screen which is shown to user. It lodes other modules of the project. Login Screen : It is for security purpose. It asks the user to give its name and password. Only authenticated user can use the software. Main Form : It provides various features to user about the mode of use of software. User can choose text, audio, video ,image option and can do work on it. It also provides various other features like user management, compression, encryption, zip, log file. Help : By clicking on help button help on corresponding topic is shown. Back: By clicking on this button the main form will appear. Exit: Click on exit button on main form will shutdown the application. Error Messages : Proper error messages will appear when any error is encountered.
6.2.Hardware Interfaces Apart from the recommended configuration no other specific hardware is required to run the software.
6.3.Software Interfaces The JRE is required to run the software. The JRE version should be 1.6 or higher. The only other software required is the Windows media player to play the video files. The mp3 plugin is also required to play mp3 files
6.4.Performance Interfaces For the performance issue there may be some minute delay in case of scheduled tasks. If tolerance limit of scheduler is reduced, there is a considerable delay in the performance of the overall application