Unidad 4 - Análisis del proyecto del software

32
UNIDAD 4 ANÁLISIS DEL PROYECTO DE SOFTWARE

Transcript of Unidad 4 - Análisis del proyecto del software

Page 1: Unidad 4 - Análisis del proyecto del software

UNIDAD 4

ANÁLISIS DEL PROYECTO DE SOFTWARE

Page 2: Unidad 4 - Análisis del proyecto del software

4.1 Modelado: análisis, diseño, documentación

La ingeniería de software comienza con una serie de tareas de modelado que conducen a una especificación de requisitos y a una representación completa del diseño del software que se construirá.

Page 3: Unidad 4 - Análisis del proyecto del software

Análisis

Es la primera representación técnica de un sistema.

Cuando se detecten problemas y fallas en está fase es necesario agregarle los siguientes objetivos:• Los productos del análisis deben tener una elevada facilidad de

mantenimiento.• Los problemas de gran tamaño deben tratarse con un modelo efectivo de

partición.• Deben utilizarse gráficas cuando sea posible.• Diferenciar entre consideraciones lógicas (esenciales) y físicas (de

implementación).

Análisis de requisitos: Genera las especificación de características operacionales de software; indica la interfaz del software con otro elementos del sistema, y establece las restricciones que debe tener el software.

Page 4: Unidad 4 - Análisis del proyecto del software

PUNTO CLAVE

El modelo de análisis y la especificación de requisitos proporciona un medio para evaluar la calidad una vez que el software esté construido.

Page 5: Unidad 4 - Análisis del proyecto del software

DiseñoEl diseño abarca un conjunto de principios, conceptos y prácticas que conducen al desarrollo de un sistema o producto de alta calidad.

En palabras de Mitch Kapor, el diseño “Es el lugar donde una persona se puede parar con un pie en dos mundos –el mundo de la tecnología y el de la gente y los propósitos humanos– e intentar unirlos…”

El diseño crea una representación o modelo del software, pero a diferencia del análisis , el modelo de diseño proporciona detalles acerca de las estructuras de datos, las arquitecturas, las interfaces y los componentes del software que son necesarios para implementar el sistema

Page 6: Unidad 4 - Análisis del proyecto del software

¿Por qué es importante el diseño?

Permite al ingeniero de software modelar el sistema o producto que se va a construir. Este modelo puede evaluarse en relación con su calidad y mejorarse antes de generar código, de realizar pruebas y de que los usuarios finales se vean involucrados a gran escala. El diseño es el sitio en el que se establece la calidad del software

Page 7: Unidad 4 - Análisis del proyecto del software

Documentación

La documentación en un proyecto es muy importante ya que es la única forma tangible de representar al software y su proceso.

Los documentos estandarizados tienen una apariencia, estructura y calidad consistentes y, por lo tanto, son más fáciles de leer y de comprender.

Page 8: Unidad 4 - Análisis del proyecto del software

Existen tres tipos de estándares de documentación:

1. Estándares del proceso de documentación. Definen el proceso a seguir para la producción del documento.

2. Estándares del documento. Gobiernan la estructura y presentación de los documentos.

3. Estándares para el intercambio de documentos. Aseguran que todas las copias electrónicas de los documentos sean compatibles.

Page 9: Unidad 4 - Análisis del proyecto del software

4.2 Construcción: codificación, pruebas y evaluación, manual del

usuario, manual técnico

Construcción:Es la creación detallada de software operativo. 

Los principios fundamentales de la construcción de software son: 

•Minimizar la complejidad •Anticipar los cambios •Pensar en la verificación posterior •Aplicar estándares 

Page 10: Unidad 4 - Análisis del proyecto del software

Codificación

La escritura del código fuente es el principal esfuerzo de construcción de software.

•Aplicar técnicas para crear código fuente comprensible •Manejar condiciones de error •Prevenir brechas de seguridad a nivel de código •Uso eficiente de recursos escasos •Organizar el código fuente •Documentar el código 

Page 11: Unidad 4 - Análisis del proyecto del software

Pruebas y evaluaciónLa prueba del sistema debe centrarse en establecer que el sistema satisface sus requerimientos funcionales y no funcionales, y no se comporta de forma inesperada. Inevitablemente, los defectos en los componentes que no se han detectado durante las primeras etapas de las pruebas se descubren durante las pruebas del sistema.

El proceso de pruebas del software tiene dos objetivos distintos:

1. Para demostrar al desarrollador y al cliente que el software satisface sus requerimientos.

2. Para descubrir defectos en el software en que el comportamiento de éste es incorrecto, no deseable o no cumple su especificación

