Conceptos básicos de Ingeniería de Software



Documentos relacionados
Introducción a la Ingeniería de Software Capítulo 1

Ciclo de Vida del Desarrollo de un Sistema de Información. Departamento de Ingeniería Industrial Universidad de Chile

El Software. Es lo que se conoce como el ciclo de vida del software.

UNIVERSIDAD TECNOLÓGICA DE PANAMÁ SECRETARÍA GENERAL FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES DESCRIPCIÓN DE CURSO DE LA CARRERA DE

Tema 1 Introducción a la Ingeniería de Software

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

ORGANISMO COORDINADOR DEL SISTEMA ELÉCTRICO NACIONAL INTERCONECTADO DE LA REPÚBLICA DOMINICANA

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

CAPITULO 2: MARCO TEÓRICO

Propiedad Colectiva del Código y Estándares de Codificación.

Propuesta de Proyecto de Trabajo de Grado. Tema: Herramienta de Soporte a la Ingeniería de Requerimientos para Aplicaciones Web

Calidad Escuela de Ingeniería de Sistemas y Computación Desarrol o de Software II Agosto Diciembre 2007

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

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

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

Estudio Técnico INTRODUCCIÓN

Ingeniería de Sistemas. Administración de Proyectos. Objetivos. Tópicos cubiertos. Procesos de software (tema anterior) Administración de proyecto

GERENCIA DE INTEGRACIÓN

INGENIERÍA EN SISTEMAS COMPUTACIONALES (ISIC )

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

1 FUNDAMENTACION DE LA MATERIA

SISTEMAS DE INFORMACIÓN I TEORÍA

Unidades temáticas de Ingeniería del Software. Software e Ingeniería del Software 5ª edición (2008)

Curso: Arquitectura Empresarial basado en TOGAF

SISTEMA DE PRODUCCION. Pág. 1

En este capítulo se describe las herramientas, así como los procesos involucrados en el análisis y desarrollo de sistemas de información, por otro

TEMA 7: DIAGRAMAS EN UML

GUÍA DE SEGURIDAD DE LA INFORMACIÓN GUÍA GOBIERNO CORPORATIVO PARA EMPRESAS SEP


M.T.I. Arturo López Saldiña

PROPUESTA DE RESOLUCIÓN ESPECÍFICA PARA LOS PROGRAMAS DE ADMINISTRACION.

Testing. Tipos, Planificación y Ejecución de Pruebas

MODELOS DE CALIDAD EN EL DESARROLLO DE SOFTWARE

INDUSTRIAL. Dirección electrónica: OBJETIVO GENERAL

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

CURSO DE ETICA PROFESIONAL RESUMEN DEL CÓDIGO DE ÉTICA PARA CONTADORES PROFESIONALES

Anexo 2 - Propuesta de gestión de riesgos en implementación de e-scm mediante el análisis de la estrategia B2B.

Carrera: Clave de la asignatura: SATCA: 2-2-4

Sistema de base de datos para la gestión del fondo documental de la Biblioteca de la Facultad Enrique Cabrera.

Capítulo 1. Introducción

POLITICA DE GESTIÓN INTEGRAL DE RIESGOS

Diplomado en Aseguramiento de la Calidad De los Procesos y Productos de Software

PRC-DTI-006 Administración de Roles de los Sistemas de Información de la DTI Procedimiento Dirección de TI - COSEVI

Resumen obtenido de: Roger S. Pressman, Ingeniería de Software. Un enfoque práctico, quinta edición, Introducción al Diseño de Software

MANUAL DE ASIGNATURA

CMMI (Capability Maturity Model Integrated)

Ingeniería de Software Calidad de Procesos y Productos de Software

ISO 14004: Empresa, S.A. de C.V. Presentado por: {nombre} {puesto} {empresa} {Octubre, 2014}

Seminario MIS - CIMAT

ANEXO VI REFERIDO EN EL ARTÍCULO 2.3 EN RELACIÓN CON LA ASISTENCIA ADMINISTRATIVA MUTUA EN ASUNTOS ADUANEROS

