Sunteți pe pagina 1din 23

1. Introduccin 2. Objetivos de la ingeniera de software 3. Competitividad 4. Estrategias para su desarrollo 5. Mtodo del ciclo de vida clsico 6.

Mtodo de desarrollo por anlisis estructurado 7. Diccionario de datos. 8. Diagrama de estructura de datos 9. Grfica de estructura 10. Etapas del mtodo de prototipos 11. Coordinacin y Gestin del proyecto. 12. Mediciones y estimaciones 13. Reingeniera e ingeniera inversa 1. Introduccin Este trmino fue introducido a finales de los 60 a raz de la crisis del software. Esta crisis fue el resultado de la introduccin de la tercera generacin del hardware. El hardware dejo de ser un impedimento para el desarrollo de la informtica; redujo los costos y mejoro la calidad y eficiencia en el software producido La crisis se caracterizo por los siguientes problemas:

Imprecisin en la planificacin del proyecto y estimacin de los costos. Baja calidad del software. Dificultad de mantenimiento de programas con un diseo poco estructurado, etc.

Por otra parte se exige que el software sea eficaz y barato tanto en el desarrollo como en la compra. Tambien se requiere una serie de caractersticas como fiabilidad, facilidad de mantenimiento y de uso, eficiencia, etc. 2. Objetivos de la ingeniera de software En la construccin y desarrollo de proyectos se aplican mtodos y tcnicas para resolver los problemas, la informtica aporta herramientas y procedimientos sobre los que se apoya la ingeniera de software.

mejorar la calidad de los productos de software aumentar la productividad y trabajo de los ingenieros del software. Facilitar el control del proceso de desarrollo de software.

Suministrar a los desarrolladores las bases para construir software de alta calidad en una forma eficiente. Definir una disciplina que garantice la produccin y el mantenimiento de los productos software desarrollados en el plazo fijado y dentro del costo estimado.

Objetivos de los proyectos de sistemas Para que los objetivos se cumplan las empresas emprenden proyectos por las siguientes razones: "Las cinco C " Capacidad Las actividades de la organizacin estn influenciadas por la capacidad de sta para procesar transacciones con rapidez y eficiencia. Los sistemas de informacin mejoran esta capacidad en tres formas. * Aumentan la velocidad de procesamiento: Los sistemas basados en computadora pueden ser de ayuda para eliminar la necesidad de clculos tediosos y comparaciones repetitivas. Un sistema automatizado puede ser de gran utilidad si lo que se necesita es un procesamiento acelerado. *Aumento en el volumen: La incapacidad para mantener el ritmo de procesamiento no significa el abandono de los procedimientos existentes. Quiz stos resulten inadecuados para satisfacer las demandas actuales. En estas situaciones el analista de sistemas considera el impacto que tiene la introduccin de procesamiento computarizado, si el sistema existente es manual. Es poco probable que nicamente el aumento de la velocidad sea la respuesta. El tiempo de procesamiento por transaccin aumenta si se considera la cantidad de actividades comerciales de la empresa junto con su patrn de crecimiento. * Recuperacin ms rpida de la informacin: Las organizaciones almacenan grandes cantidades de datos, por eso, debe tenerse en cuenta donde almacenarlos y como recuperarlos cuando se los necesita. Cuando un sistema se desarrolla en forma apropiada, se puede recuperar en forma rpida la informacin. Costo * Vigilancia de los costos:

Para determinar si la compaa evoluciona en la forma esperada, de acuerdo con lo presupuestado, se debe llevar a cabo el seguimiento de los costos de mano de obra, bienes y gastos generales. La creciente competitividad del mercado crea la necesidad de mejores mtodos para seguir los costos y relacionarlos con la productividad individual y organizacional. * Reduccin de costos: Los diseos de sistemas ayudan a disminuir los costos, ya que toman ventaja de las capacidades de clculo automtico y de recuperacin de datos que estn incluidos en procedimientos de programas en computadora. Muchas tareas son realizadas por programas de cmputo, lo cual deja un nmero muy reducido de stas para su ejecucin manual, disminuyendo al personal. Control *Mayor seguridad de informacin: Algunas veces el hecho de que los datos puedan ser guardados en una forma adecuada para su lectura por medio de una mquina, es una seguridad difcil de alcanzar en un medio ambiente donde no existen computadoras. Para aumentar la seguridad, generalmente se desarrollan sistemas de informacin automatizados. El acceso a la informacin puede estar controlado por un complejo sistemas de contraseas, limitado a ciertas reas o personal, si est bien protegido, es difcil de acceder. *Menor margen de error: (mejora de la exactitud y la consistencia) Esto se puede lograr por medio del uso de procedimientos de control por lotes, tratando de que siempre se siga el mismo procedimiento. Cada paso se lleva a cabo de la misma manera, consistencia y con exactitud: por otra parte se efectan todos los pasos para cada lote de transacciones. A diferencia del ser humano, el sistema no se distrae con llamadas telefnicas, ni olvidos e interrupciones que sufre el ser humano. Si no se omiten etapas, es probable que no se produzcan errores. Comunicacin La falta de comunicacin es una fuente comn de dificultades que afectan tanto a cliente como a empleados. Sin embargo, los sistemas de informacin bien desarrollados amplan la comunicacin y facilitan la integracin de funciones individuales. * Interconexin: ( aumento en la comunicacin)

