12
Conceptos Básicos de Ingeniería del Software 26/09/2014 IR 1 © Diseño de Amador Durán Toro, 2011 Conceptos Básicos de Ingeniería del Software Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla septiembre 2014 1. Proyecto Software 2. Informe CHAOS 3. Entregables de un Proyecto Software 4. Ciclos de Vida de un Proyecto Software 5. Sistemas de Información © Diseño de Amador Durán Toro, 2011 Conceptos Básicos de Ingeniería del Software Objetivos del tema Revisar los conceptos básicos de la Ingeniería del Software: Proyecto software Causas de éxito y fracaso de proyectos software Entregables en proyectos software Ciclos de vida de los proyectos software Revisar los niveles de gestión de un sistema de información. septiembre 2014 Ingeniería de Requisitos 1

Conceptos Básicos de Ingeniería del Software

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Conceptos Básicos de Ingeniería del Software

Conceptos Básicos de Ingeniería del Software 26/09/2014

IR 1

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Conceptos Básicos de Ingeniería del Software

Grupo de Ingeniería del Software y Bases de Datos

Departamento de Lenguajes y Sistemas Informáticos

Universidad de Sevilla

septiembre 2014

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Conceptos Básicos de Ingeniería del Software

• Objetivos del tema

– Revisar los conceptos básicos de la Ingeniería del

Software:

• Proyecto software

• Causas de éxito y fracaso de proyectos software

• Entregables en proyectos software

• Ciclos de vida de los proyectos software

– Revisar los niveles de gestión de un sistema de

información.

septiembre 2014 Ingeniería de Requisitos 1

Page 2: Conceptos Básicos de Ingeniería del Software

Conceptos Básicos de Ingeniería del Software 26/09/2014

IR 2

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Conceptos Básicos de Ingeniería del Software

• El concepto de proyecto software

– Esfuerzo temporal acometido para crear un único

producto o servicio software.

– Es realizado por personas.

– Debe ser limitado en tiempo y coste.

– Debe ser planificado, ejecutado y controlado.

septiembre 2014 Ingeniería de Requisitos 2

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Conceptos Básicos de Ingeniería del Software

• Roles en un proyecto software

septiembre 2014 Ingeniería de Requisitos 3

Director de proyecto

Responsable de la ejecución del proyecto con capacidad ejecutiva para tomar decisiones sobre el mismo de acuerdo con el cliente.

Ingeniero de requisitos

También denominado analista. Responsable de interactuar con clientes y usuarios para obtener sus necesidades y de desarrollar y gestionar los requisitos.

Equipo de desarrollo

Conjunto de personas implicadas en el desarrollo del software: arquitecto software, diseñador de IU, programador, responsable de pruebas, administrador de BD, etc.

Equipo de calidad

Conjunto de personas responsables de la calidad de los productos obtenidos, tanto documentación como software. Suelen ocuparse también de la calidad de los procesos.

Cliente Responsable de la financiación del proyecto con capacidad ejecutiva para tomar decisiones sobre el mismo. Suele tener una visión global del modelo de negocio.

Usuario Usuario potencial del software a desarrollar en el proyecto con una visión detallada, aunque puede que parcial, del modelo de negocio.

Responsable TIC del Cliente

Responsable del entorno tecnológico del cliente, sobre el que se debe integrar el sistema a desarrollar.

Page 3: Conceptos Básicos de Ingeniería del Software

Conceptos Básicos de Ingeniería del Software 26/09/2014

IR 3

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Conceptos Básicos de Ingeniería del Software

• Los informes CHAOS (1996 2012)

September 2014 Requirements Engineering 4

Fuente: http://www.griddynamics.com/mobile-app-design-part-1-management-principles-with-scrum/

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Conceptos Básicos de Ingeniería del Software

• Los informes CHAOS (1996 2012)

– Factores de éxito

• Implicación de los usuarios

• Apoyo de los directivos

• Enunciado claro de los requisitos

• Planificación adecuada

• Expectativas realistas

• Hitos de proyecto pequeños

• Personal competente

