Escolar Documentos
Profissional Documentos
Cultura Documentos
UNIVERSIDADNACIONALSANLUISGONZAGA
FACULTADDEINGENIERIADESISTEMAS
EscueladeIngenieradeSistemas
MODELOSDECICLODEVIDADE
SOFTWARE
Docente:
Ing.AlonsoMorales
Integrantes:
AyllonChuquispuma,Jos
BautistaLinares,Antony
CuliGabriel,William
IcaPer
2015
1
Dedicatoria
A la generacin del bicentenario de la independencia, que darn todo el
esfuerzo por construir una pas ms justo.
INDICE
MODELOS DE CICLO DE VIDA DEL SOFTWARE...............................................................................................5
Actividades del desarrollo de software..........................................................................................................6
MODELOS DE CICLO DE VIDA.........................................................................................................................7
Clasificacin...................................................................................................................................................8
Modelos descriptivos vs. Modelos prescriptivos............................................................................................8
Modelos tradicionales vs. Modelos evolutivos...............................................................................................9
Modelos de Ciclo de Vida del software.........................................................................................................10
Modelo Cascada...........................................................................................................................................10
Descripcin del modelo................................................................................................................................10
Existen generalmente cinco etapas en este modelo de desarrollo de software:........................................11
Implementacin...................................................................................................................................11
Mantenimiento....................................................................................................................................11
Definicin.....................................................................................................................................................28
Clasificacin metodologa estructurada orientada a procesos....................................................................29
Diagrama de flujo de datos..........................................................................................................................29
Diccionario de datos.....................................................................................................................................29
Especificaciones...........................................................................................................................................30
Orientadas a datos.......................................................................................................................................31
Jerrquicos....................................................................................................................................................31
Datos no jerrquicos...................................................................................................................................31
Metodologa Ingeniera de la Informacin....................................................................................................32
Metodologa orientada a objetos..................................................................................................................31
Se clasifican en dos las metodologas de objetos........................................................................................32
Metodologa revolucionario ( mtodo de booch)........................................................................................32
La complejidad.............................................................................................................................................33
El modelo del objeto....................................................................................................................................34
Elementos del modelo de objetos................................................................................................................34
La abstraccin..............................................................................................................................................35
El encapsulamiento......................................................................................................................................35
La modularidad............................................................................................................................................35
La jerarqua..................................................................................................................................................36
Metodo omt (evolutiva)...............................................................................................................................36
OMT (Object Modeling Tecnique) James Rambaugh....................................................................................36
Visin general...............................................................................................................................................36
Fases (4).......................................................................................................................................................37
Anlisis de objetos.......................................................................................................................................37
Pasos especficos a dar en cada fase...........................................................................................................38
Fase De Anlisis...........................................................................................................................................38
Construir un modelo de objetos:..................................................................................................................38
Construir un modelo dinmico:....................................................................................................................38
Construir un modelo funcional:....................................................................................................................38
Verificar, iterar y refinar los tres modelos:..................................................................................................39
Fase De Diseo Del Sistema........................................................................................................................39
Fase de Diseo De Objetos..........................................................................................................................40
Disear algoritmos para implementar operaciones:...................................................................................40
Optimizar los accesos a datos:....................................................................................................................40
Metodologa para sistema tiempo real.........................................................................................................41
Modelado de datos lgicos...........................................................................................................................41
Modelado de flujo de datos..........................................................................................................................42
Modelado Entidad Evento............................................................................................................................42
Fases o etapas :............................................................................................................................................42
Fases de las mtricas...................................................................................................................................49
Mtodos giles.............................................................................................................................................52
Gestin de proyectos...................................................................................................................................53
Extreme Programming (XP)..........................................................................................................................53
Elementos de la metodologa.......................................................................................................................54
Metodologa scrum.......................................................................................................................................56
Introduccin
El trmino ciclo de vida del software describe el desarrollo de software, desde
la fase inicial hasta la fase final. El propsito de este programa es definir las
distintas fases intermedias que se requieren para validar el desarrollo de la
aplicacin, es decir, para garantizar que el software cumpla los requisitos para
la aplicacin y verificacin de los procedimientos de desarrollo: se asegura de
que los mtodos utilizados son apropiados.
de
manera
que
se
pueda
encontrar
la
funcin
de
Existen diversos modelos de ciclo de vida, pero cada uno de ellos va asociado
a unos mtodos, herramientas y procedimientos que debemos usar a lo largo
de un proyecto.
Clasificacin
Modelos descriptivos vs. Modelos prescriptivos.
Un modelo de ciclo de vida del software es una caracterizacin descriptiva o
prescriptiva- de la evolucin del software.
Los modelos prescriptivos dictan pautas de cmo deberan desarrollarse los
sistemas de software; por lo tanto son ms fciles de articular ya que los
detalles del desarrollo pueden ser ignorados, generalizados, etc. Esto puede
dejar dudas acerca de la validez y robustez de este tipo de modelos.
Otra forma de encarar el desarrollo de un modelo es la forma descriptiva, la
cual se basa en la observacin del desarrollo de sistemas reales. Son ms
difciles de articular debido a dos razones fundamentales:
Plantea una organizacin muy poco realista que implica una secuencia
uniforme y ordenada de actividades de desarrollo.
10
El cliente debe ser paciente. Una versin funcional del sistema no estar
disponible hasta tarde en la duracin del desarrollo. Cualquier error o
malentendido, si no es detectado hasta que el programa funcionando es
revisado, puede ser desastroso.
Cada uno de estos problemas es real. Sin embargo, el modelo clsico del ciclo
de vida del software tiene un lugar bien definido e importante en los trabajos de
ingeniera del software. Provee un patrn dentro del cual encajan mtodos para
el anlisis, diseo, codificacin y mantenimiento.
Aplicacin del modelo cascada
El modelo cascada se aplica bien en situaciones en las que el software es
simple y en las que el dominio de requerimientos es bien conocido, la
tecnologa usada en el desarrollo es accesible y los recursos estn disponibles.
12
2. Prototipado.
Dos de las crticas que se hacan al modelo de ciclo de vida en cascada eran
que es difcil tener claros todos los requisitos del sistema al inicio del proyecto,
y que no se dispone de una versin operativa del programa hasta las fases
finales del desarrollo, lo que dificulta la deteccin de errores y deja tambin
para el final el descubrimiento de los requisitos inadvertidos en las fases de
anlisis. Para paliar estas deficiencias se ha propuesto un modelo de ciclo de
vida basado en la construccin de prototipos.
En primer lugar, hay que ver si el sistema que tenemos que desarrollar es un
buen candidato a utilizar el paradigma de ciclo de vida de construccin de
prototipos o al modelo en espiral. En general, cualquier aplicacin que presente
mucha interaccin con el usuario, o que necesite algoritmos que puedan
construirse de manera evolutiva, yendo de lo ms general a lo ms especfico
es una buena candidata. No obstante, hay que tener en cuenta la complejidad:
si la aplicacin necesita que se desarrolle una gran cantidad de cdigo para
poder tener un prototipo que ensear al usuario, las ventajas de la construccin
de prototipos se vern superadas por el esfuerzo de desarrollar un prototipo
que al final habr que desechar o modificar mucho
Tambin es conveniente construir prototipos para probar la eficiencia de los
algoritmos que se van a implementar, o para comprobar el rendimiento de un
determinado componente del sistema en condiciones similares a las que
existirn durante la utilizacin del sistema.
En otros casos, el prototipo servir para modelar y poder mostrar al cliente
cmo va a realizarse la E/S de datos en la aplicacin, de forma que ste pueda
hacerse una idea de cmo va a ser el sistema final, pudiendo entonces detectar
deficiencias o errores en la especificacin aunque el modelo no sea ms que
una cscara vaca.
Segn esto un prototipo puede tener alguna de las tres formas siguientes:
13
15
16
17
Ventajas
Desventajas
18
4. Modelo en V.
El modelo en v se desarroll para terminar con algunos de los problemas que
se vieron utilizando el enfoque de cascada tradicional. Los defectos estaban
siendo encontrados demasiado tarde en el ciclo de vida, ya que las pruebas no
se introducan hasta el final del proyecto. El modelo en v dice que las pruebas
necesitan empezarse lo ms pronto posible en el ciclo de vida. Tambin
muestra que las pruebas no son slo una actividad basada en la ejecucin.
Hay una variedad de actividades que se han de realizar antes del fin de la fase
de codificacin. El modelo en v es un proceso que representa la secuencia de
pasos en el desarrollo del ciclo de vida de un proyecto. Describe las actividades
y resultados que han de ser producidos durante el desarrollo del producto. La
parte izquierda de la v representa la descomposicin de los requisitos y la
creacin de las especificaciones del sistema
1.4. Modelo V.
Realmente las etapas individuales del proceso pueden ser casi las mismas que
las del modelo en cascada. Sin embargo hay una gran diferencia. En vez de ir
para abajo de una forma lineal las fases del proceso vuelven hacia arriba tras la
fase de codificacin, formando una V. La razn de esto es que para cada una
19
Desventajas
Entre los inconvenientes y las crticas que se le hacen a este modelo estn las
siguientes:
20
5. Modelo Iterativo.
Es un modelo derivado del ciclo de vida en cascada. Este modelo busca reducir
el riesgo que surge entre las necesidades del usuario y el producto final por
malos entendidos durante la etapa de recogida de requisitos.
Consiste en la iteracin de varios ciclos de vida en cascada. Al final de cada
iteracin se le entrega al cliente una versin mejorada o con mayores
funcionalidades del producto. El cliente es quien despus de cada iteracin
evala el producto y lo corrige o propone mejoras. Estas iteraciones se
repetirn hasta obtener un producto que satisfaga las necesidades del cliente.
21
Ventajas
Una de las principales ventajas que ofrece este modelo es que no hace falta
que los requisitos estn totalmente definidos al inicio del desarrollo, sino que se
pueden ir refinando en cada una de las iteraciones.
Igual que otros modelos similares tiene las ventajas propias de realizar el
desarrollo en pequeos ciclos, lo que permite gestionar mejor los riesgos,
gestionar mejor las entregas.
Inconvenientes
La primera de las ventajas que ofrece este modelo, el no ser necesario tener
los requisitos definidos desde el principio, puede verse tambin como un
inconveniente ya que pueden
arquitectura.
22
la
Desventajas
Para el uso de este modelo se requiere una experiencia importante para definir
los incrementos y distribuir en ellos las tareas de forma proporcionada.
Entre los inconvenientes que aparecen en el uso de este modelo podemos
destacar los siguientes:
24
25
26
27
metodologas
descomposicin
estructuradas
funcional
de
se
basan
problemas
en
en
la
estructuracin
unidades ms pequeas
generalmente
orientados
la
manipulacin
de
datos
los
28
funcionales,
estructuras
de
informacin,
estructuras
de
Para contar con una especificacin completa es preciso tener una descripcin
textual de los detalles que no pueden ser especificados en los diagramas. La
importancia del diccionario de datos queda mucho ms clara si usted trata de
recordar los das de escuela primaria, en las aulas de lengua cuando usted era
constantemente asediado por nuevas palabras.
Recuerde tambin, los cursos de lengua extranjera, especialmente aquellos
que exigan que leyera libros y revistas o hiciera traducciones. Sin un
diccionario, usted estara perdido.
involucrada.
Habitualmente
hay
una
audiencia
diversa
de
intermedio son definidos por los diagramas de flujos de datos del nivel inferior
inmediato. Sin embargo, en otros diagramas como por ejemplo el diagrama de
estructura, todos los componentes deben ser especificados.
Orientadas a datos :
Se clasifican en dos jerarquico y no jerarquico
Jerrquicos
Datos no jerrquicos
Metodologa Ingeniera de la Informacin
Planificacin: construir una arquitectura de la Informacin y una estrategia que
soporte los objetivos de la organizacin
Anlisis: comprender las reas del negocio y determinar los requisitos del
sistema
Diseo: establecer el comportamiento del sistema deseado por el usuario y
que sea alcanzable por la tecnologa
Construccin: construir sistemas que cumplan los tres niveles anteriores
Metodologa orientada a objetos
La metodologa orientada a objetos ha derivado de las metodologas anteriores
a ste. As como los mtodos de diseo estructurado realizados guan a los
desarrolladores que tratan de construir sistemas complejos utilizando
31
32
Complejidad.
Clases y objetos.
Clasificacin.
La complejidad
El software, por lo general, va a ser un sistema complejo, sobre todo
cuando se trate de un software grande. Esto es debido a 4 elementos:
La
complejidad
del
dominio
del
problema.
(Definicin
de
los
33
Abstraccin.
Encapsulamiento.
Modularidad.
Jerarqua.
34
Concurrencia.
Persistencia.
La abstraccin.
La abstraccin denota las caractersticas esenciales de un objeto que lo
distinguen de todos los dems tipos de objetos y proporciona as fronteras
conceptuales ntidamente definidas respecto a la perspectiva del observador.
Existen varios tipos de abstraccin:
Abstraccin de entidad: un objeto que representa un modelo til del
problema de dominio de la entidad.
Abstraccin de accin: un objeto proporciona un conjunto generalizado de
operaciones para una determinada funcin.
El encapsulamiento.
Es el proceso de almacenar en un mismo compartimento los elementos de una
abstraccin que constituyen su estructura y su comportamiento; sirve para
separar la interfaz contractual de una abstraccin y su implantacin (El
encapsulamiento oculta los detalles de la implementacin de un objeto).
La modularidad.
Cuando se habla de modularidad hay que imaginarse la fragmentacin de un
programa en componentes individuales para reducir la complejidad. Booch
define modularidad como la propiedad que tiene un sistema que ha sido
descompuesto en un conjunto de mdulos cohesivos y dbilmente acoplados.
35
La jerarqua.
Para Booch la jerarqua es una clasificacin u ordenacin de abstracciones.
Las 2 jerarquas ms importantes en un sistema complejo son la estructura de
la clase (es un) y la estructura del objeto (parte de) o (tiene un).
La herencia es el ejemplo ms importante de jerarqua (es un), ya que va a
definir las relaciones entre clases, tanto en el caso de herencia simple como en
el caso de herencia mltiple.
Cuando se habla de jerarqua (es un) normalmente se refiriere a
generalizacin/especializacin. Sin embargo (parte de) es ms bien un caso de
agregacin. La combinacin de la herencia y la agregacin puede ser muy
potente:
36
Fases (4)
Anlisis de objetos
Se describe el problema: Se obtienen unos requisitos que no den lugar a
dudas (rendimiento, funcionalidad, contexto,...). En toda la fase de anlisis se
describe el comportamiento del sistema como una caja negra.
Se hacen los diagramas de objetos con su diccionario de datos. As obtengo
el modelo de objetos. En l se define su la estructura de los objetos y
clases as como las relaciones que les unen. Comprende tanto un Diagrama
de Clases como un Diccionario de Datos que las explique. Este modelo debe
ser refinado por medio de la iteracin.
Creacin de un modelo dinmico para describir los aspectos de control y
evolucin del sistema. Incluye un Diagrama de Eventos del sistema y un
Diagrama de Estado por cada clase que tenga un comportamiento dinmico.
Creacin de un modelo funcional que describa las funciones, los valores de
entrada y salida, e imponga las restricciones pertinentes. Se suelen utilizar
Diagramas de Flujo de Datos (DFDs).
37
38
y operaciones
la
estrategia
bsica
para
almacenar
los
datos;
tipos
dinmico,
Elegir
algoritmos que
minimicen
el coste
de
implementar
las
operaciones.
Asignar
responsabilidades
para
operaciones
que
no
han
minimizar
el
coste
sido
Aadir
asociaciones
redundantes
para
de
40
Implementacin
No se detiene en ella (al igual que la fase de pruebas), con lo que se queda a
la eleccin del programador.
Metodologa para sistema tiempo real
SSADM es un mtodo de cascada para el anlisis y diseo de sistemas de
informacin. se considera que SSADM representa el pinculo del enfoque
riguroso en la documentacin hacia el diseo del sistema que contrasta con
mtodos giles como DSDM o Scrum.
SSADM es una aplicacin en particular y se basa en el trabajo de las diferentes
escuelas de anlisis estructurados mtodos y desarrollo, como la de Peter
ChecklandMetodologa blanda de sistemas, de Larry Constantino diseo
estructurado, de Edward Yourdon Mtodo estructurado de Yourdon, de Michael
A. Jackson Programacin Estructurada de Jackson, y Tom DeMarco anlisis
estructurado.
Los nombres "Sistemas estructurados mtodo de anlisis y diseo" y "SSADM"
son marcas registradas de la Oficina Gubernamental de Comercio (OGC), que
es una oficina de Hacienda del Reino Unido.
Las tres tcnicas ms importantes que se utilizan en SSADM son los
siguientes:
Modelado de datos lgicos
El proceso de identificacin, modelado y documentacin de los requisitos de
datos del sistema que est siendo diseado. El resultado es un modelo de
datos que contiene las entidades (cosas de las que una empresa necesita para
registrar la informacin), atributos (datos sobre las entidades) y relaciones
(asociaciones entre las entidades).
41
43
Las ideas se recogen entonces para formar un conjunto de dos o tres opciones
diferentes que se presentan al usuario. Las opciones en cuenta lo siguiente:
El grado de automatizacin
Costo / beneficio
Definiciones de funciones
Aunque algunos de estos artculos pueden ser desconocidos para usted, est
ms all del alcance de esta unidad para entrar en ellos con gran detalle.
Etapa 4 - opciones del sistema Tcnicas
Esta primera etapa es una implementacin fsica del nuevo sistema. Al igual
que las opciones del sistema de negocio, en esta etapa se generan un gran
nmero de opciones para la aplicacin del nuevo sistema. Esto se perfeccion
hasta dos o tres usuario para presentar desde que se elige la opcin o
sintetizado final. Sin embargo, las consideraciones son seres muy diferentes:
El software a utilizar
El costo de la implementacin
Catlogo de datos
46
47
4. Metodologas mtricas
MTRICA tiene un enfoque orientado al proceso, ya que la tendencia general
en los estndares se encamina en este sentido y por ello, como ya se ha dicho,
se ha enmarcado dentro de la norma ISO 12.207, que se centra en la
clasificacin y definicin de los procesos del ciclo de vida del software. Como
punto de partida y atendiendo a dicha norma, MTRICA cubre el Proceso de
Desarrollo y el Proceso de Mantenimiento de Sistemas de Informacin.
MTRICA ha sido concebida para abarcar el desarrollo completo de Sistemas
de Informacin sea cual sea su complejidad y magnitud, por lo cual su
estructura
responde
desarrollos
mximos
deber
adaptarse
participantes.
48
Manuales de usuario.
produccin del
sistema.
Se establece el plan de implantacin, una vez revisada la estrategia de
implantacin y se detalla el equipo que lo realizar. Para el inicio de este
proceso se toman como punto de partida los componentes del sistema
probados de forma unitaria e integrados en el proceso Construccin del
Sistema de Informacin (CSI), as como la documentacin asociada. El
51
52
es
una
metodologa
gil
centrada
en
potenciar
las
relaciones
entre
todos
los
participantes,
simplicidad
en
las
soluciones
54
55
Metodologa scrum
es un proceso gil que se usa para gestionar y controlar desarrollos complejos
de software y productos usando prcticas iterativas e incrementales.
Scrum es un proceso incremental iterativo para desarrollar cualquier producto o
gestionar cualquier trabajo. Aunque Scrum estaba previsto que fuera para la
gestin de proyectos de desarrollo de software, se puede usar tambin para la
ejecucin de equipos de mantenimiento de software o como un enfoque de
gestin de programas.
Caractersticas
Es un esqueleto de proceso que incluye un conjunto de prcticas y roles
predefinidos. Los roles principales en Scrum son el ScrumMaster que
mantiene los procesos y trabaja junto con el jefe de proyecto, el Product
Owner que representa a las personas implicadas en el negocio y el Team
que incluye a los desarrolladores.
Durante cada iteracin (sprint- periodos de tiempo), tpicamente un periodo de
2 a 4 semanas (longitud decidida por el equipo), el equipo crea un incremento
de software operativo. El conjunto de caractersticas que entra en una iteracin
viene del backlog del producto, que es un conjunto priorizado de requisitos de
trabajo de alto nivel que se han de hacer. Los tems que entran en una iteracin
se determinan durante la reunin de planificacin de la iteracin. Durante esta
reunin, el Product Owner informa al equipo de los tems en el backlog del
producto que quiere que se completen. El equipo determina entonces a cuanto
de eso puede comprometerse a completar durante la siguiente iteracin.
Durante una iteracin, nadie puede cambiar el backlog de la iteracin, lo que
significa que los requisitos estn congelados para esa iteracin. Cuando se
completa una iteracin, el equipo demuestra el uso del software. Scrum permite
la creacin de equipos con propia organizacin fomentando la localizacin
conjunta de todos los miembros del equipo y la comunicacin verbal entre
todos los miembros del equipo y las disciplinas implicadas en el proyecto.
56
57