Muchas empresas aumentan sus vas de comunicacin por medio del desarrollo de redes para este fin, dichas vas abarcan todo el pas y les permiten acelerar el flujo de informacin dentro de sus oficinas y otras instalaciones que no se encuentran en la misma localidad. Una de las caractersticas ms importantes de los sistemas de informacin para oficinas es la transmisin electrnica de informacin, como por ejemplo, los mensajes y los documentos. * Integracin de reas en las empresas: Con frecuencia las actividades de las empresas abarcan varias reas de la organizacin, la informacin que surge en un rea se necesita en otra rea, por ejemplo. Los sistemas de informacin ayudan a comunicar los detalles del diseo a los diferentes grupos, mantienen las especificaciones esenciales en un sitio de fcil acceso y calculan factores tales como el estrs y el nivel de costos a partir de detalles proporcionados por otros grupos. 3. Competitividad Los sistemas de informacin computacionales son un arma estratgica, capaz de cambiar la forma en que la compaa compite en el mercado, en consecuencia stos sistemas mejoran la organizacin y la ayudan a ganar "ventaja competitiva", sin embargo, si los competidores de la compaa tienen capacidades mas avanzadas para el procesamiento de informacin, entonces los sistemas de informacin pueden convertirse en una "desventaja competitiva". Una organizacin puede ganar ventaja competitiva a travs de sus sistemas de informacin de diferentes formas. * Asegurar clientes: Como los clientes son los ms importante para una organizacin, los directivos buscan diferentes formas para conseguir nuevos clientes y mantener los que tienen. Para eso las empresas proporcionan: 1- Mejores precios 2- Servicios exclusivos. 3- Productos diferentes. La ventaja en precios se observa continuamente en la actividad comercial (s el producto es exclusivo o distinto entonces tener el liderazgo en precios bajos quizs no sea el objetivo a alcanzar).

La estrategia eficaz de precios a menudo se alcanza al desarrollar sistemas de informacin por razones tales como reduccin de costos y ganancia en la exactitud. Generalmente cuando una compaa puede ofrecer servicios exclusivos y atraer clientes, es posible que los competidores no sean capaces de atraer a los clientes de la compaa. * Dejar fuera a los competidores: Pasar sobre los competidores puede ser un inconveniente si ellos se encuentran la forma para duplicar los logros de la compaa, los sistemas de informacin pueden ser la base para dejar fuera del mercado a la competencia ya sea el disuadir sus intentos por ingresar al mercado o crendoles obstculo para su entrada. *Mejores acuerdos con los proveedores: En los negocios, los proveedores tambin tienen importancia estratgica. Una manera de utilizar los sistemas de informacin para favorecer arreglos con los proveedores es ofreciendo un mejor precio. Disminuyendo los costos. *Formar bases para nuevos productos Los sistemas de informacin tambin forman la base de muchos productos y servicios nuevos. Los servicios de base de datos experimentan un crecimiento comn en todas las industrias. Productos que van desde programas personales hasta planes de construccin pueden hacerse a la medida del cliente gracias al procesamiento de informacin. Una cosa es clara, es necesario que los sistemas entren en operacin y que trabajen de manera confiable. 4. Estrategias para su desarrollo Los sistemas de informacin basados en computadoras sirven para diversas finalidades que van desde el procesamiento de las transacciones de una empresa hasta proveer de la informacin necesaria para decidir sobre asuntos que se presentan con frecuencia. En algunos casos los factores que deben considerarse en un proyecto de sistema de informacin, como el aspecto ms apropiado de la computadora o la tecnologa de comunicaciones que se va a utilizar, el impacto del nuevo sistema sobre los empleados de la empresa y las caractersticas especficas que el sistema debe tener se pueden determinar de manera secuencial. Todas estas situaciones estn determinadas por tres mtodos bsicos: 5. Mtodo del ciclo de vida clsico

El mtodo del ciclo de vida para desarrollo de sistemas es el conjunto de actividades que los analistas, diseadores y usuarios realizan para desarrollar e implantar un sistema de informacin. El mtodo del ciclo de vida para el desarrollo de sistemas consta de las siguientes actividades: 1) Investigacin preliminar La solicitud para recibir ayuda de un sistema de informacin pueden originarse por una persona, cuando se formula la solicitud comienza la primera actividad del sistema. Esta actividad tiene tres partes: *Aclaracin de la solicitud Antes de considerar cualquier investigacin de sistemas, la solicitud de proyecto debe examinarse para determinar con precisin lo que el solicitante desea; ya que muchas solicitudes que provienen de empleados y usuarios no estn formuladas de manera clara. *Estudio de factibilidad En la investigacin preliminar un punto importante es determinar que el sistema solicitado sea factible. Existen tres aspectos relacionados con el estudio de factibilidad, que son realizados por los general por analistas capacitados o directivos: -Factibilidad tcnica. Estudia si el trabajo para el proyecto, puede desarrollarse con el software y el personal existente, y si en caso de necesitar nueva tecnologa, cuales son las posibilidades de desarrollarla (no solo el hardware). -Factibilidad econmica. Investiga si los costos se justifican con los beneficios que se obtienen, y si se ha invertido demasiado, como para no crear el sistema si se cree necesario. -Factibilidad operacional: Investiga si ser utilizado el sistema, si los usuarios usaran el sistema, como para obtener beneficios. * Aprobacin de la solicitud Algunas organizaciones reciben tantas solicitudes de sus empleados que slo es posible atender unas cuantas. Sin embargo, aquellos proyectos que son deseables y factibles deben incorporarse en los planes. En algunos casos el desarrollo puede comenzar inmediatamente,

