Taller 1 - Albaro Javier Cruz Mejia

ALBARO JAVIER CRUZ MEJIA_INGENIERIA DE SOFTWARE I INGENIERIA DE SOFTWARE ROGER PRESSMAN TALLER CAPITULO 1 1.1. Dé al men

Views 49 Downloads 0 File size 56KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

ALBARO JAVIER CRUZ MEJIA_INGENIERIA DE SOFTWARE I INGENIERIA DE SOFTWARE ROGER PRESSMAN TALLER CAPITULO 1 1.1. Dé al menos cinco ejemplos de la forma en que se aplica la ley de las consecuencias imprevistas al software de cómputo. a. el software se convertiría la fuerza impulsadora para la revolución de las computadoras. b. la creación de tecnologías nuevas como la telefonía móvil c. el software además de ser un producto se convertiría en un servicio d. las redes, dentro de estas la internet seria revolucionaria en todos los ámbitos de la industria, el comercio, la ciencia y la tecnología. e. El software le daría un cambio radical a la educación 1.2. Diga algunos ejemplos (tanto positivos como negativos) que indiquen el efecto del software en nuestra sociedad. Aspectos positivos: a. Facilita tareas que antes tomaban mucho tiempo porque se las hacia manualmente b. Optimiza recursos c. Optimiza el manejo y la distribución del tiempo Aspectos negativos: d. Realización de varias versiones por que el software no abastece todos los requerimientos y necesidades demandadas por los usuarios a través del tiempo 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. a. ¿Por qué se requiere tanto tiempo para terminar el software? Porque solo en la etapa de análisis se requiere de un buen tiempo, para estudiar y diagnosticar los problemas que presente el usuario demandante, además de plantear las respectivas soluciones a dichos problemas, sin embargo en la etapa de desarrollo se consume mucho tiempo pues se

está trabajando con la necesidad de tener un producto que cumpla diferentes estándares y requerimientos. b. ¿Por qué son tan altos los costos de desarrollo? Por el tiempo que toma y las funcionabilidad que presta, además de la seguridad que es muy importante tanto para desarrollador como para el cliente c. ¿Por qué no podemos detectar todos los errores antes de entregar el software a nuestros clientes? Porque los clientes no presentan todos los requerimientos y al momento de presentarlos es que analizan la falta de varias funcionabilidades d. ¿Por qué dedicamos tanto tiempo y esfuerzo a mantener los programas existentes? Porque no se tiene dentro del presupuesto hacer un nuevo software, si no que se prefiere hacerle mantenimiento e. ¿Por qué seguimos con dificultades para medir el avance mientras se desarrolla y mantiene el software? Porque a medida que se le hace mantenimiento al software este se hace más complejos, de igual forma sucede lo mismo cuando se le realiza una mejora o se crea otra versión. 1.4. Muchas aplicaciones modernas cambian con frecuencia, antes de que se presenten al usuario final y después de que la primera versión 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 además no desarrollar un software únicamente con esos requerimientos sino que hay que analizar que la tecnología está en constante cambio y avance tomando muy en cuenta esto nos ayudaría a realizar software de mejor calidad y sin continuo deterioro. 1.5. Considere las siete categorías de software presentadas en la sección 1.1.2. ¿Piensa que puede aplicarse a cada una el mismo enfoque de ingeniería de software? Explique su respuesta. No se le puede dar el mismo enfoque por la sencilla razón de aunque pertenecen a la misma rama como lo es la ingeniería de software, cada categoría ha de encontrarse inmersa en un campo distintos, tienen diferentes razón de ser tienen una ingeniería diferente satisface requerimientos muy diferentes.

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. a. Debe tener una arquitectura. b. Debe ser modular, es decir, el software debe estar dividido de manera lógica en elementos o subsistemas. c. Debe contener distintas representaciones de datos, arquitectura, interfaces y componentes. d. Debe conducir a estructuras de datos apropiadas para las clases que se van a implementar y que surjan de patrones reconocibles de datos. e. Debe llevar componentes que tengan características funcionales independientes. f. Debe conducir a interfaces que reduzcan la complejidad de las conexiones entre los componentes y el ambiente externo. g. Debe obtenerse con el empleo de un método repetible motivado por la información obtenida durante el análisis de los requerimientos del software. h. Debe representarse con una notación que comunique con eficacia su significado. 1.7. ¿Es aplicable la ingeniería de software cuando se elaboran webapps? Si es así, ¿cómo puede modificarse para que asimile las características únicas de éstas? Si porque las webapps son softwares, debe tener su ingeniería y lo que es primordial y se debería modificar en este tipo de software es la seguridad debido que para a acceder a ellas se le hace a través de la red esto permitirá proteger el contenido sensible y brindar modos seguros de transmisión de los datos 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). Un software defectuoso en un banco puede hacer que los fondos de los clientes pasen a las cuentas de otros clientes, ocasionando que algunos que tengan inestabilidad económica pasen a tener estabilidad económica y viceversa, además de que también

podría ocasionarle muchas pérdidas financieras al banco pues podría estar alterando el sistema de la cartera de créditos. 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. 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 tamaño estas tareas y actividades van a variar de diferente forma en el tipo de software que se desarrolle. 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? 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. 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: 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 pequeños cambios y ya estará listo para ser presentado. Realidad: varios “pequeños cambios” harán que el software se vuelva muy complejo y al momento de querer realizar mantenimiento va a ser casi imposible realizarlo