SlideShare a Scribd company logo
1 of 12
Customer Contact Database System Development Report
Milestone Five
Group D
Brent Renius; Sukhwinder Singh; Nicholai Stevens; Aaron Stroud; Ulysses Vazquez; Daniel Woolworth
Page | 2
Table of Contents
Part I: Planning
System Request……………………………………………………………………………………1
Proposed Solution…………………………………………………………………………………1
UML Tools………………………………………………………………………………………..1
Part II: Analysis
System Requirements
Functional………………………………………………………………………………….1
Nonfunctional……………………………………………………………………………...2
Use Cases……………………………………………………………………………………..…5-8
Use Case Diagram…………………………………………………………………………………8
Part III: Design
CRC Cards……………………………………………………………………………………..9-10
Sequence Diagrams………………………………………………………………………...…10-11
Class Diagram…………………………………………………………………………………….11
Class Relationships Table………………………………………………………………………...12
Page | 3
System Request:
Create a contact management application for the expanding customer list.
ProposedSolution:
We propose to create a database system that will provide an efficient and effective solution to meet
all of the needs of the ACME Warehouse contact management as its customer base continues to grow. This
system will allow ACME Warehouse to easily organize, search, update, and access contact information. It
will also be able to be integrated into the purchase records database to allow for more effective customer
service and marketing.
UML tool:
We will be using the Visio UML tool to facilitate the creation and presentation of this solution. We
chose Visio because it is a fairly simple program to understand and use, and it will allow us to create quality
diagrams which will aid in the planning and management of this project.
System Requirements:
Functional Requirements
1. Manage Customer Accounts
1.1. User enters customer information.
1.1.1. Customer Name (Last, First, MI).
1.1.2. Customer Address (Street, City, State, Zip, Other).
1.1.3. Customer Phone Number(s) (Home, Office, Cell).
1.1.4. Customer E-mail.
1.1.5. Customer Title.
1.1.6. Customer Last Contact Date (DD/MM/YYYY).
1.1.7. Customer Notes (Additional useful information).
1.2. User edits customer information.
1.2.1. All items under 1.1.
2. User Logins
2.1. Sales staff.
2.2. Shipping staff.
2.3. Administrative staff.
3. Search Functions
3.1. User searches for customer account
3.1.1. Search via last name and Phone number.
3.1.2. Search via customer number.
3.1.3. Search via customer E-mail
3.1.4. Search via customer location.
Page | 4
Nonfunctional Requirements
1. Operational Requirements
1.1. The system will be accessible through web browsers.
1.1.1. Internet Explorer
1.1.2. Safari
1.1.3. Chrome
1.1.4. Firefox
1.2. The system should automatically back up at end of business each day.
1.3. The customer accounts will be linked to other business systems.
1.3.1. Purchase records (for customer service and sales purposes).
1.3.2. E-mail system (For marketing purposes).
1.4. The system will operate in Windows environment.
1.5. The system should be accessible by multiple users simultaneously.
2. Performance Requirements
2.1. The Customer accounts will update immediately.
2.2. The system should retrieve a customer account in two seconds or less.
3. Security Requirements
3.1. Only ACME staff will have access to the system.
3.1.1. Users will log-in with employee number and password.
3.1.2. Users will be able to change their password.
3.2. Users will be logged out after thirty minutes of inactivity.
4. Cultural and Political Requirements
4.1. No special cultural and political requirements are anticipated.
Page | 5
Use Cases:
Use Case Name: Sign-in ID: 1 Importance Level: High
Primary Actor: User Use Case Type: Detail, Essential
Stakeholders and
Interests:
User – wants to sign in to access customer contact system
Brief Description: This use case describes how we sign in to access the database
Trigger: User has a need to acquire or update information from database
Type: External
Relationships: Association:
Include:
Extend:
Generalization:
User
(included in) Manage Contacts
Normal Flow of
Events:
1. User opens browser and navigate to application web address
2. The user enters username and password
3. The information is verified by the application
4. Present application to the user
a. If applicable execute S-1Change Password subflow
SubFlows: S-1: Change Password
1. The user navigates to the change password button and clicks
on it
2. The form is presented to the user where the current password
is entered for verification
3. User enters new password conforming to requirements e.g.
policy like should have a special character etc.
4. User re-enters new password in second field to confirm it
5. System verifies that new password complies with security
protocols
6. The user is then presented with change password button on the
form
Alternate /
Exceptional Flows:
NF, 3a1: The user is not authorized to access the data,re-enter password. If still
unsuccessful execute Forgot Password subflow.
S-1, 5a1: Password entered does not meet security standards; go back to S-1 step 3.
Page | 6
Use Case Name: Search Contacts ID: 2 Importance Level: High
Primary Actor: User Use Case Type: Detail, Essential
Stakeholders and
Interests:
User – wants to access existing customer file
clients – want their information to be secure
Brief Description: This use case describes how a user signs into the contact management system
Trigger: Customer needs to be added, updated, or referenced
Type: External
Relationships: Association:
Include:
Extend:
Generalization:
User
(included in) Update Contact
Manage Contacts
Normal Flow of
Events:
1. User opens browser and navigate to application web address
2. The user Signs In by entering username and password
a. Execute Sign In use case
3. User selects Search Contacts button
4. The user enters a search term e.g. email address, last name
5. Customer record is displayed
6. User selects contact file
SubFlows: S-1: Sign In
1. The user enters username and password
2. The information is verified by the application
3. Present application to the user
Alternate /
Exceptional Flows:
NF, 5a1: If multiple records are found, display additional information for each of
the records e.g. last name, first name, company, email address, etc., User
then chooses the specific contact to display
S-1, 2a2: The Patient chooses one of the proposed times or decides not to make an
appointment
Page | 7
Use Case Name: Add New Contact ID: 3 Importance Level: High
Primary Actor: User Use Case Type: Detail, Essential
Stakeholders and
Interests:
User – wants to make sale and/or store customer info for future sales.
Customer – wants to ensure orders are processed in a timely manner.
Brief Description: This use case describes how we add a new customer contact into our system.
Trigger: New customer places an order or wishes to receive promotional information.
Type: External
Relationships: Association:
Include:
Extend:
Generalization:
User
Manage Contacts
Normal Flow of
Events:
1. New customer places an order or enrolls in promotion.
2. User opens browser and navigates to application web address
3. User Signs In by entering username and password
a. Execute Sign In use case
4. Open New Customer Contact form
5. Enter customer’s information into appropriate fields.
a. Name (Last,First, MI)
b. Address (Street, City, State, Zip, Other).
c. Phone Number.
d. E-mail
e. Title (If corporate customer)
f. Last Contact Date
g. Notes
6. Customer confirms all information is correct.
7. Complete Customer Transaction
a. If customer is making a purchase, the S-1: Complete Sale subflow is
performed.
b. If the customer is signing up for promotional purposes, the S-2 Promotions
subflow is performed.
SubFlows: S-1: Sign In
5. The user enters username and password
6. The information is verified by the application
7. Present application to the user
S-2: Complete Sale
8. The Sales rep confirms the order.
9. The Sales rep processes payment.
10. Sales rep makes additional notes if necessary.
11. Sales rep performs the S-2 Promotions subflow.
S-3: Promotions
1. Sales rep asks what types of promotions customer wants to receive (e-
mail, mail).
2. Sales rep checks appropriate boxes.
3. Sales rep saves and exits customer file.
Alternate /
Exceptional Flows:
NF, 6a1: Customer identifies mistakes; sales rep makes corrections, proceeds to
next step.
S-1, 2a1: Payment method is unsuccessful; new payment is processed; once
payment is successful,proceed to next step.
Page | 8
Use Case Name: Update Contact ID: 4 Importance Level: High
Primary Actor: User Use Case Type: Detail, Essential
Stakeholders and
Interests:
User – wants to update existing contact information
Brief Description: This use case describes how we update contact information.
Trigger: User has a need to change existing contact information.
Type: External
Relationships: Association:
Include:
Extend:
Generalization:
User
Search Contacts
Manage Contacts
Normal Flow of
Events:
8. User opens browser and navigate to application web address
9. The user Signs In by entering username and password
a. Execute Sign In use case
10. Search for contact that requires update
a. Execute Search Contact use case
11. The information in the record is updated by the user
12. The user confirms updated information
13. The information in the record is saved by the user
SubFlows: S-1: Sign In
12. The user enters username and password
13. The information is verified by the application
14. Present application to the user
S-2: Search Contact
4. User selects Search Contacts button
5. The user enters a search term e.g. email address, last name
6. Customer record is displayed
7. User selects contact file
Alternate /
Exceptional Flows:
S-1, 2a1: The user is not authorized to access the application
S-2, 2a1: No records are found matching the search terms; User executes Add New
Contact use case.
Use Case Diagram:
Add New Contact Search Contacts
Update Contact
Sign In
Manage Contacts
Add Note
<<extend>>
Customer Contact System
User
<<include>>
<<include>>
Page | 9
CRC Cards:
Front:
Class Name: User ID: 1 Type: Concrete
Description: This class contains information about employees Associated Use Cases: 4
Responsibilities: Collaborators:
Store user information
Add user information
Edit user information
Delete user information
Back:
Attributes:
Last Name (text) Title (text)
First Name (text) Department (text)
Access Level(text)
Email Address (text)
Relationships:
Generalization (a-kind-of): Person
Aggregation (has-parts):
Other Associations: Search,Contacts, Customer
Front:
Class Name: Search ID: 2 Type: Abstract
Description: This class facilitates locating existing customer
information
Associated Use Cases: 2
Responsibilities: Collaborators:
Search via last name Contacts
Search via customer number Contacts
Search via phone number Contacts
Search via location Contacts
Back:
Attributes:
Last Name (text)
Customer Number (text)
Phone Number (custom text)
Location (text)
Relationships:
Generalization (a-kind-of):
Aggregation (has-parts):
Other Associations: User,Contacts, Customer
Page | 10
Front:
Class Name: Contacts ID: 3 Type: Concrete
Description: This class facilitates the management of contact
information
Associated Use Cases:
3,4
Responsibilities: Collaborators:
Store contact information
Add contact information
Edit contact information Search
Delete contact information Search
Back:
Attributes:
Last Name (text) Title (text)
First Name (text) Phone Number (custom text)
Last Contact Date (date) Location (text)
Email Address (text)
Relationships:
Generalization (a-kind-of): Person
Aggregation (has-parts):
Other Associations: Search,User,Customer
Sequence Diagrams:
User Sign In
SystemAccessReq()
System
AccessResponse()
ChangePW()
TITLE
Sign In Sequence
PWChanged()
x
ValidUser?()
AccessResponse()
MeetsCriteria?()
Page | 11
User Sign In
SystemAccessReq()
Contacts
AccessResponse()
CreateNewContact()
TITLE
Add New Contact Sequence
Customer
SaveNewContact()
ConfirmInfo()
InfoConfirmed()
x
System
ValidUser?()
AccessResponse()
User Sign In
SystemAccessReq()
Contacts
AccessResponse()
TITLE
Edit Contact Sequence
Customer
SaveContact()
ConfirmInfo()
InfoConfirmed()
Search
SearchContact()
Contact(s)Found()
UpdateContact()
DeleteContact()
x
RetrieveMatches()
Matches()
System
ValidUser?()
AccessResponse()
Page | 12
Class Diagram:
User
-Password
Person
Contacts
+Customer E-mail
+Customer Address
+Customer Phone
+Last Contact Date
+Notes
Search
+Last Name ()
+Customer E-mail ()
+Customer Number ()
+Customer Location ()
+Number
+First Name
+Title
+Add Contact ()
+Edit Contact ()
+Delete Contact ()
+Last Name
+Access Level
+Department
+Add User ()
+Edit User ()
+Delete User ()
0..* 0..*
0..*
1 1
0..*
1 0..*
11
Class Relationships:
Class Relationships Cardinality
Person
Is relatedtoUser 1 to 0..*
Is relatedtoContacts 1 to 0..*
User
Is a Person. 1 to 0..*
Uses Search. 1 to 1
Is relatedtocontacts 0..* to 0..*
Contacts
Is a Person 1 to 0..*
Is relatedtouser 0..* to 0..*
Search
Is relatedtoContacts 1 to 0..*
Is usedbyuser 1 to 1
*This report does not contain any explanations pertaining to the reasoning behind the final deliverables. The
reason for this is that we felt it would clutter the report. The explanations will be present in the form of notes
in the final presentation.

