Introducción a la Ingeniería de Software. Ingeniería de Software Introducción Página 0

Documentos relacionados
a la Ingeniería de Software

Introducción a la Ingeniería de Software. Informática Empresarial, UCR IF 7100 Ingeniería de Software

La ingeniería del software es una disciplina de ingeniería que comprende todos los aspectos de la producción de software.

Productos de Software

Adquisición de TIC - Código Abierto

Ingeniería de Software

Introducción a la Ingeniería de Software Capítulo 1

Facultad de Ciencias de la Computación

Procesos de Software

SISTEMAS DE INFORMACIÓN III LABORATORIO

Selección del Hardware y Software Administración del proceso de desarrollo de Sistemas de Información.

Programa Educativo: Licenciatura en Ciencias Comptacioanales PROGRAMA DE ESTUDIO. Área de Formación : Sustantiva Profesional

u Explicar la importancia de la visibilidad delos procesos. u Introducir la noción de responsabilidad profesional. u Productos genéricos.

Ingeniería de Software

Clase2: Grafica en Ingeniería.

Ingeniería de Software

Ingeniería de Software

Desarrollo Rápido de Software. Objetivos

Computación I. Unidad III. Sistemas de Información. Ing Angela Galea

Clasificación de las Herramientas CASE

Unidad I: Fundamentos de Ingenieria de Software

Tests de examen de CDGSI ACTUALIZADO FEB TEMA 5 DESARROLLO E IMPLANTACIÓN DE SISTEMAS DE INFORMACIÓN

Aseguramiento de la calidad y pruebas de software 4- Revisiones 5- Pruebas del software

ANÁLISIS DE SISTEMAS. Prof. Eliz Mora

Introducción a la Ingeniería de Software

Atributos de Calidad del Software

VERIFICACIÓN Y VALIDACIÓN DE SISTEMAS

Informática de Gestión. Ingeniería a del Software

METODOLOGÍAS DE DESARROLLO DE SOFTWARE SEMANA 02 DIFERENCIA LAS METODOLOGÍAS PESADAS DE DESARROLLO DE SOFTWARE (PROCESOS, MÉTODOS, Y HERRAMIENTAS)

INTRODUCCIÓN Y MEDIDAS DE RENDIMIENTO MEDIDAS DE RENDIMIENTO

Un importante problema para sistemas de la nueva generación

Perfil de Vacantes ICT Connectivity Por expansión y crecimiento

RESUMEN ESCRITURA DE REQUERIMIENTOS SOFTWARE

Funciones de los Órganos de la Subdirección de Producción. Representar a la Subdirección de Producción a nivel Corporativo.

ORGANIZACIÓN DOCENTE del curso

2.5 DISEÑO ARQUITECTONICO

Ingeniería de Software: Y eso qué es?

Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 7, SECCIÓN 1: REQUISITOS SOFTWARE

Centro Universitario UAEM Zumpango

PRUEBA DE SOFTWARE LA PRUEBA DE UN SISTEMA

FACULTAD DE INGENIERÍA

AUDITORIA TECNOLOGIA INFORMATICA FERNANDO RADA BARONA

Los componentes de los sistemas son los siguientes, aunque los mismos pueden variar como una combinación de elementos:

a. Integración Top Down b. Integración Buttom Up c. Ninguna de las anteriores d. Módulo de integración.

SISTEMAS DE INFORMACIÓN PARA ADMINISTRACIÓN DE OPERACIONES

Bitácora Cuestionario Calidad Técnica de las Aplicaciones (Software a la medida)

PRESENTADO POR: CARLOS EDUARDO TRESPALACIO ARANA. PROGRAMA:LICENCIATURA EN EDUCACION BASICA CON ENFASIS EN RECREACION Y DEPORTES.

Planificaciones Seminario de Electrónica II. Docente responsable: CRUZ JUAN MANUEL. 1 de 6

AUDITORIA TECNOLOGIA INFORMATICA FERNANDO RADA BARONA

CLASE 4. PRODUCT DESIGN SPECIFICATION AGOSTO 2012

ALLSOFT S.A. de C.V. Monterrey, N.L.

Procesos del software

DISEÑO DE SISTEMAS. Por: Ing. Tanya Recalde Ch.

