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