More Related Content

What's hot

Unnamed PL/SQL code block: Use of Control structure and Exception handling i...
 Unnamed PL/SQL code block: Use of Control structure and Exception handling i... Unnamed PL/SQL code block: Use of Control structure and Exception handling i...
Unnamed PL/SQL code block: Use of Control structure and Exception handling i...bhavesh lande
 
School Management System
School Management SystemSchool Management System
School Management SystemZain Basit
 
408372362-Student-Result-management-System-project-report-docx.docx
408372362-Student-Result-management-System-project-report-docx.docx408372362-Student-Result-management-System-project-report-docx.docx
408372362-Student-Result-management-System-project-report-docx.docxsanthoshyadav23
 
Computer graphics question for exam solved
Computer graphics question for exam solvedComputer graphics question for exam solved
Computer graphics question for exam solvedKuntal Bhowmick
 
College management system ppt
College management system pptCollege management system ppt
College management system pptShanthan Reddy
 
Poster - Convolutional Neural Networks for Real-time Road Sign Detection-V3Mr...
Poster - Convolutional Neural Networks for Real-time Road Sign Detection-V3Mr...Poster - Convolutional Neural Networks for Real-time Road Sign Detection-V3Mr...
Poster - Convolutional Neural Networks for Real-time Road Sign Detection-V3Mr...Guangrui Liu
 