aunque lo comn es que los miembros del equipo de sistemas estn ocupados en otros proyectos. Cuando esto ocurre, la administracin decide que proyectos son los ms importantes y el orden en que se llevarn acabo. Despus de aprobar la solicitud de un proyecto se estima su costo, el tiempo necesario para terminarlo y las necesidades de personal 2) Determinacin de los requisitos del sistema. Los analistas, al trabajar con los empleados y administradores, deben estudiar los procesos de una empresa para dar respuesta a ciertas preguntas claves. Para contestar estas preguntas, el analista conversa con varias personas para reunir detalles relacionados con los procesos de la empresa. Cuando no es posible entrevistar, en forma personal a los miembros de grupos grandes dentro de la organizacin, se emplean cuestionarios para obtener esta informacin. Las investigaciones detalladas requieren el estudio de manuales y reportes, la observacin en condiciones reales de las actividades del trabajo y, en algunas ocasiones, muestras de formas y documentos con el fin de comprender el proceso en su totalidad. Reunidos los detalles, los analistas estudian los datos sobre requerimientos con la finalidad de identificar las caractersticas que debe tener el nuevo sistema. 3)Diseo del sistema.(diseo lgico) El diseo de un sistema de informacin responde a la forma en la que el sistema cumplir con los requerimientos identificados durante la fase de anlisis. Es comn que los diseadores hagan un esquema del formato o pantalla que esperan que aparezca cuando el sistema esta terminado, se realiza en papel o en la pantalla de una terminal utilizando algunas de las herramientas automatizadas disponibles para el desarrollo de sistemas. Tambin se indican los datos de entrada, los que sern calculados y los que deben ser almacenados. Los diseadores seleccionan las estructuras de archivo y los dispositivos de almacenamiento. Los procedimientos que se escriben indican cmo procesar los datos y producir salidas. Los documentos que contienen las especificaciones de diseo representan a ste mediante diagramas, tablas y smbolos especiales. La informacin detallada del diseo se proporciona al equipo de programacin para comenzar la fase de desarrollo de software.

Los diseadores son responsables de dar a los programadores las especificaciones de software completas y claramente delineadas. 4) Desarrollo de software (diseo fsico). Los encargados de desarrollar software pueden instalar software comprado a terceros o escribir programas diseados a la medida del solicitante. La eleccin depende del costo de cada alternativa, del tiempo disponible para escribir el software y de la disponibilidad de los programadores. Los programadores son responsables de la documentacin de los programas y de explicar su codificacin, esta documentacin es esencial para probar el programa y hacer el mantenimiento. 5) Prueba de sistemas. Durante esta fase, el sistema se emplea de manera experimental para asegurarse que el software no tenga fallas, es decir, que funciona de acuerdo con las especificaciones y en la forma en que los usuarios esperan que lo haga. Se alimentan como entradas conjuntos de datos de prueba para su procesamiento y despus se examinan los resultados. En ocasiones se permite que varios usuarios utilicen el sistema, para que los analistas observen si tratan de emplearlo en formas no previstas, antes de que la organizacin implante el sistema y dependa de l. En muchas organizaciones, las pruebas son conducidas por personas ajenas al grupo que escribi los programas originales; para asegurarse de que las pruebas sean completas e imparciales y, por otra, que el software sea ms confiable. 6) Implantacin y evaluacin. La implantacin es el proceso de verificar e instalar nuevo equipo, entrenar a los usuarios, instalar la aplicacin y construir todos los archivos de datos necesarios para utilizarla. Cada estrategia de implantacin tiene sus mritos de acuerdo con la situacin que se considere dentro de la empresa. Sin importar cul sea la estrategia utilizada, los encargados de desarrollar el sistema procuran que el uso inicial del sistema se encuentre libre de problemas. Los sistemas de informacin deben mantenerse siempre al da, la implantacin es un proceso de constante evolucin. La evaluacin de un sistema se lleva a cabo para identificar puntos dbiles y fuertes. La evaluacin ocurre a lo largo de cualquiera de las siguientes dimensiones:

Evaluacin operacional

Valoracin de la forma en que funciona el sistema, incluyendo su facilidad de uso, tiempo de respuesta, lo adecuado de los formatos de informacin, confiabilidad global y nivel de utilizacin.

Impacto organizacional

Identificacin y medicin de los beneficios para la organizacin en reas como finanzas (costos, ingresos y ganancias), eficiencia operacional e impacto competitivo. - Opinin de los administradores Evaluacin de las actitudes de directivos y administradores dentro de la organizacin as como de los usuarios finales.

Desempeo del desarrollo

