Unidad 3 los modelos de procesos de software

Andhy H Palma
Andhy H PalmaNumber 1 fan. en Linkin Park

FIS Andrea Heredia

Unidad 3 Los modelos de procesos de software 
Los modelos de procesos de software 
Para resolver los problemas reales de una industria, un ingeniero del software debe incorporar una 
estrategia de desarrollo que acompañe al proceso, métodos y tenga herramientas. Esta estrategia se 
llama modelo de proceso o paradigma de ingeniería del software. Se selecciona un modelo de 
proceso para la ingeniería del software según la naturaleza del proyecto y de la aplicación, los 
métodos y las herramientas a utilizarse, los controles y entregas que se requieren. 
Cada modelo es una descripción de un proceso software que se presenta desde una perspectiva 
particular. Alternativamente, a veces se usan los términos ciclo de vida y Modelo de ciclo de vida. 
Cada modelo describe una sucesión de fases y un encadenamiento entre ellas así como un bucle de 
resoluciones de problemas y estos se encuentran en distintas etapas. Según las fases y el modo en 
que se produzca este encadenamiento, tenemos diferentes modelos de proceso. Un modelo es más 
adecuado que otro para desarrollar un proyecto dependiendo de un conjunto de características de 
éste. Existe una gran variedad de modelos diferentes entre los que tenemos los que se describen a 
continuación. 
MODELO LINEAL SECUENCIAL (CASCADA) 
También llamado "Ciclo de vida básico" o "Modelo de cascada" tiene su origen en el "Modelo de 
cascada" ingeniado por Winston Royce, aunque omite los muchos bucles de este último. El Modelo 
Lineal Secuencial sugiere un enfoque sistemático o más bien secuencial del desarrollo de software 
que comienza en un nivel de sistemas y progresa con el análisis, diseño, codificación, pruebas y 
mantenimiento. El Modelo Lineal Secuencial acompaña las siguientes actividades: 
 Análisis de los requerimientos del software:Es la fase en la cual se reúnen todos los requisitos 
que debe cumplir el software. En esta etapa es fundamental la presencia del cliente que documenta 
y repasa dichos requisitos.
 Diseño:Es una etapa dirigida hacia la estructura de datos, la arquitectura del software, las 
representaciones de la interfaz y el detalle procedimental (algoritmo). En forma general se hace un 
esbozo de lo solicitado y se documenta haciéndose parte del software. 
 Generación del código:Es la etapa en la cual se traduce el diseño para que sea comprensible 
por la máquina. Esta etapa va a depender estrechamente de lo detallado del diseño. 
 Pruebas:Esta etapa se centra en los procesos lógicos internos del software, asegurando que 
todas las sentencias se han comprobado, y en la detección de errores. 
 Mantenimiento:Debido a que el programa puede tener errores, puede no ser del completo 
agrado del cliente o puede necesitar, eventualmente acoplarse a los cambios en su entorno. Esto 
quiere decir que no se rehace el programa, sino que sobre la base de uno ya existente se realizan 
algunos cambios. 
 Los responsables del desarrollo de software siempre se retrasan innecesariamente. Todo lo 
anteriormente expuesto es cierto pero este paradigma tiene un lugar bien definido e importante en 
el trabajo de la Ingeniería de Software aparte de proporcionar una plantilla en la que se encuentran 
métodos para análisis, diseño, codificación, pruebas y mantenimiento. Con todo y sus errores, sigue 
siendo el paradigma más utilizado en el desarrollo del software, siendo mucho mejor que un 
enfoque al azar. 
Características del modelo 
 Consiste en la ejecución secuencial de una serie de fases que se suceden, lo que da nombre 
al modelo. 
 Cada fase genera documentación para la siguiente. Esta documentación debe ser aprobada. 
 Una fase no comienza hasta que la anterior ha terminado. 
 Requiere disponer de unos requisitos completos y precisos al principio del desarrollo. 
 Se disponga de unos requisitos completos y consistentes al principio del desarrollo. 
 Sea un proyecto pequeño, en el que el período de congelación de los requisitos es corto, o 
un proyecto con unos requisitos bastante estables. 
Ventajas: 
 Se debe tener en cuenta que fue el primer modelo empleado, y por lo tanto es mejor que 
ninguno. 
 Facilita la gestión del desarrollo. 
Desventajas:
 En general, establecer todos los requisitos al principio del proceso de desarrollo es un mito 