Lecture-03 Introduction to UML
Lecture-03 Introduction to UMLLecture-03 Introduction to UML
Lecture-03 Introduction to UMLartgreen
 
Training & Placement Database Management System
Training & Placement Database Management SystemTraining & Placement Database Management System
Training & Placement Database Management SystemRohit Mate
 
Online railway reservation system
Online railway reservation systemOnline railway reservation system
Online railway reservation systemPIYUSH Dubey
 
Hostel management system (5)
Hostel management system (5)Hostel management system (5)
Hostel management system (5)PRIYANKMZN
 
Online Movie Ticket Booking
Online Movie Ticket BookingOnline Movie Ticket Booking
Online Movie Ticket BookingSuman Bose
 
UML- Class Diagrams, State Machine Diagrams
UML- Class Diagrams, State Machine DiagramsUML- Class Diagrams, State Machine Diagrams
UML- Class Diagrams, State Machine DiagramsQBI Institute
 
Mid point line Algorithm - Computer Graphics
Mid point line Algorithm - Computer GraphicsMid point line Algorithm - Computer Graphics
Mid point line Algorithm - Computer GraphicsDrishti Bhalla
 
Conformal mapping
Conformal mappingConformal mapping
Conformal mappingCss Founder
 
Online Student Feedback System
Online Student Feedback SystemOnline Student Feedback System
Online Student Feedback SystemEditorIJAERD
 
