O objetivo deste artigo é apresentar a ferramenta Modelo de Caso de Uso, utilizada para a especificação de Requisitos Funcionais em sistemas diversos. Com base no Modelo de Caso de Uso, é apresentada a metodologia de estimativa de tempo e custo de desenvolvimento de software Pontos de Caso de Uso.
Para que serve
O processo de levantamento e análise de requisitos é fundamental para o sucesso de um projeto de desenvolvimento de software. De uma forma geral, é utilizada para que o gerente de projeto e sua equipe possam levantar as estimativas necessárias para definição de custo e cronograma de desenvolvimento.
Em que situação o tema é útil
Este artigo oferece subsídio para equipes de desenvolvimento que estejam protelando adotar Especificação de Casos de Uso como ferramenta para análise de Requisitos Funcionais, ou para aquelas equipes que já utilizam Especificação de Casos de Uso, mas não utilizam algum método de estimativa de custo e cronograma de desenvolvimento de software.
Resumo do DevMan
Um sistema é composto por tarefas a serem desenvolvidas e tarefas que venham suprir as necessidades de um cliente. Como identificar tais tarefas? Como estimar em quanto tempo uma, senão todas, tarefas serão entregues? Através da utilização de Casos de Usos é possível especificar requisitos, que são as tarefas a serem executadas, que um ator define. Esse ator é mais do que nosso cliente, é um conceito que envolve todos envolvidos na tarefa especificada. Neste artigo veremos como aplicar a técnica de Análise de Ponto de Casos de Uso para estimar o custo/prazo de um determinado caso de uso. Vamos conhecer os cálculos de apoio e variáveis envolvidas. A estimativa de prazo é um passo importante no desenvolvimento de software, pois só conseguimos gerenciar aquilo que é mensurado.
A fase de Levantamento e Análise de Requisitos pode ser considerada como sendo a pedra angular do processo de desenvolvimento de software, dada sua relevância, enquanto subsídio para as demais fases relacionadas às tarefas específicas de desenvolvimento (Análise e Design, Implementação, Teste, e principalmente Gerência de Projetos).
O processo de Levantamento e Análise de Requisitos tem como principais objetivos:
• Oferecer aos desenvolvedores do sistema uma melhor compreensão das necessidades dos Stakeholders;
• Definir os limites do sistema (escopo do sistema);
• Fornecer uma base para planejar o conteúdo técnico das etapas de desenvolvimento;
• Fornecer uma base para estimar o custo e o tempo de desenvolvimento do sistema;
• Definir uma interface de usuário para o sistema, focando nas necessidades e metas dos usuários;
• Estabelecer e manter concordância com os clientes e outros Stakeholders sobre o que o sistema deve fazer.
Para atingir essas metas, é importante, antes de tudo, entender a definição e o escopo do problema a resolver com a solução a ser proposta. Os Stakeholders são identificados e os Requisitos dos Stakeholders são identificados, reunidos e analisados.
Stakeholders são todos os envolvidos diretamente com o projeto, considerando aí desde os usuários finais até os responsáveis por aprovar ou não o desenvolvimento do projeto. Alguns autores incluem ainda como Stakeholders todas as pessoas envolvidas diretamente com a equipe de desenvolvimento.
Os requisitos de um sistema podem ser classificados como Funcionais e Não Funcionais. Requisitos Funcionais são aqueles que descrevem o comportamento do sistema e como o mesmo interage com os usuários ou mesmo com outros sistemas. Os Requisitos Não Funcionais são aqueles que descrevem as demais restrições do sistema a ser desenvolvido. De forma geral, podemos classificar os requisitos pelas seguintes categorias:t
Uma das ferramentas mais utilizadas hoje para especificar os Requisitos Funcionais de um sistema é o Modelo de Caso de Uso. Um Modelo de Caso de Uso é composto por dois tipos de documentos: o Diagrama de Caso de Uso e as Especificações de Caso de Uso.
O propósito principal desse artigo é apresentar os principais conceitos da especificação de requisitos com Casos de Uso e o uso de métricas de estimativa de projetos através de Análise de Pontos de Caso de Uso (Use Case Points – UCP).
Modelo de Caso de Uso
Um Caso de Uso define uma sequência de ações que uma funcionalidade do sistema desempenha, produzindo um resultado de valor observável e significativo para um Ator. Um Ator representa um usuário ou outro sistema que interage com o sistema em questão.
A especificação de requisitos com Casos de Uso muda o foco do processo de análise da função do sistema para a importância que o sistema tem para cada um dos Stakeholders envolvidos com o processo de desenvolvimento do software, representando o comportamento do sistema sem se preocupar com detalhes de implementação.
Cada Caso de Uso representa uma unidade coerente de uma funcionalidade provida por um sistema, descrevendo sequências de ações que o sistema realiza para apresentar um resultado de valor para um ator. Um Caso de Uso modela o diálogo entre o sistema e um ator em particular, descrevendo um fluxo de eventos completo e significativo do ponto de vista do ator. Contextualiza os requisitos encontrados disponibilizando os requisitos funcionais em sequências lógicas, ilustrando a real necessidade do sistema, além de ajudar a equipe de desenvolvimento e os Stakeholders a definir se todos os Requisitos Funcionais foram identificados e corretamente especificados.
Em geral, a especificação de um Caso de Uso deve ser de fácil compreensão por não utilizar terminologias tecnicistas, aplicando um linguajar que os Stakeholders compreendam e que esteja devidamente relacionado com o processo de negócio analisado. Uma especificação de Caso de Uso conta uma história concreta, representando um diálogo entre o sistema e o usuário final.
Identificando Atores e Casos de Uso
A correta definição e especificação dos casos de uso é de extrema importância para todo o projeto de desenvolvimento de software. A especificação dos requisitos (funcionais e não funcionais) está diretamente relacionada a todas as demais atividades do processo de desenvolvimento de software.
Observe na Tabela 1 como que os artefatos de requisitos estão vinculados às demais atividades de desenvolvimento de software.
Etapas do Ciclo de Vida |
Relacionamento |
Arquitetura |
As atividades de requisitos oferecem como resultados artefatos que servem de subsídio para a especificação inicial da Arquitetura do sistema, bem como, para o refino e implementação da Arquitetura proposta; |
... |
Confira outros conteúdos:
Teste unitário com NUnit
Como migrar projetos do ASP.NET MVC...
Crie relatórios com o Stimulsoft...
Promoção de Natal
Oferta exclusiva de Natal!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 59,90
Total: R$ 718,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$ 59,90 /mês
Total: R$ 718,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.