Professional Documents
Culture Documents
INGENIERIA DE
SOFTWARE
INGENIERIA DE SOFTWARE
CAPITULO I
POSITIVOS:
Facilita tareas que antes tomaban mucho tiempo porque se las hacia
manualmente
Optimiza recursos
NEGATIVOS:
La seguridad del software esta entre los aspectos negativos
Realizacin de varias versiones por que el software no abastece todos los
requerimientos.
1
Por qu no podemos detectar todos los errores antes de entregar el software a
nuestros clientes?
Porque los clientes no presentan todos lo requerimientos y al momento de
presentarlos es que analizan la falta de varias funcionabilidades
Por qu dedicamos tanto tiempo y esfuerzo a mantener los programas
existentes?
Porque no se tiene inversin para un nuevo proyecto solo para el manteniendo
Por qu seguimos con dificultades para medir el avance mientras se desarrolla y
mantiene el software?
Porque al realizarle varios cambios se vuelve ms complejo ser mejor comenzar
de cero.
Por qu no podemos detectar todos los errores antes de entregar el software a
nuestros clientes?
Porque los clientes no presentan todos lo requerimientos y al momento de
presentarlos es que analizan la falta de varias funcionabilidades
2
6. La figura 1.3 muestra las tres capas de la ingeniera de software arriba de otra
llamada compromiso con la calidad. Esto implica un programa de calidad
organizacional como el enfoque de la administracin total de la calidad. Haga un
poco de investigacin y desarrolle los lineamientos de los elementos clave de un
programa para la administracin de la calidad.
Debe tener una arquitectura.
Debe ser modular, es decir, el software debe estar dividido de manera lgica en
elementos o subsistemas.
Debe contener distintas representaciones de datos, arquitectura, interfaces y
componentes.
Debe conducir a estructuras de datos apropiadas para las clases que se van a
implementar y que surjan de patrones reconocibles de datos.
Debe llevar componentes que tengan caractersticas funcionales independientes.
Debe conducir a interfaces que reduzcan la complejidad de las conexiones entre
los componentes y el ambiente externo.
Debe obtenerse con el empleo de un mtodo repetible motivado por la
informacin obtenida durante el anlisis de los requerimientos del software.
Debe representarse con una notacin que comunique con eficacia su significado.
8. A medida que el software gana ubicuidad, los riesgos para el pblico (debidos a
programas defectuosos) se convierten en motivo de preocupacin significativa.
Desarrolle un escenario catastrfico pero realista en el que la falla de un programa
de cmputo pudiera ocasionar un gran dao (econmico o humano).
Un software defectuoso en una clnica puede hacer que el mdico no conozca con
exactitud los padecimientos y diagnsticos de un paciente esto podra llevar a una
mala medicacin lo que puede generar el empeoramiento de la salud incluso la
muerte del paciente.
3
9. Describa con sus propias palabras una estructura de proceso. Cuando se dice que
las actividades estructurales son aplicables a todos los proyectos, significa que
se realizan las mismas tareas en todos los proyectos sin que importe su tamao y
complejidad? Explique su respuesta.
Las tareas de una estructura de proceso son solo referencia de las actividades que
se realizan para desarrollar en un software en s pero dependiendo la complejidad
y tamao estas tareas y actividades van a variar de diferente forma en el tipo de
software que se desarrolle.
10. Las actividades sombrilla ocurren a travs de todo el proceso del software.
Piensa usted que son aplicables por igual a travs del proceso, o que algunas se
concentran en una o ms actividades estructurales?
Las actividades sombrilla se concentran en administrar y controlar el avance, la
calidad, el cambio y el riesgo es decir son actividades que tienen que ver con varios
aspectos estructurales al momento de desarrollar software.
11. Agregue dos mitos adicionales a la lista presentada en la seccin 1.6. Tambin
diga la realidad que acompaa al mito.
Mito: todas las aplicaciones que tienen que ver con las finanzas por ejemplo las
bancarias son inseguras y nos van a robar el dinero.
Realidad: estas aplicaciones tienen altos niveles de seguridad que garantizan que
no va a pasar nada con su dinero.
Mito: si el software est mal vamos haciendo pequeos cambios y ya estar listo
para ser presentado.
Realidad: varios pequeos cambios harn que el software se vuelva muy
complejo y al momento de querer realizar mantenimiento va a ser casi imposible
realizarlo.
4
CAPITULO II
Qu hara el software?
Cmo estara protegido el software?
Cunto costara el software?
Cunto tardara en estar listo el software?
Cules son los principales beneficios que el software me brinda?
5
2. Trate de desarrollar un conjunto de acciones para la actividad de comunicacin.
Seleccione una accin y defina un conjunto de tareas para ella.
Patrn de etapas:
Especificacin de software: Se debe definir la funcionalidad y restricciones
operacionales que debe cumplir el software.
Patrn de tarea:
Diseo e Implementacin: Se disea y construye el software de acuerdo a la
especificacin.
Patrn de fase:
Validacin: El software debe validarse, para asegurar que cumpla con lo que quiere el
cliente.
Evolucin: El software debe evolucionar, para adaptarse a las necesidades del cliente.
6
Adems de estas actividades fundamentales, Pressman menciona un conjunto de
actividades protectoras, que se aplican a lo largo de todo el proceso del software. Ellas
se sealan a continuacin:
Seguimiento y control de proyecto de software.
Revisiones tcnicas formales.
Garanta de calidad del software.
Gestin de configuracin del software.
Preparacin y produccin de documentos.
Gestin de reutilizacin.
Mediciones.
4. Investigue un poco sobre el PPS y haga una breve presentacin que describa los tipos
de mediciones que se pide hacer a un ingeniero individual de software y la forma en la
que pueden usarse para mejorar la eficacia personal.
Los PPS permiten que el equipo planee, disee y construya software en forma
disciplinada, al mismo tiempo que mide cuantitativamente el proceso y el producto.
La etapa post mrtem es el escenario de las mejoras del proceso.
Ventajas
Define estndares aplicables.
Controla la programacin de actividades del proyecto.
Utilidad
Planificacin de Desarrollo.
7
7. D tres ejemplos de proyectos de software que podran efectuarse con el modelo de
cascada. Sea especfico.
Proyecto de control e consultas mdicas (creacin de turnos y fichas
delpaciente).
Proyecto de control inventarios (registro de entradas y salidas de
mercadera).
Proyecto de control de personal (registro de entrada y salida)
8. Proporcione tres ejemplos de proyectos de software que podran abordarse con el
modelo de hacer prototipos. Sea especfico.
Aplicaciones que involucren interaccin humano/maquina o uso extensivo
de graficas por computadoras
Aplicaciones de algoritmos matemticos
Sistemas en los que los resultados pueden ser examinados fcilmente sin
interaccin en tiempo real Software de Simulacin caja registradora de un
supermercado.
10. Diga tres ejemplos de proyectos de software que podran realizarse con el modelo
incremental. Sea especfico.
Un sistema operativo
Sistema de control de satlites
Diseo de un cajero automtico simple.
11. Conforme avanza hacia fuera por el flujo de proceso en espiral, qu puede decirse
sobre el software que se est desarrollando o que est en mantenimiento?
Se puede decir que en este modelo el software debe enfocarse en la evolucin real a
que puede someterse de manera constante y que se evaluaran los riesgos que podran
llegar a tener si no hace un trabajo con existo.
8
13. El modelo de proceso concurrente define un conjunto de estados. Describa con
sus propias palabras qu es lo que representan, y despus indique cmo entran en
juego dentro del modelo de proceso concurrente.
14. Cules son las ventajas y desventajas de desarrollar software en el que la calidad
no es suficientemente buena? Es decir, qu pasa cuando se pone el nfasis en la
velocidad de desarrollo sobre la calidad del producto?
Ventajas
Se disea especficamente para las necesidades que se tienen.
Se puede cambiar y modificar con el tiempo.
Desventajas
Puede que el software este lleno de errores y es poco fiable.
No tienen una presentacin y dependen de los desarrolladores.
No, porque uml es un lenguaje que se utiliza para modelar un sistema. Y RUP es una
metodologa tradicional pesada que me indica unos pasos a seguir para desarrollar mi
sistema.