Unidad II. ERP s Definición de ERP s.

Ingeniería del Software I

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

RECOMENDACIONES DE INVESTIGACIÓN FUTURA.

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

NTE INEN-ISO/IEC Primera edición

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

Plan de estudios ISTQB: Nivel Fundamentos

CAPÍTULO I 1.0 FORMULACIÓN DEL PROBLEMA 1.1 TITULO DESCRIPTIVO DEL PROBLEMA

BUEN MANEJO Y CONTROL DE IDENTIDADES Y DE ACCESO BASADOS EN EL NEGOCIO: LA IMPORTANCIA DE ESTE NUEVO ENFOQUE

GLOSARIO DE TÉRMINOS

Ciclo de vida y Requerimientos de software. Laboratorio de Programación

La norma ISO 19011:2011

DISEÑO DEL SOFTWARE DIDÁCTICO EREN MECFLUID Y SU USO COMO APOYO DIDÁCTICO PARA LOS ESTUDIANTES DE INGENIERÍA DEL CULAGOS

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

Elementos requeridos para crearlos (ejemplo: el compilador)

I. Introducción: [AUDITORÍA DE SISTEMAS] UNI - RUACS. Unidad I: Auditoría Informática

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

Asesoría y Desarrollo Individual y de Equipos

Actualización sobre COSO: Liderazgo de pensamiento para mejorar su organización. Robert Hirth Presidente, COSO

Capítulo Cinco. Administración Aduanera y Facilitación del Comercio

Fernando Mar, ITIL V3 Expert!

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

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

Demanda Dependiente Para cualquier producto para el que un programa puede ser establecida, se deben utilizar técnicas que dependen de la demanda