La evaluacin del proceso de desarrollo de acuerdo con criterios tales como tiempo y esfuerzo de desarrollo, concuerdan con presupuestos y estndares, y otros criterios de administracin de proyectos. Cuando la evaluacin de sistema se conduce en forma adecuada proporciona mucha informacin que puede ayudar a mejorar la efectividad de los esfuerzos cuando la evaluacin de sistemas se conduce en forma adecuada proporciona mucha informacin que puede ayudar a mejorar la efectividad de los esfuerzos de desarrollo de aplicaciones subsecuentes. 6. Mtodo de desarrollo por anlisis estructurado Muchos especialistas en sistemas de informacin reconocen la dificultad de comprender de manera completa sistemas grandes y complejos. El mtodo de desarrollo del anlisis estructurado tiene como finalidad superar esta dificultad por medio de: 1. 2. la divisin del sistema en componentes y 3. la construccin de un modelo del sistema. El mtodo incorpora elementos tanto de anlisis como de diseo El anlisis estructurado se concentra en especificar lo que se requiere que haga el sistema o la aplicacin. Permite que las personas observen los elementos lgicos (lo que har el sistema) separados de los componentes fsicos (computadora, terminales, sistemas de almacenamiento, etc.). Despus de esto se puede desarrollar un diseo fsico eficiente para la situacin donde ser utilizado. El anlisis estructurado es un mtodo para el anlisis de sistemas manuales o automatizados, que conduce al desarrollo de especificaciones para sistemas nuevos o para

efectuar modificaciones a los ya existentes. ste anlisis permite al analista conocer un sistema o proceso en una forma lgica y manejable al mismo tiempo que proporciona la base para asegurar que no se omite ningn detalle pertinente. Componentes Smbolos grficos: Iconos y convenciones para identificar y describir los componentes de un sistema junto con las relaciones entre estos componentes. Diccionario de datos: descripcin de todos los datos usados en el sistema. Puede ser manual o automatizado. Descripciones de procesos y procedimientos: declaraciones formales que usan tcnicas y lenguajes que permiten a los analistas describir actividades importantes que forman parte del sistema. Reglas: estndares para describir y documentar el sistema en forma correcta y completa. Diseo Estructurado. El diseo Estructurado es otro elemento del Mtodo de Desarrollo por Anlisis Estructurado que emplea la descripcin grfica, se enfoca en el desarrollo de especificaciones del software. El objetivo del Diseo Estructurado es programas formados por mdulos independientes unos de otros desde el punto de vista funcional. El Diseo Estructurado es una tcnica especfica para el diseo de programas. La herramienta fundamental del Diseo Estructurado es el diagrama estructurado que es de naturaleza grfica y evitan cualquier referencia relacionada con el hardware o detalles fsicos. Su finalidad no es mostrar la lgica de los programas (que es la tarea de los diagramas de flujo). Los Diagramas Estructurados describen la interaccin entre mdulos independientes junto con los datos que un mdulo pasa a otro cuando interacciona con l. Anlisis de flujo de datos. Estudia el empleo de los datos para llevar a cabo procesos especficos de la empresa dentro del mbito de una investigacin de sistemas usa los diagrama de flujos de datos y los diccionarios de datos. Herramientas Las herramientas muestran todas las caractersticas esenciales del sistema y la forma en que se ajustan entre si, como es muy difcil entender todo un proceso de la empresa en forma

verbal, las herramientas ayudan a ilustrar los componentes esenciales de un sistema, junto con sus acciones. Diagrama de flujo de datos Es el modelo del sistema. Es la herramienta mas importante y la base sobre la cual se desarrollan otros componentes. El modelo original se detalla en diagramas de bajo nivel que muestran caractersticas adicionales del sistema. Cada proceso puede desglosarse en diagramas de flujos de datos cada vez ms detallados. Repitindose esta secuencia hasta que se obtienen suficientes detalles para que el analista comprenda la parte del sistema que se encuentra bajo investigacin. El diagrama fsico de datos da un panorama del sistema en uso, dependiente de la implantacin, mostrando cuales tareas se hacen y como son hechas. Incluyen nombres de personas, nombres o nmeros de formato y documento, nombres de departamentos, archivos maestro y de transacciones, equipo y dispositivos utilizados, ubicaciones, nombres de procedimientos. El diagrama lgico de datos da un panorama del sistema, pero a diferencia del fsico es independiente de la implantacin, que se centra en el flujo de datos entre los procesos, sin considerar los dispositivos especficos y la localizacin de los almacenes de datos o personas en el sistema. Sin indicarse las caractersticas fsicas. Notaciones: son cuatro smbolos, que fueron desarrollados y promovidos la mismo tiempo por dos organizaciones: Yourdon y Gane y Sarson. Flujo de datos: son movimientos de datos en una determinada direccin, desde un origen hasta un destino. Es un paquete de datos. Yourdon Gane y Sarson Proceso: son personas, procedimientos o dispositivos que utilizan o producen datos. No identifica el componente fsico Fuente o destino de los datos: pueden ser personas, programas, organizaciones u otras entidades que interactan con el sistema pero que se encuentre fuera. Almacenamiento de datos: es un lugar donde se guardan los datos. El almacenamiento de datos puede representar dispositivos tanto computarizados como no computarizados. Cada componente en un diagrama de flujo de datos tiene una etiqueta con un nombre descriptivo. Los nombres de los procesos reciben un numero para poder identificarlos, este numero tiene un valor adicional cuando se estudian los componentes que integran un proceso especifico

