The Electronic Stamp Mail Server and Client Project Part 3: Software Design Specifications. SDS Final November 3, 2003



Similar documents
SaaS Encryption Enablement for Customers, Domains and Users Quick Start Guide

Spambrella SaaS Encryption Enablement for Customers, Domains and Users Quick Start Guide

Spambrella SaaS Encryption Enablement for Customers, Domains and Users Quick Start Guide

Configuring Mozilla Thunderbird to Access Your SAS Account

Kroll Mail Module. Contents

CISCO SECURE MAIL. External User Guide. 1/15/15 Samson V.

Bridging People and Process. Bridging People and Process. Bridging People and Process. Bridging People and Process

GUIDEWIRE. Introduction to Using WebMail. macrobatix. Learn how to: august 2008

Creating a Content Group and assigning the Encrypt action to the Group.

Stewart Secure User Guide. March 13, 2015

Direct Mail Training Manual

U.S. Bank Secure Mail

Secure Frequently Asked Questions

1. How to Register Forgot Password Login to MailTrack Webmail Accessing MailTrack message Centre... 6

Recipients Guide for Encryption Version 1.2

You must have at least Editor access to your own mail database to run archiving.

Access your account by clicking the link on the navigation bar. The first page you see is the Message List.

Secure Messaging (Direct) Training Manual

Background Information

Filtering with Microsoft Outlook

Table of Contents Chapter 1 INTRODUCTION TO MAILENABLE SOFTWARE... 3 MailEnable Webmail Introduction MailEnable Requirements and Getting Started

Class Outline. Part 1 - Introduction Explaining Parts of an address Types of services Acquiring an account

Reading mail via the Web on Mail.uh.edu

MECnet Portal: Using Web-Based

- - Learn More (Please click on one of the links below) What s new? What s changed?

. Electronic mail, or , is the most frequently used service on the Internet. Seema Sirpal Delhi University Computer Centre

How To Set Up Your

Secure User Guide

MoodleMobile Block. Adding MoodleMobile to your course

Address Collector. - Tutorial -

How to Use Boston Private Bank s Secure Mail Service

NEVER guess an address. Your mail will nearly always go to the wrong person.

Welcome to HomeTown Bank s Secure ! User Guide

Yahoo Terminology

Using Webmail. Document Updated: 11/10. Technical Manual: User Guide. The Webmail Window. Logging In to Webmail. Displaying and Hiding the Full Header

IMF Tune Opens Exchange to Any Anti-Spam Filter

Outlook 2013 ~ Advanced

Overview of Registered Envelopes. Registered Envelope Notification Message

Using Your New Webmail

TriCore Secure Web Gateway User Guide 1

Outlook Web Access End User Guide

PCRecruiter Internal Client

Collax Archive

-- Reading and Printing

Registering at the Secur site

USER GUIDE CALIFORNIA DIRECT. AXESSON 100 ENTERPRISE WAY, SUITE C-110 SCOTTS VALLEY, CA (831)

INET1005 May 2009 Getting Started with MyUH

School Mail System. - Access through Office 365 Exchange Online. User Guide FOR. Education Bureau (EDB)

Instructions for setting up Junk E mail filters

Outlook Web App The Basics

Adjust Webmail Spam Settings

Honeywell Secure External User Guide August 2013

-lead Grabber Business 2010 User Guide

Getting Started... Login to your Account. Set your Preferences Once logged in, click Preferences on the left.

Configuring Outlook to send mail via your Exchange mailbox using an alternative address

Using Webmail. Document Updated: 9/08. Technical Manual: User Guide. The Webmail Window. Displaying and Hiding the Full Header.

USC Marshall School of Business ShareFile_With_Outlook_Client_v2.docx 6/12/13 1 of 9

IIS, FTP Server and Windows

Business 360 Online - Product concepts and features

Webmail Friends & Exceptions Guide

SENDING S & MESSAGES TO GROUPS

Instructions for Secure Cisco Registered Envelope Service (CRES)

Encryption Procedures

If you are you are using Microsoft outlook 2007, then new toolbar will be added below the Outlook menu bar,

Regions Secure Webmail. Instructions

Using CONNECT to Outlook. CONNECT to Outlook ProductInfo. A strong team: DocuWare and Microsoft Outlook. Benefits

External End User Training Guide: Secure Extract

isecur User Guide for iphone

Outlook Web Access Tipsheets

E Mail Encryption End User Guide