inalcanzable, Los usuarios no pueden imaginarse lo que quieren hasta que no ven un sistema 
funcionando. 
 Los requisitos no se pueden congelar mientras dura el desarrollo. El mercado cambia, todo 
cambia. 
 El usuario debe esperar mucho tiempo hasta ver los resultados 
 Los errores de análisis y diseño son costosos de eliminar, y se propagan a las fases siguientes 
con un efecto conocido como bola de nieve. 
 Se genera mucho mantenimiento inicial debido al período de congelación de requisitos y 
éste recae, en su mayor parte. 
Este modelo es ampliamente utilizado en los sistemas gubernamentales de gran tamaño, en especial 
en el Departamento de Defensa de los Estados Unidos (DOD). 
Modelo Incremental 
El proceso se divide en 4 partes: Análisis, Diseño, Código y Prueba. Sin embargo, para la 
producción del Software, se usa el principio de trabajo en cadena o “Pipeline”, utilizado en muchas 
otras formas de programación. Con esto se mantiene al cliente en constante contacto con los 
resultados obtenidos en cada incremento.Es el mismo cliente el que incluye o desecha elementos al 
final de cada incremento a fin de que el software se adapte mejor a sus necesidades reales. El proceso 
se repite hasta que se elabore el producto completo. 
De esta forma el tiempo de entrega se reduce considerablemente. 
Al igual que los otros métodos de modelado, el Modelo Incremental es de naturaleza interactiva 
pero se diferencia de aquellos en que al final de cada incremento se entrega un producto 
completamente operacional. 
El Modelo Incremental es particularmente útil cuando no se cuenta con una dotación de personal 
suficiente. Los primeros pasos los pueden realizar un grupo reducido de personas y en cada 
incremento se añadir• personal, de ser necesario. Por otro lado los incrementos se pueden planear
para gestionar riesgos técnicos. 
El Modelo Incremental se puede ver aquí en forma grafica: 
 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 los 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. 
El modelo proporciona todas las ventajas del modelo en cascada realimentado, reduciendo sus 
desventajas sólo al ámbito de cada incremento. 
 · Permite entregar al cliente un producto más rápido en comparación del modelo de cascada. 
 · Resulta más sencillo acomodar cambios al acotar el tamaño de los incrementos. 
 · Por su versatilidad requiere de una planeación cuidadosa tanto a nivel administrativo 
como técnico. 
Desventajas: 
 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 índice de riesgos. 
 Requiere de mucha planeación, tanto administrativa como técnica. 
 Requiere de metas claras para conocer el estado del proyecto. 
El Proceso Unificado de Desarrollo de Software (RUP) 
El Proceso Unificado es un proceso de software genérico que puede ser utilizado para una gran 
cantidad de tipos de sistemas de software, para diferentes áreas de aplicación, diferentes tipos de
organizaciones, diferentes niveles de competencia y diferentes tamaños de proyectos. 
Provee un enfoque disciplinado en la asignación de tareas y resposabilidades dentro de una 
organización de desarrollo. Su meta es asegurar la producción de software de muy alta calidad que 
satisfaga las necesidades de los usuarios finales, dentro de un calendario y presupuesto predecible. 
El Proceso Unificado tiene dos dimensiones : 
 Un eje horizontal que representa el tiempo y muestra los aspectos del ciclo de vida del 
proceso a lo largo de su desenvolvimiento 
 Un eje vertical que representa las disciplinas, las cuales agrupan actividades de una manera 
lógica de acuerdo a su naturaleza. 
 La primera dimensión representa el aspecto dinámico del proceso conforme se va 
desarrollando, se expresa en términos de fases, iteraciones e hitos (milestones). 
 La segunda dimensión representa el aspecto estático del proceso: cómo es descrito en 