Software Engineering Assignment
Software Engineering AssignmentSoftware Engineering Assignment
Software Engineering AssignmentSohaib Latif
 
Online course registration system development software engineering project pr...
Online course registration system development software engineering project pr...Online course registration system development software engineering project pr...
Online course registration system development software engineering project pr...MD.HABIBUR Rahman
 

What's hot (20)

Unnamed PL/SQL code block: Use of Control structure and Exception handling i...
 Unnamed PL/SQL code block: Use of Control structure and Exception handling i... Unnamed PL/SQL code block: Use of Control structure and Exception handling i...
Unnamed PL/SQL code block: Use of Control structure and Exception handling i...
 
School Management System
School Management SystemSchool Management System
School Management System
 
408372362-Student-Result-management-System-project-report-docx.docx
408372362-Student-Result-management-System-project-report-docx.docx408372362-Student-Result-management-System-project-report-docx.docx
408372362-Student-Result-management-System-project-report-docx.docx
 
Loops in flow
Loops in flowLoops in flow
Loops in flow
 
Computer graphics question for exam solved
Computer graphics question for exam solvedComputer graphics question for exam solved
Computer graphics question for exam solved
 
College management system ppt
College management system pptCollege management system ppt
College management system ppt
 
Interpolation Methods
Interpolation MethodsInterpolation Methods
Interpolation Methods
 
Poster - Convolutional Neural Networks for Real-time Road Sign Detection-V3Mr...
Poster - Convolutional Neural Networks for Real-time Road Sign Detection-V3Mr...Poster - Convolutional Neural Networks for Real-time Road Sign Detection-V3Mr...
Poster - Convolutional Neural Networks for Real-time Road Sign Detection-V3Mr...
 
Lecture-03 Introduction to UML
Lecture-03 Introduction to UMLLecture-03 Introduction to UML
Lecture-03 Introduction to UML
 
Training & Placement Database Management System
Training & Placement Database Management SystemTraining & Placement Database Management System
Training & Placement Database Management System
 
Online railway reservation system
Online railway reservation systemOnline railway reservation system
Online railway reservation system
 
Hostel management system (5)
Hostel management system (5)Hostel management system (5)
Hostel management system (5)
 
Online school mangment system
Online school mangment system Online school mangment system
Online school mangment system
 
Online Movie Ticket Booking
Online Movie Ticket BookingOnline Movie Ticket Booking
Online Movie Ticket Booking
 
UML- Class Diagrams, State Machine Diagrams
UML- Class Diagrams, State Machine DiagramsUML- Class Diagrams, State Machine Diagrams
UML- Class Diagrams, State Machine Diagrams
 
Mid point line Algorithm - Computer Graphics
Mid point line Algorithm - Computer GraphicsMid point line Algorithm - Computer Graphics
Mid point line Algorithm - Computer Graphics
 
