New User Special Price Expires in

Let's log you in.

Sign in with Facebook


Don't have a StudySoup account? Create one here!


Create a StudySoup account

Be part of our community, it's free to join!

Sign up with Facebook


Create your account
By creating an account you agree to StudySoup's terms and conditions and privacy policy

Already have a StudySoup account? Login here

Software Engineering Seminar II

by: Kylee VonRueden

Software Engineering Seminar II CS 616

Marketplace > Pace University - New York > ComputerScienence > CS 616 > Software Engineering Seminar II
Kylee VonRueden

GPA 3.55

Francis Marchese

Almost Ready


These notes were just uploaded, and will be ready to view shortly.

Purchase these notes here, or revisit this page.

Either way, we'll remind you when they're ready :)

Preview These Notes for FREE

Get a free preview of these Notes, just enter your email below.

Unlock Preview
Unlock Preview

Preview these materials now for free

Why put in your email? Get access to more of this material and other relevant free materials for your school

View Preview

About this Document

Francis Marchese
Class Notes
25 ?




Popular in Course

Popular in ComputerScienence

This 35 page Class Notes was uploaded by Kylee VonRueden on Wednesday September 30, 2015. The Class Notes belongs to CS 616 at Pace University - New York taught by Francis Marchese in Fall. Since its upload, it has received 26 views. For similar materials see /class/217098/cs-616-pace-university-new-york in ComputerScienence at Pace University - New York.

Popular in ComputerScienence


Reviews for Software Engineering Seminar II


Report this Material


What is Karma?


Karma is the currency of StudySoup.

You can buy or earn more Karma at anytime and redeem it for class notes, study guides, flashcards, and more!

