1 · web viewthe functional requirements section includes the uml analysis diagrams. the uml...

28
Engraved In Stone Researching MIS: Electronic Commerce Business Startup Software Requirements Specification Release 2.0 7/20/99 Casey Chesnut Aaron Wardrum

Upload: vuongque

Post on 07-Apr-2018

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 · Web viewThe functional requirements section includes the UML analysis diagrams. The UML analysis artifacts are a use case diagram, sequence diagrams, and a class diagram. 2

Engraved In StoneResearching MIS: Electronic Commerce Business Startup

Software Requirements SpecificationRelease 2.0

7/20/99

Casey ChesnutAaron Wardrum

Page 2: 1 · Web viewThe functional requirements section includes the UML analysis diagrams. The UML analysis artifacts are a use case diagram, sequence diagrams, and a class diagram. 2

THIS PAGE INTENTIONALLY LEFT BLANK

Page 3: 1 · Web viewThe functional requirements section includes the UML analysis diagrams. The UML analysis artifacts are a use case diagram, sequence diagrams, and a class diagram. 2

Table Of Contents

1. Introduction ............................................................ 71.1 Purpose of SRS1.2 Scope of product1.3 Definitions, acronyms, and abbreviations1.4 References1.5 Overview of rest of SRS

2. General Description ............................................................ 82.1 Product perspective2.2 Product functions2.3 User characteristics2.4 General constraints2.5 Assumptions and dependencies

3. Specific Requirements3.1 Functional Requirements ............................................................ 9

3.1.1 Make Invitation ............................................................ 113.1.1.1 Introduction3.1.1.2 Inputs3.1.1.3 Processing3.1.1.4 Outputs

3.1.2 Distribute Invitation ............................................................ 123.1.3 Transaction ............................................................ 133.1.4 Update Invitation ............................................................ 143.1.5 RSVP ............................................................ 153.1.6 Manage RSVP ............................................................ 163.1.7 Monitor Site ............................................................ 17

3.2 External Interface Requirements ............................................................ 183.2.1 User interfaces3.2.2 Hardware interfaces3.2.3 Software interfaces3.2.4 Communication interfaces

3.3 Performance Requirements ............................................................ 183.4 Design Constraints ............................................................ 18

3.4.1 Standards compliance3.4.2 Hardware limitations3.4.3 Software limitations3.4.4 Environmental

3.5 Attributes ............................................................ 193.5.1 Availability3.5.2 Security3.5.3 Maintainability3.5.4 Transferability/conversion

3.6 Other Requirements ............................................................ 193.6.1 Database3.6.2 Operations3.6.3 Site adaptation

Page 4: 1 · Web viewThe functional requirements section includes the UML analysis diagrams. The UML analysis artifacts are a use case diagram, sequence diagrams, and a class diagram. 2

List Of Figures

Analysis Use Case Diagram ............................................................ 9

Analysis Class Diagram ............................................................ 10

Sequence DiagramsMake Invitation ............................................................ 11Distribute Invitation ............................................................ 12Transaction ............................................................ 13Update Invitation ............................................................ 14RSVP ............................................................ 15Manage RSVP ............................................................ 16Monitor Site ............................................................ 17

Page 5: 1 · Web viewThe functional requirements section includes the UML analysis diagrams. The UML analysis artifacts are a use case diagram, sequence diagrams, and a class diagram. 2

1. Introduction

1.1 Purpose of SRSThis document is the Software Requirements Specification for the Engraved In Stone

online wedding invitation system. It details the analysis effort being performed by the developers of Engraved In Stone. This analysis effort should reflect the intentions of Engraved In Stone’s Business Plan, as well as provide the basis for prototyping efforts and design of the online wedding invitation system. Finally, this document will also be referenced during implementation and testing of the final system.

1.2 Scope of productThe system provides for online wedding invitations. The wedding invitation is a

