Sei sulla pagina 1di 60

Procesos de Desarrollo de Software

Introduccin

Motivacin
Es probable que trabajes en desarrollo de software? La programacin en s es un reto? (con las herramientas actuales) Como futuro ingeniero/a de software, qu crees que te debera distinguir en el 2 mercado laboral?

Motivacin Hacia un proyecto software


SISTEMA SOFTWARE

PROGRAMA

PROYECTO SOFTWARE
PRODUCTO SOFTWARE + Necesidades y restricciones de los clientes (cambiantes) + Arquitectura del software + Diseo detallado + Patrones + Interfaces e integracin + Seleccin tecnologa + Equipos mltiples + Algoritmos y estructuras de datos + Lneas de productos software +

(Algoritmos y estructuras de datos)

Estudiante GII 1er / 2o curso

Carrera profesional

Motivacin Smil con la construccin


INDUSTRIA de la CONSTRUCCION (pintar dormitorio de los nios) 1 da x 1 hombre (autodidacta) (El Nido, Pekn) GRANDES PROYECTOS (Gran proyecto sw) Varios aos x Varios aos x Contratistas, Contratistas, constructores, factora software, arquitectos, ingenieros software, delineantes, analistas, obreros, operadores, albailes, programadores, auditores, auditores, aficionados al arte usuarios Los proyectos ms pequeos (de uso personal) se parecen a los pequeos programas: puede desarrollarlo el propio interesado, en un tiempo mnimo. Los proyectos ms grandes se parecen a los grandes proyectos software: gran cantidad de personal y usuarios, personas distintas desarrollan, usan y mantienen, importancia fundamental: tareas relacionadas con aspectos administrativos, de planificacin, estimacin y control. Planos en la industria de la construccin: bien establecidos Planos en la industria del software? INDUSTRIA del SOFTWARE (pequeo programa) 1 da x 1 hombre (autodidacta) PEQUEOS PROYECTOS

Motivacin Comunicacin compleja

1. Lo que el director desea.

2. Como lo define el director de proyecto.

3. Como se disea el Sistema.

Origen: desconocido

4. Como lo desarrolla el programador.

5. Como se ha realizado la instalacin.

6. Lo que el usuario quera.

(finales aos sesenta)

Problemas de comunicacin con el cliente Problemas de comunicacin en el equipo

Motivacin

Necesaria aproximacin disciplinada


Informacin = Ppal. activo de las empresas desarrollo de SI fuertes presiones calidad, productividad Desarrollo artesanal suficiente? Disciplina de ingeniera
(sw. fiable, econmico y eficiente)

Gestin de calidad Mtodos (tcnicas, procesos, herramientas) Gestin de proyectos


6

Procesos de Desarrollo de Software Objetivos de la asignatura


INTRODUCCIN ISW + INTRODUCCIN AL A/DOO

Introducir la ingeniera del software en general, y ms especficamente el anlisis y diseo de software orientado a objetos
7

Objetivos bsicos de la asignatura


Inculcar la necesidad de realizar de forma disciplinada el proceso de desarrollo de software usando tcnicas, mtodos y herramientas de ISW Estudio de UML (Lenguaje Unificado de Modelado) Definicin y aplicacin de un proceso basado en UML
8

Relaciones con otras asignaturas


Altamente recomendable haber cursado POO
Conocer los conceptos de Objeto, clase, mtodo, mensaje, herencia, polimorfismo, ligadura dinmica

Complementa

Bases de Datos Tecnologas de Desarrollo de Software Gestin de Proyectos de Desarrollo de Software Intensificacin de ISW Sistemas de Informacin

Despus, en 4 GII

Programa de teora
Bloque I. Introduccin Tema 1. Ingeniera del software Bloque II. Modelado en el desarrollo de software Tema 2. Modelado de requisitos Tema 3. Modelado del dominio Tema 4. Modelado del negocio Tema 5. Modelado del diseo Tema 6. Diseo lgico Bloque III. Modelos de proceso Tema 7. Mtodos de desarrollo Tema 8. Modelos de ciclo de vida

