Está en la página 1de 12

INGENIERIA DE SOFTWARE

CAPITULO I

1. De al menos cinco ejemplos de la forma en que se aplica la ley


de las consecuencias imprevistas en el software de computo.
1. Que el software seria la fuerza que impulsara la revolucin
de las computadoras personales.
2. Que los productos de software empacados se compraran en
los supermercados.
3. Que el software evolucionaria poco a poco de un producto a
un servicio cuando compaas de software proporcionaran
funcionalidad justo a tiempo a travs de un navegador web.
4. Que una compaa de software sera ms grande y tendra
ms influencia que casi todas las empresas de la industria.
5. Que una vasta red llamada internet seria operada con
software y evolucionaria y cambiaria todo.
2. Diga algunos ejemplos (tanto positivos como negativos) que
indiquen el efecto del software en nuestra sociedad.

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.

3. Desarrolle sus propias respuestas a las cinco preguntas


planteadas al principio de la seccin 1.1. Analcelas con sus
compaeros estudiantes.
Por qu se requiere tanto tiempo para terminar un software?
Porque para desarrollar un software de calidad se deben realizar
una serie de pasos antes de entrar al desarrollo del sistema en
si, se debe tomar en cuenta todos los requerimientos
propuestos y una serie de factores que hace que proceso de
desarrollo se demore.

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

4. Muchas aplicaciones modernas cambian con frecuencia, antes


de que se presenten al usuario final y despus de que la
primera versin ha entrado en uso. Sugiera algunos modos de
elaborar software para detener el deterioro que produce el
cambio.
Conocer a fondo los requerimientos del cliente adems no
desarrollar un software nicamente con esos requerimientos
sino que hay que analizar que la tecnologa est en constante
cambio y avance tomando muy en cuenta esto nos ayudara a
realizar software de mejor calidad y sin continuo deterioro.

5. Considere las siete categoras de software presentadas en la


seccin 1.1.2. Piensa que puede aplicarse a cada una el mismo
enfoque de ingeniera de software? Explique su respuesta.
No se le debe dar el mismo enfoque por algo se encuentran
clasificadas ya que las aplicaciones de cada una de las
categoras tiene diferentes razn de ser tienen una ingeniera
diferente satisface requerimientos muy diferentes por ejemplo
en algunas no es tan importante la seguridad mientras que en
otras la seguridad es algo primordial.

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.

7. Es aplicable la ingeniera de software cuando se elaboran


webapps? Si es as, cmo puede modificarse para que asimile
las caractersticas nicas de stas?
Si porque las webapps son software debe tener su ingeniera y
lo que es primordial y se debera modificar en este tipo de
software es la seguridad debido que para a acceder a ellas se lo
hace a travs de la red esto permitir proteger el contenido
sensible y brindar modos seguros de transmisin de los datos

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

3
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.

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.

4
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.

5
CAPITULO II

1. En la introduccin de este captulo, Baetjer afirma que: El


proceso genera interaccin entre usuarios y diseadores, entre
usuarios y herramientas cambiantes [tecnologa]. Enliste cinco
preguntas que a) los diseadores deben responder a los
usuarios, b) los usuarios deben plantear a los diseadores, c)
los usuarios deben hacerse a s mismos sobre el producto de
software que ha de elaborarse, d) los diseadores deben
plantearse acerca del producto de software que va a construirse
y del proceso que se usar para ello.

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?

Cunto tiempo durara el software?


Cmo se har el mantenimiento y cada cunto?
Cmo ser su funcionabilidad?
Me podran ir mostrando el proceso que lleva el software?

Estoy dando toda la informacin necesaria para la creacin del software?


El diseador me estar comprendiendo bien mis necesidades?

El cliente me dijo todo lo que necesito saber?


Qu tipo de modelo debera usar?
Puede que cambien los requerimientos con el pasar del tiempo?
Qu tipo de capacitacin debera recibir el cliente?
El software ser compatible con el sistema operativo que usan?

6
2. Trate de desarrollar un conjunto de acciones para la actividad de
comunicacin. Seleccione una accin y defina un conjunto de tareas
para ella.

El conjunto de acciones preparadas de antemano para lograr


objetivos especficos.
Preguntas claves para un plan de comunicacin:
Qu queremos conseguir,
Cules son nuestros objetivos y las ideas?
Cul es el mensaje que queremos transmitir?
A quines vamos a dirigir nuestra comunicacin?
Qu queremos que hagan con la informacin?
Cules son los medios apropiados que va a utilizar para dicha
comunicacin?
Cmo vamos a ejecutar el plan?

3. Un problema comn durante la comunicacin ocurre cuando se


encuentra a dos participantes que tienen ideas en conflicto sobre lo
que debe ser el software, es decir, que tienen requerimientos
mutuamente conflictivos. Desarrolle un patrn del proceso (esto sera
un patrn de la etapa) con el empleo de la plantilla presentada en la
seccin 2.1.3 que aborda este problema y sugiera un enfoque eficaz
para l.

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:

7
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.

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.

5. El uso de scripts (mecanismo requerido en el PES) no es apreciado


de manera universal en la comunidad del software. Haga una lista de
pros y contras en relacin con los scripts y sugiera al menos dos
situaciones en las que seran tiles, y otras dos en las que generaran
menos beneficios.

Ventajas

8
Define estndares aplicables.
Controla la programacin de actividades del proyecto.
Utilidad
Planificacin de Desarrollo.

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.

9. Qu adaptaciones del proceso se requeriran si el proyecto


evolucionara en un sistema o producto que se entregase?
Que el software se adapte a nuevos cambios, los requisitos son
inevitables, no slo despus de entregado en producto sino tambin
durante el proceso de desarrollo.

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.

9
12. Es posible combinar modelos de proceso? Si es as, diga un
ejemplo.
Si es posible, el modelo de espiral es un buen ejemplo porque lleva la
secuencia del modelo de cascada, al finalizar el ciclo hay un prototipo
y luego empieza nuevamente haciendo un bucle hasta obtener el
software con todos los requerimientos deseados por el cliente.

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.

Es la representacin de un estado que puede cambiar de


procedimiento y volver a generar un estado si es que el cliente
requiere de un cambio al software de tal manera que puede generar
un mismo estado n veces necesarias al requerimiento del cliente.
El modelado concurrente proporciona un panorama apropiado del
estado actual del proyecto. Cada actividad, accin o tarea de la red
existe simultneamente con otras actividades, acciones o tareas.

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.

16. Es posible demostrar que un componente de software, o incluso


un programa completo, es correcto? Entonces, por qu no todos lo
hacen?

10
Porque no todos utilizan la misma metodologa de hacer prototipos.

17. Son lo mismo el proceso unificado y el UML? Explique su


respuesta.

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.

11