Date Created: 09/30/15
mail Elaboration 1 C8616 Fall 2004 Dr Marchese November 10 2004 Elias Rosero Jwalant Dholakia Joseph Aulisi Domain Model processes often not represented as a concept Finding Conceptual Classes using Main Success Scenario The following Conceptual Classes have been identified from Main Success Scenario Basic Flow and other alternative scenarios for mailquot specified in the Inception Document 39 User 39 Logout 39 Internet 39 mailquot website 39 Username password 39 Database system 39 Inbox 39 Options 39 Reply CC 39 Subject 39 Body 39 Send The following is a graphical representation of mailquot Domain model specified without attributes and associations User Internet mailquotwebsite Usernamepwd Web Mail Server Inbox Options ReplySend Msg To Cc Bcc Subject Body Administrator Mail Contacts Tasks The following is final version of the Domain Model for mailn based on the above mentioned conceptual classes We have not specified every possible association between conceptual classes for purposes of simplicity Also class relationships have been identified and relevant attributes mentioned Usernamepwd Web Mail Server 0 J t Username 139 l 39 Password 1 1 l 1 Interfaces with Internet Is associated with I 1 1 Options ma11quot webs1te is connected to logs on to can have I To Cc Bcc Subject Body Email Add Text Text an create 9f 1 1 I 01 1 User Contacts User1d Name Name h Inbox Add Add access Mails 1 1 oons1sts of can create 9 can create comm g Tasks 1 Date 1quot ReplySend Msg Mail Time Administrators Main Is associated with Fig Domain Model UseCase Model System Sequence Diagram The system sequence diagrams presented in this section are graphical representations of the usecase scenarios presented in earlier documentation The system is presented as a black box and the diagram has a chronological order where time increases downward The following is a system sequence diagram for the happy path used in the Inception document presented earlier Viewing Inbox Scenario login inboxe id mail id Display messages logoutO system message As stated in the usecase scenario the above sequence diagram represents a simple path of a user entering the system and simply Viewing the contents of the inbox After Viewing the email messages the user logs out The following SSD will follow a slighter more complicated path which we consider to be the most common one when using an email system Process Message Scenario User mailn loginO inboxe id mail id Display messages reade id mail id replyO compose send system message more items The box encapsulating the inbox read 0 reply compose and 0 send represents an iteration that may occur when using the system In other words the user may do this as many times as needed The notation more items suggests this Identifying System Events The system boundaries are de ned by grouping the system events In the SSD the system events are those actions that the user invokes for the system to do For simplicity sake the system events presented here are only some examples of the entire design model inbox read replyO send System boundary The SSDs are used to clarify the major operations that the system is designed to handle Therefore SSDs are not necessary for every path through the system We have chosen the most common paths that mailn is going to be used for The system events listed above will be used in the following section of this elaboration document to provide Operation Contracts Use Case Model Adding Detail with Operation Contracts Operation contracts are used to describe the system behavior in terms of state changes to objects in the Domain Model after a system operation has been executed In other words we use the system events in the previous section in order to identify a system operation and from there we elaborate on the contract The contract speci es what the system is required to do and ties the relationships between the system and the domain model the real world Operation Contracts will be used only on those system operations that are deemed to be of the most importance in mailn Our domain model and design model are very similar to each other because an email system takes place in a cyber space where email messages are sent electronically Thus the operation contracts will re ect this similarity and use factors such as the mail server and web server to be our real world domain model Contract C1 send Operation Cross References Pre Conditions Post Conditions Contract C2 fetch sendmessageid eid recipients Use Case UCl Processing Messages at least the To eld is lled with a valid email address a unique message id was created the message id was associated with the current eid a connection with SMPT was made the database was updated to re ect the message sent action Operation Cross References Pre Conditions Post Conditions fetchmessageid eid recipients authenticator Use Case UCl Processing Messages there is an emails underway the message was stored in the inbox folder a connection with IMAP was made an authentication was made associated with creating a session The operation contracts are useful in that a clear association between the domain model and the system operation is made without the details of how it s done The domain model attributes are changed formed or broken from the system operations And the post conditions are used to narrate those changes using plain English Design Model UseCase Realizations So far we have used SSDs to illustrate the system boundary and identify the system events Then we used those system events to elaborate the operation contracts which shows the system operations associated with the domain model Now we are going to present Use Case Realizations The system events are going to be used once again But within interaction diagrams which illustrate how objects interact to complete the tasks that the system must be able to perform As described in the SSD the most important system events are 9 Process Message read send For each system even we are going to create a sequence diagram as follows erver read 39 postgresql send postgresql Software Architecture Document Architectural Representation The architecture of mailn will be described using technical memos and architectural views Architectural Factors and Decisions In the Supplementary Speci cation we touched upon the factors which must be complete when mailn is nally released It outlines the FURPS considered during the Inception phase A series of technical memos follow further detailing our original intentions Technical Memo Issue Functionality Solution Summary Email is saved in a database to provide permanence and accessibility Factors 39 mai1n must store all email messages for individuals of a company but must also be able to send messages and to save contact and task information Solution Email messages are downloaded from a mail server chopped into component parts then each message part is saved to the mail database Messages are sent via an SMTP agent which checks the sending credentials of a user with SMTP Authorization Each user of mailn can store contact information and tasks to the database by issuing insert statements Motivation Email users want to be able to save the messages they have received As a user receives more messages it becomes dif cult to manage all this received mail The database provides an easy way to retrieve these messages Technical Memo Issue Security Solution Summary Security is provided by a mandatory login and via SSL Factors 39 Users of mailn must be shielded from those who would try to gain unauthorized access to the system 39 Users must be reassured that their system passwords cannot be discovered by potential intruders Solution Security is provided through a call to the database to check the provided username and password against the database If a match is found a session variable is created to hold these values If no match is found the intruder is locked out of the system and shown only the initial login page Each page of the system must check the session variable for proper credentials to avoid any backdoor entry into the system The system must be accessed via SSL to ensure that passwords are protected and sent over the intemet as plain text Motivation Corporate email is sensitive information If mailn were easily cracked it would never be considered as a viable email option Unresolved Issues Purchase and installation of an SSL Certi cate Technical Memo Issue Usability Solution Summary Ease of use and a comfortable webbased interface are provided Factors 39 Users must be comfortable working with the system Solution Since mailn is webbased it uses an interface that most people already know how to use The interface is friendly and uses a color palette that is easy on the eyes Motivation Email must be available to corporate users from anywhere in the world By making mailn a webbased application users can easily access new messages but also have access to all archived messages Technical Memo Issue Reliability Recovery from Failure Solution Summary Email is held offsite in case of network failure and backed up regularly Factors 39 mailn must always be accessible 39 If system fails recovery must be timely Solution mailn should be employed on a network that is always connected to the internet and on trusted hardware In case the intemet network experiences outages email will be held on the mail server until it can be downloaded into the database The mail database is backed up regularly in case the hardware itself should fail Motivation Messages arrive moment by moment and need to be stored on a system that requires little human intervention Unresolved Issues What is the best way to back up the database Technical Memo Issue Implementation Constraints Solution Summary mailn uses opensource and free components Factors 39 A relational database is needed 39 JavaMail must be used to retrieve and send mail Solution The database of choice is PostgreSQL It is an opensource objectrelational database that is robust and SQL standards compliant In order to communicate with the mail server we will be using JavaMail as it is free to use and already has all the methods we need to retrieve email and also to send it using SMTP Authorization Motivation If opensource components were not used we could not offer the system free of charge Logical View The major subsystems of mailn include the les hosted by the web server the classes that communicate with the mail server and the database server The web server running Apache Jakarta Tomcat serves JSP pages Most ofthe JSP pages make a call to the database to retrieve data based on the login id of the user J SP is most important to the user interface to quickly display the contents of the database In order to make this work it is necessary to have the proper JDBC class written expressly for PostgreSQL Luckily this file is supplied with the PostgreSQL database The only caveat is to make sure this le is placed in the correct classpath The most important classes in the system are Fetch and Send Fetch iterates through all ids in the login table using the id and password makes a call to the mail server and downloads all the mail for each user Messages are parsed on the spot and written to the database Send works a bit differently as it takes data from an HTML form writes each eld to the mail database creates a singular mail message which is then sent via JavaMail using SMTP Authentication Process View When a new message appears on the mail server JavaMail takes the steps necessary to communicate with the remote mail server supplying it with the proper user name and password Once the connection is made each part ofthe message is easily retrieved by JavaMail methods nally resulting in an insert into the Mail table The class responsible for downloading mail Fetch must be run often to ensure that email reaches the users in a timely manner To achieve this it will be necessary to create a cron job that runs the Fetch class once per minute The Send class on the other hand only has to be run when it is invoked by a user sending mail Use Case View The most architecturally signi cant use case is that of UCl Processing Messages This use case illustrates how an employee logs into mailquot reads the messages that have been saved to the database then sends a new message This use case covers all the architecture as it shows the employee logging into the system via the web server The Fetch class which works in the background retrieves messages from the mail server and saves them to the database The web server in turn displays these messages to the employee Deployment View Web Server Employee HTT ltltprocessgtgt ltltbrowsergtgt ltltprocessgtgt Fetch JSP 5 ltltprocessgtgt I Send I39 I SMTP x POP 1 l9 DBServer SOL Mail Server ltltdatabasegtgt Mailpostgresgl This deployment diagram shows the three distinct networking components namely the web server mail server and database server The diagram shows how the Fetch process independently POPs mail off of the mail server and inserts it into the database The processes named JSP and Send are connected to the Employee These processes are only executed when an employee is actively using the system When a message is sent the employee lls in a JSP form The form calls the Send class as an action The Send class logs into the mail server using SMTP Authorization and sends the message The Send process will also record this transaction to the database Data Model Data description Major data objects The following data objects will be presented and managed by the system 1 Authentication module The functionality of this module is achieved by using the login database at the backend The purpose of this module can be described as doing the task of authenticating the user into the system on the basis of the user id and the password provided and also providing facility to mail the forgotten password on the secondary email address of the user if such a request is made Updating of the records is also permitted in that if a user wants to change his password he is allowed to do so 2 Employee information module This module stores the personal information of the employee in the database Once the employee logs into the system for the first time the employee is requested to enter his personal information like name address telephone number etc into the system The employee can also later updatemodify his personal information as required 3 Contact information module The employee using mailn has the facility to store his publicprivate contacts which can be used while sending mail The employee can also modify andor delete contacts 4 Tasks module Day to day tasks for a particular employee can be stored in this calendar like task module Updating and deleting tasks is allowed 5 Mail module The mail module is the crux of the system The employee has the ability to send receive and delete messages and manage his mail by putting them in various user defined folders Amhenncanon Contacts mudu e module Hg Archltecture Model ltltT ab1egtgt Contacts lname varchar20 ltltT ab1egtgt Tasks ltltPKgtgt eid varchar12 task varchar200 time timestamp ltltT ab1egtgt Mail ltltTab1egtgt Login ltltPKgtgt eid varchar12 Employee password varchar8 ltltpKgtgt eid varchar z a sentby text isadmin boolean fname varchar20 a a lname varchar20 ltltPKgtgt mailid text sentto teXt gti ltltT ab1egtgt ltltT ab1egtgt ltltT ab1egtgt ltltT ab1egtgt Sent Erase Inbox NewF01der ltltFKgtgt eid varchar12 ltltFKgtgt eid varchar12 ltltFKgtgt eid varchar12 ltltFKgtgt eid varchar12 ltltFKgtgt mailid teXt ltltFKgtgt mailid teXt ltltFKgtgt mailid teXt ltltFKgtgt mailid teXt Implementation Model mailquot is essentially a series of J SP pages that live in a directory of an installation of Tomcat The site itself is a frameset with top left and right frames Each of these frames displays its own J SP page The Top page for instance shows the mailn logo it shows the date and offers links to compose a new message show contacts and tasks perform a search set options and to logout The left frame displays the employee mail folders The right frame is the target frame for all links All the action will take place in the right mne Since mailquot is a database driven website most pages will require a call to the database There must be a J DBC driver on the system that can allow the J SP pages to communicate with the database Luckily PostgreSQL offers the J DBC driver We connect to the database within the J SP as follows lt try ClassforNamequotorgpostgresqlDriverquot Connection conn DriverManagergetconnection quotjdbcpostgresqlmailnquot quotpostgresquot string query quotselect from login where eid 39quotidquot39 and password 39quotpwdquot39quot Statement stmt conncreatestatement ResultSet rset stmtexecuteQueryquery catchSQLException e outprintlnquotSQLException quot egetMessage quotltBRgtquot whilee egetNextException null outprintlnegetMessage quotltBRgtquot catchClassNotFoundException e outprintlnquotClassNotFoundException quot egetMessage quotltBRgtquot gt Depending upon what action the J SP is meant to perform the call to the database changes from executeQuery t0 executeUpdate Retrieving data requires a method of executeQuery with a string parameter of the SQL query executeUpdate 0n the other hand also takes a string parameter but this string is most likely an update or delete statement Notice all J SP code is enclosed in lt gt tags The Fetch class is responsible for downloading all mail into the database It is built around J avamail importjavaio import javautilProperties importjavaxmail import javaXmailinternet public class Fetch public static void main String args throws Exception String host quotmailhostquot Get system properties Properties props System getPropertiesO propsputquotmailimaphostquot host Setup authentication get session Authenticator auth new ourOwnAuthenticatorquotusernamequot quotpasswordquot Session session Session getDefaultInstanceprops auth Get the store Store store sessiongetStorequotimapquot storeconnect Get folder Folder folder store getFolderquotINBOXquot folderopenFolderREAD70NLY Get directory Message message foldergetMessages for int i0 nmessagelength iltn i System outprintlni quot quot message i getFrom0 quott messageigetSubjectO String content message i getContenttoString if contentlength gt 200 content contentsubstring0 200 System outprintcontent Close connection folderclosefalse storeclose System eXit0 The Send class differs greatly from Fetch Send is invoked as a servlet from compose jsp Compose jsp holds a form with the fields of an email message Send takes these fields and builds a message which gets sent through J avaMail import javaioIOException import javaioPrintWriter import javautilProperties importjavaXmail import javaXmailintemet import javaXnamingConteXt import javaXnamingInitialConteXt import javaXservletRequestDispatcher import javaXservletServletException import javaXservlethttpHttpServlet import javaXservlethttpHttpServletRequest import javaXservlethttpHttpServletResponse public class send extends HttpServlet public void doPostHttpServletRequest request HttpServletResponse response throws IOException ServletException PrintWriter writer response getWriter responsesetContentTypequotteXthtmlquot writerprintlnquotltbody bgcolorquotwhitequotgtquot writerprintlnquotlth1gtMail Examplelth1gtquot set this variable to be your SMTP host String SMTPiHOSTiNAME quotmailourhostcomquot String usemame quotusemamequot String password quotpasswordquot get the elds from the html form String to request getParameterquottoquot modi ed Jd String cc request getParameterquotccquot String bcc request getParameterquotbccquot String subject request getParameterquotsubjectquot String body request getParameterquotbodyquot t Get system properties Properties props SystemgetProperties Specify the desired SMTP server propsputquotmailsmtpauthquot quottruequot Session session Session getDefaultInstanceprops null create a new MimeMessage object using the Session created above Message message new MimeMessagesession messagesetFromnew IntemetAddressfrom messagesetRecipientsMessageRecipientTypeTO new InternetAddress new IntemetAddressto messagesetRecipientsMessageRecipientTypeCC new InternetAddress new IntemetAddresscc messagesetRecipientsMessageRecipientTypeBCC new InternetAddress new InternetAddressbcc messagesetSubjectsubject messagesetContentbody quottextplainquot Transport tr session getTransportquotsmtpquot tr connectSMTP7HOST7NAME usemame password messagesaveChanges don t forget this trsendMessagemessage message getAllRecipients it worked writerprintlnquotltbgtThank you Your message to quot to cc quot Test quot quot was successfully sentltbgtquot catch Throwable t writerprintlnquotltbgtUnable to send message ltbrgtltpregtquot tprintStackTracewriter writerprintlnquotltpregtltbgtquot writerprintlnquotltbodygtquot writerprintlnquotlthtmlgtquot Test Model As the logic and routines are eshed out in the coding stage of mailquot unit testing will be conducted using the white box testing method Since the functions that make up the whole of the system are separate components we want to test at the component level making sure there are no serious design flaws Errors found at this stage are easily corrected To test each component function data submitted through the HTML interface will be validated to ensure improper data or malicious code does not make its way to the main processing functions When data is then passed to the functions code will manipulate the data then it will be passed to the database or out to the internet depending on the function handling the data If the data should leave a particular function and be passed to a separate undeveloped function stubs will be in place to stand in for the undeveloped functions At this stage it is essential for multiple test cases to be passed to the functions It is impossible to test every possible case but we will employee a broad range of test cases making sure that most bases are covered The object is to uncover logic flaws typographical errors and misinterpretation of the function specifications mailquot is a web based email system As such it exists on the internet and can be subjected to attacks by unwanted individuals For this reason it is necessary to conduct Security Testing designed to keep these intruders at bay Types of security testing will already be in use as the system is unit tested but these tests will continue as the software is beta tested In particular members of the test team will be given the task of trying to crack into the system using brute force tactics When a user sets a password the entered password will be checked against a list of the current most common passwords If the entered password matches on of these it will be rejected Security checks such as this will be in place as the system is integrated The coding of individual pages of mailquotis designed to allow entrance to the system only through the front door which is the login page Testers will try to gain entrance by creating a bookmark of their inbox but if the one way in one way out design holds they should not be able to view anything without having first logged in Components to be tested The major components to be tested that are not part of the user interface include the mail server the web server and the database server Mail server testing Test case message is sent to the mail server Expected response message is saved to the database to the correct recipient Test case message is sent to the mail server CC ed to multiple mailquot users Expected response a copy of the message is received in each of the addressed users Test case user sends message Expected response mail server sends the message over the internet Test case user sends message to multiple recipients Expected response mail server sends a copy to each of the recipients Web server testing Test case web page is requested Expected response web page is served Test case communication with database server Expected response response is received from database Database server testing Test case select statement Expected response requested records are returned Test case insert statement Expected response new records are created Test case update statement Expected response records added or edited are updated in the database Test case delete statement Expected response database deletes records Test case power failure or crash Expected response on restart database is restored UseCase Model The use case model used in this document to describe mailn is accomplished using the fully dressed format Given the nature of the system it is empirical to enumerate as many details as possible about the system for completeness Before presenting the usecase scenarios we must illustrate the relations between actors and their goals Namely Actors Goals Webserver Intermedian between the database and the mail server and the user It also provides an interface for the user Mailserver This is where the emails are stored at first They are held there until they are read and processed into the DB Database Stores mail messages contact information and task information Also returns information when queried User Must be able to send receive read and store emails Must also be able to manage contact groups and tasks Administrator To create or delete an account within the system Having identi ed the set of actors and their respective goals we continue to map out the first use case scenario in which the primary actor is a user Use Case UCl Processing Messages Primary Actor User Stakeholders and Interests User Wants to navigate through the email system easily and be able to send receive and store emails In addition the user also wants the ability to manage contact groups and edit tasks Administrator Wants to be able to create modify or delete accounts Company given that mailn is used within a corporation although it could be used by anyone Wants to ensure that all of the employees using the system can easily do so without the need of someone to assist the employees Also the system has to be Virus resistant because employees will rely on having the ability to store information The information must be guarded for safe retrieval Preconditions User is connected online and is using a modern web browser Success Guarantee Post conditions Emails are sent received and stored Tasks are correctly managed and contact information is correctly updated Administrators have full control over the user accounts Main Success Scenario or Basic Flow PP NB 091 1 1 1 NHO H W H 4 15 User connects to the Internet User goes to the mailn web site User enters hisher user name and password The system verifies that both user name and password match with the contents in the database The user is now logged into the system The first screen that the user sees is the inbox screen From that point the user may click on a particular unread message to view its content or choose to perform any other available option Assuming that the user reads an unread message and wishes to reply either to the sender or to the sender and the CC s the user clicks on the Reply button A new screen appears in which the user may enter the recipient information a subject line and the body of the email After writing the email and filling out the To field the message is ready to be sent The user clicks on the Send button The user is then presented with a Message successfully sent message upon completion of the sent action The user is redirected to the inbox screen where he she may continue to browse emails The user chooses to terminate hisher session The user successfully logs out Extensions or Alternative Flows At any time System fails To support recovery and correct storing of emails ensure that all messages are stored into the database once the messages are read by the user Emails will not be lost due to a local machine failure 2 3 4 User restarts machine connects to the internet logs in and emails are still present System keeps messages in external machines not available to the user so the messages are kept safe Invalid identifier 1 System does not match the string of username and or password with existing usernames andor passwords in the database 2 System rejects entry and redirects user to the initial screen where the user may attempt to log in once again Internet connection is lost 1 When reconnected the user must enter his her username and password again 2 Loosing Internet connection is the equivalent to logging out System detects failure to connect to mail server 1 An error message will display stating that the mail server is temporarily out of serv1ce The user does not fill out required fields of a message 1 At least one valid recipient s address must be provided to send a message 6b The user enters an incorrect email address in the recipient s box 1 The system will email the user shortly after the message has been sent notifying the user that the email address does not exist 7 The user wants to send an email attachment larger than 10MB 1 The system will display an error message stating that the attachment exceeds 10MB the limit size of attachment per email 8 The administrator wants to enter a new user s information 1 The new username must not exceed 12 alphanumeric characters 2 The new password must not exceed 8 alphanumeric characters 9 The user wants to add a new task 1 The user may not add a new task that takes place earlier than the present time at which the user wants to add the new task 2 An error message is presented stating that the task must be set to a future date Special Requirements The front end of mailquot requires a modern web browser that understands Dynamic HTML and Cascading Style Sheets Users are required to have an Internet connection User friendly front end Frequency of Occurrence The system could be used as frequently as needed Open Issues What can be customized for using the system within corporations versus using it publicly This particular fully dressed Use Case pinpoints the various paths that a given user may take when using mailquot It illustrates the happy path as well as all of the areas in which the system may display an error message due to an improper use It is explicit in pointing out the system s limitations as well as the user s limitations This information is essential that is needed to have a formal set of system constraints Vision Revision History Version Date Description Authors Inception October 27 2004 First draft Will be refined during the Joseph Aulisi draft elaboration phase Elias Rosero J walant Dholakia Introduction Our team sees mailquot as an email program designed to house all the email received by an organization and its users in a form that is easily searchable expansive and permanent Positioning Business Opportunity Organizations today have a wide variety of email systems from which to choose though none of them guarantee against data loss and many are prohibitively expensive to employ and maintain Although many systems offer users the ability to view their email via a client program installed on the user s machine or via a web based client email itself is stored in proprietary data files or plain text files which can grow quite large thus becoming unwieldy and can have an adverse effect on the speed at which mail is retrieved and read Problem Statement Email systems today are not secure and can potentially lose the data they were designed to store Many systems that store email messages in a proprietary format keep mail in a single file which over time is at a high risk of corruption When this corruption occurs users can expect to lose all of their messages Some systems due to their omnipresence are often exploited by malicious virus attacks which can compromise a client machine and propagate around the world in a matter of minutes leaving a path of infected computers with no chance of recovering data Product Position Statement mailquot is designed for use by small to mid sized organizations that are looking for an email system that provides its users with the ability to view their email securely from any web browser Each user s email is stored in a database which offers a virtually unlimited mailbox size for each user and offers the ability to quickly locate past emails Apart from being a rock solid email program mailquot offers a convenient contact management tool and a task database which allows corporate users the ability to schedule inter office meetings Alternatives and Competition Currently there are many alternatives to mailquot including Microsoft Exchange Lotus Notes and even outsourced email services One of the problems with outsourcing email is the mailbox size limit that vendors place on services mailquot offers an unlimited mailbox size for all users on the system Microsoft Exchange and Lotus Notes are pricey alternatives requiring the purchase of hardware and software but also the presence of someone with the skills to administer these services Stakeholder Descriptions Stakeholder NonUser Summary Major stakeholders will be business owners in a position to decide the best most efficient and cost effective way to manage mail Those who decide on which mail system to roll out are the ones who stand to lose the most should the system fail mailquot offers a worry free solution User S ummary Two types of users administrators and employees will be using mailquot Employees are standard users with no administrative privileges Administrators on the other hand have more privileges and are responsible for adding employees to the system among other tasks Key HighLevel Goals and Problems of the 39 39 High Level Goal Priority Problems and Concerns Current Solution Worldwide Will the system be available when users Most solutions offer a accessibility High travel web access to email Online services offer a Unlimited storage High Will the system grow with the company service with a hard limit on disk quota Will the system be resistant to viruses Bugs in current systems Security High worms and prying eyes can allow for such attacks Most email systems are Ease of use High Will there be a need for training easy to use but can become bloated with too many features UserLevel Goals Employee send receive and save emails store contact information set up tasks Administrator backup mail system set up users easily User Environment Employees and administrators will be able to access mailquot with any modern web browser from any computer connected to the environment Product Overview Product Perspective mailquot will reside on a robust computer system housed within the walls of company or within a co location service It will provide services to all the users of an organization and will need to collaborate with an external mail service and a database as shown in figure Vision 10 Database Service Employee Calls upon services Calls upon services ltltActmgt Mail Service ltltActmgt Administrator Web Service Figure Vision 10 mailn system context diagram S ummury of Bene ts Because mailquot is web based the system is accessible from anywhere in the world Users are able to login and access all the information they need An employee will be able to save every correspondence they receive and send while working at an organization Since the system is regularly backed up there is no need to fear loss of emails mailquot is not prone to virus attacks so the data remains safe People using mailquot will already be familiar with point navigating web sites so there is no need to train them to use this system Summary of System Features 7 all data is stored in a database which allows for fast searches and eliminates the possibility of email file corruption there is no need to delete emails 7 users can store all contact information in the system 7 users can set up meetings by sending an email to fellow employees If fellow employees agree to meet at the specified date and time the tasks for the agreeing employees are updated to reflect this appointment 7 the contact module easily interfaces with mail module which makes addressing emails easy Other Requirements and Constraints For an in depth look at the design constraints functionality usability reliability and performance see the Supplementary Specification and Use Case models Supplementary Speci cation Revision History Version Date Description Authors Inception October 27 2004 First draft Will be refined during the Joseph Aulisi draft elaboration phase Elias Rosero J walant Dholakia Introduction This section documents various mailquot requirements and specifics not captured in the use cases Functionality Logging and Error Handling Make a log of all identified errors for future review Pluggable Business Rules Depending upon the requirement of client Company some minor modifications in the look and feel of the system like changing menu system color adding company logo etc can be added Security mailquot is a web based e mail system So in order to ensure that only company employees who have the right to use the system are using it and no one else user authentication is of prime importance Usability Human Factors 7 mailquot is going to be used in an office environment by employees and company administrators The employees might end up spending a good deal of time using mailquot in any given day So it is extremely important that mailquot is user friendly 7 The text size should be large enough so that it does not get difficult and cumbersome to read messages after an entire day in front of the computer screen 7 The employee should be given an audible signal when a new mail arrives because he might not be constantly monitoring the mailquot browser to check for new mails Proposed 7 It is also important that the new incoming messages do not take too much time to open up as this might increase the frustration and stress on part of the employees using mailquot Reliability Recoverubility If the server or internet connection is down an employee might not be able to access his mails on mailquot This might be a bottleneck for the system but it does not seem to be a critical issue No further decisions are made about it as of now However if the system goes down because of some internal error like database server crash invalid query etc the system should be set up in such a way that it recovers as much unsaved data as possible and restarts itself Performance A consistent and efficient performance of mailquot is important But after all mailquot is a web based application involving a Wide Area Network And sometimes this network might go down and bring the application to a halt Factors like these create a bottleneck on the performance of mailquot Further performance issues will be identified once the system is up and running and in production use Supportability Adaptability mailquot can be set up to be used by an administrator or an employee Depending upon the user type certain privileges like adding new users deleting users etc are allowed Configurubility mailquot has the functionality to classify incoming messages into various sub folders depending upon desire of the system user mailquot is definitely configurable in making e mails organized and systematically classified Implementation Constraints mailquot is developed using Java and PostgreSQL as well as other components The main reason for this was ease of use and ability to modify code efficiently in the future if needed Purchased Components We were able to set up the server on a test basis using existing hardware No purchased components are identified as of now Free Open Source Components mailn makes heavy use of open source components PostgreSQL is an open source database The pages of mailn are served with Tomcat an open source Java environment from the Apache Software Foundation Java itself is free to use Interfaces Noteworthy Hardware and Interfaces 7 Server 7 Internet Connection Hardware S oftware Interfaces 7 Web Browser Domain Rules ID Rule Changeability Source RULE 1 User Authentication required Low mailquot policy before showing mailquot mails age RULE 2 Idle connections for more than Depending upon business Company policy 15 minutes automatically rules of a company for logged out of mailquot which mailquot is set up modification can be made into the system to disable this feature RULE 3 Once browser window is To enhance security of mailquot policy closed the user is automatically logged out of the system Re authentication required to login again mailquot we keep changeability of this rule to Low Legal issues Making sure all terms and conditions specified in the open source software user agreement are satisfied Strictly enforce mailquot user agreement upon client companies Information in Domains of Interest Network connectivity If the Local Area Network on the client company site goes down all local machines on the company network might not be able to access mail using mailquot even if the Internet Network and mailquot server are up and running In this case the company might be willing to invest in a stand alone computer that is directly connected to an outside network to access important messages Glossary Revision History Version Date Description Authors Inception draft October 27 2004 First draft Will be refined Joseph Aulisi during the elaboration phase Elias Rosero J walant Dholakia Term Definition and Information Aliases mailquot Email system where all message information is saved to an object relational database allowing unlimited mailbox size and a secure easy to use interface Message An individual email sent or received by a user of the Mail email system Inbox A virtual repository of new unsorted messages Sent folder A virtual repository recording messages that have already been emailed from the user s account Deleted folder A virtual repository of messages a user has removed from the inbox but is not ready to permanently remove from the system Folder A user defined repository of filed messages Log in The action of supplying a id and password in order to gain access to mailquot Log out The action of leaving mailquot secur gy Session The time starting when the user logs in until the user logs out Module A distinct feature of mailquot including the mail module the contacts module and the tasks module Contact Any entry into the contacts database that includes information about a person such as name street address business email address and telephone number Task Any entry into the tasks database that describes an Event event or appointment with the attributes of date and appointment time meeting Search An action of iterating through the database to find a particular piece of information Username A unique identifier for each user of mailquot Id employee id uid e id eid Employee Any identifiable user of mailquot Administrator An employee of an organization that has extended admin privileges on the system such as user creation password assignment and user deletion Database A central repository of all email messages contacts and tasks copy from other a message to a message the to the sender a message a response to the sender and all parties to which the was addressed An a message marked as to alert the user that this message needs additional attention part an part an a summary was sent or an and its contents state a message been and scrutinized state a A A A message sent to a group attend a A contact to A contact to contact contact is