10

Programa de prcticas
Grupos de dos Notas individuales
Prctica 0. Entorno CASE de soporte a UML Prctica 1. Problemas de anlisis y diseo orientados a objetos Prctica 2. Proyecto de desarrollo con UML
11

Bibliografa bsica
Todos en la biblioteca:
Texto bsico:
[Larman 03] Larman, C. UML y Patrones: Una introduccin al anlisis y diseo orientado a objetos y al proceso unificado, Segunda Edicin, Prentice-Hall, 2003 La 3 edicin (en ingls, 2005) es igualmente vlida [Booch et al. 06] Booch, G. et al. "El lenguaje unificado de modelado: gua del usuario", 2 ed., Addison-Wesley, 2006

Las transparencias no son los apuntes de la asignatura!


12

Evaluacin
Nota final de la asignatura:
Examen escrito (50%) Nota de prcticas (50%)

La Prctica 2 se evala mediante correccin de entregas parciales seguidas de una entrevista

Para hacer media ser necesario aprobar ambas partes Participacin en clase (y especialmente en clases de problemas):
Hasta dos puntos ms en la nota final
13

Procesos de Desarrollo de Software

Tema 1. Ingeniera del Software

Tema 1. Ingeniera del Software. Estructura


1. 2. 3. 4. 5. 6. El software Factores de calidad del software Problemas en el desarrollo de software Ingeniera del software UML, Lenguaje Unificado de Modelado Responsabilidad tica y profesional en ingeniera del software

15

Tema 1. Ingeniera del Software. Bibliografa


(Pressman 2006) Pressman, R.S., Ingeniera del Software. Un enfoque prctico. 6 ed. 2006: Mc Graw Hill, Interamericana de Espaa S.A.U.
Cap.1 y Cap. 2 (aptdo. 2.1) Las ediciones anteriores de 2001 o 1998 son tambin vlidas.

16

Tema 1. Ingeniera del Software. Estructura


1. 2. 3. 4. 5. 6. El software Factores de calidad del software Problemas en el desarrollo de software Ingeniera del software UML, Lenguaje Unificado de Modelado Responsabilidad tica y profesional en ingeniera del software

17

1. El software
Programas de computador, procedimientos, y, posiblemente, la documentacin asociada y los datos pertenecientes a las operaciones de un sistema de computacin
Instrucciones que, cuando se ejecutan, proporcionan la funcionalidad deseada Estructuras de datos, que facilitan a las instrucciones manipular adecuadamente la informacin Base de datos, que registra la informacin que maneja el sistema Documentos, que describen el desarrollo, uso, instalacin y mantenimiento de los programas

Incluye entrenamiento, soporte al consumidor e instalacin

18

Caractersticas del software (frente al hardware)


Ms difcil de medir, validar, verificar:
Elemento lgico, no fsico Desarrollado, no fabricado

No se estropea, pero se deteriora!


Deterioro por cambios

Tradicionalmente, mayoritariamente cerrado:


Usado todo o nada Poco ensamblaje de componentes

19

Perspectiva histrica del desarrollo de software


Dcada 1950-60 Dcada 1960-70
Lenguajes de bajo nivel Aplicaciones sencillas Software como un aadido Desarrollo artesanal, a medida Dcada lenguajes y compilacin Software como producto Primeras aplicaciones complejas Crisis del software (1968) Programacin estructurada Ocultacin de informacin Primeras etapas Ingeniera del Software Primeros mtodos estructurados Modelado de datos Modelo relacional BDs Programacin OO (POO) 4GLs C/S Tecnologa de SGBDs, SOs Mtodos estructurados y primeros mtodos OO Tecnologa CASE (1 generacin)

Dcada 1990-00

Generalizacin POO Programacin visual Tecnologa de componentes Interoperabilidad (CORBA) Nuevas plataformas (Java, .NET) Anlisis/Diseo OO

Dcada 1970-80

Dcada 2000-10y actualidad


