ENTITY GEO LOCATOR USING GOOGLE MAPS
-
Upload
priyankareddy82 -
Category
Documents
-
view
224 -
download
0
Transcript of ENTITY GEO LOCATOR USING GOOGLE MAPS
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
1/51
ENTITY GEO LOCATOR USING GOOGLE MAPS
1. Introduction
The following subsections of the Software Requirements Specifications (SRS) document provide an
overview of the entire SRS. This document tells what the system must do so that designers can
ultimately build it.
1.1 Purpose
This document is written to outline the requirements for several components of the Entity Geo
Locator Using Google Maps. Requirements Specification defines and describes the operations,
interfaces, performance of the Entity Geo Locator Using Google Maps. It also describes the design
constraints that are to be considered when the system is to be designed
1.2 Scope
Create different system users and assign different roles with related permissions.
Manage all the account details such as user name, company, phone numbers, and email
addresses of the entire customer, Managers and Associates from one central location.
Maintaining product details
Keep tracking of Product details Feed back
Maintaining Company details like edit, delete and add
Keep tracking of Associates where they are visiting at which location which customer he/she
is visited.
Showing reports of customer, products and associates
Reports on Associates to which customer they handled what the product they have sold
Displaying exact location on Google map of the associate.
1
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
2/51
1.3 Definitions, Acronyms, and Abbreviations
1. HTML: Hypertext Markup Language is a markup language used to design static web pages.
2. Jsp: Java server pages is used to develop web application
3. Netbeans : application where we can develop application by using this IDE
4. HTTP: Hypertext Transfer Protocol is a transaction oriented client/server protocol between
web browser & a Web Server.
5. HTTPS: Secure Hypertext Transfer Protocol is a HTTP over SSL (secure socket layer).
6. TCP/IP: Transmission Control Protocol/Internet Protocol, the suite of communication
protocols used to connect hosts on the Internet. TCP/IP uses several protocols, the two main
ones being TCP and IP..
7. DB2: DB2 Database is the database management system that delivers a flexible and cost-
effective database platform to build robust on demand business applications.
8. GlassFish: GlassFish server is an application server that runs business applications
1.4References
IEEE SRS Format
1.5Technologies
Java: Application Architecture
Mysql: Database
Netbeans: Development Tool
GlassFish: Web Server
MS Visio: Design Tool
1.6 Overview SRS will include two sections:
1) Overall Descriptionwill describe major components of the system, interconnection and
External interfaces.
2) Specific Requirementswill describe the functions of actors, their role in the system and
2
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
3/51
2 Overall Description
2.1 Product Perspective
Figure 1: Block Diagram
The web pages (XHTML/JSP) are present to provide the user interface on customer client side.
Communication between customer and server is provided through HTTP/HTTPS protocols.
On the server side web server is for EJB and database server is for storing the information.
2.1.1 Software Interfaces
Client on Internet: Web Browser, Operating System (any)
Web Server: GlassFish
Data Base Server: Mysql, Operating System (any)
Development End:Netbeans, Java.
3
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
4/51
2.1.2 Hardware Interfaces
Client Side
Processor RAM Disk SpaceFirefox 3.6 Pentium II at 500
MHz
64MB 1GB
Server Side
GlassFish 3.0.1 Pentium III at 1GHz 512 MB 2GB
Mysql 5.1.7 Pentium III at 1GHz 512 1GB (Excluding DataSize)
2.1.3 Communication Interface
User/Admin/Service Provider will be using HTTP/HTTPS Protocol
2.2 Product Functions
1. Maintaining Roles: Managing roles like add, edit, delete
2. Maintaining Company: Managing company details
3. Maintaining Products: Managing products details, these details can be done by
Company admin or Site admin
4. Tracking Associates: Associates can be track by Site Admin and Manager. Like
displaying the map with markers and path between markers.
2.3 User Characteristics
Ever user should be comfortable of working with computer and Internet browsing. He must have
basic knowledge of English.
2.4 Constraints
GUI is only in English.
Login is compulsory for performing any transaction.
Login is compulsory for Associates, managers, Company admin and site admin
This system is working for single server.
4
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
5/51
Limited to HTTP/HTTPS.
2.5 Use-Case Model Survey
Figure 2: Use Case Diagram
2.5.1 Identifying Actors
System
Site AdminCompany Admin Manager Associate
5
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
6/51
Figure 3: Actors
2.5.2 Site Admin Use Case Model
Figure 4: Use Case Diagram of Site Admin
Site Admin: Manages all the details about managers and Associates
a. View managers details and able to manage them.
b. Admin will view all the customers Reports about the product taken and visited
associates.
c. The Admin will also receive Associates reports, he can able to view the product
details.
d. The site administrator will maintain all details of company details.
e. The newly registered details maintained by the site administrator.
6
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
7/51
f. Can make track of associates root map they traveled along their root path.
2.5.3 Manager Use Case Model
Figure 5: Use Case Diagram of Manager
Managers:
Can able to create and manage Associates details. Manager has the capability to
create and manages all details of the associates.
7
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
8/51
Creating and managing product details .the newly products are manages and updated
by manager.
Creating and managing company details. This role will also maintained by manager
and site administrator.
Keep track of Associates root map. When he wants to track the associates he can logs
the server and track their information using the map.
Viewing customers reports of there product taken and associate visited. This means
the customer what type of product he purchased and where he purchased.
Viewing associates details of which customer they have visited which product they
discussed.
Manages product feed back details for future modification or develop their products.
2.5.4 Associate Use Case Model
Figure 6: Use Case Diagram of Associate
Associates:
Can able to view product details and there company details
8
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
9/51
Associate will give the feed back of the customer daily
Can able to view other associate details
2.5.5 Company Use Case Model
Figure 7: Use Case Diagram of Company
Company Admin:
Can able to view there company details and can edit details
Can add there own products and able to edit products
9
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
10/51
2.5.6 Customer Use Case Model
Figure 8: Use Case Diagram of Customer
Customer
Can able to view product details and there prices with company details
Can give feed back on Associates to the manager about how they performed there
product.
10
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
11/51
2.6 Architecture Diagram
11
Roles
ApplicationDML
Context
Database
Roles ContextRoles
User Details Users Context Users
Company
Details
Company
Context Company
Products DetailsProductsContext Products
Customers Customers
Context Customers
Customer
FeedBackCustomerFeedback
Context Customers
Feedback
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
12/51
Figure 9: Architecture Diagram
2.7 Assumptions and Dependencies
Technical and Non-functional Requirements:
This User Story format is useful for user oriented requirements but not for technical or non-
functional requirements (performance, accuracy, portability, reusability, maintainability,
interoperability, availability, usability, security, capacity). In these circumstances use
whatever format is appropriate. For example, "The system must support peak usage of up to
50 concurrent users" or "Every page should load in less than 3 seconds.
Benefits:
Create different system users and assign different roles with related permissions.
Manage all the account details such as user name, company, phone numbers, and email
addresses of the entire customer, Managers and Associates from one central location.
Maintaining product details
Keep tracking of Product details Feed back
Maintaining Company details like edit, delete and add
Keep tracking of Associates where they are visiting at which location which customer he/she
is visited.
Showing reports of customer, products and associates
Reports on Associates to which customer they handled what the product they have sold
Displaying exact location on Google map of the associate
Defects:
Defects need to be logged just like enhancements which means as User Stories. The specifics of how
teams do these vary. You have a choice:
12
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
13/51
Log each Defect as a User Story
Batch up several Defects as a single User Story
Team Tracking
Each time a user uses Team Track, he or she has to login twice. The first one is a form based
authentication, and the second one is any thing.
Team Tracks user interface is 'cumbersome' to some people. For example, one need take
many steps even for a simple operation, such like to query a bug with a known number!
How about the frames it uses? The detail bug is in a frame that you won't see it until you
scroll the page down.
With Team Track, one can modify the bug description etc any time and there is no record for
the change whatsoever. The problem is not for other tracked fields, it is for the description
field, and later versions may have fixed this problem.
Deliverables:
External Deliverables:
These are things the project delivers to the users e.g. screens and reports. Users typically think of a
system in these terms.
Name Description
System Login Screen The managers logins into the system with
their IP addresses.
Company Summary ScreenScreen to view all details of products and
information regarding employees.
Customer information Screen Screen to view all customer information
like name, address, email address, phone
no. etc Screen.
License due Reports Faculty or team to produce weekly reports.
Associates Reports View the details of the customers and
feedback.
13
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
14/51
Internal Deliverables:
These are things the project generates internally e.g. Project Charter, Business Requirement
Specification etc.
Name Description
Project CharterDocument identifying how the project will
be managed
Business Requirement Specification
The requirements document describes the
system's behavior from an external point of
view and the constraints for the systems
operation and its development.
Weekly Reports
Weekly reports are important to facilitate
project tracking and control and to keep
your supervisor(s), customer(s) and
subcontractors informed on the status and
progress of your project.
Functionality and Data
The Google MAP API provides the functionality.
The manager or customer enter into the Google with their IP address and using the same their
latitude and longitude position will be computed and recorded in the database.
Based on this information the manager can any time know the current position of the
complete team and further can request for detailed report of the selected employee on the
MAP.
The data can be stored into PDF files with the Maps.
Each document should have a front page with the following information to simplify
communication and shorten the feed-back cycle:
14
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
15/51
Name of the project
Name of the team
Name of the document
Unambiguous identifier
Version number
Date of printing
Contact information for team and responsible team member.
Requirements and Plan Contents
Team name, team member names and emails, client name and email
Name of scrum master and backlog manager for this sprint
Current prioritized Product Backlog, with the goals for the current sprint pointed out
A description of each element of the backlog that is scheduled for the current sprint,
sufficiently detailed to permit good estimation and to unambiguously describe the
functionality to be implemented. Generally, tasks on the backlog should be scoped to around
3-10 engineer hours. The backlog should include all deliverables for the course as well as all
deliverables for the client (e.g. including documentation).
3. Specific Requirements.
3.1 Use case Reports
15
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
16/51
1) Site Admin: Responsible for managing Company Details, Customer Details User Details and
Tracking Associates
Manage Company Details: Viewing company details, adding and editing company details
upon Company admin request
Managing Customer Details: Adding products for a given company can edit and delete them
on request
Manage Users Details: Admin can add and edit Mangers and can view their details
Associate Tracking: Admin can track associates that which customer they have visited and
what the product they has explained at what time
Manage Users
Removing Manager
Editing Manager
Adding Managers
Figure 10: Manage User Details
16
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
17/51
Name of use case: Manage Users
Description:
Adding User Details
Ask for Create User Details
[Check Permission]
[No]
[Yes]
Enter User Details
Figure 11: State Chart Diagram of adding User Details
17
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
18/51
Name of use case: Edit Users
Description:
Editing User Details
Ask for editing user details
[Check Permission]
[No]
[Yes]
Get Old Values
Enter New Values
Figure 12: State Chart Diagram of Editing User Details
18
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
19/51
Name of use case: Remove Users
Description:
Remove User Details
Ask for Remove User
[Check Permission]
[No]
[Yes]
[Confirm]
[No]
Figure 13: State Chart Diagram of Remove User Details
19
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
20/51
Manage CompanyDetails
Removing Compan
Editing CompanyDetails
Adding CompanyDetails
Figure 14: Manage Company Details
20
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
21/51
Name of use case: Adding Company Details
Description: Adding company details like Company Name, Address, Email, Website, Phone
NO etc
Add Company Details
Ask for Create Company
[Check Permission]
[No]
[Yes]
Enter Company Details
Figure 15: State Chart Diagram of adding Company Details
21
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
22/51
Name of use case: Edit Company Details
Description: Editing company details like Company Name, Address, Email, Website, Phone
NO etc
Edit Company Details
Ask for Edit Company
[Check Permission]
[No]
[Yes]
Get Old Values
Enter New Details
Figure 16: State Chart Diagram of Editing Company Details
22
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
23/51
Name of use case: Remove Company Details
Description: Remove Company details basing on Company Id
Remove Company Details
Ask for Remove Company
[Check Permission]
[No]
[Yes]
[Confirm]
[No]
Figure 17: State Chart Diagram of Remove Company Details
Managing Customer Details
23
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
24/51
ManageCustomerDetails
Removing Custome
Editing CustomerDetails
AddingCustomerDetails
Figure 18: Manage Customer Details
Name of use case: Adding Customer Details
Description: Adding Customer details like Customer Name, Address, Email, Phone NO etc
Adding Cutomer Details
Ask for Create Customer Details
[Check Permission]
[No]
[Yes]
Enter Customer Details
Figure 19: State Chart Diagram of adding Customer Details
24
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
25/51
Name of use case: Edit Customer DetailsDescription: Editing Customer details like Customer Name, Address, Email, Phone NO etc
Editing Customer Details
Ask for editing Customer details
[Check Permission]
[No]
[Yes]
Get Old Values
Enter New Values
Figure 20: State Chart Diagram of Editing Customer Details
25
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
26/51
Name of use case: Remove Customer Details
Description: Remove Customer details basing on Customer Id
Remove Customer Details
Ask for Remove Customer
[Check Permission]
[No]
[Yes]
[Confirm]
[No]
Figure 21: State Chart Diagram of Remove Customer Details
Associate Tracking
26
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
27/51
Tracking AssociatesViewing Associates
Details
Figure 22: Associate Tracking
Name of use case: Tracking Associates
Description
Associate Tracking
Ask for View Tracking
[Check Permission]
[No]
[Yes]
Select Associate to View
View Map T racking of Associate
Figure 23: State Chart Diagram Associate Tracking
27
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
28/51
2) Company Admin: Responsible for managing Company Details and Product Details
Manage Company Details: Viewing company details, adding and editing company details
upon Company admin request
Managing Product Details: Adding products for a given company can edit and delete them
on request
Manage Company
Details
Editing Company
Details
Adding C ompanDetails
Figure 24: Manage Company Details
28
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
29/51
Name of use case: Adding Company Details
Description: Adding company details like Company Name, Address, Email, Website, Phone
NO etc
Add Company Details
Ask for Create Company
[Check Permission ]
[No]
[Yes]
Enter Company Details
Figure 25: State Chart Diagram of Adding Company Details
29
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
30/51
Name of use case: Edit Company Details
Description: Editing company details like Company Name, Address, Email, Website, Phone
NO etc
Edit Company Details
Ask for Edit Company
[Check Permission]
[No]
[Yes]
Get Old Values
Enter New Details
Figure 26: State Chart Diagram of Editing Company Details
30
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
31/51
Manage ProductDetails
Removing Product
Editing Product
Details
Adding Product
Details
Figure 27: Manage Product Details
31
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
32/51
Name of use case: Adding Product Details
Description: Adding Product details like Company Name, Product Name, and Price
Adding Product Details
Ask for Create Product Details
[Check Permission]
[No]
[Yes]
Enter Product Details
Figure 28: State Chart Diagram of Adding Product Details
Name of use case: Edit Product Details
32
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
33/51
Description: Editing Product details like Company Name, Product name and Price
Editing Product Details
Ask for editing Product details
[Check Permission]
[No]
[Yes]
Get Old Values
Enter New Values
Figure 29: State Chart Diagram of Editing Product Details
33
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
34/51
Name of use case: Remove Company Details
Description: Remove Company details basing on Company Id
Remove Product Details
Ask for Remove Product
[Check Permission]
[No]
[Yes]
[Confirm]
[No]
Figure 30: State Chart Diagram of Remove Productr Details
34
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
35/51
3) Manager: Responsible for managing Company Details, Customer Reports, product
Details, Associate details, Associate Reports, Associate Tracking, Feed Back
Manage Company Details: Viewing company details, adding company details upon
Company admin request
Managing Customer Details: Viewing Customer reports to given associates
Manage Product Details: Adding and editing product details upon Company admin request
Associate Tracking: Manager can track associates that which customer they have visited and
what the product they has explained at what time
Associates Details and Reports: Getting associates details, adding and editing details and
viewing associates reports.
Managing Feedback: Receiving feed back from customer and as well as associates
Manage Company Details
Manage CompanyDetails
Editing Company
Details
Adding CompanyDetails
Figure 31: Manage Company Details
35
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
36/51
Name of use case: Adding Company Details
Description: Adding company details like Company Name, Address, Email, Website, Phone
NO etc
Add Company Details
Ask for Create Company
[Check Permission]
[No]
[Yes]
Enter Company Details
Figure 32: State Chart Diagram of Adding Company Details
36
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
37/51
Name of use case: Edit Company Details
Description: Editing company details like Company Name, Address, Email, Website, Phone
NO etc
Edit Company Details
Ask for Edit Company
[Check Permission]
[No]
[Yes]
Get Old Values
Enter New Details
Figure 33: State Chart Diagram of Editing Company Details
37
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
38/51
Viewing CuastomerReports
Viewing Reports
Figure 34: Viewing Customer Details
Name of use case: Viewing Customer Reports
Description Getting Customer Reports with their address
Customer View Report
Ask for Cutomer Report
[Check Permission]
[No]
[Yes]
View Customer Reports
Figure 35: State Chart Diagram of Customer View Report
Manage Products
38
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
39/51
Manage ProductDetails
Editing ProductDetails
Adding ProductDetails
Figure 36: Manage Products
Name of use case: Adding Product Details
Description: Adding Product details like Company Name, Product Name, and Price
Adding Product Details
Ask for Create Product Details
[Check Permission]
[No]
[Yes]
Enter Product Details
Figure 36: State Chart Diagram of adding Product Details
39
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
40/51
Name of use case: Edit Product Details
Description: Editing Product details like Company Name, Product name and Price
Editing Product Details
Ask for editing Product details
[Check Permission]
[No]
[Yes]
Get Old Values
Enter New Values
Figure 37: State Chart Diagram of Editing Product Detail
Tracking Associate
40
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
41/51
Tracking AssociatesViewing Associates
Details
Figure 38: Tracking Associates Name of use case: Tracking Associates
Description
Associate Tracking
Ask for View Tracking
[Check Permission]
[No]
[Yes]
Select Associate to View
View Map T racking of Associate
Figure 39: State Chart Diagram of Associate Tracking
Associates Reports
41
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
42/51
Viewing AssociateReports
Viewing AssociateReports
Figure 40: Associates Reports
Name of use case: Associates Reports
Description
Associates View Report
Ask for Associates Repor t
[Check Permission]
[No]
[Yes]
View Associates Repor ts
Figure 41: State Chart Diagram of Associates View report
42
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
43/51
Manage Feed Back
Manage Feed Back
Replay to Feedback Details
Viewing Feed Bac
Details
Figure 42: Manage Feed Back
Name of use case: Viewing Feed Back
43
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
44/51
Description: Viewing feed back details and replying to the customers
Viewing Feed Back
Ask for Viewing Feed Back
[Check Permission]
[No]
[Yes]
Viewing Feed Back
Replay to Feed Back
Figure 43: State Chart Diagram of Viewing Feed Back
4) Associate: Responsible for viewing Product Details and sending customer feed back
44
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
45/51
Viewing Products: Viewing company details, adding and editing company details upon
Company admin request
Sending Customer Feed Back: Adding products for a given company can edit and delete
them on request
Managing Products Viewing Products
Figure 44: Managing Products
45
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
46/51
Name of use case: Viewing Product Details
Description
Viewing Product Details
Ask for Viewing Products
[Check Permission]
[No]
[Yes]
Viewing Products
Sending Request
Figure 45: State Chart Diagram of Viewing Product Details
46
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
47/51
Manage Feed BackSending Custome
Feed Back
Figure 46: Manage Feed Back
Name of use case: Sending Feed Back
Description
Viewing Feed Back
Ask for Viewing Feed Back
[Check Permission]
[No]
[Yes]
Viewing Feed Back
Replay to Feed Back
Figure 47: State Chart Diagram of Viewing Feed Back
47
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
48/51
5) Customer: Responsible for viewing Product Details and sending Associates feed back
Viewing Products: Viewing company details, adding and editing company details upon
Company admin request
Sending Customer Feed Back: Adding products for a given company can edit and delete
them on request
Managing Products Viewing Products
Figure 48: Manage Products
Name of use case: Viewing Product Details
48
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
49/51
Description
Viewing Product Details
Ask for Viewing Products
[Check Permission]
[No]
[Yes]
Viewing Products
Sending Request
Figure 49: State Chart Diagram of viewing Product Details
Manage Feed Back
49
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
50/51
Manage Feed BackSending Associate
Feed Back
Figure 50: Manage Feed Back
Name of use case: Sending Feed Back
Description
Viewing Feed Back
Ask for Viewing Feed Back
[Check Permission]
[No]
[Yes]
Viewing Feed Back
Replay to Feed Back
Figure 51: State Chart Diagram of Viewing Feed Back
3.2 Entity-Relationship Diagram
50
-
8/8/2019 ENTITY GEO LOCATOR USING GOOGLE MAPS
51/51
Figure 52: Entity-Relationship Diagram