Setting up Junk Filters By Louise Ryan, NW District IT Expert

Exchange Web Services [EWS] support in The Bat! v7

MUTUAL OF OMAHA SECURE SYSTEM CLIENT/PARTNER USER GUIDE

Protection for your account

HOW WILL I KNOW THAT I SHOULD USE THE IAS CONTINUITY SERVICE?

Encrypted Users Guide. Revised 6/8/2015

Use the Navigation Pane This section covers items like: Changing the size of the Navigation Pane Minimising and expand the Navigation Pane

Policy Based Encryption Essentials. Administrator Guide

Time Monitoring Tool Software Requirements Specifications. Version <1.0>

Using etoken for Securing s Using Outlook and Outlook Express

Introduction to Webmail for staff

Using Outlook Web App

Adding the BU IMAP Inbox 1. Along the left side of the screen, there is a Mail column. Look for the All Mail Folders section.

Benefits. Efficient: use data from MS Outlook, Convenient Archiving From Outlook

What browsers can I use to view my mail?

Gmail: Sending, replying, attachments, and printing

Outlook Express POP Instructions - Bloomsburg University Students

User Guide for Kelani Mail

Using Rackspace Webmail

1 Accessing accounts on the Axxess Mail Server

10/28/2013. Partners Zixmail Web Portal. Provider Training. Let s Get Started!

How To Manage Your Spam On Graymail On Pc Or Macodeo.Com

Cloud. Hosted Exchange Administration Manual

Product Guide Revision A. McAfee Secure Web Mail Client Software

Configuring Outlook 2013 For IMAP Connections

Communications Express Filters

Using Your New Webmail

MedMail User Manual. Contents. 1.0 Introduction. 2.0 Installing the system. 3.0 Program operation

BOTTOM UP THINKING SETUP INSTRUCTIONS. Unique businesses require unique solutions CLIENT GUIDE

Baylor Secure Messaging. For Non-Baylor Users

Transcription:

The Electronic Stamp Mail Server and Client Project Part 3: Software Design Specifications by SDS Final November 3, 2003 1

This Software Design Specification was prepared and provided as a deliverable for Florida State University, Software Engineering Class, CEN 5035, for Fall Term 2003. This document is based on part on the IEEE Standard 1016-1998, IEEE Recommended Practice for Software Design Descriptions. Gabrielle Reed, Project Manager E Shen, Repository Expert Stanislav Ustymenko, Project Leader Yunwei Wang, Technical Leader 2

Change History Revision Date Author Section/Pages Affected Draft 1 Oct 20, 2003 R. G. Reed All Initial E Shen Stanislav Ustymenko Yunwei Wang Remarks Framework for Design Document Draft 2 November 3, 2003 R. G. Reed E Shen Stanislav Ustymenko Yunwei Wang Inserting each section as assigned Final edit 3

Preface This document is prepared as part of the requirements for Software Engineering class. The information contained within is based on preliminary information provided in the textbooks, the Software Engineering Class, and website. We would like to thank the PALS Learning Systems Institute at the College of Education for the use of equipment and software provided under National Science Foundation Grant # IIS-0218692. 4

Table of Contents 1. Introduction 1.1. Purpose 1.2. Scope 1.3. Definitions and acronyms 2. References 3. Decomposition Description 3.1. Module Decomposition 3.1.1. Module 1 Description 3.1.2. Module 2 Description 3.2. Concurrent Process Decomposition 3.2.1. Process 1 Description 3.2.2. Process 2 Description 3.3. Data Decomposition 3.3.1. Data Entity 1 Description 3.3.2. Data Entity 2 Description 4. Dependency Description 4.1. Intermodule Dependencies 4.2 Interprocess Dependencies 4.3 Data Dependencies 5. Interface Description 5.1. Module interface 5.1.1. Module 1 Description 5.1.2. Module 2 Description 5.2 Process Interface 5.2.1. Process 1 Description 5.2.2. Process 2 Description 6. Detailed Design 6.1 Module Detail design 6.1.1. Module 1 Detail 6.1.2. Module 2 Detail 6.2. Data Detail Design 6.2.1. Data Entity 1 Detail 6.2.2. Data Entity 2 Detail 4.1 Title of Class...28 4.1.1 Structure...28 4.1.2 Function...29 4.1.3 Interfaces...29 4.1.4 Application Data...29 4.1.5 Detailed Design Description ( Methods)... 5