Generalizacin comercio electrnico Generalizacin desarrollo web Web 2.0 y aplicaciones redes sociales Tecnologas semnticas Arquitecturas basadas en servicios (SOA) Mtodos giles Lneas de producto GSD: Global Software Development Desarrollo open source MDE: Model-Driven Engineering Seguridad

Patrones y frameworks Tecnologa CASE (2 generacin) Popularizacin de Internet

Fin Guerra de los mtodos UML (Unified Modeling Language, 1997)

Dcada 1980-90

20

Tema 1. Ingeniera del Software. Estructura


1. 2. 3. 4. 5. 6. El software Factores de calidad del software Problemas en el desarrollo de software Ingeniera del software UML, Lenguaje Unificado de Modelado Responsabilidad tica y profesional en ingeniera del software

21

2. Factores de calidad del sw. (internos y externos) (Bell 2000)


Correcto Fiable
Se ajusta a las especificaciones dadas por el usuario Capacidad de ofrecer los mismos resultados bajo las mismas condiciones No existe diferencia entre los valores reales y los calculados Utilizacin ptima de los recursos de la mquina No poseer un comportamiento catastrfico ante situaciones excepcionales (tolerante a fallos)
22

Portable
Capaz de integrarse en entornos distintos con el mnimo esfuerzo

Inteligible
Diseo claro, bien estructurado y documentado

No Errneo Eficiente Robusto

Adaptable (extensible)
Modificar alguna funcin sin que afecte a sus actividades

Reutilizable
El software puede ser usado con facilidad en nuevos desarrollos

Factores de calidad del software (II) (Sommerville 2004)


Facilidad de mantenimiento Confiabilidad
Fiabilidad Seguridad Proteccin

Eficiencia Facilidad de uso


23

Tema 1. Ingeniera del Software. Estructura


1. 2. 3. 4. 5. 6. El software Factores de calidad del software Problemas en el desarrollo de software Ingeniera del software UML, Lenguaje Unificado de Modelado Responsabilidad tica y profesional en ingeniera del software

24

3. Problemas en el desarrollo de software


Con el avance del hardware, necesidad de aplicaciones ms complejas Se produjo un cambio en la relacin entre el coste hardware/software

Con frecuencia, el sw es la parte ms compleja del sistema


Son problemas tradicionales:
Incapacidad para estimar tiempo, coste y esfuerzo para el desarrollo de un producto software Falta de calidad del producto software

25

Relacin coste hw./sw.


Porcentaje del coste total del sistema

100 80 60 40 20 0
60 70 80
aos

Hardware Software

26

Problemas en el desarrollo de software (II) (Pressman)


Por qu lleva tanto tiempo terminar los programas? Por qu es tan elevado su coste? Por qu no podemos encontrar todos los errores antes de entregar el software a nuestros clientes? Por qu nos resulta difcil constatar el progreso conforme se desarrolla el sw.?
27

Algunos sntomas
The Continuing IT Project Challenge
Late, Over budget, Reduced scope 46%

