16
UNIDAD IV ANALISIS DEL PROYECTO DE SOFTWARE Escobar Vega Victor Raúl T- 42

Unidad 4

Embed Size (px)

Citation preview

UNIDAD IVANALISIS DEL PROYECTO DE

SOFTWARE

Escobar Vega Victor Raúl T-42

4.1 MODELADO, ANALISIS, DISEÑO Y DOCUMENTACION4.1.1 MODELADO

El modelado es una actividad de definición formal de aspectos del mundo físico y social que nos rodea con el propósito de entender y comunicar, para lo cual es una actividad de modelado que permite combinar problemas: • Empíricos: especificaciones ligadas al mundo real • Formales: abstracción, estructura y representación del

conocimiento del problema. • De ingeniería: métodos formales de construcción

Tipos de modelado• Lenguaje natural. Muy expresivo y flexible, Pobre al

intentar captar la semántica del modelo, mejor para la toma de requerimientos

• Notación semi formal. Captura estructura y alguna semántica, puede llevar a cabo algún razonamiento, chequeo de consistencia y animación.

• Notación formal. Semántica muy precisa y son muy complejos.

Técnicas de modelado:A) Modelado de empresa Metas y objetivos Estructura organizacional Actividades, procesos y productos Roles y trabajos de agentesB) Modelado de requerimientos funcionales Vistas estructurales (de datos) Vistas de comportamiento Requerimientos de tiempoC) Modelado de requerimientos no funcionales. De productos, de procesos y externos

4.1.2 ANALISIS Provee un marco de trabajo para modelar de forma detallada el sistema como parte de la obtención y análisis de requerimientos : • Aproximación al modelo conceptual orientada en los datos • El diagrama de flujo de datos (DFD) es el elemento más

representativo • Se deben entender los requerimientos necesarios para continuar en

la evolución del sistema. Debilidades :• No provee métodos efectivos para tratar con requerimientos no

funcionales • No ayuda al usuario a decidir el mejor método para cada caso. • Produce demasiada documentación • Modelos muy detallados que son de difícil comprensión por parte

de los usuariosConceptos centrales del Análisis:1. Transformación de datos• Actividades que transforman los datos2. Flujo de datos• Indica el paso de datos de la entrada del mismo hacia la salida• Representa grupos de datos o elementos de datos3. Almacenamiento de datos• Lugar donde se deja información para su uso posterior• Los almacenes de datos son pasivos, no transforman los datos

4.1.3 DISEÑO EN LA INGENIERÍA DEL SOFTWARE

El diseño del software se sitúa en el núcleo técnico del proceso de ingeniería del software y se aplica independientemente del paradigma del desarrollo utilizado. El diseño del software es la primera de las tres actividades técnicas: diseño, codificación y prueba: necesarias para construir y verificar el software. Cada actividad transforma la información de manera que se obtenga finalmente un software valido.

La importancia del diseño del software se puede decir con una sola palabra:calidad. El diseño nos proporciona representaciones del software en las que se pueden valorar la calidad.

I) CONCEPTOS FUNDAMENTALES DEL DISEÑO

a) Abstracción: Cuando consideramos una solución modular para cualquier problema, se puede plantear muchos NIVELES DE

ABSTRACCIÓN. Al NIVEL SUPERIOR DE ABSTRACCIÓN se establece una solución en términos amplios usando el

lenguaje del entorno del problema.b) Refinamiento: Es una estrategia de diseño descendente. c) Modularidad: Es el atributo del software que permite a un

programa sea manejable intelectualmente.d) Concurrencia: Los sistemas concurrentes tienen procesos

independientes que pueden ser actividades en forma simultanea, si existen procesadores múltiples.

e) Verificación: Un diseño es verificable si puede demostrarse que el diseño general del producto que satisface los

requerimientos del cliente. Esto desarrolla comúnmente en dos pasos:

a)Verificación de los requerimientos.b) Verificación del diseño

f) Estética: Se refiere aquellas propiedades que van mas allá de la satisfacción de los requerimientos.

II) EL PROCESO DEL DISEÑOEl diseño del software es un proceso mediante el que se traducen los requisitosen una representación del software. Desde el punto de vista de gestión del proyecto,el diseño del software se realiza en tres pasos:• EL DISEÑO PRELIMINAR: se centra en la transformación

de losrequisitos en los datos y la arquitectura del software.• EL DISEÑO DETALLADO: se ocupa del refinamiento de larepresentación arquitectónica que lleva a una estructura de datosdetallada y las representaciones algorítmicas del software.• DISEÑO DE LA INTERFAZ: establece la disposición y los

mecanismospara la interacción hombre-máquina.

III) DOCUMENTACIÓN DEL DISEÑO. El esquema de documentación presenta una descripción completa del diseño del software y esta formada por varias secciones: A. Ámbito. B. Documentos de referencia. C. Descripción del diseño. D. Módulos, para cada módulo. E. Estructura de archivos y datos globales. F. Referencias cruzadas para los requisitos. G. Provisiones de prueba. H. Empaquetamiento. I. Notas especiales. J. Apéndices.

4.2 CONSTRUCCION, CODIFICACION, PRUEBAS Y EVALUACION,

MANUAL DEL USUARIO Y MANUAL TECNICO

El desarrollo de una visión conceptual de un sistema de programación incluye la determinación del tipo de sistema a desarrollar. Este puede ser un sistema de base de datos, un sistema de graficas, un sistema de telecomunicaciones, un sistema de control de proceso o bien un sistema de procesamiento de datos; igualmente, el sistema puede combinar aspectos de diversos tipos.

4.2.1 CONSTRUCCION DEL SOFTWARE POR PASOS