términos de componentes del proceso, disciplinas, actividades, flujos de trabajo, artefactos y roles. 
El Proceso Unificado se basa en componentes (component-based), lo que significa que el sistema en 
construcción está hecho de componentes de software interconectados por medio de interfaces bien 
definidas (well-defined interfaces).El Proceso Unificado usa el Lenguaje de Modelado Unificado 
(UML) en la preparación de todos los planos del sistema. De hecho, UML es una parte integral del 
Proceso Unificado, fueron desarrollados a la par. 
El Proceso Unificado es dirigido por casos de uso. 
Un sistema de software se crea para servir a sus usuarios. Por lo tanto, para construir un sistema 
exitoso se debe conocer qué es lo que quieren y necesitan los usuarios prospectos. El término usuario 
se refiere no solamente a los usuarios humanos, sino a otros sistemas. En este contexto, el término 
usuario representa algo o alguien que interactúa con el sistema por desarrollar. 
Un caso de uso es una pieza en la funcionalidad del sistema que le da al usuario un resultado de 
valor. Los casos de uso capturan los requerimientos funcionales. Todos los casos de uso juntos 
constituyen el modelo de casos de uso el cual describe la funcionalidad completa del sistema. Este 
modelo reemplaza la tradicional especificación funcional del sistema. Una especificación funcional 
tradicional se concentra en responder la pregunta: ¿Qué se supone que el sistema debe hacer? La 
estrategia de casos de uso puede ser definida agregando tres palabras al final de la pregunta: ¿por 
cada usuario? Estas tres palabras tienen una implicación importante, nos fuerzan a pensar en
términos del valor a los usuarios y no solamente en términos de las funciones que sería bueno que 
tuviera. Sin embargo, los casos de uso no son solamente una herramienta para especificar los 
requerimientos del sistema, también dirigen su diseño, implementación y pruebas, esto es, dirigen 
el proceso de desarrollo. 
Aún y cuando los casos de uso dirigen el proceso, no son elegidos de manera aislada. Son 
desarrollados a la par con la arquitectura del sistema, esto es, los casos de uso dirigen la arquitectura 
del sistema y la arquitectura del sistema influencia la elección de los casos de uso. Por lo tanto, al 
arquitectura del sistema y los casos de uso maduran conforme avanza el ciclo de vida. 
Proceso de Software Personal 
Proceso de Software Personal. Se puede considerar como la guía de trabajo personal para ingenieros 
de software en organizaciones que emplean un modelo CMMI con nivel de madurez o de capacidad 
de procesos que implica la medición cualitativa y mejora de procesos. El Personal Software Process, 
conocido por sus siglas como PSP, es una metodología de reciente creación, proveniente del Instituto 
de Ingeniería del Software(SEI). PSP es una alternativa dirigida a los ingenieros de sistemas, que les 
permite mejorar la forma en la que construyen software. Considerando aspectos como la 
planeación, calidad, estimación de costos y productividad, PSP es una metodología que vale la pena 
revisar cuando el ingeniero de software está interesado en aumentar la calidad de los productos de 
software que desarrolla dentro de un contexto de trabajo individual. 
En PSP todas las tareas y actividades que el ingeniero de software debe realizar durante el proceso 
de desarrollo de un producto de software, están puntualmente definidas en un conjunto de 
documentos conocidos como scripts. Los scripts son el punto medular de PSP, por lo que se hace 
mucho énfasis en que deben ser seguidos en forma disciplinada, ya que de ello dependerá el éxito 
de la mejora que se busca. Gran parte de las tareas y actividades definidas en los scripts generará 
en su realización un conjunto de datos, fundamentalmente de carácter estadístico. La aplicación de 
PSP en varios procesos de desarrollo, y el análisis de la información estadística generada en cada 
uno de éstos, permitirán al ingeniero de software identificar, tanto sus fortalezas como sus
debilidades, y crecer a través de un proceso de autoaprendizaje y auto mejora. 
La calidad en PSP, es un aspecto fuertemente relacionado con la cantidad de defectos que el producto 
de software contiene. 
En este nivel se introducen algunos métodos aplicables al proceso de desarrollo de software, dentro 
de un enfoque de proyectos a gran escala, pero sin lidiar con problemas de comunicación y 
coordinación de los equipos de trabajo. 
ventajas y desventajas 
 PSP es una alternativa, de las muchas que han surgido recientemente, para mejorar el 
proceso de desarrollo de software. Más que clasificar un conjunto de sentencias como ventajas o 
desventajas, a continuación se citan algunas características: 
 PSP es una metodología basada en estimación. La estimación permite saber cuándo y cómo 
se desarrollan las tareas de un proceso, por lo que podría citarse como un aspecto importante de 
esta metodología el estar basada en métricas y estimaciones. 
 La información de las métricas y estimaciones se utiliza para evaluar y mejorar procesos 
