Buscar

RESUMO (Diagrama de Classes e Atividades) UNIGRAN

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

METODOLOGIA DE DESENVOLVIMENTO DE SOFTWARE ENGENHARIA DE SOFTWARE - UNIGRAN 
 
 
METODOLOGIA DE DESENVOLVIMENTO DE SOFTWARE ENGENHARIA DE SOFTWARE - UNIGRAN 
 
 
METODOLOGIA DE DESENVOLVIMENTO DE SOFTWARE ENGENHARIA DE SOFTWARE - UNIGRAN 
 
SEÇÃO I – Introdução a Unified Modeling Language – UML 
 
A UML é uma linguagem destinada a visualizar, especificar, construir e documentar os artefatos de um sistema complexo de software. 
Ela é uma linguagem unificada de modelagem utilizada para documentar de maneira visual os modelos; 
SEÇÃO II – Diagrama de Classes 
 	 
Ele define as classes que estarão no sistema, além da estrutura dos dados (atributos) e serviços (métodos) de cada classe, e dos seus relacionamentos entre essas classes que estão nesse sistema.
2.1 Classes 
A UML define a representação de uma classe como um retângulo dividido em três partes: 
 
Figura 1 – Exemplo de uma Classe na notação UML 
 
Fonte: Disponível em <http://www.w3ii.com/uml/notation_activeclass.jpg>. Acesso em 30 set. 2017. 
 
Nome da classe: Esse nome deve ser iniciado com letra maiúscula, escrito no singular, negrito e centralizado.
Atributos da classe: Indicados em formato de uma lista, onde cada linha é um atributo.
 Sintaxe: 
<visibilidade> <nome do atributo>:<tipo> [<multiplicidade>]:<valor 
padrão> 
	
Visibilidade dos atributos e métodos 
 
Na orientação a objetos, a visibilidade define quem poderá utilizar o atributo ou o método. Um atributo ou método pode ter as seguintes opções de visibilidade: 
+ público ou public: O elemento é público, podendo ser acessado por qualquer classe; 
# protegido ou protected: O elemento da classe é protegido, só pode ser acesível ou dentro da classe ou por classes que descendem dessa classe. 
- privado ou private: O elemento é privado, só pode ser acessado exclusivamente pela própria classe; 
~ pacote ou package: Indica que o elemento é acessível por qualquer outra classe que esteja dentro do mesmo pacote. 
 
Nome do atributo - Deve iniciar-se com uma letra minúscula. Em casos de nomes compostos, recomenda-se seguir o padrão camelCase.
Exemplo: nomeDoDependente. 
Opcionalmente, podemos definir, entre colchetes, a multiplicidade do atributo, que determina o número mínimo e o número máximo de valores que um atributo pode conter. Sintaxe: [<Número mínimo>..<Número Máximo>]. 
[0..1]: Mínimo zero e no máximo um valor; 
[1..1]: No mínimo e no máximo um valor. Esse é o valor que é deduzido se não for informada a multiplicidade do atributo; 
[0..*]: Mínimo zero valor e no máximo muitos valores; 
[*]: Indica muitos valores; 
[1..*]: Mínimo um valor e no máximo vários valores.
 
Exemplos de atributos: 
+ dataDeNascimento:Date ;
# emailCliente:String [0..1] ;
- saldo:Float = 0.00 ;
No último retângulo, colocamos uma lista de métodos que estarão na classe: Podemos detalhar os parâmetros desse método, dentro dos parênteses, e o tipo do retorno do método. Porém, isso não é obrigatório.
 
Figura 2 – Exemplo de uma Classe com seus atributos e métodos, na notação UML Fonte: Acervo pessoal. 
 
2.2 Associação entre as classes 
Associação reflexiva: É representada por meio de uma linha reta ligando as classes.
Além dessa linha reta, informações adicionais a esta relação podem ser incluídas, como: 
Nome (opcional) : Normalmente é um verbo que expressa à ação entre os dois objetos. Junto a este nome, é colocada uma seta que indica a direção em que este nome deve ser lida. 
 
Figura 3 – Exemplo de uso de nome da associação Fonte: Acervo pessoal. 
Navegabilidade (opcional) : Indica o sentido de acesso os dados. Podemos definir se uma classe pode acessar a outra classe ou não. É indicada por meio de setas e xis na linha que liga as classes. 
 
Figura 4 – Exemplos de uso de navegabilidade Fonte: BALZERT (2007), p. 22. 
Multiplicidade : Indica quantos objetos podem estar envolvidos nesse relacionamento. É representada por dois números, separados por dois sinais de ponto final entre eles. O primeiro número indica o número de objetos mínimo que podem estar envolvidos nessa relação e o segundo número indica o número máximo de objetos que podem estar envolvidos nessa classe. Esses dois números ficam nas extremidades da reta.
 
Figura 5 – Exemplo de uso de multiplicidade entre as classes Fonte: Acervo pessoal. 
Classe associativa: É comum em relações multiplicidade muitos-paramuitos, que normalmente possuem atributos que sejam inerentes a relação, não pertencendo a nenhuma das classes participantes. Essa classe pode se relacionar com qualquer outra classe do sistema, independente se participa ou não da relação. 
 
Figura 6 – Exemplo de Entidade Associativa Fonte: GÓES (2014), p. 148. 
	