La construcción del software por pasos es una técnica para descomposición delsoftware mediante sus especificaciones de alto nivel hasta sus niveles másElementales.

4.2.2 CODIFICACION MEDIANTE LOS NIVELES DE ABSTRACCIÓN

Dijkstra describió por primera vez los niveles de abstracción como una técnica de diseño hacia arriba, en la cual un sistema operativo se diseño como una división de niveles jerárquicos, comenzando en el nivel 0 (asignado al procesador, interrupciones de reloj de tiempo real) y subiendo hasta el nivel de procesamiento de programas independientes del usuario.

4.2.3 PRUEBA DEL SOFTWAREEste proceso tiene tres etapas bien definidas:1. Pruebas de desarrollo e ingeniería2. Pruebas de aseguramiento de calidad internas3. Pruebas con usuarios

Organización para la prueba de software.

Una estrategia de prueba del software.

4.2.4 EVALUACION DEL PROYECTO DE SOFTWARE

Prueba de Caja Negra.: Los datos de prueba se escogerán atendiendo a las especificaciones del problema, sin importar los detalles internos del programa, a fin de verificar que el programa corra bien. Con este tipo de pruebas se intenta encontrar:• Funciones incorrectas o ausentes.• Errores de interfaz.• Errores en estructuras de datos o en accesos a la bases de

datos externas• Errores de rendimiento.Prueba de la Caja de Cristal: Principia con la observación de que un programa difícilmente puede considerarse como probado por completo si su código contiene partes que nunca han sido ejecutadas. Prueba de la Caja de Pandora: Consiste en abstenerse de realizarpruebas de depurar bastante bien un proyecto; se deja al cliente que lo ensaye y acepte. Otros tipos de pruebas: 1. Pruebas funcionales.2. Pruebas de desempeño3. Pruebas de tensión4. Pruebas estructurales

4.3 MEDIDA, METRICAS E INDICADORESMEDIDAUna medida proporciona una indicación cuantitativa de la extensión, cantidad, dimensiones, capacidad o tamaño de algunos atributos de un proceso o producto.Hay cuatro razones para medir:• Caracterizar.• Evaluar.• Predecir.• Mejorar.MÉTRICAUna métrica es una medida cuantitativa del grado en que un sistema, componente o proceso posee un atributo dado. Las métricas son el fundamento de los indicadores.INDICADORESUn indicador es una métrica o combinación de métricas que proporcionan una visión profunda el proceso del software, del proyecto de software o del producto en si.

4.4 TIPOS DE METRICAS. METRICAS DE PROCESO, METRICAS DE PROYECTO, METRICAS ORIENTAS A AL PUNTO DE FUNCION.I. Medidas de TamañoII. Long. del Código / Tokens / Long. de especificación y diseñoIII. Medidas de FuncionalidadIV. Medidas de Estructura Lógica:• De Estructura de Código• De Estructura de DiseñoV. Acoplamiento / Cohesión / Flujo de Información Modular

4.4.1 METRICAS EN EL PROCESO Y METRICAS DEL PROYECTOSon una medida cuantitativa que permite a la gente del software tener una visión profunda de la eficacia del proceso del software y de los proyectos que dirigen utilizando el proceso como un marco de trabajoLas métricas del software son analizadas y evaluadas por losadministradores del software. Mediante la medición, se pueden señalar las tendencias(buenas o malas), realizar mejores estimaciones, llevar a cabo una verdaderamejora sobre el tiempo

4.4.2 METRICAS ORIENTAS A AL PUNTO DE FUNCION

Las métricas orientadas a la función fueron propuestas por primera vez por Allan Albretch. Una extensión del punto de función es la llamada puntos decaracterísticas; es una ampliación de la medida del punto de función que se puede aplicar a sistemas y aplicaciones de ingeniería del software. Se determinan cinco características de dominios de información y se proporcionan las cuentas en la posición apropiada de la tabla. Los valores de los dominios de información se definen de la forma siguiente:• Número de entradas de usuario• Número de salidas de usuario• Número de peticiones de usuario• Número de archivos• Número de interfaces externas

4.5 IMPLEMENTACION Y MANTENIMIENTO DEL SOFTWARE

Al hablar de implementación y mantenimiento de software, hablamos de diversos productos como software a la medida, sistema bolsa de trabajo, registro de usuarios, sistema de reservaciones, de gestión, motor bienes raíces, outsourcing programadores, mapas geográficos, servidores, aplicación server provider, Visual Studio, on line, AJAX, SQL server, renta tiendas en línea, administrador de contenidos, carrito de compras, cotizador, inventarios en linea, optimización y posicionamiento web de sitios, portales o páginas en la red.La importancia de la implementación y mantenimiento de software radica en brindarle la capacitación necesaria para el correcto manejo del sistema y por otro lado permite que se cumpla la finalidad de todo programa de software: dejar que el sistema haga todo el trabajo pesado, brindándole el tiempo para trabajar sobre otras áreas de su negocio.

El mantenimiento, por otro lado, es un aspecto necesario porque como todamaquinaria humana requiere de un cuidado y revisión periódica no sólo para sucorrecto funcionamiento sino para ir adaptando al sistema, los cambios yrequerimientos que se puedan ir presentando durante la marcha. Dos característicasprincipales del mantenimiento de Software:1•El mantenimiento del software puede llevar hasta el 70% de todo elesfuerzo gastado por una organización de desarrollo.•El mantenimiento es mas que una “Corrección de errores”Las 4 actividades que se llevan a cabo para describir el mantenimiento de software:1.-Mantenimiento Correctivo2.- Mantenimiento Adaptativo3.-Mantenimiento Perfectivo4.-Ingeniería Inversa o Reingeniería.