Вы находитесь на странице: 1из 49

Engenharia de Requisitos

Modelagem
Conceitual Estrutural
Professor Wendell Bento Geraldes 2
Modelagem Conceitual Estrutural

Um modelo conceitual estrutural uma abstrao da


realidade segundo uma conceituao.

Ele pode ser usado para comunicao, aprendizado e


anlise de aspectos relevantes do domnio subjacente
!U"##$%&", '(()*.

+ modelo conceitual estrutural de um sistema tem por


objetivo descrever as in,orma-es .ue esse sistema
deve representar e gerenciar.
Professor Wendell Bento Geraldes 3
"denti,icao de Classes

Classi,icao o meio pelo .ual os seres


/umanos estruturam a sua percepo do
mundo e seu con/ecimento sobre ele.

0em ela, no possvel nem entender o


mundo a nossa volta nem agir sobre ele.

Classi,icar consiste, ento, em determinar


se um objeto ou no uma inst1ncia de
um tipo.
Professor Wendell Bento Geraldes 4
"denti,icao de Classes

2ipos de entidade so um dos mais importantes


elementos em modelos conceituais.

&e,inir os tipos de entidade relevantes para um


particular sistema de in,ormao uma tare,a crucial
na modelagem conceitual.

Um tipo de entidade pode ser de,inido como um tipo


cujas inst1ncias em um dado momento so objetos
individuais identi,icveis .ue se consideram e3istir
no domnio na.uele momento.
Professor Wendell Bento Geraldes 5
"denti,icao de Classes

4a orientao a objetos, tipos de entidade so


representados por classes, en.uanto as
inst1ncias de um tipo de entidade so objetos.

$ssim, uma atividade crucial da modelagem


conceitual estrutural segundo o paradigma
orientado a objetos ++* a identi,icao de
classes.
Professor Wendell Bento Geraldes 6
"denti,icao de Classes

4a UM5, classes so representadas por um


ret1ngulo com tr6s compartimentos7 o compartimento
superior relativo ao nome da classe8 o
compartimento do meio dedicado 9 especi,icao
dos atributos da classe8 e o compartimento in,erior
dedicado 9 especi,icao das opera-es da classe.
Professor Wendell Bento Geraldes 7
"denti,icao de Classes

:ara nomear classes, sugere;se iniciar com um


substantivo no singular, o .ual pode ser combinado
com complementos ou adjetivos, omitindo;se
preposi-es.

+ nome da classe deve ser iniciado com letra


mai<scula, bem como os nomes dos complementos,
sem dar um espaoem relao 9 palavra anterior.

$centos no devem ser utilizados. E3.7 Cliente,


:essoa=isica, "tem:edido.
Professor Wendell Bento Geraldes 8
"denti,icao de Classes

2omando por base os re.uisitos iniciais do usurio e,


sobretudo, o modelo de casos de uso, possvel
iniciar o trabal/o de modelagem da estrutura do
sistema.

Esse trabal/o comea com a descoberta de .uais


classes devem ser includas no modelo.

+ cerne de um modelo ++ e3atamente o seu


conjunto de classes.
Professor Wendell Bento Geraldes 9
"denti,icao de Classes

&iversos autores, dentre eles >acobson ?@@'* e AazlaBicC


'((D*, sugerem .ue uma boa estratgia para identi,icar
classes consiste em ler esses documentos procurando por
substantivos.

0eja o seguinte e3emplo de uma descrio de um domnio de


locao de automEveis7 Fclientes locam carrosG. 0eriam
consideradas potenciais classes7 Cliente e Carro.

Contudo, a locao um evento de negEcio importante .ue


precisa ser registrado e, usando a estratgia de identi,icar
classes a partir de substantivos, Locao no entraria na lista
de potenciais classes
Professor Wendell Bento Geraldes 10
"denti,icao de Classes

+s seguintes elementos sejam considerados como candidatos


a classes7

$gentes7 entidades do domnio do problema .ue t6m a


capacidade de agir com inteno de atingir uma meta.

$gentes ,sicos tipicamente pessoas*

$gentes sociais organiza-es, sociedades, etc.*

+bjetos7 entidades sem a capacidade de agir, mas .ue


,azem parte do domnio de in,ormao do problema.

Eventos7 representam a ocorr6ncia de a-es no domnio do


