Publicado el 20 de Julio del 2020
2.859 visualizaciones desde el 20 de Julio del 2020
409,1 KB
72 paginas
Creado hace 16a (10/10/2008)
Presentación de IS
Proyecto de IS
Introducción a la IS
Proceso y Ciclo de Vida
Proceso Software y
Ciclo de Vida
Curso 2008-2009
Dpto. de Ingeniería de Software e Inteligencia Artificial
Gonzalo Méndez
Facultad de Informática
Universidad Complutense de Madrid
Conceptos importantes
Personas
•• los que trabajan
los que trabajan
Producto
•• lo que se obtiene
lo que se obtiene
Proyecto
•• la pauta a seguir para desarrollar un producto
la pauta a seguir para desarrollar un producto
Proceso
•• la pauta a seguir para desarrollar un proyecto
la pauta a seguir para desarrollar un proyecto
Un traje
Personas
•• El sastre
El sastre
Producto
•• El traje
El traje
Proyecto:
•• el sastre, el traje, el presupuesto del traje, el traje en s
el sastre, el traje, el presupuesto del traje, el traje en síí, los
, los
pasos a dar para hacer el traje...
pasos a dar para hacer el traje...
Proceso
•• La secuencia de acciones para hacer un traje concreto
La secuencia de acciones para hacer un traje concreto
Una cena
Personas
•• Empleados de una empresa de catering
Empleados de una empresa de catering
Producto
•• La cena que se sirve
La cena que se sirve
Proyecto
•• El men
Proceso
El menúú, el presupuesto, lo que hay que hacer para
, el presupuesto, lo que hay que hacer para
conseguir el menúú, ...
, ...
conseguir el men
•• La secuencia de acciones de servir una cena
La secuencia de acciones de servir una cena
Una gama de automóviles
Personas
•• Empleados de la marca
Empleados de la marca
Producto
•• Los autom
Los automóóviles
viles
Proyecto
•• Desarrollo de un modelo nuevo
Desarrollo de un modelo nuevo
Proceso
•• Las instrucciones de la empresa sobre c
Las instrucciones de la empresa sobre cóómo mo
desarrollar un modelo nuevo
desarrollar un modelo nuevo
Para vosotros
Personas
•• vuestro grupo
vuestro grupo
Producto
•• la aplicaci
la aplicacióón elegida
n elegida
Proyecto
•• parte pr
Proceso
parte prááctica IS
ctica IS
•• entregas mensuales + c
entregas mensuales + cóómo vosotros decid
organizaros
organizaros
mo vosotros decidááis is
Capas de la IS
Capa de enfoque de calidad
Capa de proceso
Capa de métodos
Capa de herramientas
Capas de la IS
Capa de calidad
•• Base de cualquier proceso de ingenier
Base de cualquier proceso de ingenierííaa
•• La IS se basa en calidad
La IS se basa en calidad
• Mejores técnicas de construcción de software
Capa de proceso
•• Capa que une calidad y m
Capa que une calidad y méétodos
todos
• Desarrollo racional de la IS
onjunto de actividades y resultados asociados que
de actividades y resultados asociados que
sirven para construir un producto software
sirven para construir un producto software
•• CConjunto
Capas de la IS
Capa de métodos
•• Un mUn méétodo incluye:
todo incluye:
• Análisis de requisitos
• Diseño
• Construcción de programas
• Prueba
• Mantenimiento
•• Suelen estar bastante ligados al proceso
Suelen estar bastante ligados al proceso
Capa de herramientas
tico o semiautomáático para el proceso y los
tico para el proceso y los
•• Soporte autom
Soporte automáático o semiautom
mméétodos
todos
•• Herramientas CASE
Herramientas CASE
Visión general de la IS
Con independencia del modelo de proceso hay
tres fases genéricas:
Fase de definicióónn
•• Fase de definici
•• Fase de desarrollo
Fase de desarrollo
•• Fase de mantenimiento
Fase de mantenimiento
Cada una de estas fases se descompone en un
conjunto de tareas
Fase de definición/especificación
Se identifican requisitos de sistema y software:
•• Informaci
Informacióón a procesar
n a procesar
•• Funci
Funcióón y rendimiento deseados
n y rendimiento deseados
•• Comportamiento del sistema
Comportamiento del sistema
•• Interfaces establecidas
Interfaces establecidas
Restricciones de diseññoo
•• Restricciones de dise
•• Tareas principales:
Tareas principales:
• Planificación del proyecto software
• Ingeniería de sistemas o de información
• Análisis de requisitos
Fase de desarrollo
Se define:
•• CCóómo dise
mo diseññar las estructuras de datos
ar las estructuras de datos
•• CCóómo implementar las funciones
mo implementar las funciones
•• CCóómo caracterizar las interfaces
mo caracterizar las interfaces
mo traducir el diseñño a programaci
•• CCóómo traducir el dise
•• CCóómo validar el producto (pruebas, verificaci
mo validar el producto (pruebas, verificacióón)n)
•• Tareas principales:
Tareas principales:
• Diseño del software
• Generación del código
• Pruebas del software
o a programacióónn
Fase de mantenimiento
Centrada en cambios que se pueda necesitar realizar
sobre un producto
Se vuelven a aplicar las fases de definición y
desarrollo, pero sobre software ya existente
Pueden producirse cuatro tipos de cambio:
Correccióónn: Corregir los defectos
: Corregir los defectos
Adaptacióónn: Modificaciones por cambio externo
: Modificaciones por cambio externo
•• Correcci
•• Adaptaci
•• MejoraMejora: Ampliar los requisitos funcionales originales, a
: Ampliar los requisitos funcionales originales, a
peticióón del cliente
n del cliente
petici
Prevencióónn: Cambio para facilitar el cambio
: Cambio para facilitar el cambio
•• Prevenci
Visión general de la IS
Estas fases se complementan con las
actividades de soporte
•• No crean software
No crean software
calidad
Mejoran su calidad
•• Mejoran su
•• Facilitan su desarrollo
Facilitan su desarrollo
Se aplican a lo largo de todo el proceso del
software
Visión general de la IS
Ejemplos de actividades de soporte
Documentacióónn
n de configuracióónn
•• Documentaci
•• GestiGestióón de configuraci
Seguimiento y control del proyecto de software
•• Seguimiento y control del proyecto de software
Revisiones téécnicas formales
•• Revisiones t
cnicas formales
Garantíía de la calidad del software
•• Garant
a de la calidad del software
n de reutilizacióónn
•• GestiGestióón de reutilizaci
•• Mediciones
Mediciones
•• GestiGestióón de riesgos
n de riesgos
Proceso software
Especificacióónn: establecer requisitos y restricciones
: establecer requisitos y restricciones
Conjunto estructurado de actividades y resultados
asociados requeridos para desarrollar un sistema de
software
•• Especificaci
•• DiseDiseññoo: Producir un modelo en papel del sistema
: Producir un modelo en papel del sistema
•• Implementaci
•• Validaci
Implementacióónn: construcci
Validacióónn: : verificar (por ejemplo mediante pruebas) que el
verificar (por ejemplo mediante pruebas) que el
sistema cumple con las especificaciones requeridas
sistema cumple con las especificaciones requeridas
Instalacióónn: entregar el sistema al usuario
: entregar el sistema al usuario
Evolucióón y mantenimiento
segsegúún las demandas;
: construccióón del sistema de software
n del sistema de software
•• Instalaci
•• Evoluci
n y mantenimiento:: cambiar/adaptar el software
cambiar/adaptar el software
n las demandas; reparar fallos en el sistema
reparar fallos en el sistema
Modelos de proceso
Un modelo de proceso, o paradigma de IS, es
una plantilla, patrón o marco que define el
proceso a través del cual se crea software
Dicho de otra forma, los procesos son
instancias de un modelo de proceso
En esta asignatura los términos proceso y
modelo de proceso se utilizan indistintamente
Modelos de proceso
Una organización podría variar su modelo de
proceso para cada proyecto, según:
•• La naturaleza del proyecto
La naturaleza del proyecto
La naturaleza de la aplicacióónn
•• La naturaleza de la aplicaci
•• Los mLos méétodos y herramientas a utilizar
todos y herramientas a utilizar
•• Los controles y entregas requeridas
Los controles y entregas requeridas
Características del proceso
Entendible
Visibilidad: Grado en que las actividades del proceso
proporcionan resultados
Soportable por herramientas CASE
Aceptabilidad: Grado en que los desarrolladores aceptan y
usan el proceso
Fiabilidad: Capacidad de evitar o detectar errores antes de que
sean defectos
Robustez: Continuidad del proceso a pesar de los problemas
Mantenible: Capacidad de evolución para adaptarse
Rapidez: Velocidad en que el proceso puede proporcionar un
sistema a partir de una especificación
Modelos Genéricos de Desarrollo de
Software
Modelo de Cascada
Prototipado
Desarrollo Evolutivo
En espiral
Desarrollo basado en componentes
Métodos Formales
Modelo en cascada (waterfall)
Modelo de proceso clásico (desde los 70)
Basado en la mentalidad de línea de
ensamblaje (cartesiano)
Es sencillo y fácil de entender
El proyecto pasa a través de una serie de fases
•• Al final de cada fase se revisan las tareas de
Al final de cada fase se revisan las tareas de
trabajo y productos
trabajo y productos
• Para poder pasar a la siguiente fase se tiene que haber
conseguido todos los objetivos de la fase anterior
No hay apenas comunicacióón entre las fases
n entre las fases
•• No hay apenas comunicaci
Modelo en cascada (waterfall)
Definición de
Requisitos
Diseño del Software
y del Sistema
Implementación y
Pruebas Unitarias
Integración y Prueba
del Sistema
Operación y
Mantenimiento
Modelo en cascada (waterfall)
Fases:
Conceptualizacióónn: Se determina la arquitectura de la
•• Conceptualizaci
: Se determina la arquitectura de la
solucióón (divisi
soluci
n
Comentarios de: Proceso del desarrollo de software y ciclo de vida (0)
No hay comentarios