dynamically generated HTML page hosted at EngravedInStone.com. It consists of the information traditionally dealing with the wedding and its associated events (showers, rehearsal dinner, parties). The invitees of the individual events will be notified by email, supplied by the purchaser of the invitation. The invitee will be able to RSVP to the invitation(s) and will be provided with other communication services. The purchaser will be provided with an online interface to manage the acceptance and rejection of invitations and other information services.

1.3 Definitions, acronyms, and abbreviations

DBMS DataBase Management SystemEIS Engraved In StoneHTML HyperText Markup LanguageHTTP HyperText Transfer ProtocolIEEE Institute of Electrical and Electronics EngineersMIME Multipurpose Internet Mail ExtensionsMIS Management Information SystemsRSVP Repondez Sil Vous PlaitSRS Software Requirements SpecificationSSL Secure Socket LayerTBD To Be DeterminedTBR To Be ResolvedUML Unified Modeling Language

1.4 ReferencesThis document conforms to the IEEE 830 Standard for Software Requirements

Specifications. The UML artifacts are compliant with UML Version 1.1.

1.5 Overview of rest of SRSThe remainder of this document is organized as follows: Section 2 presents a General

Description of the system. Specific requirements are presented in Section 3. The specific requirements are categorized as functional, external interface, performance, design constraints, attributes, or other requirements. The functional requirements section includes the UML analysis diagrams. The UML analysis artifacts are a use case diagram, sequence diagrams, and a class diagram.

Page 6: 1 · Web viewThe functional requirements section includes the UML analysis diagrams. The UML analysis artifacts are a use case diagram, sequence diagrams, and a class diagram. 2

2. General Description

2.1 Product perspective

The proposed system allows users to invite friends and family to weddings through the creation of web pages and email messages and allows those invitees to RSVP to related events.

2.2 Product functions

Design Invitation – User selects from various formats the look and feel of their virtual wedding invitation and specifies who are invited to the associated events.

RSVP Interface – Invitees accept or decline to the events they were invited to. Reservation Management Interface – Inviters query system to check who has RSVP to the

various events and to update information regarding the invitation.

2.3 User characteristics

The users of this system are assumed to have a basic understanding of the Internet and are in the process of planning a wedding.

2.4 General constraints

The system will be implemented using Java and HTML. The ISP hosting the system is required to support Java Servlets.

2.5 Assumptions and dependencies

Tailored out of this document.

Page 7: 1 · Web viewThe functional requirements section includes the UML analysis diagrams. The UML analysis artifacts are a use case diagram, sequence diagrams, and a class diagram. 2

3. Specific Requirements

3.1 Functional RequirementsThe functional requirements were derived from the following use case diagram. Use case

diagrams represent the functional interactions of a system. The stick figures represent the actors, which are external to the system and interact with the system through interfaces. The actors of the online wedding invitation system are the Inviter and the Invitee. The Inviter will invite a number of Invitees to his wedding. The ovals are individual use cases that represent the functions the system performs to provide the services that the actors desire. The use cases of the online wedding invitation are: Make Invitation, Distribute Invitation, Transaction, Update Invitation, RSVP, and Manage RSVP. The Transaction use case is unique in that it is not acted on directly by an external actor. It represents a function that can only be performed indirectly through the use of the Distribute Invitation use case. This is represented by the <<uses>> relationship between Distribute Invitation and the Transaction use cases. The Inviter actor interacts with the following use cases: Make Invitation, Distribute Invitation (Transaction), Update Invitation, and Manage RSVP. The Invitee actor interacts with the following use cases: Distribute Invitation and RSVP. The Invitee does not initiate the Distribute Invitation use case, but is a data sink for the output of the Distribute Invitation use case, initiated by the Inviter.

RSVP

Invitee

Update Invitation

Manage RSVP

Distribute Invitation

Make Invitation

Inviter

nameaddressphone

emailAddresstransactionNumber

pay()

Transaction

<<uses>>

Owner

Monitor Site

