Unidad 4

29
ANALISIS DEL PROYECTO DE SOFTWARE T41 Ingeniaría en software

description

Este documento te ayudara a entender un poco mas analisis de proyecto de software

Transcript of Unidad 4

ANALISIS DEL PROYECTO DE SOFTWARE

ANALISIS DEL PROYECTO DESOFTWARET41Ingeniara en software

4.1.1 MODELADO

El modelado es una actividad de definicin formal de aspectos del mundo fsico ysocial que nos rodea con el propsito de entender y comunicar, para lo cual es unaactividad de modelado que permite combinar problemas: especificaciones ligadas al mundo real abstraccin, estructura y representacin del conocimiento delproblema.mtodos formales de construccinTipos de modelado. Se puede elegir entre una variedad de esquemasconceptuales:1) Muy expresivo y flexible, Pobre al intentar captar lasemntica del modelo, mejor para la toma de requerimientos2) . Captura estructura y alguna semntica, puede llevar acabo algn razonamiento, chequeo de consistencia y animacin.3) Semntica muy precisa y son muy complejos.Tcnicas de modelado:A. Modelado de empresaMetas y objetivosEstructura organizacionalActividades, procesos y productosRoles y trabajos de agentes

B. Modelado de requerimientos funcionalesVistas estructurales (de datos)Vistas de comportamientoRequerimientos de tiempoC. Modelado de requerimientos no funcionales. De productos, de procesos y externos4.1.2 ANALISIS

Consiste en proveer un marco de trabajo para modelar de forma detallada el sistemacomo parte de la obtencin y anlisis de requerimientos (Sommerville): Aproximacin al modelo conceptual orientada en los datos Se deben entender los requerimientos necesarios para continuaren la evolucin del sistema.Sus principales debilidades del anlisis son: No provee mtodos efectivos para tratar con requerimientos nofuncionalesConceptos centrales del Anlisis:1) Transformacin 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 informacin para su uso posterior4.1.3 DISEO EN LA INGENIERA DEL SOFTWAREEl diseo del software se sita en el ncleo tcnico del proceso de ingeniera delsoftware y se aplica independientemente del paradigma del desarrollo utilizado. Eldiseo del software es la primera de las tres actividades tcnicas: Diseo,Codificacin yPruebaEl diseo externo de software requiere de concebir, planear y especificar suscaractersticas de un producto de programacin. Estas caractersticas incluyen ladefinicin de despliegues de pantalla y los formatos de reportes, la definicin de lasentradas y salidas de datos, as como las caractersticas funcionales, losrequerimientos de desempeo y la estructura general del producto.A) CONCEPTOS FUNDAMENTALES DEL DISEOI. Abstraccin. Cuando consideramos una solucin modular para cualquierproblema, se puede plantear muchos NIVELES DE ABSTRACCIN. Al NIVELSUPERIOR DE ABSTRACCIN se establece una solucin en trminos

B) EL PROCESO DEL DISEOEl diseo del software es un proceso mediante el que se traducen los requisitos enuna representacin del software. Desde el punto de vista de gestin del proyecto, eldiseo del software se realiza en tres pasos: EL DISEO PRELIMINAR: se centra en la transformacin de losrequisitos en los datos y la arquitectura del software. EL DISEO DETALLADO: se ocupa del refinamiento de larepresentacin arquitectnica que lleva a una estructura de datosdetallada y las representaciones algortmicas del software. DISEO DE LA INTERFAZ: establece la disposicin y los mecanismospara la interaccin hombre-mquina.C) DOCUMENTACIN DEL DISEOEl esquema de documentacin presenta una descripcin completa del diseo delsoftware y esta formada por varias secciones:A. mbito.B. Documentos de referencia.C. Descripcin del diseo.D. Mdulos, para cada mdulo.E. Estructura de archivos y datos globales.

