Apostilade UMLCEFET

Apostilade UMLCEFET

(Parte 1 de 13)

CEFET-PR Pag.: 1

Centro Federal de Educaco Tecnologica do Parana Departamento Academico de Informatica

Projeto de Software usando a UML Verso 2002

Prof. Paulo Cüzar Stadzisz

CEFET-PR Pag.: 2

Capıtulo I : Casos de Uso3
1. Modelo de Casos de Uso3
2. Diagramas de Casos de Uso3
3. Exemplo9
4. Concluso13
Capıtulo I : Levantamento de Classes15
1. Conceito de Classe e Objeto15
2. Notaco UML para Classes e Objetos20
3. Levantamento das Classes24
4. Exemplo de Levantamento de Classes26
5. Concluso28
Capitulo I : Estudo das Interacoes entre Objetos29
1. Diagrama de Seque ncia29
2. Diagrama de Colaboraco40
3. Exemplos de Diagramas de Sequencia e Colaboraco42
Capıtulo IV : Relacionamentos entre Classes45
1. Associaco entre Classes45
2. Agregaco entre Classes48
3. Generalizaco/Especializaco entre Classes51
4. Concluso54
Capıtulo V : Especificacéo do Comportamento de Objetos5
1. Diagrama de Estados5
2. Diagrama de Atividades65

CEFET-PR Pag.: 3

1 Modelo de Casos de Uso

O modelo de Casos de Uso foi proposto por I. Jacobson como um instrumento para descrico das intencíes ou requisitos para um sistema computacional. A construco do Modelo de Casos de Uso corresponde a uma das fases iniciais de um projeto de software pois envolve a determinaco dos usos que o sistema tera, ou seja, do que ele devera fornecer como servicos.

O modelo de Casos de Uso ü diferente da viso funcional utilizada no passado nas abordagens de projeto estrututado. Ao invüs de focalizar as funcíes (atribuicíes tücnicas) do sistema, o modelo de Casos de Uso captura os usos ou aplicacíes completas do sistema. Este modelo busca responder a questo: Que usos o sistema tera? ou Para que aplicacíes o sistema sera empregado?

Os modelos de Casos de Uso so descritos atravüs de Diagramas de Casos de Uso na

UML. De uma forma geral, cada projeto de software contera um Diagrama de Casos de Uso. Para sistemas mais extensos, ü possıvel decompor o diagrama em um conjunto de subdiagramas.

Uma vez construıdo o modelo de Casos de Uso, o restante do projeto pode ser guiado baseando-se neste modelo. Dito de outra forma, a partir do modelo de Casos de Uso, o restante do projeto ira se preocupar com a forma de realizaco dos casos de uso (que classes e objetos so necessarios, como e quando cada um atuara, etc).

O modelo de Casos de Uso ü um instrumento eficiente para determinaco e documentaco dos servicos a serem desempenhados pelo sistema. Ele ü tambüm um bom meio para comunicaco com os clientes no processo de definico dos requisitos do sistema.

2 Diagramas de Casos de Uso

Os casos de uso de um projeto de software so descritos na linguagem UML atravüs de

Diagramas de Casos de Uso. Estes diagramas utilizam como primitivas Atores, Casos de Uso e Relacionamentos. Como ocorre tambüm com outros diagramas, pode-se ainda utilizar as primitivas Pacote e Nota nos diagramas de casos de uso. As subsecíes a seguir descrevem estas primitivas.

2.1 Atores

Atores so representacíes de entidades externas mas que interagem com o sistema durante sua execuco. Basicamente, a interaco de atores com o sistema se da atravüs de comunicacíes (troca de mensagens). As entidades externas representadas pelos atores podem ser :

§ Pessoas: usuario, secretaria, aluno, professor, administrador,etc. § Dispositivos: impressora, maquina ou outro equipamentos externo.

§ Hardwares: placa de modem, placa de controle, etc.

§ Software: sistema de banco de dados, aplicativos, etc.

Capıtulo I : Casos de Uso

CEFET-PR Pag.: 4

E importante observar que atores representam, na verdade, papüis desempenhados por pessoas, dispositivos ou outros softwares quando estiverem interagindo com o sistema. Por exemplo, um ator cujo identificador seja Aluno no representa um aluno especıfico mas sim um aluno qualquer, ou seja, uma pessoa qualquer que esteja interagindo com o sistema na qualidade de aluno. Desta forma, um ator pode representar um entre varios indivıduos, equipamentos ou softwares. De forma analoga, uma entidade externa pode ser representada na forma de varios atores. Isto ocorre quando a entidade tem mais de um papel (tipo de participaco ou interaco) no sistema. Por exemplo, o indivıduo Joo da Silva poderia ser representado em um sistema na forma do ator Usuario, pois ele interage com o sistema nesta qualidade, e tambüm na forma do ator Administrador, pois ele tambüm interage com o sistema para este outro fim que ü a administraco do software.

Atores so representados atravüs de ret“ngulos (notaco genürica para classe) usando a simbologia padro da UML ou atravüs de ıcones humanos. As duas notacíes so sintaticamente equivalentes, porüm a segunda ü seguramente mais intuitiva. A desvantagem do uso de ıcones humanos ocorre quando o ator representa equipamentos, dispositivos de hardware ou outros softwares. Neste caso, a figura humana no coincide com a natureza do ator. E possıvel, entretanto, atravüs de mecanismos de extenso, criar grafismos especiais ou especializados na UML para indicar tipos de atores.

Usua rio

Administrador <<ator>>

Secreta ria Impressora Figura I.1 ó Exemplos de Atores