CAPÍTULO II - INGENIERÍA DE SOFTWARE Y SU RELACIÓN CON LAS HERRAMIENTAS CASE

LAS 14 AREAS TEMATICAS DE LA COMPUTACIÓN

Planificaciones Seminario de Electrónica II. Docente responsable: SELLERIO GUILLERMO CARLOS. 1 de 5

2 Año EMP Administración

INFORME TÉCNICO PREVIO DE EVALUACIÓN DE SOFTWARE. El área encargada de la evaluación técnica previa es la Oficina de Sistemas.

POLITICA INSTITUCIONAL DE TECNOLOGIAS DE LA INFORMACIÓN Periodo

Tema 2: Conceptos básicos. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Rational Unified Process

DOCUMENTACIÓN REQUERIMIENTOS

Autor: Amhed Sinue Pérez Valdéz

Introducción a la Ingeniería de Software. Tema 2: Modelos de Proceso

Ingeniería de Sistemas. Objetivos. Que es un Sistema? Tópicos. Ingeniería de Software y Sistemas. Problemas con la Ingeniería de Sistemas

Algunos Criterios Para la Formación de los Terapeutas Ocupacionales.

Lineamientos para Establecer los Estándares

Mantenimiento de Software

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS DE INGENERIA DE SOFTWARE I

Universidad Ricardo Palma

Implementación de Componentes

Código Ético & Buenas Prácticas PRINCIPIOS FUNDAMENTALES

Especificación de requisitos de software

NÚMERO DE HORAS: 160H PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE OBJETIVO

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.

INFORME TECNICO PREVIO DE EVALUACIÓN DE SOFTWARE No 0/r EFA/OTI. 1. Nombre del área. Oficina de Tecnologías de la Información.

Curso Aseguramiento de la Calidad De los Procesos y Productos de Software

El Proceso. Capítulo 2 Roger Pressman, 5 a Edición. El Proceso de Desarrollo de Software

Presentación de la Asignatura.

INFORME TÉCNICO PREVIO DE EVALUACIÓN DE SOFTWARE RENOVACIÓN DE SOPORTE Y MANTENIMIENTO LICENCIAS MATLAB Y SUS MODULOS

Contenido. Sistemas. Ingeniería de Requerimientos. Introducción. Definiciones. Niveles y Clasificación ERS UNPA UARG

Contenido. Introducción. Buenas Prácticas. Buenas Prácticas. Introducción al RUP. Disciplina Requerimientos. Conclusiones. Desarrollo Iterativo

Evaluación de las modificaciones de un sistema existente

UNIVERSIDAD AUTONOMA DE QUERETARO Facultad de Informática

Regina Leal Güemez. Notas de clase para: Temas Selectos en Sistemas de Información para la Administración

Ing. Helkyn Coello Costa PMP / MCTS / MCSD.NET / MCDBA

Proyecto Integrador III Sesión 5 Requerimientos de Software

ITILv3-Transición del Servicio de Información. Figuras basadas en material ITIL

INSTITUTO FONACOT A. DATOS GENERALES. Nombre de la Institución. Instituto del Fondo Nacional para el Consumo de los Trabajadores (INFONACOT)

Especificación de Requerimientos <Nombre del Proyecto> Nombre del Grupo de Desarrollo o Asignatura Nombre del Autor

Ingeniería de Requerimientos. requiere de un Sistema de Software.

Planificaciones Seminario de Electrónica. Docente responsable: ALBERTO JORGE ARMANDO. 1 de 5

Los sistemas de software actuales suelen resolver problemas complejos que requieren soluciones confiables, eficientes y capaces de adaptarse

MAGIC DRAW UML. Índice. José Ignacio Colmenero González Carlos Pérez Herrero José Luis Bravo Sánchez

Modelos de desarrollo de software. septiembre de

P L A N E A C I Ó N DE PROYECTO AULA SEM. A

INDICE Parte I. Administración, Información y Sistemas 1. Introducción al Sistema de Información Administrativa

Capítulo 2. Descripción del sistema propuesto

Transcripción:

Introducción a la Ingeniería de Software. Ingeniería de Software Introducción Página 0

Objetivos. Introducir la Ingeniería de Software y explicar su importancia. Contestar las preguntas claves acerca de la Ingeniería de Software. Introducir consideraciones éticas y profesionales y explicar por qué son importantes para los Ingenieros de Software. Ingeniería de Software Introducción Página 1

