El Producto: Software



Documentos relacionados
El Producto. Qué es la Ingeniería de Software? Tecnología para construir software Un proceso Un conjunto de métodos Herramientas

Conceptos Generales. Introducción a la ingeniería de Software. Tomado de: Escuela de Sistemas Universidad Nacional de Colombia Sede Medellín

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

LA REVOLUCIÓN DE LOS SISTEMAS DE INFORMACIÓN (S.I.) Introducción PORQUÉ SISTEMAS DE INFORMACIÓN? El Competitivo Entorno de los Negocios

Licenciatura en Computación

INGENIERÍA DEL SOFTWARE I Tema 1. Introducción a la Ingeniería del Software. Univ. Cantabria Fac. de Ciencias Francisco Ruiz

Análisis y gestión de riesgo

El Rol Estratégico de los Sistemas de Información. Aplicaciones de sistemas clave en la organización (1)

El proceso unificado en pocas palabras

Cómo Desarrollar un plan Estratégico

Materia: Inteligencia de negocios

Bhar aumenta 30% la eficiencia y mejora la satisfacción de los clientes

ISO 17799: La gestión de la seguridad de la información

LAS TIC EN EL ÀMBITO TURÌSTICO

Caso práctico de Cuadro de Mando con Tablas Dinámicas

PROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04

Los cursos virtuales no son exitosos para todos: se requiere madurez y compromiso

Los requisitos de accesibilidad en un proyecto software. Implicaciones de usuarios discapacitados en el proceso software

Unidad I: Introducción a la gestión de proyectos

Contenido. Curso: Cómo vender por Internet

Software: Historia Evolución. - Se repetía el mismo proceso para desarrollar el mismo programa para otras máquinas.

LAS NUEVAS TECNOLOGÍAS DE LA INFORMACIÓN Y DE LA COMUNICACIÓN (TIC) EN LA EDUCACIÓN.

Capítulo 5. Cliente-Servidor.

CAPÍTULO I. Sistemas de Control Distribuido (SCD).

INGRID Gestión geográfica de activos urbanos y mantenimiento

Capitulo V Administración de memoria

CAPITULO I EL PROBLEMA. Debido al crecimiento de clientes y en vía de mejorar la calidad de

a3equipo nos ha facilitado el acercamiento del área de Recursos Humanos a los empleados EXPERIENCIAS Wolters Kluwer

8. RESULTADOS PREVISTOS

Marketing Jurídico, generando negocios online Por: Equipo Mi Guía Legal, El Salvador 23 de febrero de 2016

Plan de estudios Maestría en Sistemas de Información y Tecnologías de Gestión de Datos

Unidad VI: Supervisión y Revisión del proyecto

CALIDAD TOTAL. Visión estratégica y buena gestión son los ingredientes fundamentales.

METODOS NUMERICOS CATEDRA 0 2. Ingeniería Civil ING.CRISTIANCASTROP. Facultad de Ingeniería de Minas, Geología y Civil

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

1. VIRTUALIZACION DEL PROCESO REAL.


PRODUCTIVIDAD. Contenido. 1. Introducción. 2. Importancia de la Productividad. 3. Que es productividad? 4. Como se mide la productividad?

Norma ISO 9001:2015. Cuáles son los cambios presentados en la actualización de la Norma?

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

Actualización de versión a Bizagi 10.x

Los Ambientes Virtuales de Aprendizaje

Gestión de la evaluación en el Aprendizaje Basado en Proyectos

La radiología digital. sencilla.

Reunión de negocios Desarrollo de Industrias

PLAN DE MÉTRICAS EN OCHO PASOS

Es una persona que ayudará a que los derechos de las personas con discapacidad se hagan realidad

1. Conociendo el equipo

VENTAJAS Y DESVENTAJAS DE LAS TECNOLOGIAS

El cuadrante del éxito en la Empresa

Productividad, competitividad e Innovación

Acciones Correctivas y Preventivas. Universidad Autónoma del Estado de México

puede aumentar la innovación en la cartera de productos?

Solución de telefonía para empresas TL Presentación de producto. Telefonía IP

GLOSARIO DE TÉRMINOS

El EOS cuenta con características que hace que sea el sistema de operación empresarial más novedoso y funcional que existe hoy en el mercado.

Por qué es importante la planificación?

Conceptos básicos de Ingeniería de Software

Revisión de ISO 9001:2015 e ISO 14001:2015 Respuestas sobre las nuevas versiones de ISO 9001 e ISO 14001

Programa 47 Formación continua para egresados

TECNOLOGÍAS DE INFORMACIÓN Y COMUNICACIÓN EN LA EDUCACIÓN