futuros. PSP parte de la premisa que, si el ingeniero de software conoce sus fortalezas y debilidades, 
puede establecer las acciones necesarias para erradicar o explotar los aspectos identificados en la 
forma en que desarrolla software.Aunque lo mencionado en el punto anterior podría sonar bastante 
atractivo, la forma de llegar a ese auto conocimiento puede resultar tediosa y, en el peor de los casos, 
una pesadilla para el desarrollador. Salvo muy pocas excepciones, los ingenieros de software nunca 
realizan procedimientos formales para conocer la forma en que trabajan, no saben con exactitud 
cuántas líneas de código generan por hora, cuánto tiempo invierten al corregir un error, cuánto 
tiempo invierten en pruebas, etcétera. 
 Los pasos de registro de información a detalle en el nivel de medición pueden resultar 
frustrantes cuando se tiene presión de tiempo. 
 Aún no existe una herramienta automatizada que facilite el registro y análisis de datos 
generados por la aplicación de PSP. 
Conclusion: 
En este temas comprendi y apendi a como poder implementar un método adecuado para el 
desarrollo de un software. Ya que el desarrollo del software al igual que la codificación es muy 
importante ya que conello podremos seguir de manera adecuada el procesó de su desarrollo.
Publicado por andhy h palma en 11:29

Más contenido relacionado

La actualidad más candente(20)

IIS Unidad 3A Proceso de desarrollo de softwareIIS Unidad 3A Proceso de desarrollo de software
IIS Unidad 3A Proceso de desarrollo de software
Franklin Parrales Bravo1.9K vistas
IIS Unidad 2 Modelos de proceso del softwareIIS Unidad 2 Modelos de proceso del software
IIS Unidad 2 Modelos de proceso del software
Franklin Parrales Bravo1.6K vistas
PSW Unidad 1 PROCESO DE SOFTWAREPSW Unidad 1 PROCESO DE SOFTWARE
PSW Unidad 1 PROCESO DE SOFTWARE
Franklin Parrales Bravo1.1K vistas
IDR Unidad 4: Validación y gestión de requisitosIDR Unidad 4: Validación y gestión de requisitos
IDR Unidad 4: Validación y gestión de requisitos
Franklin Parrales Bravo1.8K vistas
MOD Unidad 2: Tipos de modeladoMOD Unidad 2: Tipos de modelado
MOD Unidad 2: Tipos de modelado
Franklin Parrales Bravo1.5K vistas
IIS Unidad1: Introducción a la Ingeniería de SoftwareIIS Unidad1: Introducción a la Ingeniería de Software
IIS Unidad1: Introducción a la Ingeniería de Software
Franklin Parrales Bravo2.2K vistas
Ingeniería De RequisitosIngeniería De Requisitos
Ingeniería De Requisitos
ssharLudena2K vistas
INGENIERIA DE SOFTWARE 2012INGENIERIA DE SOFTWARE 2012
INGENIERIA DE SOFTWARE 2012
Diego Prado1.2K vistas
PSW Unidad 2 MODELOS DE PROCESOPSW Unidad 2 MODELOS DE PROCESO
PSW Unidad 2 MODELOS DE PROCESO
Franklin Parrales Bravo1.1K vistas
Ciclo de vida de un proyecto informaticoCiclo de vida de un proyecto informatico
Ciclo de vida de un proyecto informatico
juan pablo guaman5.6K vistas
Proyecto de softwareProyecto de software
Proyecto de software
monik100233.6K vistas
8.conceptos de diseño8.conceptos de diseño
8.conceptos de diseño
Ramiro Estigarribia Canese956 vistas
Conceptos de diseño de softwareConceptos de diseño de software
Conceptos de diseño de software
Jose Diaz Silva5.1K vistas

Similar a Unidad 3 los modelos de procesos de software

Modelos del softwareModelos del software
Modelos del softwareangelicasolishernnde
99 vistas11 diapositivas
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaamendez45
5.5K vistas9 diapositivas

Similar a Unidad 3 los modelos de procesos de software(20)

