5 Activity and Sequence Diagrams

advertisement
D7
Sistema de Informação de Suporte a
Produtos de I&D (manual técnico)
Coordenador:
Equipa:
Professor Luís Botelho
Bruno Gonçalves nº 17822
Nuno Jesus nº 17247
Grupo nº 16
Salt & Pepper Pack
Janeiro 2003
ADETTI
Salt & Pepper Pack
Tarefa: “Tarefa 2 – Sistema de Informação de Suporte ao Produto”
Numero:
Designação: “D7 –SI de Suporte a Produtos de I&D”
Tipo: Relatório
Versão:
Idioma: Inglês
Data: ?/05/2003
Autores: Bruno Gonçalves , Nuno Jesus, Luís Botelho
2
ADETTI
Salt & Pepper Pack
1 Introduction
This document technically describes the Information System that was designed and developed
to support the management and use of R&D software products. The document also analyses
major design and implementation decisions.
The section 2 contains the chosen architecture for the system development.
Section 3 describes the Information System Class Diagram.
Section 4 enumerates the actors that will interact with the system
Section 5 presents the activity and sequence diagrams of all the functionalities that are
supported by the system and the actors that are able to use these functionalities.
Finally section 6 describes the software tools used in the development process.
3
ADETTI
Salt & Pepper Pack
2 Information System Architecture
This section contains the chosen Information System architecture.
The architecture is based on the three-tier model. This model contains the following layers:
-
Data Service
This layer contains the data base management functionalities, which are isolated in a
separate layer in order to guarantee data consistency, and independence of the
application that accesses it.
-
Business Service
Layer responsible for the processes management. This layer contains the business
logic and rules implemented in the system. Centralizing the system process improves
the performance of the system, its flexibility, and makes it easier to maintain it, reuse it,
and extend it.
-
User Service;
This layer supplies the interface between the user and the application. Another one,
without any consequences in the other layers, can replace that interface.
The architecture is depicted in figure.
4
ADETTI
Salt & Pepper Pack
Figure 1 – Three-tier architecture of the Information System
As depicted in Figure 1, the Information System is composed of 7 modules: Projects, Products,
Software, Documentation, Bugs, Questions and Users. The functionalities of each module and
the users that have permission to execute them will be analyzed in section 5 of this document.
In the future, the system should be extended with two additional modules: Tasks and
Interaction. The tasks management module should support the assignment of tasks to users
associated with a specific product. Besides other functionalities, the interaction module should
provide an instant messaging service to the users associated to the same product.
The user service layer also needs to be modified. At this moment we use applets to implement
the Interface. In the future, we should use the JSP/Servlets technology to build the user service
layer and communicate via HTML with a Web Browser.
5
ADETTI
Salt & Pepper Pack
3 Class Diagram
The diagram bellow shows the classes of the system, their inter-relationships, and attributes of
the classes. Class diagrams are typically used, although not all at once, to:


Explore domain concepts in the form of a domain model;
Analyze requirements in the form of a conceptual/analysis model;
Depict the detailed design of object-oriented or object-based software.
Figure 2 – Class Diagram
Class Domains
All the following domains represent the built in domains. At any time the system administrator
can add new domain items in the database. This action doesn’t require any change in the
software code once the domains are constructed dynamically.
SoftwareState.state = {to be done, being developed, being tested, final version}
DocumentState.state = {to be done, being created, final version}
DocumentCategory.category
documentation}
=
{test
report,
test
description,
user
manual,
technical
SoftwareCategory.category = {}
UserCategory.category = {product manager, tester, developer, final user}
BugState.State = {reported, to be done, being fixed, fixed}
6
ADETTI
Salt & Pepper Pack
4 Actors
Users, depending their category, have different access permissions to the functionalities offered
by the Information System.
We identified six user categories: administrator; project manager; product manager; developer;
tester and end-users.
As we can see in Figure 3, there is another actor (general user). This actor doesn’t represent a
user category. It was created to represent all possible users in the diagrams, when it is not
necessary to distinguish between the several categories. A functionality allowed to the general
user is allowed to all system users.
Administrator
Developer
SI
Project Manager
Product Manager
Tester
End User
General User
Figure 3 - System Actors Representation
7
ADETTI
Salt & Pepper Pack
5 Activity and Sequence Diagrams (by module)
5.1
5.1.1
Projects Management Module
Insert Project
This functionality is exclusive of the system administrator. A project is not accepted by the
system if it hasn’t associated a project manager. To attribute a project manager to a project, the
administrator has to choose a user previously inserted in the system. After the insertion of the
new project the system automatically creates a new directory that will contains all the
documentation and software of all products of the project recently created.
Activity Diagram
[ else ]
[ category = administrator ]
New Project
Insert Project
Data
Select Project
Manager
Figure 4 - Insert Project Activity Diagram
8
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm
Projects
frm: Frm Project
Details
bsProject
bsUser
dsProject
dsUser
: Administrator
<<create>>
insert_project_tab
<<create>>
new()
display()
insert_project_data
select_project_manager_button
get_all_users()
get_all_users()
users_list
users_list
choose_project_manager
ok_button
insert_project(projectData)
insert_project(projectData)
project_inserted
project_inserted
Figure 5 - Insert Project Sequence Diagram
9
ADETTI
Salt & Pepper Pack
5.1.2
Update Project
This functionality allows the system administrator and project managers to update a project. The
system administrator can remove the project manager and insert a new one. The project
manager can update any project data.
Activity Diagram
List Projects
[ category = administrator ]
[ category = proj ect manager ]
Choose Project
Update Project
Data
Select Project
Manager
Update Project
Manager
Figure 6 - Update Project Activity Diagram
10
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm Main
Menu
frm: Project
Details
frm: Frm Proj ect
bsProject
bsUser
dsProject
dsUser
: Administrator
<<create>>
get_projects_li st_button
list_projects()
list_projects()
projects_list
projects_list
<<create>>
new(projects_list)
displ ay()
select_project_button
select_project(projectID)
select_project(projectID)
project_data
project_data
<<create>>
update_project_button
select_new_project_manager
get_all_users()
get_all_users()
users_list
users_list
choose_project_manager
ok_button
set_proj ect(projectData)
set_project(project_data)
project_set
project_set
Figure 7 - Update Project Sequence Diagram
11
ADETTI
Salt & Pepper Pack
5.1.3
Remove Project
This functionality allows system administrator to remove a project. When a project is removed,
all products that belong to that project are removed too as their documentation and software.
Obviously also the directory created in the project insertion process is removed.
Activity Diagram
[ category = administrator ]
List Projects
Choose Project
Remove
Project
Figure 8 - Remove Project Activity Diagram
12
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm Main
Menu
frm: Project
Details
frm: Frm Proj ect
bsProject
dsProject
: Administrator
<<create>>
get_projects_li st_button
list_projects()
list_projects()
projects_list
projects_list
<<create>>
new(projects_list)
displ ay()
select_project_button
select_project(projectID)
sel ect_project(proj ectID)
project_data
project_data
<<create>>
new(project_data)
displ ay()
remove_project_button
remove_project(proj ectID)
remove_project(proj ectID)
project_removed
project_reomved
Figure 9 - Remove Project Sequence Diagram
13
ADETTI
Salt & Pepper Pack
5.2
5.2.1
Products Management Module
Insert Product
Only the project manager can insert a new product. Besides the product data, the project
manager has to choose a user previously inserted to be the product manager. It is impossible to
insert a product without associating it product manager associated. A sub-directory for the
product is automatically created (into the directory of the project that will contain the new
product) where the documentation and software of the product will be created.
Activity Diagram
[ else ]
[ category = proj ect manager ]
New Product
Insert Product
Data
Select Product
Manager
Figure 10 - Insert Product Activity Diagram
14
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm
Products
frm: Frm Product
Detail s
bsProduct
bsUser
dsProduct
dsUser
: Product Manager
<<create>>
insert_product_tab
<<create>>
new()
displ ay()
insert_product_data
select_product_manager_button
get_all_users()
get_all_users()
users_list
users_list
choose_product_manager
ok_button
insert_product(productData)
insert_product(productData)
product_inserted
product_inserted
Figure 11 - Insert Product Sequence Diagram
15
ADETTI
Salt & Pepper Pack
5.2.2
Update Product
Only the project manager and the product manager can update a product. The project manager
can remove the product manager and insert a new one. The product manager can update any
product data.
Activity Diagram
List Products
[ category = project manager ]
[ category = product manager ]
Choose
Product
Update Product
Data
Select Product
Manager
Update Product
Manager
Figure 12 - Update Product Activity Diagram
16
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm Main
Menu
frm: Product
Details
frm: Frm Product
bsProduct
bsUser
dsProduct
dsUser
: Project Manager
<<create>>
get_products_list_button
list_products()
list_products()
products_list
products_list
<<create>>
new(products_list)
display()
select_product_button
select_product(productID)
select_product(productID)
product_data
product_data
<<create>>
update_product_button
select_new_product_manager
get_all_users()
get_all_users()
users_list
users_list
choose_product_manager
ok_button
set_product(productData)
set_product(product_data)
product_set
product_set
Figure 13 - Update Product Sequence Diagram
17
ADETTI
Salt & Pepper Pack
5.2.3
Remove Product
Only the project manager can remove a product. When a product is removed its sub-directory
and all its documentation and software are also automatically removed.
Activity Diagram
[ category = project manager ]
List Products
Choose
Product
Remove
Product
Figure 14 - Remove Product Activity Diagram
18
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm Project
Details
frm: Product
Details
frm: Frm Product
bsProduct
dsProduct
: Project Manager
<<create>>
get_products_list_button
list_products()
list_products()
products_list
products_list
<<create>>
new(products_list)
display()
select_product_button
select_product(productID)
select_product(productID)
product_data
product_data
<<create>>
new(product_data)
display()
remove_product_button
remove_product(productID)
remove_product(productID)
product_removed
product_removed
Figure 15 - Remove Product Sequence Diagram
19
ADETTI
Salt & Pepper Pack
5.3
Software and Documentation Management Modules
The software management module is very similar to the documents management module. Once
the two modules have the same functionalities we will explain only the software management
module.
5.3.1
Insert Software
This functionality is allowed to the users that belong to the development team (product manager
and developers). Inserting software consists in inserting the software data (e.g. description,
category etc.) Software is composed by one or more versions. Each version will contain the
software, the authors and the state of the software. After the insertion of the new software, the
system automatically creates a new directory that will contain all its software versions.
Activity Diagram
[ else ]
[ category = product manager or developer ]
Insert Software Data
Insert Software
Version
Figure 16 – Insert Software Activity Diagram
20
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm Software
frm: Frm Software
Details
bsSoftwareMan
agement
dsSoftware
: Developer
<<create>>
new(software_versions_list)
display()
<<create>>
insert_software_data
insert_software_button
is_valid()
insert_software(softwareData)
insert_software(softwareData)
software_inserted
software_inserted
Figure 17 - Insert Software Sequence Diagram
21
ADETTI
Salt & Pepper Pack
5.3.2
Update Software
This functionality allows the development team to update the software data. Updating the
software version is a different functionality.
Activity Diagram
Select Software
[ else ]
[ category = proj ect manager or developer ]
Update Software Data
Figure 18 - Update Software Activity Diagram
22
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm
Softwares
frm: Frm Software
Details
bsSoftwareMan
agement
dsSoftware
: Devel oper
<<create>>
new(softwares_li st)
displ ay()
select_software
select_software(softwareID)
sel ect_software(softwareID)
software_data
software_data
<<create>>
new(software_data)
displ ay()
update_software_data
ok_button
is_vali d()
update_software(softwareID,softwareData)
update_software(softwareID,softwareData)
software_updated
software_updated
Figure 19 - Update Software Sequence Diagram
23
ADETTI
Salt & Pepper Pack
5.3.3
Remove Software
All users that belong to the development team of a specific software can remove it. When users
remove software, they also remove all software versions. The directory created to contain all
software versions is also removed.
Activity Diagram
Select Software
[ else ]
[ category = product manager or developer ]
Remove Software
Figure 20 - Remove Software Activity Diagram
24
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm
Softwares
frm: Frm Software
Details
bsSoftwareMan
agement
dsSoftware
: Developer
<<create>>
new(softwares_list)
display()
select_software
select_software(softwareID)
select_software(softwareID)
software_data
software_data
<<create>>
new(software_data)
display()
remove_software_button
remove_software(softwareID)
remove_software(softwareID)
software_removed
software_removed
Figure 21 - Remove Software Sequence Diagram
25
ADETTI
Salt & Pepper Pack
5.3.4
Insert Software Version
The users that belong to the development team can insert a software version. Besides the
software version data (e.g. description, authors and state), the user has to insert the software
version. That version will be in the directory created when the user presses the button “add
version”.
Activity Diagram
[ else ]
[ category = product manager or devel oper ]
Insert Software
Version
Insert Software
Version
Figure 22 - Insert Software Version Activity Diagram
26
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm Software
Versions
frm: Frm Software
Version Details
bsSoftwareM an
agement
dsSoftware
: Devel oper
<<create>>
new(software_versions_list)
displ ay()
insert_software_version_data
is_vali d()
insert_software_version(software versi on data)
insert_software_version(software versi on data)
software_version_i nserted
software_version_i nserted
Figure 23 - Insert Software Version Sequence Diagram
27
ADETTI
Salt & Pepper Pack
5.3.5
Update Software Version
This functionality allows the development team to update the software data.
Activity Diagram
Select Software
Version
[ else ]
[ category = product manager or developer ]
Update Software
Version Data
Figure 24 - Update Software Version Activity Diagram
28
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm Software
Versions
frm: Frm Software
Version Details
bsSoftwareM an
agement
dsSoftware
: Devel oper
<<create>>
new(software_versions_list)
displ ay()
sel ect_software_version
sel ect_software_version(software_versionID)
sel ect_software_version(software_versionID)
software_version_data
software_version_data
<<create>>
new(software_version_data)
displ ay()
update_software_version_data
update_software_version(software_versionID,software version data)
update_software_version(software_versionID,software version data)
software_version_updated
software_version_updated
Figure 25 - Update Software Version Sequence Diagram
29
ADETTI
Salt & Pepper Pack
5.3.6
Remove Software Version
All users that belong to the development team of specific software can remove any of its
software versions. The directory created to contain the software version is removed.
Activity Diagram
Select Software
Version
[ else ]
[ category = product manager or developer ]
Remove Software
Version
Figure 26 - Remove Software Version Activity Diagram
30
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm Software
Versions
frm: Frm Software
Version Details
bsSoftwareMan
agement
dsSoftware
: Developer
<<create>>
new(software_versions_list)
display()
select_software_version
select_software_version(software_versionID)
select_software_version(software_versionID)
software_version_data
software_version_data
<<create>>
new(software_version_data)
display()
remove_software_version_button
remove_software_version(software_versionID)
remove_software_version(software_versionID)
software_version_removed
software_version_removed
Figure 27 - Remove Software Version Sequence Diagram
31
ADETTI
Salt & Pepper Pack
Módulo de Gestão de Bugs
5.3.7
Report Bug
All users associated with a given product can report new bugs in that product. The team
responsible for the product development (product manager and developers) is informed via email of the existence of a new bug. A bug is created with the state “reported”.
Activity Diagram
[ else ]
[ user associated with the specific product ]
Insert Bug
Report Data
Report Bug
Figure 28 - Report Bug Activity Diagram
32
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm Bug
Report
frm: Frm Bug Report
Details
dsBugReport
bsBugReportMa
nagement
dbBugStatusCh
ange
: General User
<<create>>
bug_tab
<<create>>
new(productID, userID)
display()
insert_bug_report
insert_bug_report_button
is_valid()
insert_bug_report(productID,userID,bugReport)
insert_bug_report(productID,userID,bugReport)
bug_report_inserted
insert_bug_status_change(bugReport, bugStateID)
insert_bug_status_change(bugReport, bugStateID)
bug_status_change_inserted
bug_report_inserted
Figure 29 - Report Bug Sequence Diagram
33
ADETTI
Salt & Pepper Pack
5.3.8
Change bug Status
Only users that belong to the development team can change bug statuses. The system records
the author responsible by the status change.
Activity Diagram
List Bugs
Choose Bug
[ user belongs to the development team ]
Change Bug
Status
Figure 30 - Change Bug Status Activity Diagram
34
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm Bugs
frm: Frm Bug
Details
dsBugReport
bsBugManagem
ent
dsBugSatusCha
nge
: Product Manager
<<create>>
new(bugs_list)
displ ay()
select_bug
select_bug(bugID)
select_bug(bugID)
bug_data
select_bug_state(bugID)
bug_state
bug_data_and_bug_state
<<create>>
new(bug_data, bug_state)
displ ay()
update_bug_status
update_status_button
update_bug_status(userID,bugID,bugState)
update_bug_status(userID,bugID,bugState)
bug_status_updated
bug_status_updated
Figure 31 - Change Bug Status Sequence Diagram
35
ADETTI
Salt & Pepper Pack
5.4
5.4.1
Questions Management Module
Insert Question
Any user associated with a product can make questions about it. The system records the author
and the date of the question.
Activity Diagram
[ else ]
[ user associated with the specific product ]
New Question
Insert Question
Data
Figure 32 - Insert Question Activity Diagram
36
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm
Questions
frm: Frm Question
Details
bsQuestionMan
agement
dsQuestion
: General User
<<create>>
insert_question_tab
<<create>>
new(productID, userID)
display()
insert_question_data
insert_question_button
is_valid()
insert_question(productID,userID,questionData)
insert_question(productID,userID,questionData)
question_inserted
question_inserted
Figure 33 - Insert Question Sequence Diagram
37
ADETTI
Salt & Pepper Pack
5.4.2
Insert Response
Any user associated with a product can answer questions made about the product. The author
and date of the answer are recorded by the system. It is possible to know the number of
answers available for each question.
Activity Diagram
[ else ]
[ user associated with the specific product ]
List Questions
Choose
Question
Insert Response Data
Insert
Response
Figure 34 - Insert Response Activity Diagram
38
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm Question
Details
frm: Frm Response
Details
bsQuestionana
gement
dsQuestion
: General User
<<create>>
add_response_button
<<create>>
new(questionID)
display()
insert_response_data
insert_response_button
is_valid()
insert_response(questionID,userID,ResponseData)
insert_response(questionID,userID,ResponseData)
response_inserted
response_inserted
Figure 35 - Insert Response Sequence Diagram
39
ADETTI
Salt & Pepper Pack
5.4.3
Insert FAQ
All products have lists of frequently asked questions. The management of that list can only be
made by the product manager. A frequently asked question is recorded by the system only if it
has at least one answer.
Activity Diagram
[ else ]
[ category = product manger ]
Insert FAQ
Question
Insert FAQ
Response
Insert FAQ Data
Figure 36 - Insert FAQ Activity Diagram
40
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm FAQ
frm: Frm FAQ
Details
bsQuestionMan
agement
dsQuestion
: Product Manager
<<create>>
insert_FAQ_tab
<<create>>
new(productID)
display()
insert_FAQ_data
insert_FAQ_button
is_valid()
insert_FAQ(productID,FAQ_ID,FAQ_data)
insert_FAQ(productID,FAQ_ID,FAQ_data)
FAQ_inserted
FAQ_inserted
Figure 37 - Insert FAQ Sequence Diagram
41
ADETTI
Salt & Pepper Pack
5.4.4
Update FAQ
As any other functionality associated with the AQ list management, only the product manager
can do it. The user can change the question and the answer.
Activity Diagram
List FAQ's
Choose FAQ
[ category != product manager ]
[ else ]
[ else ]
Update Faq
Question
Update Faq
Response
Insert New FAQ
Data
Figure 38 - Update FAQ Activity Diagram
42
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm FAQs
frm: Frm FAQ
Details
bsQuestionMan
agement
dsQuestion
: Product Manager
<<create>>
new(FAQs_list)
displ ay()
select_FAQ
select_FAQ(FAQ_ID)
sel ect_FAQ(FAQ_ID)
FAQ_data
FAQ_data
<<create>>
new(FAQ_data)
displ ay()
update_FAQ_data
update_FAQ_button
is_vali d()
update_FAQ(FAQ_ID, FAQ_data)
update_FAQ(FAQ_ID, FAQ_data)
FAQ_updated
FAQ_updated
Figure 39 - Update FAQ Sequence Diagram
43
ADETTI
Salt & Pepper Pack
5.4.5
Remove FAQ
Product managers can remove Faqs from the lists they manage. The frequently asked question
and its answers are both removed.
Activity Diagram
List FAQ's
Choose FAQ
[ else ]
[ category = product manager ]
Remove FAQ
Figure 40 - Remove FAQ Activity Diagram
44
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm FAQs
frm: Frm FAQ
Details
bsQuestionMan
agement
dsQuestion
: Product Manager
<<create>>
new(FAQs_list)
displ ay()
select_FAQ
select_FAQ(FAQ_ID)
sel ect_FAQ(FAQ_ID)
FAQ_data
FAQ_data
<<create>>
new(FAQ_data)
displ ay()
remove_FAQ_button
remove_FAQ(FAQ_ID)
remove_FAQ(FAQ_ID)
FAQ_removed
FAQ_removed
Figure 41 - Remove FAQ Sequence Diagram
5.5
Módulo de Gestão de Utilizadores
45
ADETTI
Salt & Pepper Pack
5.5.1
Login
This functionality is allowed to all users and makes it possible their entering the system. In order
to successfully login, users have to insert the username and password assigned to them by the
user that insert them.
Activity Diagram
Insert Data
username/password
[ Username or Password Inval id ]
[ Data Correctl y inserted ]
Figure 42 - Login Activity Diagram
46
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm Login
frm: Main Menu
bsUserManage
ment
dsUser
: General User
<<create>>
insert_username
insert_password
ok_button
exists_user(username,password)
exi sts_user(username,password)
user_data
user_data
<<create>>
new(userData)
display()
Figure 43 - Login Sequence Diagram
47
ADETTI
Salt & Pepper Pack
5.5.2
Insert User
A user can be inserted by the system administrator, the project manager, or the product
manager. The administrator insert project managers. Project managers insert the product
managers. Finally product managers insert users that will be associated with the product.
Activity Diagram
[ category = administratorproject manager or product manager ]
Insert User
Data
Insert New
User
Figure 44 - Insert User Activity Diagram
48
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm Users
frm: Frm User
Details
bsUserManagement
dsUser
: Project Manager
<<create>>
new(users_list)
display()
insert_user_button
<<create>>
insert_user_data
ok_button
is_valid()
insert_user(userData)
insert_user(userData)
user_inserted
user_inserted
Figure 45 - Insert User Sequence Diagram
49
ADETTI
Salt & Pepper Pack
5.5.3
Update User Data
User’s data can be updated by the users with permission to insert a new user (administrator,
project manager and product manager) and by the user to which it pertains.
Activity Diagram
List Users
Choose User
[ else ]
[ user with perm ission to update the specifi c user ]
Update User
Data
Update User
Figure 46 - Update User Activity Diagram
50
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm Users
frm: Frm User
Details
bsUserManagement
dsUser
: Proj ect Manager
<<create>>
new(users_list)
displ ay()
select_user
select_user(userID)
select_user(userID)
user_data
user_data
<<create>>
new(user_data)
displ ay()
change_user_data
update_user_button
is_vali d()
update_user(userID,newUserData)
update_user(userID,newUserData)
user_updated
user_updated
Figure 47 - Update User Sequence Diagram
51
ADETTI
Salt & Pepper Pack
5.5.4
Associate User with Product
Only product managers can associate users to their products. To perform this operation,
product managers have to choose a user from the users list.
Activity Diagram
List Users
Choose User
[ else ]
[ category = product manager ]
Associate User To
Product
Figure 48 - Associate User with Product Activity Diagram
52
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm Product
Details
frm: Frm Users
frm: Frm User
Details
dsUser
bsUserManage
ment
dsUserProduct
Relation
: Product Manager
<<create>>
list_product_users_button
list_users(productID)
list_users(productID)
users_list
users_list
<<create>>
new(users_list)
display()
select_user
select_user(userID)
select_user(userID)
user_data
user_data
<<create>>
new(user_data)
display()
associate_user_to_product_button
associate_user_to_product(productID,userID)
associate_user_to_product(productID,userID)
association_inserted
association_inserted
Figure 49 - Associate User with Product Sequence Diagram
53
ADETTI
Salt & Pepper Pack
5.5.5
Dissociate User From Product
Only the product manager can dissociate a user from a product. After that moment the removed
user can’t perform any task associated with that product. However, the effects of all actions
performed by users while was associated with the product are preserved.
Activity Diagram
List Users
Choose User
[ else ]
[ category = product manager ]
Dissociate User
From Product
Figure 50 - Dissociate User with Product Activity Diagram
54
ADETTI
Salt & Pepper Pack
Sequence Diagram
frm: Frm Product
Details
frm: Frm Users
frm: Frm User
Details
dsUser
bsUserManage
ment
dsUserProduct
Relation
: Product Manager
<<create>>
list_product_users_button
list_users(productID)
list_users(productID)
users_list
users_list
<<create>>
new(users_list)
display()
select_user
select_user(userID)
select_user(userID)
user_data
user_data
<<create>>
new(user_data)
display()
dissociate_user_from_product_button
dissociate_user_from_product(productID,userID)
dissociate_user_from_product(productID,userID)
association_removed
association_removed
Figure 51 - Dissociate User with Product Sequence Diagram
55
ADETTI
Salt & Pepper Pack
6 Tools
The software tools that were used in the information system development are:
-
MySQL™
MySQL™ is the Database solution adopted to built the "R&D products support
Information System".
The MySQL™ in fact is composed of two tools: the MySQL™ Database Server and the
MySQL™ Control Center:
o
MySQL™ Database Server
This tool is an open-source database server.
o
MySQL™ Control Center
The MySQL™ Control Center tool allows managing the databases stored in the
My SQL database server.
The fact that these tools are freeware is the main motive of this technological choice.
Another important reason is that MySQL™ is easy to use and the development team
had significant experience with the tool. This decision allowed to minimize risks
associated with unfamiliarity with selected technology.
-
Java 2™ Standard Edition 1.4.1.
The Java 2™ Standard Edition was used to develop the “R&D products support
Information System”. We use this tool for the same reasons, invoked to use MysQL™.
-
Schema Class Builder
The Schema Class Builder it’s part of the Salt & Pepper software and consists of a tool
for generating JAVA classes that supports the translation between XML and JAVA,
created under the European Project SAFIRA. It also supports an Object Oriented
interface for relational databases.
We used this tool to enable a simple interface for the XML communication used.
56
Download