Date post: | 08-Jun-2015 |
Category: |
Documents |
Upload: | carolina-rojas |
View: | 35,538 times |
Download: | 0 times |
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja
Carolina Rojas
FUNDAMENTOS DE INGENIERIA DE SOFTWARE
2008
Ingeniería del Software: Una Ingeniería del Software: Una tecnología estratificadatecnología estratificada
La Ingeniería de software La Ingeniería de software designa el conjunto de designa el conjunto de técnicas destinadas a la técnicas destinadas a la producción de un producción de un programa de programa de computadora, más allá de computadora, más allá de la sola actividad de la sola actividad de programación. programación.
Estratos de la Ingeniería del Software
EL MARCO DE TRABAJO GENÉRICOEL MARCO DE TRABAJO GENÉRICO
Se combina la interacción con el cliente, Se combina la interacción con el cliente, y de esta manera obtener información y de esta manera obtener información valiosa y detallada de lo que se podría valiosa y detallada de lo que se podría crear y generar como resultado final.crear y generar como resultado final.
Determinación del plan de actividades, Determinación del plan de actividades, entre ellas está la determinación de las entre ellas está la determinación de las técnicas a utilizar, los riegos probables, técnicas a utilizar, los riegos probables, los recursos que podríamos necesitar, los recursos que podríamos necesitar, que resultados se espera obtener y un que resultados se espera obtener y un programa de trabajo.programa de trabajo.
Comunicación
Planeación
Determinar un modelo o esquema Determinar un modelo o esquema compartido entre desarrollador y cliente, compartido entre desarrollador y cliente, para tener una orientación de lo que se para tener una orientación de lo que se va a crear.va a crear.
Es la creación del código manual o Es la creación del código manual o digital, y la revisión del mismo para digital, y la revisión del mismo para poder depurarlo encontrando posibles poder depurarlo encontrando posibles errores.errores.
Modelado
Construcción
Despliegue
Es la entrega al cliente para su prueba Es la entrega al cliente para su prueba con el fin de obtener información que con el fin de obtener información que permita mejorar el producto.permita mejorar el producto.
La elaboración del modeloLa elaboración del modelo está compuesto por 2 actividades:está compuesto por 2 actividades:
AnálisisAnálisis
Investigación
Negociación
Elaboración
determinar que es lo que el determinar que es lo que el usuario espera obtenerusuario espera obtener
conjunto de técnicas factiblesconjunto de técnicas factibles
periodos de entrega y costos, periodos de entrega y costos, especificación y validación de especificación y validación de requisitosrequisitos
Diseño de interfaz de usuario
DiseñoDiseño
Las Tareas
Diseño de datos
Arquitectura
Modelos del Proceso del Modelos del Proceso del SoftwareSoftware
Es una representación abstracta de un proceso del software que Es una representación abstracta de un proceso del software que pueden utilizar para explicar diferentes enfoques para el pueden utilizar para explicar diferentes enfoques para el desarrollo del software. Los modelos del proceso son:desarrollo del software. Los modelos del proceso son:
Modelo Cascada
Modelo Incremental
Desarrollo Iterativo
Desarrollo Evolutivo o Espiral
Modelo CascadaModelo Cascada
Es el más utilizado. Es el más utilizado.
Es una visión del proceso de desarrollo de software como Es una visión del proceso de desarrollo de software como una sucesión de etapas que producen productos intermedios. una sucesión de etapas que producen productos intermedios.
Para que el proyecto tenga éxito deben desarrollarse todas Para que el proyecto tenga éxito deben desarrollarse todas las fases. las fases.
Las fases continúan hasta que los objetivos se han cumplido. Las fases continúan hasta que los objetivos se han cumplido.
Si se cambia el orden de las fases, el producto final será de Si se cambia el orden de las fases, el producto final será de inferior calidad,inferior calidad,
CARACTERISTICASCARACTERISTICAS
Modelo Cascada
DESVENTAJASDESVENTAJAS
Se tarda mucho tiempo en pasar por todo el cicloSe tarda mucho tiempo en pasar por todo el ciclo
El mantenimiento se realiza en el código fuenteEl mantenimiento se realiza en el código fuente
Las revisiones de proyectos de gran complejidad son muy Las revisiones de proyectos de gran complejidad son muy difíciles.difíciles.
LIMITACIONESLIMITACIONES
No se permiten las iteraciones.No se permiten las iteraciones.
Los requisitos se congelan al principio del proyecto.Los requisitos se congelan al principio del proyecto.
No existe un proyecto “enseñable” hasta el final del proyecto.No existe un proyecto “enseñable” hasta el final del proyecto.
Modelo EspiralModelo Espiral
Incorpora objetivos de calidad y gestión de riesgosIncorpora objetivos de calidad y gestión de riesgos
Elimina errores y alternativasElimina errores y alternativas
Permite iteraciones, vuelta atrás y finalizaciones rápidasPermite iteraciones, vuelta atrás y finalizaciones rápidas
Cada ciclo empieza identificando:Cada ciclo empieza identificando:
Los objetivos de la porción correspondienteLos objetivos de la porción correspondiente Las alternativasLas alternativas RestriccionesRestricciones
Cada ciclo se completa con una revisión que incluye todo el Cada ciclo se completa con una revisión que incluye todo el ciclo anterior y el plan para el siguienteciclo anterior y el plan para el siguiente
CARACTERISTICASCARACTERISTICAS
VENTAJASVENTAJAS
Complicado: Consume muchos recursos. Complicado: Consume muchos recursos.
Las etapas y sus E/S no están claramente definidas.Las etapas y sus E/S no están claramente definidas.
DESVENTAJASDESVENTAJAS
Utiliza las fases de modelos tradicionales. Se centra en la Utiliza las fases de modelos tradicionales. Se centra en la eliminación de errores y alternativas poco atractivas. eliminación de errores y alternativas poco atractivas.
Su orientación a detectar y prevenir el riesgo evita muchas Su orientación a detectar y prevenir el riesgo evita muchas dificultadesdificultades..
Es una repetición de varios ciclos de vida en cascada.
Al final de cada ciclo se entrega una versión parcial del software incrementada con cierta funcionalidad nueva respecto a las entregas anteriores.
Los ciclos se repiten hasta obtener un producto completo.
Los usuarios disponen antes del software, aunque no sea completo, por lo que pueden sugerir mejoras.
Se suele aplicar a desarrollos de gran tamaño.
Modelo IncrementalModelo Incremental
Modelo Incremental
Es también una repetición de varios ciclos de vida en cascada.
Al final de cada ciclo se entrega una versión completa del software mejorada respecto a la anterior.
Los ciclos se repiten hasta obtener un producto satisfactorio.
Los usuarios deben evaluar el producto en cada iteración y proponer mejoras.
Se suele aplicar en desarrollos en los que los requisitos no están claros, las primeras versiones pueden ser prototipos que se desechan posteriormente.
Modelo IterativoModelo Iterativo
Modelo Iterativo
El IMCM define actividades específicas de las áreas de proceso en función de metas específicas.
Ejemplo
En la Planeación del Proyecto se puede determinar una actividad como: Establecer estimaciones, la cual puede tener sub actividades como estimar el alcance del proyecto, otra actividad que componga el área de Planeación del Proyecto puede ser: Desarrollar un plan de proyecto, en donde las metas serian Establecer el prepuesto del programa, identificar los riegos del proyecto, etc.
Integración del Modelo de Integración del Modelo de Capacidad de Madurez (IMCM)Capacidad de Madurez (IMCM)
El IIMCM representa un modelo completo de 2 formas diferentes:
ContinuoContinuo
Incompleto
Las áreas del modelo son Las áreas del modelo son evaluadas en un esquema de evaluadas en un esquema de niveles en base a metas y niveles en base a metas y prácticas específica esto en prácticas específica esto en base a niveles de capacidadbase a niveles de capacidad.
Realizado
Administrado
Definido
Administrado en forma cuantitativa
Mejorado
DiscretoDiscreto
Define las mismas áreas, Define las mismas áreas, metas y prácticas que el metas y prácticas que el proceso continuo. Su proceso continuo. Su diferencia es que especifica diferencia es que especifica niveles de madurezniveles de madurez
Optimización
Gestión Cuantitativa
Definido
Gestionado
Ejecutado
¿Como determinar un¿Como determinar un Patrón? Patrón?
Nombre
Los patrones tienen partes y Los patrones tienen partes y estas son:estas son:
Propósito
Tipo
Contexto Inicial
Problema
Solución
Contexto resultante
Patrones Relacionados
Usos conocidos