Vous êtes sur la page 1sur 52

Anlisis del proyecto de software

4.1. Modelado: anlisis, diseo, documentacin. 4.2. Construccin: codificacin, pruebas y evaluacin, manual del usuario, manual tcnico. 4.3. Medida, mtrica e indicador. 4.4. Tipos de mtricas: mtricas de proceso, mtricas de proyecto, mtricas orientadas a punto de funcin, mtricas orientadas al tamao, mtricas para la calidad del software. 4.5. Implementacin y mantenimiento: entrega, retroalimentacin del cliente.

4.1. Modelado: anlisis, diseo, documentacin.

Anlisis
Anlisis: Para el desarrollo de un proyecto de software concluya con xito, es de importancia que antes de empezar a codificar los programas que constituirn la aplicacin de software compleja, se tenga una completa y plena comprensin de los requisitos del software.

Anlisis (cont.)
El anlisis de requisitos permite al desarrollador o desarrolladores especificar la funcin y el rendimiento del software, indica la interfaz del software con otros elementos del sistema y establece las restricciones que debe cumplir el software.

Pressman establece que la tarea de anlisis de requisitos es un proceso de descubrimiento, refinamiento, modelado y especificacin.

Se refina en detalle el mbito del software, y se crean modelos de los requisitos de datos, flujo de informacin y control, y del comportamiento operativo.

Se analizan soluciones alternativas y se asignan a diferentes elementos del software.

Reconocimiento del problema:

Reconocer los elementos bsicos del problema tal y como los perciben los usuarios finales.

Evaluacin y sntesis:

Definir todos los objetos de datos observable externamente, evaluar el flujo y contenido de la informacin, definir y elaborar todas las funciones del software, entender el comportamiento del software en el contexto de acontecimientos que afectan al sistema.

El anlisis de requisitos del software puede dividirse en cinco reas de esfuerzo que son:

Modelado:

Crear modelos del sistema con el fin de entender mejor el flujo de datos y control, el tratamiento funcional y el comportamiento operativo y el contenido de la informacin.

Especificacin:

Realizar la especificacin formal del software.

Revisin:

Un ultimo chequeo general de todo el proceso

Requerimientos funcionales
Los requerimientos funcionales son los que se encargan de definir lo que la herramienta de software debe hacer.

Definen los alcances del sistema en cuanto a las acciones que deben de realizar y en cuanto a la transferencia de datos entre todas las diferentes del sistema.

Requerimientos no funcionales
Los requerimientos no funcionales son aquellos que definen lo que la herramienta de software debe tener en cuanto a apariencia, sensacin, operabilidad y mantenimiento.

De acuerdo con Galvis, el objetivo de la etapa de anlisis cuando se sigue una metodologa de Ingeniera de Software Educativo es determinar el contexto en el cual se va a crear la aplicacin para poder derivar los requerimientos que deber atender la solucin interactiva como complemento a otras soluciones basadas en uso de otros medios, teniendo en claro el rol de cada uno de los medios educativos seleccionados y la viabilidad de usuarios.

Segn Galvis se debe tener en cuenta


Caractersticas de la poblacin objetivo:
Se refiere a cuestiones como la edad, caractersticas fsicas y mentales, experiencias previas, expectativas, actitudes, aptitudes o intereses.

Conducta de entrada y campo vital:


Es necesario ubicar la herramienta de software dentro de las reas bajo las cuales se desenvuelve el paciente.

Problema o necesidad de atender:


Es necesario ubicarse dentro del contexto del problema que pretende atacarse.

Justificacin de los medios interactivos a utilizar:


El apoyo informtico debe ser tomado en cuenta siempre y cuando no exista un mecanismo mejor para resolver el problema

1.- Diseo:

El diseo es el primer paso en la fase de desarrollo de cualquier producto o sistema de ingeniera.

De acuerdo con Pressman, el objetivo del diseo es producir un modelo o representacin de una entidad que se va a construir posteriormente.

Segn MacGlaughilin hay tres caractersticas que sirven como parmetros generales para la evaluacin de un buen diseo:

El diseo debe implementar todos los requerimientos explcitos obtenidos en la etapa de anlisis.

El diseo debe de ser una gua que pueda leer y entender los que construyen el cdigo y los que puedan y mantienen el software.