Page 12: Unidad 4 - Análisis del proyecto del software
Page 13: Unidad 4 - Análisis del proyecto del software

Evaluación

La evaluación de proyectos es "un instrumento o herramienta que genera información, permitiendo emitir un juicio sobre la conveniencia y confiabilidad de la estimación preliminar del beneficio que genera el Proyecto en estudio".

Page 14: Unidad 4 - Análisis del proyecto del software

Manual de usuarioSe trata de una guía que ayuda a entender el funcionamiento de algo. Es un documento de comunicación técnica que busca brindar asistencia a los sujetos que usan un sistema o servicio.

Pasos para elaborar el manual de usuario

1. Portada: De que se trata el documento y ¿quién lo elaboro?2. Introducción: Describe el uso del documento, ¿para qué sirve?

y ¿de qué habla?3. Análisis y requerimientos del sistema (¿qué se ocupa para

poder instalarlo y usarlo?)4. Explicación del funcionamiento: Se debe poner paso a paso y

con pantallas bien explicadas cómo funciona el programa5. Glosario

Page 15: Unidad 4 - Análisis del proyecto del software

Debe ser escrito de tal manera, que cualquier persona pueda entenderlo con la menor dificultad posible.

Es recomendable, detallar todos aquellos pasos que se llevan a cabo para usar el programa.

Especificar los alcances y las limitaciones que tiene el programa.Un buen punto de partida para un manual de usuario, es hacer de cuenta que las personas que lo van a leer no tienen el más mínimo conocimiento sobre computadores.

Page 16: Unidad 4 - Análisis del proyecto del software

Manual Técnico

Este documento contiene toda la información sobre los recursos utilizados por el proyecto, llevan una descripción muy bien detallada sobre las características físicas y técnicas de cada elemento. Por ejemplo: características de procesadores, velocidad, dimensiones del equipo, garantías, soporte, proveedores y equipo adicional.Su extensión depende de la cantidad de recursos y equipo utilizado y generalmente se presenta en forma de fichas técnicas en donde se describe en cada una las características de cada recurso.

Page 17: Unidad 4 - Análisis del proyecto del software

Elaboración del manual técnico

Un manual técnico es aquel que va dirigido a un público con conocimientos técnicos sobre algún área, mientras que, por ejemplo, un manual de usuario va dirigido a un público más general, el cual no necesariamente debe tener conocimientos específicos en el área de interés.

En este caso el manual técnico, debe incluir:

• Paradigma de programación seleccionado y sus beneficios.• Lenguaje de programación seleccionado y sus beneficios

frente a otros lenguajes.• Estandarización de código utilizada.• Diseño del sistema.

Page 18: Unidad 4 - Análisis del proyecto del software

4.3 Medida, métrica e indicador

La medición es un elemento clave en cualquier proceso de ingeniería. Las medidas se emplean para comprender mejor los atributos de los modelos que se crean y evaluar la calidad de los productos de la ingeniería o de los sistemas que se construyen.

Page 19: Unidad 4 - Análisis del proyecto del software

Se debe medir el software para:• Indicar la calidad del producto.• Evaluar la productividad del agente que

desarrolla el producto.• Evaluar los beneficios en términos de

productividad y calidad mediante el uso de nuevos métodos y herramientas de ingeniería de software.

• Establecer una línea de base para la estimación.• Ayudar a justificar el uso de nuevas herramientas

o de formación adicional.

Page 20: Unidad 4 - Análisis del proyecto del software

Métrica

Una métrica de software es cualquier tipo de medida relacionada con un sistema, proceso o documentación de software.

Ejemplo:

Las medidas que se utilizan para calcular el tamaño de un producto en líneas de código, que mide la claridad de un párrafo en un texto; el número de fallos encontrados en un producto software entregado; y el número de personas/día requeridas para desarrollar un componente del sistema.

Page 21: Unidad 4 - Análisis del proyecto del software

AT&T, Hewlett-Packard (HP), y Nokia han introducido programas de métricas que recogen medidas en sus procesos de gestión de calidad. El enfoque fue recoger medidas de los defectos en los programas y en los procesos de verificación y de validación.

Page 22: Unidad 4 - Análisis del proyecto del software

Indicador

Son datos esencialmente cuantitativos, que nos permiten darnos cuanta de cómo se encuentran las cosas en relación con algún aspecto de la realidad que nos interesa conocer.Los Indicadores pueden ser medidas, números, hechos, opiniones o percepciones que señalen condiciones o situaciones específicas.

Page 23: Unidad 4 - Análisis del proyecto del software

4.4. Tipos de métricas

Métricas de proceso