• Sentimiento de propiedad

• Visión y objetivos claros

• Trabajo duro y personal concentrado

septiembre 2014 Ingeniería de Requisitos 5

Page 4: Conceptos Básicos de Ingeniería del Software

Conceptos Básicos de Ingeniería del Software 26/09/2014

IR 4

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Conceptos Básicos de Ingeniería del Software

• Los informes CHAOS (1996 2012)

– Causas de problemas

• Falta de información por parte de los usuarios

• Especificaciones y requisitos incompletos

• Especificaciones y requisitos cambiantes

• Falta de apoyo de los directivos

• Incompetencia tecnológica

• Falta de recursos

• Expectativas no realistas

• Objetivos poco claros

• Plazos temporales no realistas

• Nueva tecnología

septiembre 2014 Ingeniería de Requisitos 6

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Conceptos Básicos de Ingeniería del Software

• Los informes CHAOS (1996 2012)

– Causas de fracasos

• Requisitos incompletos

• Falta de implicación de los usuarios

• Falta de recursos

• Expectativas no realistas

• Falta de apoyo de los directivos

• Especificaciones y requisitos cambiantes

• Falta de planificación

• Ya no lo necesito

• Falta de gestión de TIC

• Desconocimiento de la tecnología

septiembre 2014 Ingeniería de Requisitos 7

Page 5: Conceptos Básicos de Ingeniería del Software

Conceptos Básicos de Ingeniería del Software 26/09/2014

IR 5

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Conceptos Básicos de Ingeniería del Software

• Los informes CHAOS (1996 2012)

September 2014 Requirements Engineering 8

2011

2013

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Conceptos Básicos de Ingeniería del Software

• Coste de un cambio en un proyecto

septiembre 2014 Ingeniería de Requisitos 9

tiempo

inicio

Detectar los problemas al

comienzo de los proyectos

ahorra mucho dinero

Page 6: Conceptos Básicos de Ingeniería del Software

Conceptos Básicos de Ingeniería del Software 26/09/2014

IR 6

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Conceptos Básicos de Ingeniería del Software

• Software como producto de ingeniería

– El conjunto de productos que deben desarrollarse

y entregarse al cliente durante un proyecto se

denominan entregables.

septiembre 2014 Ingeniería de Requisitos 10

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Conceptos Básicos de Ingeniería del Software

• Productos previos al comienzo del proyecto

– Petición de Propuestas (Request for Proposals)

– Pliego de Prescripciones Técnicas (AA. PP.)

– Oferta

– Contrato

• Deben dejar claro…

– Las necesidades a satisfacer por el sistema.

– Los entregables del proyecto.

– El presupuesto y plazo de ejecución.

– Restricciones técnicas.

– Penalizaciones por retrasos.

– …

septiembre 2014 Ingeniería de Requisitos 11

Page 7: Conceptos Básicos de Ingeniería del Software

Conceptos Básicos de Ingeniería del Software 26/09/2014

IR 7

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Conceptos Básicos de Ingeniería del Software

• Entregables habituales de un proyecto

• Plan de proyecto

• Informes de seguimiento

• Especificación de requisitos

• Documento de diseño

• Plan de pruebas

• Código fuente

• Software ejecutable

• Manuales de usuario

septiembre 2014 Ingeniería de Requisitos 12

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Conceptos Básicos de Ingeniería del Software

• ¿Qué es el ciclo de vida del software?

– El ciclo de vida de un proyecto especifica el

enfoque general del desarrollo, indicando los

procesos, actividades y tareas que se van a

realizar y en qué orden, y los productos que se

van a generar, los que se van a entregar al cliente

y en qué orden se van a entregar.

septiembre 2014 13 Ingeniería de Requisitos

Page 8: Conceptos Básicos de Ingeniería del Software

Conceptos Básicos de Ingeniería del Software 26/09/2014

IR 8

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Conceptos Básicos de Ingeniería del Software

• Ciclo de vida clásico (en cascada)

– Cada fase comienza cuando termina la anterior.

– Asume que se conocen todos los requisitos.