El sueo debe proporcionar una idea completa de lo que es el software.

Tipos de diseo:
El diseo de software desarrolla un modelo de instrumentacin o implantacin basado en los modelos conceptuales desarrollados durante el anlisis del sistema.

Generalmente la fase de diseo produce un diseo de datos, un diseo arquitectnico, un diseo de interfaz, y un diseo procedimental.

Diseo del software

Implica disear la decisin sobre la distribucin de datos y procesos.

El diseo es la primera de las tres actividades tcnicas que implica un proceso de ingeniera de software; estas etapas son diseo, codificacin y pruebas.

Diseo de datos:

Se encarga de transformar el modelo de dominio de la informacin creado durante el anlisis. Se define las relaciones entre los principales elementos estructurales del programa. Describe como se comunica el software consigo mismo, con los sistemas que operan con el, y con los operadores que lo emplean.

Diseo arquitectnico:

Diseo de interfaz:

2.-Arquitectura del software

El diseo de la arquitectura del software se refiere a la estructura global del software y las maneras en que esa estructura proporciona integridad conceptual a un sistema. (Shaw)

La arquitectura es la estructura jerrquica de los mdulos del programa, la manera de interactuar de estos componentes, y las estructura de los datos usados por estos mdulos.(Pressman)

Propiedades Estructurales

Este es el aspecto de la representacin de

software que define los componentes de un sistema, y la manera en que se empaquetan estos componentes e interactan unos con los otros.

Propiedades Extra-funcionales

Esta especificacin se refiere al como consigue

la arquitectura del diseo los requisitos de rendimiento, capacidad, fiabilidad, seguridad, adaptabilidad, y otras caractersticas de las herramienta de software.

Familias de sistemas relacionados

Se refiere a que el diseo debera tener la

capacidad de utilizar bloques de construccin arquitectnica reutilizados.

3.- Diseo de la interfaz


Es un proceso que empieza con la creacin de diferentes modelos de funcin del sistema.

Durante este proceso (Rubbin) se crean los siguientes modelos


Un modelo del diseo del sistema, que incorpora representaciones de datos, arquitectnicos, de interfaces y procedimiento del software. Un modelo de usuario que muestra el perfil de los usuarios finales del sistema.

Documentacin

La documentacin se presenta en base a los mtodos orientados a objetos propuestos por Martin y Odell. Se utilizan las siguientes tcnicas para documentar los componentes mas relevantes de la herramienta de software:

Diagramas de eventos Diagramas de contexto Tarjetas CRC

Explicacin:
Diagramas de eventos:
Para ilustrar la manera en que un usuario del software interacta con los entornos virtuales.

Diagramas de contexto:
Para ubicar el campo de accin que abarcara el software.

Tarjetas CRC:
Utilizada para representar todas las clases dentro de un diseo.

4.2. Construccin: codificacin, pruebas y evaluacin, manual del usuario, manual tcnico.

Codificacin:
Nos vamos a referir a las ltimas fases del ciclo de vida: codificacin, pruebas de unidades, integracin y pruebas de sistema.

Cuando alguna de las pruebas no resulta positiva es necesario repetir la codificacin o la integracin y probar de nuevo.

La fase de codificacin constituye el ncleo central en cualquiera de los modelos y tiene una importancia fundamental ya que elabora los programas fuente.

Previamente a la codificacin es necesario elegir el lenguaje que se emplear as como la metodologa de programacin. Tambin se pueden establecer en el equipo unas normas y un estilo de programacin comn, lo que mejorar la coordinacin y facilitar el trabajo. Adems se consigue facilitar el mantenimiento y mejorar la reusabilidad del software.

Cuando el resultado de las pruebas no sea satisfactorio ser necesario modificar el cdigo, lo que podr introducir nuevos errores. Si la programacin es estructurada ser ms fcil localizar la disfuncin y la posterior modificacin y las pruebas del cdigo, dnde podemos introducir puntos de test.

Pruebas y evaluacin:
En general hay dos grandes formas de organizar un rea de pruebas, la primera es que est compuesta por personal inexperto y que desconozca el tema de pruebas, de esta forma se evala que la documentacin entregada sea de calidad, que los procesos descritos son tan claros que cualquiera puede entenderlos y el software hace las cosas tal y como estn descritas.

