the first slide here (usecases)

Download Report

Transcript the first slide here (usecases)

IT Faculty
Software Engineering
Seniors
UML for a simple DataBase Management System
Prepared by:
‫أنس األسود‬
‫بشير الفروان‬
‫زهير الزعبي‬
‫ياسر المحمد‬
Tips:
Who interacts with our system:
- we’ll consider an administrator who manages the system itself, he
can also create users and define their authority
- a user who uses the database, query, modify items…
The NEW Functionality allows the user for multiple choices like:
- new DataBase: creates an empty database
- new table: creates a table in the current selected database
- new Column: creates a column in the current selected table….
after defining a new column a user can define it’s constraints, like:
primary key, foreign key…
if a user defined a primary key: after saving we can create an
index by default for it
we my allow checking referencing table and referencing column
in foreign key definition

We could also make a new:



View, row, user, index, stored procedure…
We assume these functions are achieved through an invocation for
a data designer UI.
Any new command accompanies with checking the user authority
i.e. :
 Not all users can make a new database
 Some users can create tables, indexes, but others can’t
 In general: the Administrator creates users and define their
privileges
 One who create a table considered to be the table owner
And he’s the one who defines who can access it and how.
Users can create other users if they have the authority

Saving completes the creation, it can consist of:




checking duplicate items
updating data files if everything is ok
updating metadata if structure changed
report errors if any exists and redoing changes if necessary.
We assume there is a query system inside the data base:
Adding, deleting, modifying can be done using a UI but anyway it’s
Executed Through the query system which also give the user the
ability to retrieve info
The diagrams are not relative to a specific database management
system
Now we’ll present the Use Cases:
I
This is a simple use case
manage system
We considered the manage
system use case As a set of
operation an administrator can
do an no one else.
<<include >>
create new
check authority
<<include >>
administrator
save
<<include >>
When checking authority and it
was denied it reports this
<<extend>>
add
Add, delete, modify runs it’s
functionality through the query
system
delete
<<extend>>
user
modify
<<extend>>
<<extend>>
report
<<extend>>
query
The next pages contains more
detailed use case.
<<extend>>
Administrator
<<include>> check user
authority
report
check referenceTable-Colum
<<include>>
<<include>>
create new
update meta data
define constraints
define foreign key
<<include>>
user
create DataBase
create column
<<include>>
define primary key
create table
create user
<<extend>>
insert row
create redolog files create dataFiles
create index
check duplicate items
<<include>>
<<include>>
set a redo Point
<<include>>
user
save changes
update DataFiles
<<extend>>
<<include>>
report
<<extend>>
update MetaData
<<include>>
query
<<include>>
<<extend>>
retrieve data
<<include>>
ckeck authority
parse_check

We considered a query system which runs the real internal
operations i.e.:


When a user saves changes the system simply do a commit
When a user creates something the system simply builds an SQL
commands, accumulate them, after saving it runs these commands
internally.
Notes:
-We could consider an administrator is a special user( power user) so two kinds
of users: ordinary and power users.
-It is possible to make a DataBaseObject an ancestor for all objects(database,
table, column, index….) with common attributes(like owner), this type is used
mainly in generalized options like: authorities class
Next we’ll present an introductory overview of the classes relative to our system as
MetaData
DataFile