7. Diccionario de datos. Contiene las caractersticas lgicas de los sitios donde se almacenan los datos del sistema, incluyendo nombre, descripcin, alias, contenido y organizacin. Identifica los procesos donde se emplean los datos y los sitios donde se necesita el acceso inmediato a la informacin, se desarrolla durante el anlisis de flujo de datos y auxilia a los analistas que participan en la determinacin de los requerimientos del sistema, su contenido tambin se emplea durante el diseo. Razones para su utilizacin: 1. Los sistemas al sufrir cambios continuos, es muy difcil manejar todos los detalles. Por eso se registra la informacin, ya sea sobre hoja de papel o usando procesadores de texto. Los analistas mas organizados usan el diccionario de datos automatizados diseados especficamente para el anlisis y diseo de software. 2. Para manejar los detalles en sistemas muy grandes, ya que tienen enormes cantidades de datos, aun en los sistemas mas chicos hay gran cantidad de datos. Los diccionarios de datos proporcionan asistencia para asegurar significados comunes para los elementos y actividades del sistema y registrando detalles adicionales relacionadas con el flujo de datos en el sistema, de tal manera que todo pueda localizarse con rapidez. 3. Para asignarle un solo significado a cada uno de los elementos y actividades del sistema. 4. Para documentar las caractersticas del sistema, incluyendo partes o componentes as como los aspectos que los distinguen. Tambien es necesario saber bajo que circunstancias se lleva a cabo cada proceso y con que frecuencia ocurren. Produciendo una comprensin mas completa. Una vez que las caractersticas estn articuladas y registradas, todos los participantes en el proyecto tendrn una fuente comn de informacin con respecto al sistema. 5. Para facilitar el anlisis de los detalles con la finalidad de evaluar las caractersticas y determinar donde efectuar cambios en el sistema. Determina si son necesarias nuevas caractersticas o si estn en orden los cambios de cualquier tipo. Se abordan las caractersticas: * Naturaleza de las transacciones: las actividades de la empresa que se llevan a cabo mientras se emplea el sistema. * Preguntas: solicitudes para la recuperacin o procesamiento de informacin para generar una respuesta especifica.

* Archivos y bases de datos: detalles de las transacciones y registros maestros que son de inters para la organizacin. * Capacidad del sistema: Habilidad del sistema para aceptar, procesar y almacenar transacciones y datos 5- Localizar errores y omisiones en el sistema, detectan dificultades, y las presentan en un informe. Aun en los manuales, se revelan errores. Contenido de un registro del diccionario El diccionario tiene dos tipos de descripciones para el flujo de datos del sistema, son los elementos datos y estructura de datos. Elemento dato: son los bloques bsicos para todos los dems datos del sistema, por si mismos no le dan un significado suficiente al usuario. Se agrupan para formar una estructura de datos. Descripcin: Cada entrada en el diccionario consiste de un conjunto de detalles que describen los datos utilizados o producidos por el sistema. Cada uno esta identificado con: Un nombre: para distinguir un dato de otro. Descripcin: indica lo que representa en el sistema. Alias: porque un dato puede recibir varios nombres, dependiendo de quien uso este dato. Longitud: porque es de importancia de saber la cantidad de espacio necesario para cada dato. Valores de los datos: porque en algunos procesos solo son permitidos valores muy especficos para los datos. Si los valores de los datos estn restringidos a un intervalo especifico, esto debe estar en la entrada del diccionario. Estructura de datos: es un grupo de datos que estn relacionados con otros y que en conjunto describen un componente del sistema. Descripcin: Se construyen sobre cuatro relaciones de componentes. Se pueden utilizar las siguientes combinaciones ya sea individualmente o en conjuncin con alguna otra.

Relacin secuencial: define los componentes que siempre se incluyen en una estructura de datos. Relacin de seleccin: (uno u otro), define las alternativas para datos o estructuras de datos incluidos en una estructura de datos. Relacin de iteracin: (repetitiva), define la repeticin de un componente. Relacin opcional: los datos pueden o no estar incluidos, o sea, una o ninguna iteracin. Notacin Los analistas usan smbolos especiales con la finalidad de no usar demasiada cantidad de texto para la descripcin de las relaciones entre datos y mostrar con claridad las relaciones estructurales. En algunos casos se emplean trminos diferentes para describir la misma entidad (alias) estos se representan con un signo igual (=) que vincula los datos. 8. Diagrama de estructura de datos Es una descripcin de la relacin entre entidades (personas, lugares, eventos y objetos) de un sistema y el conjunto de informacin relacionado con la entidad. Finalidades: 1. 2. 3. 4. Verificar los requerimientos de informacin. Describir los datos asociados con las entidades. Mostrar la relacin entre entidades. Comunicar los requerimientos de datos a un diseador de archivos o administrador de la base de datos.

Notacin Una comn se usa al preparar los diagramas de estructura de datos. Las entidades se representan mediante rectngulos, con el nombre de la entidad en la parte de arriba y una lista de atributos que describan la entidad. Cada entidad se puede identificar mediante un atributo llave. Uso en el diseo de archivo. El uso de los diagramas de estructura de datos requiere que el analista haga preguntas importantes acerca de la entidad a describir. La llave de registro, identifica de una forma nica a la cuenta. Los dems detalles son los atributos. Adems de los componentes bsicos existen dos elementos adicionales esenciales:

* Apuntadores atributos: enlazan dos entidades mediante la informacin comn, usualmente un atributo llave en uno y un atributo (no llave) en el otro. * Apuntadores lgicos: identifican las relaciones entre las entidades, sirven para obtener acceso inmediato a la informacin en una entidad, definiendo un atributo llave en otra entidad. Usualmente se indican en la parte inferior del diagrama, son los enlaces con las dems entidades incluidas en el diagrama. Compartir datos entre las aplicaciones. Cada sistema se puede desarrollar por separado, guardando los datos de los estados de cuenta aparte de los datos del inventario. Al desarrollar mas sistemas y crecer su utilidad, muy seguido existe la necesidad de integrar los sistemas para permitir que la informacin sea compartida por mas de un sistema. Redundancia e integridad: Si cada sistema se desarrolla en forma independiente, la informacin puede ser almacenada al menos una vez en cada sistema, ste adems de requerir espacio de almacenamiento extra, esta duplicacin es llamada redundancia, para reducir la integridad de la informacin; cuando se duplica informacin es muy probable de que los detalles no coincidan o que no todos sean actualizados. Resultando la perdida de integridad en los datos, pudiendo ser corregido mejorando los procedimientos. Se puede evitar del todo disminuyendo la redundancia de datos en los archivos. 9. Grfica de estructura Muestra con smbolos la relacin entre los mdulos de procesamiento y el software de la computadora. Describen la jerarqua de los mdulos componentes y los datos que sern transmitidos entre ellos. Incluye el anlisis de las transformaciones entrada-salida y el anlisis de transaccin. Las flechas con una circunferencia indican datos, mientras que las que tienen un circulo representa informacin de control de programa, tales como notas o condiciones de error. Diagrama de contexto Se pueden usar diagramas de flujos de datos para representar el sistema a cualquier nivel de abstraccin. El diagrama de flujo de dato de nivel 0 se llama diagrama de contexto y en l el sistema esta representado por un solo proceso, que identifica cual es la funcin principal del sistema, mostrando adems, los flujos de informacin que lo relacionan con otros sistemas: las entidades externas. El diagrama de contexto tiene una gran importancia puesto que resume el requisito principal del sistema de recibir ciertas entradas, procesarlas de

acuerdo con determinada funcin y generar ciertas salidas. A partir del diagrama de contexto se puede ir construyendo nuevos diagramas que vayan definiendo con mayor nivel de detalle lo flujos de datos y procesos de transformacin que ocurren en el sistema, de forma que al final obtenemos una jerarqua de diagramas. Mtodo del desarrollo por prototipos Los sistemas pueden desarrollarse con mtodos y lenguajes de programacin convencionales, aunque no tengan todas las caractersticas y toques finales de un sistema terminado. Quizs los informes no tengan encabezados, logos, etc., falten controles de entradas y procesamiento. Lo importante es el ensayo, y hallar los requerimientos. Los generadores de aplicaciones, son programas que sirven para hacer otros programas, son un apoyo en la construccin de prototipos, permitiendo definir la estructura visual de las pantallas, los registros de entrada y el formato de los informes. En algunos casos donde el sistema no ser utilizado frecuentemente, puede convertirse el prototipo en el sistema terminado, o bien, cuando no son muchos los beneficios que se obtienen. Razones para desarrollar prototipos de sistemas Los requerimientos de informacin no siempre estn bien definidos, pueden ser demasiados vagos an al formular el diseo. En otros casos, es probable que una investigacin de sistemas bien llevada, de como resultado un conjunto muy amplio de requerimientos de sistemas, pero construir un sistema que satisfaga a todos ellos quizs necesite del desarrollo de nueva tecnologa. Los prototipos permiten evaluar situaciones extraordinarias donde los encargados de disear e implantar sistemas no tienen informacin ni experiencia, o tambin donde existen situaciones de riesgo y costos elevados, y aquellas donde el diseo propuesto es novedoso y an no ha sido probada. La informacin obtenida con su uso se aplica en un nuevo diseo que se emplea, otra vez, como prototipo y que revela ms informacin valiosa sobre diseo. El proceso se repite las veces que sea necesario para revelar los requerimientos esenciales del diseo. Maquetas Cuando se comienza el desarrollo, tiene por objetivo presentar a los usuarios y/o clientes la apariencia del sistema final. Los usuarios pueden manifestar su opinin. Ambos mtodos son muy tiles para establecer la viabilidad del proyecto y definir acuerdos sobre los objetivos y resultados esperados. 10. Etapas del mtodo de prototipos

1- Identificacin de requerimientos conocido. La determinacin de los requerimientos de una aplicacin es tan importante para el mtodo de desarrollo de prototipo como lo es para los mtodos del ciclo clsico de desarrollo de sistemas o anlisis estructurado (aunque las tcticas son diferentes). Por consiguiente, antes de crear el prototipo, los analistas y usuarios deben trabajar juntos para identificar los requerimientos conocidos que tiene que satisfacerse. Para hacerlo determinan los fines para lo que servir el sistema y el alcance de sus capacidades. 2- Desarrollo de un modelo de trabajo Es til comenzar el proceso de construccin del prototipo con el desarrollo de un plan general que permita a las personas conocer lo que se espera de ellas y del proceso de desarrollo. Es difcil, y en ocasiones imposibles, fijar una fecha tentativa de terminacin. La experiencia con el sistema es la que determina eventualmente cuando en sistema esta terminado. Para comenzar la primera iteracin, usuarios y analistas identifican de manera conjunta los datos que son necesarios para el sistema y especifican la salida que debe producir la aplicacin. Las decisiones de diseo necesarias para desarrollar la salida del sistema cambian muy poco en relacin con las tomadas en otros mtodos de desarrollo. Sin embargo, con un prototipo, se espera que las especificaciones iniciales estn incompletas. En el desarrollo de un prototipo se preparan los siguientes componentes: *El lenguaje para el dilogo o conversacin entre el usuario y el sistema *Pantallas y formato para la entrada de datos *mdulos esenciales de procesamiento *Salida del sistema Al construir el prototipo se deben seguir los estndares para datos que emplea la organizacin. En esta etapa es ms importante la rapidez con que se construye el prototipo que la eficiencia de operacin. Es por esto que el analista no intenta optimizar la velocidad de operacin del sistema Durante la evaluacin los analistas de sistemas desean capturar 3)El prototipo y el usuario Es responsabilidad del usuario trabajar con prototipo y evaluar su caracterstica y operacin. La experiencia con el sistema bajo condiciones permite obtener la familiaridad