Consiste en comprobar que el software realice correctamente las tareas indicadas en la especificacin del problema.

Una tcnica de prueba es probar por separado cada mdulo del software, y luego probarlo de forma integral, para as llegar al objetivo.

Se considera una buena prctica el que las pruebas sean efectuadas por alguien distinto al desarrollador que la program, idealmente un rea de pruebas; sin perjuicio de lo anterior el programador debe hacer sus propias pruebas.

El segundo enfoque es tener un rea de pruebas conformada por programadores con experiencia, personas que saben sin mayores indicaciones en qu condiciones puede fallar una aplicacin y que pueden poner atencin en detalles que personal inexperto no considerara.

Manual de usuario:
Un manual de usuario se trata de una gua que ayuda a entender el funcionamiento de algo.

Es un documento de comunicacin tcnica que busca brindar asistencia a los sujetos que usan un sistema o servicio.

Elaboracin de un manual de usuario:


Pasos del manual del usuario:
Portada: De que se trata el documento y quin lo elaboro? Introduccin: Describe el uso del documento (para qu sirve?) y de qu habla? Anlisis y requerimientos del sistema (que se ocupa para poder instalarlo y usarlo?) Explicacin del funcionamiento: Debes de poner paso a paso y con pantallas bien explicadas cmo funciona el programa Glosario

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 ms mnimo conocimiento sobre computadores.

Manual tcnico:
Este documento contiene toda la informacin sobre los recursos utilizados por el proyecto, llevan una descripcin muy bien detallada sobre las caractersticas fsicas y tcnicas de cada elemento. Por ejemplo: caractersticas de procesadores, velocidad, dimensiones del equipo, garantas, soporte, proveedores y equipo adicional.

Su extensin depende de la cantidad de recursos y equipo utilizado y generalmente se presenta en forma de fichas tcnicas en donde se describe en cada una las caractersticas de cada recurso.

Elaboracin del manual tcnico


Un manual tcnico es aquel que va dirigido a un pblico con conocimientos tcnicos sobre algn rea, mientras que, por ejemplo, un manual de usuario va dirigido a un pblico ms general, el cual no necesariamente debe tener conocimientos especficos en el rea de inters.

En este caso el manual tcnico, debe incluir:


Paradigma de programacin seleccionado y sus beneficios. Lenguaje de programacin seleccionado y sus beneficios frente a otros lenguajes. Estandarizacin de cdigo utilizada. Diseo del sistema.

4.3. Medida, mtrica e indicador.

Medida:

Una medida proporciona una indicacin cuantitativa de la extensin, cantidad, dimensiones, capacidad o tamao de algunos atributos de un proceso o producto.

La medicin es el acto de determinar una medida

Mtrica

Una mtrica es una medida cuantitativa del grado

en que un sistema, componente o proceso posee un atributo dado

Indicador

Un indicador es una mtrica o combinacin de

mtricas que proporcionan una visin profunda del proceso del software, del proyecto de software o del producto en si.

Que permiten los indicadores?


Los indicadores del proyecto permiten al gestor: Los indicadores del proceso permiten:

Evaluar el estado del proyecto en curso. Seguir la pista de riesgos potenciales. Detectar reas problemticas antes de que se conviertan en crticas. Ajustar el flujo y las tareas de trabajo. Evaluar la habilidad del equipo del proyecto en controlar la calidad de los productos de trabajo de la IS.

Al gestor, evaluar lo que funciona y lo que no. A la organizacin, tener una visin profunda de la eficacia de un proceso ya existente.

4.4. Tipos de mtricas: mtricas de proceso, mtricas de proyecto, mtricas orientadas a punto de funcin, mtricas orientadas al tamao, mtricas para la calidad del software.

Tipos de mtrica:
DEL PRODUCTO
Tamao Estructura de datos Lgica

DEL PROCESO
Tiempo de desarrollo Reusabilidad Productividad

mtricas orientadas a punto de funcin:

La medida de punto de funcin se propuso en

1979 y trata de medir la funcionalidad o utilidad del software.

Clculo del punto de funcin


Hay que completar la siguiente tabla de valores

del dominio de la informacin:

Clculo del punto de funcin (cont.)

Donde:
Salidas de Peticiones de Entradas de usuario. Son usuario. Es una usuario. Son reportes, entrada entradas que pantallas o interactiva que proporcionan mensajes de produce la diferentes datos error que generacin de a la aplicacin. proporcionan alguna No confundirlos informacin. Los respuesta del con las elementos de un software en peticiones de reporte, no se forma de salida usuario. cuentan de interactiva. forma separada. Interfaces Archivos. Son externas. Son los archivos que los archivos que pueden ser se usan para parte de una transmitir base de datos o informacin a independientes. otro sistema.

Clculo del punto de funcin (cont.)


Indicaciones: Contar cada medida por separado. Asociar, de alguna manera, un valor de complejidad a cada medida. La siguiente tabla muestra una heurstica para decidir la complejidad de todo el sistema.

Para cada medida, multiplicar su cuenta por el factor de

complejidad elegido y escribirlo en la columna de la extrema derecha. Sumar la columna de la extrema derecha y obtener un total T que indica el valor del dominio de la informacin.

Responder a cada una de las siguientes catorce preguntas y asignarles un valor entre 0 y 5, donde 0 es no influencia, 1 es incidental, 2 es moderado, 3 es medio, 4 es significativo y 5 es esencial.

Requiere el sistema copias de seguridad y de recuperacin fiables? Requiere comunicacin de datos? Existen funciones de procesamiento distribuido? Es crtico el rendimiento? Se ejecutar el sistema en un entorno operativo existente y fuertemente utilizado? Requiere entrada de datos interactiva? Requiere la entrada de datos interactiva que las transacciones de entrada se lleven a cabo sobre mltiples pantallas u operaciones? Se actualizan los archivos maestros de forma interactiva? Son complejas las entradas, las salidas, los archivos o las peticiones? Es complejo el procesamiento interno? Se ha diseado el cdigo para ser reutilizable? Estn incluidas en el diseo la conversin y la instalacin? Se ha diseado el sistema para soportar mltiples instalaciones en diferentes organizaciones? Se ha diseado la aplicacin para facilitar los cambios y para ser fcilmente utilizada por el usuario?

Sumar los puntos asignados a cada respuesta y obtener un total F que indica un valor de ajuste de complejidad.

PF = T * (0.65 + 0.01 * F).

El punto de funcin FP se calcula con la siguiente ecuacin:

Mtricas ampliadas de punto de funcin.


Los puntos de funcin fueron diseados originalmente para sistemas de informacin y por eso le da ms importancia a los datos y menos a los aspectos de control y funcionales.

Para subsanar esto, se han propuesto los puntos de caracterstica y los puntos de funcin 3D.

Mtricas ampliadas de punto de funcin. (cont.)


Puntos de caracterstica.
Se calcula igual que el punto de funcin y solo agrega la cuenta de algoritmos. En este contexto se define un algoritmo como un problema de clculo limitado que se incluye dentro de un programa de computadora especfico. Invertir una matriz, decodificar un string o manejar una interrupcin son ejemplos de algoritmos.

Puntos de funcin 3D.


Los puntos de funcin 3D se calculan llenando la siguiente tabla:

Mtricas ampliadas de punto de funcin. (cont.)

Mtricas ampliadas de punto de funcin. (cont.). donde:


Estructuras internas de datos. Son arreglos, listas ligadas, pilas, colas, etc.

Datos externos. Equivale a la suma de los archivos y las interfaces externas tal y como estn definidos para el punto de funcin.

Entradas de usuario. Definidas igual que para el punto de funcin.

Salidas de usuario. Definidas igual que para el punto de funcin.

Peticiones de usuario. Definidas igual que para el punto de funcin.

Transformaciones. Son las operaciones internas requeridas para transformar datos de entrada en datos de salida. Multiplicar dos matrices cuenta como una transformacin. Leer datos de un archivo y guardarlos en memoria no.

Transiciones. Ocurre cuando el software pasa de un estado a otro como resultado de algn suceso. En un sistema de altas, bajas y cambios, al tomar la opcin de altas, pasa del estado "men principal" al estado "procesa altas" y puede ser que en ese momento pida datos para dar la alta.