Ingeniería de Software. Las economías de las naciones desarrolladas dependen del software. Más y más sistemas se controlan mediante software. La Ingeniería de Software estudia las teorías, métodos y herramientas para el desarrollo profesional del software. Los gastos en software representan una fracción significativa del PNB de todos los países desarrollados. Ingeniería de Software Introducción Página 2

Costos del Software. Los costos del software a menudo dominan el costo de los sistemas de cómputo. El costo del software en una PC frecuentemente es mayor que el costo del hardware. Cuesta más mantener que desarrollar el software. En sistemas de larga vida, los costos de mantenimiento pueden exceder varias veces el costo del desarrollo. La Ingeniería de Software tiene que ver con el desarrollo del software de manera eficiente respecto al costo. Ingeniería de Software Introducción Página 3

Los Costos del Software Costo directo. Adquisición o desarrollo de un sistema de Software. Costo indirecto. Utilización del software; incluye aspectos como la capacitación, instalación, soporte técnico, entre otros. Costo oculto. Ocasionado principalmente por las fallas del software. Son difíciles de prever y afectan principalmente a los sistemas conocidos como de misión crítica. Ingeniería de Software Introducción Página 4

Costos ocultos y consecuencias por fallas del Software. 1. Consecuencias inmediatas y efectos directos. Perjuicios ocasionados mientras dura la caída del sistema. Son relativamente predecibles dado que dependen directamente del tiempo que dure la interrupción en la operación. 2. Consecuencias a mediano y largo plazo y efectos indirectos. Perjuicios posteriores a la caída de los sistemas. Varían, desde la restauración de los datos, servicios de emergencia, hasta posibles accidentes y juicios en contra. Es difícil predecir el costo real del costo indirecto a mediano y largo plazo. Ingeniería de Software Introducción Página 5

Fallas en sistemas de software. Sobregiro del Bank of New York (1985): Tuvo accidentalmente un sobregiro de 32,000 millones de dls. Ocasionado por un contador de 16 bits que se activó provocando un desbordamiento (overflow) del contador que nunca fue verificado. El banco no pudo procesar nuevas transferencias por lo que la Reserva Federal de USA le hizo un traspaso de 24,000 millones de dls. Tuvo que pagar 5 millones de dls. de intereses mientras se arreglaba el software. Ingeniería de Software Introducción Página 6

Fallas en sistemas de software (2). Accidente de un F-18 (1986): Un avión de combate F-18 se estrelló a causa de un giro descontrolado (unrecoverable spin) atribuido a una expresión if-then, para la cual no habia instrucción else por considerarse innecesaria, lo que originó una excepción fuera de control del programa. Ingeniería de Software Introducción Página 7

Fallas en sistemas de software (3). Falla del software de AT&T (1990): American Telegraph and Telephone tuvo una falla masiva en su sistema de comunicaciones, durando alrededor de nueve horas e interrumpiendo millones de llamadas internacionales. El problema se originó en uno de los programas de ruteo escritos en lenguaje C. Ingeniería de Software Introducción Página 8

Fallas en sistemas de software (4). Falla de software en la Estación Nuclear Bruce, Canadá (1990): Un error de software en la estación nuclear de Bruce ocasionó la liberación de miles de litros de agua radioactiva. Se controló rápidamente causando únicamente la pérdida de dinero y tiempo, manteniendo la estación fuera de operación por varias semanas. Ingeniería de Software Introducción Página 9

Fallas en sistemas de software (5). Error de procesador Pentium de Intel (1994): Un error de punto flotante en el procesador Pentium le costó a Intel 475 millones de dls. El procesador Pentium III de 1 GHz, tuvo que ser retirado del mercado. Error del sistema de cobranza lleva a una compañía a la quiebra (1996): El intento por cambiar un nuevo sistema de software de cobranza, de un servicio de programación de una gran compañía de televisión por satélite, causó la quiebra de la compañía. Ingeniería de Software Introducción Página 10

