Ciclo de Vida 2015

71
CICLO DE VIDA DEL SOFTWARE

description

Material de sistemas

Transcript of Ciclo de Vida 2015

  • CICLO DE VIDA

    DEL SOFTWARE

  • Secuencia de eventos en el desarrollo de un sistema de informacin(aplicacin), lo cual requiere del esfuerzo mutuo, tanto de parte del

    usuario como del equipo tcnico. (Freedman, 1993)

    El proceso de desarrollo (las actividades involucradas en el desarrollo

    y mantenimiento de software) es un proceso complejo y variable que no

    puede ser fcilmente descrito usando un solo modelo. (Sommerville,1998)

  • CICLO DE VIDA DEL DESARROLLO DE SISTEMAS.

    Se puede decir que el ciclo de vida es una herramienta de gestin de proyectos- empleada para planificar, elaborar y controlar el proyecto de desarrollo de un sistema- y que involucra tanto a analistas como a ingenieros de software, programadores, propietarios y usuarios.

    Para el ptimo desarrollo de un sistema de informacin se deben seguir las siguientes fases:

    1.Planificacin 2.Anlisis 3.Diseo 4.Implantacin 5.Mantenimiento

  • Retos en los negocios

    Administracin

    Organizacin

    Sistema de

    informacin

    Soluciones

    De negociosTecnologa de

    informacin

    Especificar Servicios.

    Crear polticas de

    distribucin

    de datos.

    Clientes

    Personal

    Operadores.

    Competencia por clientes.

    Proporcionar datos de

    transaccin de bonos

    en tiempo real.

    Ampliar la base

    de Clientes

    Agilizar el flujo

    interno de

    informacin.

    Paquetes de Software

    Web

    Sistema de Compraventa

    interno

    Java

    Windows NT

    Red cliente/servid

    or.

  • Es un paradigma de

    la programacin,

    que proporciona

    lineamientos para

    desarrollar un

    proyecto de sistema

    de informacin

  • Principios Generales para Desarrollar un Sistema de Informacin

    Gestionar el proyecto

    Establecer estndares

    Implicar a los usuarios

    Establecer fases y actividades

    Dividir el problema y resolverlos uno a uno

    Documentar el desarrollo del proyecto

    No tener miedo de revisar o cancelar algn objetivo

    Disear el sistema con previsin de crecimiento

    Utilizar una estrategia de resolucin de problemas

    Justificar al sistema como una inversin de capitalWhitten

    (2004)

  • Ciclo de Vida = Proceso de Desarrollo + Mantenimiento

    El ciclo de vida de un SI presenta dos estados por los que un sistema

    puede pasar

    Procesos para el

    desarrollo del SI

    Uso y mantenimiento

    del SI

  • ETAPAS

    Implementacin

    1

    Planificacin

    2

    Anlisis

    3

    Diseo

  • EL CICLO TRADICIONAL DE LOS S.I.

    FASE 1

    FASE 2

    FASE 3

    FASE N

    FASE N + 1

    Fases varan de

    autor en autor y

    segn las

    organizaciones

    que los usen

    Cada posible conjunto

    de fases, actividades,

    mtodos,

    herramientas, mejores

    prcticas, forman una

    metodologa diferente

    Las etapas del proceso para

    el desarrollo de sistemas

    estn formados por fases

    Las fases se deben

    realizar en forma

    secuencial. Sin embargo

    el analista puede volver a

    alguno de los pasos

    anteriores

  • 12.1 El ciclo de vida tradicional de los Sistemas

    Ciclo de vida de un Sistema de Informacin.

    Ao 1

    Punto de revisin 1

    Iniciacin del

    proyecto

    Vida de 3 a 8 aos

    Definicin

    del proyecto

    Estudio

    de sistemas

    Diseo

    Programacin

    Instalacin

    Post-

    implementacin

    Informe de propuesta de proyecto

    Informe de propuesta de

    sistemas

    Especificaciones de diseo

    Especificaciones de

    programas - cdigo

    Pruebas de desempeo del

    sistema

    Auditora post-implementacin

    ETAPAS PRODUCTOS FINALES

    OPERACIONES

    Punto de revisin 2

    Decisin de

    solucin de diseo

    Punto de revisin 3

    Aprobacin de

    especificacin de

    diseo

    Ao 2

  • Etapas del ciclo de vida de los

    Sistemas

    Definicin del Proyecto

    Por qu es necesario un nuevo proyecto de

    sistema?

    Que se quiere lograr?

    Estudio de Sistemas

    Analiza a fondo los problemas existentes

    Examina la factibilidad de cada solucin alterna

    Sondear a los usuarios con cuestionarios,

    entrevistas

  • Etapas del ciclo de vida de los

    Sistemas

    Diseo Diseo fsico y lgico de la

    solucin.

    Programacin

    Traduce las especificaciones de diseo a cdigo de programa

    de software.

    Java, .net

  • Etapas del ciclo de vida de los

    Sistemas

    Instalacin Pruebas, capacitacin y

    conversin.

    Post - Implementacin Uso y evaluacin del sistema.

    Mantenimiento del sistema.

  • Ciclo de Vida de los Sistemas

    Anlisis

    Definicin del

    problema,

    identificacin de

    la solucin,

    anlisis de

    factibilidad,

    estimacin de

    esfuerzo,

    recursos y

    duracin, identif.

    de riesgos y

    especificacin de

    requerimientos.

    Diseo Programacin Prueba Conversin Produccin

    - Si se trata de

    realizar el

    desarrollo:

    Diseo lgico y

    Fsico.

    - Si se trata de

    adquisicin de

    sistema

    existente:

    identificacin de

    las partes a

    customizar y

    adaptaciones a

    realizar

    Responde a

    QUE

    Usuario activo

    -Si se trata de un

    nuevo desarrollo:

    Codificacin del

    sistema.

    - Si se trata de

    adquisicin de

    sistema existente:

    configuracin y

    parametrizacin

    del sistema.

    Comprobacin del

    funcionam. del

    sistema:

    - Pruebas unitarias

    - Prueba de

    Sistemas

    - Pruebas de

    Aceptacin de

    Usuario.

    Otras Clases de

    pruebas.

    Capacitaciones

    Implantar el nuevo

    sistema.

    Estrategias

    posibles:

    - Paralela

    - Cambio Directo

    - Estudio Piloto

    - Por Fases

    Responde a

    COMO

    Usuario activo Usuario activo Usuario activo

    Monitoreo del

    sistema para

    detectar:

    - Errores

    - Modificaciones

    - Mejoras

  • Etapas del Ciclo de Vida Tradicional

    Definicin

    Foco puesto en

    la definicin del

    objetivo,

    alcance, la

    factibilidad del

    proyecto, la

    estimacin de

    esfuerzo,

    recursos y

    duracin,

    restricciones y

    riesgos.

    Anlisis Diseo Programacin InstalacinPost-Implementacin

    Foco puesto

    en elaboracin

    de los

    requerimientos

    planteados en

    la etapa

    anterior, y en la

    planificacin

    detallada de

    las dos fases

    siguientes.

    Plan de

    Proyecto

    Lder , Analista

    Funcional,

    Usuario

    Foco puesto

    en la

    definicin de

    arquitectura,

    el diseo

    lgico y

    fsico

    Foco en la

    traduccin del

    diseo a cdigo y

    en la ejecucin

    de pruebas

    unitarias y de

    Sistemas.

    Cierre del

    Sistema:

    Pruebas de

    Aceptacin de

    Usuario,

    Capacitacin y

    Conversin.

    Especificacin

    de Diseo

    Analista

    Funcional y

    Tcnico

    Uso y evaluacin

    del Sistema para

    determinar las

    necesidades de

    adaptacin.

    Especif. Req.

    Plan Pruebas

    Analista

    Funcional,

    Usuario

    Cdigo Fuente

    y Objeto

    Programador y

    Analistas

    Manuales,

    Informe Prueba

    Usuario y

    Analistas

    Incidentes y

    Nuevos Req.

    Usuario y

    Analistas

  • Investigacin Preliminar

    Determinacin

    de Requerimientos

    Diseo del SistemaDesarrollo del Software

    Prueba del Sistema

    Implantacin y Evaluacin

    Ciclo de Vida

    del Desarrollo

    de Sistemas

  • 1.-Identificacin de

    problemas,

    oportunidades y

    objetivos

    2.- Determinacin de

    los requerimientos de

    informacin

    3.- Anlisis de las

    necesidades del

    sistemas

    4.- Diseo del

    sistema

    recomendado5.- Desarrollo y

    documentacin del

    software

    6.- Prueba y

    mantenimiento del

    sistema

    7.- Implementacin

    y evaluacin del

    hardware

  • Definir y plantear

    el problemaDeterminar

    factibilidad

    Diseo Prueba

    del sistema

    Implementacin Evaluacin Uso y

    mantenimiento

    Documentacin

    R

    E

    V

    I

    S

    I

    N

    Determinar

    Tamao del

    proyecto

    Participacin del

    cliente

  • Qu es lo que requiere el cliente?Qu

    es lo que realmente se necesita?

    Qu es lo que se

    est haciendo?

    Determinar el

    tamao del proyecto

    Recursos humanos

    Cantidad de tiempo

    para el desarrollo

    Tcnica

    Operacional

    Financiera

    Aclarar y comprender la

    solicitud del proyecto

    Determinar factibilidad

    Cmo se hace? Con que

    frecuencia se presenta?

    Existe algn problema? Qu

    tan serio es? Cul es la causa

    que lo origina?

    Planeacin

  • Factibilidad

    Factibilidad

    tcnica

    LAN

    Existe o se puede adquirir la tecnologa

    necesaria para realizar lo que se pide?

    El equipo propuesto tiene la capacidad

    tcnica para soportar todos los datos

    requeridos para usar el nuevo sistema?

    Si se desarrolla el sistema, puede crecer

    con facilidad?

    Existen garantas tcnicas de exactitud,

    confiabilidad, facilidad de acceso y

    seguridad de los datos?

    Factibilidad

    financiera

    Los beneficios

    igualan o exceden los

    costos?

    Factibilidad

    operacional

    BENEFICIOS

    Trabajar el

    sistema cuando est

    terminado?

    Existen barreras

    importantes para la

    implantacin?

    Existe apoyo suficiente para

    el proyecto?

    Los usuario estn

    dispuestos al cambio?

  • Diseo

    Parte de la informacin

    obtenida en la etapa

    anterior

    Planificacin

    Se disean

    procedimientos para la

    captura de datos

    (correctos)

    Se disea la interfaz del

    usuario

    Se disean los archivos o

    bases de datos

    Se disea la estructura

    global de los programas

    requeridos por la

    aplicacin, en relacin

    con las funciones que

    sern desempeadas por

    cada programa

    Se disean las salidas

    Se disean procedimientos

    de control y respaldos para

    proteger el sistema

  • Errar es humano Tiene como objetivo detectar

    los errores que se hayan

    podido cometer en las etapas

    anteriores del proyecto (y,

    eventualmente, corregirlos).

    Hacerlo antes de que el

    usuario final del sistema

    los tenga que sufrir

    Una prueba es un xito cuando se detecta

    un error (y no al revs, como nos gustara

    pensar).

    Prueba

    del sistema

  • Implementacin

    1.- Prueba de

    aceptacin

    Verificar

    ante el

    usuario

    Cumple con los criterios de

    desempeo

    Cumple con los criterios de

    operacionales

    2.- Construccin de

    archivos

    3.- Entrenamiento y

    capacitacin

  • Oly Mata

    Evaluacin

    La evaluacin de un sistema se lleva a cabo

    para identificar puntos dbiles y fuertes.

    Impacto organizacionalEvaluacin operacional

    Opinin de los

    administradores

    Desempeo

    del desarrollo

  • Tipos de mantenimiento:

    Perfectivo.

    Evolutivo.

    Adaptativo.

    Correctivo.

    *

  • Uso y mantenimiento

    Mantenimiento

    Preventivo y correctivo

    Anticipar y eliminar

    los defectos que se

    detecten durante su

    vida til

    Mantenimiento perfectivo

    Aadirle nueva funcionalidad, cuando

    se proponen caractersticas deseables

    que supondran una mejora del

    sistema ya existente

    Mantenimiento adaptativo

    Adaptarlo a nuevas necesidades,

    cuando el sistema ha de funcionar

    sobre una nueva versin del sistema

    operativo o en un entorno hardware

    diferente, por ejemplo

  • PRINCIPIOS

    Involucrar al usuario.

    Utilizar mtodos de solucin de

    problemas.

    Normalizar y

    documentar.

    Abordar adecuadamente cada una de las

    fases

    Justificar adecuadamente

    el sistema

    Cancelar o revisar el

    proyecto si es

    necesario.

    Descomponer y simplificar.

    Disear sistemas flexibles.

    *

  • Limitacin del enfoque del ciclo de vida

    El enfoque del ciclo de vida de los sistemas es costoso, tardado e inflexible.

    Este enfoque es poco flexible y obstaculiza los cambios

    El mtodo del ciclo de vida no es apropiado para las aplicaciones orientadas hacia la toma de

    decisiones

  • Limitacin del enfoque del ciclo de

    vida

    Una especificacin formal de los requisitos podra inhibir a los constructores del sistema que de otro modo explorara y descubriran la estructura del problema.

    El enfoque del ciclo de vida tampoco es apropiado para muchos sistemas pequeos y suelen ser menos estructurados y ms individualizados

  • Modelo clsico o en cascada.

    Modelo incremental.

    Modelo de desarrollo evolutivo.

    Modelo de prototipado de requerimientos.

    Modelo de espiral.

    Modelo de construccin de prototipos.

    Modelo de sntesis automtica de software.

    Mod

    elo

    de d

    esa

    rrol

    lo e

    volu

    tivo

    .

    *

  • Modelo clsico o en cascada.Ingeniera y Anlisis del

    Sistema

    Anlisis de los

    Requisitos

    Diseo

    Codificacin

    Prueba

    Mantenimiento

    Ingeniera y Anlisis del Sistema: Debido a que el software es siempre parte de un sistema mayor el trabajo comienza estableciendo los requisitos de todos los elementos

    del sistema y luego asignando algn subconjunto de estos requisitos al software.

    Anlisis de los requisitos del software: el proceso de recopilacin de los requisitos se centra e intensifica especialmente en el software. El ingeniero de software (Analistas)

    debe comprender el mbito de la informacin del software, as como la funcin, el rendimiento y las interfaces requeridas.

  • Modelo clsico o en cascada.

    Diseo: el diseo del software se enfoca en cuatro atributos distintos del programa: la estructura de los datos, la arquitectura del software, el detalle procedimental y la caracterizacin de la interfaz. El proceso de diseo traduce los requisitos en una representacin del software con la calidad requerida antes de que comience la codificacin.

    Codificacin: el diseo debe traducirse en una forma legible para la maquina. El paso de codificacin realiza esta tarea. Si el diseo se realiza de una manera detallada la codificacin puede realizarse mecnicamente.

    Prueba: una vez que se ha generado el cdigo comienza la prueba del programa. La prueba se centra en la lgica interna del software, y en las funciones externas, realizando pruebas que aseguren que la entrada definida produce los resultados que realmente se requieren.

    Mantenimiento: el software sufrir cambios despus de que se entrega al cliente. Los cambios ocurrirn debido a que hayan encontrado errores, a que el software deba adaptarse a cambios del entorno externo (sistema operativo o dispositivos perifricos), o debido a que el cliente requiera ampliaciones funcionales o del rendimiento.

  • Modelo incremental.

    Los riesgos asociados con el desarrollo de sistemas largos y complejos son enormes. Una forma de reducir los riesgos es construir slo una parte del sistema, reservando otros aspectos para niveles posteriores. El desarrollo incremental es el proceso de construccin siempre incrementando subconjuntos de requerimientos del sistema.

    El modelo de desarrollo incremental provee algunos beneficios significativos para los proyectos:

    Construir un sistema pequeo tiene siempre menos riesgo que construir un sistema grande.

    Al ir desarrollando parte de las funcionalidades, es ms fcil determinar si los requerimientos planeados para los niveles subsiguientes son correctos.

    Si un error importante es realizado, slo la ltima iteracin necesita ser descartada.

    Reduciendo el tiempo de desarrollo de un sistema decrecen las probabilidades que esos requerimientos de usuarios puedan cambiar durante el desarrollo.

    Si un error importante es realizado, el incremento previo puede ser usado.

    Los errores de desarrollo realizados en un incremento, pueden ser arreglados antes del comienzo del prximo incremento.

  • Modelo de desarrollo evolutivo.

    Construye una serie de grandes versiones sucesivas de un producto. El modelo evolutivo asume que los requerimientos no son completamente conocidos al inicio del proyecto.

    En el modelo evolutivo, los requerimientos son cuidadosamente examinados, y slo esos que son bien comprendidos son seleccionados para el primer incremento. Los desarrolladores construyen una implementacin parcial del sistema que recibe slo estos requerimientos.

    El sistema es entonces desarrollado, los usuarios lo usan, y proveen retroalimentacin a los desarrolladores. Basada en esta retroalimentacin, la especificacin de requerimientos es actualizada, y una segunda versin del producto es desarrollada y desplegada. El proceso se repite indefinidamente.

    Todo lo que uno tiene que hacer es construir un subconjunto de requerimientos conocidos y comprender al principio que muchos nuevos requerimientos es probable que

    aparezcan cuando el sistema sea desplegado o desarrollado.

  • Modelo de prototipado de requerimientos.

    El prototipado de requerimientos es la creacin de una implementacin parcial de un sistema, para el propsito explcito de aprender sobre los requerimientos del sistema.

    Un prototipo es construido de una manera rpida tal como sea posible. Esto es dado a los usuarios, clientes o representantes de ellos, posibilitando que ellos experimenten con el prototipo. Estos individuos luego proveen la retroalimentacin sobre lo que a ellos les gust y no les gust acerca del prototipo proporcionado, quienes capturan en la documentacin actual de la especificacin de requerimientos la informacin entregada por los usuarios para el

    desarrollo del sistema real.

  • Modelo en espiral

    Es un modelo evolutivo que combina el modelo clsico con el diseo de prototipos. Incluye la etapa de anlisis de riesgos. Es ideal para crear productos con diferentes versiones mejoradas. Este es el enfoque ms realista actualmente. El modelo en espiral se divide en un numero de

    actividades estructurales, tambin llamadas regiones de tareas.

    Generalmente, existen entre tres y seis regiones de tareas: Comunicacin con el cliente: las tareas requeridas para establecer comunicacin entre el

    desarrollador y el cliente.

    Planificacin: las tareas requeridas para definir recursos, el tiempo y otras informaciones relacionadas con el proyecto. Son todos los requerimientos.

    Anlisis de riesgos: las tareas requeridas para evaluar riesgos tcnicos y otras informaciones relacionadas con el proyecto.

    Ingeniera: las tareas requeridas para construir una o ms representaciones de la aplicacin.

    Construccin y adaptacin: las tareas requeridas para construir, probar, instalar y proporcionar soporte al usuario.

    Evaluacin del cliente: las tareas requeridas para obtener la reaccin del cliente segn la evaluacin de las representaciones del software creadas durante la etapa de ingeniera e implementacin durante la etapa de instalacin.

  • El modelo en espiral

    Ingeniera

    Construccin y adaptacinEvaluacin del

    cliente

    Comunicacin con el cliente

    PlanificacinAnlisis de riesgos

  • Modelo de construccin de prototipos

    Recoleccinrefinamiento

    requisitos

    Diseorpido

    Construccindel prototipo

    Evaluacindel prototipopor el cliente

    Refinamientodel prototipo

    Producto deingeniera

  • Modelo de construccin de prototipos

    Este modelo arranca con el establecimiento de los requerimientos del sistema, se definen los objetivos del sistema y los requisitos conocidos con base en las reas de mayor prioridad e importancia para el sistema.

    Luego se hace un diseo preliminar , sobre el cual se construye un prototipo o modelo del sistema, compuesto a menudo de ventanas, tablas de la Base de Datos, formatos de entrada y de salida bsicos.

    Un prototipo es una representacin o modelo del producto de programacin que incorpora componentes del producto real. Por lo regular, un prototipo tiene un funcionamiento limitado en cuanto a

    capacidades, confiabilidad o eficiencia.

  • Prototipos

    Identificar Requerimientos

    Desarrollar Prototipo

    Utilizar Prototipo

    Mejorar Prototipo

    Satisfecho?

    Prototipo Funcional

    NoSi

    Paso 1

    Paso 2

    Paso 3

    Paso 4

  • Ventajas de la elaboracin de Prototipos

    Desventajas de la elaboracin de Prototipos

    tiles cuando existe incertidumbre acerca de la necesidades

    Valioso para disear la Interfaz del usuario final

    Fomenta la participacin de los usuarios finales

    Es apropiada solo para aplicaciones pequeas

    Puede omitir pasos indispensables en el desarrollo de sistemas

    Requiere buena administracin y mecanismos para definir expectativas.

  • Modelo de sntesis automtica de software

    Se define el sistema utilizando un lenguaje formal.

    La implementacin es automtica, asistida por el Ordenador.

    La documentacin se genera de forma automtica.

    El mantenimiento se realiza por sustitucin no mediante parches.

    Dificultad en la participacin del usuario.

    Diseos poco optimizados.

  • Compra de Paquetes de Software de Aplicaciones

    Se respeta la etapa de Definicin, Pruebas, Instalacin y Post-Implementacin.

    La etapa de Anlisis incluir la evaluacin de los paquetes existentes en el mercado:

    Confeccin de la solicitud de Propuesta a Proveedores (RFP) que incluye:

    Requerimientos Funcionales y no funcionales a cumplir

    Recursos de Hardware, software, base de datos necesarios.

    Esfuerzo de customizacin, instalacin, capacitacin y mantenimiento

    Documentacin a entregar

    Calidad del Fabricante

    Costo del producto y trabajo.

    Trminos del contrato.

    Recepcin de las propuestas de los proveedores

    Confeccin de Matriz de Evaluacin de Proveedores.

    Seleccin del proveedor/producto.

    Contratacin del mismo.

    El Diseo tratar de amoldar los requerimientos del usuario a las caractersticas del paquete

  • Desarrollo por usuarios Finales:

    No se utilizan pasos predefinidos.

    El desarrollo lo hace el usuario final que conoce la herramienta a utilizar.

    Se trabaja con herramientas de cuarta Generacin.

    Ahorro de tiempo de Respuesta a los requerimientos.

    La administracin debera controlar este tipo de desarrollo para su posterior administracin y

    mantenimiento:

    requiriendo justificacin econmica para su realizacin.

    estableciendo hardware y software posibles de utilizar as como normas de calidad

    necesarias de cumplir.

    Proporcionando apoyo tcnico y capacitacin para este tipo de desarrollo.

  • Comparacin de Enfoques

    Ciclo de Vida Tradicional

    Sistemas complejos medianos o grandes

    Requerimientos claros, predefinidos y congelados en la etapa de Anlisis

    Divide el desarrollo en fases formales secuenciales

    Documentacin por fases. Desalienta cambios

    Costoso, lento e inflexible.

    Uso CaractersticasEnfoque

    Prototipos

    Gran participacin del usuario.

    Proceso iterativo. Construccin rpida y econmica

    Puede omitir pasos esenciales. Puede no servir para escalar el sistema.

    Paquetes de Software de Aplicacin

    Ahorro de tiempo y costo en diseo y construccin.

    Mantenimiento y mejoras a cargo del proveedor

    Tener especial atencin en la cantidad de requerimientos nicos a implementar.

    Desarrollo por usuarios finales

    Mayor involucramiento y satisfaccin del usuario

    Rpido e Informal. Ahorra tiempos y costos.

    Riesgos en el control/administracin del sistema y en la falta de documentacin del mismo.

    Incertidumbre en Requerimientos

    Sistemas pequeos a medianos

    Como apoyo de procesos universales y estandarizados

    Como resolucin de requerimientos simples (sobre todo reportes)

  • Tercerizacin Subcontratacin (Outsourcing):

    Proceso mediante el cual una firma identifica alguna porcin, o rea de negocio que podra

    ser desempeada ms eficientemente y/o ms efectivamente por otra corporacin, la cual

    es contratada para desarrollarla.

    Su principal objetivo:

    concentrar los esfuerzos de una compaa en las actividades esenciales del negocio, a fin

    de:

    otorgar valor agregado a los clientes mediante agilidad y oportunidad en el

    manejo de los procesos transferidos

    reducir los tiempos de procesamiento

    reducir costos y personal permanente

    potencializar los talentos humanos

    Qu actividades del rea de Sistemas se podran tercerizar? Por qu?

  • xito y Fracaso de los

    Sistemas de InformacinEl 75 % de los proyectos de Desarrollo de sistemas fracasan por:

    Mayores costos de lo previsto Costos y Recursos

    No terminan en el tiempo estimado Tiempos

    No son operables Alcance.

    Principales reas de problemas (origen en factores de organizacin):

    Diseo: Diseo no compatible con la estructura, cultura y metas de la organizacin.

    Datos: Informacin ambigua, errnea, desglosada indebidamente o incompleta.

    Costos: Los gastos excesivos no pueden justificarse con el valor que el sistema proporciona al

    negocio.

    Operaciones: Informacin que no se proporciona en forma oportuna o eficiente por fallas en el

    procesamiento de la informacin.

  • xito y Fracaso de los Sistemas de

    Informacin (Cont.)

    Como se mide si tuvo xito de un sistema de informacin?

    Utilizacin del Sistema de Informacin

    Satisfaccin del usuario (Como el sistema mejora el trabajo de los usuarios)

    Actitud favorable del usuario hacia los responsables del sistema.

    Logro de objetivos (Cumplimiento de metas planeadas)

    Recompensa financiera

    Factores Clave del xito de la Implantacin de Sistemas de Informacin:

    Apoyo y compromiso gerencial

    Comunicaciones claras e involucramiento del usuario

    Tener en cuenta el nivel de complejidad y la gestin de riesgos

    Calidad de la administracin de la Implementacin

  • Reingeniera de Software

    Es una metodologa que ataca el problema del

    envejecimiento del software.

    Esto pasa cuando se escribi o se us mal la

    metodologa como el anlisis, el diseo, e incluso

    la programacin.

    Estos software son difcil de mantenimiento y

    actualizaciones

  • Reingeniera de Software

    Distribucin del costo del ciclo de vida

  • Reingeniera de Software

    La reingeniera de software sirve para extraer

    informacin de diseo y programacin de

    sistemas existentes, para as crear sistemas

    nuevos sin tener que comenzar desde cero.

    Importancia

    Puede reducir los riesgos evolutivos en una organizacin

    Puede ayudar a las organizaciones a recuperar susinversiones en software

    Puede hacer el software mas fcilmente modificable

    Es un catalizador para la automatizacin delmantenimiento de software

  • Reingeniera de Software

    Ingeniera inversa.- Implica extraer lasespecificaciones de negocios fundamentales de

    sistemas existentes.

    Modificaciones del diseo.- mejoran laarquitectura del software.

    Ingeniera hacia delante.- Usan lasespecificaciones modificadas, con el fin de

    generan un cdigo nuevo reutilizable que sea

    fcil de mantener.

    La reingeniera abarca tres pasos:

  • Reingeniera de Software

    Pasos de la reingeniera:

  • Anlisis de sistemas El anlisis de sistemas es el estudio de una aplicacin del sistema de informacin y

    de empresa actual y la definicin de las necesidades y las prioridades de usuario para conseguir una aplicacin nueva o mejorada.

    Trata bsicamente de determinar los objetivos y lmites del sistema objeto de anlisis, caracterizar su estructura y funcionamiento, marcar las directrices que permitan alcanzar los objetivos propuestos y evaluar sus consecuencia.

    Incluye las siguientes fases:

    Anlisis de la Viabilidad del Proyecto (o fase de inspeccin).

    Anlisis del sistema actual ( o fase de estudio).

    Definicin y establecimiento de prioridades entre las necesidades de usuarios( o fase de definicin).

    Anlisis de la Viabilidad del Proyecto.

    Objetivos de inspeccin.

    Identificar los problemas, las oportunidades y las normas que dieron lugar a la solicitud del proyecto.

  • Anlisis de la Viabilidad del Proyecto.

    Determinar si resolver los problemas, aprovechar las oportunidades y cumplir las normas reportar beneficios a la empresa.

    Qu tcnicas se utilizarn en el EVS?

    Anlisis coste/beneficio.

    Diagrama entidad/relacin extendido.

    Sesiones de trabajo.

    Catalogacin

    Impacto en la organizacin.

    Planificacin

    Diagramas de actividades

    Matricial

    Presentacin

  • Anlisis de la Viabilidad del Proyecto.

    Dnde interviene cada uno de los siguientes participantes y cules su misin?

    Comit de direccin: participa al principio y al final del EVS. Su misin es indicar cul debe ser el alcance del sistema y aprobar la solucin final.

    Usuarios expertos: participan en el estudio de la situacin actual, la definicin de requisitos y el estudio de alternativas. Su objetivo es ayudar a conocer los sistemas existentes, exponer sus requisitos y dar su opinin en las alternativas de solucin.

    Especialistas en comunicaciones: participan en el estudio de alternativas de solucin. Su objetivo es definir los requisitos de comunicacin de las distintas soluciones.

  • Anlisis del sistema actual Consiste en estudiar y analizar el sistema actual, siempre y cuando se cuente con un

    sistema actual, hago uso o no de la informtica, dota al analista de una comprensin mas profunda del sistema.

    Los objetivos:

    Conocer el entorno de empresa del sistema.

    Conocer las causas y los efectos subyacentes del sistema.

    Conocer las ventajas de aprovechar las oportunidades.

    Conocer las implicaciones de no cumplir con las normas.

  • Establecer las prioridades de los usuarios

    Define a partir de la informacin qu necesita y que quiere el usuario que haga el sistema.

    Objetivos:

    Definir las necesidades de la empresa sobre problemas.

    Definir las necesidades de empresa sobre oportunidades

    Definir las necesidades sobre normas.

    Actividades:

    Identificar las necesidades.

    Modelizar las necesidades de sistemas.

    Elaborar prototipos de descubrimiento.

    Definir prioridades entre las necesidades de empresa.

    Modificar el mbito y el plan de proyecto.

    Revisar las especificaciones de las necesidades.

  • Diseo de sistemas El diseo de sistemas se define como el proceso de aplicar ciertas tcnicas y

    principios con el propsito de definir un dispositivo, un proceso o un sistema, con suficientes detalles como para permitir su interpretacin y realizacin fsica.

    La fase de diseo de sistemas encierra cuatro etapas:

    El diseo de los datos: trasforma el modelo de dominio de la informacin, creado durante el anlisis, en las estructuras de datos necesarios para implementar el software.

    El diseo arquitectnico: define la relacin entre cada uno de los elementos estructurales del programa.

    El diseo de la interfaz: describe como se comunica el software consigo mismo, con los sistemas que operan junto con el y con los operadores y usuarios que lo emplean.

    El diseo de procedimientos: transforma elementos estructurales de la arquitectura del programa. La importancia del diseo del software se puede definir en una sola palabra Calidad, dentro del diseo es donde se fomenta la calidad del proyecto.

  • El diseo de procedimientos

    El diseo es la nica manera de materializar con precisin los requerimientos del cliente.

    El diseo del software es un proceso y un modelado a la vez. El proceso de diseo es un conjunto de pasos repetitivos que permiten al diseador describir todos los aspectos del sistema a construir.

    A lo largo del diseo se evala la calidad del desarrollo del proyecto con un conjunto de revisiones tcnicas:

    El diseo debe implementar todos los requisitos explcitos contenidos en el modelo de anlisis y debe acumular todos los requisitos implcitos que desea el cliente.

    Debe ser una gua que puedan leer y entender los que construyan el cdigo y los que prueban y mantienen el software.

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

  • Diseo de sistemas

    Diseo de la salida.

    En este caso salida se refiere a los resultados e informaciones generadas por el sistema. Para la mayora de los usuarios la salida es la nica razn para el desarrollo de un sistema y la base de evaluacin de su utilidad.

    Cuando se realiza un sistema, como analistas deben realizar lo siguiente:

    Determine que informacin presentar. Decidir si la informacin ser presentada en forma visual, verbal o impresa y seleccionar el medio de salida.

    Disponga la presentacin de la informacin en un formato aceptable.

    Decidir como distribuir la salida entre los posibles destinatarios.

  • Diseo de sistemas

    Diseo de archivos.

    Incluye decisiones con respecto a la naturaleza y contenido del propio archivo, como si fuera a emplear para guardar detalles de las transacciones, datos histricos, o informacin de referencia.

    Entre las decisiones que se toman durante el diseo de archivos, se encuentran las siguientes:

    Los datos que deben incluirse en el formato de registros contenidos en el archivo.

    La longitud de cada registro, con base en las caractersticas de los datos que contenga.

    La secuencia a disposicin de los registros dentro del archivo.

    No todos los sistemas requieren del diseo de todos los archivos, ya que la mayora de ellos pueden utilizar los del viejo sistema y solo tenga que enlazarse el nuevo sistema al archivo maestro donde se encuentran los registros.

  • Diseo de sistemas

    Diseo de interacciones con la base de datos.

    La mayora de los sistemas de informacin ya sean implantados en sistemas de cmputos grandes o pequeos, utilizan una base de datos que pueden abarcar varias aplicaciones, por esta razn estos sistemas utilizan un administrador de base de datos, en este caso el diseador no construye la base de datos sino que consulta a su administrador para ponerse de acuerdo en el uso de la base de datos en el sistema.

    Herramientas para el diseo de sistemas.

    Apoyan el proceso de formular las caractersticas que el sistema debe tener para satisfacer los requerimientos detectados durante las actividades del anlisis.

    Herramientas para presentacin.

    Se utilizan para describir la posicin de datos, mensajes y encabezados sobre las pantallas de las terminales, reportes y otros medios de entrada y salida.

  • Diseo de sistemas

    Herramientas de especificacin. Apoyan el proceso de formular las caractersticas que debe tener una aplicacin,

    tales como entradas, salidas, procesamiento y especificaciones de control. Muchas incluyen herramientas para crear especificaciones de datos.

    Herramientas para el desarrollo de sistemas. Estas herramientas nos ayudan como analistas a trasladar diseos en aplicaciones

    funcionales.

    Herramientas para ingeniera de software. Apoyan el proceso de formular diseos de software, incluyendo procedimientos y

    controles, as como la documentacin correspondiente.

    Generadores de cdigos. Producen el cdigo fuente y las aplicaciones a partir de especificaciones funcionales

    bien articuladas.

  • Diseo de sistemas

    Herramientas para pruebas.

    Apoyan la fase de la evaluacin de un sistema o de partes del mismo contra las especificaciones.

    Incluyen facilidades para examinar la correcta operacin del sistema as como el grado de perfeccin alcanzado en comparacin con las expectativas.

    La revolucin del procesamiento de datos de manera computarizada, junto con las practicas de diseo sofisticadas estn cambiando de forma dramtica la manera en que se trasladan las especificaciones de diseo de sistemas de informacin funcionales.

  • Fase de implantacin

    Es la ltima fase del desarrollo de sistemas. Es el proceso de instalar equipos o software nuevos, como resultado de un anlisis y diseo previo como resultado de la sustitucin o mejoramiento de la forma de llevar a cabo un proceso automatizado.

    Al implantar un sistema de informacin lo primero que debemos hacer es asegurarnos que el sistema sea operacional, es decir, que funcione de acuerdo con lo que requiere el anlisis y permita que los usuarios puedan operar con l.

    Existen varios enfoques de implementacin:

    Es darle responsabilidad a los grupos.

    Uso de diferentes estrategias para el entrenamiento de los usuarios.

    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 desempeo con las cuales evaluar a los usuarios.

    Debe convertir fsicamente el sistema de informacin antiguo en el nuevo modificado.

  • Fase de implantacin

    Capacitacin de usuarios del sistema.

    Es ensear a los usuarios que se relacionan u operan en un proceso de implantacin. La responsabilidad de esta capacitacin de los usuarios primarios y secundarios es del analista,

    desde el personal de captura de datos hasta aquellos que toman las decisiones sin usar un ordenador.

    La empresa puede contratar los servicios de instructores externos pero el analista es la persona que puede ofrecer la mejor capacitacin debido a que conoce al personal y el sistema mejor que cualquier otra persona.

    Si falta el analista la empresa puede contratar otros servicios de capacitacin como son:

    Vendedores: son aquellos que proporcionan capacitacin gratuita fuera de la empresa de uno o dos das.

    Instructor pagado externamente: son aquellos que pueden ensear todo acerca de los ordenadores pero para algunos usuarios esta no es una capacitacin necesaria.

    Instructores en casa: estn familiarizados con el personal y pueden adecuar los materiales a sus necesidades, pero le faltara experiencia en sistemas de informacin que es realmente la necesidad del usuario.

    El objetivo de la capacitacin es lograr que los usuarios tengan el dominio necesario de las cosas bsicas acerca de las maquinarias y procesos que se emplean para su operacin de manera eficiente y segura.

  • La evaluacin del sistema

    Se lleva a cabo para identificar puntos dbiles y fuertes del sistema implantado. La evaluacin ocurre a lo largo de cualquiera de las siguientes cuatro dimensiones:

    Evaluacin operacional: es el momento en que se evala la manera en que funciona el sistema, esto incluye su facilidad de uso, tiempo de respuesta ante una necesidad, como se adecuan los formatos en que se presenta la informacin, contabilidad global y su nivel de utilidad.

    Impacto organizacional: identifica y mide los b operacionales para la empresa en reas como las finanzas, eficiencia en el desempeo laboral e impacto competitivo.

    Desempeo del desarrollo: es la evaluacin del proceso de desarrollo adecuado tomando en cuenta criterios como, tiempo y esfuerzo en el desarrollo concuerdan con presupuesto y estndares.

    Prueba de sistemas: dependiendo del tamao de la empresa que usara el sistema y el riesgo asociado a su uso, puede hacerse la eleccin de comenzar la operacin del sistema solo en un rea de la empresa (como una prueba piloto), que puede llevarse a cabo en un departamento o con una o dos personas. Cuando se implanta un nuevo sistema lo aconsejable es que el viejo y el nuevo funcionen a la vez con la finalidad de comparar los R que ambos ofrecen en su operacin, adems de dar tiempo al personal para adaptarse al nuevo sistema.

  • Fase de utilizacin y mantenimiento

    La fase de mantenimiento de software aporta cambios al mismo para corregir defectos y dependencias encontradas durante su uso as como la adicin de nuevas funciones para mejorar la usabilidad y aplicabilidad del software.

    Tipos de mantenimiento:

    Perfectivo: son las acciones llevadas a cabo para mejorar la calidad interna de los sistemas en cualquiera de sus aspectos; reestructuracin del cdigo, definicin ms clara del sistema y optimizacin del rendimiento y eficiencia.

    Evolutivo: son las incorporaciones, modificaciones y eliminaciones necesarias en un producto software para cubrir la expansin o cambio en las necesidades del usuario.

    Adaptativo: son las modificaciones que afectan a los entornos en los que el sistema opera.

    Correctivo: son aquellos cambios precisos para corregir errores del producto software.