La ingeniería del software en España: retos y oportunidades
-
Upload
antonio-vallecillo -
Category
Software
-
view
94 -
download
2
Transcript of La ingeniería del software en España: retos y oportunidades
La Ingenieríadel Software: Retos y Oportunidades
Antonio VallecilloUniversidad de Málaga
Murcia, Feb. 2016
1
[C. Ebert, C. Jones “Embedded Software: Facts, Figures and Future”. IEEE Computer, 2009]
El software juega ya un papel clave en casi todas las aplicaciones críticas…
2
Software, Software, Software…
Google, Yahoo! y hotmail cuentan con decenas de miles de servidores cada uno, de diferentes clases
Si tienes 1 máquina, suele durar 3 años (~1.000 días) Si tienes 10.000 máquinas, pierdes 10 al día Las máquinas más fiables se rompen menos, pero también se
rompen (a menudo…)
La fiabilidad ha de venir del software!
“Underneath the Covers at Google: Current Systems and Future Directions” Jeff Dean (Google) 2008https://sites.google.com/site/io/underneath-the-covers-at-google-current-systems-and-future-directions 3
4
Enter your subheadline here
Unprecedent choice...
5
Enter your subheadline here
6
VOLATILIDAD?
RETORNO DE LA INVERSIÓN?
COMPATIBILIDAD E INTEROPERABILIDAD?
CURVA DE APRENDIZAJE?
?
Algunos problemas…
Wildly inventive...
8
Lenguajes usados en un mismo proyectoSistema Núm. Tipos de Lenguajes
PHP-based 3+ PHP, javaScript,…
MDD systems 8+ Metamodeling, transformations, codegeneration, model validation,…
X-Cart (x-cart.com) 10+ GPL, XML-based, config files, propertyfiles, scripts,..
Magento (magentocommerce.com) 10+ GPL, XML-based, config files, propertyfiles, scripts,..
Adempierre (adempierre.com) 19+ GPL, XML-based, config files, propertyfiles, scripts,..
OFBiz (ofbiz.apache.org) 30+ GPL, XML-based, config files, propertyfiles, scripts,..
R.H. Pfeiffer, A. Wasowski: “TexMO: A Multilanguage development Environment”. In Proc. of ECMFA 2012, LNCS 7349, Springer, 2012 9
http://techcrunch.com/2012/05/11/this-is-what-developing-for-android-looks-like/
10
Diseño de una aplicación real
11
La curva de fallos del HARDWARE
Fallos de juventudÍndice de
Fallos
Tiempo
Desgaste
12
La curva de fallos del SOFTWARE
Curva ideal
Índice de
Fallos
Curva real
cambio
Incremento del
índice de fallos
por efectos laterales
Tiempo13
La gestión de los proyectos software...
…actualmente sólo un 12% de los proyectos de software se terminan en el tiempo previsto y con
el coste estimado.
…frente al 78% de los proyectos realizados en el
seno de ingenierías tradicionales, que lo hicieron en tiempo y
presupuesto.
Curiosamente, el 90% de los proyectos de software que
acabaron en tiempo y presupuesto usaron métodos
y herramientas de Ingeniería del Software.
12% 78% 90%
14
LA CRISIS DEL SOFTWAREParece que la inventiva, la falta de procesos explícitos y de métodos de ingeniería a la hora de abordar proyectos complejos empieza a pasar factura...
PROYECTOS QUE CUESTAN MÁS DEL DOBLEDE LO ESTIMADO
No se sabe estimar con precision lo que cuesta un Proyecto Software.
APLICACIONES QUE NO CUMPLEN LOS REQUISITOS DEL CLIENTE¿Cómo se capturan y gestionan esos requisitos?
APLICACIONES MUY INEFICIENTESNo se han simulado ni estimado su comportamiento.
PROYECTOS QUE TARDAN MÁS DE 10 VECES DE LO QUE SE PENSABA
No se sabe estimar con precision la duración de un Proyecto Software.
El 10% de los Proyectos Software fracasa completamente
LA CRISIS DE LA PROFESIÓN
Cualquier científico o ingeniero sabe programar…
¿Pero basta con eso para construir aplicaciones software?
La Sociedad ni reconoce ni demanda INGENIEROS de SOFTWARE para
construir aplicaciones…
¿Permitirías que te operara una persona que no fuera médico, o que te defendiera una persona que no fuera abogado?
¿Qué pasaría si un ingeniero civil pretendiese construir un puente pero no fuera capaz de estimar lo que tardará, cuanto costará, o el peso que podrá sostener finalmente?
¿Qué pasaría si un arquitecto pretendiese construir una casa sin hacer sus planos, proyectos o maquetas, o sin un plan que permita determinar con exactitud los costes y tiempos?
Algunas preguntas…
¿Permitirías que tu propio cirujano te interviniera sin hacer los estudios respectivos para obtener las evidencias del problema de salud que tienes?
17
LA INGENIERÍA DEL SOFTWARE
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches (IEEE 610.12)
Software Engineering
Requirements
Design
Cons truction
Testing
Maintenance
Config. Mngt
Managenent
Processes
Tools &Methods
Quality
Profession
Body of Knowledge: www.swebok.org (IEEE CS)
CertificaciónPráctica industrial Normalización
Docencia InvestigaciónAcreditación
El estado de la Ingeniería del software en España
19
La docencia en Ingeniería de Software20
La mayoría de los estudios en informática incorporan introducciones a la Ingeniería del Software en los primeros cursos, y algunas materias propias de IS (gestión de proyectos, mantenimiento y pruebas, calidad, etc.).
Esto terminará consiguiendo que en 10 – 15 años su implantación en las empresas sea incuestionable y efectivo.
Suele usarse el SWEBOK como referencia para el diseño de los planes de estudio.
Actualmente se ofrecen 7 Grados y 13 Másteres específicos sobre Ingeniería del Software, en 17 universidades españolas. https://www.educacion.gob.es/ruct/
La docencia en Ingeniería de Software (PROS)
21
No se cubren todos los temas, especialmente los relativos a la profesión (código ético, temas legales, certificación y acreditación, normalización,…)
Sería necesario complementar los estudios universitarios con certificaciones profesionales que aporten más valor a los estudios
Falta una relación más estrecha entre las Universidades y las empresas (prácticas, desarrollos conjuntos de TFG y TFM, tesis en empresas,…)
Falta profesorado universitario con falta de experiencia real en proyectos empresariales y/o industriales
La docencia en Ingeniería de Software (CONS)
22
Sería interesante una mayor influencia del tejido industrial en los programas universitarios (asignaturas optativas, seminarios, titulaciones propias, etc.)
La Práctica industrial en ingeniería del software
Todavía existen muchas empresas que distan mucho de gestionar el desarrollo de software de una forma sistemática, disciplinada, predecible y cuantificable
El número de empresas certificadas en niveles 3, 4 o 5 de es de 70 en toda España, de las cuales 60 tienen certificado el nivel 3 y sólo 10 el nivel 5
A nivel internacional las empresas españolas certificadas CMMI suponen menos del 3% de las empresas certificadas CMMI en todo el mundo
Ya nadie cuestiona la necesidad de utilizar métodos y prácticas de Ingeniería del Software. Las empresas han visto que no es posible realizarlo sin un enfoque de verdadera ingeniería, y que los resultados merecen la pena
24
La Práctica industrial en ingeniería del software
25
Los clientes no demandan todavía la adopción de prácticas de Ingeniería del Software, o al menos la presión sobre los fabricantes de software no es suficiente
Rechazo industrial: industria cansada de las maravillas de los nuevos métodos, tecnologías, herramientas y lenguajes que luego no han funcionado bien sino todo lo contrario
La creciente complejidad de los requisitos y la rápida evolución de las tecnologías hacen que la inversión necesaria para mantenerse siempre actualizado sea alta (¿ROI?)
Muchas herramientas y métodos de Ingeniería del Software aún no están lo suficientemente maduros como para ser implantados en las empresas. Lenta transferencia de tecnología
Factores que limitaN la adopción de prácticas de IS
Normalización en Ingeniería del Software
26
ISO/IEC/IEEE 23026:2015
ISO/IEC/IEEE 23026:2015 Systems and software engineering -- Engineering and management of websites for systems, software, and services information
Abstract
ISO/IEC/IEEE 23026:2015 defines system engineering and management requirements for the life cycle of websites, including strategy, design, engineering, testing and validation, and management and sustainment for Intranet and Extranet environments.
27
ISO/IEC 23026:2006
ISO/IEC 23026:2006: Software Engineering -- Recommended Practice for the Internet -- Web Site Engineering, Web Site Management, and Web Site Life Cycle
Abstract
ISO/IEC 23026:2006 defines recommended practices for World Wide Web page engineering for Intranet and Extranet environments, based on World Wide Web Consortium (W3C®) and related industry guidelines.
28
Topics about standards
29
Does he looks like needing standards?
Cliches about standards
[Inspired by B.C. Pierce’s slides “Types considered harmful”, 2008 http://www.cis.upenn.edu/~bcpierce/papers/harmful-mfps.pdf]
Topics about standards
30
Does he?
Cliches about standards
Topics about standards
31
Cliches about standarDs
Does he?
Topics about standards
32
We do not need standards for developing our products, they are for our internal use only
Cliches about standarDs
Topics about standards
33
Cliches about standarDsStandards do not apply to our
development processes. Our in-house ones are much better and also tuned to
our particular characteristics.
Topics about standards
34
Don’t waste your time with standards.You do not even need to invent new ones.
Start coding now!
Cliches about standarDs
Topics about standards
35
Cliches about standarDsThere are no standards for
Software Engineering Products and Processes
Topics about standards
36
Cliches about standarDsStandards kill innovation!
Can you do this without international standards?
Topics about standards
37
Cliches about standarDs
“An established norm or requirement about technical systems”
• International standard, una norma de aplicación en todo el mundo
• Open standard, una norma que está disponible de forma abierta
• De facto standard, product or system with market dominance
• Internet standard, una especificación ratificada como “open standard” por el Internet Engineering Task Force
Las normas permiten ordenar el mercado , garantizar la compatibilidad y la interoperabilidad, facilitar la reutilización y asegurar la inversión
Standard
38
standarD
“Entidades cuya misión principal es el desarrollo y mantenimiento de normas”• Suelen ser entidades independientes y cuyo negocio es la normalización
Relacionadas con la Ingeniería del Software:• International Organization for Standardization (ISO)
• International Electrotechnical Commission (IEC)
• International Telecommunication Union (ITU)
• Internet Engineering Task Force (IETF)
• World Wide Web Consortium (W3C)
• IEEE (Computer Society, Standards Association)
• Object Management Group (OMG)
Organizaciones de normalización regionales (Europa)• European Committee for Standardization (CEN), European Committee for Electrotechnical
Standardization (CENELEC), European Telecommunications Standards Institute (ETSI)
En España tenemos a AENOR
Standardization Organizations
39
standarDAIZATION organizations
No se suelen enseñar en las titulaciones universitarias de informática, o incluso se enseñan con cierto desdén.
En los temas de tecnología, es preciso mantener un equilibrio entre la velocidad de aparición de nuevas tecnologías, su vida útil, y la creación de normas.
Las normas internacionales se usan poco en la industria (sobre todo en las empresas pequeñas, que son las que mueven el 60% del desarrollo de software para PYMES)
Sin embargo…
Muchas normas están creadas por comités, pero no recogen prácticas industriales consensuadas realmente.
40
Certificación y acreditación
Certificación: “Reconocer y hacer constar la conformidad con respecto a una norma”. Da lugar a un certificado.
• Productos y Aplicaciones
• Procesos
• Profesionales
Acreditación: “Reconocer y hacer constar la competencia técnica de una organización, empresa o laboratorio para la realización de determinadas actividades de evaluación de la conformidad”.
• Se asegura la fiabilidad de los resultados y los certificados emitidos
Standardization Organizations
42
Certificación y acreditación
La Certificación de productos y aplicaciones software está aún en pañales• ¿Qué normas existen? ¿Qué organizaciones certifican productos?
La Certificación de Procesos comienza a estar más extendida• CMMI, ITIL, … Existen empresas y organizaciones certificadoras
La Certificación de Profesionales está aún en discusión• Contamos con el SWEBOK
• IEEE, BSI y otras están a favor, pero ACM absolutamente en contra
• En España tenemos además la peculiaridad de los Colegios Profesionales
• La sociedad reconoce certificaciones concretas (CISSP, SAP, PMP, MSCD, CCNA, …) pero no más genéricas como Ingeniero Informático o Ingeniero de Software
• La Informática no tiene competencias profesionales
Standardization Organizations
43
Certificación y acreditación
En España es ENAC el organismo encargado de las actividadesde acreditación, reconociendo la competencia técnica de aquellos laboratorios y centros que realizan actividades de certificación y/o análisis.
Existe una norma general de referencia: ISO/IEC 17025
Comienzan a aparecer Laboratorios de Evaluación de la Calidad de Software acreditados por ENAC
Esencial para:• Mejorar la calidad de los productos
• Aumentar la confianza de nuestros usuarios y de la sociedad en general en la Ingeniería del Software
• Incrementar nuestra credibilidad
Standardization Organizations
44
acreditación
La Profesión de Ingeniero de Software
La Sociedad no reconoce la Informática como profesión
Los Informáticos no se reconocen a ellos mismos como profesión
Profesión: Empleo, facultad u oficio que alguien ejerce y por el que percibe una retribución• Cuerpo de conocimiento
• Normalización (calidad)
• Código ético, deontológico y/o de buenas prácticas
• Responsabilidad civil
• Campo de aplicación concreto y con experiencia
• Competencias profesionales y Regulación
• (Colegio o Asociación Profesional)
Standardization Organizations
46
La profesión
http://www.cepis.org/
Un Código Ético: constituye una declaración expresa de los valores y principios que deben guiar la conducta de todos los profesionales que integran y colaboran con una Asociación para el desarrollo responsable de su actividad profesional, tanto en sus relaciones con sus empleadores, empleados, clientes, proveedores, instituciones públicas y privadas, colaboradores externos y la sociedad en general
Implica que un profesional, en este caso un técnico, no es solo responsable de los aspectos técnicos del producto, sino también de sus consecuencias económicas, sociológicas y culturales
Dan una identidad a los informáticos, es símbolo de sus estatus profesional y parte de su definición como profesionales. Aumenta la reputación de los profesionales y la confianza del público
Aspectos éticos a considerar dentro de la Ingeniería de Software• Mal uso del software o de los ordenadores
• Confidencialidad y Competencia
• Derechos de propiedad intelectual
• Protección de los clientes, empleadores, compañeros y subordinados
http://www.sistedes.es/informes-recursos/codigo-etico-y-practicas-profesionales
Standardization Organizations
47
Código ético
48
La investigación en Ingeniería del Sofware
España está entre los primeros países en número de publicaciones en Ingeniería de Software• USA, China, UK, Alemania, Japón, Francia, Canada, Italia, India y España.
España es la primera entre todos los países UE, más Noruega y Suiza, en crecimiento de publicación de artículos en Ingeniería de Software.
Haciendo una regresión entre el producto interior bruto y las publicaciones en IS (a modo de estimación del coste de publicación por inversión) los países por encima de la línea son: Canadá, España y China. [Novatica, Abril 2012]
Standardization Organizations
49
La Investigación
Standardization Organizations
50
La Investigación
http://www.scimagojr.com/countryrank.php
Standardization Organizations
51
La Investigación
http://www.scimagojr.com/countryrank.php
Year Production Cites H-index Year Production Cites H-index Year Production Cites H-index
1996-2014 10 11 12 1996-2014 11 11 13 1996-2014 12 11 14
2014 10 10 12 2014 11 7 13 2014 11 4 14
2013 10 10 12 2013 8 7 14 2013 10 8 14
2012 10 10 12 2012 10 8 14 2012 9 7 14
2011 10 10 12 2011 11 8 14 2011 8 7 14
2010 10 10 12 2010 11 8 14 2010 10 7 14
2009 10 10 12 2009 10 7 14 2009 12 8 14
2008 9 10 12 2008 11 10 14 2008 11 11 14
2007 9 11 12 2007 11 10 14 2007 12 11 14
2006 9 11 12 2006 10 9 14 2006 11 10 14
2005 9 11 12 2005 10 9 14 2005 12 14 14
2004 9 11 12 2004 10 13 14 2004 12 12 14
2003 9 11 12 2003 10 9 14 2003 11 12 14
2002 10 10 12 2002 12 13 14 2002 11 15 14
2001 10 10 12 2001 13 15 14 2001 12 14 14
2000 10 10 12 2000 12 16 14 2000 12 14 14
1999 10 10 12 1999 13 17 14 1999 12 19 14
1998 10 12 12 1998 15 15 14 1998 15 16 14
1997 10 12 12 1997 16 15 14 1997 12 11 14
1996 10 12 12 1996 15 19 14 1996 16 19 14
All Scientific Areas Computer Science (All Areas) Computer Science (Software)
Standardization Organizations
52
La Investigación
34 grupos fuertes que investigan y desarrollan aplicaciones usando técnicas de Ingeniería del Software
Amplia cobertura del territorio español, con nodos en casi todas las Escuelas de Ingeniería Informática
Sistedes es la Asociacion Española en Ingeniería de Software y Tecnologías de Desarrollo de Software www.sistedes.es
JISBD son las Jornadas nacionales de Ingeniería del Software y Bases de Datos
Standardization Organizations
53
La Investigación En ESPAÑA
CONCLUSIONES
54
Definir y aclarar a la Sociedad (y a nosotros mismos) lo que es la profesión de Ingeniero de Software
Usar normas internacionales de referencia en todos los ámbitos
Contar con esquemas de certificación de Productos, Procesos, Servicios y Profesionales comúnmente aceptados
Contar con centros y laboratorios acreditados para emitir tales certificados de conformidad, que aseguren el cumplimiento de los requisitos de calidad establecidos por normas internacionales
Mejorar nuestra cualificación como ingenieros de software (cambio en la docencia universitaria)
Buscar vías de colaboración universidad-empresa-administraciones
Standardization Organizations
55
TEMAS prioritarios (vision personal)
Gracias porSu atención
Antonio Vallecillo
Universidad de MálagaETSI Informática29071 Málaga. Spain
www.lcc.uma.es/~av
www.sistedes.es