Las métricas del proceso se recopilan en el curso de todos proyectos y durante largos periodos. Su objetivo es proporcionar un conjunto de indicadores de proceso que conduzcan a la mejora de los procesos de software a largo plazo.

Page 24: Unidad 4 - Análisis del proyecto del software

Métricas de proyecto

Las métricas del proyecto permiten que un gestor de proyecto de software: 1) Valore el estado de un proyecto en curso2) Rastree los riesgos potenciales3) Descubra las áreas problema antes de que se vuelvan “críticas”4) Ajuste el flujo de trabajo o las tareas5) Evalúe la habilidad del equipo del proyecto para encontrar la calidad de

los productos de trabajo del software

La finalidad de estas métricas es doble. Primero, se emplean para minimizar el tiempo de desarrollo haciendo los ajustes necesarios para evitar demoras y reducir los problemas y riesgos potenciales. Segundo, se utilizan para valorar la calidad del producto sobre una base actual y,cuando es necesario, modificar el enfoque técnico para mejorar la calidad.

Page 25: Unidad 4 - Análisis del proyecto del software

Métricas orientadas a punto de función

La métrica de punto de función (PF) , se usa de manera efectiva como medio para medir la funcionalidad que entrega un sistema.

El PF se emplea para:1. Estimar el costo o el esfuerzo requerido para diseñar,

codificar y probar el software.2. Predecir el número de errores que se encontraran durante

la prueba.3. Pronosticar el número de componentes, de líneas de código

proyectadas, o ambas, en el sistema implementado.

Page 26: Unidad 4 - Análisis del proyecto del software

Métricas orientadas al tamaño

Estas métricas preceden de la normalización de las medidas de calidad o productividad considerando el tamaño del software que se ha producido.

Las métricas orientadas al tamaño son ampliamente utilizadas, aunque no se aceptan como la mejor forma de medir el proceso del software. La mayor parte de la controversia gira en torno al uso de líneas de código (LDC) como medida clave.

Page 27: Unidad 4 - Análisis del proyecto del software

Si una organización de software mantiene registros simples es factible crear una tabla de medidas orientadas al tamaño, como se muestra en la siguiente figura:

Page 28: Unidad 4 - Análisis del proyecto del software

Métricas para la calidad del software

Un buen ingeniero de software (y los buenos gestores de ingeniería de software) debe medir si se logra la alta calidad.

Aunque existen muchas medidas de la calidad del software, la corrección, la facilidad de mantenimiento, la integridad y la facilidad de uso ofrecen indicadores útiles para el equipo del proyecto.

Page 29: Unidad 4 - Análisis del proyecto del software

• Corrección. Un programa debe operar correctamente o proporcionará poco valor para los usuarios. La corrección es el grado en el que el software desempeña la función para la que fue creado.

• Facilidad de mantenimiento. Es la sencillez con la que un programa puede corregirse si se encuentra un error, adaptarse si su entorno cambia, o mejorar si el cliente desea un cambio en los requisitos.

• Integridad. Mide la habilidad de un sistema para resistir ataques (tanto accidentales como intencionales) a su seguridad.

• Facilidad de uso. Un programa que no es fácil de usar está condenado al fracaso, incluso si las funciones que realiza son valiosas .

Page 30: Unidad 4 - Análisis del proyecto del software

4.5. Implementación y mantenimiento: entrega, retroalimentación del cliente.

Implementación: Es la actividad durante la cual los desarrolladores traducen el diseño a código.

Mantenimiento: Es el proceso de mejora y optimización del software así como también corrección de los defectos.

Page 31: Unidad 4 - Análisis del proyecto del software

Entrega

Proporciona el conjunto de actividades necesarias para llevar a cabo las entregas software y de documentación asociada a un proyecto, desde la formalización de la entrega hasta la revisión y validación de la misma, con la finalidad de homogeneizar todas las entregas software y facilitar su revisión y tratamiento.

Page 32: Unidad 4 - Análisis del proyecto del software

Retroalimentación del cliente

La retroalimentación del cliente es una parte crítica del sistema de gestión de la calidad, y por lo tanto debe recibir una atención adecuada durante una auditoría de tercera parte. La retroalimentación del cliente es uno de los indicadores primarios de desempeño que puede ser utilizado para juzgar la eficacia general del SGC. Por lo tanto, es importante para el auditor verificar que: 

1. Las entradas a este proceso incluya datos relevantes, representativos y confiables. 

2. Estos datos se analicen eficazmente.

3. La salida de este proceso proporcione información útil para la revisión por la dirección y otros procesos del SGC, para aumentar la satisfacción del cliente y llevar hacia la mejora continua.