Vous êtes sur la page 1sur 39

1.

Diseo
2. Codificacin
3. Pruebas
2
Codificar: Definicin
Representaciones de diseo se traducen a un
lenguaje artificial (un lenguaje de
programacin convencional o un lenguaje no
procedimental), dando como resultado unas
instrucciones ejecutables en la computadora.
3
4
Y otros ms.

Lenguajes de programacin
CODIFICACIN Documento de
especificacin de
requerimientos
Documento de diseo
Programa
Generar un cdigo (programa) de alta calidad que
satisfaga al usuario y sea mantenible.
Objetivo:
5
Cules son las
caractersticas de una
buena codificacin ?
6
Cualidades
Documentado: Explicacin detallada de las instrucciones.
Modularidad: Permite la reutilizacin del cdigo.
Legibilidad: Facilidad de comprensin.
Portabilidad: Ejecucin en distintas plataformas.
Mantenible: Bien documentado y legible.
Confiable: Debe ser correcto, robusto y mantenible
7
8



Cules las ms importantes
y por qu ?
La necesidad de confiabilidad es obvia,
como escribir programas confiables :
tcnicas llamadas
Fault avoidance
Fault tolerance

9
Confiabilidad: Fault avoidance
Especificacin precisa (mejor formal).
Ocultamiento de informacin y encapsulacin.
Aplicacin de sucesivas revisiones en PDSW
La adopcin de una filosofa de calidad donde la calidad dirige el
proceso de desarrollo.
La cuidadosa planificacin del sistema de testeo para poner al
descubierto las fallas que e no fueron descubiertas en el proceso de
revisin y asegurar la confiabilidad del sistema.
Definir PDSW y capacitar a los desarrolladores en la aplicacin de estos
procesos.
Evitar al mximo y en lo posible la utilizacin de algunas estructuras
de programacin que son potenciales y generar error.


10
Evitar al mximo y en lo posible la utilizacin de algunas estructuras
de programacin que son potenciales y generar error:
Evitar el excesivo manejo de direcciones de memoria, punteros,
recursin, herencia, paralelismo, numero de puntos flotante,
paralelismo, interrupciones.
Leng. Programacin con tipeo de datos estricto.
Type ColorLuzTrafico is (rojo, amarillo, verde);
Mostrar Color, SgteColor: ColorLuzTrafico;
EstadoAceite, EstadoPuerta, EstadoGasolina: Boolean;
Utilizar lenguajes de programacin de alto nivel.
Nombramiento de variables debe ser significativo.
Manejo de excepciones




Confiabilidad: Fault avoidance
11

Su adopcin ok, si se sigue desde el principio hasta el final del
proyecto de software. No es prctico, ni prudente, imponer un
estndar de codificacin una vez iniciado el trabajo.


Las tcnicas de codificacin incorporan muchos aspectos del desarrollo del software. En general una
tcnica de codificacin no pretende formar un conjunto inflexible de estndares de codificacin.
12
ESTANDARES DE CODIFICACION
Las tcnicas de codificacin estn divididas en
tres secciones:

Nombrado
Documentacin (Comentarios)
Formato

13
TECNICAS DE CODIFICACION
14
Es posible
programar
sin fallas ?
SITUACION ACTUAL DEL DESARROLLO DEL SOFTWARE
Estudios realizados en los ltimos aos indican que:
1 de cada 10 lneas de cdigo que escriben los
programadores, contienen un posible bug o error
potencial.
arreglar errores en las fases posteriores al desarrollo
implicara del orden de entre 5 a 100 veces ms en cuanto
a costes y tiempos.
15


DE QUE TIPO DE ERRORES ESTAMOS HABLANDO?
Los errores que se detectan en el cdigo de
la mayora de las aplicaciones corresponden
a cuatro categoras:

Fiabilidad
Rendimiento y escabilidad
Seguridad
Mantenibilidad

16
17
Es posible
programar
sin fallas ?
18
Base: Cultura de
calidad


UN ENFOQUE DE CALIDAD


PROCESO

MTODOS
HERRAMIENTAS
Sntesis
Cdigo Simple
Fault avoidance
Entienda sin necesidad
de comentarios
Confiable Mantenible
19
Anexo 1: TECNICAS DE CODIFICACION
NOMBRADO

