dss 12 s4 03 design specification
TRANSCRIPT
-
7/29/2019 DSS 12 S4 03 Design Specification
1/48
School of Computer Science & Software Engineering
Bachelor of Computer Science (Digital Systems Security)
CSCI321- Project
Design Specification27 February 2013
Group: SS12/4B
Khoo Jun Xiang 4000766 [email protected]
Ang Wencan Stephen 4194032 [email protected]
Goh Kheng Siang Joel 4187490 [email protected]
Lim Sing Hui 4185948 [email protected]
Low Jia Hui [email protected]
Supervisor: Mr Sionggo Jappit
Assessor: Mr Tan Kheng Teck
mailto:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected] -
7/29/2019 DSS 12 S4 03 Design Specification
2/48
Design Specification [SS12/4B]
Page 2 of48
Document Control
Title: Design SpecificationDocument Name: Design Specification
Owner Current VersionLast Change on
Approved byDate Time
Khoo Jun Xiang V1.5 27-Feb-2013 8PM Project Manager
Distribution List
Name Title/Role Where
Mr Sionggo Jappit Supervisor SIM-UOWMr Tan Kheng Teck Accessor SIM-UOW
Khoo Jun Xiang Project Manager SIM-UOWLow Jia Hui Software Architect SIM-UOWGoh Kheng Siang Joel Test Designer SIM-UOW
Lim Sing Hui UI Designer SIM-UOW
Stephen Ang Database Designer SIM-UOW
Record of Revision
Revision Date Description Section Affected Changes Made byVersion after
Revision
10/12/2012 Document Creation- Briefing and
assign tasks
All Khoo Jun Xiang 0.1
12/12/2012 Added all section. A draft of proposal. All ALL 0.2
13/12/2012 Added Document Preview, ProjectOverview, Project Scope
Introduction Khoo Jun Xiang 0.3
13/12/2012 Added System Architecture, Detailed
Components, Modules Design
System Design ALL 0.4
15/12/2012 System Architecture Component System Design Lim Sing Hui,
Stephen Ang
0.5
15/12/2012 Produce Use Case Diagram Modules Design Low Jia Hui 0.6
16/12/2012 Produce Activity Diagram and
explaination, ERD
Modules Design Goh Kheng Siang,
Jia Hui, Jun Xiang
0.7
17/12/2012 Produce Sequence, State Diagrams Modules Design ALL 0.8
17/12/2012 Design User Interface Modules Design Goh Kheng Siang 0.9
18/12/2012 Update of Diagram Modules Design,
Sematic Data
Khoo Jun Xiang 1.0
18/12/2012 Design Database Database Design Stephen Ang
20/12/2012 Update on Design User Interface Sematic Data
Model
Goh Kheng Siang 1.1
20/12/2012 Update on all Diagrams Modules Design ,
Sematic Data
ALL 1.2
27/12/2012 Final Review - Preliminary ALL ALL 1.3
15/02/2013 Update on diagrams ALL Lim Sing Hui 1.4
27/02/2013 Finalize the document ALL Khoo Jun Xiang 1.5
-
7/29/2019 DSS 12 S4 03 Design Specification
3/48
Design Specification [SS12/4B]
Page 3 of48
Contents................................................................................................................................................................... 1
Document Control ..................................................................................................................................... 2
1. Introduction ........................................................................................................................................ 4
1.1. Document Preview ...................................................................................................................... 4
1.2. Project overview ......................................................................................................................... 4
1.3. Project Scope............................................................................................................................... 4
2. Systems Design .................................................................................................................................. 5
2.1. Systems Architecture .................................................................................................................. 6
2.2. Detail Components / Modules Design ...................................................................................... 11
2.2.1. Use Case Diagram ................................................................................................................. 11
2.2.2 Sequences Diagram .................................................................................................................... 12
2.2.3 Activity Diagram ........................................................................................................................ 22
2.2.2 State Diagram ............................................................................................................................. 32
2.3. User Interface ............................................................................................................................ 34
2.4. Semantic Data Model ................................................................................................................ 39
2.5.Database ......................................................................................................................................... 40
1. Appendix .......................................................................................................................................... 48
-
7/29/2019 DSS 12 S4 03 Design Specification
4/48
Design Specification [SS12/4B]
Page 4 of48
1.Introduction1.1.Document Preview
Design Specificaion is used to explicit information about the requirements for a product and how the
product is to be put together. It is organized in the format that introduces the project overview and scope.
Followed by the System Desgin which includes System Architecture, Design Componets/Model Design,
User Interface and Semantic Data Model. More details of each component of System Design will be
covered in their respective sections.
1.2.Project overviewThe task is to developing the DB-Wrapper, a database wrapper that protects against inference attacks on
statistical database. The software provide as a filter in the connection between the user application and the
database to verify if the query compromised the confidentiality of the system. The software has a two
layer hierarchical structure which allows dynamic setting up of the Database Wrapper.
1.3.Project ScopeThe DS-Wrapper is intended to work as a query-filter like process that filters out the queries that are not
allowed. The wrapper will act as a inference protection mechanism to protect the statistical database
against disclosure of confidential and sensitive information and applicable on ORACLE-express edition
10G. As part of the project, the wrapper will provide Query Restrictions, Systematic Rounding, Query set-
size control and Auditing to prevent inferences attack. This will provide data confidentiality and integrity
to the database.
-
7/29/2019 DSS 12 S4 03 Design Specification
5/48
Design Specification [SS12/4B]
Page 5 of48
2.Systems DesignThis section describes how the DB-Wrapper is being implemented and how it interacts with the Client
Application and the statistical database. The following diagram below explain the structure and use of theDatabase Wrapper.
The user have to be first authenticated to the Statistical database (Oracle XE 10g) and when user are to
make a query to the statistical database query it will be passed through the database wrapper and verified
if it is a possible inference attack. If inference attack occurs the query will be rejected and stored under
inference history and query result will not be return to the user, else the result will be return in a Range
format or systematically rounded.
-
7/29/2019 DSS 12 S4 03 Design Specification
6/48
Design Specification [SS12/4B]
Page 6 of48
2.1.Systems ArchitectureOur project employs a 3 Tier Architecture approach. It consist of Presentation, Logic and Data Tiers.
Presentation Tier consist of the user interface. Interaction with stakeholders/ clients will be held in this tier.
The role of this tier is to translate the request and results from stakeholders/ clients to something
understandable. Logic Tier is in the middle of the 3 tiers. Logic Tier moves and process data between the
other tiers. For example, Logic Tier will inform the Presentation Tier what is to be displayed. And tells the
Data Tier what is to be retrieve within the storage. Meaning to say, Logic Tier process commands, and
makes decisions and evaluation for the software. This is the tier where all the processing data is achieved.
Lastly, Data Tier is where data are stored and retrieved. This tier can only be interacted through the Logic
Tier by the use of SQL commands. Diagram below would explain the 3 Tier Architecture in an more
abstract form.
3 Tier Approach:
Source:http://edn.embarcadero.com/article/images/10343/3tier.gif
First/Presentation Tier consist of Graphic User Interface, and would be covered in 2.3 User Interface
section of this document.
http://edn.embarcadero.com/article/images/10343/3tier.gifhttp://edn.embarcadero.com/article/images/10343/3tier.gifhttp://edn.embarcadero.com/article/images/10343/3tier.gifhttp://edn.embarcadero.com/article/images/10343/3tier.gif -
7/29/2019 DSS 12 S4 03 Design Specification
7/48
Design Specification [SS12/4B]
Page 7 of48
Second Tier Approach
Second/Logic Tier illustration would consist of Process-Flow, Data-Flow, State and Transition. Tools
such as Process-Flow Diagram, Data-Flow Diagram, State Diagram, Transition Diagram, Use-cases.These will be covered in the 2.2 Details Component/ Modules Design of this document.
Three main techniques are used in second tier approach.
1. Conceptual Approach: Lattice ModelIn Second Tier for application server, our team used conceptual model that provides a framework to
investigate the security problems at the conceptual-data-model level. One of the popular approach in
conceptual model is lattice model. This model represents a framework for greater investigation of
statistical database security problems although it gives many constraints for users. The lattice model
relates to statistical database information in tabular form with different levels of aggregation. Metadata
modeling/Data dictionary is used to implement Lattice model. Metadata modeling is similar to lattice
model and with used of fet-size control that elimates chances of inference attack.
Source:
http://dsns.csie.nctu.edu.tw/ssp/paper/29.Information%20Protection%20in%20Dynamic%20Statistical%20Databases.pdf [page
4]
To illustrate, a sample of lattice was given above. The database has attributes of Age, Gender and Position(A, G, P). The detailed way to show this database is in tabular form which consist of a three-dimensional
table AGP.
http://dsns.csie.nctu.edu.tw/ssp/paper/29.Information%20Protection%20in%20Dynamic%20Statistical%20Databases.pdfhttp://dsns.csie.nctu.edu.tw/ssp/paper/29.Information%20Protection%20in%20Dynamic%20Statistical%20Databases.pdf -
7/29/2019 DSS 12 S4 03 Design Specification
8/48
Design Specification [SS12/4B]
Page 8 of48
Below shows report generated by the attice models. A, G and P represent Age, Gender and Position
respectively.
Source:
http://dsns.csie.nctu.edu.tw/ssp/paper/29.Information%20Protection%20in%20Dynamic%20Statistical%20Databases.pdf [page
4]
Lattice model has been proved to be a powerful and effective model for analysing inference problem andto come up with solutions. In transactional database system, the number of entries can be either zero or
any number of records stored in database. Therefore, it is possible to infer that protected information can
be put together as the results of several statistical queries into session. Every query returning non-individual results is expected in the behaviour of statistical queries. Therefore, they are not revealing data
with single records.
http://dsns.csie.nctu.edu.tw/ssp/paper/29.Information%20Protection%20in%20Dynamic%20Statistical%20Databases.pdfhttp://dsns.csie.nctu.edu.tw/ssp/paper/29.Information%20Protection%20in%20Dynamic%20Statistical%20Databases.pdf -
7/29/2019 DSS 12 S4 03 Design Specification
9/48
Design Specification [SS12/4B]
Page 9 of48
Query restriction methods imposed extra restriction on queries which includes restricting the query set
size, controlling of the overlap among successive queries, auditing, partitioning and suppressing cells.
Some of the methods cannot guarantee high security assurances while others also limit usefulness of the
Statistical Databases. The team uses Query-Set-Size-Control method for this approach.
2. Query-Set-Size-Control method:It is worked by setting upper and lower bounds for the size of the query that is based on the properties of
the database and on the preferences fixed by the database administrator. When the number of returned
records did not lie within these bounds, the information request is rejected and query answer is denied.
For each query, this method can restrict the number of individuals |C|. The database system respond to the
query answer only if |C| satisfies the condition.
K: lower limitC: result size
L: size of database
K: parameter set by the database administrator.
KC L K
L is the size of the database ( number of individuals represented in the database) and K is a parameter set
by the database administrator. K should satisfy the condition.
0 KL/2 ,
otherwise no query can be answered.
Main advantage of query-set-size control method is easily implemented so that this scheme is suitable fordynamic Statistical Databases.
-
7/29/2019 DSS 12 S4 03 Design Specification
10/48
Design Specification [SS12/4B]
Page 10 of48
3. Restrict Non-Aggregation QueryGUI of DB-Wrapper is implemented in a way that only aggregate function are allowed.
Combining the 3 techniques above, DB-Wrapper is able to prevention four different types of inferenceattacks. Arithmetic Means(infer size), Single Match, Addition Aggregate and Partitioning.
Arithmetic Means: When computing the average of a field, table size must vary the attributes of averagecomputation. This is the beginning of the several inference attacks. The arithmetic function considered as
important and secure because they could not compromise individual data.
Single Match: It is a successful method for usage of queries matching exactly one data item. This method
enable to access data pertaining to those reduced groups by creating queries which match the records wewant to disclose and include other conditions that disguise the real intention of the query.
Addition Aggregate:This attack implements SUM aggregrate to infer a value from a reported addition of records.When
generating a query Q1 which returns N as the total SUM on a field of a data table, second query can becreated with the value N to disclose information about a particular entity within system. When SUM on a
field is M, the difference between N and M produces a value which is not stored on database and can be
used to infer restricted data.
Partitioning:
Statistical databases hide data when a small number of entities makes a large proportion of the datarevealed. Hence, the attacker able to locate desired data by using multiple queries which gives minorresults. The attacker will combine additional records to retrieved other different aggregate queries.
Third/Data Tier in our project would be in the Oracle SQLite database which we will implement towards
the end of the project. Our project will be using SQLite as the embedded database in our program. SQLite
Manager/Browser will be used to manage the SQLite database in the computer. These will be covered in
the 2.2 Details Component/ Modules Design of this document.
-
7/29/2019 DSS 12 S4 03 Design Specification
11/48
Design Specification [SS12/4B]
Page 11 of48
2.2.Detail Components / Modules DesignUML diagrams will be used to specifies and defines services of DB-Wrapper.
2.2.1. Use Case DiagramFollowing use case diagram is extracted from requirement specification document. This diagram will
describes the main functionality provided by DB-Wrapper in actors point-of-view, their goals represented
as use cases, and any dependencies among those use cases.
Note: Textual Descriptions of the above use cases are written in requirement specification document.
-
7/29/2019 DSS 12 S4 03 Design Specification
12/48
Design Specification [SS12/4B]
Page 12 of48
2.2.2 Sequences Diagram
Following UML sequences diagrams will act as process flow diagrams to provide the project team with a
dyamic view of the flow of messages, events and actions between the objects or components of DB-
Wrapper. Sequence diagrams for main use cases were drawn as shown below.
UserLogin
-
7/29/2019 DSS 12 S4 03 Design Specification
13/48
Design Specification [SS12/4B]
Page 13 of48
UserCreate Report
-
7/29/2019 DSS 12 S4 03 Design Specification
14/48
Design Specification [SS12/4B]
Page 14 of48
UserView, Delete Report
-
7/29/2019 DSS 12 S4 03 Design Specification
15/48
Design Specification [SS12/4B]
Page 15 of48
User Export Report
-
7/29/2019 DSS 12 S4 03 Design Specification
16/48
Design Specification [SS12/4B]
Page 16 of48
Administrator - View Log Files
-
7/29/2019 DSS 12 S4 03 Design Specification
17/48
Design Specification [SS12/4B]
Page 17 of48
AdminstratorManage Application
-
7/29/2019 DSS 12 S4 03 Design Specification
18/48
Design Specification [SS12/4B]
Page 18 of48
AdministratorManage Constraint
-
7/29/2019 DSS 12 S4 03 Design Specification
19/48
Design Specification [SS12/4B]
Page 19 of48
Administrator - Manage Range
-
7/29/2019 DSS 12 S4 03 Design Specification
20/48
Design Specification [SS12/4B]
Page 20 of48
AdministratorManage Roles
-
7/29/2019 DSS 12 S4 03 Design Specification
21/48
Design Specification [SS12/4B]
Page 21 of48
AdministratorManage Users
-
7/29/2019 DSS 12 S4 03 Design Specification
22/48
Design Specification [SS12/4B]
Page 22 of48
2.2.3 Activity Diagram
Following UML activity diagrams will show the workflows of actions done by user throught the user
interface with support for choice and iteractions. It provides project team members with views of the step-
by-step workflows of component in DB-Wrapper system. It also shows how the user interface reacts in the
flow of the activity.
UserLogin
-
7/29/2019 DSS 12 S4 03 Design Specification
23/48
Design Specification [SS12/4B]
Page 23 of48
UserCreate Report
-
7/29/2019 DSS 12 S4 03 Design Specification
24/48
Design Specification [SS12/4B]
Page 24 of48
UserView, Delete and Export Report
-
7/29/2019 DSS 12 S4 03 Design Specification
25/48
Design Specification [SS12/4B]
Page 25 of48
AdministratorView Log Files
AdministratorManage Constraint
-
7/29/2019 DSS 12 S4 03 Design Specification
26/48
Design Specification [SS12/4B]
Page 26 of48
AdministratorManage Constraint
-
7/29/2019 DSS 12 S4 03 Design Specification
27/48
Design Specification [SS12/4B]
Page 27 of48
AdministratorManage Range
-
7/29/2019 DSS 12 S4 03 Design Specification
28/48
Design Specification [SS12/4B]
Page 28 of48
AdministratorManage Roles
-
7/29/2019 DSS 12 S4 03 Design Specification
29/48
Design Specification [SS12/4B]
Page 29 of48
AdministratorCreate User
-
7/29/2019 DSS 12 S4 03 Design Specification
30/48
Design Specification [SS12/4B]
Page 30 of48
AdministratorUpdate, Delete User
-
7/29/2019 DSS 12 S4 03 Design Specification
31/48
Design Specification [SS12/4B]
Page 31 of48
AdminManageApplication
Note: SQL commands are executed.
-
7/29/2019 DSS 12 S4 03 Design Specification
32/48
Design Specification [SS12/4B]
Page 32 of48
2.2.2 State Diagram
Following UML state diagrams are used to provide the project team with abstract description of the
behavior of the system. It shows and decides what an object should do when a message is received. We
will be analyzing the states of DB-Wrapper system, User and Query object classes. Different states of
these object will be tracked throughout the system.
Query
-
7/29/2019 DSS 12 S4 03 Design Specification
33/48
Design Specification [SS12/4B]
Page 33 of48
User
DB-Wrapper
-
7/29/2019 DSS 12 S4 03 Design Specification
34/48
Design Specification [SS12/4B]
Page 34 of48
2.3.User InterfaceInterfaces among the sub-systems and other external systems will be described in this section. Below
structure shows the basic breakdown of the interface design of DB-Wrapper. Structure might be expanded
if there is sufficient time for the project team to implement more features. Once the user or an
administrator has logged in, they will be directed to their respective page for a normal user or an
administrator. They will then be able to perform the functions that are on their respective menu.
DB-Wrapper
Admin
View
Logfiles
Manage
Range
Manage
Application
Manage
User
Manage
Role
Manage
Constraints
User
Create
Report
View
Report
Export
Report
Delete
Report
-
7/29/2019 DSS 12 S4 03 Design Specification
35/48
Design Specification [SS12/4B]
Page 35 of48
Login page will be displayed to users at the beginning of the program. Users will be prompt to enter their
username and password. Login information will then be validates and matches against the information inthe database. DB-Wrapper will then determine whether the user is a normal user or administrator and theywill be directed to their respective pages (User or Administrator)
-
7/29/2019 DSS 12 S4 03 Design Specification
36/48
Design Specification [SS12/4B]
Page 36 of48
Login user will be directed to their respective page based on their role indicated in the database upon login.
Interface for Normal Users is shown below. Normal user can only create report and view report. The
screenshot below shows the Create Report Tab.
-
7/29/2019 DSS 12 S4 03 Design Specification
37/48
Design Specification [SS12/4B]
Page 37 of48
The screenshot below shows the View Report tab. The report can be delete if unwanted.
Page Description
Create ReportTo make queries, create/generate report and save report in database.
View ReportTo view report together with the option to delete or export (txt or xls).
-
7/29/2019 DSS 12 S4 03 Design Specification
38/48
Design Specification [SS12/4B]
Page 38 of48
Below shows the interface for Administrator. The six different tabs are View Log, Range, Application,
User, Role, Constraint.
Page Description
View LogView log file based on the username indicated
RangeDefine the minimum and maximum range of attributes.
ApplicationEnter a correct database and select the table with the attributes to read in meta-data
successfully.
UserCreate, update or delete a user from database of DB-Wrapper.
RoleCreate, update or delete a role from the database of DB-Wrapper.
Constraints - Create, update or delete a constraint from the database of DB-Wrapper.
Note: Screenshots of other pages can be found in the user manual.
-
7/29/2019 DSS 12 S4 03 Design Specification
39/48
Design Specification [SS12/4B]
Page 39 of48
2.4.Semantic Data ModelIn this section, UML class diagram is used to describes the object and information structure of our
product application. Our project analysts will make use and reference to it throughout the software
development cycle. Entities and relationship among them are identified in the system.
Top Part of Class Diagram
-
7/29/2019 DSS 12 S4 03 Design Specification
40/48
Design Specification [SS12/4B]
Page 40 of48
Bottom Part of Class Diagram
Note: To help in reading of the class diagam, a JPEG image file of the class diagram is included in
softcopy submission.
-
7/29/2019 DSS 12 S4 03 Design Specification
41/48
Design Specification [SS12/4B]
Page 41 of48
2.5.Database
Below shows the conceptual model of DB-Wrapper inference protection database. It consist of user, roles
and data dictionary (metadata repostiory). Instead of directly accessing the application database, user will
access the data dictionary.
-
7/29/2019 DSS 12 S4 03 Design Specification
42/48
Design Specification [SS12/4B]
Page 42 of48
Relational Database Description of inference protection database.
Application (AppNum, AppName)Primary Key: (AppNum)Attribute (AppNum, TableNum, AttributeNum, AttributeName)
Primary Key: (AppNum, TableNum, AttributeNum)
Foreign Key: (AppNum, TableNum) REFERENCES [Tables (AppNum, TableNum)]
Constraint_Associate (ConstraintNum, AppNum, Value)
Primary Key: ConstraintNum, AppNum
Foreign Key 1: ConstraintNum REFERENCES [Constraint(ConstraintNum)]
Foreign Key 2: AppNum REFERENCES [Application(AppNum)]
Constraint (ConstraintNum,CostraintName)
Primary Key: (ConstraintNum)
Range (AppNum, TableNum, AttributeNum, RangeNum, Label, Mininum, Maxinum)
Primary Key: (AppNum, TableNum, AttributeNum, RangeNum)
Foreign Key: (AppNum, TableNum, AttributeNum) REFERENCES [Attributes(AppNum,
TableNum,AttributeNum)]
Report (ReportNum, ReportName, UserName, AppName, ReportAddedDate)
Primary Key: (ReportNum)
Foreign Key: (UserName) REFERENCES [User( UserName)]Foreign Key 2: (AppName) REFERENCES [Application(AppName)]
Candidate Key: (ReportName)
Report_Query (QueryNum, ReportNum, ReportName, ReportCategory, Data)
Primary Key: (QueryNum, ReportNum)
Foreign Key: (ReportNum, ReportName) REFERENCES [Report(ReportNum, ReportName)]
Report_Table (ReportNum, ReportName, TableUsed)
Primary Key: (ReportNum, TableUsed)Foreign Key: (ReportNum, ReportName) REFERENCES [Report(ReportNum, ReportName)],
Foreign Key 2: (TableUsed) REFERENCES [Tables (TableName)]
Role_Associate (AppNum, TableNum, RoleNum, Association)Primary Key: (AppNum, TableNum, RoleNum)
Foreign Key 1: (AppNum, TableNum) REFERENCES [Table (AppNum, TableNum)]
Foreign Key 2: (RoleNum) REFERENCES [Roles (RoleNum)]
-
7/29/2019 DSS 12 S4 03 Design Specification
43/48
Design Specification [SS12/4B]
Page 43 of48
Roles (RoleNum, RoleName)
Primary Key: (RoleNum)
Table (AppNum, TableNum, TableName,)Primary Key: (AppNum, TableNum)
Foreign Key: (AppNum) REFERENCES [Application (AppNum)]
User (UserNum, UserName,UserPassword, UserCreatedDate, RoleNum)Primary Key: UserNum
Foreign Key 2: (RoleNum) REFERENCES [Roles (RoleNum)]
-
7/29/2019 DSS 12 S4 03 Design Specification
44/48
Design Specification [SS12/4B]
Page 44 of48
Database Description
Application
Application table consists of Application number (AppNum), Application name (AppName) andApplication date (AppDate).
AppNum - Application number is to record each application entry.AppNameApplication name is to differentiate each entry and their category.
AppDateApplication date is to keep track of the creating of data.
AttributesAttributes table consists of Attribute name (AttributeName).
AttributeNameEnsure each attribute has a name.
Constraint_AssociateConstraint has association of Boolean.AssociationIt has Boolean to identify if each application has any constraints.
Constraints
Constraint table consists of Constraint number (ConstraintNum), Constraint name (ConstraintName) and
Set size (SetSize).
ConstraintNumConstraint number is to uniquely identify constraint.
ConstraintNameConstraint name is to differentiate each constraint.
SetSizeSet size is to set lower bound.
RangeRange table consists of Range number (RangeNum ID), header name (Label), Minimum and Maximum
range define the label.
RangeNumIDRange number ID uniquely identify the different rangeLabelLabel indicates the header name
Minimum and MaximumThe value of the attribute
Report
Report table consist of Report name (ReportName), user name (UserName), application name(AppName), Report added date( ReportAddedDate)
Report_QueryReport query table consist of Query number(QueryNum), Report number(ReportNum), Report
name(ReportName), Report category(ReportCategory), Data (Data)
-
7/29/2019 DSS 12 S4 03 Design Specification
45/48
Design Specification [SS12/4B]
Page 45 of48
Report_Table
Report table consist of Report number(ReportNum), Report name(ReportName), Table name(TableName)
Role_AssociateRole associate table consist of Application number(AppNum), Table number(TableNum), Role
number(RoleNum), Association(Association)
RolesRoles table consists of Role name (RoleName) and a primary key of Role number (RoleNum ID)
RoleNameEach role has a name for the user.
LabelHeader name of the range of attributes.
MinimumDefine the lowest possible value of the attribute for particular table.MaximumDefine the highest possible value of the attribute for particular table.
Tables
A table consists of Table name with a primary key Table number (TableNum ID).TableNameEnsure each table has a name.
User
User table consists of User number (UserNum), User name (UserName), User password (UserPassword)and User created date (UserCreatedDate).
UserNumUser number is to allow different user having a unique number identification.UserNameEach user will have an identity.
UserPasswordUser will need to have password for authentication.
UserCreatedDateThe date must be recorded when each user is created.
-
7/29/2019 DSS 12 S4 03 Design Specification
46/48
Design Specification [SS12/4B]
Page 46 of48
Data Dictionary Database created in SQLite. Left column shows the tables in the database. Content of the
tables (user) information is in the main frame as shown:
-
7/29/2019 DSS 12 S4 03 Design Specification
47/48
Design Specification [SS12/4B]
Page 47 of48
One example of our Application Database (SIMStaff)
Relational Database DescriptionUniversity (University#, Name)
Primary Key: University#
Course (University#, Course#, Name)
Primary Key: Course#, University#
Foreign Key: University# ref [University University#]
Staff (Staff#, Name, DOB, Age, Gender, Address, Date_Join, PostName, Salary, Password)
Primary Key: Staff#
-
7/29/2019 DSS 12 S4 03 Design Specification
48/48
Design Specification [SS12/4B]
Created in SQLite
1.AppendixNIL