Jun-16Ing. de SoftwareQué es la Ing. de Sw - 1 Qué es la Ingeniería de Software Surgimiento Definiciones Solución de Problemas Relación con otras disciplinas.

1 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 1 Qué es l...
Author: Concepción Belmonte del Río
0 downloads 0 Views

1 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 1 Qué es la Ingeniería de Software Surgimiento Definiciones Solución de Problemas Relación con otras disciplinas El Software en la sociedad actual Ética y Responsabilidad Calidad del Software Participantes en el Desarrollo Ingeniería de Software e Ingeniería de Sistemas Cambios y Tendencias

2 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 2 Surgimiento En los comienzos:  el programador era el usuario  los problemas a resolver bien conocidos y simples Desarrollo de las computadoras:  aparece la figura del programador especializado  la mayor potencia de los equipos permite atacar problemas más complejos  Se habla de la “Crisis del Software” El término Ing. de Software aparece por 1ra. vez en 1968

3 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 3 Definiciones Software: Programas de computador, procedimientos, y la documentación y los datos posiblemente asociados relacionados con la operación de un sistema de computador - IEEE 90....(el ingeniero) aplica el método y enfoque científico a la solución de problemas... Ingeniería de Software:(1)aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software, esto es, la aplicación de la ingeniería al software - (2)El estudio de enfoques como en (1) - IEEE 90.

4 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 4 Solución de Problemas Solucionar un problema complejo  Análisis (en subproblemas más simples)  Síntesis de una solución al problema a partir de las soluciones a los subproblemas Recurriendo a:  Técnicas, Métodos  Herramientas (mejorar resultado o eficiencia)  Procedimientos (combinan métodos y herramientas)  Paradigmas (“estilo” de la solución)

5 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 5 Definiciones Técnica  Procedimiento técnico para construir o evaluar software que requiere habilidades y produce un resultado técnico, p.e. probar, codificar, etc. Método  Es un procedimiento para gestionar la aplicación de técnicas de software (cuándo y cómo aplicar, cuándo comenzar y terminar, qué técnica es apropiada, cómo evaluarla), p.e. plan de prueba, recopilar requerimientos Herramienta  Producto de software que facilita la ejecución de una técnica o método Procedimiento  Combinación de métodos, técnicas y herramientas Paradigma  Filtro conceptual que determina cómo percibimos/interpretamos

6 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 6 Relación con otras disciplinas Ciencias de la Computación aporta:  Teorías  Funciones de Computadoras Cliente trae:  Problema Ingeniería de Software (2) desarrolla:  Métodos,Herramientas, Procedimientos, Paradigmas para resolver problemas Ingeniería de Software (1) resuelve problemas

7 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 7 Ciencias de la Computación Ingeniería de Software (2) Cliente Teorías Herramientas y Técnicas para resolver problemas Problema Funciones de las Computa- doras Ingeniería de Software (1) Solución

8 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 8 Relación con otras disciplinas Programación -Programa-Producto-Sistema Ingeniería: “Construcción de artefactos cumpliendo con restricciones”  Arte más que Ciencia (hacer más que saber)  Plazo, Costo, Calidad, Otras Administración  Proyectos, Recursos Humanos Un programaUn sistema de programas Un producto de softwareUn producto sistema de programas x3 Multiplicación de esfuerzo

9 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 9 Software en la Sociedad Actual ¿Dónde no está presente?  Energía  Comunicaciones  Automóviles  Electrodomésticos  Equipos médicos ... ¿ Crisis del Software?

10 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 10 Etica y Responsabilidad Repercusiones de fallas en el software:  pérdidas financieras  riesgo a la seguridad ... Más allá de las fallas:  Impacto social  Calidad de vida  Cuestiones legales

11 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 11 Ing. de SW ¿una profesión? SWEBOK – IEEE 2004  Software Engineering Body of Knowledge  (Cuerpo de Ingeniería del conocimiento de Software) Código de Ética – ACM (Association for Computing Machinery) – IEEE-CSAssociation for Computing Machinery  En su versión corta establece…

