29
INGENIERIA DE SOFTWARE JESÚS FLORES CORNEJO 2015

1. Clases is Conceptos

Embed Size (px)

DESCRIPTION

Ingenieria de Software

Citation preview

Page 1: 1. Clases is Conceptos

INGENIERIA DE SOFTWARE

J E S Ú S F L O R E S C O R N E J O

2 0 1 5

Page 2: 1. Clases is Conceptos

…Típica apariencia del estudiante promedio cuando le preguntan acerca de Ingeniería de Software…

Page 3: 1. Clases is Conceptos
Page 4: 1. Clases is Conceptos

¿QUE ES LA INGENIERÍA DEL SOFTWARE ?

Definición 1: Zelkovitz. Principles of Software Engineering and Design. Ingeniería del software es el estudio de los principios y metodologías para desarrollo y mantenimiento de sistemas de software.

Definición 2: Boehm. Software Engineering. Ingeniería del software es la aplicación práctica del conocimiento científico en el diseño y construcción de programas de computadora y la documentación asociada requerida para desarrollar, operar y mantenerlos.

Definición 3: Bauer. Software Engineering. Ingeniería del software trata del establecimiento de los principios y métodos de la ingeniería a fin de obtener software de modo rentable que sea fiable y trabaje en máquinas reales.

Definición 4: Pressman. Ingeniería del Software. La Ingeniería de/l software es una disciplina o área de la informática o Ciencias de la Computación, que ofrece métodos y técnicas para desarrollar y mantener software de calidad que resuelven problemas de todo tipo.

Definición 5: Braude. Ingeniería de Software. La ingeniería de software es el proceso de construir aplicaciones de tamaño o alcance prácticos, en las que predomina el esfuerzo del software y que satisfacen los requerimientos de funcionalidad y desempeño.

Definición 6: IEEE. La aplicación de un enfoque sistemático, disciplinado y cuantificable hacia el desarrollo, operación y mantenimiento del software; es decir, la aplicación de ingeniería al software.

Page 5: 1. Clases is Conceptos

EL CICLO DE VIDA Todo proyecto de ingeniería tiene unos fines ligados a la obtención de un producto, proceso o servicio que es necesario generar a través de diversas actividades. Algunas de estas actividades pueden agruparse en fases porque globalmente contribuyen a obtener un producto intermedio, necesario para continuar hacia el producto final y facilitar la gestión del proyecto. Al conjunto de las fases empleadas se le denomina “ciclo de vida”.

Page 6: 1. Clases is Conceptos

¿Qué es el Ciclo de Vida del SW? Es una sucesión de etapas por las que pasa el software en su desarrollo, desde que se concibe la idea hasta que el software deja de utilizarse (obsolescencia).

Cada etapa lleva asociada una serie de actividades y tareas que se deben realizar, y una serie de documentos que serán la salida de cada una de estas fases y que servirán de entrada a la fase siguiente.

Page 7: 1. Clases is Conceptos

¿Qué es el Ciclo de Vida del SW? Según la norma ISO/IEC Standard 12207:2008: Software life-Cycle processes propuesta por la ISO (International Organization for Standardization): “Es un marco de referencia que contiene los procesos, actividades y las tareas involucradas en el desarrollo, explotación y mantenimiento de un producto software, abarcando la vida del sistema desde la definición de requisitos hasta que se deja de utilizar” http://www.iso.org/iso/home.htm

Page 8: 1. Clases is Conceptos

¿Qué es el Ciclo de Vida del SW? ¿Qué es un proceso? Un proceso es un conjunto de actividades que se suceden siguiendo

una ordenación temporal determinada ¿Qué es una actividad? Una actividad es un conjunto de tareas ¿Qué es una tarea? Una acción que transforma unas entradas en unas salidas

Page 9: 1. Clases is Conceptos

Análisis

Diseño

Pruebas -

Certificación

Inicio y

planificación ( Plan del Proyecto)

Cierre Evaluación, cierre y

lecciones aprendidas

Ejecución y Control Seguimiento, gestión de riesgos y problemas, control de

cambios, estado, etc

Ciclo de vida del desarrollo del proyecto

Ciclo de vida de Gestión del proyecto

Fecha de implementación

Construcción

Implementación

Ciclo de vida de un proyecto

Page 10: 1. Clases is Conceptos

Ejecución y Control

DISEÑO CONSTRUCCION

IMPLEMENTACION PRUEBAS

ANALISIS

QA6

Inicio y

Planificación Cierre

QA1 QA3

QA4 QA5

Contrato y acuerdos Administración del contrato Cierre del

contrato

QA2

Arquitectura del Proyecto y Software

CVDS

CVGP

CVAP

CVCO

Calidad QA6 QA3 QA1

EL CICLO DE VIDA

Page 11: 1. Clases is Conceptos

Recursos

Humanos Comunicación

Abastecimiento

Riesgos

Gerenciamiento

de

Proyectos

Alcance Visión

Integral

Calidad Costos Tiempos

Modelo PMI

Areas de

Conocimiento

Interesados

Page 12: 1. Clases is Conceptos
Page 13: 1. Clases is Conceptos
Page 14: 1. Clases is Conceptos
Page 15: 1. Clases is Conceptos
Page 16: 1. Clases is Conceptos

