Engenharia de Software
Escrita de Programas
Departamento de Matemática
Universidade dos Açores
Hélia Guerra
helia@uac.pt
Normas e procedimentos de programação
Normas para quem faz
Métodos para documentar o código
Normas para os outros
equipas de teste, de integração, de manutenção
documentação
ferramentas automáticas para identificar
dependências
Correspondência entre os componentes do desenho e
os componentes do código
ligação fraca, coesão elevada, interfaces bem
2
definidas
Orientações
Estruturas de controlo
Facilitam a leitura do código
Constroem programa através de blocos de código
Não generalizar demasiado nem especificar
demasiado
Utilizar nomes de parâmetros nos comentários para
mostrar a coesão entre os componentes
Tornar visível a dependência entre componentes
3
orientações
Algoritmos
A eficiência da implementação é um aspecto
importante
A eficiência pode ter custos escondidos
tempo de escrita
tempo de testes
tempo para os outros entenderem
tempo para modificar
Não sacrificar clareza e correcção
por eficiência
4
Orientações
estruturas de dados
Os dados devem ser estruturados e guardados de
forma a facilitar a sua gestão
Deve-se manter o programa simples
Usar uma estrutura de dados para definir a
estrutura do programa
5
Estrutura de dados recursiva
6
orientações
preservação da qualidade
Localização do input e do output
Utilizar pseudocódigo
Rever e reescrever. Não remendar! Refactorizar!
Reutilizar
(Produtor) Criar componentes para serem
reutilizadas no futuro
(Consumidor) Reutilizar componentes previamente
definidos
7
Reutilização consumidor
Carcterísticas a verificar dos componentes que vão ser
reutilizados
é adequado ao que se pretende?
se for necessário efectuar alterações, é mais simples
fazê-las ou alterar o desenho?
está bem documentado?
tem relatório de testes efectuados e histórico de
revisões?
8
Produção de componente para
reutilizar
Aspectos a ter em conta
desenvolver componentes genéricas, usando
parâmetros e antecipando condições em que eles
poderão ser utilizado
separar dependência de modo a isolar as secções
que sofrem alterações das que se mantém
manter a interface genérica e bem definida
Incluir informação sobre faltas encontradas e
corrigidas
usar nomes sugestivos de acordo com as normas
documentar as estruturas de dados e os algoritmos
manter separadas as secções de comunicação e de
suporte de erros
9
Documentação
Documentação interna
Bloco de comentários no cabeçalho do componente
Variáveis explicativas
Outros comentários
Indentar
Documentar dados (dicionário de dados)
Documentação externa
descrição do problema
descrição do algoritmo
descrição dos dados
10
comentários de cabeçalho de componente
Nome do componente
Autor
Onde se aplica no desenho do sistema
Quando é que foi escrita e revista
Para que serve
Como utiliza as suas estruturas de dados, algoritmos e
controlo
11
programação
Para encontrar uma boa solução [Polya, 1957]
perceber o problema
estabelecer um plano
seguir o plano
rever o que foi feito
12
Resumo
Aspectos a ter em conta na escrita do código
orientações e normas da empresa
reutilização de código de outros projectos
escrita de código, tendo em vista futura reutilização
utilizar o desenho de baixo nível como framework
inicial, depois iterar do desenho para o código
13
Download

pdf-2p - Hélia Guerra - Universidade dos Açores