Etica e ingenieria de software

Page 1

2014

Mendoza Veliz Francisco Daniel Sistemas ST 20-6-2014


Ingeniería de software Enfoque sistemático, disciplinado y cuantificable del desarrollo, operación y mantenimiento de software, es la construcción de múltiples versiones de un software llevada a cabo por múltiples personas. La Ingeniería de Software es o debería ser: Desarrollo de software de dimensión industrial Desarrollo sistemático, disciplinado y cuantificable Desarrollo de productos que tienen una vida muy larga Desarrollo en equipo Especialización Diseños estándar Producir software garantizado Objetivos Para obtener mejores resultados se deben aplicar diferentes normas y métodos para cumplir de manera satisfactoria los objetivos.

   

Mejorar el diseño de aplicaciones o software para que se adapten de mejor manera a las necesidades de las organizaciones para las cuales fueron creadas. Mayor calidad al desarrollar aplicaciones complejas. Aumentar la eficiencia de los sistemas. Una mejor organización de equipos de trabajo. Detectar a través de pruebas, posibles mejoras para un mejor funcionamiento del software desarrollado. Recursos

Recursos

Recursos humanos

Persnas que intervienen en la planificacion del software

Recursos de software reutilizables

Componentes de software utilizados en otras aplicaciones

Recursos de entorno

Es el entorno de las aplicaciones (hardware y software)

1


Notaciones

LUM (lenguaje unificado de modelado) o UML

Utiliza describir especificar métodos.

BPMN (notación para el modelado de procesos de negocios)

Diagrama de flujo de datos (DFD)

Proporcionar de una manera fácil de definir y analizar los procesos de negocios públicos y privados simulando un diagrama de flujo.

permite el movimiento de datos a través de un sistema por medio de modelos que describen los flujos de datos

para o

Consiste de vistas, elementos de modelo y un conjunto de reglas: sintácticas, semánticas y pragmáticas que indican cómo utilizar los elementos

Métodos Son herramientas computacionales que están destinadas a asistir en los procesos de ciclo de vida de un software, facilitan la producción del software y se basan principalmente en la idea de un modelo gráfico. Metodología Sirven para mejorar la productividad en el desarrollo y la calidad del producto software, en pocas palabras, determina los pasos a seguir y como realizarlos para finalizar una tarea.

2


Etapas del proceso Obtención de los requerimientos

Análisis de requisitos

Limitaciones

Especificación

Arquitectura

Programación

Desarrollo de la aplicación

Pruebas de software

Implementació n

Documentación

Mantenimiento

Ventajas Desde el punto de vista de gestión •Facilitar la tarea de seguimiento del proyecto •Optimizar el uso de recursos •Facilitar la comunicación entre usuarios y desarrolladores •Facilitar la evaluación de resultados y cumplimiento de objetivos Desde el punto de vista de los ingenieros de Software •Ayudar a comprender el problema •Permitir la reutilización •Facilitar el mantenimiento del producto final •Optimizar el conjunto y cada una de las fases del proceso de desarrollo Desde el punto de vista de cliente o usuario final •Garantizar el nivel de calidad del producto final •Obtener el ciclo de vida adecuado para el proyecto •Confianza en los plazos del tiempo mostrados en la definición del proyecto

3


Modelo en cascada o clásico Modelo de prototipos

Proceso unificado del desarrollo de software

Modelo de desarrollo concurrente

Modelos y Ciclos de Vida del Desarrollo de Software

Modelo en espiral

Modelo de desarrollo por etapas

Modelo RAD (rapid application development) Modelo Incremental o Iterativo •Modelo estructurado •Modelo orientado a objetos

Producto El software se ha convertido en algo muy necesario en nuestra sociedad actual, es la máquina que conduce a la toma de decisiones comerciales, sirve para la investigación científica moderna, es un factor clave que diferencia productos y servicios modernos, etc. Esto se da porque el software está inmerso en sistemas de todo tipo alrededor de nosotros.

4


Clsificacion de los productos

Productos genéricos

Productos hechos a medida

Son los producidos por una organización para ser vendidos al mercado. Sistemas que son desarrollados bajo pedido a un desarrollador específico.

Estos productos deben cumplir varias características al ser entregados, estas son:    

Mantenibles: El software debe poder evolucionar mientras cumple con sus funciones. Confiabilidad: No debe producir daños en caso de errores. Eficiencia: El software no debe desperdiciar los recursos. Utilización adecuada: Debe contar con una interfaz de usuario adecuada y su documentación.

5