Page 8: 1 · Web viewThe functional requirements section includes the UML analysis diagrams. The UML analysis artifacts are a use case diagram, sequence diagrams, and a class diagram. 2

The online invitation system was also modeled as a class diagram. Class diagrams represent the static associations between objects in the system. The classes derived from the analysis are: Inviter, Reservation, Invitation, and Mail. Inviter was an external actor in the use case view, but it was determined that a class would also have to be developed to maintain state for individual actor objects. Invitee remains as an actor in the system in the static view because it was not deemed necessary at this point in time to collect their state information. The information needed to contact Invitee’s is currently handled by the Mail class. The associations between the classes, show which objects can interact directly and indirectly with other objects. Attributes and methods were only defined in so much as to help describe the primary purpose of the class. UML design artifacts, such as collaboration diagrams, would provide the exercise to flesh out the complete set of attributes and methods necessary to support the system. The system is decomposed in these low level objects to that Engraved In Stone can experience reuse. An example might be that the Mail class could be reused in a baby announcement system.

Finally, the dynamic aspects of the system are modeled as sequence diagrams. Each use case has its own corresponding sequence diagram. The sequence diagram shows the flow of data between the system and external actors through interfaces, as well as for the flow of data and message calls between objects internal to the system. Data cannot flow between actors and objects unless they have the appropriate association represented in the class diagram. Only some of the objects of the class diagram are required to support the function of each individual use case. The scenarios represented are the most common path through the system and do not detail alternate scenarios. The scenarios are also time dependent and happen in sequence. The transitions internal and external to scenarios might be either synchronous or asynchronous.

Invitee

ReservationreservedListdeclinations

updateList()generateList()

Invitationwhowhatwhenwherewhyhow

makeReservation()generateInvitation()updateInvitation()

views

handlesMail

inviteeNameemailAddressemailTextemailSubjectinvitationURL

sendMail()

receives

notifies invitees of

Owner

monitors

Inviter

nameaddressphone

emailAddresstransactionNumber

pay()views1

1..*

1

1..*

creates

supports

Page 9: 1 · Web viewThe functional requirements section includes the UML analysis diagrams. The UML analysis artifacts are a use case diagram, sequence diagrams, and a class diagram. 2

3.1.1 Make Invitation

3.1.1.1 IntroductionThe Inviter uses a web browser client to access the Engraved In Stone web server to

create the wedding invitation online.3.1.1.2 Inputs

The Inviter inputs the appropriate textual and graphical data into the html forms, concerning the wedding ceremony itself, and submits the information to the web server.3.1.1.3 Processing

The web server manages the collection of the data from the html forms and uses the information to generate the online wedding invitation.3.1.1.4 Outputs

The online wedding invitation is presented to the Inviter, so that he/she may preview it.

: Inviter

: Invitation

initiate order

generates invitation

invitation preview

display available packages

choose package

display invitation template

choose template

display contact information form

contact information

display wedding service info form

wedding service info

display associated event info form

info

guest and registry info form

info

ceremony details form

info

display information for confirmation

confirm

display image file upload form

image files

DISTRIBUTE INVITATION USE CASE

Page 10: 1 · Web viewThe functional requirements section includes the UML analysis diagrams. The UML analysis artifacts are a use case diagram, sequence diagrams, and a class diagram. 2

3.1.2 Distribute Invitation

3.1.2.1 IntroductionThe Inviter uses a web browser client to access the Engraved In Stone web server to

specify who should be notified of the online wedding invitation.3.1.2.2 Inputs

The Inviter inputs the appropriate textual data into the html forms, concerning the Invitees, and submits the information to the web server.3.1.2.3 Processing

The web server manages the collection of the data from the html forms and uses the information to dynamically generate email messages. The Transaction use case occurs within the context of this sequence.3.1.2.4 Outputs

The email messages are sent to the appropriate Invitees to notify them of their online wedding invitation.

: Inviter : Mail : Invitee

initiate distribution

sends email messages

display guest list form

attendants

display personal message form

