Ciclo de Vida 2015
-
Upload
losiram-tb -
Category
Documents
-
view
229 -
download
1
description
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.