Unidad Nº 2 Estandares de Calidad en El Diseño de Algoritmos y Construccion de Programas

download Unidad Nº 2 Estandares de Calidad en El Diseño de Algoritmos y Construccion de Programas

of 4

Transcript of Unidad Nº 2 Estandares de Calidad en El Diseño de Algoritmos y Construccion de Programas

  • 7/24/2019 Unidad N 2 Estandares de Calidad en El Diseo de Algoritmos y Construccion de Programas

    1/4

    UNIDAD N 2 ESTANDARES DE CALIDAD EN EL DISEO DE ALGORITMOS Y CONSTRUCCION DE

    PROGRAMAS

    Introduccin a los estndares de calidad.

    Formas y tcnicas de documentar algoritmos y programas.

    DESARROLLO:

    -Introduccin de estndares de calidad:

    Calidad trmino utilizado que ha adquirido gran relevancia con el paso del tiempo, considerada

    como uno de los principales activos con los que se cuenta un desarrollador para mejorar su

    posicin competitiva global.

    Conseguir calidad en el software es esencial, de manera que se utilicen modelos y mtodos

    apropiados para controlar el proceso de desarrollo. Todo tipo de Software, requiere que los

    analistas, diseadores y desarrolladores apliquen caractersticas y elementos de calidad para

    lograr productos que se adapten a las necesidades de los usuarios, el uso eficiente y eficaz delos recursos informticos debe involucrar elementos que produzcan soluciones como la

    planeacin, la administracin, y la utilizacin de mtodos que permitan un software de calidad.

    Mediante la planeacin se determinan los recursos necesarios para el desarrollo de un proyecto,

    la factibilidad del mismo y el tiempo estimado de desarrollo; a travs de la administracin se

    controla, evala y corrige la direccin de acuerdo a la contingencias y dems elementos que van

    presentndose durante su desarrollo y mediante una metodologa se busca lograr el acople de

    los participantes y la garanta de una determinada calidad. Para evaluar un software en su

    calidad debe ser eficaz, debe ser amigable, producir resultados confiables, realizar todas las

    operaciones que se requieran ejecutar las operaciones en un tiempo aceptado, ser amigable y

    de fcil uso por el grupo de usuarios a quien est dirigido. Eficiente, en el sentido que su costoen el desarrollo y uso obtengan el mximo beneficio o condiciones aceptables en un tiempo

    establecido tanto para los desarrolladores como las organizaciones involucradas, adems de

    considerar otros aspectos fundamentales como son: solidez, exactitud, completitud,

    mantenibilidad, reutilizabilidad, claridad en la documentacin entre otros. Las influencias sobre

    estndares de calidad se basan sobre las ideas presentadas por Robert Dunn, Philip Crosby y

    Roger S. Pressman, referente a que la calidad del software se toma desde dos puntos de vista:

    la calidad en el proceso de desarrollo y la calidad en el producto final, agrupndose en los

    estndares de confiabilidad, utilizabilidad, mantenibilidad y adaptabilidad segn Pressman la

    calidad del software es la concordancia con los requerimientos funcionales y de rendimiento

    explcitamente establecidos, con los estndares de desarrollo explcitamente documentados ycon las caractersticas implcitas que se espera de todo software desarrollado profesionalmente

    .

  • 7/24/2019 Unidad N 2 Estandares de Calidad en El Diseo de Algoritmos y Construccion de Programas

    2/4

    Confiabilidad: Este trmino es necesario sea separado en varios elementos que permiten darle

    al software el matiz de fiable. Sus componentes son:

    Completitud

    Consistencia

    Precisin

    Solidez

    Simplicidad

    Y Calidad en los procesos de desarrollo

    y Seguridad y Verificabilidad, estas dos ltimas que se determinan con el sistema en uso.

    Exactitud de los procesos y

    Claridad y exactitud de la documentacin

    Completitud Y Eficiencia

    Verificabilidad del software

    y Claridad y amigabilidad de la interfaz

    Usabilidad: Si bien es cierto que la confiabilidad es un factor muy importante en la calidad del

    software tambin lo es el hecho de que es necesario considerar otros factores como los que semencionan en esta seccin puesto que de nada sirve un software que funcione correcta y

    confiablemente si el usuario prefiere no utilizarlo.

    Mantenibilidad: Este aspecto de calidad involucra los elementos que simplifican la labor de

    prevencin, correccin o ampliacin del cdigo del programa. Retomar un cdigo escrito meses

    antes es un trabajo dispendioso y agobiante, en especial cuando las aplicaciones no cuentan con

    la caracterstica a la cual aqu se hace referencia. Se pueden considerar como atributos de este

    aspecto y Exactitud y claridad en la documentacin y Modularidad acoplamiento.

    Facilidad de lectura y Simplicidad Portabilidad: Es la capacidad que posee un sistema de

    informacin que le permite funcionar en diferentes plataformas ya sean hardware o de

    software. A continuacin se describen cada uno de los aspectos de calidad mencionados:

    Calidad en los procesos de desarrollo: Se resume en la frase bien planeado y cuidadosamente

    ejecutado". Este aspecto asegura la confiabilidad, puesto que el plan que se realice para

    desarrollar el sistema, debe incluir pruebas bien seleccionadas que evalen la confiabilidad del

    programa en cualquier situacin.

  • 7/24/2019 Unidad N 2 Estandares de Calidad en El Diseo de Algoritmos y Construccion de Programas

    3/4

    Claridad y amigabilidad de la interfaz: De igual forma la interfaz debe ser clara agradable al

    usuario, las interfaces complejas son causa de la no utilizacin de los sistemas de informacin.

    Claridad y exactitud de la documentacin: Hay que anotar que toda aplicacin requiere de una

    documentacin suficientemente clara con el fin de que cualquier persona con conocimientos

    bsicos en computacin pueda aprender la forma de operacin sin que requiera la asesora de

    los desarrolladores conocedores de la herramienta, a menos que se trate de eventualidades

    donde realmente sea necesario consultar al proveedor.

    Completitud o adecuacin: Se refiere a que los resultados de operaciones sean acordes al

    comportamiento del mundo real desde todos los estados y condiciones permitidos por la

    aplicacin, es decir, el programa debe reflejar la realidad. Un programa es inconsistente si

    presenta respuestas errneas en algunos casos. Una mala especificacin de rangos en un

    dominio sobre los cuales realizan diferentes operaciones matemticas puede llevar a quealgunos

    Clculos se realicen dentro de lmites inapropiados, obtenindose resultados errneos. Otro

    caso de inconsistencia se presenta cuando ocurren eventos que paran abruptamente la

    ejecucin del programa, slo un sistema de calidad podr conservar datos consistentes despus

    de una falla.

    Eficiencia y verificabilidad del software: Otro aspecto que no debe pasar por alto es el de laverificabilidad, puesto que es imprescindible contar con los requerimientos, y sobre todo en

    aquellos sistemas donde se obtengan resultados que no sean visibles.

    Exactitud de los procesos: Un programa no ser utilizado por un usuario si sus resultados no son

    exactos. Tampoco se puede garantizar el uso de un programa que no presta las utilidades que

    el usuario requiere, es decir, que sea incompleto. Adems, un programa ineficiente que no

    cumpla con los Requerimientos de tiempo, memoria o flexibilidad no podr satisfacer las

    expectativas de quienes lo utilizan.

    Robustez o solidez: Se refiere a la capacidad del software de defenderse de las acciones

    anormales que llevan al sistema a un estado no deseado o por lo menos no previsto, causando

    un comportamiento inesperado, indeseado y posiblemente errneo. El software de hoy, debe

    estar en capacidad de analizar los datos que recibe para hacer cumplir requerimientos o

    condiciones del software y enfrentar de la mejor manera los errores cometidos por un usuario

    al utilizar la aplicacin. Es importante resaltar, que la solidez no siempre es generada por la

    digitacin inapropiada del usuario, sino tambin por un mal procesamiento o un mal

    encadenamiento de procesos. El resultado de un proceso, aunque sea correcto, puede estar

    fuera de los lmites permitidos en los parmetros del mdulo que lo recibe y si este mdulo nocontrola los parmetros que le entran caer en un estado inesperado.

  • 7/24/2019 Unidad N 2 Estandares de Calidad en El Diseo de Algoritmos y Construccion de Programas

    4/4

    Seguridad y audibilidad: Son importantes, puesto que un usuario no puede confiar en los datos

    de un sistema que no le ayude a controlar el acceso de personas no autorizadas o a detectar

    errores de operacin en los que se introducen y generan datos errneos. Simplicidad: Promueve

    la utilizacin de estructuras de fcil manipulacin con el fin de evitar que el programador se aleje

    del problema que desea resolver. Adems, se reduce la probabilidad de cometer errores. As

    que, no es aconsejable hacer uso de estructuras complejas a menos que se necesite cumplir conrequerimientos de vital importancia tales como tiempos mximos de proceso u otros similares.

    -Formas y tcnicas de documentar algoritmo y programas:

    Son comentarios, etiquetas de texto, que facilitan la comprensin del programa

    Documentacin

    La documentacin del programa es fundamental para diseadores y usuarios .En pseudocdigo

    solo se documentarn los algoritmos internamente, esto es, se efectuarn comentarios de

    ciertas acciones o grupos de acciones para permitir al diseador o al equipo del diseo releer el

    algoritmo con facilidad. Para documentar internamente un algoritmo en pseudocdigo seemplear la doble barra () y a continuacin el texto o la frase explicativa .Al ejecutar el algoritmo,

    este texto a la derecha de la debe ser ignorado, pues no constituye a una accin algortmica.

    Documentar el cdigo de un programa es aadir suficiente informacin como para explicar lo

    que hace, punto por punto, de forma que no slo los ordenadores sepan qu hacer, sino que

    adems los humanos entiendan qu estn haciendo y por qu. Porque entre lo que tiene que

    hacer un programa y cmo lo hace hay una distancia impresionante: todas las horas que el

    programador ha dedicado a pergear una solucin y escribirla en el lenguaje que corresponda

    para que el ordenador la ejecute ciegamente .Documentar un programa no es slo un acto debuen hacer del programador por aquello de dejar la obra rematada. Es adems una necesidad

    que slo se aprecia en su debida magnitud cuando hay errores que reparar o hay que extender

    el programa con nuevas capacidades o adaptarlo a un nuevo escenario. Hay dos reglas que no

    se deben olvidar nunca:

    Todos los programas tienen errores y descubrirlos slo es cuestin de tiempo y de que el

    programa tenga xito y se utilice frecuentemente

    Todos los programas sufren modificaciones a lo largo de su vida, al menos todos aquellos que

    tienen xito.

    Por una u otra razn, todo programa que tenga xito ser modificado en el futuro, bien por el

    programador original, bien por otro programador que le sustituya. Pensando en esta revisin de

    cdigo es por lo que es importante que el programa se entienda: para poder repararlo y

    modificarlo.