1

SOFTWARE ENGINEERING I
Conceptos, Objetivos y Principios

Ing. Fausto Redrován - 2017

2 Contenido

 Encuadre de la asignatura
 EVA
 Contraseña de matrícula: isI2017-# (# es el número de grupo)
 Evaluación de diagnóstico
 ¿Qué es Ingeniería de Software?
 Relación entre la Ingeniería de Software y los Sistemas de Información
 Cuerpos de conocimiento
 Objetivos de la Ingeniería de Software
 Principios de la Ingeniería de Software
 Taller: Lectura y discusión de artículo

Ing. Fausto Redrován - 2017

3 Ingeniería

Conjunto de conocimientos y técnicas
aplicadas al desarrollo, implementación,
mantenimiento y perfeccionamiento de
estructuras (tanto físicas como teóricas) para la
resolución de problemas que afectan la
actividad cotidiana de la sociedad.

Ing. Fausto Redrován - 2017

4 ¿Qué es la Ingeniería de Software?

“La aplicación de un enfoque
sistemático, disciplinado y cuantificable
al desarrollo, operación y
mantenimiento de software; es decir, la
aplicación de la ingeniería al software”
(ISO/IEC/IEEE Systems and Software
Engineering Vocabulary - SEVOCAB)
Ing. Fausto Redrován - 2017

diseño. modelos. etc. las personas y la organización  Ingeniería de software:  Se enfoca en el desarrollo del software (técnicas. Fausto Redrován .2017 . mantenimiento Ing. construcción.5 Relación entre los Sistemas de Información y la Ingeniería de Software  Sistemas de Información:  Se enfocan en el uso de sistemas de software para apoyar el funcionamiento de las organizaciones (administración del día a día: ventas. compras. herramientas)  Desarrollo: especificación.)  Consideran la interacción entre la tecnología. planeamiento.

Ing. Fausto Redrován . los sistemas de software son a menudo sistemas de información.6 Relación entre los Sistemas de Información y la Ingeniería de Software Los sistemas de información están basados en software.2017 .

2017 . Fausto Redrován .7 Cuerpos del conocimiento Ing.

Fausto Redrován .8 SWEBOK  SWEBOK (Software Engineering Body of Knowledge)  Constituye una valiosa caracterización de la profesión de la Ingeniería de Software.computer.2017 .  Versión actual: V3.2014  15 áreas del conocimiento (KA – Knowledge Areas)  1 apéndice de estándares  http://www.0 .org/web/swebok/v3-guide Ing.

2017 .Sw eng professional practice  12.Sw eng economics  13-15 Computing.Software maintenance  6.Sw eng management  8.Software testing  5. mathematical and engineering foundations Ing.Software construction  4.Software quality  11.Sw eng process  9.Software requirements  2.Software configuration management  7.Software design  3.Sw eng models and methods  10.9 SWEBOK 15 áreas (335 páginas)  1. Fausto Redrován .

2017 . Fausto Redrován .10 Enciclopedia de la Ingeniería de Software Colección de artículos SWEBOK Ética Certificaciones de profesionales Educación en Ingeniería de Software Ing.

11 Profesión de Ingeniería de Software Universidades Grado Posgrado Doctorado Ing.2017 . Fausto Redrován .

Se debe construir software tal como se hacen los productos tangibles.: obras civiles: puentes. Ej. Ing. Idea: El desarrollo de software no es un arte o una bolsa de trucos. Fausto Redrován .2017 .12 El comienzo de la Ingeniería de Software 1968/69 : Introducción del término Ingeniería de Software. etc. edificios.

13 Trabajo artesanal Ing. Fausto Redrován .2017 .

14 Ingeniería Ing.2017 . Fausto Redrován .

2017 .  Pérdida de £ 100k para pequeños comerciantes. Fausto Redrován .  Knight Capital Group:  Agosto/2012  Algoritmo de negociación de acciones decidió comprar caro y vender barato.  Pérdida de $440 millones en 30 minutos Ing. Amazon mostró precios de productos a 1 centavo.15 Problemas  Desastres informáticos  Amazon:  En el conocido Black Friday del 2014.

 Estimar con mayor exactitud los costos y tiempo para desarrollar aplicaciones.  Fomentar la organización de equipos de trabajo para desarrollar y mantener sistemas de software. Ing.  Asegurar la calidad de las aplicaciones.2017 .16 Objetivos de la Ingeniería de Software  Mejorar el diseño de aplicaciones para adaptarlas a las necesidades de las organizaciones. Fausto Redrován .

2017 . Fausto Redrován .17 Objetivo 1 MEJORAR EL DISEÑO DE APLICACIONES PARA ADAPTARLAS A LAS NECESIDADES DE LAS ORGANIZACIONES Ing.

18 Aplicaciones que cumplen las necesidades de las organizaciones On the success side. many are no more than a mere shadow of their original specification requirements.2% for software projects that are completed on. Fausto Redrován . In the larger companies. even when these projects are completed.time and on-budget. Projects completed by the largest American companies have only approximately 42% of the originally-proposed features and functions.4% of their software projects will get deployed with at least 74. Smaller companies do much better. the average is only 16.2% of their original features and functions Ing.2017 . And. A total of 78. the news is even worse: only 9% of their projects come in on-time and on-budget.

and in fact.2017 . The Standish Group Report – Chaos Manifesto .2014 Ing. The good news is that over 50% feel there are fewer or the same number of failures today than there were five and ten years ago.19 Aplicaciones que cumplen las necesidades de las organizaciones This data may seem disheartening. 48% of the IT executives in our research sample feel that there are more failures currently than just five years ago. Fausto Redrován .

20 Aplicaciones que cumplen las necesidades de las organizaciones The Standish Group Report – Chaos Manifesto .2017 . Fausto Redrován .2013 Ing.

