Conceitos Essenciais de Engenharia de Software
Classificado em Tecnologia
Escrito em em português com um tamanho de 4,03 KB
Engenharia de Software: Conceitos Fundamentais
A Engenharia de Software (ES) é o conjunto total de atividades necessárias para transformar os requisitos de um usuário em software.
Processos de Engenharia de Software
Especificação de Software
Clientes e engenheiros definem o software a ser produzido e as restrições para a sua operação.
Desenvolvimento de Software
O software é projetado e programado.
Validação de Software
O software é verificado para garantir que é o que o cliente deseja.
Evolução de Software
O software é modificado para se adaptar às mudanças dos requisitos do cliente e do mercado.
Requisito de Software
Requisitos de software são propriedades desejáveis para um sistema de software. Esses requisitos refletem as necessidades dos clientes de um sistema que ajuda a resolver algum problema. O processo de descobrir, analisar, documentar e verificar também fazem parte do conceito de ‘requisito de software’.
Modelos de Desenvolvimento
Modelo Incremental
O modelo incremental combina elementos do modelo cascata, sendo aplicado de maneira iterativa. O modelo de processo incremental é iterativo, assim como a prototipagem, mas, diferente da prototipagem, o incremental tem como objetivo apresentar um produto operacional a cada incremento realizado.
Modelo Espiral
O modelo espiral combina a iteratividade da prototipagem com os aspectos controlados e sistemáticos do modelo sequencial linear e considera a perspectiva da análise de risco.
Etapas do Modelo Cascata
Requisitos
Gera documentos de especificação do sistema que servem de base para orçamento, cronograma, etc.
Análise
Compreensão clara e precisa do domínio do problema e das funcionalidades do software.
Projeto
Definição das estruturas de dados, arquitetura do software, procedimentos e interfaces.
Codificação
Tradução do projeto para uma linguagem legível para a máquina.
Teste
Visa garantir que a entrada do programa produz o resultado esperado.
Manutenção
Analisar problemas de desempenho, ocorrências de erros, etc.
Integração Contínua
A Integração Contínua é um processo que se integra às práticas de desenvolvimento ágil e visa manter a qualidade no desenvolvimento de software, diminuindo as falhas. Isso ocorre porque o processo realiza automaticamente diversos testes e builds automatizados do projeto. Caso algo esteja errado ou fora dos padrões pré-estabelecidos (padrões de qualidade), os envolvidos são avisados automaticamente.
Gestor de Projetos
O Gestor de Projetos é responsável por definir o escopo, dar andamento, gerenciar riscos, realocar componentes da equipe, adequar pessoas às responsabilidades e conferir se o orçado está batendo com o planejado.
Cronograma de Projetos
Para criar um cronograma, é necessário identificar atividades, identificar dependências entre as atividades, estimar recursos para atividades, alocar pessoas para atividades e criar diagramas de projetos.
Tipos de Requisitos
Requisitos Funcionais
Declarações de serviços que o sistema deve fornecer, como o sistema deve reagir a entradas específicas e como deve se comportar em determinadas situações.
Requisitos Não Funcionais
Restrições sobre os serviços ou as funções oferecidas pelo sistema. Exemplos: requisitos de confiabilidade, robustez, eficiência.
Requisitos de Usuário
São declarações, em linguagem natural com diagramas, de quais serviços são esperados do sistema e as restrições sob as quais ele deve operar.
Requisitos do Sistema
Define as funções, os serviços e as restrições operacionais do sistema. O documento de requisitos de sistema deve ser preciso.