personal message text

generate guest/event matrix

display guest/event matrix form

designate attendants for specific events

generate email message

TRANSACTION USE CASE

Page 11: 1 · Web viewThe functional requirements section includes the UML analysis diagrams. The UML analysis artifacts are a use case diagram, sequence diagrams, and a class diagram. 2

3.1.3 Transaction

3.1.3.1 IntroductionThe Inviter uses a web browser client to access the Engraved In Stone web server to

offer the monetary transaction information to purchase the online wedding invitation. This entire sequence is performed over a secure connection.3.1.3.2 Inputs

The Inviter inputs the appropriate textual data into the html form, concerning the monetary transaction, and submits the information to the web server.3.1.3.3 Processing

The web server accepts the information and passes it an external system which solely provides the means to process online transactions.3.1.3.4 Outputs

A dynamic html page is generated and displayed to the Inviter, so that the Inviter can monitor and track the state of the transaction.

: InviterActor : Inviter

initiate financial transaction

display transaction form

credit card info

process transaction

transaction tracking info

DISTRIBUTE INVITATION USE CASE

: Owner

provide notice of invitation creation

payment

Page 12: 1 · Web viewThe functional requirements section includes the UML analysis diagrams. The UML analysis artifacts are a use case diagram, sequence diagrams, and a class diagram. 2

3.1.4 Update Invitation

3.1.4.1 IntroductionThe Inviter uses a web browser client to access the Engraved In Stone web server to

update and modify the information presented on the online wedding invitation.3.1.4.2 Inputs

The Inviter inputs the appropriate textual data into the html form, concerning the previously generated invitation, and submits the updated information to the web server.3.1.4.3 Processing

The web server manages the collection of the data from the html forms and uses the updated information to regenerate the online wedding invitation.3.1.4.4 Outputs

The Inviter is presented with an html page confirming the invitation has been successfully updated.

Actor : Inviter

: Invitation

initiate update

display information form with current info

modified information

regenerate invitation

update confirmation

Page 13: 1 · Web viewThe functional requirements section includes the UML analysis diagrams. The UML analysis artifacts are a use case diagram, sequence diagrams, and a class diagram. 2

3.1.5 RSVP

3.1.5.1 IntroductionThe Invitee receives notification of the online wedding invitation through email and uses a

web browser client to access the Engraved In Stone web server to RSVP for the event.3.1.5.2 Inputs

The Invitee inputs textual information into the html form aspect of the online wedding invitation and submits the information to the web server.3.1.5.3 Processing

The web server manages the collection of the data from the html form and uses the information to update the reservation list hosted on the server.3.1.5.4 Outputs

The Invitee is presented with an html page confirming the reservation has been successful.

: Mail

: Invitee

: Reservation : Invitation

receives email message

views invitation

RSVPs

update reservation list

RSVP confirmation

Page 14: 1 · Web viewThe functional requirements section includes the UML analysis diagrams. The UML analysis artifacts are a use case diagram, sequence diagrams, and a class diagram. 2

3.1.6 Manage RSVP

3.1.6.1 IntroductionThe Inviter uses a web browser client to access the Engraved In Stone web server to

view and update the reservation list for the associated online wedding invitation.3.1.6.2 Inputs

The Inviter inputs the appropriate textual data into the html form, concerning the reservation list, and submits the additional information to the web server.3.1.6.3 Processing

The web server manages the collection of the data from the html forms and uses the additional information to update the reservation list.3.1.6.4 Outputs

The Inviter is presented with an html page confirming the reservation list has been successfully updated.

: Reservation : Inviter

initiate reservation review

updates reservations

generate RSVP page

display reservations

update confirmation

update reservation list

Page 15: 1 · Web viewThe functional requirements section includes the UML analysis diagrams. The UML analysis artifacts are a use case diagram, sequence diagrams, and a class diagram. 2

3.1.6 Monitor Site

3.1.7.1 IntroductionThe Owner uses a web browser client to access the Engraved In Stone web server to

