Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1.2. Diga algunos ejemplos (tanto positivos como negativos) que indiquen el efecto
del software en nuestra sociedad.
Aspectos Positivos:
Aspectos Negativos:
• Trafico de información.
1.3. Desarrolle sus propias respuestas a las cinco preguntas planteadas al principio
de la sección 1.1. Analícelas con sus compañeros estudiantes.
¿Por qué no podemos detectar todos los errores antes de entregar el software a
nuestros clientes?
Mientras el programador crea el software, el tratara de corregir los errores que pueda
o que estén a su alcance, pero al final por mucho que se esfuerce el programador,
siempre después de entregar el software habrán errores o detalles que solucionar,
esta razón u otra es de ahí que existen las versiones siguientes de dicho software.
¿El software está muerto? No, no lo está. El software con el tiempo se deteriora y se
vuelve obsoleto por esta u otras razones tenemos que mantener los programas
existentes y también porque el usuario se hace cómodo al usar el sistema ya que el
sistema satisface las necesidades que el posee, aparente que esto le generaría costos y
riesgos.
¿Por qué seguimos con dificultades para medir el avance mientras se desarrolla y
mantiene el software?
1.6. La figura 1.3 muestra las tres capas de la ingeniería de software arriba de otra
llamada “compromiso con la calidad”. Esto implica un programa de calidad
organizacional como el enfoque de la administración total de la calidad. Haga
un poco de investigación y desarrolle los lineamientos de los elementos clave
de un programa para la administración de la calidad.
El proceso define una estructura que debe establecerse para la obtención eficaz de
tecnología de ingeniería de software. El proceso de software forma la base para el
control de la administración de proyectos de software, y establecer el contexto en el
que se aplican métodos técnicos, se generan producto del trabajo (modelos,
documentos, datos, reportes, formatos, etc.), se establecen puntos de referencias, sea
sea segura la calidad y se administra el cambio de manera apropiada.
-Concurrencia
-Carga impredecible
-Rendimiento
-Disponibilidad
-Contenido sensible
-Evolución continúa
-Seguridad
1.8. A medida que el software gana ubicuidad, los riesgos para el público (debidos a
programas defectuosos) se convierten en motivo de preocupación significativa.
Desarrolle un escenario catastrófico pero realista en el que la falla de un programa
de cómputo pudiera ocasionar un gran daño (económico o humano).
Los barcos poseen radares, los cuales permiten detectar objetos estáticos o móviles
dentro de un rango en específico, imaginemos que en un gran barco turístico hay un
problema, y es que el software del radar tiene un pequeño error de fórmula, parece
ser simple, pero esto podría causar que el barco choque, lo que causaría grandes
pérdidas económicas y podría causar la pérdida de muchas vidas.
1.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 tamaño y
complejidad? Explique su respuesta.
Esto no significa que se hagan las mismas tareas en todos los proyectos. La razón por la
que no se siguen los mismos pasos es simple ya que no todos los proyectos son
iguales. No es lo mismo y proyecto de un arquitecto que el proyecto de un diseñador
de moda.
Los pasos que estos deben seguir son totalmente diferentes y deben seguir una serie
de pasos exclusivos o precisos para que sus trabajos salgan con el margen de
perfección más acertado posible.
1.10. Las actividades sombrilla ocurren a través de todo el proceso del software.
¿Piensa usted que son aplicables por igual a través del proceso, o que algunas se
concentran en una o más actividades estructurales?
Son aplicables a través de todo el proceso del software. Una estructura de proceso
general para la ingeniería de software consta de cinco actividades:
• Comunicación
• Planeación
• Modelado
• Construcción
• Despliegue
1.11. Agregue dos mitos adicionales a la lista presentada en la sección 1.6. También
diga la realidad que acompaña al mito.
Mito: No soy bueno en planificar. Es una tarea administrativa que la debe hacer un
administrador.
2.1. En la introducción de este capítulo, Baetjer afirma que: “El proceso genera
interacción entre usuarios y diseñadores, entre usuarios y herramientas cambiantes
[tecnología].” Enliste cinco preguntas que a) los diseñadores deben responder a los
usuarios, b) los usuarios deben plantear a los diseñadores, c) los usuarios deben
hacerse a sí mismos sobre el producto de software que ha de elaborarse, d) los
diseñadores deben plantearse acerca del producto de software que va a construirse y
del proceso que se usará para ello.
Cuáles son los medios apropiados que va a utilizar para dicha comunicación?
Patrón de etapas:
Patrón de tarea:
Patrón de fase:
Validación: El software debe validarse, para asegurar que cumpla con lo que quiere el
cliente.
Evolución: El software debe evolucionar, para adaptarse a las necesidades del cliente.
Además 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 señalan a continuación:
2.4. Investigue un poco sobre el PPS y haga una breve presentación 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, diseñe y construya software en forma
disciplinada, al mismo tiempo que mide cuantitativamente el proceso y el producto.
Ventajas
Define estándares aplicables.
Controla la programación de actividades del proyecto.
Utilidad
2.6. Lea a [Nog00] y escriba un ensayo de dos o tres páginas donde analice el efecto
que tiene el “caos” en la ingeniería de software.
2.8. Proporcione tres ejemplos de proyectos de software que podrían abordarse con
el modelo de hacer prototipos. Sea específico.
Que el software se adapte a nuevos cambios, los requisitos son inevitables, no sólo
después de entregado en producto sino también durante el proceso de desarrollo.
2.10. Diga tres ejemplos de proyectos de software que podrían realizarse con el
modelo incremental. Sea específico.
Un sistema operativo
Sistema de control de satélites
Diseño de un cajero automático simple.
2.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 evolución real a
que puede someterse de manera constante y que se evaluaran los riesgos que podrían
llegar a tener si no hace un trabajo con existo.
2.14. ¿Cuáles 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:
Desventajas:
2.15. Dé tres ejemplos de proyectos de software que serían abordables con el modelo
basado en componentes. Sea específico.
Cuestionario capítulo 3
PROBLEMAS Y PUNTOS POR EVALUAR
3.1. Vuelva a leer el “Manifiesto para el desarrollo ágil de software” al principio de
este capítulo. ¿Puede pensar en una situación en la que uno o más de los cuatro
“valores” pudieran causar problemas al equipo de software?
Al saber que las condiciones del mercado cambian con rapidez, las necesidades de los
usuarios finales cambian, se generaría un ambiente con problemas iniciando por no
definir bien los requerimientos y para esto se debería ser ágil y responder a esto, pues
de lo contrario estaríamos con un equipo sin control.
3.2. Describa con sus propias palabras la agilidad (para proyectos de software).
3.3. ¿Por qué un proceso iterativo hace más fácil administrar el cambio? ¿Es iterativo
todo proceso ágil analizado en este capítulo? ¿Es posible terminar un proyecto en
sólo una iteración y aun así conseguir que sea ágil? Explique sus respuestas.
El capítulo trata de procesos ágiles por consiguiente estos tipos de procesos si son
iterativos e incrementales.
¿Es posible terminar un proyecto en solo una iteración y aun así conseguir que sea
ágil?
Dependiendo de las condicionantes y los requerimientos del proyecto si pero
teóricamente estos procesos como Scrum es de un mes natural o hasta de 2 semanas
si es necesario.
3.4. ¿Podría describirse cada uno de los procesos ágiles con el uso de las actividades
estructurales generales mencionadas en el capítulo 2? Construya una tabla que mapee
las actividades generales en las actividades definidas para cada proceso ágil.
Generar la importancia del cliente para su software presentando iteraciones las cuales
pueda evaluar y examinar a su gusto.
3.7. ¿Por qué cambian tanto los requerimientos? Después de todo, ¿la gente no sabe
lo que quiere?
Historia de Usuario
Navegadores web.
Usuario: Administrador
Observaciones
Es una manera de cambiar el software pero que no altere la parte externa sino nada
más el interior del software, en otras palabras que tenga la misma interfaz y que se
modifique y mejore el código del software.
Es lógico que dos personas piensen más que uno, este proceso es conocido por ello
trabajar código y a la vez revisarlo o centrarse en el problema y el otro en el diseño
luego así integrarlo al trabajo de los demás grupos.
3.12. Haga otras lecturas y describa lo que es una caja de tiempo. ¿Cómo ayuda a un
equipo DAS para que entregue incrementos de software en un corto periodo?
Una caja de tiempo nos ayudara a guardar información del presente en la parte de
recolección de información y aprendizaje respetando así el tiempo que se asignó a
dichas tareas.
3.13. ¿Se logra el mismo resultado con la regla de 80% del MDSD y con el enfoque de
la caja de tiempo del DAS?
La regla del 80% es eficaz en cuanto a tiempo y la caja de tiempo del DAS también es
por ello que concluyo que si se logra el mismo resultado pues estos son adaptables.
Tipo:
· Patrón de Etapa:
· Patrón de Tarea:
Patrones Relacionados:
Navegador Web:
3.17. Visite el sitio oficial de modelación ágil y elabore la lista completa de todos los
principios fundamentales y secundarios del MA.
Principios fundamentales:
· Suponer simplicidad
· Aceptar el cambio
· Cambio Incremental
· Modelo con un propósito
· Modelos Múltiples
· Trabajo de Calidad
· Retroalimentación rápida
Principios secundarios:
Cuestionario capítulo 4
PROBLEMAS Y PUNTOS POR EVALUAR
4.1. Toda vez que la búsqueda de la calidad reclama recursos y tiempo, ¿es posible
ser ágil y centrarse en ella?
Si desde luego porque nos proponemos realizar un énfasis en el mismo de tal forma
que gobernamos este enfoque.
4.2. De los ocho principios fundamentales que guían el proceso (lo que se estudió en
la sección 4.2.1), ¿cuál cree que sea el más importante?
Definir los objetivos de forma clara y concisa, con el fin de llegar a cumplir los
propósitos del software.
4.10. ¿Por qué son importantes los modelos en el trabajo de ingeniería de software?
¿Siempre son necesarios? ¿Hay calificadores para la respuesta que se dio sobre esta
necesidad?
Estos vienen a ser de sebera importancia porque en cada uno de los niveles se necesita
un modelo diferente para su desarrollo.
Las excepciones en un caso de uso serian condiciones en las cuales los actores tanto
principales como secundarios pueden encontrarse a lo largo de la ejecución del
sistema. Las excepciones son una descripción de lo que está sucediendo, como actuar,
que esperar, etc.
El desarrollo de software es algo que lleva ya varias décadas durante ese tiempo
personas se han fijado que, aunque cada proyecto de software es único estos tienen
cierta semejanza en ciertos aspectos, entonces crearon como si fuera una plantilla
para poder solucionar proyectos de software que tengan ciertas similitudes entre sí,
estas plantillas son llamados patrones de análisis
4.13. ¿Qué es una prueba exitosa?
Esto es algo más social como la interacción entre los equipos del proyecto.
Cuestionario capítulo 5
PROBLEMAS Y PUNTOS POR EVALUAR
5.1. ¿Por qué muchos desarrolladores de software no ponen atención suficiente a la
ingeniería de requerimientos? ¿Existen algunas circunstancias que puedan ignorarse?
Existen muchas razones para que los desarrolladores tomen esta decisión que casi
siempre se debe a que los requisitos son dinámicos, entonces al menos que se utilice
un enfoque eficiente y ágil que haga al equipo versátil en esta tarea.
Otra, puede ser que es una actividad que requiere de un alto grado de análisis, lo que
demanda tiempo, es preferible solo tomar los requisitos que afectaran directamente al
negocio y avanzar en las próximas iteraciones.
5.4. ¿Por qué se dice que el modelo de requerimientos representa una fotografía
instantánea del sistema en el tiempo?
Considero, que constituye una visión de lo que será el proyecto ya que se identifican
las ideas, y se concibe el software de manera rápida, para suponer lo que yacerá a
largo plazo el proyecto.
5.5. Suponga que ha convencido al cliente (es usted muy buen vendedor) para que
esté de acuerdo con todas las demandas que usted hace como desarrollador. ¿Eso lo
convierte en un gran negociador? ¿Por qué?
5.6. Desarrolle al menos tres “preguntas libres de contexto” adicionales que podría
plantear a un participante durante la concepción.
Lineamientos:
Herramientas:
Si se prefiere el uso del lápiz y papel, se puede, aunque se debe pensar en TIC
en un futuro.
Tablero y video vean para presentar lógicas del negocio por parte del cliente.
Cámara de video y fotográfica.
Son situaciones que inducen comportamientos ajenos al flujo normal o “feliz” de uso,
en el sistema. Aunque no correspondan al flujo normal, se deben evaluar, analizar,
validad e implementar (controlar y satisfacer).
5.12. Con el formato presentado en la sección 5.5.2, sugiera uno o varios patrones de
análisis para los siguientes dominios de aplicación: a) Software de contabilidad. b)
Software de correo electrónico. c) Navegadores de internet. d) Software de
procesamiento de texto. e) Software para crear un sitio web. f) El dominio de
aplicación que diga su profesor.
Escojo en primera a los navegadores web, que tienen que modelar siempre un
protocolo de comunicación, por el que se comunican con los servidores y permiten al
usuario navegar en internet por peticiones y respuestas.
5.14. ¿Qué piensa que pasa cuando la validación de los requerimientos detecta un
error? ¿Quién está involucrado en su corrección?