Buy Material

Are you sure you want to buy this material for

25 Karma

Buy Material

BOOM! Enjoy Your Free Notes!

We've added these Notes to your profile, click here to view them now.


You're already Subscribed!

Looks like you've already subscribed to StudySoup, you won't need to purchase another subscription to get this material. To access this material simply click 'View Full Document'

Why people love StudySoup

Jim McGreen Ohio University

"Knowing I can count on the Elite Notetaker in my class allows me to focus on what the professor is saying instead of just scribbling notes the whole time and falling behind."

Kyle Maynard Purdue

"When you're taking detailed notes and trying to help everyone else out in the class, it really helps you learn and understand the I made $280 on my first study guide!"

Bentley McCaw University of Florida

"I was shooting for a perfect 4.0 GPA this semester. Having StudySoup as a study aid was critical to helping me achieve my goal...and I nailed it!"


"Their 'Elite Notetakers' are making over $1,200/month in sales by creating high quality content that helps their classmates in a time of need."

Become an Elite Notetaker and start selling your notes online!

Refund Policy


All subscriptions to StudySoup are paid in full at the time of subscribing. To change your credit card information or to cancel your subscription, go to "Edit Settings". All credit card information will be available there. If you should decide to cancel your subscription, it will continue to be valid until the next payment period, as all payments for the current period were made in advance. For special circumstances, please email


StudySoup has more than 1 million course-specific study resources to help students study smarter. If you’re having trouble finding what you’re looking for, our customer support team can help you find what you need! Feel free to contact them here:

Recurring Subscriptions: If you have canceled your recurring subscription on the day of renewal and have not downloaded any documents, you may request a refund by submitting an email to

Satisfaction Guarantee: If you’re not satisfied with your subscription, you can contact us for further help. Contact must be made within 3 business days of your subscription purchase and your refund request will be subject for review.

Please Note: Refunds can never be provided more than 30 days after the initial purchase date regardless of your activity on the site.