Modelos del softwareModelos del software
Modelos del software
angelicasolishernnde99 vistas
Modelos de Desarrollo del SoftwareModelos de Desarrollo del Software
Modelos de Desarrollo del Software
GianlucaCastellano184 vistas
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaa
mendez455.5K vistas
Jhostin vasquez   modelos de softwareJhostin vasquez   modelos de software
Jhostin vasquez modelos de software
jhostinvasquez16 vistas
Modelos de Ing de softModelos de Ing de soft
Modelos de Ing de soft
Jazmin Cr1.7K vistas
pruevaprueva
prueva
1081913395196 vistas
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
Brihany Rossell60.6K vistas
SDLC.pptxSDLC.pptx
SDLC.pptx
Andrés Campos64 vistas
Trabajo de sistemas de softwareTrabajo de sistemas de software
Trabajo de sistemas de software
JhonJairoPerez441 vistas
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de software
Radel Fuentes7.9K vistas
AMSIAMSI
AMSI
Mario Sanchez442 vistas
Modelos de proceso del softwareModelos de proceso del software
Modelos de proceso del software
Diego Llusco776 vistas
Ciclo de Vida de un Software.pdfCiclo de Vida de un Software.pdf
Ciclo de Vida de un Software.pdf
Instituto Profesional Inacap149 vistas
ciclo_de_vida_softwareciclo_de_vida_software
ciclo_de_vida_software
ArielAlexanderRavest53 vistas
Proceso del software (Metodos Agiles)Proceso del software (Metodos Agiles)
Proceso del software (Metodos Agiles)
Ares Atzarel Hernández Rodríguez541 vistas
Proceso del softwareProceso del software
Proceso del software
Juan Avendaño604 vistas

Más de Andhy H Palma

Unidad 5 graficaciónUnidad 5 graficación
Unidad 5 graficaciónAndhy H Palma
1.5K vistas13 diapositivas
Unidad 4 graficaciónUnidad 4 graficación
Unidad 4 graficaciónAndhy H Palma
3.5K vistas13 diapositivas
Unidad 3 graficacionUnidad 3 graficacion
Unidad 3 graficacionAndhy H Palma
2.8K vistas11 diapositivas

Más de Andhy H Palma(9)

Paradigmas de la ingeniería de softwareParadigmas de la ingeniería de software
Paradigmas de la ingeniería de software
Andhy H Palma1.3K vistas
Unidad 5 graficaciónUnidad 5 graficación
Unidad 5 graficación
Andhy H Palma1.5K vistas
Unidad 4 graficaciónUnidad 4 graficación
Unidad 4 graficación
Andhy H Palma3.5K vistas
Unidad 3 graficacionUnidad 3 graficacion
Unidad 3 graficacion
Andhy H Palma2.8K vistas
Modelo de procesosModelo de procesos
Modelo de procesos
Andhy H Palma495 vistas

Último(20)

ANALISIS FICHA 1 Y FICHA 2 (2).pdfANALISIS FICHA 1 Y FICHA 2 (2).pdf
ANALISIS FICHA 1 Y FICHA 2 (2).pdf
LauraSofiaCardonaSol6 vistas
tic in the society.pptxtic in the society.pptx
tic in the society.pptx
oscarmoralesrincon5 vistas
DIstribuciones de linux .pptxDIstribuciones de linux .pptx
DIstribuciones de linux .pptx
andresrobles0129 vistas
web.pdfweb.pdf
web.pdf
milinco507 vistas
Copia de Estrategias de apoyo.pdfCopia de Estrategias de apoyo.pdf
Copia de Estrategias de apoyo.pdf
LauraSofiaCardonaSol6 vistas
Screenshot (12) (1).pdfScreenshot (12) (1).pdf
Screenshot (12) (1).pdf
dedataarchitect5 vistas
Trabajo de micro bit Trabajo de micro bit
Trabajo de micro bit
Christopher Palacios 6 vistas
Manual Slideshare.pdfManual Slideshare.pdf
Manual Slideshare.pdf
milinco5016 vistas
MakecodeMakecode
Makecode
LauraSofiaCardonaSol6 vistas
El Mal Uso Del Internet.pptxEl Mal Uso Del Internet.pptx
El Mal Uso Del Internet.pptx
jeshuahernandezbuelv9 vistas
Minitemas ilustrados .pdfMinitemas ilustrados .pdf
Minitemas ilustrados .pdf
VictorCarreteroMoren11 vistas
Tarea 3 ppt1.pptxTarea 3 ppt1.pptx
Tarea 3 ppt1.pptx
LauraFuentesJurado18 vistas
web1.pdfweb1.pdf
web1.pdf
milinco505 vistas
Las TICLas TIC
Las TIC
juliocesarrincon207 vistas
E-LEARNING y sus características.pdfE-LEARNING y sus características.pdf
E-LEARNING y sus características.pdf
gisellacastro08195 vistas
EXPRESIONES ALGEBRAICAS.pptxEXPRESIONES ALGEBRAICAS.pptx
EXPRESIONES ALGEBRAICAS.pptx
durannakay710 vistas