12 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 12 Los ingenieros de software… actuarán en forma congruente con el interés social actuarán de manera que se concilien los mejores intereses de sus clientes y empresarios, congruentemente con el interés social asegurarán que sus productos y modificaciones correspondientes cumplen los estándares profesionales más altos posibles mantendrán integridad e independencia en su juicio profesional gerentes y líderes promoverán y se suscribirán a un enfoque ético en la administración del desarrollo y mantenimiento de software incrementarán la integridad y reputación de la profesión congruentemente con el interés social apoyarán y serán justos con sus colegas participarán toda su vida en el aprendizaje relacionado con la práctica de su profesión y promoverán un enfoque ético en la práctica de la profesión

13 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 13 Calidad Problemas:  Plazo  Costo respecto a presupuesto  Utilidad  Requerimientos oscuros o cambiantes  Fallas  Rigidez  Alto costo de mantenimiento  Riesgos

14 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 14 ?! un error humano una falta (interna) una falla (externa) puede generarque puede generar Calidad (falta-falla)

15 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 15 Calidad - Visiones ¿Qué es la Calidad? Visión:  Trascendente -se reconoce pero no se puede definir  del Usuario - adecuación al uso  del Productor- adecuación a las especificaciones  del Producto - características específicas  comportamiento externo (visible para todos)  características internas (normalmente sólo visibles al productor)  basada en el Valor - cuánto estaría dispuesto a pagar

16 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 16 Calidad - Visiones(2) Usuario:  satisfacer necesidades/expectativas (utilidad,tiempo de respuesta)  esfuerzo necesario (facilidades de aprendizaje y uso)  sin inconvenientes (frecuencia e impacto de fallas) Implementador:  cantidad y tipo de faltas  facilidad de entender  bajo impacto de las modificaciones

17 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 17 ExactitudConfiabilidadEficienciaIntegridadUsabilidadMantebilidadPruebasFlexibilidadPortabilidadReusabilidadInteroperatividad completo Trazabilidad Consistency precisión Tolerancia a errores Ejecución eficiente Almacen eficiente Control de acceso Access audit Operability Training comunicabilidad Simplicity concisión Instrumentation Auto-descriptivo Expandability Generality Modularity Software system independence Machine independence comunalidad Comunicaciones Concordancia de datos

18 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 18 Calidad - Visiones (4) según la visibilidad:  factores externos (visibles a todos)  factores internos (visibles a los implementadores) atinentes al:  Producto (una vez que el producto ya existe)  Proceso de Producción (mientras se produce) Qué relación habrá entre  ¿factores internos y externos?  ¿factores del proceso y del producto?

19 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 19 Calidad - Visiones(5) En el contexto del Negocio  Valor Técnico - Valor para el Negocio Retorno de la Inversión (Negocio)  Período de Repago  Tasa de Retorno  Valor Actual de los Flujos de Caja Retorno de la Inversión (Software)  Factores de Costo, Beneficios

20 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 20 Software process group Quality group Process IR&D Assessments Materials Hardware costs Facilities 0%10%20% 30% 40%50%60%70% General Documentation SCE costs General Software costs Esfuerzo % de entrevistas Dólares Calidad - Valor para el negocio Disparidad de factores considerados en la definición de ROI en SW entre gobierno de US y sus proveedores

21 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 21 Quiénes participan Desarrollo a Medida  Cliente (solicita)  Desarrollador construye  Usuario COTS (Commercial Off The Shelf) Desarrollador subcontrata parte Producto “llave en mano” Personalización Integración

22 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 22 CLIENTE Patrocina el desarrollo del sistema USUARIO Usa el sistema DESARROLLADOR Construye el sistema Obligación contractual $$$, necesidades Sistema de software Necesidades

23 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 23 Mantenimiento Diseño del SistemaAnálisis y Definición de Requerimientos Diseño del programaImplementación del programa Prueba UnitariaPrueba de IntegraciónPrueba del SistemaLiberación del Sistema Paso en el Desarrollo de Software Roles de los Desarrolladores Analista Diseñador Programador Tester Capacitador

24 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 24 Ing.Software y de Sistemas El Software como componente de un sistema:  Hardware  Software  Personas Sistema  Límite  Interacción con el exterior  Componentes y sus relaciones