indispensable para determinar los cambios o mejoras que sean necesarios as como la eliminacin de caractersticas inadecuadas o innecesarias. 4)Revisin del prototipo informacin sobre los que les gusta y los que les desagrada a los usuarios. La informacin obtenida tendr influencia sobre las caractersticas de la siguiente versin de la aplicacin. Los cambios al prototipo son planificados con los usuarios antes de llevarlos a cabo. El analista es el responsable de realizar las modificaciones. 5) Repeticin del proceso las veces que sea necesario. El proceso finaliza cuando los usuarios y analistas estn de acuerdo en que el sistema ha evolucionado lo suficiente como para incluir todas las caractersticas necesarias o cuando ya es evidente que no se obtendr mayor beneficio. 6) El abandono o dejarlo como esta: Cuando se verifica de que no es posible desarrollar el sistema para satisfacer los objetivos deseados, ya sea por la tecnologa existente o por el factor economico. 11. Coordinacin y Gestin del proyecto. La gestin del proyecto presupone establecer condiciones para el desarrollo del mismo. Involucra actividades de: planificacin, estimacin de recursos, seguimiento y control y evaluacin del proyecto.

La planificacin de proyectos se define como la prediccin de la duracin de las actividades y tareas a nivel individual. La estimacin se define como la prediccin de personal, esfuerzo y costo que se requerir para terminar todas las actividades y productos conocidos asociados con el proyecto. El tamao del producto a desarrollar es una de las primeras tareas en la gestin del proyecto. El tamao se define como la cantidad de cdigo fuente, especificaciones, casos de prueba, documentacin del usuario y otros productos tangibles que son salida del proyecto, ste se basa principalmente en la experiencia de proyecto anteriores. El seguimiento de proyectos es la recoleccin de datos y su acumulacin sobre recursos consumidos, costos generados asociados con un proyecto. La medicin en los proyectos de desarrollo de software es una actividad fundamental para la mejora de la productividad, el costo y la calidad del producto final.

Proceso de Iniciacin del Proyecto. Abarca aquellas actividades de creacin de la estructura del proyecto. Durante este ciclo se define el ciclo de vida del software para este proyecto y se establecen en los planes para su

gestin. Se estiman y asignan los recursos necesarios a fin de ejecutar las distintas tareas que demanda el proyecto. Se identifican y seleccionan estndares, metodologas y herramientas para la gestin y ejecucin del mismo y, por ltimo, se prepara y establece un plan para su implementacin adecuada y oportuna. El plan de Gestin del Proyecto Software que conducir el desarrollo se produce como culminacin de este proceso. 12. Mediciones y estimaciones El software al ser intangible, no tener peso, ni volumen, ni superficie, etc. se mide a travs de diversos aspectos clave en el desarrollo. La medicin determina cuales son los aspectos y proporcionan mtodos para medirlos. La medicin y estimacin atacan los tres problemas claves de la ingeniera del software: 1. Estimar costos y recursos en un proyecto software 2. Garantizar la calidad del producto final 3. Mejorar la productividad del ingeniero de software durante el desarrollo. Teniendo en cuenta estos objetivos, las mtricas se centran en cuatro aspectos: Para estimar los recursos es necesario tener en cuenta una serie de factores de riesgo que influyen sustancialmente en la precisin de las estimaciones de los recursos humanos necesarios para la realizacin del proyecto. Los mas importantes son: *Complejidad de la tarea. *Modificaciones permitidas a lo largo del desarrollo *Experiencia previa de los desarrolladores *Duracin fijada del proyecto. *Estructuracin del problema y de las tareas. *Disponibilidad de datos e informacin suministrada por el usuario. *Disponibilidad y facilidad de comunicacin con el usuario. Adems de las fases estndar del desarrollo, hay que tener en cuenta la coordinacin y seguimiento del proyecto que suponen una importante carga de trabajo y que son olvidadas durante la planificacin o no se le dedica mucho. El costo global se compone de las partidas de viajes, hardware (nuevo o actualizacin), software (en caso de comprar algn paquete para el desarrollo), gastos comunes, y personal que es el mas influyente, ya que el costo de un proyecto es directamente proporcional a los recursos humanos.