Unidad 3 los modelos de procesos de software

  • 1. Unidad 3 Los modelos de procesos de software Los modelos de procesos de software Para resolver los problemas reales de una industria, un ingeniero del software debe incorporar una estrategia de desarrollo que acompañe al proceso, métodos y tenga herramientas. Esta estrategia se llama modelo de proceso o paradigma de ingeniería del software. Se selecciona un modelo de proceso para la ingeniería del software según la naturaleza del proyecto y de la aplicación, los métodos y las herramientas a utilizarse, los controles y entregas que se requieren. Cada modelo es una descripción de un proceso software que se presenta desde una perspectiva particular. Alternativamente, a veces se usan los términos ciclo de vida y Modelo de ciclo de vida. Cada modelo describe una sucesión de fases y un encadenamiento entre ellas así como un bucle de resoluciones de problemas y estos se encuentran en distintas etapas. Según las fases y el modo en que se produzca este encadenamiento, tenemos diferentes modelos de proceso. Un modelo es más adecuado que otro para desarrollar un proyecto dependiendo de un conjunto de características de éste. Existe una gran variedad de modelos diferentes entre los que tenemos los que se describen a continuación. MODELO LINEAL SECUENCIAL (CASCADA) También llamado "Ciclo de vida básico" o "Modelo de cascada" tiene su origen en el "Modelo de cascada" ingeniado por Winston Royce, aunque omite los muchos bucles de este último. El Modelo Lineal Secuencial sugiere un enfoque sistemático o más bien secuencial del desarrollo de software que comienza en un nivel de sistemas y progresa con el análisis, diseño, codificación, pruebas y mantenimiento. El Modelo Lineal Secuencial acompaña las siguientes actividades:  Análisis de los requerimientos del software:Es la fase en la cual se reúnen todos los requisitos que debe cumplir el software. En esta etapa es fundamental la presencia del cliente que documenta y repasa dichos requisitos.
  • 2.  Diseño:Es una etapa dirigida hacia la estructura de datos, la arquitectura del software, las representaciones de la interfaz y el detalle procedimental (algoritmo). En forma general se hace un esbozo de lo solicitado y se documenta haciéndose parte del software.  Generación del código:Es la etapa en la cual se traduce el diseño para que sea comprensible por la máquina. Esta etapa va a depender estrechamente de lo detallado del diseño.  Pruebas:Esta etapa se centra en los procesos lógicos internos del software, asegurando que todas las sentencias se han comprobado, y en la detección de errores.  Mantenimiento:Debido a que el programa puede tener errores, puede no ser del completo agrado del cliente o puede necesitar, eventualmente acoplarse a los cambios en su entorno. Esto quiere decir que no se rehace el programa, sino que sobre la base de uno ya existente se realizan algunos cambios.  Los responsables del desarrollo de software siempre se retrasan innecesariamente. Todo lo anteriormente expuesto es cierto pero este paradigma tiene un lugar bien definido e importante en el trabajo de la Ingeniería de Software aparte de proporcionar una plantilla en la que se encuentran métodos para análisis, diseño, codificación, pruebas y mantenimiento. Con todo y sus errores, sigue siendo el paradigma más utilizado en el desarrollo del software, siendo mucho mejor que un enfoque al azar. Características del modelo  Consiste en la ejecución secuencial de una serie de fases que se suceden, lo que da nombre al modelo.  Cada fase genera documentación para la siguiente. Esta documentación debe ser aprobada.  Una fase no comienza hasta que la anterior ha terminado.  Requiere disponer de unos requisitos completos y precisos al principio del desarrollo.  Se disponga de unos requisitos completos y consistentes al principio del desarrollo.  Sea un proyecto pequeño, en el que el período de congelación de los requisitos es corto, o un proyecto con unos requisitos bastante estables. Ventajas:  Se debe tener en cuenta que fue el primer modelo empleado, y por lo tanto es mejor que ninguno.  Facilita la gestión del desarrollo. Desventajas:
  • 3.  En general, establecer todos los requisitos al principio del proceso de desarrollo es un mito inalcanzable, Los usuarios no pueden imaginarse lo que quieren hasta que no ven un sistema funcionando.  Los requisitos no se pueden congelar mientras dura el desarrollo. El mercado cambia, todo cambia.  El usuario debe esperar mucho tiempo hasta ver los resultados  Los errores de análisis y diseño son costosos de eliminar, y se propagan a las fases siguientes con un efecto conocido como bola de nieve.  Se genera mucho mantenimiento inicial debido al período de congelación de requisitos y éste recae, en su mayor parte. Este modelo es ampliamente utilizado en los sistemas gubernamentales de gran tamaño, en especial en el Departamento de Defensa de los Estados Unidos (DOD). Modelo Incremental El proceso se divide en 4 partes: Análisis, Diseño, Código y Prueba. Sin embargo, para la producción del Software, se usa el principio de trabajo en cadena o “Pipeline”, utilizado en muchas otras formas de programación. Con esto se mantiene al cliente en constante contacto con los resultados obtenidos en cada incremento.Es el mismo cliente el que incluye o desecha elementos al final de cada incremento a fin de que el software se adapte mejor a sus necesidades reales. El proceso se repite hasta que se elabore el producto completo. De esta forma el tiempo de entrega se reduce considerablemente. Al igual que los otros métodos de modelado, el Modelo Incremental es de naturaleza interactiva pero se diferencia de aquellos en que al final de cada incremento se entrega un producto completamente operacional. El Modelo Incremental es particularmente útil cuando no se cuenta con una dotación de personal suficiente. Los primeros pasos los pueden realizar un grupo reducido de personas y en cada incremento se añadir• personal, de ser necesario. Por otro lado los incrementos se pueden planear
  • 4. para gestionar riesgos técnicos. El Modelo Incremental se puede ver aquí en forma grafica:  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 los 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. El modelo proporciona todas las ventajas del modelo en cascada realimentado, reduciendo sus desventajas sólo al ámbito de cada incremento.  · Permite entregar al cliente un producto más rápido en comparación del modelo de cascada.  · Resulta más sencillo acomodar cambios al acotar el tamaño de los incrementos.  · Por su versatilidad requiere de una planeación cuidadosa tanto a nivel administrativo como técnico. Desventajas:  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 índice de riesgos.  Requiere de mucha planeación, tanto administrativa como técnica.  Requiere de metas claras para conocer el estado del proyecto. El Proceso Unificado de Desarrollo de Software (RUP) El Proceso Unificado es un proceso de software genérico que puede ser utilizado para una gran cantidad de tipos de sistemas de software, para diferentes áreas de aplicación, diferentes tipos de
  • 5. organizaciones, diferentes niveles de competencia y diferentes tamaños de proyectos. Provee un enfoque disciplinado en la asignación de tareas y resposabilidades dentro de una organización de desarrollo. Su meta es asegurar la producción de software de muy alta calidad que satisfaga las necesidades de los usuarios finales, dentro de un calendario y presupuesto predecible. El Proceso Unificado tiene dos dimensiones :  Un eje horizontal que representa el tiempo y muestra los aspectos del ciclo de vida del proceso a lo largo de su desenvolvimiento  Un eje vertical que representa las disciplinas, las cuales agrupan actividades de una manera lógica de acuerdo a su naturaleza.  La primera dimensión representa el aspecto dinámico del proceso conforme se va desarrollando, se expresa en términos de fases, iteraciones e hitos (milestones).  La segunda dimensión representa el aspecto estático del proceso: cómo es descrito en términos de componentes del proceso, disciplinas, actividades, flujos de trabajo, artefactos y roles. El Proceso Unificado se basa en componentes (component-based), lo que significa que el sistema en construcción está hecho de componentes de software interconectados por medio de interfaces bien definidas (well-defined interfaces).El Proceso Unificado usa el Lenguaje de Modelado Unificado (UML) en la preparación de todos los planos del sistema. De hecho, UML es una parte integral del Proceso Unificado, fueron desarrollados a la par. El Proceso Unificado es dirigido por casos de uso. Un sistema de software se crea para servir a sus usuarios. Por lo tanto, para construir un sistema exitoso se debe conocer qué es lo que quieren y necesitan los usuarios prospectos. El término usuario se refiere no solamente a los usuarios humanos, sino a otros sistemas. En este contexto, el término usuario representa algo o alguien que interactúa con el sistema por desarrollar. Un caso de uso es una pieza en la funcionalidad del sistema que le da al usuario un resultado de valor. Los casos de uso capturan los requerimientos funcionales. Todos los casos de uso juntos constituyen el modelo de casos de uso el cual describe la funcionalidad completa del sistema. Este modelo reemplaza la tradicional especificación funcional del sistema. Una especificación funcional tradicional se concentra en responder la pregunta: ¿Qué se supone que el sistema debe hacer? La estrategia de casos de uso puede ser definida agregando tres palabras al final de la pregunta: ¿por cada usuario? Estas tres palabras tienen una implicación importante, nos fuerzan a pensar en
  • 6. términos del valor a los usuarios y no solamente en términos de las funciones que sería bueno que tuviera. Sin embargo, los casos de uso no son solamente una herramienta para especificar los requerimientos del sistema, también dirigen su diseño, implementación y pruebas, esto es, dirigen el proceso de desarrollo. Aún y cuando los casos de uso dirigen el proceso, no son elegidos de manera aislada. Son desarrollados a la par con la arquitectura del sistema, esto es, los casos de uso dirigen la arquitectura del sistema y la arquitectura del sistema influencia la elección de los casos de uso. Por lo tanto, al arquitectura del sistema y los casos de uso maduran conforme avanza el ciclo de vida. Proceso de Software Personal Proceso de Software Personal. Se puede considerar como la guía de trabajo personal para ingenieros de software en organizaciones que emplean un modelo CMMI con nivel de madurez o de capacidad de procesos que implica la medición cualitativa y mejora de procesos. El Personal Software Process, conocido por sus siglas como PSP, es una metodología de reciente creación, proveniente del Instituto de Ingeniería del Software(SEI). PSP es una alternativa dirigida a los ingenieros de sistemas, que les permite mejorar la forma en la que construyen software. Considerando aspectos como la planeación, calidad, estimación de costos y productividad, PSP es una metodología que vale la pena revisar cuando el ingeniero de software está interesado en aumentar la calidad de los productos de software que desarrolla dentro de un contexto de trabajo individual. En PSP todas las tareas y actividades que el ingeniero de software debe realizar durante el proceso de desarrollo de un producto de software, están puntualmente definidas en un conjunto de documentos conocidos como scripts. Los scripts son el punto medular de PSP, por lo que se hace mucho énfasis en que deben ser seguidos en forma disciplinada, ya que de ello dependerá el éxito de la mejora que se busca. Gran parte de las tareas y actividades definidas en los scripts generará en su realización un conjunto de datos, fundamentalmente de carácter estadístico. La aplicación de PSP en varios procesos de desarrollo, y el análisis de la información estadística generada en cada uno de éstos, permitirán al ingeniero de software identificar, tanto sus fortalezas como sus
  • 7. debilidades, y crecer a través de un proceso de autoaprendizaje y auto mejora. La calidad en PSP, es un aspecto fuertemente relacionado con la cantidad de defectos que el producto de software contiene. En este nivel se introducen algunos métodos aplicables al proceso de desarrollo de software, dentro de un enfoque de proyectos a gran escala, pero sin lidiar con problemas de comunicación y coordinación de los equipos de trabajo. ventajas y desventajas  PSP es una alternativa, de las muchas que han surgido recientemente, para mejorar el proceso de desarrollo de software. Más que clasificar un conjunto de sentencias como ventajas o desventajas, a continuación se citan algunas características:  PSP es una metodología basada en estimación. La estimación permite saber cuándo y cómo se desarrollan las tareas de un proceso, por lo que podría citarse como un aspecto importante de esta metodología el estar basada en métricas y estimaciones.  La información de las métricas y estimaciones se utiliza para evaluar y mejorar procesos futuros. PSP parte de la premisa que, si el ingeniero de software conoce sus fortalezas y debilidades, puede establecer las acciones necesarias para erradicar o explotar los aspectos identificados en la forma en que desarrolla software.Aunque lo mencionado en el punto anterior podría sonar bastante atractivo, la forma de llegar a ese auto conocimiento puede resultar tediosa y, en el peor de los casos, una pesadilla para el desarrollador. Salvo muy pocas excepciones, los ingenieros de software nunca realizan procedimientos formales para conocer la forma en que trabajan, no saben con exactitud cuántas líneas de código generan por hora, cuánto tiempo invierten al corregir un error, cuánto tiempo invierten en pruebas, etcétera.  Los pasos de registro de información a detalle en el nivel de medición pueden resultar frustrantes cuando se tiene presión de tiempo.  Aún no existe una herramienta automatizada que facilite el registro y análisis de datos generados por la aplicación de PSP. Conclusion: En este temas comprendi y apendi a como poder implementar un método adecuado para el desarrollo de un software. Ya que el desarrollo del software al igual que la codificación es muy importante ya que conello podremos seguir de manera adecuada el procesó de su desarrollo.
  • 8. Publicado por andhy h palma en 11:29