Engenharia de Software UML Unified Modeling Language
UML - INTRODUÇÃO UML é um acrônimo para a expressão Linguagem de Modelagem Unificada. Pela definição de seu nome, vemos que a UML é uma linguagem que define uma série de artefatos que nos ajuda na tarefa de modelar e documentar os sistemas orientados a objetos que desenvolvemos.
UML - INTRODUÇÃO Desenhe uma casa...
UML - INTRODUÇÃO Desenhos diferentes mas todos representando o mesmo contexto. Com um padrão é possível modelar melhor o que foi solicitado.
UML - INTRODUÇÃO A modelagem existe para compreender diversos projetos em várias áreas, como construção civil, trabalhos acadêmicos, sistemas de software, etc. Quanto maior é a complexidade do produto a ser entregue, maior a necessidade de boas técnicas de modelagem, com um conjunto de visões suficientes para garantir sua compreensão.
UML - INTRODUÇÃO Na área do desenvolvimento de sistemas não podia ser diferente: a linguagem de modelagem unificada (UML) surgiu para resolver o problema de modelagem de software, composta por muitos elementos de modelo que representam as diferentes partes de um sistema de software.
UML - INTRODUÇÃO UML é uma linguagem gráfica para especificação, construção, visualização e documentação de artefatos de um sistema de software intensivo.
Categorias da UML
UML - CATEGORIAS Então de acordo com informações da uml.org, a UML se divide em três categorias: Diagramas de estrutura: incluem o diagrama de classes, diagrama de objetos, diagrama de componentes, diagrama de estrutura composta, diagrama de pacote e o diagrama de implantação; Diagramas de comportamento: composto pelo diagrama de casos de uso, diagrama de atividades e diagramas de máquina de estado; Diagrama de integrac a o: todos derivados do diagrama de comportamento, incluem diagrama de sequência, diagrama de comunicação e diagrama de tempo.
UML - CATEGORIAS Mas, por que diversos diagramas? O objetivo e fornecer mu ltiplas viso es do sistema a ser modelado, analisando-o e modelando-o sob diversos aspectos, procurando, assim, atingir a completitude da modelagem, permitindo que um diagrama complemente os outros (GUEDES, 2011).
Diagrama de Caso de Uso
Objetivo O Diagrama de Casos de Uso tem o objetivo de auxiliar a comunicação entre os analistas e o cliente. Um diagrama de Caso de Uso descreve um cenário que mostra as funcionalidades do sistema do ponto de vista do usuário. O cliente deve ver no diagrama de Casos de Uso as principais funcionalidades de seu sistema.
Os casos de uso: Descrevem como os usuários interagem com o sistema (as funcionalidades do sistema); Dão uma visão externa do sistema; O conjunto de casos de uso deve ser capaz de comunicar a funcionalidade e o comportamento do sistema para o cliente; Descrevem o que o sistema faz, mas NÃO especificam como isso deve ser feito.
Notação O diagrama de Caso de Uso e representado por: 1.Atores; 2.Casos de uso; 3.Relacionamentos entre estes elementos.
1. Atores Um ator e representado por um boneco e um rótulo com o nome do ator. Exemplo: Gerente Um ator e um usuário do sistema, que pode ser um usuário humano ou um outro sistema computacional.
2. Caso de uso Caso de Uso Exemplo: Consultar Estoque U m c a s o d e u s o e representado por uma elipse e um rótulo com o nome do caso de uso. Um caso de uso define uma grande função do sistema.
3. Relacionamentos Ajudam a descrever casos de uso. Principais tipos de relacionamentos: Associação Generalização Inclusão Extensão
3. Relacionamentos Associação: Demonstra que o Ator utiliza a função do sistema representada pelo Caso de Uso Requisitando a execução da função Recebendo o resultado produzido pela função Representada por uma reta ligando o Ator ao Caso de Uso Direcionada ou não
3. Relacionamentos Especialização / Generalização: Acontece quando dois ou mais casos de uso possuem características semelhantes. Foco em reutilização O Caso de Uso geral descreve as características compartilhadas; As especializaço es definem características específicas.
3. Relacionamentos Inclusão (Include): Utilizado quando um caso de uso e usado dentro de outro caso de uso. Os relacionamentos de inclusão indicam obrigatoriedade; A execução do primeiro obriga a execução do segundo; Representada por uma seta tracejada a seta aponta para o Caso de Uso incluído.
3. Relacionamentos Extensão de Caso de Uso: Geralmente usado em funcionalidades opcionais de um caso de uso. Exemplo: cenários que somente acontecerão em uma situação específica; Se uma determinada situação for satisfeita. Extensão pode necessitar um teste para determinar se o caso de uso será estendido.
Exercícios
Para abordar o conceito de Linguagem de Modelagem Unificada (UML), seus diagramas, como fazer, onde utilizar, usaremos a ferramenta CASE, que e específica para modelar o sistema, simulando seu funcionamento graficamente. Em nossa aula vamos utilizar a ferramenta ASTAH, para representar o funcionamento de sistemas. Site: http://astah.net/editions/community
Exemplo 1: Loja de CDs Passo 1: Identificando os atores Uma loja de CDs possui discos para venda. Um cliente pode comprar uma quantidade ilimitada de discos para isto ele deve se dirigir à loja. A loja possui um atendente cuja função e atender os clientes durante a venda dos discos. A loja tambe m possui um gerente cuja função e administrar o estoque para que não faltem discos. Ale m disso e ele quem dá folga ao atendente, ou seja, ele tambe m atende os clientes durante a venda dos discos.
Exemplo 1: Loja de CDs Passo 1: Identificando os atores Uma loja de CDs possui discos para venda. Um cliente pode comprar uma quantidade ilimitada de discos para isto ele deve se dirigir à loja. A loja possui um atendente cuja função e atender os clientes durante a venda dos discos. A loja tambe m possui um gerente cuja função e administrar o estoque para que não faltem discos. Ale m disso e ele quem dá folga ao atendente, ou seja, ele tambe m atende os clientes durante a venda dos discos. E o cliente? Não e ator pois ele não interage com o sistema!
Exemplo 1: Loja de CDs Passo 2: Identificando os casos de uso Uma loja de CDs possui discos para venda. Um cliente pode comprar uma quantidade ilimitada de discos para isto ele deve se dirigir à loja. A loja possui um atendente cuja função e atender os clientes durante a venda dos discos. A loja tambe m possui um gerente cuja função e administrar o estoque para que não faltem discos. Ale m disso e ele quem dá folga ao atendente, ou seja, ele tambe m atende os clientes durante a venda dos discos.
Exemplo 1: Loja de CDs Passo 2: Identificando os casos de uso Uma loja de CDs possui discos para venda. Um cliente pode comprar uma quantidade ilimitada de discos para isto ele deve se dirigir à loja. A loja possui um atendente cuja função e atender os clientes durante a venda dos discos. A loja tambe m possui um gerente cuja função e administrar o estoque para que não faltem discos. Ale m disso e ele quem dá folga ao atendente, ou seja, ele tambe m atende os clientes durante a venda dos discos.
Exemplo 1: Loja de CDs Passo 2: Identificando os relacionamentos
Exemplo 1: Loja de CDs Relacionamento de generalização Generalização de atores Quando dois ou mais atores podem se comunicar com o mesmo conjunto de casos de uso Um filho (herdeiro) pode se comunicar com todos os casos de uso que seu pai se comunica. Dica: coloque os herdeiros embaixo
Exemplo 1: Loja de CDs Relacionamento de generalização
Exemplo 1: Loja de CDs Novos requisitos: As vendas podem ser à vista ou a prazo. Em ambos os casos o estoque e atualizado e uma nota fiscal, entregue ao consumidor.
Exemplo 1: Loja de CDs Novos requisitos: As vendas podem ser à vista ou a prazo. Em ambos os casos o estoque e atualizado e uma nota fiscal, entregue ao consumidor. Identificando generalização de casos de uso
Exemplo 1: Loja de CDs Novos requisitos: No caso de uma venda à vista, clientes cadastrados na loja e que compram mais de 5 CDs de uma só vez ganham um desconto de 1% para cada ano de cadastro. No caso de uma venda a prazo, os clientes com mais de 10 anos de cadastro na loja ganham o mesmo desconto das compras a vista.
Exemplo 1: Loja de CDs No caso de uma venda à vista, clientes cadastrados na loja e que compram mais de 5 CDs de uma só vez ganham um desconto de 1% para cada ano de cadastro. No caso de uma venda a prazo, os clientes com mais de 10 anos de cadastro na loja ganham o mesmo desconto das compras a vista. Identificando dependência: extensão
Exemplo 1: Loja de CDs Novos requisitos: Para efetuar vendas ou administrar estoque, atendentes e gerentes terão que validar suas respectivas senhas de acesso ao sistema.
Exemplo 1: Loja de CDs Novos requisitos: Para efetuar vendas ou administrar estoque, atendentes e gerentes terão que validar suas respectivas senhas de acesso ao sistema. Identificando dependência: inclusão
Exemplo 1: Loja de CDs No caso de uma venda à vista, clientes cadastrados na loja e que compram mais de 5 CDs de uma só vez ganham um desconto de 1% para cada ano de cadastro. No caso de uma venda a prazo, os clientes com mais de 10 anos de cadastro na loja ganham o mesmo desconto das compras a vista. Identificando dependência: extensão
Exercícios
Exemplo 2: Sistema de Controle Acadêmico 1 Levantamento dos Atores O sistema de controle acadêmico considerado neste exemplo sera utilizado na secretaria de um determinado curso. No que diz respeito aos indivíduos envolvidos, somente o pessoal da secretaria tera acesso ao sistema. Entre as pessoas que atuam na secretaria e poderiam utilizar o sistema estão o chefe da secretária, a secretária, alguns professores e alguns estagiários. Na verdade, apesar de se tratarem de indivíduos diferentes, quando utilizando o sistema todos utilizarão o sistema da mesma forma e as mesmas funcionalidades.
Exemplo 2: Sistema de Controle Acadêmico Fase 2 : Levantamento dos Casos de Uso Principais: Nesta fase busca-se definir a lista dos grandes serviços que o sistema devera oferecer. O levantamento dos casos de uso corresponde a uma análise de requisitos e deve ser desenvolvido a partir de informaço es coletadas dos clientes. Atrave s de questionários e reunio es com os clientes procura-se definir quais são as aplicaço es ou usos desejados para o sistema a ser desenvolvido. Para o sistema de controle acadêmico considera-se que os clientes (usuários, professores e administração da escola) desejam que o sistema ofereça os seguintes serviços :
Exemplo 2: Sistema de Controle Acadêmico Fase 2 : Levantamento dos Casos de Uso Principais: possibilidade de cadastramento de todos os alunos matriculados no curso. Isto implica um serviço para inclusão de novos alunos e para manutenção da base de dados dos alunos. possibilidade de cadastramento de todos os professores que ministram disciplinas no curso. Isto implica um serviço para inclusão de novos professores e para manutenção da base de dados de professores. possibilidade de registro das disciplinas oferecidas no curso incluindo o registro de novas disciplinas e a manutenção da base de dados de disciplinas. possibilidade de registro da matrícula de alunos em disciplinas a cada semestre.
Exemplo 2: Sistema de Controle Acadêmico Fase 2 : Levantamento dos Casos de Uso Principais: possibilidade de emissão da confirmação de matrícula para cada aluno contendo a lista de disciplinas nas quais um aluno se matriculou para aquele semestre. possibilidade de emissão do diário de classe para cada disciplina contendo a lista de alunos matriculados naquele semestre. possibilidade de lançamento das notas obtidas pelos alunos em cada disciplina ao final de cada semestre. possibilidade de emissão do histórico escolar para cada aluno contendo a lista de disciplinas cursadas e respectivas notas.
Exemplo 2: Sistema de Controle Acadêmico Fase 3 : Definição dos Relacionamentos