El proceso engloba todas las actividades y fases que se llevan a cabo durante la realizacin del proyecto. Se persigue determinar si en cada fase los resultados producidos se corresponden con los esperados y en establecer un control sobre los recursos estimados para cada una de las fases. El producto incluye cualquier documento o software desarrollado que se genere durante el proceso completo. En las medidas de productos software existen medidas directas (costo del proyecto, esfuerzo empleado, lneas de cdigo implementadas, etc.) y medidas indirectas ( funcionalidad, fiabilidad, eficiencia, facilidad de mantenimiento, etc.). Herramientas para el desarrollo de sistemas Las herramientas son cualquier dispositivo que, emplendose adecuadamente, mejora el desempeo del desarrollo de sistemas de informacin. Se agrupan en las tres siguientes herramientas automatizadas: Herramientas de tipo Front-end Automatizan las primeras actividades del proceso de desarrollo de sistemas. Esta herramienta proporciona soporte para el desarrollo de modelos grficos de sistemas y procesos Los diagramas de flujo son representativos de este tipo de herramientas. Herramientas para anlisis stas herramientas ayudan a los especialistas en sistemas a documentar un sistema existente, ya sea manual o automatizado. Tambin sirve para determinar los requerimientos de una nueva aplicacin. Incluye: - Herramientas para recoleccin de datos: capturan detalles que describen sistemas y procedimientos en uso. Documentan procesos y actividades de decisin, se utilizan para apoyar la tarea de identificar requerimientos. - Herramientas para diagramacin: crean representaciones grficas de sistemas y actividades. Apoyan el dibujo y revisin de diagramas de flujos de datos e iconos asociados con el anlisis estructurado. Incluyen programas para representacin en diagramas de flujo. - Herramientas para el diccionario: registran y mantienen descripciones de los elementos del sistema, como grupo de datos, procesos, alimentos de datos, etc. Frecuentemente proporcionan la capacidad de examinar las descripciones del sistema, para decidir si son incompletas o inconsistentes.

Herramientas para diseo Apoyan el proceso de formular las caractersticas que el sistema debe tener para satisfacer los requerimientos deseados durante las actividades de anlisis. Incluye: - Herramienta de especificacin: apoyan el proceso de formular las caractersticas, como por ejemplo deben tener una aplicacin como entradas, salidas, procesamientos especficos de control. - Herramienta para presentacin: se utilizan para describir la posicin de datos, mensajes, y encabezados sobre las pantallas de las terminales, informes y otros medios de entradas y salidas. Los analistas utilizan las herramientas para el diseo de sistemas desde el inicio de la era de las computadoras. Ahora a las herramientas se le estn dando un nuevo significado en el diseo de software. Herramientas de tipo back-end Su finalidad es ayudar al analista a formular la lgica del programa, los algoritmos de procesamiento y la descripcin fsica de datos. Tambien ayudan a la interseccin con los dispositivos (para entrada y salida). Estas actividades convierten los diseos lgicos del software en un cdigo de programacin; este es que da existencia a la aplicacin. Herramientas para el desarrollo Ayudan al analista a trasladar los diseos en aplicaciones funcionales. Incluye: - Herramientas para ingeniera Software: apoyan el proceso de formular diseos de software, incluyendo procesamientos y controles. - Generadores de cdigos: producen el cdigo fuente y las aplicaciones a partir de especificaciones funcionales bien articuladas - Herramientas para pruebas: apoyan la fase evaluacin de un sistema. Incluyen facilidades para examinar la correcta operacin del sistema. Herramientas integrales Proporcionan un ambiente que automatiza tareas claves a lo largo del proceso de desarrollo. Estas herramientas facilitan el diseo, administracin y mantenimiento del cdigo. Brinda un ambiente eficiente para crear, almacenar, manipular y documentar sistemas. 13. Reingeniera e ingeniera inversa

Los conceptos de reingeniera e ingeniera inversa estn ligados al desarrollo de software a gran escala, donde una mejora en proceso de este desarrollo supone un aumento en la competitividad de la empresa. Aunque hay que tener en cuenta que esta mejora es, en general a largo plazo (normalmente de uno a dos aos) ambas actividades, estn orientadas a automatizar el mantenimiento de aplicaciones. Esta es una tarea que consume gran cantidad de recursos, por lo que cualquier reduccin en el tiempo y recursos empleados en ella supone una importante mejora en la productividad del proceso. Este es el principal objetivo de la reingeniera. Se trata, de analizar el cdigo o el diseo actual y modificarlo con la ayuda de herramientas automticas para traducirlos a cdigos mas estructurados, y ms eficientes. Dentro de la reingeniera, el proceso de pasar del cdigo a una descripcin de mas alto nivel es lo que se denomina: Ingeniera inversa. La reingeniera e ingeniera inversa prolongan la vida del software. Dado que es una labor estratgica, es conveniente conocer cuando conviene realizar la tarea de reingeniera para una aplicacin y cundo es ms rentable sustituirla e implementar una nueva. Las aplicaciones para el primer paso, son aquellas en la que se produce las siguientes situaciones:

Fallos frecuentes, que son difciles de localizar Son poco eficientes, pero realizan la funcin esperada Dificultades en la integracin con otros sistemas Calidad pobre del software final Resistencia a introducir cambios Pocas personas capacitadas para realizar modificaciones Dificultades para realizar pruebas El mantenimiento consume muchos recursos Es necesario incluir nuevos requisitos, pero los bsicos se mantienen.

Desarrollo de software con y para reuso El desarrollo de software con reso consiste en desarrollar una aplicacin usando software ya existente. Cualquier profesional lo utiliza El desarrollo de software para reuso consiste en la construccin de un sistema con la intencin de reutilizar partes de l en futuros desarrollos. Con software a gran escala, un buen profesional con experiencia puede desarrollarlo. Estudios realizados determinan que la prctica de reutilizacin del software en un proyecto aumenta la productividad durante el desarrollo de dicho proyecto.

Sin embargo, la reutilizacin del software no cubre solo el reuso de cdigos, abarca todo un amplio de posibilidades en los diferentes niveles, metodologa, ciclos de vida, planes del proyecto, especificaciones de requisitos, diseos, arquitectura software, planes de validacin, juegos de prueba y documentacin.

S-ar putea să vă placă și