28
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE Ing. Sonia Godoy H Informática empresarial I n g - S o n i a G o d o y H

Unidad uno ingenieria de software

Embed Size (px)

Citation preview

Page 1: Unidad uno  ingenieria de software

INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE

Ing. Sonia Godoy H

Informática empresarial

Ing-S

onia

Godoy H

Page 2: Unidad uno  ingenieria de software

INTRODUCCIÓN INGENIERÍA DEL SOFTWARE

Desarrollo del hardwareDesarrollo del hardware

10.000

100.000

1.000.000

10.000.000

100.000.000

1970 1975 1980 1985 1990 1995 2000

4004

8008

8080

8086

286386

486 DXPentium

Pentium II

Pentium III

Pentium IV

Tra

nsi

sto

res

Desde 1965 la Ley de Moore rige la evolución de los microprocesadores

Factores que imprimen aceleración al ritmo de crecimiento del hardware:

Consecuencias de la ley de MooreConsecuencias de la ley de Moore

Comunicaciones entre sistemasComunicaciones entre sistemas

•Incremento de la capacidad de operación.

•Incremento de la miniaturización.

•Reducción de costes en la producción.

Ing-Sonia Godoy H

Page 3: Unidad uno  ingenieria de software

INTRODUCCIÓN INGENIERÍA DEL SOFTWARE

Crisis de softwareCrisis de software

2000

1998

1995

1994

28%23% 49%

26%28% 46%

27%40% 33%

16%31% 53%

ÉxitoProblemáticoFracaso

El proyecto se aborta o el sistema no se llega a utilizar

Desbordamiento de agendas o costes. Las funcionalidades no cubren las expectativas. Problemas funcionalesProyecto realizado en el tiempo previsto, con los costes previstos, con la funcionalidad esperada y ofreciendo un funcionamiento correcto.

Fuente: Standish Group Survey,

Proyectos para el desarrollo de sistemas de software

2004 29%19% 53%

Ing-Sonia Godoy H

Page 4: Unidad uno  ingenieria de software

¿QUÉ ES SOFTWARE?

Los productos de software se pueden desarrollar para un cliente en particular o pueden ser desarrollados para un mercado general.

Productos de software pueden ser:Genéricos: desarrollados para ser vendidos

a un tipo de clientes.Específicos: desarrollado para un cliente de

acuerdo a sus necesidades específicas.

Ing-Sonia Godoy H

Page 5: Unidad uno  ingenieria de software

¿QUÉ ES INGENIERÍA DE SOFTWARE? La Ingeniería de Sofware es una disciplina de

la Ingeniería que se preocupa de todos los aspectos de la producción de software.

Aplicación de los métodos de la ingeniería al proceso de desarrollo de software: Diseño Construcción Mantenimiento

Ing-Sonia Godoy H

Page 6: Unidad uno  ingenieria de software

TIPOS DE PRODUCTOS SOFTWARE Áreas de aplicación [Pressman, 2002] (ii)

Software de ingeniería y científico Algoritmos de tratamiento numérico: simulación,

estadística, CAD... Diseño de algoritmos y estructuras de datos Cálculo intensivo Paralelización

Software empotrado Reside en memoria de sólo lectura y se utiliza para

controlar productos y sistemas de los mercados industriales y de consumo Características similares al de tiempo real

Software de Inteligencia Artificial Algoritmos no numéricos para resolver problemas

complejos: sistemas expertos, reconocimiento de patrones, demostradores de teoremas

Ing-Sonia Godoy H

Page 7: Unidad uno  ingenieria de software

Software de computadoras personales Herramientas de escritorio, software para ocio…

Aplicaciones Web Software accedido a través de un navegador

Web Los sistemas Web tienen una naturaleza y unos

requisitos que difieren del software tradicional Los sistemas Web

TIPOS DE PRODUCTOS SOFTWARE

Ing-Sonia Godoy H

Page 8: Unidad uno  ingenieria de software

¿QUÉ ATRIBUTOS TIENE UN BUEN SOFTWARE?

El software debería entregar la funcionalidad y desempeño requeridos por el usuario y debería ser mantenible, confiable y usable.

Mantenibilidad El software debe evolucionar para cubrir necesidades

cambiantes. Confiabilidad

El software debe ser confiable. Eficiencia

El software no debe malgastar los recursos del sistema. Usabilidad

El software debe ser usable por los usuarios para quienes se diseñó.

Ing-Sonia Godoy H