Table of Contents Change History... 3 Preface... 4 Table of Contents... 6 Table of Figures and Tables... 7 1. Introduction... 8 1.1. Purpose... 8 1.2. Scope... 8 1.3. Definitions and acronyms... 8 2. References... 9 3. Decomposition Description... 10 Feature 1. Configuration Interface... 11 Feature 2. Send... 12 Feature 3. Receive... 13 Filter Rules... 13 Feature 4. Mail Manipulation... 15 Feature 5. Vendor... 16 Feature 6. estamp Management... 17 Feature 7. estamp Interface... 18 4. Dependency Description... 19 5. Interface Description... 20 6. Detailed Design... 21 6

Table of Figures and Tables Table 1 : Design Features and Reference Documents for Requirements... 8 Table 2 : Features accessible to user through the Configuration Interface...Error! Bookmark not defined. Table 3 :Sending Functions Implementation Design Classes... Error! Bookmark not defined. Table 4 : Receiving Functions Implementation Design Classes... Error! Bookmark not defined. Table 5: Email Filter Rules and Actions to Implement estamp Functionality...Error! Bookmark not defined. Table 6: Mail Manipulating Function Implementation Design Classes... 15 Table 7 : Vendor Requirements... 16 Table 8 : estamp Management Requirements... 17 Table 9 : estamp Interfaces... 18 7

1. Introduction 1.1. Purpose This document outlines the Software Design Specifications as part of the design plan and specifications for adding the estamp functionality to an existing email client, mailpuccino. This document expands the functionality described by the features in the Software Requirements Specifications (SRS) v3.0. Each feature discussed will describe the existing functionality of mailpuccino, and the additional classes, attributes and methods to be implemented. 1.2. Scope This document takes the features as outlined in the SRS and expands each of the features to include the design issues. The features are described by the Use Case names as in the descriptions and diagrams in the SRS. Additional requirements implemented based on the internal requirements are given numbers preceded by an S. These features are listed in Table 1. Table 1 : Design Features and Reference Documents for Requirements Feature Number Use Case Description Reference 1. Configuration SRS Appendix A 2. Send SRS Appendix B 3. Receive SRS Appendix C 4. Mail Manipulation SRS Appendix D 5. Vendor SRS Appendix E 6. estamp Management This document 7. estamp Interface This document 1.3. Definitions and acronyms 8

2. References IEEE Recommended Practice for Software Design Descriptions, IEEE Std 1016-1998 (Revision of IEEE Std 1016-1987) Available at http://web.nps.navy.mil/~nschneid/is3020/pdf/1016-1998.pdf 9

3. Decomposition Description 3. Decomposition Description 3.1. Module Decomposition 3.1.1. Module 1 Description 3.1.2. Module 2 Description 3.2. Concurrent Process Decomposition 3.2.1. Process 1 Description 3.2.2. Process 2 Description 3.3. Data Decomposition 3.3.1. Data Entity 1 Description 3.3.2. Data Entity 2 Description 10

Feature 1. Configuration Interface SRS Appendix A contains the requirements specifications for this feature. Table 2 : Features accessible to user through the Configuration Interface Use case Set up routine purchase to buy SRS stamps from a vender Use case Setup routine to Authenticate SRS stamps R1.5 User may log an e-stamp for further use R1.6 User may invoke / revoke an e- stamp for / from further use. estamp Manager and estamp, using a filteraction, display with estampbookframe Member of estamp Class 11

Feature 2. Send SRS Appendix B contains the requirements specifications for this feature. Table 3 :Sending Functions Implementation Design Classes Ref # Requirement Description MailPuccino Functionality R2.1.1 User may use the existing e- stamp in an email header when it is a reply to the email R2.1.2 User may select an existing e- stamp from logged e-stamps. R2.3 Email client shall attach e-stamp to the header of email. R2.4 User shall send email to the email server by clicking one button in email client. R2.5 User shall log the e-stamp for return use by click one checkbox in email client. present Class Responsible for Additional Feature/Functionality estamp.reusable estampmanager regularemailcomposer estampchoicepanel, estamp 12

