Estándares De Calidad En El Diseño De Algoritmos Y Construcción De Programas
Estándares de Calidad en el Diseño de Algoritmos y Construcción de Programas. Todos los los tipos de s oftware a ser desarrollados desarrollados requieren requieren un control control de calidad, calidad, sea software de sistemas (Son programas que sirven a otros programas en el trabajo trabajo de desarrollo como compiladores, editores, ..), ingeniería y científico (es software que posee un amplio manejo numérico usado en biología, astronomía, CAD, ), computación personal (software comercial de uso local como procesadores de texto, hojas electrónicas, navegadores web, calendarios, agendas, recetarios, ), inteligencia artificial (software de procesamiento especial sistemas expertos, sistemas basados en el conocimiento, algoritmos no numéricos). Hoy dia hay muchos programadores pero no todos desarrollan sus programas con calidad, a este tipo de productos se les llama software basura, algunos ni cuentan con un respaldo del programador, o simplemente simplemente no tiene un soporte de calida d que se adapte al usuario. Por eso se presentan dos de los más valiosos controles de calidad, como son la eficiencia y la eficacia. La ingeniería del software pretende utilizar los recursos computacionales de tal manera que se produzcan soluciones eficientes y eficaces a los problemas informáticos, el éxito de un proy ecto.
Construcción de un programa
El desarrollo de software es un proceso por el cual, dado un problema, se encuentra un programa (o un conjunto de programas) que lo resuelva eficientemente. Análisis del Problema
Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir: Los datos de entrada. Cuál es la información que se desea producir (salida) Los métodos y fór mulas que se necesitan para procesar los datos. Una recomendación muy practica es el que nos pongamos en el lugar de la computadora y analicemos que es lo que necesitamos que nos ordenen y en que secuencia para producir los resultados esperados.
Niveles de construcción de un programa
Programas de bajo nivel:
Son programas que explotan las características propias de la computadora por ejemplo rutinas graficas, graficas, manejos de puertos, interfaces interfaces con el usuario, usuario, etc. Con este tipo de programas no puede seguirse estrictamente las fases del diseño y generalmente son rutinas que deben ser optimizadas, aun s acrificando su claridad (suelen ser rutinas que solo estudiaran especialistas). Programas de alto nivel:
Son programas que entregan resultados independientemente de la maquina. Para construirlos hay que enlazar herramientas ya disponibles. En este tipo de programas conviene seguir estrictamente las fases del diseño y generalmente no deben ser optimizadas, optimizadas, ya que requiere claridad para que las entienda un n o especialista. especialista. Para facilitar el proceso de mantenimiento, hay que evitar mezclar niveles al construir rutinas. Introducción a los estándares de calidad
En algunos momento se definió a la Calidad como: Lo que se hace bien y a la primera, concepto erróneo ya que, no s e puede determinar la calidad de un ser vicio, producto producto o proceso, tomando en cuenta solo el aspecto de desarrollo, olvidando por completo al proceso de depuración que inherentemente involucra una serie de corrección de errores, por lo que, la definición de calidad esta mas allá de la observación de una parte de dicho proceso. La mayoría de los clientes busca calidad al mejor precio, sin embargo, lo que puede ser excelente para algunos, no lo es para otros. Cuando un individuo adquiere un producto o servicio, lo hace para satisfacer una necesidad, pero siempre espera que la nueva adquisición funcione como lo esperado, o al menos como se lo prometieron en el anuncio publicitario. Muchas veces la calidad se paga, justificando
de
esta
forma
el
dicho
de
que
lo
barato
sale
caro.
El significado de calidad puede adquirir múltiples interpretaciones, ya que todo dependerá del nivel de satisfacción o conformidad del cliente. Sin embargo, la calidad es el resultado de un esfuerzo arduo, se trabaja de forma eficaz para poder satisfacer el deseo del consumidor. Dependiendo de la forma en que un producto o servicio sea aceptado o rechazado por los clientes, podremos decir si éste es bueno o malo.
Muchas veces el nivel de calidad se mide de acuerdo a la reacción y preferencias del cliente. Desde el mismo momento en que éste llega al establecimiento establecimiento comercial, sabe exactamente qué va a comprar y dónde ubicarlo, va directo al lugar donde se encuentra el producto de su preferencia. En ocasiones, no encontrará lo que está buscando y por tanto se decidirá por otro producto de mayor o menor precio, sin
embargo, cuando su nivel de preferencia se afinca en una determinada marca, el cliente prefiere seguir buscando en otros establecimientos establecimientos en vez de resolve rse con un producto
sustitutivo.
Forma de trazabilizar un algo ritmo
La traza de un Algoritmo se puede definir como la ejecución manual de forma secuencial de las sentencias que lo componen. componen. Así, la traza del siguiente algoritmo es el valor que van adoptando las variables a medida que se va ejecutando un programa. programa. +-Algoritmo Suma | | Variable entera a,b | | Escribir "Indique el primer sumando" | Leer a | Escribir "Indique el segundo sumando" | Leer b | c=a+b | Escribir "El resultado es: ";c | +-Final +----------------------------+ |TRAZA| +------------+---------------+ | Comentario | Valores | +------------+---------------+ | Leemos a: | a <- 4 | | Leemos b: | b <- 5 |
| Calcula c: | c <- a+b <- 9 | | Escribe c: | c <- 9 | +------------+---------------+ La función principal principal que posee realizar la traza de un algoritmo es la de comprobar que éste funciona correctamente o para realizar la etapa de depuración en la que se intenta corregir errores, simplificar simplificar el algoritmo al máx imo e incrementar su eficacia y velocidad.
Formas
de representar un algoritmo
Pseudocódigo.Pseudocódigo.- Es una técnica para el diseño de programas que permite d efinir las estructuras de datos. Diagrama De Flujo.- Es una técnica que representa de forma grafica los a lgoritmos, aunque su empleo a disminuido disminuido considerablemente considerablemente por l a aparición de los lenguajes de programación. Diagrama N-S.- también conocido como diagrama de Chapín es una técnica de especificación especificación de algoritmos que combina la descripción descripción textual, propia del pseudocódigo, pseudocódigo, con la representa ción gráfica del diagrama de flujo. flujo.
Formas y Técnicas de documentar un algoritmo y un programa
Son comentarios, etiquetas de texto, que facilitan la comprensión del programa Documentación
La documentación del programa es fundamental para diseñadores y usuarios. En pseudocódigo pseudocódigo solo se documentarán los algoritmos internamente, esto es, se efectuarán comentarios de ciertas acciones o grupos de acciones para permitir al diseñador o al equipo del diseño releer el algoritmo con facilidad. Para documentar internamente u n algoritmo en pseudocódigo pseudocódigo se em pleará la doble barra (//) y a continuación continuación el texto o la frase explicativa. Al ejecutar el algoritmo, este texto a la derecha de la // debe ser ignorado, pues no constituye constituye a una a cción algorítmica. Documentar el código de un programa es añadir suficiente suficiente información como para explicar lo que hace, punto por punto, de forma que no sólo los ordenadores sepan qué hacer, sino que además los humanos entiendan qué están haciendo y por qué. Porque entre lo que tiene que hacer un programa y cómo lo hace hay una distancia impresionante: impresionante: todas las horas que el program ador ha dedicado a pergeñar una
solución solución y escribirla en el lenguaje que corresponda para que el ordenador la ejecute ciegamente. Documentar un programa no es sólo un acto de buen hacer del programador por aquello de dejar la obra rem atada. Es además una necesidad que sólo se aprecia en su debida magnitud cuando cuando hay errores que reparar o hay que extender el program a con nuevas capacidades o adaptarlo adaptarlo a un nuevo escen ario. Hay dos reglas que no se deben olvidar nunca: 1. todos los programas tienen errores y descubrirlos sólo es cuestión de tiempo y de que el programa tenga éxito y se utilice frecuentemente 2. todos los programas sufren modificaciones modificaciones a lo l argo de su vida, al menos todos aquellos que tienen éxito Por una u otra razón, todo programa que tenga éxito será modificado modificado en el futuro, bien por el programador original, original, bien por otro programador que le sustituya. Pensando en esta revisión de código es por lo que es importante que el programa se entienda: para poder repararlo y modificarlo.