(Kappelman 2011, http://courses.unt.edu/kappelman/) 19% de los proyectos cancelados rotundo fracaso 46% de los proyectos en costo o plazos sobrepasadosno satisface completamente las necesidades de los clientes Slo el 35% de los proyectos completados a tiempo, en presupuesto, con la funcionalidad prometida A menudo, el rendimiento y la fiabilidad iniciales son menores que lo esperado y necesitado Las cancelaciones se incrementan con el tamao del proyecto: 32% de proyectos grandes cancelados (> 10K FPs) 52% proyectos muy grandes cancelados (> 100K FPs) FPs = Function Points (Carper Jones 2009)

Succesful 35%

Cancelled 19%

2006 Chaos Report, The Standish Group http://www.sdtimes.com/link/30247

28

Algunas causas
Naturaleza no fsica de la programacin
El sw es la parte ms maleable del sistema

Problemas derivados de la intervencin de grupos


Problemas de comunicacin con los clientes

Difusin limitada de las nuevas tcnicas, mtodos y herramientas


Poco esfuerzo en anlisis y diseo

Problemas de gestin

29

Algunas soluciones... No existe bala de plata!


mtodos de anlisis, diseo, prueba... Prototipado modelado del negocio reutilizacin

(Brooks 87)

ingeniera de requisitos POO

INGENIERA DEL SOFTWARE


mtodos formales herramientas CASE:
editores dirigidos por la sintaxis, entornos integrados de desarrollo, herramientas para la gestin de proyectos, herramientas de prototipado, etc.

herramientas 4 gen.
lenguajes no procedimentales para consulta a BDs generadores de pantallas, generadores de cdigo, generadores de informes

30

Algunas soluciones... No existe bala de plata! (II)


Aproximaciones realmente prometedoras (se dirigen a la complejidad esencial en el desarrollo de software, y no a la complejidad accidental): Comprar en lugar de construir Refinamiento de requisitos y prototipado rpido Desarrollo incremental hacer crecer el software, no construirlo Contar con grandes diseadores
Ms informacin: No Silver Bullet - Essence and Accidents of Software Engineering Brooks, F., IEEE Computer, 20, 4, April 1987 (http://en.wikipedia.org/wiki/No_Silver_Bullet)

31

Tema 1. Ingeniera del Software. Estructura


1. 2. 3. 4. 5. 6. El software Factores de calidad del software Problemas en el desarrollo de software Ingeniera del software UML, Lenguaje Unificado de Modelado Responsabilidad tica y profesional en ingeniera del software

32

4. Ingeniera del Software


Trmino que aparece en 1968 (+crisis del software) La produccin de programas debe abordarse como una ingeniera ms (Boehm) La Ingeniera del Software es la aplicacin prctica y sistemtica del conocimiento cientfico a:
la produccin de programas correctos, que se desarrollan a tiempo y dentro de las estimaciones de presupuesto, y a la correspondiente documentacin para desarrollarlos, usarlos y mantenerlos

La Ingeniera del Software se fundamenta en tcnicas relacionadas con:


ciencia de la computacin, programacin, ingeniera, administracin, matemticas, economa, etc.

Forma parte de la Ingeniera de Sistemas

33

Ms definiciones de ISW
(Fritz Bauer) La ISW es el establecimiento y uso de principios slidos de ingeniera, orientados a obtener software econmico que sea fiable y trabaje de manera eficiente en mquinas reales (Glosario Estndar de Trminos de Ingeniera del Software de IEEE, 1998) ISW: (1) La aplicacin de un enfoque sistemtico, disciplinado y cuantificable para el desarrollo, la operacin y el mantenimiento del software; es decir, la aplicacin de la ingeniera al software; (2) El estudio de enfoques como en (1) (Sommerville 2002) Disciplina que comprende todos los aspectos de la produccin de software desde las etapas iniciales de la especificacin del sistema, hasta el 34 mantenimiento de ste despus de que se utiliza

Situacin actual de la ISW


(Sommerville 2004)

En los ltimos 20 aos,


Los cambios en hardware han sido enormes Aparentemente, los cambios en software tambin:
P.ej., las grandes infraestructuras energa, comunicaciones, transporte- descansan sobre sistemas muy complejos y en general muy fiables P.ej., auge de Internet y aplicaciones relacionadas Se dispone de una enorme variedad de tecnologas (p.ej. J2EE, .NET, EJB, SAP, BPEL4WS, SOAP, CBSE) para construir aplicaciones como las aplicaciones web- que pueden ser desplegadas mucho ms rpidamente que en el pasado

Sin embargo, ms all de las tecnologa, si miramos los procesos de ingeniera del software, desgraciadamente muchas cosas permanecen igual 35

Situacin actual de la ISW (II)


(Sommerville 2004)

El modelo en cascada sigue siendo utilizado por ms del 40% de las empresas (IEEE Software, Dic. 2003), a pesar de que sus serios problemas fueron identificados hace 20 aos La prueba es la tcnica de validacin predominante, a pesar de que otras tcnicas, como la inspeccin de programas, han sido usados ms eficientemente desde los aos 70 Las herramientas CASE son todava simplemente editores de diagramas con algunas funcionalidades de chequeo y generacin de cdigo Todava muchos proyectos terminan tarde, exceden el presupuesto o no entregan el software que esperaban 36 los clientes

Situacin actual de la ISW (III)


Durante la evolucin de la ISW la reutilizacin, los estndares y la automatizacin son tcnicas que han permitido avanzar en el objetivo de la industrializacin del software: productos de calidad a bajo coste objetivo todava no conseguido En muchas reas sigue sin existir un conjunto de estndares que se use ampliamente No existen suficientes datos - gua (estadsticas) A diferencia de otras ingenieras, se carece de una base formal o no est suficientemente difundida En definitiva, La disciplina no es todava madura Necesario mayor esfuerzo en educacin en ISW

37

Situacin actual de la ISW (IV)


(Sommerville 2004)

Pero hay tambin aproximaciones prometedoras. Por ejemplo:


Se ha establecido UML (Lenguaje Unificado de Modelado) como una notacin estndar de anlisis y diseo OO (1997) Aparecen mtodos giles como Extreme Programming (1999/2000) SWEBOK (Guide to the Software Engineering Body of Knowledge) (2003) Algunas universidades han comenzado a ofrecer un ttulo en ISW Comits CSAB (Computer Science Accreditation Board) y ABET (Accreditation Board for Engineering and Technology) CMMI (Capability Maturity Model Integration) del SEI (Software Engineering Institute) y la familia de estndares ISO 9000 son usados para valorar la capacidad de una organizacin de ISW En EE UU, el Colegio de Ingenieros Profesionales de Texas (Texas Board of Professionals Engineers) ha comenzado a licenciar ingenieros de software ACM e IEEE-CS han desarrollado y adoptado conjuntamente un Cdigo de tica para Profesionales en Ingeniera del Software
38

Situacin actual de la ISW (V)


Resumiendo, tres problemas esenciales comienzos del siglo XXI (Sommerville 2004): El reto de lo heredado El reto de la heterogeneidad El reto de la entrega en los

Hoy da, Existe un consenso en la importancia de la ISW Se ha avanzado mucho, pero queda mucho por hacer Muchos autores comienzan a renegar de la vigencia de la crisis del software, aunque la disciplina todava no es madura
39

Tema 1. Ingeniera del Software. Estructura


1. 2. 3. 4. 5. 6. El software Factores de calidad del software Problemas en el desarrollo de software Ingeniera del software UML, Lenguaje Unificado de Modelado Responsabilidad tica y profesional en ingeniera del software

40

5. UML, Lenguaje unificado de modelado


A mediados de los noventa existan muchos mtodos de anlisis y diseo OO
Mismos conceptos con distinta notacin Mucha confusin Guerra de los mtodos

En 1994, Booch, Rumbaugh (OMT) y Jacobson (Objectory/OOSE) deciden unificar sus mtodos: Unified Modeling Language (UML) Proceso de estandarizacin promovido por el OMG (Object Managemente Group)
41

Cmo se cre UML

Extrado de Introduction to the Unified Modeling Language, Terry Quatrani, Staff, IBM, Software Group

42

El consorcio OMG
Atego CA Technologies CSC Eclipse Foundation Energistics ETRI Hewlett-Packard HSBC IBM Lockheed Martin Mayo Clinic Microsoft Corporation MITRE Model Driven Solutions No Magic, Inc. Objective Interface Systems Open Geospatial Consortium PrismTech Progress Software SELEX SI Software Centre of Excellence, Rolls-Royce Sparx Systems THALES The Open Group Unisys W3 Consortium
Fuente: Wikipedia

43

Las races tcnicas de UML


OMT 2- Object Modeling Technique (Rumbaugh et al.)
Especialmente bueno para anlisis de datos de sistemas de informacin Usa extensiones de los diagramas Entidad/Relacin (E/R)

Booch Method 94 (Booch)


Especialmente til para sistemas concurrentes y de tiempo real Fuerte relacin con lenguajes de programacin (Ada)

OOSE - Object-Oriented Software Engineering (Jacobson)


Desarrollo guiado por los casos de uso Buen soporte de ingeniera de requisitos e ingeniera de la informacin Modelado y simulacin de sistemas de telecomunicaciones

UML unifica estos y otros conceptos e introduce otros 44 nuevos

Evolucin de UML
Diciembre04- OMG adopta UML 2.0 Marzo03- OMG adopta UML 1.5

UML 2.0 UML 1.5

45

Ventajas de la unificacin
Reunir los puntos fuertes de cada mtodo Idear nuevas mejoras Proporcionar estabilidad al mercado
Proyectos basados en un lenguaje maduro Aparicin de potentes herramientas

Eliminar confusin en los usuarios (ingenieros)


46

Objetivos en el diseo de UML


Modelar sistemas, desde los requisitos hasta los artefactos ejecutables, utilizando tcnicas OO Cubrir las cuestiones relacionadas con el tamao propias de los sistemas complejos y crticos (escalabilidad) Lenguaje utilizable por las personas y las mquinas:
Encontrar equilibrio entre expresividad y simplicidad

47

UML y el modelado
UML es un lenguaje para visualizar, especificar, construir y documentar los artefactos (modelos) de un sistema que involucra una gran cantidad de software, desde una perspectiva OO

UML es una notacin, no un proceso Existen muchos procesos para UML, p.ej.
Proceso Unificado (Jacobson, Booch y Rumbaugh) RUP, Rational Unified Process
48

Por qu modelamos?
Un modelo es una simplificacin de la realidad Construimos modelos para comprender mejor el sistema que estamos desarrollando Cuatro utilidades de los modelos:
Visualizar cmo es o queremos que sea el sistema Especificar la estructura y comportamiento del sistema Proporcionan plantillas que guan la construccin del sistema Documentan las decisiones

Equivalen a los planos de un edificio

49

Por qu es usual que las empresas no hagan modelado?


Muchas empresas software realizan poco o ningn modelado El modelado requiere: Aplicar un proceso de desarrollo Formacin del equipo en la tcnicas Tiempo Herramientas

modelado o mejor escribimos cdigo directamente?

Se obtienen beneficios con el

50

Utilidad del modelado


Se facilita la comunicacin entre el equipo al existir un lenguaje comn Permite especificar todas las decisiones de anlisis, diseo e implementacin, construyndose modelos precisos, no ambiguos y completos Permite documentar los artefactos del desarrollo (requisitos, arquitectura, pruebas, etc.)

51

Utilidad del modelado (II)


Hay estructuras que trascienden lo representable en un lenguaje de programacin
Expresividad++ Comunicacin++

Se dispone de documentacin que trasciende al proyecto Puede conectarse a lenguajes de programacin:


Ingeniera directa e inversa Desarrollo dirigido por modelos (MDE, Model Driven Engineering)

52

Diagramas de UML
Diagramas de Casos de Uso Diagramas de Clases Diagramas de Objetos Diagramas de Interaccin Diagrama de Secuencia Diagrama de Colaboracin (Comunicacin en UML 2) Diagramas de Estados Diagramas de Actividades Diagramas de Componentes Diagramas de Despliegue Composite Structure Diagram (UML 2) Package Diagram (UML 2.0) Interaction Overview Diagram (UML 2) Timing Diagram (UML 2)
53

Diagramas de UML
Use Case Use Case Diagramas Diagrams de Diagrams Secuencia Use Case Use Case Diagramas Diagrams de Diagrams Casos de Uso State State Diagramas Diagrams de Diagrams Clases State State Diagramas Diagrams de Diagrams Objetos State State Diagramas Diagrams de Diagrams Componentes

Comportamiento

Estructural

Interaccin
Scenario Scenario Diagramas Diagrams de Diagrams Colaboracin

Modelo

Scenario Scenario Diagramas Diagrams de Diagrams Estados

Diagramas de Actividad

Component Component Diagrams Diagramas de Diagrams

Implementacin

Despliegue

54

Tema 1. Ingeniera del Software. Estructura


1. 2. 3. 4. 5. 6. El software Factores de calidad del software Problemas en el desarrollo de software Ingeniera del software UML, Lenguaje Unificado de Modelado Responsabilidad tica y profesional en ingeniera del software

55

6. Responsabilidad tica y profesional en ISW


(Sommerville 2004)

Est cobrando ms inters en los ltimos aos Los ingenieros de software tienen responsabilidades frente a la profesin y la sociedad Su responsabilidad no es exclusivamente tcnica Deben comportarse de forma tica y moralmente responsable si quieren ser respetados como profesionales Un ingeniero de software no debera comportarse de manera deshonesta o de una forma que perjudique a la profesin
56

Responsabilidad tica y profesional en ISW (II)


Hay reas donde el concepto de conducta aceptable no est limitada por la ley sino por la nocin ms tenue de responsabilidad Algunas de ellas son:
Confidencialidad. Se debera respetar la
confidencialidad de la empresa empleadora o de los clientes independientemente de que se haya firmado un contrato formal de confidencialidad Competencia. El ingeniero de software no debera aceptar conscientemente trabajo que est fuera de su competencia
57

profesional

Responsabilidad tica y profesional en ISW (III)


Derechos de la propiedad intelectual. El ingeniero de
software debera conocer las leyes que gobiernan la propiedad intelectual, como patentes y derechos de autor, y debera proteger la propiedad intelectual de clientes y empleadores Mal uso del ordenador. El ingeniero de software no debera usar sus conocimientos tcnicos para utilizar de forma incorrecta los ordenadores de otras personas. El mal uso va desde lo relativamente trivial (usar el ordenador de la empresa para jugar, p.ej.) hasta lo extremadamente serio (diseminacin de virus)
58

Responsabilidad tica y profesional en ISW (IV)


ACM (Association for Computer Machinery) e IEEE (Institute of Electrical and Electronic Engineers) publicaron en 1999 un cdigo conjunto de tica y conducta profesional, que establece los estndares de conducta esperados de sus miembros
http://www.acm.org/serving/se/code_s.html

Es preciso aceptar dicho cdigo para poder ser miembro de estas organizaciones
El Octavo Principio establece como obligacin el aprendizaje continuo a travs de toda la vida profesional
59

Responsabilidad tica y profesional en ISW (V)


VERSIN CORTA (http://www.acm.org/serving/se/code_s.html) Los ingenieros de software debern comprometerse a convertir el anlisis, especificacin, diseo, implementacin, pruebas y mantenimiento de software en una profesin respetada y benfica. De acuerdo a su compromiso con la salud, seguridad y bienestar social, los ingenieros de software debern sujetarse a los ocho principios siguientes:
Sociedad. Los ingenieros de software actuarn en forma congruente con el inters social. Cliente y empresario. Los ingenieros de software actuarn de manera que se concilien los mejores intereses de sus clientes y empresarios, congruentemente con el inters social. Producto. Los ingenieros de software asegurarn que sus productos y modificaciones correspondientes cumplen los estndares profesionales ms altos posibles. Juicio. Los ingenieros de software mantendrn integridad e independencia en su juicio profesional. Administracin. Los ingenieros de software gerentes y lderes promovern y se suscribirn a un enfoque tico en la administracin del desarrollo y mantenimiento de software. Profesin. Los ingenieros de software incrementarn la integridad y reputacin de la profesin congruentemente con el inters social. Colegas. Los ingenieros de software apoyarn y sern justos con sus colegas. Personal. Los ingenieros de software participarn toda su vida en el aprendizaje relacionado con la prctica de su profesin y promovern un enfoque tico en la prctica de la profesin. 60

Potrebbero piacerti anche