Fallas en sistemas de software (6). Error en equipo de Cisco (1998): Un error en un equipo de ruteo ( switch ) de Cisco en uso por AT&T se propagó por cientos de equipos de ruteo en su red de alta velocidad, dejando fuera de servicio miles de cajeros automáticos y lectores de tarjetas de crédito. Error del milenio Y2K (2000): Cuando los programadores adoptaron la conversación de representar el año con dos dígitos, en lugar de cuatro: a los dos dígitos se concatenaba la constante 19 al inicio para generar la fecha completa. Según el Grupo Gartner, los costos de conversión de los programas fueron de alrededor de 600,000 millones de dls. Ingeniería de Software Introducción Página 11

Fallas en sistemas de software (7). Obama Care (2015): Una mala arquitectura de la aplicación web para controlar la operación del nuevo sistema de salud en Estados Unidos, llamado Obama Care, ocasionó que en los primeros días de su operación se saturara de manera que los tiempos de respuesta fueron inaceptables. El sistema fue retirado durante varios meses mientras se corregían las fallas del diseño arquitectónico. Muchos usuarios llegaron a la conclusión de que el sistema de salud (no la aplicación Web) no era adecuado. Ingeniería de Software Introducción Página 12

Preguntas frecuentes respecto a la Ingeniería de Software (1). Qué es software? Qué es Ingeniería de Software? Cuál es la diferencia entre Ingeniería de Software y Ciencia de Cómputo? Cuál es la diferencia entre Ingeniería de Software e Ingeniería de Sistemas? Qué es un proceso de software? Qué es un modelo de un proceso de software? Ingeniería de Software Introducción Página 13

Preguntas frecuentes respecto a la Ingeniería de Software (2). Cuál es el costo de la Ingeniería de Software? Cuáles son los métodos de la Ingeniería de Software? Qué es CASE (Computer-Aided Software Engineering)? Cuáles son los atributos del buen software? Cuáles son los retos fundamentales de la Ingeniería de Software? Ingeniería de Software Introducción Página 14

Qué es Software? Programas de computadora y su documentación asociada, como requerimientos, modelos de diseño y manuales de usuario. El producto de software puede ser desarrollado para un cliente en particular o para el mercado en general. Los productos de software pueden ser: Genéricos - desarrollados para ser vendidos a un rango general de diferentes clientes, e.g. software de PC como Excel o Word. A la medida desarrollados para un solo cliente de acuerdo a sus especificaciones. Se puede crear nuevo software desarrollando nuevos programas, configurando sistemas de software genéricos o reutilizando software existente. Ingeniería de Software Introducción Página 15

Qué es la Ingeniería de Software? La Ingeniería de Software es una disciplina ingenieril que trata con todos los aspectos de la producción de software útil. Los Ingenieros de Software deben adoptar un enfoque sistemático y organizado en su trabajo y utilizar herramientas y técnicas apropiadas dependiendo del problema a resolver, las restricciones del desarrollo y los recursos disponibles. Ingeniería de Software Introducción Página 16

Cuál es la diferencia entre Ingeniería de Software y Ciencia de Cómputo? La Ciencia de Cómputo trata de la teoría y los fundamentos; la Ingeniería de Software trata con las cuestiones prácticas de desarrollo e implantación de software útil. Las teorías de la Ciencia de Cómputo son todavía insuficientes para actuar como material de soporte completo para la Ingeniería de Software (a diferencia, por ejemplo de la Física respecto a la Ingeniería Eléctrica). Ingeniería de Software Introducción Página 17

Cuál es la diferencia entre Ingeniería de Software e Ingeniería de Sistemas? La Ingeniería de Sistemas trata todos los aspectos del desarrollo de sistemas basados en computadoras, incluyendo el hardware, el software y la ingeniería de los procesos. La Ingeniería de Software es parte de este proceso y se concentra en el desarrollo de la infraestructura de software, su control y las bases de datos del sistema. Los Ingenieros de Software se involucran en la especificación del sistema, su diseño arquitectónico, su integración y su instalación. Ingeniería de Software Introducción Página 18

Qué es un proceso de software? Un conjunto de actividades cuyo propósito es el desarrollo o la evolución de software. Las actividades genéricas en todos los procesos de software son: Especificación qué debe hacer el sistema y cuales son las restricciones para su desarrollo. Desarrollo producción del sistema de software. Validación verificar que el software es lo que el cliente desea. Evolución cambios en el software en respuesta a demandas de cambios. Ingeniería de Software Introducción Página 19