problema .ue precisam ser registradas e lembradas pelo
sistema.
Professor Wendell Bento Geraldes 11
"denti,icao de Classes

0eja .ual ,or a estratgia usada para identi,icar classes,


sempre importante .ue o analista ten/a em mente os
objetivos do sistema durante a modelagem conceitual.

4o se devem representar in,orma-es irrelevantes para


o sistema e, portanto, a relev1ncia para o sistema o
principal critrio a ser adotado para decidir se um
determinado elemento deve ou no ser includo no
modelo conceitual estrutural do sistema.
Professor Wendell Bento Geraldes 12
"denti,icao de Classes

Uma vez identi,icadas as potenciais classes, deve;se


proceder uma avaliao para decidir o .ue e,etivamente
considerar ou rejeitar.

Con,orme discutido anteriormente, a relev1ncia para o


sistema deve ser o critrio principal.

$lm desse critrio, os seguintes tambm devem ser


considerados nessa avaliao7
Professor Wendell Bento Geraldes 13
"denti,icao de Classes

Estrutura complexa: 0e uma classe apresentar apenas um


atributo, avalie se no mel/or trat;la como um atributo de
uma classe e3istente.

Atributos e associaes comuns: os atributos e as


associa-es da classe devem ser aplicveis a todas as
suas inst1ncias, isto , a todos os objetos da classe.

Classes no redundantes: duas classes so redundantes


.uando elas t6m sempre o mesmo conjunto de inst1ncias.

Existncia de instncias: toda classe deve possuir uma


populao no vazia.
Professor Wendell Bento Geraldes 14
"denti,icao de atributos e
associa-es

$ estrutura de uma classe corresponde a seus atributos e


associa-es8

Conceitualmente, no / di,erena entre atributos e


associa-es8

$tributos so, na verdade, tipos de relacionamentos binrios8

Em um tipo de relacionamento binrio, / dois participantes8

Em alguns tipos de relacionamentos, esses participantes so


considerados FcolegasG, por.ue eles desempen/am ,un-es
anlogas e nen/um deles subordinado ao outro8
Professor Wendell Bento Geraldes 15
"denti,icao de atributos e
associa-es
0eja o caso do tipo de
relacionamento aluno cursa um
curso. Um aluno sE aluno se
cursar um curso. :or outro lado,
no ,az sentido e3istir um curso se
ele no puder ser cursado por
alunos.
Professor Wendell Bento Geraldes 16
"denti,icao de atributos e
associa-es
4a orientao a objetos, esse
tipo de relacionamento
modelado como uma
associao.

Professor Wendell Bento Geraldes 17
"denti,icao de atributos e
associa-es
Entretanto, / alguns tipos de
relacionamentos nos .uais usurios e
analistas consideram um participante
como sendo uma caracterstica do
outro.

Professor Wendell Bento Geraldes 18
$tributos

Um atributo uma in,ormao de estado para a .ual cada


objeto em uma classe tem o seu prEprio valor8

+s atributos adicionam detal/es 9s abstra-es e so


apresentados na parte central do smbolo de classe8

$tributos possuem um tipo de dado, .ue pode ser primitivo


ou espec,ico de domnio8

$o identi,icar um atributo como sendo relevante, deve;se


de,inir .ual o seu tipo de dado8

Caso nen/um dos tipos de dados primitivos se apli.ue,


deve;se de,inir, ento, um tipo de dados espec,ico.

Professor Wendell Bento Geraldes 19


2ipos de &ados

"0H4

C:=

C4:>

Enumerao

&ia0emana 0egunda, 2era, Iuarta, Iuinta,


0e3ta, 0bado e &omingo*8

0e3o MJ=*8

Estado Civil.
Professor Wendell Bento Geraldes 20
2ipos de &ados

2ipos de dados geralmente no so representados


gra,icamente em um modelo conceitual estrutural, de
modo a torn;lo mais simples8
Professor Wendell Bento Geraldes 21
$tributos

Uma d<vida tpica e recorrente na modelagem


estrutural se um determinado item de in,ormao
deve ser modelado como uma classe ou como um
atributo8

Um atributo deve capturar um conceito atKmico, i.e.,


um <nico valor ou um agrupamento de valores
,ortemente relacionados .ue sirva para descrever
outro objeto.
Professor Wendell Bento Geraldes 22
$tributos

