Académique Documents
Professionnel Documents
Culture Documents
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.
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.
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:
Revisin:
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.
1.- Diseo:
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.
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.
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:
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
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
la arquitectura del diseo los requisitos de rendimiento, capacidad, fiabilidad, seguridad, adaptabilidad, y otras caractersticas de las herramienta de software.
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:
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.
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.
Medida:
Una medida proporciona una indicacin cuantitativa de la extensin, cantidad, dimensiones, capacidad o tamao de algunos atributos de un proceso o producto.
Mtrica
Indicador
mtricas que proporcionan una visin profunda del proceso del software, del proyecto de software o del producto en si.
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
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.
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.
Para subsanar esto, se han propuesto los puntos de caracterstica y los puntos de funcin 3D.
Datos externos. Equivale a la suma de los archivos y las interfaces externas tal y como estn definidos 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.
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.
informales del nmero de lneas de cdigo que se necesitan para construir un punto de funcin en varios lenguajes de programacin:
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.
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.
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.
El Analista necesita formular medidas de desempe o con las cuales evaluar a los Usuarios.
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.