El Código de Ética y Práctica Profesional de Ingeniería del Software La versión resumida del código sintetiza las aspiraciones a un nivel elevado de abstracción. Las cláusulas que se incluyen en la versión completa proporcionan ejemplos y detalles acerca de cómo estas aspiraciones modifican nuestra manera de actuar como profesionales de la ingeniería del software. Sin esas aspiraciones los detalles pueden convertirse en tediosos y legalistas; sin los detalles las aspiraciones pueden convertirse en altisonantes pero vacías; conjuntamente las aspiraciones y los detalles conforman un código cohesivo. Los ingenieros de software debieran obligarse a hacer del análisis, especificación, diseño, desarrollo, pruebas y mantenimiento del software una profesión respetada y beneficiosa. En concordancia con la obligación con el bienestar, salud y seguridad de la sociedad, los ingenieros del software debieran adherirse a los Ocho Principios siguientes:

Sociedad Cliente y Empresario

Personal

Compañeros :

Principios

Profesión

Producto

Valoración Gestión:

Principio 1: Sociedad Los ingenieros del software actuarán de manera consistente con el interés general. En particular, los ingenieros de software deberán, adecuadamente: 1.01. Aceptar completa responsabilidad por su trabajo. 1.02. Moderar los intereses del ingeniero del software, el empresario, el cliente y los usuarios con los del bienestar público. 1.03. Dar el visto bueno al software sólo si se tiene fundada creencia de que es seguro, cumple las especificaciones, ha pasado las pruebas pertinentes y no disminuye la calidad 6


de la vida, disminuye la confidencialidad o daña al medio ambiente. El efecto último del trabajo debiera ser el bienestar público. 1.04. Mostrar a las personas o autoridades correspondientes cualquier peligro real o potencial para el usuario, la sociedad o el medio ambiente, que consideren, de manera razonable, que esté asociado con el software, o documentos relacionados. 1.05. Cooperar en las materias relacionadas con las preocupaciones graves causadas por el software, su instalación, mantenimiento, soporte o documentación. 1.06. Ser justo y veraz en todas las afirmaciones, especialmente en las que sean públicas, relativas al software o documentos relacionados, métodos y herramientas. 1.07. Considerar las cuestiones de discapacidades físicas, asignación de recursos, desventajas económicas y otros factores que puedan disminuir el acceso a los beneficios del software. 1.08. Estar dispuesto a donar las capacidades profesionales para buenas causas y contribuir a la educación del público en general con respecto a esta disciplina. Principio 2: Cliente y Empresario Los ingenieros de software deberán actuar de maneras en que se representen los mejores intereses para sus clientes y empresarios, consistentemente con el interés general. En particular los ingenieros de software deberán, adecuadamente: 2.01. Proporcionar servicios sólo en las áreas de su competencia, siendo honestos y francos acerca de cualquier limitación en su experiencia o educación. 2.02. No utilizar conscientemente software obtenido o retenido de manera ilegal o no ética. 2.03. Utilizar la propiedad de un cliente o patrón sólo en maneras adecuadamente autorizadas, y con el conocimiento y consentimiento de los mismos. 2.04. Garantizar que cualquier documento en el que se confía ha sido aprobado, cuando así se requiera, por alguien con autoridad para hacerlo. 2.05. Mantener como privada cualquier información confidencial obtenida mediante el trabajo profesional, siempre que tal confidencialidad no sea inconsistente con los aspectos de interés general y con la ley. 2.06. Identificar, documentar, recoger evidencia e informar con prontitud al cliente o empresario si, en su opinión, es probable que fracase un proyecto, que se demuestre

7


demasiado caro, que viole la legislación sobre propiedad intelectual, o que sea problemático. 2.07. Identificar, documentar e informar al empresario o cliente sobre cualquier asunto de interés social, o del que se tenga conocimiento, acerca del software o documentos relacionados. 2.08. No aceptar trabajo externo que vaya en detrimento del trabajo que se desarrolle para su principal contratante. 2.09. No representar interés contrario al del empresario o cliente, a menos que se comprometa otro valor ético más elevado; en este último caso se informará al empresario o a otra autoridad adecuada acerca de esa preocupación ética. Principio 3: Producto Los ingenieros de software deberán garantizar que sus productos y las modificaciones relacionadas cumplen los estándares más elevados posibles. En particular, los ingenieros de software deberán, según sea adecuado: 3.01. Promover máxima calidad, coste aceptable, y un plazo razonable, garantizando que quedan claros los compromisos significativos al respecto, y que los aceptan el empresario y el cliente, y que están disponibles para consideración por el usuario y el público en general. 3.02. Garantizar objetivos adecuados y alcanzables para cualquier proyecto en el que trabajen o lo vayan a hacer. 3.03. Identificar, definir, y examinar temas éticos, económicos, culturales, legales y medioambientales relacionados con cualquier proyecto. 3.04. Garantizar que están cualificados, mediante una adecuada combinación de educación, adiestramiento y experiencia, para cualquier proyecto en el que trabajen o lo vayan a hacer. 3.05. Garantizar una metodología adecuada para cualquier proyecto en el que trabajen o lo vayan a hacer. 3.06. Trabajar para seguir los estándares de la industria, si disponibles, que sean los más adecuados para las tareas, desviándose de los mismos sólo cuando esté justificado ética o técnicamente. 3.07. Esforzarse para entender completamente las especificaciones del software que están desarrollando. 8