352<(&72$/)$781,1*±$0(5,&$/$7,1$ &$55(5$6%$6$'$6(1&203(7(1&,$6,17(*5$&,21'(2&+2$5($618(9$6

Monográfico: Adaptación y accesibilidad de las tecnologías para el aprendizaje

Gestión de Riesgos - Introducción

Unidad de Innovación MOOC. Tema 1

GASTO METABOLICO DE ENERGIA

LISTA DE MEJORAS PARA MEJORAR LOS RESULTADOS DE LA EVALUACIÓN

Capítulo 6: Conclusiones

6 Anexos: 6.1 Definición de Rup:

Proceso Unificado de Rational

Alta Gestión Empresarial

Manual de Calidad. Capítulo 1 : Objetivo y Campo de Aplicación. Capítulo 2 : Normas para Consulta. Capítulo 3 : Términos y Definiciones

CONFIGURACIÓN DE LA METODOLOGÍA OPENUP V1.0. Centro Ideoinformática

IAS 38. Activos Intangibles

Figure 7-1: Phase A: Architecture Vision

Modelo de Mejora de Empresas Proceso de Mejora de Empresas. Versión: 1, 0 Fecha:11/08/11

PRU. Fundamento Institucional. Objetivos. Alcance

Unidades temáticas de Ingeniería del Software. Fases del proceso de desarrollo 4ª edición (2008)

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

CITAS SOBRE LA IMPORTANCIA DE LA COMUNICACIÓN EN INGENIERÍA

El Auditor y la organización

DESARROLLO AGIL ING. MA. MARGARITA LABASTIDA ROLDÁN

2.1 Planificación del Alcance

Agenda. El IRO. El Analista Financiero. Retos del IRO y del Analista Financiero. AMERI e Institutional Investor. Conclusiones

capitulo3 MARCO TEÓRICO Para el diseño de la reubicación de los procesos se hará uso de la Planeación

DISEÑ O DE CURSOS VIRTUALES

Transcripción:

de Ingeniería de Software Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 5 de septiembre del 2012 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 1 / 23

Objetivos Objetivos Definir la Ingeniería de Software y explicar su importancia Discutir los conceptos de producto de software y proceso de software Introducir la noción de responsabilidad profesional Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 2 / 23

Ingeniería de Software Ingeniería de Software La economía de todos los países desarrollados es dependiente del software Actualmente cada vez mas sistemas son controlados por software La Ingeniería de Software concierne a teorías, métodos y herramientas para el desarrollo profesional de software El gasto en la Ingeniería de Software, representa un alto porcentaje del PIB de los países desarrollados Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 3 / 23

Conceptos básicos Qué es software? Qué es la Ingeniería de Software? Cuál es la diferencia entre Ingeniería de Software y Ciencias Computacionales? Cuál es la diferencia entre Ingeniería de Software e Ingeniería de Sistemas? Qué es un proceso de software? Qué es un modelo de proceso de software? Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 4 / 23

Conceptos básicos... Cuáles son los costos de la Ingeniería de Software? Qué son los métodos de Ingeniería de Software? Qué es CASE? Cuáles son los atributos del software de calidad? Cuáles son los retos de la Ingeniería de Software? Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 5 / 23

Qué es software? Conceptos básicos Software Programas de cómputo y su documentación asociada: requerimientos, modelos de diseño y manuales de usuario El software puede ser desarrollado para un cliente en particular o para un mercado general El software puede ser: Genérico: desarrollado para venderse a múltiples clientes (Excel, Word, etc.) A la medida: desarrollado bajo demanda del cliente a un desarrollador específico El software nuevo puede ser creado desarrollando nuevos programas, configurando sistemas de software genérico o reutilizando software existente Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 6 / 23

Ing. de Software Qué es la Ingeniería de Software? Una disciplina de la Ingeniería que concierne a todos los aspectos de la producción de software Los Ingenieros de Software deben: Adoptar un enfoque sistemático para llevar a cabo su trabajo Utilizar las herramientas y técnicas apropiadas para resolver el problema planteado, de acuerdo a las restricciones de desarrollo y a los recursos disponibles Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 7 / 23

Ing. de Software y Ciencias Computacionales Cuál es la diferencia entre Ingeniería de Software y Ciencias Computacionales? Las Ciencias Computacionales conciernen a la teoría y fundamentos de cualquier sistema de cómputo (hardware o software) La Ingeniería de software concierne los aspectos prácticos del desarrollo y puesta en marcha de productos útiles de software La Ingeniería de Software aún está lejos de ser considerada una ciencia como los son la química o la física Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 8 / 23

Ing. de Software e Ing. de Sistemas Cuál es la diferencia entre Ingeniería de Software e Ingeniería de Sistemas? La Ingeniería de Sistemas concierne a todos los aspectos del desarrollo de sistemas basados en cómputo incluyendo hardware, software y la ingeniería de procesos. La Ingeniería de Software es una parte de este proceso que comprende el desarrollo de software, control, aplicaciones y bases de datos del sistema Los ingenieros de software son los encargados de la especificación del sistema, del diseño de la arquitectura, la integración y la puesta en marcha. Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 9 / 23

Proceso de software Qué es un proceso de software? Un conjunto estructurado de actividades cuya meta es el desarrollo o evolución de un software Algunas actividades genéricas en todos los procesos de software son: Especificación, qué debe hacer el software y cuáles son sus especificaciones de desarrollo Desarrollo, producción del sistema de software Validación, verificar que el software cumple con lo solicitado por el cliente Evolución, cambiar/adaptar el software a las nuevas demandas Estas actividades varían dependiendo de la organización y del tipo de sistema a desarrollarse Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 10 / 23

Modelo de proceso de software Qué es un modelo de proceso de software? Representación formal y simplificada de un proceso de software, presentada desde una perspectiva específica Ejemplos de perspectivas del proceso de software: Flujo de trabajo, secuencia de actividades Flujo de datos, flujo de la información Rol/acción, quién realiza qué Modelos Genéricos: Cascada, separar en distintas fases de especificación y desarrollo Desarrollo Iterativo, la especificación, desarrollo y validación están interrelacionados Prototipado, un modelo sirve de prototipo para la construcción del sistema final Basado en componentes, asume que partes del sistema ya existen y se enfoca a su integración Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 11 / 23

Modelo de proceso de software Qué es un modelo de proceso de software?... Modelo de Cascada Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 12 / 23

Modelo de proceso de software Qué es un modelo de proceso de software?... Modelo de Desarrollo Iterativo Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 13 / 23

Costos de la Ing. de Software Cuáles son los costos de la Ingeniería de Software? El costo total de un software esta dividido aproximadamente de la siguiente forma: 60 % costos de desarrollo 40 % costos de pruebas En el software a la medida los costos de evolución a menudo exceden los costos de desarrollo Los costos dependen del tipo de sistema que se desarrolla y de los requerimientos del mismo tales como desempeño y confiabilidad La distribución de los costos depende del modelo de desarrollo empleado Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 14 / 23

Costos de la Ing. de Software Cuáles son los costos de la Ingeniería de Software?... Distribución de costos por actividad Imagen tomada de [Sommerville, 2006] Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 15 / 23

Costos de la Ing. de Software Cuáles son los costos de la Ingeniería de Software?... Costos de desarrollo Imagen tomada de [Sommerville, 2006] Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 16 / 23

Métodos de Ing. de Software Qué son los métodos de Ingeniería de Software? Enfoques estructurados para el desarrollo de software que incluye: Descripciones del modelo, descripciones de modelos gráficos que deben ser producidos Reglas, restricciones aplicadas a los modelos de sistemas Recomendaciones, para realizar un diseño efectivo Administración del proceso, que actividades deben realizarse y en qué orden Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 17 / 23

Qué es CASE? Conceptos básicos CASE CASE es Computer-Aided Software Engineering Programas que son usados para dar soporte automatizado a las actividades del proceso de software: Análisis de requerimientos, modelado del sistema, pruebas y depuración (debugging) Las herramientas CASE son comúnmente usadas para dar soporte a los métodos de software Editores para la notación del método Módulos de análisis que verifican que las reglas del método se cumplan Generadores de reportes que facilitan la creación de la documentación del sistema Generadores de código a partir del modelo del sistema Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 18 / 23

Atributos del software Cuáles son los atributos del software de calidad? El software debe proveer la funcionalidad y desempeño requeridos por el usuario y debe ser mantenible, confiable y aceptable Mantenible, el software debe poder evolucionar para continuar cumpliendo con las especificaciones Confiable, el software no debe causar daños físicos o económicos en el caso de que falle Eficiente, el software no debe desperdiciar los recursos del sistema Aceptable, el software debe ser aceptado por los usuarios para los que fue diseñado. Debe ser entendible, utilizable y compatible con otros sistemas Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 19 / 23

Retos de la Ing. de Software Cuáles son los retos de la Ingeniería de Software? Heterogeneidad Desarrollar técnicas para construir software que pueda hacer frente a plataformas y ambientes de ejecución heterogéneos (diferentes tipos de Hw y Sw) Tiempos de entrega Desarrollar técnicas que permitan reducir los tiempos de entrega del software sin comprometer la calidad Confianza Desarrollar técnicas que permitan que los usuarios confíen plenamente en el software Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 20 / 23

Responsabilidad ética y social Responsabilidad ética y social La Ingeniería de Software comprende responsabilidades que van más allá de la simple aplicación de habilidades técnicas Los ingenieros de Software deben actuar de manera honesta y ética si desean ser respetados como profesionales Una conducta ética es más que sólo respetar la ley Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 21 / 23

Responsabilidad ética y social Responsabilidad ética y social... Responsabilidad profesional Responsabilidad profesional Confidencialidad Competencia Derechos de propiedad intelectual Mal uso de la computadora Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 22 / 23

Tarea Para discusión en la próxima clase Investigar y analizar el código de ética profesional de los ingenieros de software desarrollado por ACM/IEEE (Software Engineering Code of Ethics and Professional Practice) Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 23 / 23