Corporación Universitaria Remington Ingeniería del Software II

Anuncio
Corporación Universitaria Remington
Ingeniería del Software II
Taller teórico - práctico
 Muchas aplicaciones modernas cambian frecuentemente antes de presentarlas al
usuario final y después de que se empieza a utilizar la primera versión. Sugiera
algunas formas de construir software para detener el deterioro debido al cambio.
En las pruebas que se realizan se debe tener presente las de integración
que son las que realizan a medida que se construye el software las de
validación que son las que evalúan la satisfacción de los requisitos
completamente y las de aceptación que son las que realiza el cliente con
el producto final.

Evaluar la petición del software y determinar si el programa a
desarrollar es un buen candidato para construir un prototipo.

Dado un proyecto candidato aceptable, el analista desarrolla una
representación abreviada de los requerimientos.

Después de que se haya revisado la representación de los
requerimientos, se crea un conjunto de especificaciones de diseño
abreviadas para el prototipo.

El software del prototipo se crea, prueba y refina.

Una vez que el prototipo ha sido probado, se presenta al cliente, el
cual "conduce la prueba" de la aplicación y sugiere modificaciones.

Los pasos 4 y 5 se repiten iterativamente hasta que todos los
requerimientos estén formalizados o hasta que el prototipo haya
evolucionado hacia un sistema de producción.
 Para usted, cual es el propósito de la evaluación del proceso de un software.
(Explique)
El propósito de la evaluación del proceso de un software se aplican en el
mismo orden en que se van generando los
Distintos productos del desarrollo siguiendo una filosofía top-Down. Esto es,
la evaluación estática
Acompaña a las actividades de desarrollo, a diferencia de la evaluación
dinámica que únicamente
Puede dar comienzo cuando finaliza la actividad de codificación, siguiendo
así una estrategia
Botom-up. La evaluación estática es el único modo disponible de evaluación
de artefactos para las
Primeras fases del proceso de desarrollo (análisis y diseño), cuando no
existe código.
 De tres ejemplos de proyectos de software que pudieran adaptarse al modelo
cascada. Ser específico.
REFRIGERACION Y AIRE ACONDICIONADO esta en el modelo cascada. En
donde hay dos sistemas:
sistema 1
evaporador 1
compresor 1
condensador 1
válvula de expansion1
sistema 2
evaporador 2
compresor 2
condensador 2
válvula de expansión 2
En donde el fluido del sistema 1 tiene mejores propiedades, que el del
sistema 2. Es decir, es capaz de absorber más energía en forma de calor.
El sistema 1 y 2 están acondicionados de tal forma que el calor cedido del
condensador 1, lo absorbe el evaporador2.
Este sistema de cascada se aplica en cámaras frigoríficas.
 Dialogue con su equipo de trabajo sobre el impacto del “caos” en la ingeniería del
software (Explique con ejemplos reales).
En el año 1994 apareció la primera edición del
informe CHAOS del Stands Group sobre le eficiencia en la fabricación
de software. En aquella edición, se daba el alarmante dato de un 189%
de costes extra en la construcción de software. En la más
reciente edición de 2004 los datos mejoraron, aunque se mantenían
ciertamente pobres. Por citar alguno, tan sólo un 29% de proyectos
concluyeron satisfactoriamente, frente a un 53% de proyectos que no
cumplieron con las expectativas de los usuarios y un 18% que
definitivamente fueron suspendidos.
Como por ejemplo:
Los actuales procesos de construcción del software, instaurados
principalmente en las grandes compañías, resultan ineficientes.
Muchos de estos proyectos acaban siendo suspendidos por no poder
soportar los sobre costos o el rate-off derivado de los retrasos y la mala
gestión. Otros, aún siendo finalizados, acaban en un cajón por no
responder a las expectativas de los usuarios finales, generando
insatisfacción y desconfianza en los propios procesos de desarrollo.
 Es posible probar que un componente de software o incluso un programa completo