4.2 CONSTRUCCION, CODIFICACION, PRUEBAS Y EVALUACION,MANUAL DEL USUARIO Y MANUAL TECNICOEl desarrollo de una visin conceptual de un sistema de programacin incluye la determinacin del tipo de sistema a desarrollar. Este puede ser un sistema de basede 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. En cada una de estas aplicaciones existen diversos puntos de vista, as como terminologas, herramientas y notaciones adecuadas para esa clase de aplicaciones4.2.1 CONSTRUCCION DEL SOFTWARE POR PASOSLa construccin del software por pasos es una tcnica para descomposicin del software mediante sus especificaciones de alto nivel hasta sus niveles mselementales; esta tcnica tambin se denomina desarrollo a pasos de un programay refinamiento sucesivo. Inicialmente propuesta por Wirth, esta tcnica requiere delas siguientes actividades:1. Descomposicin en niveles elementales.2. Aislamiento de los aspectos de diseo que no sean totalmenteinterdependientes.3. Proposicin al mximo de las decisiones que conciernen a los detallesde representacin.4. Demostracin cuidadosa de que en cada paso suces4.2.2 CODIFICACION MEDIANTE LOS NIVELES DE ABSTRACCINDijkstra describi por primera vez los niveles de abstraccin como una tcnica dediseo hacia arriba, en la cual un sistema operativo se diseo como una divisin deniveles jerrquicos, comenzando en el nivel 0 (asignado al procesador,interrupciones de reloj de tiempo real) y subiendo hasta el nivel de procesamiento deprogramas independientes del usuario. As mismo se auxilia de la ingeniera desoftware asistida por computadora.4.2.3 PRUEBA DEL SOFTWARESin duda el mercado actual no ha ayudado a mejorar ninguna de las etapas deproduccin de software, debido a la carrera por salir lo antes posible al mercado. Por ejemplo, Windows'98 no poda salir en 1999. Sin duda, la etapa ms perjudicada esla de testeo o prueba del software. Aqu describiremos algunas herramientas que existen hoy para facilitar esta tarea.Un programa no solamente debe estar libre de errores, sino que es igualmente importante que el rendimiento del programa final no sea mayor o menor a lo proyectado originalmente. Escribir un programa que se ejecute como se plane no es una tarea simple. Por lo tanto, el proceso de software incluye verificacin y validacin.4.2.4 EVALUACION DEL PROYECTO DE SOFTWAREA. Prueba de Caja Negra. Los datos de prueba se escogern atendiendoa las especificaciones del problema, sin importar los detalles internos delprograma, 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 datosexternasErrores de rendimiento.. Principia con la observacin de que unprograma difcilmente puede considerarse como probado por completo si sucdigo contiene partes que nunca han sido ejecutadas. Este mtodo analiza laestructura lgica del programa y, para cada alternativa que puedepresentarse, los datos de prueba ideados conducirn a ella. C. Prueba de la Caja de Pandora. Consiste en abstenerse de realizar pruebasde depurar bastante bien un proyecto; se deja al cliente que lo ensaye yacepte. El resultado es una bomba de tiempo.4.3 MEDIDA, METRICAS E INDICADORESa) MEDIDA. Una medida proporciona una indicacin cuantitativa de la extensin, cantidad, dimensiones, capacidad o tamao de algunos atributos de un proceso o producto.Hay cuatro razones para medir: Caracterizar. Evaluar. Predecir. Mejorar.b) MTRICA. Una mtrica es una medida cuantitativa del grado en que un sistema, componente o proceso posee un atributo dado. Las mtricas son el fundamento de los indicadores.c) INDICADORES. Un indicador es una mtrica o combinacin de mtricas que proporcionan una visin profunda el proceso del software, del proyecto de software o del producto en si. Los indicadores del proceso permiten, Al gestor, evaluar lo que funciona y lo que no. Los principales objetivos de los indicadores son:4.4 TIPOS DE METRICAS. METRICAS DE PROCESO, METRICAS DEPROYECTO, METRICAS ORIENTAS A AL PUNTO DE FUNCION.I. Medidas de TamaoII. Long. del Cdigo / Tokens / Long. de especificacin y diseoIII. Medidas de FuncionalidadIV. Medidas de Estructura Lgica: De Estructura de Cdigo

De Estructura de DiseoV. Acoplamiento / Cohesin / Flujo de Informacin Modular4.4.1 METRICAS EN EL PROCESO Y METRICAS DEL PROYECTO1. Qu es? El proceso del software y las mtricas del producto son una medida cuantitativa que permite a la gente del software tener una visin profunda de la eficacia del proceso del software y de los proyectos que dirigen utilizando el proceso como un marco de trabajo.2. Quin lo hace? Las mtricas del software son analizadas y evaluadas por los administradores del software. A menudo las medidas son reunidas por los ingenieros del software.3. Por qu es importante? Si no mides, slo podrs juzgar basndote en una evaluacin subjetiva. Mediante la medicin, se pueden sealar las tendencias (buenas o malas), realizar mejores estimaciones, llevar a cabo una verdadera mejora sobre el tiempo.4. Cules son los pasos? Comenzar definiendo un conjunto limitado de medidas de procesos, proyectos y productos que sean fciles de recoger.5. Cul es el producto obtenido? Es un conjunto de mtricas del software que proporcionan una visin profunda del proceso y de la comprensin del proyecto.6. Cmo puedo estar seguro de que lo he hecho correctamente? Aplicando un plan de medicin sencillo pero consistente.4.4.2 METRICAS ORIENTAS A AL PUNTO DE FUNCIONLa medida de punto de funcin se dise originalmente para aplicarse a aplicacionesde sistemas de informacin de gestin. Para acomodar estas aplicaciones, seenfatiz la dimensin de datos (los valores de dominios de informacin) para laexclusin de dimensiones (control) funcionales y de comportamiento.

Por esta razn, la medida del punto de funcin era inadecuada para muchossistemas de ingeniera y sistemas empotrados (que enfatizan funcin y control). Pararemediar esta situacin se ha propuesto un nmero de extensiones a la mtrica delpunto de funcin bsica. Las mtricas del software orientadas a la funcin utilizanuna medida de la funcionalidad entregada por la aplicacin como un valor denormalizacin. Ya que la funcionalidad, no se puede medir directamente, se debederivar indirectamente mediante otras medidas directas.4.5 IMPLEMENTACION Y MANTENIMIENTO DEL SOFTWARE

Al hablar de implementacin y mantenimiento de software, hablamos de diversos productos como software a la medida, sistema bolsa de trabajo, registro de usuarios, sistema de reservaciones, de gestin, motor bienes races, outsourcing programadores, mapas geogrficos, servidores, aplicacin server provider, Visual Studio, on line, AJAX, SQL server, renta tiendas en lnea, administrador de contenidos, carrito de compras, cotizador, inventarios en linea, optimizacin y posicionamiento web de sitios, portales o pginas en la red. La importancia de la implementacin y mantenimiento de software radica en brindarle la capacitacin 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, brindndole el tiempo para trabajar sobre otras reas de su negocio. La implementacin es un paso importante en el desarrollo de su software porque es la parte donde el sistema se integra a su empresa, mejorando la eficacia de los procesos, reduciendo el margen de riesgo de error e incrementando la capacidad de su negocio para atender a un mayor nmero de clientes reduciendo costos de operacin sin perder calidad en sus procesos.