Uma d<vida tpica e recorrente na modelagem estrutural


se um determinado item de in,ormao deve ser
modelado como uma classe ou como um atributo8

Um atributo deve capturar um conceito atKmico, i.e., um


<nico valor ou um agrupamento de valores ,ortemente
relacionados .ue sirva para descrever outro objeto8

$lm disso, para .ue um item de estrutura comple3a


seja modelado como um atributo, ele deve ser
compreensvel pelos interessados simplesmente pelo
seu nome.
Professor Wendell Bento Geraldes 23
$tributos

Um aspecto bastante importante na especi,icao de


atributos a escol/a de nomes8

&eve;se procurar utilizar o vocabulrio tpico do domnio


do problema, usando nomes legveis e abrangentes8

$ sinta3e de atributos na UM5, em sua ,orma plena, a


seguinte H++CL8 %UMH$U!L8 >$C+H0+4, '((M*7
!isibilidade nome: tipo "multiplicidade# $ !alor%nicial
&propriedades'
Professor Wendell Bento Geraldes 24
$tributos

$ visibilidade de um atributo indica em .ue situa-es esse atributo


visvel por outras classes.

4a UM5 / .uatro nveis de visibilidade, os .uais so marcados


pelos seguintes smbolos7
( p)blico : o atributo pode ser acessado por .ual.uer classe8
* protegido: o atributo sE passvel de acesso pela prEpria
classe ou por uma de suas especializa-es8
+ pri!ado: o atributo sE pode ser acessado pela prEpria classe8
, pacote: o atributo sE pode ser acessado por classes
declaradas dentro do mesmo pacote da classe a .ue pertence o
atributo.
Professor Wendell Bento Geraldes 25
$tributos

+ tipo indica o tipo de dado do atributo, o .ual deve ser um tipo


de dado primitivo ou um tipo de dado espec,ico de domnio.
2ipos de dados espec,icos de domnio devem ser de,inidos no
&icionrio de &ados do :rojeto.

$ multiplicidade a especi,icao do intervalo permitido de


itens .ue o atributo pode abrigar. + padro .ue cada atributo
ten/a um e somente um valor para o atributo. Iuando um
atributo ,or opcional ou .uando puder ter mais do .ue uma
ocorr6ncia, a multiplicidade deve ser in,ormada, indicando o
valor mnimo e o valor m3imo, da seguinte ,orma7
!alor-m.nimo // !alor-m0ximo
Professor Wendell Bento Geraldes 26
$ssocia-es

Uma associao um tipo de relacionamento .ue ocorre entre


inst1ncias de duas ou mais classes8

$ssim como classes, associa-es so tipos. +u seja, uma


associao modela um tipo de relacionamento .ue pode
ocorrer entre inst1ncias das classes envolvidas8

Uma inst1ncia de uma associao dita uma ligao* conecta


inst1ncias espec,icas das classes envolvidas na associao8

$ssocia-es podem ser nomeadas. 4este te3to sugere;se o


uso de verbos conjugados, indicando o sentido de leitura.

E3.7 Cliente classe* e,etua N associao* 5ocao classe*.


Professor Wendell Bento Geraldes 27
$ssocia-es

$ notao da UM5 tipicamente usada para representar


associa-es em um modelo conceitual8
Professor Wendell Bento Geraldes 28
$ssocia-es

$inda .ue nomes de associa-es e papis sejam opcionais,


recomenda;se us;los para tornar o modelo mais claro.

$lm disso, / algumas situa-es em .ue ,ica invivel ler um


modelo se no /ouver a especi,icao do nome da
associao ou de algum de seus papis.
Professor Wendell Bento Geraldes 29
$ssocia-es

$o contrrio das classes e dos atributos .ue podem ser


encontrados ,acilmente a partir da leitura dos te3tos da
descrio do minimundo e das descri-es de casos de uso,
muitas vezes, as in,orma-es sobre associa-es no
aparecem to e3plicitamente8

L alguns eventos .ue precisam ter sua ocorr6ncia registrada


e, portanto, so tipicamente mapeados como classes.

Esses eventos esto descritos nos casos de uso e podem ter


sido capturados como associa-es8
Professor Wendell Bento Geraldes 30
$ssocia-es
Professor Wendell Bento Geraldes 31
$ssocia-es

