Upload
stephanie-munoz
View
17
Download
0
Embed Size (px)
Citation preview
5/26/2018 Articulo Cientifico
1/6
Universidad Nacional Autnoma de NicaraguaUNAN-MANAGUA
Recinto universitario Rubn Daro
Facultad de Ciencias e IngenieraDepartamento de Computacin
Ingeniera del Software
Ingeniera en Sistemas de Informacin
III AoVespertino
Nombre:
Jorling Stephanie Muoz Ramos.
Profesor:
Lic. Lawdee Narvez B.
Fecha de Entrega:
Mircoles 14 de Agosto del 2012
5/26/2018 Articulo Cientifico
2/6
Ciclos de vida y utilizacin de la Ingeniera del Software
Jorling Stephanie Muoz Ramos. Estudiante de 3er ao de la Carrera de Ingeniera en Sistemas,
Universidad Nacional Autnoma de Nicaragua, Managua, Nora Astorga
Nicaragua. Email:[email protected]
1. Resumen
Este artculo nos centraremos en la definicin del concepto de ciclo de vida, en la explicacin y anlisis comparativo de distintos
modelos de ciclo de vida existentes.
Tambin abarcaremos bajo qu circunstancias podremos utilizar la ingeniera del software, de tal forma que el lector pueda
comprender la importancia del software en un caso particular de la vida real.
2. Introduccin
En el mundo empresarial el Ingeniero del software ha sustituido al programador como modelo de trabajo predominante. Los
administradores y usuarios reconocen la necesidad de un enfoque ms disciplinado del software.
Para ello se hace la utilizacin de todos los modelos de procesos de software, mtodos de ingeniera de software y
herramientas como tcnicas que permiten reducir los costos de las soluciones basadas en computadoras que ha sido uno de los
objetivos ms perseguidos desde los inicios de la informtica y que ha mejorado significativamente el trabajo arduo que los
seres humanos realizamos da a da.
2.1. Ciclo de vida de un Software
El ciclo de vida es el conjunto de fases por las que pasa el sistema que se est desarrollando desde que nace la idea inicial hasta
que el software es retirado o remplazado (muere). Tambin se denomina a veces paradigma.
Entre las funciones que debe tener un ciclo de vida se pueden destacar:
Determinar el orden de las fases del proceso de software
Establecer los criterios de transicin para pasar de una fase a la siguiente
Definir las entradas y salidas de cada fase
Describir los estados por los que pasa el producto Describir las actividades a realizar para transformar el producto
Definir un esquema que sirve como base para planificar, organizar, coordinar, desarrollar.
2.1.1. Modelos de ciclo de vida
La ingeniera del software establece y se vale de una serie de modelos que establecen y muestran las distintas etapas y estados
por los que pasa un producto software, desde su concepcin inicial, pasando por su desarrollo, puesta en marcha y posterior
mantenimiento, hasta la retirada del producto.
Un modelo de ciclo de vida de software es una vista de las actividades que ocurren durante el desarrollo de software, intenta
determinar el orden de las etapas involucradas y los criterios de transicin asociados entre estas etapas.
Un modelo de ciclo de vida del software :
Describe las fases principales de desarrollo de software Define las fases primarias esperadas de ser ejecutadas durante esas fases
Ayuda a administrar el progreso del desarrollo
Provee un espacio de trabajo para la definicin de un proceso detallado de desarrollo de software.
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 eleccin de un modelo para un determinado tipo de proyecto es
realmente importante; el orden es uno de estos puntos importantes.
Existen varias alternativas de modelos de ciclo de vida. A continuacin se muestra un cuadro comparativo de algunos modelos
tradicionales y ms utilizados:
mailto:[email protected]:[email protected]5/26/2018 Articulo Cientifico
3/6
2.1.2. Modelo de los ciclos de vida de un software (Cuadro comparativo).
MODELO ENCASCADAFig.1
1
MODELO ESPIRALFig.2
MODELO EN VFig. 3
MODELOINCREMENTALFig.4
MODELO DRA(desarrollo rpido deaplicaciones)Fig.5
METODOLOGI
(extreming progra
Fig.6
QUE ES
Es el enfoque
metodolgico que ordena
rigurosamente las etapas
del ciclo de vida del
software, de tal forma que
el inicio de cada etapa
debe esperar a la
finalizacin de la
inmediatamente anterior.
Consiste en una serie de
ciclos que se repiten en
forma de espiral,
comenzando desde el
centro. El Espiral puede
verse como un modelo
evolutivo que conjuga la
naturaleza iterativa del
modelo MCP. Con los
aspectos controlados y
sistemticos del modelo
cascada.
El modelo en v es un modelo
que ilustra cmo las
actividades de prueba
(verificacin y validacin) se
pueden integrar en cada fase
del ciclo de vida.
El incremental es un modelo
de tipo evolutivo que est
basado en varios ciclos
Cascada realimentados
aplicados repetidamente,
con una filosofa iterativa
Es un modelo de proceso de
desarrollo de software lineal
secuencial que enfatiza un
ciclo de desarrollo
extremadamente corto.
Es una metodologa li
desarrollo de softwar
basa en la simplicidad
comunicacin, y reali
del cdigo desarrollad
desarrollado por kent
FASES DEL
MODELO
1. Anlisis de
requerimientos:
Contiene la especificacin
completa de lo que debe
hacer el sistema sin entrar
en detalles internos.
2. Diseo del Sistema
Contiene la descripcin de
la estructura relacional
global del sistema y laespecificacin de lo que
debe hacer cada una de
sus partes, as como la
manera en que se
combinan unas con otras.
3. Diseo del Programa
Es la fase en donde se
realizan los algoritmos
necesarios para el
cumplimiento de los
requerimientos del
usuario.
4. Codificacin
5. Pruebas
6. Implantacin
1. Establecer la
comunicacin entre el
cliente y el desarrollador.
2. definicin de los recursos,
tiempo y otra informacin
relacionada con el proyecto.
3. evaluar los riesgos
tcnicos y de gestin del
proyecto.
4. construir una o msrepresentacin es de la
aplicacin software.
5. construir la aplicacin,
instalarla, probarla y
proporcionar soporte al
usuario o cliente
6. Obtener la reaccin del
cliente, segn la evaluacin
de lo creado e instalado en
los ciclos anteriores.
Nivel 1: est orientado al
cliente. El inicio del
proyecto y el fin del proyecto
constituyen los dos extremos
del ciclo. Se compone
del anlisis de requisitos y
especificaciones, se traduce
en un documento de
requisitos y especificaciones.
Nivel 2: se dedica a lascaractersticas 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 anlisis
funcional.
ElNivel 3: define los
componentes hardware y
software del sistema final, a
cuyo conjunto se
denomina arquitectura del
sistema.
Nivel 4: es la fasede implementacin, en la
que se desarrollan los
elementos unitarios o
mdulos del programa.
Incremento 1:
Anlisis-Diseo-Cdigo-
Pruebas Entrega de 1er
incremento.
Incremento 2: Anlisis-
Diseo-Cdigo-Pruebas
Entrega de 2do incremento.
Incremento 3: Anlisis-
Diseo-Cdigo-Pruebas
Entrega de
3er incremento
Incremento 4: Anlisis-
Diseo-Cdigo-Pruebas
Entrega de
4to incremento.
1. Modelado de
gestin: Flujo de informacin
entre las funciones de
gestin responde las
siguientes preguntas: qu
informacin conduce al
proceso de gestin?, A
dnde va la informacin?,
Quin la procesa?
2. Modelado de datos: flujode informacin definido
como parte de la fase del
modelado de gestin se
refina como un conjunto de
objetos y datos necesarios
para apoyar la empresa.
3. Modelado de
procesos: los objetos de
datos definidos en la fase de
modelado quedan
transformados para lograr el
fin deseado.
1. Planificacin del p
Definir las historias de
con el cliente, las hist
usuario tienen la mism
finalidad que los caso
pero con algunas dife
constan de 3 o 4 lnea
por el cliente en un le
tcnico, sin profundiz
en los detalles2. Diseo.
3. Codificacin. Debe
atendiendo estndare
codificacin ya creado
facilitar su comprensi
escalabilidad.
4. Pruebas. Uso de te
comprobar el funcion
de los cdigos que se
implementando.
VENTAJAS
Se tiene todo bien
organizado y no se
mezclan las fases.
Es perfecto para
proyectos que son
rgidos, y adems
donde se especifiquen
muy bien los
requerimientos y se
conozca muy bien la
herramienta a utilizar.
Reduce riesgos del
proyecto
Incorpora objetivos de
calidad.
Integra el desarrollo con
el mantenimiento, etc.
Adems es posible
tener en cuenta mejoras
y nuevos requerimientos
sin romper con la
metodologa, ya que
este ciclo de vida no es
rgido ni esttico.
Es un modelo simple y
fcil de utilizar.
En cada una de las fases
hay entregables
especficos.
Tiene una alta
oportunidad de xito
sobre el modelo en
cascada debido al
desarrollo de planes de
prueba en etapas
tempranas del ciclo de
vida.
Es un modelo que suele
funcionar bien para
proyectos pequeos
donde los requisitos son
entendidos fcilmente.
Se reduce el tiempo de
desarrollo inicial, ya que
se implementa la
funcionalidad parcial.
proporciona todas las
ventajas del modelo en
cascada realimentado,
reduciendo sus
desventajas slo al
mbito de cada
incremento.
ms rpido en
comparacin del
modelo de cascada. Resulta ms sencillo
acomodar cambios al
acotar el tamao de los
incrementos.
Permiten que los
ingenieros de software
desarrollen versiones
cada vez ms
completas del
software.
Producen una versin
completa en forma
incremental con cada
iteracin
Programacin o
menor taza de
Satisfaccin de
programador
DESVENTAJAS
Un proyecto rara vez
sigue una secuencia
lineal, esto crea una
mala implementacin
del modelo, lo cual
hace que lo lleve al
fracaso.
Genera mucho tiempo
en el desarrollo del
sistema
Modelo costoso
Requiere experiencia
en la identificacin de
riesgos.
Es un modelo muy rgido,
como el modelo en
cascada.
Tiene poca flexibilidad y
ajustar el alcance es
difcil y caro.
El software se desarrolla
El modelo Incremental
no es recomendable
para casos de sistemas
de tiempo real, de alto
nivel de seguridad, de
procesamiento
distribuido, y/o de alto
Para proyectos grandes,
necesita suficientes
recursos humanos para
crear el nmero
correcto de equipos
DRA
Si los desarrolladores y
Es recomendable
emplearlo solo e
proyectos a corto
Altas comisiones
de fallar.
1Vase las figuras de los modelos en el apndice.
5/26/2018 Articulo Cientifico
4/6
El proceso de creacin
del software tarda
mucho tiempo ya que
debe pasar por el
proceso de prueba y
hasta que el software
no est completo no
se opera.
durante la fase de
implementacin, por lo
que no se producen
prototipos del software.
ndice de riesgos.
Requiere de mucha
planeacin, tanto
administrativa como
tcnica.
Requiere de metas
claras para conocer el
estado del proyecto.
clientes no se
comprometen con las
actividades rpidas
necesarias para
completar un sistema en
un marco de tiempo
muy breve, los
proyectos fallarn.
Si un sistema no se
puede modular en
forma apropiada, la
construccin de los
componentes
necesarios serproblemtica
inapropiado cuando los
riesgos tcnicos son
altos cuando se
aplican muchas nuevas
tecnologas.
USOS El modelo en cascada sedespea bien en
proyectos con requisitos
claros o cuando se trabaja
con herramientas tcnicas
y es des aconsejable
cuando se necesita un
rpido desarrollo.
El modelo en espiral es
beneficioso en proyectos
que necesitan reduccin de
riesgos.
Se trata de un proceso
idneo, por su robustez, para
proyectos pequeos, con
equipos de una a cinco
personas, por lo que es ideal
por su claridad, para toda
esa gente que nunca ha
programado siguiendo una
metodologa.
El modelo incremental es til
sobre todo cuando el
personal necesario para una
implementacin completa
no esta disponible.
El modelo DRA es utilizado
para ciclos de vida del
software cortos.
Es utilizado para la cre
desarrollo prctico de
software, es utilizado
ltimamente ya que e
metodologa gil para
desarrollo.
Nota: En la actualidad el modelo en espiral y el incremental son los que ms se utilizan en los proyectos de software en el
entorno de la vida diaria.
3. Importancia del software en un caso particular de la vida real.
Ejemplo de la importancia del software: Dos consultorios dentales, ambos cuentan con los ltimos modelos de computadora
personal y destinada a apoyar las tareas y actividades relacionadas con el consultorio. Pero uno de ellos cuenta con un
dispositivo especial conectado a la computadora y un SOFTWARE para obtener radiografas de piezas dentales por
computadora, en un par de minutos la muestra radiogrfica esta en pantalla y el mdico puede obtener diferentes vistas de la
placa usando el software. Adems puede establecer una conexin a travs de internet o va modem para enviar el archivo de la
radiografa a otro colega experto con el fin de consultar y apoyar el diagnostico, todo esto en la misma cita. En la forma
tradicional la placa radiogrfica esta lista en un par de das.
4. Material y Mtodo
El mtodo a emplear es de carcter investigativo con el fin de documentarnos de cmo se diferencia cada una de las fases de
los ciclos de vida del software. Se demuestran ejemplos sobre la efectividad que tiene la ingeniera del software en la mayora
de los sistemas del mundo real.
5. Resultados
Comprender la gran importancia del ciclo de vida de un software, as como la gran efectividad que tiene cada uno de los
modelos para el desarrollo de un proyecto de carcter analtico, cientfico y tecnolgico a nivel de ingeniera.
6. Conclusiones
La creacin de un software de calidad es primordial hoy en da para el ingeniero del software, para ello el mismo debe de ser
robusto, amigable, fcil de modificar, y para que dure un gran periodo estar en constante actualizacin.
Por consiguiente no todo software es 100% seguro, y ninguno garantiza el xito de ciertas tareas que el usuario desee que el
mismo haga, el xito solo lo adquirir si le da el uso adecuado y cuenta con todos los mecanismos y mquinas apropiadas para
lograr sus objetivos propuestos.
Para que un software alcance un gran nivel de vida el ingeniero debe de tomar en cuenta lo
Siguiente:
5/26/2018 Articulo Cientifico
5/6
Una buena definicin de los requerimientos que garantizarn el xito del proyecto y la satisfaccin del cliente.
El modelo de proceso utilizado deber corresponder al mbito y necesidades del proyecto.
Es necesario identificar cules son los roles, artefactos y/o entregables del proyecto.
Tanto un elemento como un paquete de trabajo son productos tangibles y cuantificables.
Los Proyectos reales no siguen por lo general un flujo secuencial de actividades.
El modelado en espiral y el incremental son los que ms se puedan utilizar en los proyectos de software de la
actualidad.
7. Apndices:
Fig.1
Fig.2
Fig.3
5/26/2018 Articulo Cientifico
6/6
Fig.4
Modelo Incremental
Fig.5
Modelo DRA
Fig.6
METODOLOGIA XP (extreming programming)
8. Bibliografa
Ian Somerville: Ingeniera de Software. Editorial Pearson Addison Wesley.Sptima Edicin.Madrid, 2005.
Mitchel H. Levine, Analyzing the Deliverables Produced in the Software Development Life Cycle (2000)