3.08. Garantizar que las especificaciones para el software sobre el que trabajan han sido bien documentadas, satisfacen los requisitos del usuario y tienen las aprobaciones adecuadas. 3.09. Garantizar estimaciones cuantitativas realistas de coste, plazos, personal, y resultados de cualquier proyecto en el que trabajen o vayan a hacerlo, y proporcionar una evaluación de la incertidumbre de esas estimaciones. Principio 4. Juicio Los ingenieros de software deberán mantener integridad e independencia en su valoración profesional. En particular, los ingenieros del software deberán, adecuadamente: 4.01. Moderar todos los juicios técnicos por la necesidad de amparar y mantener valores humanos. 4.02. Firmar sólo los documentos preparados bajo su supervisión o dentro de sus áreas de competencia, y con los que se está de acuerdo. 4.03. Mantener objetividad profesional con respecto a cualquier software o documentos relacionados para los que se les pida evaluación. 4.04. No involucrarse en prácticas financieras engañosas, tales como sobornos, dobles facturaciones u otras prácticas impropias. 4.05. Comunicar a todas las partes los conflictos de interés que no puedan evitarse razonablemente. 4.06. Rechazar la participación, como miembros o asesores, en organismos privados, gubernamentales o profesionales vinculados con temas de software, en los que tengan, o sus patronos o clientes, potenciales conflictos de interés no revelados. Principio 5. Gestión Los gestores y líderes en ingeniería del software suscribirán y promoverán un enfoque ético a la gestión del desarrollo y mantenimiento del software. En particular, aquellos ingenieros de software en funciones de dirección o liderazgo deberán, adecuadamente: 5.01. Garantizar una buena gestión en cualquier proyecto en los que trabajen, incluyendo procedimientos efectivos para promover calidad y reducción del riesgo. 5.02. Garantizar que se informa a los empleados de los estándares antes de adherirse a ellos. 9


5.03. Garantizar que los empleados conocen las políticas y procedimientos del empresario para la protección de las claves de acceso, ficheros y otra información que sea confidencial para el empresario o para otros. 5.04. Asignar trabajo sólo después de tener en cuenta la educación y experiencia, moderados con el deseo de mejorar tal educación y experiencia 5.05. Garantizar unas estimaciones cuantitativas realistas del coste, plazo, personal, calidad y productos en cualquier proyecto en el que trabajen o tengan intención de hacerlo, y proporcionar una valoración de la incertidumbre de esas estimaciones. 5.06. Atraer empleados sólo mediante una descripción completa y precisa de las condiciones del empleo. 5.07. Ofrecer una adecuada y justa remuneración. 5.08. No impedir injustamente a otro obtener una mejor posición para la que está cualificado. 5.09. Garantizar que hay un acuerdo correcto en lo referente a la propiedad de cualquier software, procesos, investigación, escritos, o cualquier otra propiedad intelectual a la que el ingeniero del software ha contribuido. 5.10. Proporcionar los medios correspondientes en caso de alegaciones de incumplimiento de la política del empresario o de este Código. 5.11. No pedir a un ingeniero del software hacer algo inconsistente con este Código. 5.12. No castigar a nadie por expresar preocupaciones éticas sobre un proyecto. Principio 6. Profesión Los ingenieros de software deberán progresar en la integridad y reputación de la profesión, consistentemente con el interés general. En particular, los ingenieros de software deberán, en la medida de lo posible: 6.01. Ayudar a desarrollar un ambiente organizativo favorable a un comportamiento ético. 6.02. Promover el conocimiento general de la ingeniería del software. 6.03. Diseminar el conocimiento de ingeniería del software mediante la participación en organizaciones profesionales, reuniones y publicaciones. 6.04. Apoyar, como miembros de una profesión, a otros ingenieros de software que se esfuercen en seguir este Código. 10