Diseño Estructurado de Algoritmos

Conclusiones. Particionado Consciente de los Datos

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

El reto de la Gestión Documental

6. Gestión de proyectos

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa.

Servicios Administrados al Cliente

INGENIERÍA EN SISTEMAS COMPUTACIONALES (ISIC )

Económicas Trabajo. Outsourcing

NORMA TÉCNICA DE AUDITORÍA SOBRE CONSIDERACIONES RELATIVAS A LA AUDITORÍA DE ENTIDADES QUE EXTERIORIZAN PROCESOS DE ADMINISTRACIÓN

METODOLOGÍA E IMPLEMENTACIÓN DEL SIGGA (SISTEMA DE INFORMACION GEOGRAFICA: GOBERNANZA DEL AGUA)

OFICIOS DEL CINE ESPAÑOL CAPITULO XXI PRODUCTORES ELLOS CREAN QUE VES

La gestión de contenidos en el nuevo Portal del Ministerio de Hacienda

Bases de datos segmentadas y actualizadas, la base de cualquier relación comercial

PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA LA CONTRATACIÓN DE SERVICIOS DE MANTENIMIENTO DEL SISTEMA DE INFORMACIÓN ESTADÍSTICO DE LA CONSEJERÍA DE

Créditos académicos. Ignacio Vélez. Facultad de Ingeniería Industrial. Politécnico Grancolombiano

Manual de Operaciones del Club Aéreo del Personal de BancoEstado.

Además se recomienda su uso como herramienta de trabajo dentro de las actividades habituales de gestión.

Universidad Tecnológica Oteima. Sede de David. Posgrado y Maestría en Docencia Superior. Materia

GESTIÓN Y CONTROL DEL DESARROLLO E IMPLANTACIÓN DE APLICACIONES

CAPITULO I FORMULACIÓN DEL PROBLEMA

ÍNDICE 2. DIRECCIONES DE INTERÉS SOBRE TELETRABAJO Y DISCAPACIDAD BIBLIOGRAFÍA...

LOS RETOS DE LA ENSEÑANZA EN LA INGENIERÍA 1

Capacidad de respuesta y adaptación al cliente, claves para encontrar el camino del éxito

Problemas y ventajas de medir con BIM

El Branding e Investigación Cualitativa

Es una colección de datos operativos almacenados y utilizados por los programadores de aplicaciones y por usuarios finales de muy diversa índole!

CAPÍTULO 2 IMPORTANCIA DE LA ASIGNATURA OUTSOURCING EN TECNOLOGÍAS DE INFORMACIÓN

Diferencias entre nivel 2 y nivel 3 y una estrategia de implantación

GUÍAS. Módulo de Diseño de software SABER PRO

Esta es la parte II del módulo SIG sobre cómo crear un SIG sustentable.

Transcripción:

Este material está basado en el curso preparado por A.Navarro, UCM U (que a su vez sigue el texto del libro de Pressman) El Producto: Software Ingeniería del Software de Gestión 1 Facultad de Informática Dep. Sistemas Informáticos y Programación Universidad Complutense Madrid http://www.fdi.ucm.es/profesor/jpavon Objetivos Entender lo que es el software y los problemas que conlleva su desarrollo Motivar la necesidad de IS Facultad de Informática UCM, 2004 Ingeniería del Software 2

Evolución del software Hace dos décadas (años 80): Centrados en el hardware, factor principal en el presupuesto Ingeniería del hardware, pero no del software Poca difusión software Software de venta específico para el hardware No se vendían sistemas operativos sin hardware Actualmente: El software es el factor principal en el presupuesto Software con alto tiempo de desarrollo, incluso fuera de plazo Costes elevados Software entregado a clientes con errores (defectos) Gran difusión del software Los sistemas operativos se anuncian en prensa y televisión Quiénes son los mayores millonarios del mundo? Facultad de Informática UCM, 2004 Ingeniería del Software 3 Evolución del software Evolución del software ligada al hardware Mayor complejidad hardware mayor complejidad software mayor complejidad en el desarrollo de software Al principio, software añadido a computadora Evolución del desarrollo de software Programar arte, debido a la falta de métodos sistemáticos Desarrollo de software sin planificación proyectos sin control costes imprevisibles Baja movilidad de programadores falta de documentación sistematizada. Facultad de Informática UCM, 2004 Ingeniería del Software 4

