De que se trata o artigo: Apresentação dos conceitos relacionados ao comportamento dinâmico do sistema, aqui representados pelos diagramas de casos de uso, de sequência e de atividades.
Para que serve: Visa mostrar ao leitor os conceitos fundamentais sobre os diagramas de casos de uso, de sequência e de atividades para
que ele possa criar modelos de sistemas usando esses diagramas.
Em que situação o tema é útil: Ao se projetar um software de grande porte, precisamos conhecer a fundo os diagramas UML. Neste artigo,
abordamos os diagramas UML capazes de modelar o comportamento de um sistema.
Resumo DevMan: Neste artigo, aprenderemos os conceitos relacionados aos diagramas de casos de uso, de sequência e de atividades. Veremos como eles podem ser usados no processo de desenvolvimento de software. Os casos de uso são o ponto de partida do processo e representam as funcionalidades do sistema na visão dos atores. Os casos de uso modelam o que o sistema deve fazer. Para criar artefatos que representem como o software deve fazer para alcançar esses objetivos existem os diagramas de sequência e os diagramas de atividade. Os diagramas de sequência modelam a interação entre os objetos de um único caso de uso, enfatizando a ordem em que essas interações ocorrem. Por sua vez, os diagramas de atividades representam a visão de processo de um único caso de uso ou a modelagem da lógica detalhada de uma regra de negócio.
O levantamento de requisitos, possivelmente, é a tarefa mais difícil de todo o processo de desenvolvimento de um software. Em geral, os requisitos são identificados a partir de questionários, entrevistas com os usuários ou ainda análise de documentos usados no sistema corrente, entre outras técnicas. E isto em geral conduz a documentos redigidos pelos engenheiros de software, que descrevem essas funcionalidades. A descrição das funcionalidades comumente é feita em linguagem natural – linguagem usada para escrever este artigo. E não podemos negar que esse tipo de linguagem permite várias interpretações, pois se sabe que escrever algo de maneira que todos entendam o que se está querendo dizer é um grande desafio. Por outro lado, usar desenhos em vez de linguagem natural também pode não ser uma boa solução, visto que um desenho que faz sentido para uma pessoa pode não fazer para outra.
Então, como transformar estes requisitos em um formato que os stakeholders entendam, sem perder detalhes que são importantes para o processo de desenvolvimento? A resposta está nos casos de uso. Os casos de uso são o centro de tudo na UML, o ponto de partida para a criação de um sistema. Este artefato da UML é o primeiro tema a ser exposto nesta matéria.
Em seguida serão estudados os diagramas de sequencia, que fazem parte de um grupo da UML denominado diagramas de interação. Neste grupo estão também os diagramas de comunicação e de tempo. Os diagramas de interação modelam as interações entre as partes – os objetos, modelados no diagrama de classes – que compõem o sistema.
Será estudado mais adiante que os casos de uso modelam o que o sistema deve fazer, mas não especificam como o sistema irá cumprir esses objetivos. Para este fim existem os diagramas de atividade. Tais diagramas normalmente são usados para modelar os processos, e serão detalhados na parte final do artigo.
Diagrama de casos de uso
O diagrama de casos de uso é bastante usado no processo de levantamento de requisitos e análise. À medida que os requisitos são coletados, uma visão geral das funções e características do sistema começa a se materializar. No entanto, é difícil avançar para atividades mais técnicas de engenharia de software até que a equipe de software entenda como essas funções e características serão usadas por diferentes usuários finais.
Segundo McLaughlin, Pollice e West [5], um requisito é uma necessidade única que detalha o que um produto ou serviço em particular deve ser ou fazer. É frequentemente utilizado na engenharia de sistemas ou engenharia de software para identificar os atributos, características ou funcionalidades de um sistema que atendam às necessidades dos usuários.
Para que se consiga um melhor entendimento das necessidades de um software, desenvolvedores e usuários podem criar um conjunto de cenários que identifiquem uma maneira de se usar o sistema a ser construído. Esses cenários, conhecidos como casos de uso, fornecem uma descrição de como o sistema será usado.
Segundo Cockburn [4], um caso de uso se refere a um contrato que descreve o comportamento do sistema sob várias condições em que este responde a uma solicitação de um dos seus interessados. Em essência, um caso de uso conta uma história sobre a maneira como um usuário final interage com o sistema sob um conjunto específico de circunstâncias. A história pode ser um texto narrativo, um delineamento das tarefas e/ou interações ou uma representação em diagrama. Independentemente de sua forma, um caso de uso descreve o sistema do ponto de vista do usuário.
O primeiro passo ao se escrever um caso de uso é definir o conjunto de atores que estarão envolvidos na história. Atores representam papéis que pessoas (ou dispositivos) desempenham quando o sistema está em operação. Definindo mais formalmente, um ator é qualquer coisa que se comunique – ou interaja – com o sistema e que seja externo ao sistema em si. Durante essa interação com o sistema pode-se notar que cada ator tem um ou mais objetivos.
É importante notar que um ator e um usuário final não são necessariamente a mesma entidade. O usuário típico pode desempenhar vários papéis diferentes quando usa um sistema, enquanto o ator representa uma classe de entidades externas que desempenham apenas um papel no contexto do caso de uso. Como exemplo, pense num sistema em que autores de artigos recebam dinheiro pelas suas publicações. Nesse sistema, cada usuário pode ler artigos e/ou submeter artigos para publicação. Com isso, cada usuário pode desempenhar dois papéis distintos (leitor e escritor). Cada um desses papéis é modelado no diagrama de casos de uso como atores distintos, mas que podem representar as ações de um mesmo usuário. Isso evidencia a diferença entre atores e usuários.
...Confira outros conteúdos:
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.