Ingenieria del Software
Entendemos por ingeniería del software como la disciplina que comprende todos los aspectos de la producción de software desde las etapas iniciales de la especificación del sistema, hasta el mantenimiento de este después de que se utiliza.
Ejercicios Capitulo 1
1.1 Haciendo referencia a la distribución de costos del software discutidos en la sección 1.1.7, explique por que es apropiado considerar que el software es mas que programas que son ejecutados por los usuarios finales de un sistema.
RTA: Por que el software es la unión o el trabajo en conjunto de varios programas que permiten que opere de manera correcta; el software además es el conjunto de documentos, datos, etc que se asocian dando así un resultado.
1.2 Cuales son los cuatro atributos importantes que todos los productos de software deben tener? Sugiera otros atributos que pueden ser significativos.
RTA: MANTENIBILIDAD: Hace referencia a la creación de actualizaciones del software que con el tiempo suplirán necesidades de un cliente, de tal manera la importancia en la que se debe escribir para permitir así su evolucion.
CONFIABILIDAD: La confiabilidad del software consiste en no causar perdidas en daños físicos o económicos en el caso de que este falle. Por tal motivo el software debe ofrecer fiabilidad, seguridad y protección, entre otras características mas.
EFICIENCIA: Este atributo incluye tiempos de respuesta y de procesamiento, utilizacion de la memoria, etc.
USABILIDAD: Este atributo hace referencia a lo apropiado que debe ser para el usuario para quien este diseñado, lo cual significa que debe tener una interfaz de usuario apropiada y una documentacion adecuada.
----------
- INTEGRIDAD: Es el grado en el que se controla accseso al programa o los datos por el usuario no autorizado.
- PORTABILIDAD: Esfuerzo requerido para trasferir un programa de una configuracion hadware o entorno sotfware.
- FIABILIDAD: Grado en el que un programa se espere que realize su funcion y supla las necesidasdes del usuario.
1.3 Cual es la diferencia entreel modelo del proceso del software y un proceso del software? Sugiera dos formas en las que un modelo del proceso del software ayuda en la identificacion de posibles mejoras del proceso.
RTA: El MODELO de proceso de software es una representacion simplificada presentada desde una perspectiva especifica. Mientras que un PROCESO es un conjunto de actividades cuya meta es el desarrollo o evolucion del software.
1.4 Explique por que los costos de pruebas del software son particularmente altos para productos de software genericos que se venden a un mercado amplio.
RTA: La demanda de un producto generico es bastante amplia junto con la espectativa de funcionamiento y confiabilidad. Por ende los costos de produccion de una nueva version son tan elevados puesto que la oferta de adquision es grnade y no se da oportunidad para cometer errores. Un ejemplo claro de esto es Microsoft con la suite Office.
1.5 Los metodos de la ingenieria de software se empezaron a utilizar cuando la tecnologia CASE estuvo disponible para apoyarlos. Mencione cinco tipos de metodos de ayuda que proporcionan las herramientas CASE.
RTA: Los Metodos de la tecnologia CASE verifican que e modelo del sistema concuerde con las reglas del método y generadores de informes q ayudan a crear documentación del sistema.
- Los análisis derequerimientos
- Los modelado de sistemas
- La depuración
- Las pruebas y generación de código
1.6 Ademas de los retos de los sistemas heredados, la heterogeneidad y la rapida liberacion, identifique otros problemas y retos que la ingenieria de sotfware enfretara en el siglo XXI.
RTA: Los retos son la capacidad de soportar lo aplastante de la nueva tecnologia tanto de hardware como en redes. Los aplicativos tienen que estar a la evolucion de las necesidades y exigencias del usuario, y suplir lo fundamental de un software, como lo son: la seguridad, la confiabilidad y lo operacional de tal manera, si se logran suplir estos retos, lograremos estar en un mercado y con proyeccion en este siglo XXI.
1.7 Discuta si los ingenieros profesionles deben certificarse de la misma forma que los doctores o los abogados.
RTA: En la discusion llegamos a la conclusion de que si se debe llegar a una certificacion que facilite especificar conocimientos que ayuden en el ambito profesional. La certificaicon ademas de justa, necesaria para enfocar al desarrollo de la necesidad de una empresa y de una sociedad en general.
1.8 Para que cada una de las clausulas del codigo de etica de la ACM/IEEE que se muestran en la figura 1.8, sugiera un ejemplo apropiado que ilustre esa clausula.
RTA:
1. Publico: Cuando el interes publico esta dirigido a cubrir una necesidad especifica, por ejemplo el tiempo de respuesta del software en un sistema especifico, el ingeniero debe actuar justo a tiempo y resolver con prontitud y eficiencia la solución de esta necesidad.
2. Cliente y Empleador: El ingeniero, siendo consistente con el interes publico que es dar al software capacidad de rápida respuesta, tambien actuara respondiendo segun el requerimiento del cliente y del empleador, aunque sean distintas sus necesidades.
3. Producto: El producto q realice el ingeniero, debe ser justamente la solución requerida a la necesidad presentada, y que en su etapa de pruebas logre suplir las fallas y errores que puede presentar en la etapa de integracion hasta conseguir un final profesional de su producto.
4. Juicio: Cuando se presenta la situacion de que un ingeniero ha cometido un error, puede poner en tela de juicio su profesionalismo, sobre todo en colaboracion con su gremio, pues el no juzgar el actuar ni el pensar de su compñaero, suele ayudar a mantener la integridad en lo profesional. Su juicio es valor importante para tomar una decision final.
5. Administracion: Como líder, el ingeniero de software debe advertir y promocionar un modelo seguro y eficaz de adminisrracion y mantenimiento, identificar y dar a conocer las necesidades tecnicas y economicas del desarrollo ademas del mantenimiento de forma puntual. Ademas de administrar el usuario final para lograr asi un resultado de operacionalidad completo.
6. Profesion: El ingeniero no debe salir de su integridad profesional a la hora de actuar de acuerdo al interes publico,es decir, un ingeniero que tiene la mision de dar actualización a un producto que ha ofrecido a una empresa debe cumplir con ello de manera profesional y responsable. Asi lograra confiabilidad y seguridad al usuario final.
7. Colegas: En colaboracion con el gremio del ingeniero debe colaborar a su colega en el momento de verse necesitado por un aporte que brinde beneficio a su producto. El resultado del procduto final sera la recompensa a esta union que dara un producto a satisfaccion.
8. Personal: Toda persona tiene experiencias distintas y ademas aprende de tales vivencias, el ingeniero aprnde practicando asi mismo de lo que aprende enseña y lo promueve para beneficio de la sociedad y sus colegas.