and the representation of they relationships, it is pos-
sible to evaluate whether the Class diagram is cor-
rect and complete (Hamilton and Miles, 2006; Fowler,
2003).
Component Diagram: this kind of diagram rep-
resents the flexible and reusable system components.
A component is a unit with a replaceable manifes-
tation inside the system environment, with specific
definitions about its provided and required Interfaces.
These Interfaces specify attributes, association, as
well as Operations and Receptions, which are needed
to perform the component expected functionalities
(OMG, 2015; Pender, 2003).
Deployment Diagram: the physical architecture of
the system elements, as well as, the connections and
protocols they have to each other, are visually repre-
sentations inside a Deployment diagram. The benefits
of this kind of diagram is the capacity to identify the
hardware capabilities to optimize the software devel-
opment (Kimmel, 2005; Pender, 2003).
Package Diagram: as a key point to the the sys-
tem stability, the Package diagram is of great rele-
vance to evaluate packages relationships. It also com-
prehends a mechanism to manage the model groups,
where each element can only be owned by one pack-
age (Hamilton and Miles, 2006).
Profile Diagram: due to many different applica-
tion domains where the UML can be applied, it is
possible to create and associate stereotypes, tags and
constraints in a specific collection called Profile dia-
gram. For example, profiles can be defined by specific
code generation tools to build platform adapted arti-
facts (Alhir, 2003; Pender, 2003; Hamilton and Miles,
2006).
2.2 Behavior Diagrams
The focus of this kind of diagrams is to understand
how the system elements interact and collaborate with
one another to achieve an objective. This information
helps to evaluate if the system, when implemented,
will satisfy its requirements (Alhir, 2003). The UML
diagrams used to express the system behavior are pre-
sented below.
Use Case Diagram: the system interaction with its
environment can be illustrated through the Use Cases
diagrams. They comprehend a collection of diagrams
and text that are useful for system requirements spec-
ification, helping to identify, in a simply and easily
way, the users expectations for the system. They
are also an excellent starting point for projects be-
cause they targets tend to be more clarified, allowing
a development focused on the well understood goals
(Martin and M
¨
uller, 2005; Pender, 2002).
Activity Diagram: this UML diagram is used to
describe details of processes, use cases, algorithms or
operations. It illustrates a sequence of elementary ac-
tions, that can be synchronous, parallel, concurrent,
or marked by specific conditions or decisions that ex-
press the required performance. The Activity dia-
grams have the capability to represent logic at the sys-
tem level, as well as in the individual methods level
(Weilkiens, 2008; Pender, 2003).
State Machine Diagram: in order to describe how
an external stimuli influence a class, a subsystem or
an entire application over time, a State Machine dia-
gram can be used. The value of this kind of diagram
is in the contribute to the object states definition and
the correspondent identification of its attribute or state
changing conditions. The UML consider state ma-
chines that focus on the element implementation as
behavioral state machines and those that express re-
quired protocol behaviors, when the focus is on state
changes triggers, as protocol state machines (Pilone
and Pitman, 2005; Pender, 2003).
Interaction Diagram: these diagrams are useful
for individuals or groups to have different perspec-
tives about the objects or processes intercommunica-
tion. They basically express the flow of control and
data among system objects. According to they pur-
poses, the Interaction diagrams can be particularized
as (OMG, 2015; Brambilla et al., 2017):
• Sequence Diagram: it defines the temporal se-
quence of messages considering a specific system
execution scenario;
• Communication Diagram: it models how the re-
lated objects structures are used during the inter-
actions, describing and numbering the messages
that combine information from Class, Sequence
and Use Case diagrams;
• Timing Diagram: it describes the states or con-
ditions changes of a structural element over time,
according to specific events and constraints;
• Interaction Overview Diagram: it details in a
high-level view the interactions logical progres-
sion required by the system control flow.
3 SYSTEM MODELING
As pointed by (Kimmel, 2005), a cyclic modeling
from a high-level macro view to successively lower-
level micro views can helps in the problem space
comprehension. This approach was used for this arti-
cle, being presented the firsts modeling cycles of this
system, which is called ProtoBili.
BIODEVICES 2020 - 13th International Conference on Biomedical Electronics and Devices
138