Ciclo de vida de un Producto

Page 17: 1. Clases is Conceptos
Page 18: 1. Clases is Conceptos
Page 19: 1. Clases is Conceptos

RESUMIENDO…

La ingeniería de software es una aplicación práctica del

conocimiento científico para proveer metodologías y

técnicas que ayuden a desarrollar sistemas de software

a tiempo, y a su vez que aseguren que el desarrollador

cumpla con las expectativas de calidad y permanezca

dentro del presupuesto.

Page 20: 1. Clases is Conceptos

Porque se crea la Ingeniería de Software??

La ingeniería de software se crea debido a las siguientes características:

El producto debe ser confiable y realizar sólo las tareas especificadas en los requerimientos.

El producto debe ser robusto. Esto quiere decir que el software se comporta de manera razonable, incluso en circunstancias no anticipadas desde el principio.

El producto de software debe ser lo más reutilizable posible, de manera tal que pueda ser incorporado en otro producto de software si se requiere.

El producto de software debe ser eficiente en el uso de los recursos del sistema.

Se requiere desarrollar el software en una manera que lo haga evolutivo, de forma tal que se pueda agregar funcionalidad adicional sin efectos perjudiciales.

El producto de software debe cumplir con los requerimientos de rendimiento especificados, es decir, debe cumplir algunas de las restricciones relacionadas al rendimiento.

El producto de software tendrá mayor valor si es portable, es decir que puede trabajar bajo diferentes plataformas de software y ambientes (hardware, sistemas operativos, etc.).

El producto de software debe ser utilizable, es decir, el aprendizaje de su uso debe ser los suficientemente sencillo por parte de personas no especialistas.

Page 21: 1. Clases is Conceptos

2.5. CAPAS DEL SOFTWARE

La Ingeniería del Software es una tecnología estratificada, y debe estar sustentada en un compromiso con la calidad.

Page 22: 1. Clases is Conceptos

2.7. SOFTWARE DE ALTA CALIDAD

¿Qué es calidad?

El grado en que un sistema, componente, o

proceso cumple con los requerimientos

especificados, y las necesidades y/o expectativas

del cliente o usuario.

Page 23: 1. Clases is Conceptos

ISO 9000: “Calidad: grado en el que un conjunto de características inherentes cumple

con los requisitos”

Real Academia de la Lengua Española: “Propiedad o conjunto de propiedades

inherentes a una cosa que permiten apreciarla como igual, mejor o peor que las

restantes de su especie”

Philip Crosby: ”Calidad es cumplimiento de requisitos”

Armand V. Feigenbaum: “Satisfacción de las expectativas del cliente”.

Genichi Taguchi: “Calidad es la menor pérdida posible para la sociedad”.

William Edwards Deming: “Calidad es satisfacción del cliente”.

Walter A. Shewhart: ”La calidad como resultado de la interacción de dos dimensiones:

dimensión subjetiva (lo que el cliente quiere) y dimensión objetiva (lo que se ofrece).

.

Otras definiciones de CALIDAD

Page 24: 1. Clases is Conceptos

2.7. SOFTWARE DE ALTA CALIDAD

¿Qué es calidad de software? Pressman (2002) se refiere a la calidad del

software como

“La concordancia con los requisitos funcionales y de rendimiento explícitamente establecidos, con los estándares de desarrollo explícitamente documentados, y con las características implícitas que se espera de todo software desarrollado profesionalmente”.

Page 25: 1. Clases is Conceptos

Capa del Proceso

Las áreas claves del Proceso forman la base del control de gestión de proyectos del software y establecen contexto en el que se aplican los métodos técnicos, se obtienen productos del trabajo (modelos, documentos, datos, informes, formularios, etc.), se establecen hitos, se segura la calidad y el cambio se gestiona adecuadamente.

Page 26: 1. Clases is Conceptos

Proceso de Desarrollo de Software

Es un conjunto de personas, estructuras de organización, reglas, políticas, actividades y sus procedimientos, componentes de software, metodologías, y herramientas utilizadas o creadas especificamente para definir, desarrollar, ofrecer un servicio, innovar y extender un producto de software.

Page 27: 1. Clases is Conceptos

Capa de los Métodos

Los métodos de la Ingeniería del Software indican “como” construir técnicamente el software. Los métodos abarcan una gran gama de tareas que incluyen análisis de requisitos, diseño, construcción de programas, pruebas y mantenimiento.

Page 28: 1. Clases is Conceptos

Capa de Herramientas

Las herramientas de la Ingeniería de Software proporcionan un enfoque automático o semi-automático para el proceso y para los métodos. Cuando se integran herramientas para que la información creada por una herramienta la pueda utilizar otra, se establece un sistema de soporte para el desarrollo del software llamado Ingeniería del Software Asistida por Computadora (CASE).

Page 29: 1. Clases is Conceptos

Conclusión y reflexión

El SW es actualmente un elemento de vital importancia para la humanidad.

El SW esta por doquier: dispositivos móviles, electrodomésticos, etc.

Dada esta importancia es paradójico que aún los enfoques metodológicos no hayan penetrado suficientemente en el desarrollo

Es imperativo que los estudiantes de ingeniería de sistemas y ciencias afines entiendan la importancias de estos enfoques, para garantizar el futuro de las empresas de software.