– Se tarda mucho en disponer del software.

– Es mejor que no seguir ningún ciclo de vida.

– Es el más fácil de planificar, es el ciclo ideal.

septiembre 2014 Ingeniería de Requisitos 14

Análisis

Diseño

Implementación

Pruebas

Mantenimiento

Requisitos

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Conceptos Básicos de Ingeniería del Software

• El ciclo de vida evolutivo

– Obtener todos los requisitos al comienzo es

prácticamente imposible.

– Las necesidades de clientes y usuarios

evolucionan durante el desarrollo.

– Ciclos requisitos-desarrollo-evaluación.

– El resultado de la evaluación permite

evolucionar hacia la siguiente

versión.

septiembre 2014 15

Evaluación

Versiones

Dr. Barry Boehm Creador del modelo espiral

Ingeniería de Requisitos

Page 9: Conceptos Básicos de Ingeniería del Software

Conceptos Básicos de Ingeniería del Software 26/09/2014

IR 9

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Conceptos Básicos de Ingeniería del Software

• Ciclo de vida en los métodos ágiles

septiembre 2014 16 Ingeniería de Requisitos

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

• Ciclo de vida en los métodos ágiles

– Son ciclos de vida evolutivos con iteraciones de

corta duración para favorecer la comunicación con

clientes y usuarios.

– En cada iteración se incorporan nuevas peticiones

de clientes y usuarios (requisitos).

Conceptos Básicos de Ingeniería del Software

septiembre 2014 17

Análisis

Diseño

Implementación

Pruebas

Iteración 1

Versión 1

Análisis

Diseño

Implementación

Pruebas

Análisis

Diseño

Implementación

Pruebas

Requisitos Requisitos

Requisitos

Iteración 2

Versión 2

Iteración 3

Versión 3

Ingeniería de Requisitos

Page 10: Conceptos Básicos de Ingeniería del Software

Conceptos Básicos de Ingeniería del Software 26/09/2014

IR 10

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

• Ciclo de vida en cascada vs. ágil

Conceptos Básicos de Ingeniería del Software

septiembre 2014 18 Ingeniería de Requisitos

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Conceptos Básicos de Ingeniería del Software

• El modelo en V

– Asocia un tipo de pruebas a cada producto de

cada fase según su nivel de abstracción.

septiembre 2014 19

Requisitos de Cliente

Requisitos Software

Diseño Arquitectura

Implementación Componentes

Pruebas Unitarias

Pruebas de Integración

Pruebas de Sistema

Pruebas de Aceptación

validan

validan

validan

validan

Ingeniería de Requisitos

Page 11: Conceptos Básicos de Ingeniería del Software

Conceptos Básicos de Ingeniería del Software 26/09/2014

IR 11

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Conceptos Básicos de Ingeniería del Software

• Niveles de gestión de una organización

– Un sistema de información ayuda a…

• Tomar decisiones estratégicas de competitividad.

• Tomar decisiones tácticas de negocio.

• Llevar a cabo los procesos de negocio y sus

operaciones asociadas.

septiembre 2014 Ingeniería de Requisitos 20

Fuente: O’Brien and Marakas, Introduction to Information Systems, 15th edition,

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Conceptos Básicos de Ingeniería del Software

• Niveles de gestión de una organización

– El software para sistemas de información…

• Es el que más se desarrolla a medida

• Es al que se orientan casi todas las metodologías

• Es en el que más importancia tienen los requisitos

septiembre 2014 Ingeniería de Requisitos 21

Fuente: O’Brien and Marakas, Introduction to Information Systems, 15th edition,

Page 12: Conceptos Básicos de Ingeniería del Software

Conceptos Básicos de Ingeniería del Software 26/09/2014

IR 12

1. Proyecto Software

2. Informe CHAOS

3. Entregables de un Proyecto Software

4. Ciclos de Vida de un Proyecto Software

5. Sistemas de Información

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Conceptos Básicos de Ingeniería del Software

• Comentarios, sugerencias, …

Ingeniería de Requisitos 22 septiembre 2014