Page 9: Unidad uno  ingenieria de software

EL CICLO DE VIDA DEL SOFTWARE

Modificación: para adaptarse a los cambios del entorno. (en otros productos se conoce como reparación o mantención)

Ing-Sonia Godoy H

Page 10: Unidad uno  ingenieria de software

LA FASE DE DESARROLLO DEL CICLO DE VIDA DEL SOFTWARE

Ing-Sonia Godoy H

Page 11: Unidad uno  ingenieria de software

INTRODUCCIÓN INGENIERÍA DEL SOFTWARE

Principales organizaciones de estandarizaciónPrincipales organizaciones de estandarización

ISO ISO

SEI SEI

IEEE Computer Society IEEE Computer Society

IEEE Es el Instituto de Ingenieros en electricidad y electrónica (Institute of Electrical and Electronics Engineers).

Ing-Sonia Godoy H

Page 12: Unidad uno  ingenieria de software

INTRODUCCIÓN INGENIERÍA DEL SOFTWARE

ISO 12207ISO 12207

ISO 1227 define los procesos que componen el ciclo de vida del software

Ciclo de vida

Concepto

Retirada

Proceso

1

…Proceso

N

Actividad 1

Tarea 1

Tarea 2

Tarea n

Actividad n

Tarea 1

Tarea 2

Tarea n

Ing-Sonia Godoy H

Page 13: Unidad uno  ingenieria de software

INTRODUCCIÓN INGENIERÍA DEL SOFTWARE

ISO 12207ISO 12207

ACTIVIDAD 1

TAREA 1TAREA 1 TAREA X• • •

PROCESO

ACTIVIDAD n• • •Un proceso está compuesto

por actividades.

Una actividad está compuesta de tareas.

La descomposición del proceso en actividades y tareas se realiza sobre el concepto de ciclo de mejora PDCA “Plan – Do – Chek – Act” (Planificación, ejecución, medición y mejora)

Ing-Sonia Godoy H

Page 14: Unidad uno  ingenieria de software

PLANPLANTareas, agenda, asignaciones…

CHECKCHECKEvaluación y

medición

DODOEjecición de planes

y tareas

ACTACTProblemas y acciones

correctivasPROCESO

INICIO

FIN

ISO 12207ISO 12207

Ing-S

onia

Godoy H

Page 15: Unidad uno  ingenieria de software

INTRODUCCIÓN INGENIERÍA DEL SOFTWARE

INGENIERÍA DE SISTEMASINGENIERÍA DE SISTEMAS

conjunto de elementos de hardware, software, personas, procedimientos, herramientas y otros factores organizativos, organizados para llevar a cabo un objetivo común.

SistemaSistema

Elemento delsistema

Elemento delsistema

Elemento delsistema

Elemento delsistema

Elemento delsistema

Elemento delsistema

Elemento delsistema

Elemento delsistema

Sistema deEntrada

Sistema deSalida

Sistema

Ing-Sonia Godoy H

Page 16: Unidad uno  ingenieria de software

INTRODUCCIÓN INGENIERÍA DEL SOFTWARE

INGENIERÍA DE SISTEMASINGENIERÍA DE SISTEMAS

Funciones de la Ingeniería de sistemasFunciones de la Ingeniería de sistemas

Definición del problema: Determinación de las expectativas hacia el producto, necesidades y restricciones obtenidas y analizadas en los requisitos del sistema. Trabaja cerca del cliente para establecer las necesidades operacionales.

Análisis de la solución: Determinar las opciones posibles para satisfacer los requisitos y las restricciones. Estudiar y analizar las posibles soluciones. Seleccionar la mejor, sopesando las necesidades inmediatas, opciones de implementación, utilidad, evolución del sistema…

Ing-Sonia Godoy H

Page 17: Unidad uno  ingenieria de software

Planificación de los procesos: Determinar los grupos de tareas técnicas que se deben realizar, el esfuerzo requerido para cada una, su prioridad y los riesgos que implican para el proyecto.

Control de los procesos: Determinar los métodos para controlar las actividades técnicas del proyecto y los procesos; la medición del progreso, revisión de los productos intermedios y ejecución de las acciones correctivas, cuando corresponda.

Evaluación del producto: Determinar la calidad y cantidad de los productos elaborados, a través de evaluaciones, pruebas, análisis, inspecciones…

Funciones de la Ingeniería de sistemasFunciones de la Ingeniería de sistemas

