Você está na página 1de 18

Engenharia de Software

Prof. Victor Sotero

Aula 05 – Processos de Software Cont.


Processo de Desenvolvimento
• É importante definir:
• Quais são as fases que compõem o processo de
desenvolvimento?
• Quais as suas finalidades?
• Qual a ligação entre as fases?
• Documentação e modelos utilizados em cada fase.
Concepção Requisitos Análise Projeto
Manutenção
Codificação Testes Homologação Implantação

Prof. Victor Sotero


Implementação
• Nessa fase escrevemos o código utilizando alguma
linguagem de programação;

• Transformação do desenho em componentes de código;

• O programador deve implementar o que ficou definido na


fase de projeto (desenho);

Prof. Victor Sotero


Implementação - Componentes
• Os componentes de código são:

• Código fonte: conjunto de instruções ligadas a lógica de


programação

• Código objeto: resultado da compilação do código

• Código de máquina: sequência binária, código de baixo nível que


são executados diretamente no processador.

Prof. Victor Sotero


Linguagem de Máquina
• Basicamente são zeros (0) e uns (1);
• O hardware são componentes eletrônicos onde a correte
passa (ou não);
• Essa corrente corresponde ao 0 ou 1;
• Antigamente a programação era difícil por causa disso;
• O binário foi substituído por mnemônicos (registradores de
memórias).

Prof. Victor Sotero


Linguagem de auto nível
• Se aproxima da linguagem humana;

• Não é levado em consideração a arquitetura do:


• Computador
• Processador
• Memória

Prof. Victor Sotero


Conversão de linguagem de alto nível em
linguagem de máquina
• Interpretador
• Traduz o código na medida em que o executa. Tem um
desempenho um pouco menor. Ex.: Javascript, Python, PHP

• Compilador
• Traduz e depois executa. Possui otimização do código. Ex. C++ e
Java (também usa interpretadores).

Prof. Victor Sotero


Boa prática de programação

• Documentar com comentários (sem excesso pra não ficar


confuso);

• Utilizar bons nomes: que sejam autoexplicativos e que


mantenham um padrão.

Prof. Victor Sotero


Programação em Par
• Tecnica utilizada nas metodologias ágeis;
• Dois programadores trabalhando juntos;
• Sugere que todo código seja feito por dois programadores
juntos no mesmo computador e revezando seu uso;
• Basicamente um cria e o outro verifica. Atividade com
alternância nos papéis.

Prof. Victor Sotero


Programação em Par
• Forma eficaz para reduzir bugs;
• As visões complementares de ambos os programadores
reduzem a incidência de erros;
• Ambos conversam a todo momento trocando ideias;
• Essa abordagem explora a diversidade de ideias;
• Essa técnica também reduz o stress uma vez que o
programador passa a ter maior confiança no código.

Prof. Victor Sotero


Processo de Desenvolvimento
• É importante definir:
• Quais são as fases que compõem o processo de
desenvolvimento?
• Quais as suas finalidades?
• Qual a ligação entre as fases?
• Documentação e modelos utilizados em cada fase.
Concepção Requisitos Análise Projeto
Manutenção
Codificação Testes Homologação Implantação

Prof. Victor Sotero


Manutenção
• Basicamente temos duas fases:

• Inicial: quando o sistema é implantado em ambiente do


usuário;

• Final: quando o sistema se torna obsoleto

Prof. Victor Sotero


Manutenção

• A qualidade da manutenção depende da qualidade do


processo de desenvolvimento:
• Documentação atualizada
• Código eficiente

• Um desafio é deixar a documentação atualizada na medida


que as alterações são feitas.

Prof. Victor Sotero


Atividades sobre a manutenção
• Suporte ao usuário:
• Help desk
• Manuais
• Treinamento

• Desenvolvimento:
• Correção de erros (início) e defeitos
• Melhoria de funções existentes e/ou criação de novas funções;

Prof. Victor Sotero


O que pode afetar o custo/tempo da
manutenção
• Complexidade da aplicação
• Rotatividade/disponibilidade de pessoal
• Ambiente que muda constantemente
• Características de hardware
• Qualidade do projeto, de código e da documentação

Prof. Victor Sotero


Manutenção – Observações

• Novas versões tendem a causar instabilidades no ambiente;

• É necessário realizar o mínimo de intervenções possíveis e se


realmente for necessário, fazer isso por demanda;

Prof. Victor Sotero


Documentação de suporte
• Manual do usuário:
• Utilizar linguagem clara
• Mostrar como o usuário deve utilizar as funcionalidades

• Manual introdutório:
• Descreve as funcionalidades do sistema e como as utilizar;
• Descreve também quais os pré-requisitos necessários para operar
o sistema

Prof. Victor Sotero


Documentação de suporte
• Referência básica:
• Documento contendo o resumo das principais
funcionalidades, atalhos e mensagens de erros mais comuns;

• Documentação de software:
• Descreve as partes do código fonte, requisitos e arquitetura
do sistema.

Prof. Victor Sotero

Você também pode gostar