Qué es un modelo de un proceso de software? Una representación simplificada de un proceso de software, presentada desde una perspectiva específica. Algunos ejemplos de perspectivas de procesos: Perspectiva de flujo de trabajo secuencia de actividades. Perspectiva de flujo de datos flujo de información. Perspectiva de rol/acción quien hace que. Modelos genéricos de procesos. Cascada. Desarrollo iterativo. Ingeniería de Software basada en componentes. Ingeniería de Software Introducción Página 20

Cuál es el costo de la Ingeniería de Software? Aproximadamente el 60% del costo es desarrollo, 40% pruebas. Para software a la medida, el costo de evolución a menudo excede el costo de desarrollo. El costo varía dependiendo del tipo de sistema que se desarrolla y los requerimientos de atributos del sistema, como rendimiento y confiabilidad. La distribución del costo depende del modelo de desarrollo utilizado. Ingeniería de Software Introducción Página 21

Costo de desarrollo del producto. 0 25 50 75 100 Specification Developmen t System testing Ingeniería de Software Introducción Página 22

Complejidad del software Complejidad del problema: cuanto mayor sea el número de requerimientos o funcionalidad ofrecida por una aplicación, mayor será el tamaño del sistema, creando sistemas más difíciles de comprender y desarrollar. Complejidad de la solución: cuando la complejidad del problema es muy grande y difícil de reducir, es muy importante reducir la otra fuente de complejidad: la de la solución (el software). Ingeniería de Software Introducción Página 23

Complejidad del software (2). Factor estático. Corresponde a la funcionalidad que un sistema de software debe ofrecer al ser inicialmente desarrollado. Factor dinámico Corresponde a la funcionalidad que varía con el tiempo. Según la Ley de Lehman: todo programa que se use se modificará y cuando un programa se modifica su complejidad aumenta. Ingeniería de Software Introducción Página 24

Confiabilidad del software La confiabilidad (reliability) de un sistema de software describe que tan correcto y a prueba de fallas es un sistema. Depende de la cantidad de errores que tiene un sistema. La robustez (robustness) del software, la cual describe que tan bien el sistema responde ante circunstancias anormales. Ingeniería de Software Introducción Página 25

Cuáles son los métodos de la Ingeniería de Software? Enfoques estructurados en desarrollo de software, que incluyen modelos del sistema, notaciones, reglas, prácticas de diseño y guías de procesos. Descripciones de los Modelos. Descripciones de modelos gráficos que deben producirse. Reglas. Restricciones aplicadas a los modelos. Recomendaciones. Consejos en buenas prácticas de diseño (best practices). Guías de procesos. Qué actividades seguir. Ingeniería de Software Introducción Página 26

Qué es CASE (Computer-Aided Software Engineering)? Sistemas de Software que intentan propocionar soporte automatizado de las actividades de los procesos de software. Los sistemas CASE se usan frecuentemente como soporte a los métodos. CASE superior (Upper-CASE). Herramientas que soportan las actividades iniciales de requerimientos y diseño. CASE inferior (Lower-CASE). Herramientas que soportan actividades posteriores como programación, depuración y pruebas. Ingeniería de Software Introducción Página 27

Cuáles son los atributos del buen software? El software debe proporcionar la funcionalidad y rendimiento requeridos por el usuario y debe ser mantenible, eficiente, confiable aceptable. Mantenibilidad. El software debe evolucionar para incluir cambios demandados. Eficiencia. El software no debe desperdiciar recursos del sistema. Confiabilidad. El software debe ser confiable, i.e debe dar los resultados esperados. Aceptabilidad. El software debe ser aceptado por los usuarios para los que se diseñó. Esto significa que debe ser entendible, usable y compatible con otros sistemas. Ingeniería de Software Introducción Página 28

Cuáles son los retos fundamentales de la Ingeniería de Software? Heterogeneidad. Desarrollo de técnicas para construir software que soporte plataformas y ambientes de ejecución hetereógeneos. Tiempo de entrega. Desarrollo de técnicas que permitan la entrega rápida del software. Confianza. Desarrollo de técnicas que demuestren que los usuarios pueden confiar en el software. Ingeniería de Software Introducción Página 29