Mtricas ampliadas de punto de funcin. (cont.)

Indicaciones:
Para cada medida, Para cada medida, multiplicar cada contar por separado, cuenta por el factor de acuerdo a algn de complejidad Sumar la columna de criterio de asignacin correspondiente, la extrema derecha y de complejidad, las sumar las tres obtener el punto de veces que aparezca cantidades y escribir funcin 3D. con complejidad el total en la columna baja, media y alta. de la extrema derecha.

Funcionalidad de los lenguajes de programacin


La tabla siguiente proporcional estimaciones

informales del nmero de lneas de cdigo que se necesitan para construir un punto de funcin en varios lenguajes de programacin:

Funcionalidad de los lenguajes de programacin (cont.)


Observando la tabla podemos decir que, en

promedio, un programa en ensamblador tendr 320/128 = 2.5 veces ms lneas de cdigo que un programa en C que haga lo mismo, y casi 11 veces ms que un lenguaje orientado a objetos (OOL) con la misma funcionalidad.

mtricas orientadas al tamao:


Los programas se escriben en lenguajes muy distintos y con propsitos muy diferentes, usando tcnicas y mtodos dispares, pero con una caracterstica comn: tienen un tamao. Este tamao se determina habitualmente tomando como referencia el programa en cdigo fuente El tamao es una medida empleada fundamentalmente por tres razones: es fcil de obtener una vez que el programa ha sido completado, es uno de los factores ms importantes en los mtodos de desarrollo, y la productividad se expresa tradicionalmente con el tamao del cdigo.

La medida de tamao ms usada es la cantidad de lneas de cdigo que se representa como Ss, y se mide en LOC (Lines Of Code, lneas de cdigo).
Para programas grandes es ms adecuado el uso de KLOC (miles de lneas de cdigo) representadas como S.

mtricas para la calidad del software:


El estudio de la calidad y fiabilidad tiene una importancia cada vez mayor en el mundo de la Ingeniera del Software. No slo se trata de obtener sistemas desarrollados correctamente, de acuerdo a los requerimientos y a los estndares establecidos, sino que se pretenda conseguir programas fciles de mantener y, lo que es ms importante, sistemas fiables en tareas crticas. Los errores de codificacin, con ser los ms conocidos, no son los ms importantes, son los ms tratados pues es ms simple automatizar su deteccin. Los errores en las pruebas son muy importantes pues dan por vlido un cdigo que no lo es, y permiten que se entregue un sistema defectuoso. Los errores de mantenimiento pueden deberse a la ignorancia de fallos antiguos o a la introduccin de otros nuevos.

4.5. Implementacin y mantenimiento: entrega, retroalimentacin del cliente.

Implementacin
Es la ultima fase del desarrollo de Sistemas. Es el proceso instalar equipos o Software nuevo, como resultado de un anlisis y diseo previo como resultado de la sustitucin o mejoramiento de la forma de llevar a cavo un proceso automatizado.

Al Implantar un Sistema de Informacin lo primero que debemos hacer es asegurarnos que el Sistema sea operacional o sea que funcione de acuerdo a los requerimientos del anlisis y permitir que los usuarios puedan operarlo.

Implementacin (cont.)
Existen varios enfoques de Implementacin:
El Analista de Sistemas necesita ponderar la situacin y proponer un plan de conversin que sea adecuado para la organizacin.

Es darle respons abilidad a los grupos.

Uso de diferentes estrategias para el entrenamie nto de los usuarios.

El Analista necesita formular medidas de desempe o con las cuales evaluar a los Usuarios.

Debe Convertir fsicamente el sistema de informacin antiguo, al nuevo modificado.

Mantenimiento
El mantenimiento no representa una actividad especfica, sino que consiste en rehacer parte de las actividades correspondientes a las otras fases del desarrollo para introducir cambios sobre una aplicacin ya en fase de explotacin.

MANTENIMIENTO MANTENIMIENTO MANTENIMIENTO CORRECTIVO, su ADAPTATIVO, PERFECTIVO, se finalidad es modificar una trata de ir corregir errores aplicacin para obteniendo que no fueron adaptarla a las versiones detectados en el nuevas mejoradas del desarrollo del necesidades del producto producto. entorno.

Vous aimerez peut-être aussi