Feature 3. Receive SRS Appendix C contains the requirements specifications for this feature. Table 4 : Receiving Functions Implementation Design Classes Ref # Requirement Description MailPuccino Functionality R3.1 User shall begin receiving emails from email server by click one button in email client or when the email client is launched. R3.2 Email client shall extract e-stamp from the header of email before put the email into folders R1.2a User shall read a received Regular email message in email client. R1.2b User shall read a received estamp email message in email client. R3.3 Email client shall check the validity of e-stamp R3.4 Email client shall separate emails with valid e-stamp from those without e-stamp or without valid e-stamp and put into different folders. R3.5 Email client may generate autoreply message for emails without e-stamp or without valid e- stamp. Automatic Retrieval By use of filter rules present Built in filter configuration Built-in filter actions Class Responsible for Additional Feature/Functionality Filter rule and estampmanager.getestamp() Filtered to specified LocalFolder estamp Manager using filteraction storing to specified LocalFolder estamp.isvalid() Filter rule includes estamp.isvalid() and location folders for Valid, Invalid or Missing estamps Filter action created to generate auto-reply message for Invalid or Missing estamps Filter Rules MailPuccino already contains options to configure email filter rules. It will execute the action portion of the rule format when the condition that is set up in the rule returns a True state. Class members and class methods may be used as conditions for these rules. This flexibility allows us to check for the validity of a stamp with the execution of public methods of an estamp class. Table 2 contains examples of the filter rules to be implemented in the existing email client. 13

Table 5: Email Filter Rules and Actions to Implement estamp Functionality Rule Condition Number 1. Email without estamp in header OR Invalid estamp 2. Valid estamp and reusable 3. Valid estamp and not reusable Methods to be Implemented getheader(), estamp.isvalid() getheader(), estamp.isvalid(), estamp.getreusable() getheader(), estamp.isvalid(), estamp.getreusable() Action Move to specified LocalFolder such as Trash, autoreply() Move to specified LocalFolder such as Inbox, saveestamp() Move to specified local folder such as Inbox. 14

Feature 4. Mail Manipulation See SRS Appendix D contains the specifications for this feature. Table 6: Mail Manipulating Function Implementation Design Classes Ref # Requirement Description MailPuccino Functionality R1.1 User shall compose a new email message in email client. R1.3 User shall reply and/or forward an email message saved in email client. R1.4 User shall delete an email message saved in email client. present present Present localfolder Class Responsible for Additional Feature/Functionality estamp is provided by Vendor.purchase() if stamp is not available Reply can reuse stamp, forward is like a new compose. 15

Feature 5. Vendor SRS Appendix E contains the specifications for this feature. Table 7 : Vendor Requirements Ref # Requirement Description MailPuccino Functionality R2.1.3 Email client shall request e- stamp from e-stamp vendor if email doesn t include an e- stamp as described in R2.1.1 and R2.1.2 R2.2 E-stamp vendor shall generate and return e-stamp to email client. S6 Transaction records should be kept S7 estamps are to be constructed using client provided information and encrypted and provided to the Client for writing to Header. Class Responsible for Additional Feature/Functionality Vendor.getEStamp() Vendor.createEStamp() Vendor.Transaction Vendor.createEStamp ( clientinformation) 16

Feature 6. estamp Management This document contains the specifications for this feature. Table 8 : estamp Management Requirements S1 estamps are stored in an easily retrievable format Class estampmanager S2 estamp contains information and methods as needed Class estamp 17

Feature 7. estamp Interface This document contains the specifications for this feature. Table 9 : estamp Interfaces R3.3.1 Email client shall check its estampbookframe.display() logged e-stamps. S4 The estamps are to be estampchoicepanel easily used R3.3.2.1 Email client shall request e- stamp vendor to authenticate the e-stamp. estamp.isvalid() using Vendor.pubKey to decode the estamp values (this is revised to be encrypted within the email client) R3.3.2.2 Email client shall check the recipient of the e-stamp. estamp.toemailaddress, estamp.fromemailaddress R3.3.2.3 Email client shall check the time frame of the e-stamp. estamp.issuedate, estamp.expiredate S5 The estamps can be listed estamppanel 18

4. Dependency Description 4.1. Intermodule Dependencies 4.2 Interprocess Dependencies 4.3 Data Dependencies 19

5. Interface Description 5.1. Module interface 5.1.1. Module 1 Description 5.1.2. Module 2 Description 5.2 Process Interface 5.2.1. Process 1 Description 5.2.2. Process 2 Description 20

6. Detailed Design 6.1 Module Detail design 6.1.1. Module 1 Detail 6.1.2. Module 2 Detail 6.2. Data Detail Design 6.2.1. Data Entity 1 Detail 6.2.2. Data Entity 2 Detail 21