está correcto. Entonces, ¿Por qué no todos lo hacen?
Cuando se desarrolla software, una de las actividades asociadas a este
proceso es la
Prueba; de hecho, se ha establecido formalmente que la prueba es una
actividad fundamental
Dentro de cada una de las etapas del proceso de desarrollo de software.
La prueba es
Indispensable, puesto que a partir de ella se puede determinar la
calidad de los productos
Implementados; a pesar de esto, no es difícil percibir como su
importancia se ha subestimado
Y en ocasiones hasta ignorado.
 Como todos los modelos de proceso el DRA tiene inconvenientes o desventajas,
mencione alguno de los inconvenientes o desventajas que puede tener este
modelo en la construcción de proyectos grandes.
VENTAJAS
Es muy rápido.
Permite trabajar en él a varias personas a la vez
DESVENTAJAS
El enfoque DRA tiene inconvenientes para proyectos grandes, necesita
suficientes recursos humanos para crear el numero correcto de
equipos.
Si los desarrolladores y clientes no se comprenden con las actividades
necesarias para completar el sistema, los proyectos fallarán.
El DRA sería inapropiado cuando los riesgos técnicos son altos.
Cree usted que los modelos prescriptivos de procesos se propusieron originalmente para
ordenar el caos del desarrollo de software. Si_, no_ (Justifique su respuesta)
No por que la base de la Ingeniería del Software es la calidad, se siguen
ciertos pasos que se adaptan a las necesidades del software que se está
construyendo. Estos pasos son denominados procesos.
Se tienen diferentes modelos de estos procesos, los cuales detallan los
elementos que intervienen en cada uno de estos.
El tener defino ciertos modelos ayuda y facilita no solo el desarrollo de
software sino también proporciona estimaciones en cuanto a tiempo y
recursos.
Uno de estos modelos es el Cascada el cual es el más sencillo de todos porque
las fases se siguen de manera lineal, este modelo sirve perfectamente cuando
todos los requisitos para el software están muy bien definidos y se sabe que no
sufrirán grandes cambios.
Puesto que al haber modificaciones estas alterarían el adecuado proceso de
desarrollo ya que no se puede regresar a fases anteriores.
 El modelo en cascada o ciclo de vida clásico, es el paradigma más antiguo para la
ingeniería del software. Porque cree usted que algunas veces falla este modelo.
Es responsabilidad del cliente o del desarrollador que el modelo presente fallas en
el transcurso de la construcción del proyecto?
Debido a que este modelo presente fallas es la responsabilidad del
desarrollador por que
La mayor parte de los lenguajes de programación presentan al menos
dos tipos de errores que permiten a los programadores manejar las
fallas de los programas de una manera eficiente y que no resulte
agresiva con el usuario final. Dichos errores son de compilación y
errores en tiempo de ejecución.
Los errores de compilación normalmente inhiben que el código fuente
derive en un programa ejecutable, mientras que los errores en tiempo
de ejecución son situaciones específicas en las que un evento externo al
programa impide su ejecución. Regularmente un programador
eficiente debe intentar imaginar como debe responder ante esos
eventos de manera que sea el programa y no el usuario o el sistema
operativo los que resuelvan el problema.
a. Modelos prescriptivos
de proceso
b. Modelo de desarrollo
rápido de
aplicaciones.
c. Modelos de procesos
evolutivos.
d. Modelo incremental.
e. Modelo en cascada.
f.
Modelo en espiral.
g. Modelo de
construcción de
prototipos.
Este modelo es iterativo.
Produce una versión
completa en forma
incremental con cada
iteración.(c)
Este modelo también es
llamado ciclo de vida
clásico.(e)
Combina elementos del
modelo en cascada
aplicado en forma
iterativa. Se enfoca en la
entrega de un producto
operacional con cada
etapa.(D)
Se puede adaptar y
aplicarlo a través del ciclo
de vida completo de una
aplicación, desde el
desarrollo del concepto
hasta el mantenimiento.(f)
El paradigma de
construcción de este
ejemplar original, se inicia
con la comunicación,
esencialmente cuando el
cliente tiene una
necesidad pero no sabe
definir los detalles para
transmitirle al programador
de lo que realmente
desea.(g)
Define un conjunto distinto
de actividades, acciones,
tareas fundamentos y
productos de trabajo que
se requieren para
desarrollar software de
alta calidad.(a)
Es un modelo de proceso
de software incremental,
adaptación a “alta
velocidad” del modelo en
cascada(b)
Descargar