Logo Studenta

Unid 4-Ciclosdevida-diapos

¡Este material tiene más páginas!

Vista previa del material en texto

10/06/2019
1
Sistemas de Información
Ciclo de Vida de 
Desarrollo de Sistemas
EL CICLO DE VIDA DE DESARROLLO DE SISTEMAS
Necesidad de una metodología
Cuando surgió la necesidad de adaptar los sistemas informáticos a las exigencias
del mercado:
el programador realizaba un
relevamiento de las solicitudes
de quien necesitaba cierto
programa o producto software
y con aquellos requerimientos bajo el 
brazo comenzaba la dura tarea de 
codificar
Esta tarea no estaba administrada, su-
pervisada o gestionada de ningún modo,
por lo que se iba corrigiendo a medida
que surgían los errores: code & fix
(codificar y corregir)
10/06/2019
2
EL CICLO DE VIDA DE DESARROLLO DE SISTEMAS
Necesidad de una metodología
Por otro lado, cuando el sistema no es pequeño o es más complejo de lo
pensado, este método tiene grandes desventajas, considerando el costo de
recursos, que será mayor que el previsto ya que se incrementará el tiempo de
desarrollo y la calidad del código (con correcciones, parches, etc.) será bastante
dudosa.
Metodología
La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y
administrar un proyecto para llevarlo a cabo con altas posibilidades de éxito. Esta
sistematización nos indica cómo dividiremos un gran proyecto en módulos más pequeños
llamados etapas, y las acciones que corresponden en cada una de ellas, nos ayuda a definir
entradas y salidas para cada una de las etapas y, sobre todo normaliza el modo en que
administraremos el proyecto
Proyectos de Sistemas
Un proyecto informático es un sistema de cursos
de acción simultáneos y/o secuenciales que
incluye personas, equipamientos de hardware,
software y comunicaciones, enfocados en obtener
uno o más resultados deseables sobre un sistema
de información.
El inicio de un proyecto informático generalmente está dado en la solicitud de
requerimientos de los usuarios, y siendo que los diferentes sistemas de
Información abordan los diferentes tipos de problemas organizacionales, será
necesario pensar para cada tipo de sistema la planificación de proyecto correcta.
10/06/2019
3
Ciclo de Vida de Sistemas
La ISO, International Organization for
Standardization, en su norma 12207 define al ciclo
de vida de un software como un marco de
referencia que contiene las actividades y las
tareas involucradas en el desarrollo, la explotación
y el mantenimiento de un producto software,
abarcando desde la definición hasta la finalización
de su uso.
Al conjunto de las fases empleadas se le denomina “ciclo de vida”.
La forma de agrupar las actividades, los objetivos de cada fase, los tipos de
productos intermedios que se generan, etc. pueden ser muy diferentes
dependiendo del tipo de producto o proceso a generar y de las tecnologías
empleadas
En cada una de las etapas de un modelo de ciclo de vida, se pueden establecer
una serie de objetivos, tareas y actividades que lo caracterizan.
Existen distintos modelos de ciclo de vida, y la elección de un modelo para un
determinado tipo de proyecto es realmente importante; el orden de las etapas es
uno de estos puntos importantes
Ciclos de vida
CONCEPTO DE CICLO DE VIDA
“Una aproximación lógica a la adquisición, el
suministro, el desarrollo, la explotación y el
mantenimiento del software”
IEEE 1074
“Un marco de referencia que contiene los procesos,
las actividades y las tareas involucradas en el
desarrollo, la explotación y el mantenimiento de
un producto de software, abarcando la vida del
sistema desde la definición de los requisitos hasta
la finalización desu uso”
ISO 12207-1
10/06/2019
4
Etapas Principales 
• Desde un punto de vista general el ciclo de vida de un software 
tiene tres etapas claramente diferenciadas:
• Planificación: planeamiento detallado que guía la gestión del
proyecto temporal y económicamente.
• Implementación: conjunto de actividades que componen la
realización del producto.
• Puesta en Producción: etapa de definición. Presentación al
clientes. Aprobación del producto.
Planificación Implementación Puesta en Producción
Otras dos etapas importantes
• Inicio: Nacimiento de la Idea. Definir objetivos del
proyecto y recursos necesarios. Hacia donde se
orienta el proyecto y como se realizará
• Control en Producción: control del producto
software, analizando como difiere de los
requerimientos originales, iniciando las acciones
correctivas que fuesen necesarias. Liderazgo,
documentación y capacitación
Planificación Implementación Puesta en Producción
Inicio
CONTROL
10/06/2019
5
Modelos de Ciclos de Vida
Las diferencias entre los modelos de ciclos de vida están
divididas en tres grandes visiones:
•El Alcance del ciclo de vida: hasta donde deseamos
llegar con el proyecto, como también si es viable el
desarrollo completo o el desarrollo completo mas
actualizaciones y mantenimiento.
•La cualidad y cantidad de etapas en las que dividimos
el ciclo de vida, adecuadas al proyecto que se
proponga.
•La estructura y la sucesión de etapas: si existe
realimentación entre ellas y si es posible repetirlas,
iterar.
Etapas de un Ciclo de Vida (Según Kendall)
•Identificación de Problemas Oportunidades y Objetivos
•Determinación de los requerimientos de Información
•Análisis de las Necesidades del Sistema
•Diseño del Sistema recomendado
•Desarrollo y Documentación
•Pruebas y Mantenimiento del Sistema
•Implementación y Evaluación
del Sistema
10/06/2019
6
Ciclo de Vida Lineal
Es el mas sencillo de todos los modelos. Consiste en descomponer la actividad
global del proyecto en etapas separadas, realizadas linealmente, cada etapa se
realiza una sola vez, a continuación de la etapa anterior, y antes de la siguiente,
sin retroalimentación.
Ventaja: sencillez en la gestión y administración tanto económica como temporal.
Desventaja: no es apto para desarrollos que necesiten de retroalimentación
entre etapas, ya que es muy costoso retomar una etapa anterior al detectar
alguna falla.
10/06/2019
7
Encuesta
Análisis
Diseño
Preliminar
Estudio de 
Hardware
Diseño 
Detallado
Codificacion
Prueba de 
Unidad
Prueba de 
Sub
Sistema
Prueba de 
Sistema
Requerimientos del 
usuario
Especificación 
funcional
Calendario Presupuesto
Necesidades de 
rendimiento
Necesidades de rendimiento
Pedido del 
hardware
Especificación del 
Sistema
Configuración final
Especificación del Programa
Módulos codificados
Módulos Probados
Subsistemas Probados
Sistema Probado
Requerimientos del Usuario
1 Encuesta
2
Análisis
4
Estudio del 
Hardware
3
Diseño 
Estructurado
5 
Implantación
Descendente
Documento de 
factibilidad
Necesidades de 
rendimiento
Pedido del Hardware
Calendario Estimado
Requerimientos del 
usuario
Especificación 
Funcional del 
Sistema
Datos de 
Configuración del 
Hardware
Diseño por 
paquetes
Plan de 
pruebas
10/06/2019
8
Se distinguen dos aspectos:
1. Tendencia fuerte a la implantación ascendente del sistema.
Requerimientos del sistema→software→análisis→diseño del 
programa→codificación→pruebas→ operaciones
2. Insistencia en la progresión lineal y secuencial de una fase a la 
siguiente.
Dificultades:
• No refleja realmente el proceso de desarrollo del software
• Se tarda mucho tiempo en pasar por todo el ciclo
• Perpetua el fracaso de la industria del software en su comunicación
con el usuario final
• El mantenimiento se realiza en el código fuente
• Las revisiones de proyectos de gran complejidad son muy difíciles
• Impone una estructura de gestión de proyectos.
CASCADA TRADICIONAL
10/06/2019
9
CICLO DE VIDA ITERATIVO (Incremental)
Ventajas y Desventajas
•Se evitan proyectos largos y se entrega “Algo de valor” a los
usuarios con cierta frecuencia
•El usuario se involucra más
•Difícil de evaluar el coste total
•Difícil de aplicar a sistemas transaccionales que tienden a ser integrados y a operar
como un todo
•Requiere gestores experimentados
•Los errores en los requisitos se detectan tarde.
•El resultado puede ser muy positivo
10/06/2019
10
Modelode Prototipo
El Prototipado Rápido
10/06/2019
11
Ventajas y Desventajas
No modifica el flujo del ciclo de vida
Reduce el riesgo de construir productos que no
satisfagan las necesidades de los usuarios
Reduce costos y aumenta la probabilidad de éxito
Exige disponer de las herramientas adecuadas
No presenta calidad ni robustez
Una vez identificados todos los requisitos mediante
el prototipo, se construye el producto de ingeniería.
10/06/2019
12
PELIGROS DEL PROTOTIPO
• El cliente ve funcionando lo que para él es la
primera versión del prototipo que ha sido
construido con “plastilina y alambres”, y puede
desilusionarse al decirle que el sistema aun no ha
sido construido.
• El desarrollador puede caer en la tentación de
ampliar el prototipo para construir el sistema final
sin tener en cuenta los compromisos de calidad y
de mantenimiento que tiene con el cliente
Para que sea efectivo
• Debe ser un sistema con el que se pueda 
experimentar
• Debe ser comparativamente barato (< 10%)
• Debe desarrollarse rápidamente
• Énfasis en la interfaz de usuario
• Equipo de desarrollo reducido
• Herramientas y lenguajes adecuados
“El prototipado es un medio excelente para recoger
el ‘feedback’ (realimentación) del usuario final”
10/06/2019
13
Ciclo de Vida Evolutivo – Prototipo Evolutivo
Luego de cada desarrollo
obtenemos una nueva
versión del producto
Este prototipo acepta que los requerimientos del usuario pueden cambiar en cualquier
momento.
Los requerimientos evolucionan durante el desarrollo y surgen nuevos requerimientos a
cumplir. El modelo de ciclo de vida evolutivo afronta este problema mediante una
iteración de ciclos: requerimientos-desarrollo-evaluacion.
Modelo en Espiral
10/06/2019
14
▪ Trata de mejorar los ciclos de vida clásicos y prototipos.
▪ Permite acomodar otros modelos
▪ Incorpora objetivos de calidad y gestión de riesgos
▪ Elimina errores y alternativas no atractivas al comienzo
▪ Permite iteraciones, vuelta atrás y finalizaciones rápidas
▪ Cada ciclo empieza identificando:
▪ Los objetivos de la porción correspondiente
▪ Las alternativas
▪ Restricciones
▪ Cada ciclo se completa con una revisión que incluye todo el ciclo 
anterior y el plan para el siguiente
Ventajas
10/06/2019
15
Ciclo de Vida con Componentes
• Muchas veces se necesita un producto en tiempo
récord, o se desea administrar el proyecto
despreocupándonos por una o varias etapas
(principalmente la etapa de implementación). En los
últimos años se empezó a considerar ciclo de vida con
componentes al ensamblaje de software desarrollado
por terceros en programas propios
Ciclo de Vida en V
10/06/2019
16
Ciclo de Vida en V
•Ideal, por su robustez, para proyectos pequeños, con equipos de una a cinco
personas.
•En los niveles lógicos del 1 al 4, para cada fase del desarrollo, existe una fase
correspondiente o paralela de verificación o validación→resultado verificable.
•La proximidad entre una fase del desarrollo y su fase de verificación
correspondiente va decreciendo a medida que aumenta el nivel dentro de la V.
•El nivel 1 está orientado al “cliente”. El inicio del proyecto y el fin del proyecto
constituyen los dos extremos del ciclo. Se compone del análisis de requisitos y
especificaciones, se traduce en un documento de requisitos y especificaciones.
•El nivel 2 se dedica a las características funcionales del sistema propuesto. Puede
considerarse el sistema como una caja negra, y caracterizarla únicamente con
aquellas funciones que son directa o indirectamente visibles por el usuario final,
se traduce en un documento de análisis funcional.
•El nivel 3 define los componentes hardware y software del sistema final, a cuyo
conjunto se denomina arquitectura del sistema.
•El nivel 4 es la fase de implementación, en la que se desarrollan los elementos
unitarios o módulos del programa.
Ciclo de Vida Orientado a Objetos 
Cada funcionalidad o requerimiento solicitado por el usuario, es considerado un objeto
10/06/2019
17
Peligros de cometer un error técnico importante.
Si el administrador de proyectos se enfrenta ante una situación en
la cual él no tiene experiencia, es recomendable utilizar una
implantación clásica, porque así va conociendo poco a poco el
sistema.
En cambio si está en una situación donde tendrá una
infraestructura totalmente nueva (equipos, SMBD, sistema
operativo, telecomunicaciones), es recomendable utilizar la
implantación estructurada, debido a que así con la versión
esqueleto o primaria del sistema explorará los posibles problemas
de interacción e interfaz entre los componentes de los diferentes
proveedores.
Personal que interviene en el Desarrollo de Sistemas
No se puede lograr un perfeccionamiento o un cambio en las instituciones si no se logra un
cambio en su componente más importante
RECURSO HUMANO
dentro del entorno de la gestión de 
información en las organizaciones
•Conocer y saber aplicar las tecnologías de la información y
comunicación,
•Conocer el esquema de la organización empresarial y los recursos
humanos,
•Diseñar sistemas de información, incluyendo la legislación, y el marketing
de los servicios.
A
P
T
I
T
U
D
E
S
10/06/2019
18
Sistemas y Personas
Es necesario garantizar el entendimiento entre dos mundos que tradicionalmente parecen
hablar idiomas diferentes, y hacerlo de forma efectiva en tiempo, esfuerzo y coste
Necesidades de aprendizaje en cuanto a
sistemas y tecnologías de información de
las dos clases de empleados: Usuarios
Finales y Personal de Sistemas de
Información
•Aprendizaje funcional contra
aprendizaje organizacional
•Educación contra entrenamiento
•Conocimientos contra habilidades
•Eficiencia contra deficiencia
5 grupos de personas involucradas con el Sistema de Información:
1. Dueños del Sistema
2. Usuarios del Sistema
3. Diseñadores de Sistemas
4. Constructores de Sistemas
5. Profesionales de Sistemas (Líderes del Proyecto: Analistas, 
Licenciados, Ingenieros)
Usuarios Internos: Son aquellos empleados del negocio para el cual se está
construyendo el sistema y son el mayor porcentaje de usuarios de un sistema.
• Empleados administrativos y de servicios: realizan los procesos del día a día,
procesan órdenes, facturas, pagos etc. Ellos capturan los datos en el sistema.
• Staff técnico y profesional: son empleados que realizan tareas especializadas ej.
Abogados, ingenieros, científicos etc.
• Supervisores, mandos medios y ejecutivos: son los empleados que toman
decisiones, ya sea decisiones del día a día (supervisores), de corto plazo (mandos
medios) o largo plazo (ejecutivos).
Usuarios Externos: El uso de Internet ha permitido extender los límites de las
organizaciones, de forma que se ha generado un aumento de usuarios externos,
dentro de los cuales podemos mencionar:
• Clientes: son cualquier organización o persona(s) que compren nuestros
productos o servicios. como por ejemplo las compras online.
• Surtidor o Proveedor: cualquier organización en la cual nuestra compañía compre
insumos.
• Socios: cualquier organización a la cual nuestra compañía compre servicios o de
la que sea socio. Ejemplo: mantenimiento, manejo de la red, outsourcing, etc.
• Empleados no de oficina: si bien son empleados que trabajan en relación de
dependencia no realizar trabajos administrativos. Ejemplo: representantes de venta,
empleados que puedan trabajar remotamente en el sistema.
10/06/2019
19
Diseñadores de Sistemas
Son técnicos especializados que traducen los requerimientos de los usuarios del negocio en
soluciones técnicas. Ellos diseñan: bases de datos, entradas y salidas del sistema, pantallas,
redes y software que se puede adaptar a los requerimientos del usuario
Su rol es la construcción del sistema de acuerdo a las especificaciones dadas por el
diseñador de sistemas.
Constructores del Sistema
Es un especialista que estudia los problemas
y necesidades de una organización para
determinar cómo las personas, datos,
procesos y la tecnología de la información
pueden en conjunto mejorarun negocio.
Profesionales del Sistema
Profesionales de Sistemas
Roles:
El Rol de Consultor
El Rol de Experto en Soporte Técnico
El rol de Agente de Cambio
Cualidades
•solucionador de problemas
•comunicador con capacidad para relacionarse con los demás
•persona autodisciplinada y automotivada
•capacidad de administrar y coordinar los innumerables recursos de un proyecto, 
incluyendo a otras personas.
10/06/2019
20
El Proceso de Desarrollo del Software
“ el desarrollo del software es un proceso social de aprendizaje….”
El proceso proporciona una interacción entre los usuarios y los diseñadores, entre
los usuarios y las herramientas de desarrollo, y entre los diseñadores y las
herramientas de desarrollo (La tecnología). Es un proceso interactivo donde la
herramienta de desarrollo se usa como medio de comunicación, con cada iteración
del diálogo se obtiene mayor conocimiento de las personas involucradas.”
¿Quién lo hace?
Los ingenieros de software y sus gestores adaptan el proceso a sus necesidades
y lo siguen. Las personas que han solicitado el software tienen un papel
importante en el proceso del mismo.
¿Por qué es importante?
Proporciona estabilidad, control y organización a una actividad que si no se
controla desde su comienzo tiende a volverse caótica.
¿Cómo estar seguro de que lo he hecho correctamente?
La calidad, oportunidad y viabilidad a largo plazo del producto que se está
construyendo, son los mejores indicadores de la eficiencia del proceso que
estamos utilizando.
Tipos de Desarrollo
• Desarrollo Interno
•Desarrollo Externo
•Adquisición de aplicaciones estandarizadas
•“Outsourcing” o tercerización
•Tercerización transformacional

Continuar navegando