Responsabilidad ética y profesional. La Ingeniería de Software implica responsabilidades más amplias que simplemente la aplicación de habilidades técnicas. Los Ingenieros de Software deben comportarse de manera honesta y éticamente responsable, para ser respetados como profesionales. La conducta ética va más allá del simple respeto de la legalidad. Ingeniería de Software Introducción Página 30

Consideraciones de responsabilidad profesional. Confidencialidad. Los Ingenieros de Software deben por norma respetar la confidencialidad de sus empleadores o clientes independientemente de que se haya o no firmado un acuerdo de confidencialidad. Competencia. Los Ingenieros de Software no deben aparentar niveles de competencia que no tienen. No deben aceptar trabajo que no son capaces de realizar. Ingeniería de Software Introducción Página 31

Consideraciones de responsabilidad profesional. Derechos de propiedad intelectual. Los Ingenieros de Software deben conocer las leyes locales que regulan el uso de la propiedad intelectual, como patentes, copyrights, etc. Deben tener cuidado de asegurarse que la propiedad intelectual de sus empleadores o clientes esté protegida. Mal uso de computadoras. Los ingenieros de software no deben usar sus habilidades técnicas para hacer mal uso de computadoras de otras personas. El mal uso de computadoras abarca desde cuestiones relativamente triviales (como jugar juegos en la máquina de un empleador) hasta cosas muy serias (como diseminación de virus). Ingeniería de Software Introducción Página 32

Código de Ética de la ACM/IEEE. Estas sociedades profesionales de Estados Unidos han cooperado para producir un código de ética para los Ingenieros de Software. Los miembros de estas organizaciones firman el código de ética cuando ingresan a ellas. El código contiene ocho principios relativos a la conducta y las decisiones hechas por Ingenieros de Software profesionales, incluyendo profesionales en sí, educadores, gerentes, supervisores y directivos, así como estudiantes y becarios. ACM: American Computer Manufacturers. IEEE: Institute of Electric and Electronic Engineers. Ingeniería de Software Introducción Página 33

Código de Ética preámbulo. Preámbulo. La versión corta del código sumariza sus aspiraciones en un nivel de abstracción muy alto; las claúsulas incluidas en la versión completa incluyen ejemplos y detalles de como estas aspiraciones afectan la manera como actuamos como Ingenieros de Software profesionales. Sin estas aspiraciones los detalles pueden parecer legalistas y tediosos; sin los detalles, las aspiraciones pueden parecer altisonantes pero vacías; juntos, las aspiraciones y los detalles forman un código coherente. Los Ingenieros de Software deben comprometerse consigo mismos para hacer del análisis, especificación, diseño, desarrollo, pruebas y mantenimiento de software, una profesión benéfica y respetable. De acuerdo a sus compromisos con la salud, seguridad y bienestar del público, los Ingenieros de Software deben adherirse a los siguientes Ocho Principios: Ingeniería de Software Introducción Página 34

Código de Ética 8 principios. 1. Los Ingenieros de Software deben actuar consistentemente con el interés público. 2. Los Ingenieros de Software deben actuar de la mejor manera de acuerdo a los intereses de su cliente y empleador, consistente con el interés público. 3. Los Ingenieros de Software deben asegurarse de que sus productos y las modificaciones relacionadas cumplan con los estándares profesionales más altos posibles. Ingeniería de Software Introducción Página 35

Código de Ética principios. 4. Los Ingenieros de Software deben mantener integridad e independencia en su juicio profesional. 5. Los gerentes y líderes de Ingeniería de Software deben adoptar y promover un enfoque ético del manejo del desarrollo y mantenimiento del software. 6. Los Ingenieros de Software deben avanzar en la integridad y reputación de la profesión, consistente con el interés público. Ingeniería de Software Introducción Página 36

Código de Ética principios. 7. Los Ingenieros de Software deben ser justos con y apoyar a sus colegas. 8. Los Ingenieros de Software deben continuar aprendiendo de por vida lo concerniente a la práctica de su profesión y deben promover un enfoque ético de la misma. Ingeniería de Software Introducción Página 37

Dilemas éticos. Desacuerdo con las política de la gerencia superior. El empleador actúa de forma no ética y libera un sistema crítico en seguridad sin haber terminado las pruebas del mismo. Participación en el desarrollo de armas militares o sistemas nucleares. Ingeniería de Software Introducción Página 38