21 ¿Cuáles son las causas de las fallas en los proyectos? ? Ing. Fausto Redrován .2017 .

Procesos que son inflexibles al cambio. Ing.2017 . Fausto Redrován . Falta de lenguaje y procesos comunes. Fallas para comunicarse y actuar como equipo (clientes-proveedor de solución).22 ¿Cuáles son las causas de las fallas en los proyectos? Existe una separación entre la meta del proyecto y el producto que se desarrolla.

2017 .23 Factores de éxito Ing. Fausto Redrován .

2017 . Fausto Redrován .24 Factores que complican el éxito Ing.

25 Factores para el fracaso Ing. Fausto Redrován .2017 .

Fausto Redrován .26 Objetivo 2 ASEGURAR LA CALIDAD DE LAS APLICACIONES Ing.2017 .

27 Asegurar la calidad Verificar y validar Garantizar que el cliente reciba el producto que necesita (funcionalidad esperada y libre de errores).2017 . Fausto Redrován . Conjunto de pruebas Debemos evitar que los defectos sean encontrados en producción Ing.

2017 . Fausto Redrován .28 El costo de arreglar bugs se incrementa con el pasar del tiempo Ing.

Fausto Redrován .29 Objetivo 3 ESTIMAR CON MAYOR EXACTITUD LOS COSTOS Y TIEMPO PARA DESARROLLAR APLICACIONES Ing.2017 .

Fausto Redrován .2017 .30 Mejorar nuestras estimaciones Medir desde el inicio del proyecto Tamaño Tiempo Defectos Etc Tener un repositorio de datos de los proyectos Conocer todos los costos asociados Ing.

31 Ing. Fausto Redrován .2017 .

32 Objetivo 4 FOMENTAR LA ORGANIZACIÓN DE EQUIPOS DE TRABAJO PARA DESARROLLAR Y MANTENER SISTEMAS DE SOFTWARE Ing. Fausto Redrován .2017 .

33 Equipos de trabajo El desarrollo de software es una actividad colaborativa Cliente (el que paga) Ventas/Marketing Administrador del producto Administrador del proyecto Equipo de desarrollo Ing.2017 . Fausto Redrován .

Principios de la Ingeniería de 34 Software Ing.2017 . Fausto Redrován .

2017 . Fausto Redrován .35 Principios de la Ingeniería de Software Principio: Ley que se cumple o debe seguirse con el fin de lograr cierto propósito Ing.

(Kenza Meridji.  Grow systems incrementally (define software artifacts rigorously. fix specifications).  Implement a disciplined approach and improve it continuously.  Plan for change and manage it (design for maintenance).2017 .  Apply and use quantitative measurements in decision making. Alain Abran.  Quality is the top priority (write programs for people first).  Build with and for reuse. Fausto Redrován . produce software in a stepwise fashion). determine requirements. 2010) Ing.36 Principios de la Ingeniería de Software  Invest in understanding the problem (involve the customer.

Fausto Redrován .37 4 P’s de la Ingeniería de Software Personas Producto Proceso Proyecto Ing.2017 .

2017 .38 4 P’s de la Ingeniería de Software Personas  ¿? Producto  ¿? Proceso  ¿? Proyecto  ¿? Ing. Fausto Redrován .

39 Taller: Lectura Artículo: Software Product Management Lectura (20´) Preguntas guía Discusión en grupos (20`) Ing. Fausto Redrován .2017 .

Cuales son las responsabilidades de un administrador de productos de software?  4. Cuáles son los 4 factores de éxito a considerar por los administradores de productos? Ing. Fausto Redrován . Cuáles son las consecuencias de una pobre administración de productos de software?  2.40 Artículo – “Software Product Management” Preguntas guía  1. Qué problemas se pueden presentar cuando un técnico es designado como administrador del producto?  5.2017 . En qué consiste un desarrollo exitoso de un producto de software?  3. Cuáles son las 10 prácticas aplicables a un administrador de productos?  6.

Por ejemplo.41 Tipos de producto de software  Aplicaciones stand-alone: aplicaciones que corren en una computadora local tal como una PC. aplicaciones de oficina. programas CAD.  Aplicaciones basadas en transacciones interactivas: aplicaciones que son ejecutadas en un computador remoto y los usuarios acceden a ellas desde sus propias PCs o terminales. No necesitan estar conectadas a una red. software de edición de imágenes. Por ejemplo: sistemas de información. Fausto Redrován . Ing. aplicaciones Web.2017 .

2017 . etc. Ing. microondas. Por ejemplo: software para teléfonos celulares. Sistemas de procesamiento por lotes: sistemas diseñados para procesar datos en grandes volúmenes. Por ejemplo: sistemas de facturación. anti-bloqueo de frenos.42 Tipos de aplicaciones Sistemas de controles embebidos: sistemas que controlan y manejan dispositivos de hardware. Fausto Redrován .

2017 . Ing.  Sistemas para modelamiento y simulación: sistemas para científicos e ingenieros para modelar procesos físicos o experimentos.  Sistemas de recolección de datos: colectan datos desde su entorno por medio de un conjunto de sensores y usualmente se conectan dentro de maquinarias o en ubicaciones remotas. Fausto Redrován .43 Tipos de aplicaciones  Sistemas de entretenimiento: sistemas principalmente de uso personal y orientados a entretener al usuario. Usualmente requieren altos niveles de desempeño.

Fausto Redrován .44 Organizaciones internacionales IEEE (Instituto de ingenieros eléctricos y electrónicos) ACM (Association for Computing Machinery ) SEI (Software Engineering Institute –Carnegie Mellon University) European Software Institute BSA (Business Software Alliance) Ing.2017 .