Conformal mapping
Conformal mappingConformal mapping
Conformal mapping
 
Online Student Feedback System
Online Student Feedback SystemOnline Student Feedback System
Online Student Feedback System
 
Software Engineering Assignment
Software Engineering AssignmentSoftware Engineering Assignment
Software Engineering Assignment
 
Online course registration system development software engineering project pr...
Online course registration system development software engineering project pr...Online course registration system development software engineering project pr...
Online course registration system development software engineering project pr...
 

Similar to Customer Contact DB Development Project

E-commerce (System Analysis and Design)
E-commerce (System Analysis and Design)E-commerce (System Analysis and Design)
E-commerce (System Analysis and Design)Nazmul Hyder
 
Software Requirements ElicitationRequirements specify a set of f.docx
Software Requirements ElicitationRequirements specify a set of f.docxSoftware Requirements ElicitationRequirements specify a set of f.docx
Software Requirements ElicitationRequirements specify a set of f.docxwhitneyleman54422
 
Tour guidance srs (Software Requirements Specification)
Tour guidance  srs (Software Requirements Specification)Tour guidance  srs (Software Requirements Specification)
Tour guidance srs (Software Requirements Specification)Akalanaka Liyanage
 
Design Implementation ProposalDesign Implementation Proposal.docx
Design Implementation ProposalDesign Implementation Proposal.docxDesign Implementation ProposalDesign Implementation Proposal.docx
Design Implementation ProposalDesign Implementation Proposal.docxtheodorelove43763
 
Protectourwater.ie SRS
Protectourwater.ie SRSProtectourwater.ie SRS
Protectourwater.ie SRSKillian Vigna
 
Event Management System Document
Event Management System Document Event Management System Document
Event Management System Document LJ PROJECTS
 
Loan Approval Management Java project
Loan Approval Management Java projectLoan Approval Management Java project
Loan Approval Management Java projectTutorial Learners
 
SE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and SpecificationSE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and SpecificationAmr E. Mohamed
 
Project of IT243Customer Service For Electroni.docx
Project of IT243Customer Service For Electroni.docxProject of IT243Customer Service For Electroni.docx
Project of IT243Customer Service For Electroni.docxwoodruffeloisa
 
RISK REPORTING SYSTEM IN IT ORGANIZATIONSCPT PAPERName Vi.docx
RISK REPORTING SYSTEM IN IT ORGANIZATIONSCPT PAPERName Vi.docxRISK REPORTING SYSTEM IN IT ORGANIZATIONSCPT PAPERName Vi.docx
RISK REPORTING SYSTEM IN IT ORGANIZATIONSCPT PAPERName Vi.docxjoellemurphey
 
Blood Bank Management System in php.pptx
Blood Bank Management System in php.pptxBlood Bank Management System in php.pptx
Blood Bank Management System in php.pptx227r1a0519
 
Blood Bank Management System.pptx.......
Blood Bank Management System.pptx.......Blood Bank Management System.pptx.......
Blood Bank Management System.pptx.......VijaylaxmiPatil11
 
Online Hotel Reservation System PPT
Online Hotel Reservation System PPTOnline Hotel Reservation System PPT
Online Hotel Reservation System PPTsurabhi shinde
 

Similar to Customer Contact DB Development Project (20)

E-commerce (System Analysis and Design)
E-commerce (System Analysis and Design)E-commerce (System Analysis and Design)
E-commerce (System Analysis and Design)
 
ValidityUseCases
ValidityUseCasesValidityUseCases
ValidityUseCases
 
Software Requirements ElicitationRequirements specify a set of f.docx
Software Requirements ElicitationRequirements specify a set of f.docxSoftware Requirements ElicitationRequirements specify a set of f.docx
Software Requirements ElicitationRequirements specify a set of f.docx
 
Deliverable 2
Deliverable 2Deliverable 2
Deliverable 2
 
Tour guidance srs (Software Requirements Specification)
Tour guidance  srs (Software Requirements Specification)Tour guidance  srs (Software Requirements Specification)
Tour guidance srs (Software Requirements Specification)
 
Design Implementation ProposalDesign Implementation Proposal.docx
Design Implementation ProposalDesign Implementation Proposal.docxDesign Implementation ProposalDesign Implementation Proposal.docx
Design Implementation ProposalDesign Implementation Proposal.docx
 
Protectourwater.ie SRS
Protectourwater.ie SRSProtectourwater.ie SRS
Protectourwater.ie SRS
 
Event Management System Document
Event Management System Document Event Management System Document
Event Management System Document
 
Atm project
Atm projectAtm project
Atm project
 
