Engenharia de Software: Do Conceito à Manutenção
Classificado em Computação
Escrito em em português com um tamanho de 3,45 KB.
Custo da Mudança
Planos estratégicos e racionais de desenvolvimento baseiam-se no custo total do sistema, não apenas nos custos de desenvolvimento.
ENGENHARIA DE SISTEMAS
Software faz parte de um sistema amplo.
Envolve a coleta de requisitos em nível do sistema, com uma pequena quantidade de projeto e análise de alto nível.
ANÁLISE DE REQUISITOS DE SOFTWARE
É o primeiro passo técnico do processo de engenharia de software.
O processo de coleta dos requisitos é intensificado e concentrado especificamente no software.
Análise de Requisitos
O analista deve compreender o domínio da informação, a função, desempenho e interfaces exigidos.
Os requisitos são documentados e revistos com o cliente.
MANUTENÇÃO
Provavelmente o software deverá sofrer mudanças depois que for entregue ao cliente.
Ocorre devido a erros encontrados, adaptações devido a mudanças (SO ou periférico) ou por acréscimos funcionais solicitados pelo cliente.
Engenharia Progressiva x Engenharia Reversa
Engenharia Progressiva: Processo tradicional de engenharia de software, caracterizado pelas atividades progressivas do ciclo de vida, que partem de um alto nível de abstração, para um baixo nível de abstração.
Engenharia Reversa: O processo inverso à Engenharia Progressiva, caracterizado pelas atividades retroativas do ciclo de vida, que partem de um baixo nível de abstração para um alto nível de abstração.
Qualidade de Software
É definida como a conformidade a requisitos funcionais e de desempenho explicitamente declarados, a padrões de desenvolvimento claramente documentados e a características implícitas que são esperadas de todo software.
Recursos Humanos
Projetos Pequenos: uma única pessoa
Projetos Grandes: participação varia através do ciclo de vida
A comunicação é absolutamente essencial para o desenvolvimento do software. Todo novo caminho de comunicação exige esforço adicional e, portanto, tempo adicional.
MÉTRICAS ORIENTADAS AO TAMANHO
São derivadas de medidas diretas do software e do processo através do qual ele é desenvolvido.
Exemplos: LOC - Lines of Code, KLOC - Thousand Lines of Code
VANTAGENS:
- Fáceis de serem obtidas
- Vários modelos de estimativa baseados em LOC ou KLOC
DESVANTAGENS:
- LOC depende da linguagem de programação
- Penalizam programas bem projetados, mas pequenos
- Não se adaptam às linguagens não procedimentais
- Difícil de obter em fase de planejamento
MÉTRICAS ORIENTADAS À FUNÇÃO
São derivadas de medidas indiretas do software e do processo através do qual ele é desenvolvido.
Exemplo: PF - Pontos por Função
Concentra-se na funcionalidade ou utilidade do software.
Os PFs são derivados usando uma relação empírica baseada em medidas do domínio de informação e da complexidade do software.
VANTAGENS:
- Independentes da linguagem
- Ideal para aplicações que usam linguagem não procedimental
- Baseados em dados mais fáceis de serem conhecidos durante a evolução do projeto
DESVANTAGENS:
- Cálculo baseado em dados subjetivos
- Não é uma medida direta; é apenas um número