monitor the online wedding invitations and email messages that have been produced.3.1.7.2 Inputs

The Owner selects the online wedding invitation to monitor from a list of the most recently created/modified invitations.3.1.7.3 Processing

The web server updates the list of most recently created wedding invitations the links to its associated data store information stored as files.3.1.7.4 Outputs

The Owner views the chosen online wedding invitation to monitor that the online wedding invitation system is working correctly.

: Inviter : Owner : Invitation

request list changed/modified invitations

display most recent invitations

select invitation to audit

display selected invitation and associated information

audit invitation and transaction for errors

notify inviter of any errors

fix error

Page 16: 1 · Web viewThe functional requirements section includes the UML analysis diagrams. The UML analysis artifacts are a use case diagram, sequence diagrams, and a class diagram. 2

3.2 External Interface Requirements

3.2.1 User interfacesAll user interfaces (Inviter, Invitee, Owner) are web-based HTML pages which can be

accessed through any standard web browser. Web pages which ask for user input will include HTML forms. These HTML forms need to include JavaScript code to verify that the appropriate information has been input before allowing the information to be submitted to the web server. Web pages which provide confirmation information will be dynamically generated static HTML pages.

3.2.2 Hardware interfacesThere are not direct hardware interfaces in the system. The operating systems on both

the client and server side will be configured to handle the hardware interfaces.

3.2.3 Software interfacesThe client side software interface will be through any standard web browser. The server

side interface will be through a Java web server.

3.2.4 Communication interfacesCommunication between the client and servers will occur between the standard internet

protocol HTTP. Mail transfers and file uploads will be accomplished through MIME.

3.3 Performance RequirementsThere are currently no performance requirements because the system is not data,

processing, or bandwidth intensive. Security and reliability are more important. If performance becomes an issue in the future, the web server can be upgraded, or the system can be integrated into an application server environment connected to a backend DBMS.

3.4 Design Constraints

3.4.1 Standards complianceThe system complies with the internet standards of HTML, HTTP, and MIME. These

standards support the largest number of online customers.

3.4.2 Hardware limitationsThere are no hardware limitations to be considered.

3.4.3 Software limitationsAt this point in time it is not viable for Engraved In Stone to purchase professional web

hosting services. Because of this, files must be used for persistence of data to be used by the web server, instead of persisting the data to a DBMS. Another limitation is the use of a Java web server instead of an application server. Because of this, the system will have to incorporate its own online transaction processing services as well as handle concurrent access by multiple clients.

3.4.4 EnvironmentalThe client side will run on any environment which supports a web browser. The server

side environment will not be a concern to the clients, and can be upgraded/changed as necessary, without effecting the clients.

Page 17: 1 · Web viewThe functional requirements section includes the UML analysis diagrams. The UML analysis artifacts are a use case diagram, sequence diagrams, and a class diagram. 2

3.5 Attributes

3.5.1 AvailabilityThe system has to be available at all times.

3.5.2 SecurityThe system has to provide secure internet connections (SSL) for the transfer of private

data. The web hosting service should provide security services so that third parties cannot modify the information hosted on the web site. Users will have to login to the system. Logging in will determine what level of access the user has with the system and the views with which they are provided.

3.5.3 MaintainabilityThe system has to provide Invitees with the ability to maintain their own invitation.

Owners will maintain the set of invitations that are being hosted at any one time. The web hosting administrators will maintain the server that is hosting the system.

3.5.4 Transferability/conversionThere are no transferability concerns for the client side. The server side should be

designed in such a manner so that the system can be transferred to a different web hosting service without effecting day to day operations.

3.6 Other Requirements

3.6.1 DatabaseA database is not required from the offset. Files will be used to handle data storage.

3.6.2 OperationsBackups will be performed by both the owners and the administrators of the web hosting

service.

3.6.3 Site adaptationThe site will be adaptable to the different users of the system, according to the access

associated with the login that they provide.