Loan Approval Management Java project
Loan Approval Management Java projectLoan Approval Management Java project
Loan Approval Management Java project
 
SE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and SpecificationSE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and Specification
 
Usecase
UsecaseUsecase
Usecase
 
main project doument
main project doumentmain project doument
main project doument
 
Project of IT243Customer Service For Electroni.docx
Project of IT243Customer Service For Electroni.docxProject of IT243Customer Service For Electroni.docx
Project of IT243Customer Service For Electroni.docx
 
Online computer shop 111 35-181
Online computer shop 111 35-181Online computer shop 111 35-181
Online computer shop 111 35-181
 
RISK REPORTING SYSTEM IN IT ORGANIZATIONSCPT PAPERName Vi.docx
RISK REPORTING SYSTEM IN IT ORGANIZATIONSCPT PAPERName Vi.docxRISK REPORTING SYSTEM IN IT ORGANIZATIONSCPT PAPERName Vi.docx
RISK REPORTING SYSTEM IN IT ORGANIZATIONSCPT PAPERName Vi.docx
 
Blood Bank Management System in php.pptx
Blood Bank Management System in php.pptxBlood Bank Management System in php.pptx
Blood Bank Management System in php.pptx
 
Blood Bank Management System.pptx.......
Blood Bank Management System.pptx.......Blood Bank Management System.pptx.......
Blood Bank Management System.pptx.......
 
Enterprise software testing
Enterprise software testingEnterprise software testing
Enterprise software testing
 
Online Hotel Reservation System PPT
Online Hotel Reservation System PPTOnline Hotel Reservation System PPT
Online Hotel Reservation System PPT
 