NOMBRADO
Es una de las ayudas ms importantes para entender el
flujo lgico de una aplicacin.
Un nombre debe mas bien expresar el QUE.
Desde el punto de vista de la programacin, un nombre
nico sirve solamente para diferenciar un elemento de
otro. Los nombres expresivos funcionan como ayuda para
el lector, por eso, es lgico dar nombres que sean fciles
de comprender.
21
Se refiere a procedimientos, clases, interfaces y propiedades
Los nombres de todas las estructuras de cdigo deben ser
en espaol.
El nombre de la clase y el archivo fuente deben ser iguales.
En la POO es redundante incluir nombres de clases en el
nombre de las propiedades de clases.
22
Nombres: ESTRUCTURAS
Nombres: VARIABLES
Es recomendado que las variables booleanas
contengan una palabra que describa su estado.
Para variables que aparecen solo en unas cuantas
lineas de cdigo, emplee un nombre descriptivo.
Utilice nombres de variables de una sola letra, como i
j para indices(ciclos for).
23
DOCUMENTACION
(COMENTARIOS)
24
DOCUMENTACIN
Existen dos tipos de documentacin de software:
La documentacin externa, los archivos de ayuda y los
documentos de diseo, se debe mantener fuera del cdigo
fuente.
La documentacin interna, est formada por los comentarios
que los programadores escriben dentro del cdigo fuente
durante la fase de desarrollo.

25
PAUTAS PARA REALIZAR COMENTARIOS

Evite aadir comentarios al final de una lnea de cdigo
Antes de la implementacin, quite todos los comentarios temporales o
innecesarios
Use frases completas cuando escriba comentarios
Evite comentarios inapropiados, como comentarios divertidos al
margen.
Separe los comentarios de sus delimitadores mediante espacios.
Si respeta estas normas, los comentarios sern ms claros y fciles
de localizar.
26
FORMATO

27
FORMATO
El formato hace que la organizacin lgica del cdigo
sea ms clara. Pautas para establecer el formato:

Evite albergar mltiples clases en un solo archivo.
Una clase debe estar definida en orden descendente.

28
PAUTAS PARA ESTABLECER EL FORMATO
Debe haber orden en la secuencia de declaracin de acuerdo
a los modificadores de acceso.
Separe la interfaz de implementacin.
Alinee verticalmente las llaves de apertura y cierre
Utilice espacios antes y despus de los operadores.
Evite comparar variables booleanas contra false o true
29
ADICIONALES

30
30
ADICIONALES
Implemente el patrn de diseo de las
excepciones.
Nunca declare una sentencia catch vaca.
Evite anidar bloques try/catch.
Si relanza una excepcin omita la referencia.
31
Es possible
programar
sin fallas?
32
Anexo 2: Errores en la codificacin

Es posible programar sin fallas?
DE QUE TIPO DE ERRORES ESTAMOS HABLANDO?
Los errores que se detectan en el cdigo de
la mayora de las aplicaciones corresponden
a cuatro categoras:

Fiabilidad
Rendimiento y escabilidad
Seguridad
Mantenibilidad

33
FIABILIDAD
El software lo escriben humanos, y por
tanto tiene errores
John Jacobs


son aquellos que normalmente conocemos
como bug, (errores funcionales, o lo que
es lo mismo, casos de uso mal
interpretados)
34
REDIMIENTO Y ESCABILIDAD
La escabilidad trata sobre la construccion de
carretras mayores, no de coches mas rapidos.
Steve Swarts Las Preguntas son las seguientes:
Son los tiempos de respuestas adecuados?
Se necesitan mquinas ms potentes para
ejecutar la aplicacin de manera correcta?
Ante una mayor carga, la aplicacin responde
adecuadamente? es decir, es escalable la
aplicacin?


35
SEGURIDAD
Lo nico que asusta ms que un
programador con un destornillador o un
ingeniero de hardware con un programa,
es un usuario con un par de alicates y la
contrasea de administrador


Elizabeth Zwicky

36
SEGURIDAD
Los errores de seguridad son ocasionados por uno
o varios de los problemas siguientes:
No validar correctamente la entrada/salida.
No tratar correctamente las sesiones
autenticadas.
No capturar excepciones.

37
MANTENIBILIDAD
Si no merece la pena documentar tu
cdigo, no merece la pena mantenerlo

Nagler
An as, la mantenibilidad no hace solo referencia
al nivel de documentacin, sino que tambin nos
indica la facilidad con la que, nuestra aplicacin,
pueda ser mantenible por terceros en un futuro.
38
EVITAR ERRORES
El primer paso, es conocer los errores que
podemos cometer, luego cmo evitarlos, y
por ltimo comprobar que no los hemos
cometido.
39

Vous aimerez peut-être aussi