Tipos de Associação 
Agregação: Indica um relacionamento todo-parte onde as classes podem viver de forma independente. Por exemplo, um time pode conter vários jogadores, um jogador pode estar em um time. 
Composição: Indica uma relação todo-parte onde um objeto-parte não faz sentido se o objeto-todo não existir. Por exemplo, uma revista é composta por artigos, mas um artigo tem como sua única razão de existir é compor a revista. 
 
Figura 
7
 
–
 
Exemplo de representação da Agregação e da Composição
 
Fonte: 
Adapta
do de <
 
https://i.stack.imgur.com/bfBSY.png
>
.
 
Acesso em 02 out. 2017.
 
Para sabermos se devermos usar uma dessas situações específicas em uma relação 
envolvendo duas classes A e B, devemos fazer as seguintes perguntas:
 
1.
 
Se um objeto da classe A for excluído,
 
terei que excluir o objeto da classe B?
 
Se a resposta for Sim, use a composição. Se Não vá a pergunta 2.
 
2.
 
Um objeto da classe B tem utilidade sozinha?
 
Se a resposta for Sim, utilize uma associação comum. Caso contrário, use um 
relacionamento de agregação, 
sendo que a classe A fará o papel do todo e a classe B 
fará o papel da parte.
 
 
 
2.3 Herança 
Herança é um conceito onde uma classe filha herda todas as características da classe pai, além de ter as suas próprias características. Ela é representada com uma linha reta, partindo da classe específica até a classe base (a classe pai). No lado da classe pai, terá uma seta fechada e sem preenchimento. 
 
Figura 8 – Exemplo de uso de herança na UML Fonte: Acervo pessoal. 
Você também viu na segunda aula sobre o conceito de polimorfismo, que consiste em duas ou mais classes derivadas de uma mesma classe pai chamar métodos de mesmos nomes e parâmetros, mas com comportamentos distintos. Para isso, você pode colocar o mesmo nome do método nas classes derivadas. 
 
2.4 Exemplo de Diagrama de Classes 
Nesta seção, mostraremos o diagrama de classes para o estudo de caso da locadora de veículos. Ele está reproduzido na figura abaixo. 
 
Figura 9 – Diagrama de classes para o sistema da locadora Fonte: Acervo pessoal. Neste diagrama, percebemos que: 
O analista criou uma classe Pessoa, com as características comuns entre Funcionário e Cliente. As classes Funcionário e Cliente possuem as características que são exclusivas dessas classes, como as datas de admissão e demissão de um Funcionário e o número da CNH e o número de dependentes do cliente; 
Na classe Carro, o analista colocou todos os atributos e serviços que foram identificados na etapa de análise. Além disso, percebeu-se a necessidade de colocar um atributo que indica se um carro está ativo ou não; 
Foi especificada uma relação de locação entre Cliente e Carro, onde um cliente pode locar de nenhum a muitos carros e um carro pode ser locado por muitos clientes; 
Os atributos e serviços do ato da locação foram colocados como parte de uma classe associativa chamada de Locação; e 
Para deixar claro as operações de manutenção e seleção das classes do sistema, colocamos os métodos manter() e selecionar() em todas as classes. 
Chegamos ao fim da seção que explica o Diagrama de Classes. A seguir você estudará o Diagrama de Casos de Uso. 
 
SEÇÃOIV - Diagrama de Atividades 
 
É um diagrama que consiste em representar os aspectos dinâmicos do sistema. Pode ser usado para documentar de uma pequena parte de um código até um sistema inteiro. 
Podemos encontrar os seguintes elementos em um Diagrama de Atividades: 
Nó inicial: Indica o início de um fluxo. É representada por um círculo totalmente preenchido, podendo ter mais de um nó inicial por diagrama. 
Nó final: Indica o ponto de saída de um processamento ou processo. É representado por um círculo preenchido dentro de um círculo vazado. 
Ação: Indica a transformação dos dados por meio de um processamento ou mostrar algum passo ou alguma rotina sendo executados em um processo. Ele é indicado por meio de um retângulo com bordas arredondadas contendo o nome da ação, que normalmente é um verbo no infinitivo. 
Fluxo de controle: Indica uma conexão entre as ações, mostrando a ordem de execução entre as ações. É indicada por meio de uma seta que começa da ação anterior apontando para a próxima ação. 
Nó de decisão (Se/Senão): Indica que há uma escolha de fluxo a ser feita por meio de uma decisão. É representada por meio de um losango vazado, podendo ter vários fluxos partindo dele. Em cada fluxo é indicado qual a condição que deve ser satisfeita para seguir esse fluxo. 
Nó de Bifurcação (fork) e Nó de União (join): Simboliza paralelismo. O nó de bifurcação abre uma série de fluxos de controle que são executados paralelamente. Já o nó de união indica a união de fluxos de controle paralelos, finalizando o paralelismo. Ambos os nós são indicados por uma barra. 
Merge: Indica uma união de vários fluxos de controle, com uma só saída do fluxo de controle. É indicada por meio de um losango recebendo os fluxos a serem unidos e servindo de ponto de partida do fluxo seguinte. 
Raias: Dividem o fluxo entre os atores que interagem com as ações do diagrama, podendo estar na horizontal ou na vertical. 
Exemplo de Diagrama de cadastro de uma locação:
Atores: O funcionário que realiza o cadastro e o sistema que processa as informações dadas. Tendo as atividades divididas em duas raias, sendo que cada uma representa um ator. Veja abaixo o diagrama:

Outros materiais