Customer Contact DB Development Project

  • 1. Customer Contact Database System Development Report Milestone Five Group D Brent Renius; Sukhwinder Singh; Nicholai Stevens; Aaron Stroud; Ulysses Vazquez; Daniel Woolworth
  • 2. Page | 2 Table of Contents Part I: Planning System Request……………………………………………………………………………………1 Proposed Solution…………………………………………………………………………………1 UML Tools………………………………………………………………………………………..1 Part II: Analysis System Requirements Functional………………………………………………………………………………….1 Nonfunctional……………………………………………………………………………...2 Use Cases……………………………………………………………………………………..…5-8 Use Case Diagram…………………………………………………………………………………8 Part III: Design CRC Cards……………………………………………………………………………………..9-10 Sequence Diagrams………………………………………………………………………...…10-11 Class Diagram…………………………………………………………………………………….11 Class Relationships Table………………………………………………………………………...12
  • 3. Page | 3 System Request: Create a contact management application for the expanding customer list. ProposedSolution: We propose to create a database system that will provide an efficient and effective solution to meet all of the needs of the ACME Warehouse contact management as its customer base continues to grow. This system will allow ACME Warehouse to easily organize, search, update, and access contact information. It will also be able to be integrated into the purchase records database to allow for more effective customer service and marketing. UML tool: We will be using the Visio UML tool to facilitate the creation and presentation of this solution. We chose Visio because it is a fairly simple program to understand and use, and it will allow us to create quality diagrams which will aid in the planning and management of this project. System Requirements: Functional Requirements 1. Manage Customer Accounts 1.1. User enters customer information. 1.1.1. Customer Name (Last, First, MI). 1.1.2. Customer Address (Street, City, State, Zip, Other). 1.1.3. Customer Phone Number(s) (Home, Office, Cell). 1.1.4. Customer E-mail. 1.1.5. Customer Title. 1.1.6. Customer Last Contact Date (DD/MM/YYYY). 1.1.7. Customer Notes (Additional useful information). 1.2. User edits customer information. 1.2.1. All items under 1.1. 2. User Logins 2.1. Sales staff. 2.2. Shipping staff. 2.3. Administrative staff. 3. Search Functions 3.1. User searches for customer account 3.1.1. Search via last name and Phone number. 3.1.2. Search via customer number. 3.1.3. Search via customer E-mail 3.1.4. Search via customer location.
  • 4. Page | 4 Nonfunctional Requirements 1. Operational Requirements 1.1. The system will be accessible through web browsers. 1.1.1. Internet Explorer 1.1.2. Safari 1.1.3. Chrome 1.1.4. Firefox 1.2. The system should automatically back up at end of business each day. 1.3. The customer accounts will be linked to other business systems. 1.3.1. Purchase records (for customer service and sales purposes). 1.3.2. E-mail system (For marketing purposes). 1.4. The system will operate in Windows environment. 1.5. The system should be accessible by multiple users simultaneously. 2. Performance Requirements 2.1. The Customer accounts will update immediately. 2.2. The system should retrieve a customer account in two seconds or less. 3. Security Requirements 3.1. Only ACME staff will have access to the system. 3.1.1. Users will log-in with employee number and password. 3.1.2. Users will be able to change their password. 3.2. Users will be logged out after thirty minutes of inactivity. 4. Cultural and Political Requirements 4.1. No special cultural and political requirements are anticipated.
  • 5. Page | 5 Use Cases: Use Case Name: Sign-in ID: 1 Importance Level: High Primary Actor: User Use Case Type: Detail, Essential Stakeholders and Interests: User – wants to sign in to access customer contact system Brief Description: This use case describes how we sign in to access the database Trigger: User has a need to acquire or update information from database Type: External Relationships: Association: Include: Extend: Generalization: User (included in) Manage Contacts Normal Flow of Events: 1. User opens browser and navigate to application web address 2. The user enters username and password 3. The information is verified by the application 4. Present application to the user a. If applicable execute S-1Change Password subflow SubFlows: S-1: Change Password 1. The user navigates to the change password button and clicks on it 2. The form is presented to the user where the current password is entered for verification 3. User enters new password conforming to requirements e.g. policy like should have a special character etc. 4. User re-enters new password in second field to confirm it 5. System verifies that new password complies with security protocols 6. The user is then presented with change password button on the form Alternate / Exceptional Flows: NF, 3a1: The user is not authorized to access the data,re-enter password. If still unsuccessful execute Forgot Password subflow. S-1, 5a1: Password entered does not meet security standards; go back to S-1 step 3.
  • 6. Page | 6 Use Case Name: Search Contacts ID: 2 Importance Level: High Primary Actor: User Use Case Type: Detail, Essential Stakeholders and Interests: User – wants to access existing customer file clients – want their information to be secure Brief Description: This use case describes how a user signs into the contact management system Trigger: Customer needs to be added, updated, or referenced Type: External Relationships: Association: Include: Extend: Generalization: User (included in) Update Contact Manage Contacts Normal Flow of Events: 1. User opens browser and navigate to application web address 2. The user Signs In by entering username and password a. Execute Sign In use case 3. User selects Search Contacts button 4. The user enters a search term e.g. email address, last name 5. Customer record is displayed 6. User selects contact file SubFlows: S-1: Sign In 1. The user enters username and password 2. The information is verified by the application 3. Present application to the user Alternate / Exceptional Flows: NF, 5a1: If multiple records are found, display additional information for each of the records e.g. last name, first name, company, email address, etc., User then chooses the specific contact to display S-1, 2a2: The Patient chooses one of the proposed times or decides not to make an appointment
  • 7. Page | 7 Use Case Name: Add New Contact ID: 3 Importance Level: High Primary Actor: User Use Case Type: Detail, Essential Stakeholders and Interests: User – wants to make sale and/or store customer info for future sales. Customer – wants to ensure orders are processed in a timely manner. Brief Description: This use case describes how we add a new customer contact into our system. Trigger: New customer places an order or wishes to receive promotional information. Type: External Relationships: Association: Include: Extend: Generalization: User Manage Contacts Normal Flow of Events: 1. New customer places an order or enrolls in promotion. 2. User opens browser and navigates to application web address 3. User Signs In by entering username and password a. Execute Sign In use case 4. Open New Customer Contact form 5. Enter customer’s information into appropriate fields. a. Name (Last,First, MI) b. Address (Street, City, State, Zip, Other). c. Phone Number. d. E-mail e. Title (If corporate customer) f. Last Contact Date g. Notes 6. Customer confirms all information is correct. 7. Complete Customer Transaction a. If customer is making a purchase, the S-1: Complete Sale subflow is performed. b. If the customer is signing up for promotional purposes, the S-2 Promotions subflow is performed. SubFlows: S-1: Sign In 5. The user enters username and password 6. The information is verified by the application 7. Present application to the user S-2: Complete Sale 8. The Sales rep confirms the order. 9. The Sales rep processes payment. 10. Sales rep makes additional notes if necessary. 11. Sales rep performs the S-2 Promotions subflow. S-3: Promotions 1. Sales rep asks what types of promotions customer wants to receive (e- mail, mail). 2. Sales rep checks appropriate boxes. 3. Sales rep saves and exits customer file. Alternate / Exceptional Flows: NF, 6a1: Customer identifies mistakes; sales rep makes corrections, proceeds to next step. S-1, 2a1: Payment method is unsuccessful; new payment is processed; once payment is successful,proceed to next step.
  • 8. Page | 8 Use Case Name: Update Contact ID: 4 Importance Level: High Primary Actor: User Use Case Type: Detail, Essential Stakeholders and Interests: User – wants to update existing contact information Brief Description: This use case describes how we update contact information. Trigger: User has a need to change existing contact information. Type: External Relationships: Association: Include: Extend: Generalization: User Search Contacts Manage Contacts Normal Flow of Events: 8. User opens browser and navigate to application web address 9. The user Signs In by entering username and password a. Execute Sign In use case 10. Search for contact that requires update a. Execute Search Contact use case 11. The information in the record is updated by the user 12. The user confirms updated information 13. The information in the record is saved by the user SubFlows: S-1: Sign In 12. The user enters username and password 13. The information is verified by the application 14. Present application to the user S-2: Search Contact 4. User selects Search Contacts button 5. The user enters a search term e.g. email address, last name 6. Customer record is displayed 7. User selects contact file Alternate / Exceptional Flows: S-1, 2a1: The user is not authorized to access the application S-2, 2a1: No records are found matching the search terms; User executes Add New Contact use case. Use Case Diagram: Add New Contact Search Contacts Update Contact Sign In Manage Contacts Add Note <<extend>> Customer Contact System User <<include>> <<include>>
  • 9. Page | 9 CRC Cards: Front: Class Name: User ID: 1 Type: Concrete Description: This class contains information about employees Associated Use Cases: 4 Responsibilities: Collaborators: Store user information Add user information Edit user information Delete user information Back: Attributes: Last Name (text) Title (text) First Name (text) Department (text) Access Level(text) Email Address (text) Relationships: Generalization (a-kind-of): Person Aggregation (has-parts): Other Associations: Search,Contacts, Customer Front: Class Name: Search ID: 2 Type: Abstract Description: This class facilitates locating existing customer information Associated Use Cases: 2 Responsibilities: Collaborators: Search via last name Contacts Search via customer number Contacts Search via phone number Contacts Search via location Contacts Back: Attributes: Last Name (text) Customer Number (text) Phone Number (custom text) Location (text) Relationships: Generalization (a-kind-of): Aggregation (has-parts): Other Associations: User,Contacts, Customer
  • 10. Page | 10 Front: Class Name: Contacts ID: 3 Type: Concrete Description: This class facilitates the management of contact information Associated Use Cases: 3,4 Responsibilities: Collaborators: Store contact information Add contact information Edit contact information Search Delete contact information Search Back: Attributes: Last Name (text) Title (text) First Name (text) Phone Number (custom text) Last Contact Date (date) Location (text) Email Address (text) Relationships: Generalization (a-kind-of): Person Aggregation (has-parts): Other Associations: Search,User,Customer Sequence Diagrams: User Sign In SystemAccessReq() System AccessResponse() ChangePW() TITLE Sign In Sequence PWChanged() x ValidUser?() AccessResponse() MeetsCriteria?()
  • 11. Page | 11 User Sign In SystemAccessReq() Contacts AccessResponse() CreateNewContact() TITLE Add New Contact Sequence Customer SaveNewContact() ConfirmInfo() InfoConfirmed() x System ValidUser?() AccessResponse() User Sign In SystemAccessReq() Contacts AccessResponse() TITLE Edit Contact Sequence Customer SaveContact() ConfirmInfo() InfoConfirmed() Search SearchContact() Contact(s)Found() UpdateContact() DeleteContact() x RetrieveMatches() Matches() System ValidUser?() AccessResponse()
  • 12. Page | 12 Class Diagram: User -Password Person Contacts +Customer E-mail +Customer Address +Customer Phone +Last Contact Date +Notes Search +Last Name () +Customer E-mail () +Customer Number () +Customer Location () +Number +First Name +Title +Add Contact () +Edit Contact () +Delete Contact () +Last Name +Access Level +Department +Add User () +Edit User () +Delete User () 0..* 0..* 0..* 1 1 0..* 1 0..* 11 Class Relationships: Class Relationships Cardinality Person Is relatedtoUser 1 to 0..* Is relatedtoContacts 1 to 0..* User Is a Person. 1 to 0..* Uses Search. 1 to 1 Is relatedtocontacts 0..* to 0..* Contacts Is a Person 1 to 0..* Is relatedtouser 0..* to 0..* Search Is relatedtoContacts 1 to 0..* Is usedbyuser 1 to 1 *This report does not contain any explanations pertaining to the reasoning behind the final deliverables. The reason for this is that we felt it would clutter the report. The explanations will be present in the form of notes in the final presentation.