Post on 23-Apr-2020
HANDMADE PRODUCT DISTRIBUTION SYSTEM
GROUP 6
BOĞAZİÇİ UNIVERSITY
MIS 336
GROUP PROJECT PHASE 2Birgül Kutlu Bayraktar
Gizem GünbalCihan Sönmez
Mehmet Eren AyasNihal Koç
CONTENTSSRS...........................................................................................................................................................2
Data Dictionary.........................................................................................................................................5
UserInterface..........................................................................................................................................14
1
Software Requirements Specification
PurposeThepurpose of thisdocument is toserve as a guidetodesigners, developersandtesterswhoareresponsiblefortheengineering of theHandmade Product Distributionproject. Itshouldgivetheengineersall of theinformationnecessarytodesign, developand test the software
UseCasesName UC-1: Register Summary The user registers to the system.
Rationale Users cannot view allof the items and make purchase without registering to the website. To be able to benefit from these features, the website needs personal information (name, surname, address etc.) of the user.
Users New customers and sellersPreconditions The “Register” button needs to be clicked.
Basic Course of Events
1. When the user wants to view items or make purchase, the website responds with the ‘Register’ button.
2. The user clicks the ‘Register’ button.3. The website responds with a short form asking for personal
information, which includes user name (email address), password, name, surname, and birthdate fields.
4. The user types in her user name.5. The user types in her password.6. The user types in her name.7. The user types in her surname.8. The user chooses her birthdate.9. The user accepts the ‘Confidentiality Policy’ at the end of the
form.10. The user clicks the ‘Complete Registration’ button.
Alternative Paths
4a. If the user enters an existing e-mail address(username) or leaves the field empty, related warning message pops-out.5a. If the user enters an improper password type, violates password length or leaves the field empty, related warning message pops-out.6a. If the user leaves the name field empty, related warning message pops-out.7a. If the user leaves the surname field empty, related warning message pops-out.8a. If the user leaves the birthdate field empty, related warning message pops-out.9a. If the user does not accept the ‘Confidentiality Policy’, the website says ‘You have to accept the confidentiality policy to be able to register.’
Postconditions
The website notifies the user as ‘You are registered now. A confirmation link has been sent to your email address, please verify your account.’ and directs her to the homepage.
2
FunctionalRequirements
Name FR-1: Warning user if she enters an existing email address(username)
Summary If the user enters and existing email address (username), the system notifies her.
Rationale A user may forget that she had already registered to the system or the password she uses. If she enters an existing email address (username), the system has to notify her since registration more than once is not possible.
Requirements If the user enters an existing email address (username), the system notifies her as ‘The user is already registered on our system. If you have not typed in a wrong address, please click the ‘I forgot my password’ button’.
References UC-1: Register
Name FR-2: Warning user if she enters an improper passwordSummary If the user creates a password improper for the password
format, the system notifies her.
Rationale A user may create a simple password which is not proper to the password format. When this happens, the system does not accept the password she is trying to create. That is why the user needs to be warned.
Requirements If the user creates a password improper for the password format, the system notifies her as ‘Password length should be 6-8 characters, and include at least one capital letter, one number and one special character (other than letters and numbers).’
References UC-1: Register
Name FR-3: Warning user if she leaves a field emptySummary If the user leaves a field empty, the system notifies her.
Rationale A user may leave a field empty. When this happens, the system does not accept the registration. That is why the user needs to be warned.
Requirements If the user leaves a field empty, the system notifies her as ‘You have to fill in all the fields to be able to register.’
References UC-1: Register
3
Name FR-4: Notifying user when registration is completedSummary When the user completes the registration, the system notifies
her. as ‘The registration has been completed. Please verif
Rationale A user needs to be informed if the registration process was successful or not. Otherwise, she might try to login even if the registration was not successful.
Requirements When the user completes the registration, the system notifies her as ‘The registration has been completed. Please verify your email address.’
References UC-1: Register
Name FR-6: Displaying asterisk when user types password Summary When the user types her password, asteriks is shown for each
character in place of each password character.
Rationale Since the password is confidential information, it shouldn’t be seen by others.
Requirements When the user types her password, asteriks is shown for each character in place of each password character.
References UC-1: Register
Name FR-7a: Checking name field Summary If the user leaves the name field empty, the system notifies her.Rationale The name format is determined by the database system used by
Handmade Product Distribution system.Requirements If the user violates the name rule, system shows a warning
message saying that “ You have to fill the name field !”
References UC-1: Register
4
Name FR-5: Sending email when a user registersSummary When the user registers, the system sends authentication email
to her.Rationale A user may use someone else’s email address, that is why a
verification is needed. Also, to be able to get information on invoices or promotions, the user needs to connect her email address to the system.
Requirements When a user clicks the ‘Complete Registration’ button, the system should send an email to the user’s email address.The email should contain following parts: A welcome sentence A website guide on what a user can do on the website A link for the authentication A part to enable users de-register from the promotion
emails
References UC-1: Register
Name FR-7b: Checking surname field Summary If the user leaves the surname field empty, the system notifies
her.
Rationale The surname format is determined by the database system used by Handmade Product Distribution system.
Requirements If the user violates the surname rule, system shows a warning message saying that “ You have to fill the surname field !”
References UC-1: Register
Name FR-7c: Checking birthdate field Summary If the user leaves the birthdate field empty, the system notifies
her.
Rationale The birthdate format is determined by the database system used by Handmade Product Distribution system.
Requirements If the user violates the birthdate rule, system shows a warning message saying that “ You have to fill the birthdate field !”
References UC-1: Register
Name FR-8: Checking confidentiality policy Summary Confidentiality policy is the standard terms and conditions set
by the Handmade Product Distribution system in order for users to register to the system.
Rationale Confidentiality policy both protects users’ and the system’srights.
Requirements If the user does not accept the ‘Confidentiality Policy’, the website says ‘You have to accept the confidentiality policy to be able to register.’
References UC-1: Register
Name FR-9: Abort registrationSummary When user is filling registration information, she may click
abort button and leave the registration page.
Rationale User may change her mind about registration.Requirements If the user clicks the abort button; she is directed to the main
page.
References UC-1: Register
NonfunctionalRequirements
Name NF-1: Usability constraints for registration processSummary The registration page must be easy to use.
Rationale If registration is not easy, users will avoid using the website.Requirements The font and size of the fields should be easy to read.
5
Name NF-1: Usability constraints for registration process The user interface of the registration page should not
tire eyes. The notifications should be a different color for the
user to notice easily.
References UC-1: Register
Name NF-2: Performance constraints for registration processSummary The registration feature must perform a search quickly
Rationale If registration is not fast enough, users will avoid using the website.
Requirements A registration performed on a 3MB document with 20-30 character registration form must take under 500ms on a 700mhz Pentium III running Microsoft Windows 2000 at 50% CPU load.
References UC-1: Registration
Name NF-3: Security constraints for registration processSummary The registration page must be secure.
Rationale If registration is not secure enough, others can see the users’ passwords, which may worry the users.
Requirements Password textbox should display asterisk instead of original characters.
References UC-1: Registration
DATA DICTIONARY
ExternalEntityDescription Form
EXTERNAL ENTITY DESCRIPTION FORMEntryType:ExternalEntity
Name: User
Label: User Alias: Web Site User
Input Data Flow:RegistrationResponse
Output Data Flow:RegistrationRequest
DESCRIPTION Userexternalentityresembles a customerwhowantsto buy a handmadeproductor a seller whowishestosellproducts on thethewebsite..
COMMENT/NOTES
Users can also be not registeredandlogged in, in ordertoseesome of theproducts.However, in ordertoseeall of themandpurchaseproducts, usersmust be registeredandlogged in.
6
ProcessDescription Form
PROCESS DESCRIPTION FORMEntryType:Process
Name:Registration
Label:Registration
(Process) Number: 1Input Data Flow:RegistrationRequest Output Data Flow: RegistrationResponse
DESCRIPTIONThisprocesschecksthevalidity of theregistrationinformationandifthere is nomistakemakestheseusersregistered, but ifthere is a mistake, retrieve an errormessage.
TYPE OF PROCESS
Online Batch Manual
REF. TO NAME:
Structured English DecisionTable DecisionTree
IF UsernameIsNull AND PasswordIsNull AND emailIsNullRETURN Error Message as REGISTRATION REJECTIONIF UsernameIsNull AND PasswordIsNull AND emailIsNotNullRETURN Error Message as REGISTRATION REJECTIONIF UsernameIsNull AND PasswordIsNotNull AND emailIsNullRETURN Error Message as REGISTRATION REJECTIONIF UsernameIsNotNull AND PasswordIsNull AND emailIsNullRETURN Error Message as REGISTRATION REJECTIONIF UsernameIsNotNull AND PasswordIsNotNull AND emailIsNullRETURN Error Message as REGISTRATION REJECTIONIF UsernameIsNotNull AND PasswordIsNull AND emailIsNotNullRETURN Error Message as REGISTRATION REJECTIONIF UsernameIsNull AND PasswordIsNotNull AND emailIsNotNullRETURN Error Message as REGISTRATION REJECTIONIF UsernameIsNotNull AND PasswordIsNotNull AND emailIsNotNullIF Username is in English characters AND email is in English characters ANDTHEN Create USERS DETAILS withUsername,Password,emailinfoELSERETURN Error Message as REGISTRATION REJECTION
COMMENT/NOTES:
1Username, passwordand e-mail fieldsmust be filled in tosuccessfullycompletetheregistrationprocess2)Usernameand e-mail should be writtern in English characters.
Data FlowDescription Form
DATAFLOW DESCRIPTION FORMEntryType: Data Flow
Name:RegistrationRequest
7
Label:RegistrationRequest Alias:RegistrationRequest
Origin:ExternalEntity : Customer Destination:Process 1 : Registration
DESCRIPTIONRegistrationinfo can be sendbyanyuser in orderto be registeredtothesystem.
COMMENT/NOTESData elementsthatregistrationinfoincludes: username, name, surname, password, e-mail, address, phonenumber
If an errorhappenswhileclicking on anycategory,amessagewill be displayed on thescreen: “A problemoccuredduringtheclickprocess. Tryagain”
DATAFLOW DESCRIPTION FORMEntryType: Data Flow
Name:RegistrationResponse
Label:RegistrationResponse Alias:RegistrationResponse
Origin:Process 1 : Registration Destination:ExternalEntity : Customer
VOLUME AND FREQUENCY
Number of registrationresponsedepends on thedaily hit of thewebsite. . Weestimate it by 200-300 timesperday.
DESCRIPTION
Registrationresponsewill be createdeach time when a customercreates an registrationrequest.
DATAFLOW DESCRIPTION FORMEntryType: Data Flow
Name: New CustomerInfo
Label: New CustomerInfo Alias: New CustomerInfo
Origin:Process 1: Registration Destination: Data Store D1 : Customers
DESCRIPTIONThis data flowcarriestheregistrationinformation of theuserswhohave done theregistrationphasewithoutanymistake.
COMMENT/NOTES
Data StoreDescription Form
DATA STORE DESCRIPTION FORMEntryType: Data Store
8
Name:Customers
Label:Customers Alias: Customers
DESCRIPTION:
Data storewhichcontainsthemembers’ registrationinformation.
VOLUME AND FREQUENCY:
Approximately 200-300 times a day.
ATTRIBUTES:
Username, Name, Surmane, Password,Address, Phone number
COMMENT/NOTES:
Data StructureDescription Form
DATA STRUCTURE DESCRIPTION FORMEntryType: Data Structure
Name:Customers
Label:Customers Alias: Customers
DESCRIPTION:
ATTRIBUTES:
Name Type Length RequiredUsername Alphanumeric 20 YesName Alphanumeric 20 NoSurname Alphanumeric 20 NoPassword Alphanumeric 8 YesPhone number Alphanumeric 20 NoBirthdate Alphanumeric 20 NoAddress Alphanumeric 300 No
COMMENT/NOTES:
Data Element Description FormsDATA ELEMENT DESCRIPTION FORMEntryType: Data Element
Name:Username
Label:Username Alias: Username
Source:Customers Security: Admin
Responsible User: Admin
DESCRIPTION:
Username of thepotentialuser
TYPE:
9
Alphanumeric Date Numeric Currency
TYPE:
Base Derived (Formula: )
VALIDATION CRITERIA:Continuous Discrete
ATTRIBUTES:
Length: 20Decimal Point: NoneInput Format: NoneOutput Format: NoneDefault Value: None
COMMENT/NOTES:
DATA ELEMENT DESCRIPTION FORMEntryType: Data Element
Name:Surname
Label:Surname Alias: Surname
Source:Customers Security: Admin
Responsible User: Admin
DESCRIPTION:
Surname of thepotentialuser
TYPE:
Alphanumeric Date Numeric Currency
TYPE:
Base Derived (Formula: )
VALIDATION CRITERIA:Continuous Discrete
ATTRIBUTES:
Length: 20Decimal Point: NoneInput Format: NoneOutput Format: NoneDefault Value: None
COMMENT/NOTES:
10
DATA ELEMENT DESCRIPTION FORMEntryType: Data Element
Name: Name
Label: Name Alias: Name
Source:Customers Security: Admin
Responsible User: Admin
DESCRIPTION:
Name of thepotentialuser
TYPE:
Alphanumeric Date Numeric Currency
TYPE:
Base Derived (Formula: )
VALIDATION CRITERIA:Continuous Discrete
ATTRIBUTES:
Length: 20Decimal Point: NoneInput Format: NoneOutput Format: NoneDefault Value: None
DATA ELEMENT DESCRIPTION FORM
11
EntryType: Data Element
Name: E-mail
Label: E-mail Alias: E-mail
Source:Customers Security: Admin
Responsible User: Admin
DESCRIPTION:
E-mail of thepotentialuser
TYPE:
Alphanumeric Date Numeric Currency
TYPE:
Base Derived (Formula: )
VALIDATION CRITERIA:Continuous Discrete
ATTRIBUTES:
Length: 20Decimal Point: NoneInput Format: "\w+([-+.']\w+)*@\
w+([-.]\w+)*\.\w+([-.]\w+)*"
Output Format: NoneDefault Value: abc@example.com
COMMENT/NOTES:
DATA ELEMENT DESCRIPTION FORMEntryType: Data Element
Name: Phone number
Label: Phone number Alias: Phone number
Source:Customers Security: Admin
Responsible User: Admin
DESCRIPTION:
Phone numberinfo of thepotentialuser
TYPE:
Alphanumeric Date Numeric Currency
12
TYPE:
Base Derived (Formula: )
VALIDATION CRITERIA:Continuous Discrete
ATTRIBUTES:
Length: 20Decimal Point: NoneInput Format: NoneOutput Format: NoneDefault Value: None
COMMENT/NOTES:
DATA ELEMENT DESCRIPTION FORMEntryType: Data Element
Name:Address
Label:Address Alias: Address
Source:Customers Security: Admin
Responsible User: Admin
DESCRIPTION:
Addressinformation of thepotentialuser
TYPE:
Alphanumeric Date Numeric Currency
TYPE:
Base Derived (Formula: )
VALIDATION CRITERIA:Continuous Discrete
ATTRIBUTES:
Length: 300Decimal Point: NoneInput Format: NoneOutput Format: NoneDefault Value: None
COMMENT/NOTES:
DATA ELEMENT DESCRIPTION FORM
13
EntryType: Data Element
Name:Password
Label:Password Alias: Password
Source:Customers Security: Admin
Responsible User: Admin
DESCRIPTION:
Password of thepotentialuser
TYPE:
Alphanumeric Date Numeric Currency
TYPE:
Base Derived (Formula: )
VALIDATION CRITERIA:Continuous Discrete
ATTRIBUTES:
Minimum Length: 6Maximum Length: 8Decimal Point: NoneInput Format: aA1!bB2@cc ,
aaAA11!!23 , j0%73bY@Qk
Output Format: *Default Value: None
COMMENT/NOTES:
USER INTERFACE Registerbutton (to link totheregistrationpage) in the Main Page:
14
Also, whentheuserabortsregistration; she is directedtothispage.
RegistrationPage:
15
Whentheuserenters an existing e-mail. (FR-1)
Whentheuserenters an improperpassword. (FR-2)
16
Whentheuserleaves a fieldempty. (FR-3)
Whentheuserdoes not checktheconfidentialitypolicybox. (FR-8)
17
Whentheregistration is successful. (FR-4)
Whenusertypespassword in. (FR-6)
18
Whenuserviolatespasswordlengthrequirement. (FR-7)
19