Evolución del software Los primeros años (1950-1965 aprox.) Proceso por lotes (batch) Distribución limitada Software a medida La segunda era (1965-1975 aprox.) Sistema multiusuario Sistemas Interactivos HCI: Human Computer Interaction (http://www.hcibib.org/hci-sites/) Tiempo real Bases de Datos Productos software independientes del hardware mantenimiento del software con versiones Facultad de Informática UCM, 2004 Ingeniería del Software 5 Evolución del software La tercera era (1975-1985 aprox.) Sistemas distribuidos Incorporación de inteligencia Hardware de bajo coste (microprocesador) Impacto en el consumo La cuarta era (1985-2000 aprox.) Sistemas personales potentes Tecnologías orientadas a objetos Redes de computadoras Computación en paralelo Técnicas de inteligencia artificial Facultad de Informática UCM, 2004 Ingeniería del Software 6

Evolución del software Etapa actual (principios del tercer milenio) Componentes y arquitecturas software reutilizables Web semántica Computación ubicua Interfaces multi-modales Facultad de Informática UCM, 2004 Ingeniería del Software 7 Evolución del software Problemas persistentes en la evolución: El software nunca explota las posibilidades plenas del hardware El desarrollo del software no es tan rápido como su demanda Sociedad dependiente de las computadoras necesitamos software fiable Los programas no son escalables ni mantenibles por culpa de diseños pobres y recursos inadecuados Cuestión: Aumentan estos problemas? Facultad de Informática UCM, 2004 Ingeniería del Software 8

Perspectiva industrial Cuestiones Por qué lleva tanto tiempo terminar los programas? Por qué es tan elevado el coste? Por qué no podemos encontrar todos los errores antes de entregar el producto a los clientes? Por qué nos resulta difícil constatar el progreso conforme se desarrolla el software? Renovar software o reemplazarlo por nuevo? El desarrollo de software pasa de ser arte a ser un proceso industrial La fábrica de software (Software Factory) El software es una empresa muy competitiva Subcontratación de terceros Facultad de Informática UCM, 2004 Ingeniería del Software 9 Software Definición (Pressman): Instrucciones (programas de computadora) que cuando se ejecutan proporcionan la función y el rendimiento deseados Estructuras de datos que permiten a los programas manipular adecuadamente la información Documentos que describen la construcción y uso de programas Facultad de Informática UCM, 2004 Ingeniería del Software 10

Características del software El software se desarrolla, no se fabrica Los costes se centran en ingeniería, no en fabricación Los proyectos software no se pueden gestionar como procesos de fabricación El software no se estropea Facultad de Informática UCM, 2004 Ingeniería del Software 11 Características del software Curvas de fallos Curva de fallos del hardware (bañera) Facultad de Informática UCM, 2004 Ingeniería del Software 12

Características del software Curvas de fallos software Facultad de Informática UCM, 2004 Ingeniería del Software 13 Características del software Reparación del software El software deteriorado no se puede reparar revisar miles de líneas de código? Muchas veces las reparaciones dañan más al software El software debe estar bien diseñado para facilitar su evolución Facultad de Informática UCM, 2004 Ingeniería del Software 14

Características del software Coste de la eficiencia del software Coste Eficiencia Facultad de Informática UCM, 2004 Ingeniería del Software 15 Software bien diseñado Software bien diseñado Ingeniería: creación y mantenimiento de una serie de componentes estándar con el fin de no reinventar la rueda Software bien diseñado debe favorecer la reutilización de código Las tecnologías OO y de componentes software reutilizables favorecen dicha reutilización Facultad de Informática UCM, 2004 Ingeniería del Software 16

Software bien diseñado Atributos del software bien diseñado Mantenible Capaz de evolucionar según las necesidades de cambio de los clientes Seguro Robusto, que no produce daños incluso bajo un fallo del sistema Eficiente No desperdicia los recursos del sistema (memoria, procesador, disco) Amistoso Buena interfaz Bien documentado Atributos en tensión: Su importancia depende del sistema y del entorno en el que será utilizado El coste tiende a ser alto si se exige un alto nivel de alguna características Facultad de Informática UCM, 2004 Ingeniería del Software 17 Software Podremos construir una aplicación software cuando se haya definido previamente un conjunto específico de pasos procedimentales, es decir, un algoritmo Discusión: es esta una condición necesaria o suficiente? Facultad de Informática UCM, 2004 Ingeniería del Software 18

Tipos de software Por su estructura Funcional Orientado a listas Orientado a objetos Orientado a componentes Por su función Producto. Programas que gestionan y transforman información Programas o Sistemas de Usuario CAD Procesadores de Texto Aplicaciones Web Etc. Herramientas para desarrollar y ejecutar productos Sistemas operativos Middleware Compiladores Bases de datos Librerías Interfaces Hombre-Maquina Facultad de Informática UCM, 2004 Tipos de software Por su plataforma de ejecución Sistemas embebidos Sistemas de computación distribuida Sistemas de computación paralela Sistemas de tiempo real Sistemas basados en Chips Sistemas de computo ubicuos Wearable computing systems Facultad de Informática UCM, 2004

Aplicaciones Software de sistemas Programas escritos para servir a otros programas Compiladores, Sistemas Operativos (SOs), etc. Características: Fuerte interacción con el hardware de computadora Múltiples usuarios Operación concurrente Compartición de recursos Estructuras de datos complejas Facultad de Informática UCM, 2004 Ingeniería del Software 21 Aplicaciones Software de tiempo real Mide, analiza y controla sucesos del mundo real conforme ocurren Control de aviones, procesos de fabricación, etc. Sistemas de tiempo real estricto (hard real time) o no (soft real time) Componentes: Adquisición de datos. Recolecta y da formato a la información recibida del entorno externo Análisis. Transforma la información según lo requiere la aplicación Control/salida. Responde al entorno externo Monitorización. Coordina a los demás componentes para obtener una respuesta en tiempo real (de 1 milisegundo a 1 minuto) Facultad de Informática UCM, 2004 Ingeniería del Software 22

Aplicaciones Software de gestión Proceso de información comercial, accediendo a Bases de datos que contienen dicha información Gestión de nóminas, control de almacén, etc. Software de ingeniería y científico Algoritmos numéricos Programas CAD, predicción meteorológica, etc. Facultad de Informática UCM, 2004 Ingeniería del Software 23 Aplicaciones Software de PC Se venden en la gran distribución Procesadores de texto, hojas de cálculo, etc. Software empotrado (embedded systems) Controla productos y sistemas de mercados industriales y de consumo Control de fábricas, etc. Reside en ROM Relacionado con el tiempo real Facultad de Informática UCM, 2004 Ingeniería del Software 24

Aplicaciones Software de inteligencia artificial Algoritmos no numéricos para resolver problemas complejos para los que no son adecuados el cálculo o análisis directo Sistemas expertos Reconocimiento de patrones (voz, imágenes, etc.) Agentes software Facultad de Informática UCM, 2004 Ingeniería del Software 25 De vuelta con los mitos del software Mitos del gestor Mito: Tenemos un manual de desarrollo de software, qué más necesitamos? Realidad. Se entiende? Se utiliza? El personal tiene práctica en su aplicación? Mito: Disponemos de las herramientas de desarrollo más avanzadas, ya que compramos siempre los mejores equipos Realidad: Se invierte en herramientas CASE? Y en entornos de desarrollo? Se forma al personal en el uso de estas herramientas? Mito: Si fallamos en la planificación, podemos añadir más programadores y adelantar el tiempo perdido Realidad: En el proceso de software añadir gente puede retrasar más el proyecto. La gente debe añadirse de forma planificada y ordenada. Además si sacamos a gente de otros proyectos, en último término retrasaremos otros proyectos Facultad de Informática UCM, 2004 Ingeniería del Software 26

De vuelta con los mitos del software Mitos del cliente Mito: Una declaración general de objetivos es suficiente para comenzar a escribir los programas, y podemos dar los detalles más adelante Realidad: Una mala definición inicial conlleva trabajo inútil Mito: Los requisitos del proyecto cambian continuamente, pero los cambios pueden acomodarse fácilmente porque el software es flexible Realidad: Es cierto que los requisitos cambian, pero el impacto del cambio varía en función del momento en que se introduzcan los cambios Facultad de Informática UCM, 2004 Ingeniería del Software 27 De vuelta con los mitos del software Impacto del cambio Momento Coste del cambio Definición 1x Desarrollo 1,5-6x Después entrega 60-100x Facultad de Informática UCM, 2004 Ingeniería del Software 28

De vuelta con los mitos del software Mitos de los desarrolladores Mito: Una vez que escribamos el programa y hagamos que funciones, nuestro trabajo ha terminado Realidad: Entre el cincuenta y el setenta por ciento de todo el esfuerzo dedicado a un programa se realiza después de que se entregue al cliente por primera vez Mito: Hasta que no tenga el programa ejecutándose, no tengo forma de medir su calidad Realidad: Revisiones Técnicas Formales durante el desarrollo de software. Mito: Lo último que se entrega al terminar el proyecto es el programa funcionando Realidad: Software = programas + datos + documentos Facultad de Informática UCM, 2004 Ingeniería del Software 29 Conclusiones Software: producto de desarrollo (más que de fabricación) Software: rápida evolución Constante en la evolución: problemas que se pretende solucionar con IS Cuidado con los mitos! Facultad de Informática UCM, 2004 Ingeniería del Software 30