Ing-S

onia

Godoy H

Page 18: Unidad uno  ingenieria de software

INTRODUCCIÓN INGENIERÍA DEL SOFTWARE

INGENIERÍA DE SISTEMASINGENIERÍA DE SISTEMAS

Ingeniería de sistemas – Gestión de proyectos – Ingeniería del Soft. Ingeniería de sistemas – Gestión de proyectos – Ingeniería del Soft.

Gestión de proyectos

Planificación Organización Personal Dirección Control

Ingeniería del software

Diseño del software Codificación Pruebas unitarias Integración del

subsistema de software

Ingeniería de sistemas

Definición del problema Análisis de la solución Planificación de procesos Control de procesos Evaluación del producto

Ing-Sonia Godoy H

Page 19: Unidad uno  ingenieria de software

INTRODUCCIÓN INGENIERÍA DEL SOFTWARE

INGENIERÍA DE SISTEMASINGENIERÍA DE SISTEMAS

Ingeniería de sistemas – Ingeniería de sistemas de software – Ingeniería del software Ingeniería de sistemas – Ingeniería de sistemas de software – Ingeniería del software

CodificaciónPruebas unitarias

CodificaciónPruebas unitarias

Diseño detallado del software

Diseño detallado del software

Pruebas del sub-sistema de softw.Pruebas del sub-sistema de softw.

Diseño de la ar-quitectura del swDiseño de la ar-

quitectura del sw

Pruebas del sistema de swPruebas del

sistema de swAnálisis de

requisitos del swAnálisis de

requisitos del sw

Pruebas de integración del sw

Pruebas de integración del sw

Diseño del sistema

Diseño del sistema

Análisis del sistema

Análisis del sistema

Pruebas de integración del sis

Pruebas de integración del sis

Pruebas del sistema

Pruebas del sistema

Ingeniería de sistemas

Ingeniería de sistemas de software

Ingeniería del software

Ingeniería del software

Ing-Sonia Godoy H

Page 20: Unidad uno  ingenieria de software

Método de ingeniería en Ingeniería del Software

Ing-Sonia Godoy H

Page 21: Unidad uno  ingenieria de software

Ing-S

onia

Godoy H

Page 22: Unidad uno  ingenieria de software

CAPASDefine el marco de trabajo y permite un desarrollo racional y oportuno de la Ingeniería del Software

Define el marco de trabajo y permite un desarrollo racional y oportuno de la Ingeniería del Software

Ing-Sonia Godoy H

Page 23: Unidad uno  ingenieria de software

CAPAS

Indica cómo construir técnicamente el software. Se incluyen técnicas de modelado y otras técnicas descriptivas

Indica cómo construir técnicamente el software. Se incluyen técnicas de modelado y otras técnicas descriptivas

Ing-Sonia Godoy H

Page 24: Unidad uno  ingenieria de software

CAPAS

Proporcionan el soporte automático o semiautomático para el proceso y para los métodos

Proporcionan el soporte automático o semiautomático para el proceso y para los métodos

Ing-Sonia Godoy H

Page 25: Unidad uno  ingenieria de software

CAPAS

• Conjunto de reglas gráficas o textuales para la representación de un modelo

• Conjunto de reglas gráficas o textuales para la representación de un modelo

Ing-Sonia Godoy H

Page 26: Unidad uno  ingenieria de software

CAPAS

Colección de métodos para resolver un tipo de problemasDescompone el proceso de desarrollo en actividades y proporciona los métodos adecuados para llevar a cabo dichas actividades

Colección de métodos para resolver un tipo de problemasDescompone el proceso de desarrollo en actividades y proporciona los métodos adecuados para llevar a cabo dichas actividades

Ing-Sonia Godoy H

Page 27: Unidad uno  ingenieria de software

IMPORTANCIA DEL PROCESO EN EL DESARROLLO DEL SOFTWAREUn proceso software debe especificar La secuencia de actividades a realizar por el equipo

de desarrollo Flujo de actividades

Los productos que deben crearse Resultados del trabajo (modelos, documentos, datos

informes...) Qué y cuándo

La asignación de tareas a cada miembro del equipo y al equipo como un todo

Los criterios para controlar el proceso Se establece el control de gestión de los proyectos

software Establecimiento de hitos

Las posibles heurísticasIng-Sonia Godoy H

Page 28: Unidad uno  ingenieria de software

CONCLUSIONES

Ing-Sonia Godoy H