Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Example Documentation
Example Software Requirement Specifications (SRS) DocumentProject: Lexstart Legal Procurement – Site Specs
Version-1.1
Example DocumentationRevisions
Sign-Off
Name
Version Checked Project Role
Table of Contents1. Introduction..........................................................................................................................4
1.1 Purpose..........................................................................................................................4
1.2 Scope.............................................................................................................................4
1.3 References.....................................................................................................................4
2. Use Cases........................................................................................................................5
2.1. Use case - Visitor Registration..................................................................................5
2.2. Use Case – Access Visitor Profile page....................................................................7
2.3. Use Case - Viewing Packages and Contracts...........................................................9
2.4. Use Case - Buying and editing a contract...............................................................13
2.5. Use-Case – Lawyer Registration.............................................................................17
2.6. Use Case - Access Lawyer Profile..........................................................................20
2.7. Usecase - Contacting a Lawyer..............................................................................21
Author Version Change log DateKoushik M.
1.0 Draft version 01.02.2015Koushik M. 1.1 Feedback Incorporated
Use Case 01Add Business rule, alternative flow, functional requirements for password complexity.Use Case 03Modify basic flow and add functional requirements for viewing preview of contracts.Use Case 05Modify basic flow and add functional requirements for Lawyer registration,Use Case 07Modify the basic flow of events for incorporating ‘Ask a Lawyer’ option when purchase/edit a contract
10.02.2015
Example Documentation1. Introduction
1.1 Purpose
The purpose of this SRS is to describe the end-to-end flow of the Lexstart website. Visitor who needs legal document for their business, should be able to browse the document template, purchase, edit and print the document. Visitor will get the document verified by the appropriate lawyer and when necessary he can communicate with the lawyer. Visitor shall pay the consultation fee and get in touch with the Lawyer to verify the document and make necessary changes as required. This way the customers can be sure that the document which they prepared is correct.
1.2 ScopeIn this SRS, we will discuss all the use-cases and related functionalities of the Lexstart website.
2. Use Cases
2.1. Use case - Visitor Registration
Use Case ID: BREQ-UC01
Priority: High
Use Case Title: Visitor Registration
Author: Koushik Mutsuddi
Source: Business Requirement Document (BRD)
Creation Date: 01/02/2015
Primary Actor: Visitor
Secondary Actor(s):
Frequency of Execution:
Multiple
Scalability: Multiple instance
Stakeholders and Interests:
Visitor – Who wants to access the packages and contracts in the system Visitor – Who wants to contact a lawyer
Brief Description: A visitor must need to be registered into the system to access all packages and contracts. Without registration, the visitor can only view the limited contents of contract templates.
Pre-Conditions: Visitor must be able to access the registration page Visitor should have all mandatory information
Basic flow of events: 1. Visitor access the registration page2. Visitor captures
i. first name,ii. last name,
Example Documentationiii. company name,iv. email address,v. password
3. Visitor selects the database location from a drop-down box4. System will check the complexity of the password.5. Visitor press the submit button6. System preserves the information captured by the visitor
Alternative Flows: User wants to skip some information1. System will check the mandatory information captured or not by the
visitor. If not captured system will display a message “Please capture mandatory information”.
User wants to move from the registration page without saving data1. System will display a warning message “Your data will be lost,
please save the data first”User has provided an easy password (for example – 123456)
1. System will check the password length and characters as per the business rule. If the password is an easy one then system will display the following message“Your password is very simple. Please capture a complex password that will have:i) At least six charactersii) At least one character from the following categories
a) Uppercase characters (A through Z)b) Lowercase characters (a through z)c) Numeric (0 through 9)d) Special characters: ~!@#$%^&*_-+=`|\(){}[]:;"'<>,.?/”
Post-Conditions: After successful registration, visitor will be able to access all features of the website.
Business Rule(s): Password must meet the complexity requirements. Password should have at least 6 characters. Passwords must contain at least one character from the following categories:i) Uppercase characters (A through Z)ii) Lowercase characters (a through z)iii) Numeric (0 through 9) iv) Special characters: ~!@#$%^&*_-+=`|\(){}[]:;"'<>,.?/
Exception: Exception may occur at the following situations-1. Browser crashes/refreshes when user captured the information but
not saved the data. System will reload the captured data.Prototype:
Example Documentation
Functional Requirements:
ID Description
01 System will display text field for first name, last name, company, email address and password when visitor opens the registration page. A submit button will also be displayed in the page.
02 System will display a list box of database location from where visitor can select an option. The list box values are:i)North Americaii)Europe
03 System will validate the email address format of the visitor.
04 System will validate all mandatory information when visitor press the submit button after capturing all information and preserves all information into the database.
05 System will send an email notification to the visitor email address after registration completed.
06 System will check all information captured by the visitor. If visitor left any mandatory information blank, then system will display a message “Please capture mandatory information”.
07 System will check the password captured by the visitor is following the business rule. If the password is not meeting the password complexity requirements then it will display a message “Your password is very simple. Please capture a complex password that will have:
iii) At least six charactersiv) At least one character from the following categories
e) Uppercase characters (A through Z)f) Lowercase characters (a through z)g) Numeric (0 through 9)h) Special characters: ~!@#$%^&*_-+=`|\(){}[]:;"'<>,.?/
2.2. Use Case – Access Visitor Profile page
Use Case ID: BREQ-UC02
Priority: High
Example Documentation
Use Case Title: Access Visitor profile page
Author: Koushik Mutsuddi
Source: Business Requirement Document (BRD)
Creation Date: 01/02/2015
Primary Actor: Visitor
Secondary Actor(s):
Frequency of Execution:
Multiple
Scalability: Multiple instance
Stakeholders and Interests:
Visitor – Who wants to access his profile page
Brief Description: After successful registration each visitor can access his individual profile page by logging in to the site. Each user can access, buy and edit packages/contracts. Visitor can contact with a lawyer as well.
Pre-Conditions: Visitor must be registered to the site Visitor should have login credentials
Basic flow of events: 1. Visitor access the login page2. Visitor captures email address and password3. System validates user name and password.4. After successful user login, system will redirect visitor to his page5. System displays all profile information6. System displays all packages/contracts that the visitor has
purchased
Alternative Flows: User provides wrong credentials
1. System will check the login information provided by the visitor. If the email address/password is not matching then system will display a message “Please provide correct login information”
User submits the login button without providing credentials1. System will check whether the visitor provided the login credentials
in the fields. If system finds any field blank, then system displays a message “Login information cannot be blank”
Remember Password1. System will ask to remember the password.
i. If visitor accepts the remember option then visitor will be able to login without capturing the credentials in the next login within the same device.
ii. If visitor rejects the remember option then the system will ask for the credentials in the next login.
User wants to edit the contracts that he has not bought yet1. System will only allow access/edit the package/contracts that he has
bought already.
Post-Conditions: After successful login, visitor will be able to access all features of the
Example Documentationwebsite.
Business Rule(s):
Exception: Exception may occur at the following situations-1. Browser crashes/refreshes when user captured the information but
not saved the data. System will refresh the login page.
Prototype
Basic flow:
Functional Requirements:
ID Description
01 System will display text field for email address and password in the login page. A login button will also be displayed in the page.
02 System will check login information captured by the visitor. If visitor left any information blank, then system will display a message “Login information cannot be blank”.
03 System will validate the login information of the visitor.
04 System will lead the visitor to the profile page after successful login.
05 System will display edit button for each package/contract. When visitor presses the button, system will redirect the visitor to the package/contract editor page.
06 System will display download button for each package/contract. When visitor presses the button, contracts will be downloaded.
07 System will display ‘Ask a Lawyer’ button, when visitor presses the button, system
Example Documentationwill display a list of lawyer related to the package/contracts.
08 System will display FAQ/Contact link.
09 System will display no. of packages are added to the visitor’s cart.
2.3. Use Case - Viewing Packages and Contracts
Use Case ID: BREQ-UC03
Priority: High
Use Case Title: Viewing Packages and Contracts
Author: Koushik Mutsuddi
Source: Business Requirement Document (BRD)
Creation Date: 01/02/2015
Primary Actor: Visitor
Secondary Actor(s):
Frequency of Execution:
Multiple
Scalability: Multiple instance
Stakeholders and Interests:
Visitor – Who wants to check packages/contracts Visitor – Who wants to purchase a package
Brief Description: In Lexstart, Visitor can check different packages/contracts. After successful login, visitor can purchase package and edit the contracts.
Pre-Conditions: Visitor should be able to access the homepage.
Basic flow of events: 1. On the homepage, system will display a list of packages.2. Each package may have several contracts.3. Visitor can click on any package.4. System is opening a new page and displaying only the preview of all
contracts related to the package if the visitor did not pay for any contract or not logged in. Visitor also cannot edit any contract.
5. Visitor can open a contract that he has already purchased and edit the contents.
Alternative Flows:
Post-Conditions: Visitor will be able to navigate all packages/contracts of the website.
Business Rule(s):
Exception: Exception may occur at the following situations-2. Browser crashes/refreshes - System will reload the page.
Prototype:
Example Documentation
Example Documentation
Functional Requirements
ID Description
01 Package name can be captured from the back-end of the system.
02 Each contract can be captured from the back-end. There should be a contract name field to capture the contract name and an editor to capture the contents of the contract. It will show as a template on the front-end and visitor will be able to edit the contract template if registered.
03 Each contract can be mapped with different packages.
04 System will display only the preview of the packages of the contract if the visitor has not paid for any contract. It will not display any edit link for the contracts.
05 System will display the edit link for a contract if he has paid for that specific contract.
2.4. Use Case - Buying and editing a contract
Example DocumentationUse Case ID: BREQ-UC04
Priority: High
Use Case Title: Buying and editing a contract
Author: Koushik Mutsuddi
Source: Business Requirement Document (BRD)
Creation Date: 01/02/2015
Primary Actor: Visitor
Secondary Actor(s):
Frequency of Execution:
Multiple
Scalability: Multiple instance
Stakeholders and Interests:
Visitor – Who wants to purchase packages/contracts Visitor – Who wants to edit a contract
Brief Description: In Lexstart, Visitor can check different packages/contracts. After successful login, visitor can purchase package and edit the contracts.
Pre-Conditions: Visitor should have a profile in the site Visitor should be logged in to the system
Basic flow of events: 1. Visitor selects a package2. System will display all contracts under the package3. System will display individual prices of each contract and total
package price.4. Visitor can add
4.1 single/multiple contracts of the package in his cart4.2 Whole package in his cart
5. After adding package/contract to the cart, Visitor presses the check-out process button
6. Visitor needs to sign up if he is not registered yet.7. If logged in, visitor will be redirected to the check-out page8. After payment confirmation in the check-out page, visitor will be able
to edit the contents of the contract.9. System will send a confirmation email to the visitor’s email address.
Alternative Flows: Visitor wants to edit a contract without logging in to the system
1. System will notify the visitor if he wants to edit a contract. System will display a message “You need to login first”
Visitor does not add packages to his cart
1. System will display a message “Please add the package first to proceed to the check-out process”
Visitor doesn’t have sufficient balance in his account
1. System will display a message “You do not have sufficient balance to purchase this package”
Example Documentation2. System will redirect the user to the packages page
Visitor closes the contract page without saving the contents
1. Visitor opens a contract document2. Visitor edits the document3. Visitor closing the document without saving the document4. The unsaved document will be automatically saved to the draft
folder.
Post-Conditions: Visitor will be able to purchase packages/contracts of the website and edit any contract within the package.
Business Rule(s): When visitor wants to buy a package, system will check whether visitor has already bought any contract within that package. If visitor has already bought any package and wants to purchase the whole package later, then system will deduct the previously bought contracts prices from the total value of the package.
Exception: Exception may occur at the following situations-1. Browser crashes/refreshes - System will reload the page.2.
Activity Diagram
Example DocumentationStart
Visitor selects a package from the list of packages
System displays all contracts under the selected package
System displays individual prices of each contract and
total package value
Visitor adds full package in his cart?
System checks if visitor has already purchased
any contract of the package?
Yes
System subtracts the already purchased contracts value from total package price
Yes
System displays the whole package price in the check-out process
No
System displays the remaining price of the
package in the check-out process
Visitor adds single or multiple contracts of the
package in his cart
System displays the total prices of the selected contracts in the
check-out process
Visitor is logged in?
Yes
System displays a message “Please login/register to purchase this package”
No
No
Visitor is logged in?
Yes
System displays a message “Please login/register to purchase this package”
No
Visitor confirms payment in the
check-out process?
End
Yes
No
Prototype
Example Documentation
Functional Requirements
ID Description
01 System will not allow visitor to edit the contents of the contract, if he is not registered yet.
Example Documentation02 Visitor will able to edit a contract after system validates whether visitor has a profile
and purchased the package of the contract.
03 Visitor will be able to save the document as a draft and later he can re-use. If visitor does not save the contract after editing, then system will automatically save the contract as a draft in the visitor profile page. Visitor should be able to access the draft document from his profile page.
04 Visitor will be able to print the document directly from his page.
05 Visitor will be able to download the document directly.
06 System display a message to the visitor “You need to login first” when visitor wants to edit a contract without logging in.
07 System display a message to the visitor “You need to purchase package” when visitor is logged in but wants to edit a contract without purchasing a package.
08 System will redirect the visitor to the packages page if he does not have sufficient balance to purchase a package.
09 System will display the package items and value of those in the check-out page.
10 System will display total value of items. Visitor will be able to remove any item
11 System will display two payment types
a) Stripeb) Paypal
12 Visitor selects any of the two payment methods. System will redirect the visitor to the corresponding payment gateway page of the selected vendors.
13 System will display a confirmation message and items will be added to the visitor’s profile.
2.5. Use-Case – Lawyer Registration
Use Case ID: BREQ-UC05
Priority: High
Use Case Title: Lawyer Registration
Author: Koushik Mutsuddi
Source: Business Requirement Document (BRD)
Creation Date: 01/02/2015
Primary Actor: Lawyer
Secondary Actor(s):
Frequency of Execution:
Multiple
Example DocumentationScalability: Multiple instance
Stakeholders and Interests:
Lawyer – Who wants to collaborate with the visitors Visitor – Who wants to contact with a lawyer
Brief Description: A Lawyer must need to be registered into the system to give consultation to the visitors and check the contract documents.
Pre-Conditions: Lawyer must be able to access the registration page Lawyer should have all mandatory information
Basic flow of events: 1. Lawyer access the registration page2. Lawyer captures
vi. first name,vii. last name,viii. Phone noix. email address,x. passwordxi. Company Informationxii. Address
3. Lawyer selects his area of expertisei. Propertyii. Familyiii. Willsiv. Debtv. Criminalvi. Corporatevii. Employmentviii. Personal Injuryix. Others
4. Lawyer press the register button5. System preserves the information captured by the lawyer6. Administrator can see the registration request from a lawyer in the
back-end.7. Administrator validates the lawyer information is correct and send an
email to the lawyer with credentials.
Alternative Flows: User wants to skip some information
1. System will check the mandatory information captured or not by the visitor. If not captured system will display a message “Please capture mandatory information”.
User wants to move from the registration page without saving data
1. System will display a warning message “Your data will be lost, please save the data first”
Post-Conditions: After successful registration, System will trigger an email notification to the administrator of the website.
Business Rule(s):
Exception: Exception may occur at the following situations-
Example Documentation
1. Browser crashes/refreshes when user captured the information but not saved the data. System will reload the captured data.
Prototype
Functional Requirements:
ID Description
01 System will display text field for first name, last name, company, email address, password, address etc. when lawyer opens the registration page. A register button will also be displayed in the page.
02 System will check all information captured by the visitor. If visitor left any mandatory information blank, then system will display a message “Please capture mandatory information”.
03 System will validate the email address format of the visitor.
04 System will validate all mandatory information when visitor press the submit button after capturing all information and preserves all information into the database.
05 System will send an email notification to the administrator’s email address if registration successful.
Example Documentation2.6. Use Case - Access Lawyer Profile
Use Case ID: BREQ-UC06
Priority: High
Use Case Title: Access Lawyer Profile
Author: Koushik Mutsuddi
Source: Business Requirement Document (BRD)
Creation Date: 02/02/2015
Primary Actor: Visitor
Secondary Actor(s):
Frequency of Execution:
Multiple
Scalability: Multiple instance
Stakeholders and Interests:
Visitor – Who wants to view Lawyer profile
Brief Description: Once a lawyer is registered into the system, his profile will be visible to the website. Any visitor whether he is registered or not can access Lawyer profile.
Pre-Conditions: Lawyer should be registered
Basic flow of events: 1. Visitor access the site2. On the homepage a list of Lawyer’s will be displayed. A ‘Contact’
option will be displayed to all lawyer’s profile.3. System will display a link ‘view all lawyers”4. System will redirect the visitor to a new page5. Visitor selects a Lawyer and browse his profile
Alternative Flows: User wants to contact a lawyer
1. System displays a message “Please login or register to contact with a lawyer”
Post-Conditions: If the use case is successful, visitor will be able to view profile of the lawyers.
Business Rule(s):
Exception: Exception may occur at the following situations-1. Browser crashes/refreshes when user captured the information but
not saved the data. System will refresh the login page.
Prototype
Example Documentation
Functional Requirements
ID Description
01 System will display all registered Lawyers.
02 System will display a “contact” button to each profile view.
03 System will not allow visitor to contact with a lawyer without login to the system.
2.7. Usecase - Contacting a Lawyer
Use Case ID: BREQ-UC07
Priority: High
Use Case Title:
Author: Koushik Mutsuddi
Source: Business Requirement Document (BRD)
Creation Date: 03/02/2015
Primary Actor: Visitor
Secondary Actor(s):
Frequency of Execution:
Multiple
Scalability: Multiple instance
Example DocumentationStakeholders and Interests:
Visitor – Who wants to contact with a Lawyer
Brief Description: Once a lawyer is registered into the system, his profile will be visible to the website. A registered visitor can contact with a lawyer.
Pre-Conditions: Lawyer should be registered Visitor should be registered
Basic flow of events: 1. Visitor/client log in to the site2. Visitor wants to contact with a Lawyer2.1.Visitor can contact after purchasing a package/contract
2.1.1 Visitor edit the contract2.1.2 Visitor wants to review the contract by a Lawyer2.1.3 Visitor press “Ask a Lawyer” button2.1.4 A message box will appear and visitor will submit his query
and press the “send message” button2.1.5 System is displaying a message “A lawyer will review the
contract and get back to you soon”2.1.6 System will send an email to a lawyer with the client’s
information.2.1.7 A Lawyer will review the contract and contract2.1.8 Lawyer will reply back to the client
2.2.Visitor can contact without purchasing a package/contract2.2.1. Visitor see a list of lawyers in the homepage2.2.2. Visitor click on the ‘contact’ button on a lawyer profile2.2.3. System will display two options to contact with a lawyer
i. Urgentii. Regular
2.2.4. Visitor selects the urgent optiona) System will display a message “You need to pay 1
hour consultation fee”b) Visitor press the ‘accept’ buttonc) 1 hour consultation fee will be added to the cart of
visitor as a productd) Client makes the payment through check-out
processe) System will send a confirmation mail to the client’s
email addressf) System will send a message to the lawyer with
visitors contact informationg) Lawyer communicates with client within 24 hours
2.2.5. Visitor selects the regular optiona) System display a message “ A lawyer will contact
with you within 72 hours”b) System will send a message to Lawyer with visitor
contact informationh) Lawyer communicates with client within 72 hours
Alternative Flows: User leaves the page without sending message to the lawyer
1. System will display a warning message “Your message will be discarded.”
Example DocumentationUser wants to send an empty message
1. System will check whether message is captured by the visitor. If user tries to send a blank message then system displays an error message “Please capture your message before sending”
Post-Conditions: If the use case is successful, visitor will be able to send a message to the lawyer.
Business Rule(s):
Exception: Exception may occur at the following situations-1. Browser refreshes/crashes before sending the message – System
will retrieve the message.
Flow Chart
Start
Client has an account?
Display a message “You need to have an account to contact to a Lawyer”
Client is logged in?
Yes
Client has already bought
package/contract?
No
Display a message “You need to login first to contact to a Lawyer”
No
Client wants to contact to a Lawyer
YesClient can contact with a
Lawyer to verify his contract by sending message
YesLawyer verifies his
contract and replies back to the client
Client wants to contant with a Lawyer and press
the “Ask a Lawyer” button
End
Yes
No
System displays two options to contact with a
Lawyer 1. Urgent 2. Regular
Client selects the Urgent option?
System displays a message “You need to pay 1 hour consultation
fee” and an accept buttonYes Client hits the
accept button?
1 hour consultation will be added to his
cart as a productYes
Client pays through check-out process
A confirmation mail will be sent to
client’s email address
System will sent a message to a Lawyer with clients
contact information
Lawyer communicates with client within 24
hours
End
No
No
System displays a message “A Lawyer will contact
with you within 72 hours”
System will sent a message to a Lawyer with clients
contact information
Lawyer communicates with client within 72
hours
End
Client selects the Regular option? YesNo
Functional Requirements
ID Description
01 System will display a message form with a subject line when visitor clicks on the
Example Documentationcontact option of a Lawyer. A ‘send’ button will also be displayed.
02 System will check whether the message is captured or not when visitor press the send button. If the message is blank then it will display an error message “please capture your message before sending”
03 System will generate an email to the lawyer when visitor captures and sends message. The email should accompany the message along with visitor information details.
04 System will display a warning message “Your message will be discarded.” if visitor wants to leave the message form without sending.