Observe que a notaco usando ret“ngulos exige a inserco de um classificador para indicar a natureza daquilo que se esta representando. No caso de atores, deve-se incluir o classificador (ou estereotipo) <<ator>> antes do nome do ator. Quando se utiliza o ıcone humano, basta indicar o nome do ator abaixo do ıcone.

O levantamento dos atores que interagem com um certo sistema depende de um trabalho de estudo que envolve discussíes com os clientes. Procura-se neste estudo levantar as pessoas que sero beneficiadas e que usaro o sistema. Alüm disso, deve-se levantar os dispositivos e softwares com os quais o sistema devera se comunicar. Para muitos projetos, pode no ser facil levantar corretamente o conjunto de atores na primeira tentativa. O estudo dos casos de uso e dos relacionamentos com atores pode permitir refinar o conjunto de atores definidos. O estudo das classes do sistema, a ser feito na proxima fase, tambüm ira contribuir para o refinamento do levantamento de atores.

Embora a UML no imponha restricíes, costuma-se considerar determinados atores como atores implıcitos. Desta forma estes atores no aparecem no diagrama de casos de uso embora eles estejam presentes e participem da execuco dos casos de uso. Os atores implıcitos representam essencialmente dispositivos e softwares que so sempre usados e que no impíem protocolos especiais de comunicaco. Desta forma, a supresso deste atores no traz nenhum efeito significativos sobre os modelos e simplifica as representacíes. Os exemplos mais comuns de atores que se pode considerar como implıcitos so : monitor de vıdeo, teclado, mouse, auto-falante, microfone, unidade de disco e sistema operacional. Estas entidades sero atores legıtimos mas cuja incluso no modelo de casos de uso no traz contribuico para a modelagem.

CEFET-PR Pag.: 5

2.2 Casos de Uso

A descrico dos servicos a serem oferecidos pelo sistema ü feita na UML discriminandose os Casos de Usos do sistema. Cada Caso de Uso descreve uma aplicaco ou uso completo do software. O conceito de caso de uso no deve ser confundido com o de modulo ja que um caso de uso no ü um componente do sistema mas sim um de seus empregos possıveis. Tambüm no se deve confundir o conceito de caso de uso com o de funco que possui um escopo muito mais limitado, traduzindo frequentemente apenas um recurso ou utilidade do sistema. Um caso de uso ü muito mais abrangente, envolvendo todo um conjunto de transacíes que juntas constituem um servico completo oferecido pelo sistema.

A especificaco das funcionalidades de um sistema na forma de casos de uso permite uma viso mais abrangente das aplicacíes do sistema favorizando um levantamento mais completo e preciso de suas atribuicíes.

2.3 Relacionamentos entre Atores e Casos de Uso

Os relacionamentos em um diagrama de casos de uso podem envolver dois atores, dois casos de uso ou um ator e um caso de uso, conforme descrito nas subsecíes seguintes.

2.3.1 Relacionamentos entre Atores

Como os atores so entidades externas, os relacionamentos entre eles sero relacíes externas ao sistema. Embora estas relacíes possam ser desprezadas, pois no fazem parte do sistema e nem so de conhecimento do sistema, ü possıvel incluı-las no modelo de casos de uso. De certa forma, estas relacíes descrevem parte do modelo de negocios da empresa.

As duas relacíes mais comuns entre atores so a comunicaco (ou associaco) e a especializaco (ou generalizaco). Um relacionamento de comunicaco indica que os dois atores, de forma uni ou bidirecional, realizam uma comunicaco (troca de informaco ou de mensagem) que possui um significado formal para o sistema modelado. No exemplo da figura I.2, o ator Aluno comunica-se com o ator Secretaria no sentido que transmitir uma Solicitaco de Historico Escolar. Trata-se de uma comunicaco explıcita cuja ocorrencia deve ter alguma repercusso ou significado para o sistema. Um relacionamento de generalizaco, por outro lado, representa uma relaco conceitual entre atores indicando que um ator ü um caso especial de outro ator mais genürico. Esta relaco indica que o ator especializado inclui todos os atributos do ator genürico e inclui ainda atributos adicionais. Como ilustra a figura I.2, o ator Administrador ü um ator especializado do ator Usuario. Isto significa que o Administrador ü um Usuario com atributos ou caracterısticas extras. De certa forma, o ator especializado estende o ator genürico.

Aluno Secretaria

Solicita Historico

Usua rio Administrador Figura I.2 ó Exemplos de Relaces entre Atores

CEFET-PR Pag.: 6

2.3.2 Relacionamentos entre Atores e Casos de Uso

O relacionamento entre um ator e um caso de uso expressa sempre uma comunicaco entre eles, pois o ator sendo uma entidade externa no poderia possuir qualquer relacionamento estrutural com o sistema computacional. A notaco UML para este tipo de relacionamento ü um segmento de reta ligando ator e caso de uso, como ilustrado na figura I.3. Em diagramas mais complexos pode-se utilizar cadeias de segmentos de retas para se evitar cruzamentos.

Como atores podem ter varios propositos, no que diz respeito a suas interacíes com o sistema, podem existir mais de um relacionamento de um ator com diferentes casos de usos. De forma analoga, um mesmo caso de uso pode envolver a participaco de mais de um ator. A figura I.3 ilustra estas situacíes. O caso de uso Emitir Historico Escolar envolve a participaco de dois atores : Secretaria e Impressora. O ator Secretaria participa em dois casos de uso: Emitir Historico e Registrar Novo Aluno.

Secretaria Registrar Novo Aluno

Emitir Historico EscolarImpressora

Figura I.3 ó Exemplos de Relaces entre Atores e Casos de Uso

(Parte 1 de 13)

Comentários