25 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 25 Sistema de Informes Sistema de Administración de los datos Sistema de recopilación de datos remotos Sistema de cálculo de los datos remotos Sistema de Comunicación de ubicaciones remotas a central

26 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 26 Cambios y Tendencias Tiempo para salir al mercado Inversión de relación de costo entre HW y SW Desktop computing Interconexión en Redes Tecnología de Objetos Problemas con Modelo en Cascada Interfaces Gráficas CAMBIOS EN INGENIERIA DE SOFTWARE Ley de InfoGobierno

27 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 27 Cambios y Tendencias Nociones Fundamentales:  Abstracción  Métodos y Notaciones para Análisis y Diseño  Prototipación  Arquitectura del Software  Proceso de Software  Reuso  Mediciones  Herramientas y Ambientes Integrados

28 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 28 Abstracción es una decripción del problema a cierto nivel de generalización que permite concentrarnos en los aspectos esenciales del problema sin preocuparnos de detalles. Identificar clases de objetos que permiten agrupar elementos Formar jerarquías

29 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 29 Dispositivo eléctrico Sensor Sensor de AguaSensor de Aire Abstracción

30 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 30 Construir Modelos y verificar completitud y consistencia Usar notación estándar para ayudarnos a comunicar y documentar las decisiones Métodos de Notación Análisis y Diseño

31 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 31 Prototipos Construir una pequeña versión de un sistema para  ayudar al usuario y al cliente a identificar los requerimientos clave  demostrar la factibilidad de un diseño o enfoque ¿El usuario se siente cómodo con la apariencia y forma de interacción?

32 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 32 Arquitectura La arquitectura de un sistema lo describe en términos de un conjunto de unidades arquitectónicas y de cómo esas unidades se relacionan entre sí Existen distintos “estilos arquitectónicos” y distintos enfoques para identificar las unidades arquitectónicas

33 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 33 Arquitectura- cómo descomponer  a partir de las funciones: asignar funciones a módulos  orientada a los datos: a partir de las estructuras de datos externas  orientada a eventos  diseño de afuera hacia adentro: basada en las entradas del usuario al sistema  diseño orientado a objetos: basado en identificar clases de objetos y sus interrelaciones

34 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 34 Proceso Proceso de desarrollar software (organización y disciplina en las actividades) contribuir a la calidad del software y a la velocidad con la que se desarrolla

35 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 35 Aplicaciones para toda la empresa o división Aplicaciones Departamentales Mono-usuario, herramientas para PC de escritorio Desarrollo Controlado Desarrollo Rápido de aplicaciones Mision-critica Multi-usuario Multi-plataforma 2- 3-capas Visión/Alcance limitados Riesgo bajo/medio mono/multi-plataforma 1-2-capas Paquetes/desarrollo minimo Bajo costo/bajo riesgo plataforma única Proceso- especificidad

36 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 36 Reuso Sacar partido de los elementos comunes entre aplicaciones reutilizando elementos de desarrollos previos Componentes Reusables como bienes de activo del negocio

37 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 37 Mediciones Cuantificando dónde estamos y lo que podemos, describimos nuestras acciones y sus resultados en un lenguaje matemático común que nos permite evaluar nuestro progreso.

38 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 38 Herramientas y Ambientes Integrados Utilizar herramientas para mejorar el desarrollo de software, ayudan en:  análisis y diseño  registrar el avance  depurar programas  probar programas

39 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 39 Preguntas Brinde al menos una definición de Ing. de software (IS) ¿Cuántos años tiene como disciplina? ¿Con qué otras disciplinas está relacionada? ¿Qué se entiende por “crisis del software”? ¿Cómo afecta a la IS que el software esté presente en las más diversas áreas? ¿Qué implicanciones tiene sobre la ética y responsabilidad? ¿Qué relación tiene la IS con cuestiones legales?

40 Jun-16Ing. de SoftwareQué es la Ing. de Sw - 40 Preguntas (2) ¿Cuál es la diferencia entre falta (o defecto) y una falla del software? ¿Cuándo es posible evaluar los factores de calidad externos de un producto de software? ¿Qué problemas plantea la evaluación de los factores de calidad externos durante el proceso de desarrollo? ¿Qué nociones fundamentales han persistido?