modelos de procesos de software(completo)
DESCRIPTION
trabajo de grupo luis cando david roseroTRANSCRIPT
Cascada :toma actividades fundamentales de proceso de desarrollo ,
validación y evolución luego las representa en procesos tales como
requerimientos , implementacion,etc,
MODELOS DE PROCESOS DE
SOFTWARE
Diseño del Sistema
Se descompone y organiza el sistema en elementos que puedan elaborarse por separado, aprovechando las ventajas del desarrollo en equipo. Como resultado surge el SDD (Documento de Diseño del Software), que contiene la descripción de la estructura relacional global del sistema y la especificación de lo que debe hacer
cada una de sus partes, así como la manera en que se combinan unas con otras.
Diseño del Programa
Es la fase en donde se realizan los algoritmos necesarios para el cumplimiento de los requerimientos del usuario así como también los análisis necesarios para saber que herramientas usar en la etapa de Codificación.
Codificación
Es la fase de programación o implementación propiamente dicha. Aquí se implementa el código fuente, haciendo uso de prototipos así como pruebas y ensayos para corregir errores.
Dependiendo del lenguaje de programación y su versión se crean las bibliotecas y componentes reutilizables dentro del mismo proyecto para hacer que la programación sea un proceso mucho más rápido.
Pruebas
Los elementos, ya programados, se ensamblan para componer el sistema y se comprueba que funciona correctamente y que cumple con los requisitos, antes de ser puesto
Implantación
El software obtenido se pone en producción. Se implantan los niveles software y hardware que componen el proyecto. La implantación es la fase con más duración y con más cambios en el ciclo de elaboración de un
proyecto. Es una de las fases finales del proyecto.Durante la explotación del sistema de software pueden surgir cambios, bien para corregir errores o bien para
introducir mejoras. Todo ello se recoge en los Documentos de Cambios.
FASES
Análisis y definición de requerimientos : los servicios, las restricciones y las
metas del sistema se establece mediante una consulta a los usuarios del
sistemas
PRUEBAS
Diseño del sistema y software : el proceso de diseño del sistema asigna los
requerimientos , para e sistema de hardware o de software establece una
arquitectura de sistema global es el resumen las extracciones fundamentales
del sistema
Implementación y pruebas de unidad: durante esta etapa , el diseño de
software se realiza como un conjunto de programas , es verificar su
complimiento
Integración y pruebas de sistemas : las unidades de programas o individuales
se integran como una prueba completa después de estas pruebas se liberan al
cliente el sistema.
Operaciones y mantenimiento :esta mas larga cuando se corrige errores y se
pone en practica un mantenimiento .
Una de las ventajas de la herencia y la composición es el soporte al desarrollo
incremental permitiendo introducir nuevo código sin causar fallos en el ya
existente. Si aparecen fallos, éstos son rectificados con nuevo código.
Heredando de (o componiendo con) clases y funciones existentes y añadiendo
miembros de datos y funciones miembros (y redefiniendo las funciones
existentes durante la herencia) puede dejar el código existente - por otro que
todavía se esta usando - que alguien todavía lo este utilizando. Si ocurre algún
error, ahora sabe donde esta el nuevo código, y entonces podrá leerlo mas
rápido y fácilmente que si lo hubiera modificado en el cuerpo del código
existente.
DESARROLLO INCREMENTAL
EJEMPLO
Son 3
1 se reduce el costo de adaptar los requerimientos cambiantes del cliente , es
mucho mas requerido el modelo cascada
2 es mas sencillo obtener retroalimentación del cliente sobre el trabajo que se
realizo
3 mas rápida la entrega y implementación del mismo
BENEFICIOS
En la mayoría de los proyectos de software hay ciertas reutilización de
software , esto sucede cuando las personas trabaja en proyectos de código
similares
1 análisis de componentes: da una especificación de requerimientos, se realiza
una búsqueda de componentes para implementar dicha aplicación
2 modificación de requerimientos :durante esta etapa se analizan
requerimientos de dicha reflejan los componentes todo mundo
3 diseño de sistema con reutilización : este se diseña marco de conceptual del
sistema es posible diseñar un nuevo software con esta base
4 desarrollo e integración : se diseña software que no puede procurase de
manera externa y crea un nuevo sistema ,desarrolla proceso ves de actividades
independientes
INGENIERÍA DE SOFTWARE
ORIENTADA A LA REUTILIZACIÓN
Servicios web estos se desarrollan atender servicios y se atiende des terminales
remotas
Colecciones de objetos son marcos de componentes Net o J2ee
Sistema de software independientes se configuran en un entorno particular
TIPOS DE SISTEMAS UTILIZADOS
EN LA REUTILIZACIÓN
Son secuenciales y entrelazadas de actividades técnicas y administrativas son herramientas manejar grandes volúmenes de información. , estas depende de
software personal para trabajar y programación extrema .
Especiación de software
La Especificación de Requisitos Software (ERS) es una descripción completa del comportamiento del sistema que se va a desarrollar. Incluye un conjunto
de casos de uso que describe todas las interacciones que tendrán los usuarios con el software. Los casos de uso también son conocidos como requisitos funcionales. Además de los casos de uso, la ERS también contiene requisitos no funcionales (o
complementarios). Los requisitos no funcionales son requisitos que imponen restricciones en el diseño o la implementación (Como por ejemplo restricciones en
el diseño o estándares de calidad).
ACTIVIDADES DEL PROCESO
Estudio de factibilidad
Obtención y análisis de requerimientos
Validación de requerimientos
Administración de requerimientos
El análisis y la especificación de requisitos pueden parecer una tarea relativamente sencilla, pero las apariencias engañan. El contenido de comunicación es muy
denso. Abundan las ocasiones para malas interpretaciones o falta de información. Es muy probable que haya ambigüedad. El dilema al que se enfrenta el ingeniero de software puede entenderse muy bien repitiendo la famosa frase de un cliente anónimo: “Sé que cree que entendió lo que piensa que dije, pero no estoy seguro
de que se dé cuenta de que lo que escuchó no es lo que yo quise decir”.
ACTIVIDADES DE PROCESOS DE
REQUERIMIENTOS
Llamado verificación y validación (V&V) para mostrar que un sistema cumple
tanto con las especificaciones como con las expectativas del cliente, puede
incluir procesos de comprobación.
Con excepción de programas pequeños los sistemas no deben ponerse en
pruebas como una unidad monolítica, de modo que los errores produce cuan
el sistema está en mantenimiento.
VALIDACIÓN DE SOFTWARE
Una de las razones principales por la que cada vez más software se incorpora
en los sistemas grandes y complejos.
Esta distinción entre desarrollo y mantenimiento es cada vez más irrelevante.
Es muy difícil que cual quiera sistema sea un sistema complejo nuevo.
EVOLUCIÓN DEL SOFTWARE
Es inevitable en todos los grandes proyectos de software. Los requerimientos
varían conforme el tamaño de la empresa, a medida que se pone a disposición
nuevas tecnologías, surgen nuevas posibilidades del diseño e implementación,
es decir que cambia cualquier que se haya desarrollado y volver a probar el
sistema.
Existen dos enfoques relacionados que se usan para reducir los costos de
rehacer.
1.- Evitar el cambie donde el proceso del software incluye actividades que
anticipa cambios posibles antes de requerirse la labor significativa de rehacer.
2.- Tolerancia al cambio, donde el proceso se diseña de modo que los cambios
se ejecuten con un costo relativamente bajo..
COMO ENFRENTAR EL CAMBIO
Es una versión inicial del sistema que se usa para demostrar conceptos, tratar
opciones de diseños y encontrar más sobre el problema y sus posibles
soluciones.
Un prototipo de desarrollo de software se usa en un proceso de desarrollo
software para contribuir a anticipar los cambios que se requieran:
1.- El proceso de ingeniería de requerimiento, un prototipo ayuda con la
selección y validación de requerimiento de sistema.
2.- En el proceso del diseño de sistema, un prototipo sirve para buscar
soluciones específicas de software y apoyar el diseño de interfaces del usuario.
CREACIÓN DE PROTOTIPO
Es u enfoque al desarrollo del software donde algunos de los incrementosdiseñados se entrega al cliente y se implementa para usarse en un entornooperacional, llamado proceso de entrega incremental.
Una vez identificado los incrementos del sistema, se define como detalle losrequerimientos de los servicios que se van a entregar en el primer incremento.
Y las entregas incrementales tienen una ventaja.
1.- Los clientes pueden utilizar los primeros incrementos como prototipo ypueden adquirir experiencias que informe sobre sus requerimientos.
2.- Los clientes deben esperar hasta la entrega completa del sistema, antes de ganarel valor del mismo.
3.-El proceso mantiene los beneficios del desarrollo incremental en cuanto a quedebe ser relativamente sencillo incorporar cambios al sistema.
4.- Puesto que primero se entrega los servicios de mayor prioridad y luego seintegra los incrementos, los servicios de sistemas más importantes reciben mayorespruebas.
ENTREGA INCREMENTAL
El proceso del software se representa como un espiral, y como una secuencia deactividades como cierto retroceso de una actividad a otra.
Cada ciclo en espiral representa una fase de los procesos del software y el ciclo másinterno puede relacionar con la factibilidad del sistema. etc.
Cada ciclo en espiral se divide en 4 ciclos:
1.- Establecimiento del objeto.- Se define como objetivo específico para dicha fasedel proyecto o restricciones en el proyecto o en el producto.
2.-Valoracion y reducción del riesgo.- Se realiza un análisis minuciosos es decir seda acciones para reducir el riesgo.
3.- Desarrollo y validación.- Se elige un módulo de desarrollo para el sistema.
Ejemplo
Creación de prototipo desechable sería el mejor enfoque de desarrollo.
4.- Planeación.- El proyecto se revisa y se toma una decisión sobre si hay quecontinuar con otro ciclo de espiral.
La diferencia Principal entre el modelo en espiral con otros modelos del procesosdel software es su reconocimiento explícito de riesgo.
MODELO ESPIRAL
“RUP” (Rational Unified Process) Es un ejemplo del modelo del proceso
moderno que se derivó de trabajo sobre el UML y procesos asociados de
desarrollo de software unificado, ilustra la buena práctica en especificación y
diseño, la cual apoya la creación de prototipo y entrega incremental.
RUP presenta una sola visión del proceso, por lo general se describe tres
perspectivas.
1.-Una perspectiva dinámicas que muestran las fases del modelo atreves del
tiempo.
2.-Una perspectiva estática que presentas las actividades del proceso que se
establecen
3.-Una perspectiva practica que sugiere buena práctica a usar durante el
proceso.
EL PROCESO UNIFICADO RACIONAL
RUP busca combinar la perspectiva estática y dinámica en un solo diagrama y haces que seadifícil de entender.
RUP tiene cuatro fases discretas en el proceso del software, a diferencia de modelo encascada, donde la fase se iguala con actividades del proceso.
RUP está vinculada estrechamente con la empresa que con la preocupación técnica.
Fases:
• Concepción.- establecer un caso empresarial para el sistema.
• Elaboración.- Desarrollar la comprensión del problema de dominio, y establece unmarco conceptual arquitectónico para el sistema.
• Construcción.- Incluye diseño, programación y pruebas del sistema.
• Transición.- Se interesa por el cambio del sistema desde la comunidad del desarrollohasta el usuario.
En RUP cada fase se puede presentar en una forma interactiva, con los resultadosdesarrollados incrementales.
Describe la buena práctica de ingeniería, lo que se recomienda son:
1.Desarrollo de software de manera interactiva.
2.Gestión de requerimiento
3.Usar arquitectura basada en componentes
4.Software modelado vidualmente
5.Verificar la calidad de software.
6.Controlar los cambios del software.