6.05. No promover el interés propio a costa de la profesión, el cliente o el empresario. 6.06. Obedecer todas las leyes que gobiernen su trabajo, a menos que, en circunstancias excepcionales, tal cumplimiento sea inconsistente con el interés general. 6.07. Ser preciso en la descripción de las características del software en el que se trabaja, evitando no sólo falsas declaraciones, sino también declaraciones que podrían razonablemente suponerse especulativas, vacías, decepcionantes, engañosas o dudosas. 6.08. Tener la responsabilidad de detectar, corregir e informar errores en el software y documentos asociados en los que se trabaje. 6.09. Asegurarse que los clientes, patronos y gerentes conocen la obligación del ingeniero de software con respecto a este Código de ética, y las ramificaciones subsecuentes de tal obligación. 6.10. Evitar asociaciones con empresas y organizaciones que estén en conflicto con este código. 6.11. Considerar que las inobservancias de este Código son inconsistentes con ser un ingeniero de software profesional. 6.12. Expresar las preocupaciones a las personas implicadas cuando se detecten incumplimientos significativos de este Código, a menos que sea imposible, contraproducente o peligroso. 6.13. Informar sobre las vulneraciones de este Código a las autoridades pertinentes cuando está claro que consultar a las personas implicadas en estas inobservancias es imposible, contraproducente o peligroso. Principio 7. Compañeros Los ingenieros de software serán justos y serán soporte de sus compañeros. En particular, los ingenieros de software deberán, adecuadamente: 7.01. Animar a los compañeros a adherirse a este Código. 7.02. Ayudar a los compañeros en el desarrollo profesional. 7.03. Reconocer completamente el trabajo de otros y abstenerse de atribuirse méritos no reconocidos. 7.04. Revisar el trabajo de otros de forma objetiva, sincera y adecuadamente documentada. 11


7.05. Tratar justamente las opiniones, preocupaciones o quejas de un compañero. 7.06. Ayudar a los compañeros en el conocimiento completo de los estándares de trabajo, incluyendo políticas y procedimientos para proteger las claves de acceso, ficheros y otra información confidencial, y medidas de seguridad en general. 7.07. No interferir injustamente en la carrera profesional de cualquier compañero; sin embargo, la preocupación por el empresario, el cliente o el interés público puede forzar, con buena voluntad, a cuestionar la competencia de un compañero. 7.08. En las situaciones fuera de las áreas de competencia personales, consultar las opiniones de otros profesionales que tengan competencia en esa área. Principio 8. Persona Los ingenieros de software deberán participar en el aprendizaje continuo de la práctica de su profesión y promoverán un enfoque ético en la práctica de la profesión. En particular, los ingenieros de software deberán continuamente preocuparse de: 8.01. Mejorar su conocimiento de los avances en el análisis, especificación, diseño, desarrollo, mantenimiento y pruebas del software y documentos relacionados, junto con la gestión del proceso de desarrollo. 8.02. Mejorar su capacitación para crear software de calidad, seguro, fiable y útil con un coste razonable y en un plazo razonable. 8.03. Mejorar su capacidad para producir documentación precisa informativa y correctamente escrita. 8.04. Mejorar su comprensión del software y documentos relacionados en los que se trabaja y del entorno en el que se utilizarán. 8.05. Mejorar su conocimiento de los estándares pertinentes y de las leyes que regulan el software y los documentos relacionados en los que trabajan. 8.06. Mejorar su conocimiento de este Código, su interpretación y su aplicación al trabajo. 8.07. No dar un tratamiento injusto a nadie por prejuicios irrelevantes. 8.08. No influenciar a otros para tomar acción alguna que conlleve un incumplimiento de este Código. 8.09. Reconocer que las inobservancias personales de este Código son inconsistentes con ser un ingeniero de software profesional. 12


Conclusiones Con el presente trabajo se puede mencionar a las siguientes conclusiones: La producción de un producto de software ha de estar regida por los principios de la ingeniería de software. Interviene un gran número de personas con diferentes perfiles En un proyecto, desarrollo y mantenimiento de un producto se software. No es ético realizar pirateo de Software y desarrollar virus Informáticos, pues ello desequilibra el orden empresarial, perjudicando a los sistemas computacionales. El éxito de los ingenieros de software en el futuro estará muy ligado a la ética informática pues ello permitirá una adecuada formación profesional. Los códigos de ética están relacionados con aspectos computacionales, por lo que hace referencia a la Ingeniería del Software.

13


Linkografia http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_software#Recursos http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_software#Notaciones http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_software#Producto http://yaqui.mxl.uabc.mx/~molguin/as/IngReq.htm http://www.slideshare.net/marfonline/analisis-de-requerimientos-ingenieria-de-software http://www.slideshare.net/marfonline/analisis-de-requerimientos-ingenieria-de-software http://www.sc.ehu.es/jiwdocoj/elcodigo.htm

14


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.