&eve;se tomar cuidado com a representao de eventos


como associa-es, .uestionando sempre se a.uela
associao relevante para o sistema em .uesto.
Professor Wendell Bento Geraldes 32
$ssocia-es

%egistrando ListEricos
Professor Wendell Bento Geraldes 33
$ssocia-es

%estrio O+% entre $ssocia-es


Professor Wendell Bento Geraldes 34
$ssocia-es

$ssociao muitos para muitos


Professor Wendell Bento Geraldes 35
$ssocia-es

$ssociao muitos para muitos e Classes de Evento


5embrado
Professor Wendell Bento Geraldes 36
$ssocia-es

%ei,icando uma $ssociao


Professor Wendell Bento Geraldes 37
$ssocia-es

4otao da UM5 para Classes $ssociativas


Professor Wendell Bento Geraldes 38
$ssocia-es

Classes $ssociativas 3 Classes do 2ipo Evento a ser


5embrado
Professor Wendell Bento Geraldes 39
$ssocia-es

$ssociao 2ernria
Professor Wendell Bento Geraldes 40
$ssocia-es

$gregao e Composio
Professor Wendell Bento Geraldes 41
Especi,icao de Lierar.uias de
!eneralizaoJEspecializao

Um dos principais mecanismos de estruturao


de conceitos a generalizao J
especializao.

Com este mecanismo possvel capturar


similaridades entre classes, dispondo;as em
/ierar.uias de classes.

4o conte3to da orientao a objetos, esse tipo


de relacionamento tambm con/ecido como
/erana.
Professor Wendell Bento Geraldes 42
Especi,icao de Lierar.uias de
!eneralizaoJEspecializao
$o se considerar uma classe
H como sendo uma subclasse
de uma classe $ est;se
assumindo .ue todas as
inst1ncias de H so tambm
inst1ncias de $.
Professor Wendell Bento Geraldes 43
Especi,icao de Lierar.uias de
!eneralizaoJEspecializao
$o se dizer .ue a classe
EstudanteGraduacao /erda
da classe Estudante, est;se
indicando .ue todos os
estudantes de graduao so
estudantes
Professor Wendell Bento Geraldes 44
Especi,icao de Lierar.uias de
!eneralizaoJEspecializao
Professor Wendell Bento Geraldes 45
Especi,icao de Lierar.uias de
!eneralizaoJEspecializao
Professor Wendell Bento Geraldes 46
Especi,icao de Lierar.uias de
!eneralizaoJEspecializao

P interessante considerar alguns critrios para


incluir uma subclasse ou superclasse* em um
modelo conceitual.

+ principal deles o ,ato da especializao ou


generalizao* estar dentro do domnio de
responsabilidade do sistema.

$penas subclasses superclasses* relevantes


para o sistema em .uesto devem ser
consideradas.
Professor Wendell Bento Geraldes 47
Especi,icao de Lierar.uias de
!eneralizaoJEspecializao

+s seguintes critrios devem ser usados para analisar


/ierar.uias de /erana7

Uma /ierar.uia de classes deve modelar rela-es F;


um;tipo;deG, ou seja, toda subclasse deve ser um
subtipo espec,ico de sua superclasse.

Uma subclasse deve possuir todas as propriedades


atributos e associa-es* de,inidas por suas
superclasses e adicionar mais alguma coisa algum
outro atributo ou associao*.

2odas as inst1ncias de uma subclasse t6m de ser


tambm inst1ncias da superclasse.
Professor Wendell Bento Geraldes 48
Especi,icao de Lierar.uias de
!eneralizaoJEspecializao

$teno especial deve ser dada 9 nomeao de classes


em uma /ierar.uia de classes.

Cada especializao deve ser nomeada de ,orma a ser


auto;e3plicativa.

Um nome apropriado para a especializao pode ser


,ormado pelo nome de sua superclasse, acompan/ado
por um .uali,icador .ue descreve a natureza da
especializao.

:or e3emplo, EstudanteGraduacao para designar um


subtipo de Estudante

Professor Wendell Bento Geraldes 49


Hibliogra,ia

=$5H+, %icardo de $lmeida. 1otas de aula.


U=E0 Q Universidade =ederal do Esprito
0anto. '(?'.

Вам также может понравиться