procesos para la ingeniería de software · 1. resaltar las mejoras necesarias en el producto que...
Post on 20-Apr-2020
4 Views
Preview:
TRANSCRIPT
Facultad de Estadística e Informática
Procesos para la Ingeniería de SoftwarePERIODO FEBRERO-JULIO 2018
Facultad de Estadística e Informática
▪Procesos para la Ingeniería de Software
Introducción
Facultad de Estadística e Informática
AgendaI. Introducción a los procesos de Ingeniería de Software
II. Estructura del proceso de software
◦ Actividades sombrilla
▪ Seguimiento y Control del proyecto de software.
▪ Administración del riesgo.
▪ Administración de la reutilización.
▪ Preparación y producción del producto del trabajo.
▪ Administración de la configuración del software.
▪ Medición.
▪ Revisiones técnicas.
▪ Aseguramiento de la calidad.
Facultad de Estadística e Informática
Introducción
▪El proceso que se lleva a cabo para construir, entregar y mantener un producto de software, desde la concepción de una idea hasta la entrega, y el retiro del sistema es llamado Proceso de Producción de Software
Facultad de Estadística e Informática
Introducción▪Objetivo de los procesos de producción de software:
Satisfacer las expectativas del cliente entregando productos de calidad en tiempo y con un presupuesto determinado.
Realizando productos rentables, de confianza, previsibles y eficientes.
Facultad de Estadística e Informática
Introducción▪Beneficios de un proceso de producción de software bien definido
Facultad de Estadística e Informática
Introducción▪Definiendo un modelo de proceso de producción de software obtenemos los beneficios de los procesos estandarizados, sin embargo recordemos que:▪ El proceso de producción de software es en gran medida una
actividad intelectual difícil de automatizar.
▪ El software es caracterizado por ser altamente inestable: los requerimientos cambian continuamente y como consecuencia, los productos son evolucionables.
Facultad de Estadística e Informática
Estructura del proceso de software
Actividades Estructurales
Actividades Sombrilla
CO
MU
NIC
AC
IÓN
PLA
NEA
CIÓ
N
MO
DEL
AD
O
CO
NST
RU
CC
IÓN
DES
PLI
EGU
E
-Seguimiento y control-Administración del riesgo-Administración de la reutilización-Administración de la configuración del soft.
Facultad de Estadística e Informática
Estructura del proceso de software▪Actividades sombrilla:▪ Seguimiento y Control del proyecto de software.
▪ Administración del riesgo.
▪ Administración de la reutilización.
▪ Preparación y producción del producto del trabajo.
▪ Administración de la configuración del software.
▪ Medición.
▪ Revisiones técnicas.
▪ Aseguramiento de la calidad.
Facultad de Estadística e Informática
▪Actividades estructurales:▪Comunicación
▪Planeación
▪Modelado
▪Construcción
▪Despliegue
Estructura del proceso de software
Facultad de Estadística e Informática
Estructura del proceso de software▪Actividades sombrilla:
1. Seguimiento y Control del proyecto de software.
Facultad de Estadística e Informática
Estructura del proceso de software“El seguimiento es el proceso sistemático en virtud del cual se recopila y se analiza información con el objeto de comparar los avances logrados en función de los planes formulados y corroborar el cumplimento de las normas establecidas.
Ayuda a identificar tendencias y patrones, a adaptar las estrategias y a fundamentar las decisiones relativas a la gestión del proyecto o programa.”
Facultad de Estadística e Informática
Estructura del proceso de software▪¿Qué se requiere para llevar a cabo un seguimiento del avance de
equipo de desarrollo de software?
Una calendarización adecuada, que debe considerar los siguientes puntos:i. Todas las tareas deben aparecer en la red.ii. El esfuerzo y la calendarización deben ser asignados de manera inteligente a cada
tarea.iii. Las interdependencias entre tareas deben ser indicadas de manera adecuada.iv. Deben asignarse los recursos para el trabajo que se va a realizar.v. Deben establecerse hitos espaciados de modo que pueda darse seguimiento al
progreso.vi. Debe permitir identificar las tareas cruciales dentro de la red para monitorear su
progreso y ser capaces de reconocer demoras inmediatamente.
Facultad de Estadística e Informática
Estructura del proceso de software
▪El seguimiento puede lograrse en varias formas diferentes:
▪Realizar reuniones periódicas del estado del proyecto, en las que
cada miembro del equipo reporte avances y problemas.
▪Determinar si los hitos formales del proyecto se lograron en la fecha
prevista.
▪Comparar la fecha de inicio real con la fecha de inicio planeada para
cada tarea de proyecto mencionada en la tabla de recursos.
Facultad de Estadística e Informática
Estructura del proceso de software
▪El seguimiento puede lograrse en varias formas diferentes:
▪Reunirse informalmente con los profesionales para obtener su
valoración subjetiva del avance a la fecha y los problemas en el
horizonte
▪Usar análisis de valor ganado para valorar cuantitativamente el
avance
Facultad de Estadística e Informática
Estructura del proceso de software▪Actividades sombrilla:
2. Administración del riesgo.
Facultad de Estadística e Informática
Estructura del proceso de software¿Que son los riesgos?
Se puede concebir un riesgo como una probabilidad de que una circunstancia adversa ocurra.
Los riesgos son una amenaza para el proyecto, para el software que se está desarrollando y para la organización.
Facultad de Estadística e Informática
Estructura del proceso de softwareCategorías de riesgos
1. Riesgos del proyecto. Éstos afectan la calendarización o los recursos del proyecto. Un ejemplo podría ser la pérdida de un diseñador experimentado.
2. Riesgos del producto. Éstos afectan a la calidad o al rendimiento del software que se está desarrollando. Un ejemplo podría ser que el rendimiento en un componente que hemos comprado sea menor que el esperado.
3. Riesgos del negocio. Estos afectan a la organización que desarrolla o suministra el software. Por ejemplo, que un competidor introduzca un nuevo producto es un riesgo de negocio.
Facultad de Estadística e Informática
Estructura del proceso de softwarePlanes de contingencia.
1. identificación de riesgos. Identificar los posibles riesgos para el proyecto, el producto y los negocios.
2. Análisis de riesgos. Valorar las probabilidades y consecuencias de estos riesgos.
3. Planificación de riesgos. Crear planes para abordar los riesgos, ya sea para evitarlos o minimizar sus efectos en el proyecto.
4. Supervisión de riesgos. Valorar los riesgos de forma constante y revisar los planes para la mitigación de riesgos tan pronto como la información de los riesgos esté disponible.
Facultad de Estadística e Informática
Estructura del proceso de software▪Actividades sombrilla:
3. Administración de la reutilización.
Facultad de Estadística e Informática
Estructura del proceso de software▪Actividades sombrilla:
3. Administración de la reutilización.
Define criterios para volver a usar el producto (o componentes) y establece mecanismos para obtener componentes reutilizables.
Facultad de Estadística e Informática
Estructura del proceso de software▪Beneficios de la reutilización:
oIncremento de la confiabilidad
oReducción del riesgo del proceso
oUso efectivo de especialistas
oCumplimiento de estándares
oDesarrollo acelerado
Facultad de Estadística e Informática
Estructura del proceso de software▪Actividades sombrilla:
4. Preparación y producción del producto del trabajo.
Agrupa las actividades requeridas para crear los productos necesarios del trabajo tales como: modelos, documentos, registros, formatos, y listas.
Facultad de Estadística e Informática
Estructura del proceso de software▪Actividades sombrilla:
5. Administración de la configuración del software.
Facultad de Estadística e Informática
Estructura del proceso de software
▪El arte de coordinar el desarrollo de software para
minimizar [...] la confusión se llama administración de la
configuración, que es el arte de identificar, organizar y
controlar las modificaciones que se hacen al software que
construirá un equipo de programación. La meta es
maximizar la productividad al minimizar los errores.
Babich [Bab86]
Facultad de Estadística e Informática
Estructura del proceso de software
▪¿Cuándo surge la confusión?
▪Los cambios no se analizan antes de que se realicen.
▪Los cambios no se registran antes de que se implanten.
▪Los cambios no se reportan a quienes tienen necesidad de
conocerlos
▪ Los cambios no se controlan en forma que mejore la calidad y se
reduzca el error.
Facultad de Estadística e Informática
Estructura del proceso de software▪La administración de la configuración del software (ACS) es una actividad sombrilla.
1) Identificar el cambio
2) Controlar el cambio
3) Garantizar que el cambio se implementó de manera adecuada y
4) Reportar los cambios a otros que puedan estar interesados.
Facultad de Estadística e Informática
Estructura del proceso de software
“Es muy fácil que un torrente de cambios
descontrolados convierta en caos un proyecto de
software bien estructurado”
Facultad de Estadística e Informática
Estructura del proceso de software
▪¿Qué es la configuración del software?
▪Son los ítems que comprenden toda la información producida como parte
del proceso de software.
▪Un Item de Configuración del Software (ICS) es todo o parte de un
producto de trabajo (por ejemplo, un documento, toda una suite de
casos de prueba o un componente de programa nominado).
Facultad de Estadística e Informática
Estructura del proceso de software▪Actividades sombrilla:
6. Medición.
Facultad de Estadística e Informática
Estructura del proceso de software
EstimaciónCalendariza-ción
Análisis de
riesgos
Planificación de
gestión de la calidad
Planificación de
gestión del
cambio
Planificación de Procesos de Software
Facultad de Estadística e Informática
Estructura del proceso de software
¿En qué consiste la Estimación?
Facultad de Estadística e Informática
Estructura del proceso de software
▪ ¿Cuánto esfuerzo se requiere
para completar una actividad?
▪¿Cuánto tiempo de calendario se
necesita para completar una
actividad?
▪¿Cuál es el costo total de una
actividad?
Facultad de Estadística e Informática
Estructura del proceso de software
▪ ESTIMACIÓN
Intento por determinar cuánto dinero, esfuerzo,
recursos y tiempo tomará construir un sistema o
producto específico basado en software
Facultad de Estadística e Informática
Estructura del proceso de software
▪Algunas estimaciones se realizan antes de la
planeación detallada:
▪ Cálculo del presupuesto del proyecto
▪ Establecimiento de costo de software para un cliente
Una vez iniciado el proyecto, los gestores deben actualizar
las estimaciones de tiempo y costo.
Facultad de Estadística e Informática
Estructura del proceso de software▪Actividades sombrilla:
7. Revisiones técnicas.
Facultad de Estadística e Informática
Estructura del proceso de software▪Las revisiones del software son un “filtro” para el proceso del
software.
▪Se aplican en varios puntos durante la ingeniería de software y
sirven para descubrir errores y defectos a fin de poder eliminarlos.
▪Errar es humano.
▪Algunas personas son buenas para detectar errores propios, sin
embargo algunos pasan desapercibidos con más facilidad para
quien los comete que para otras personas.
Facultad de Estadística e Informática
Estructura del proceso de software
▪Una revisión es una forma de utilizar la diversidad de un grupo
para:
1. Resaltar las mejoras necesarias en el producto que elaboró una
sola persona o equipo;
2. Confirme aquellas partes de un producto en las que no se desea o
no se necesita hacer una mejora.
Las revisiones técnicas son el mecanismo más eficaz para detectar los errores en una etapa temprana del proceso de software.
Facultad de Estadística e Informática
Estructura del proceso de software▪¿Quién hace la revisión?
Los ingenieros de software realizan una revisión técnica, también
llamada revisión de pares, con sus colegas.
Facultad de Estadística e Informática
Estructura del proceso de software
▪Revisión Técnica Formal (RTF)
▪¿Qué es?
Es una actividad del control de calidad del software
realizada por ingenieros de software (y otras personas).
Facultad de Estadística e Informática
Estructura del proceso de software
▪Revisión Técnica Formal (RTF)
▪¿Objetivos?
1. Descubrir los errores en funcionamiento, lógica o implementación de
cualquier representación del software
2. Verificar que el software que se revisa cumple sus requerimientos
3. Garantizar que el software está representado de acuerdo con estándares
predefinidos
4. Obtener software desarrollado de manera uniforme
Facultad de Estadística e Informática
Estructura del proceso de software▪Actividades sombrilla:
8. Aseguramiento de la calidad.
Facultad de Estadística e Informática
Estructura del proceso de software
▪Aseguramiento de la calidad del software
Algunos desarrolladores de software todavía creen que la calidad del
software es algo por lo que hay que empezar a preocuparse una vez
generado el código.
Facultad de Estadística e Informática
Estructura del proceso de software
▪¿Cómo se determina que un sistema tiene mala
calidad?
o Sólo se requiere de tres a cuatro defectos por cada 1, 000 líneas de código para
que un programa tenga mal desempeño.
o La mayoría de los programadores cometen un error en cada 10 líneas de código
que escriben.
La corrección de los errores cuesta a los vendedores de software al menos la mitad de sus presupuestos de desarrollo durante las pruebas.
Facultad de Estadística e Informática
Estructura del proceso de software
▪Costos de la calidad▪El costo promedio por corregir un defecto durante la codificación es
aproximadamente de US$977 por error.
▪El promedio del costo por corregir el mismo error si se descubre
durante las pruebas del sistema es de US$7, 136.
▪Según Cigital: una aplicación grande contiene 200 errores
(200 × US$977) = US$195 400
Facultad de Estadística e Informática
Estructura del proceso de software¿Cuáles son los pasos para lograr software de alta calidad? oUsar procesos y prácticas probados de la ingeniería de software, administrar bien el proyecto
oRealizar un control de calidad exhaustivo
oContar con infraestructura de aseguramiento de la calidad.
Facultad de Estadística e Informática
Estructura del proceso de software▪Aseguramiento de la calidad del software
▪Es una actividad sombrilla. Incluye:
▪ 1) Un proceso de Aseguramiento de la calidad del software (ACS),
▪ 2) Tareas específicas de aseguramiento y control de la calidad (incluidas revisiones técnicas y una estrategia de pruebas relacionadas entre sí)
▪ 3) Prácticas eficaces de ingeniería de software (métodos y herramientas)
▪ 4) Control de todos los productos del trabajo de software y de los cambios que sufren
▪ 5) Un procedimiento para garantizar el cumplimiento de los estándares del desarrollo de software (cuando sea aplicable)
▪ 6) Mecanismos de medición y reporte.
Facultad de Estadística e Informática
Estructura del proceso de software▪Aseguramiento de la calidad del software
▪ Elementos:
▪ Estándares.
▪ Revisiones y auditorías
▪ Pruebas.
▪ Colección y análisis de los errores.
▪ Administración del cambio.
▪ Educación/Capacitación.
▪ Administración de los proveedores.
▪ Administración de la seguridad.
▪ Seguridad.
▪ Administración de riesgos
Facultad de Estadística e Informática
Estructura del proceso de software▪Aseguramiento de la calidad del software
▪Tareas:
▪Dos entidades diferentes ayudan a asegurar la calidad: los ingenieros de software que hacen el trabajo técnico y un grupo de ACS.
▪ El grupo ACS tiene la responsabilidad de planear, supervisar, registrar, analizar y hacer reportes acerca de la calidad.
▪ Los ingenieros de software abordan la calidad (y ejecutan actividades para controlarla), aplicando métodos y medidas técnicas sólidos, realizando revisiones técnicas y haciendo pruebas de software bien planeadas.
Facultad de Estadística e Informática
Estructura del proceso de software▪Aseguramiento de la calidad del software. El grupo ACS:
1. Prepara el plan de ACS para un proyecto.
2. Participa en el desarrollo de la descripción del software del proyecto.
3. Revisa las actividades de la ingeniería de software a fin de verificar el cumplimiento mediante el proceso definido para el software.
4. Audita los productos del trabajo de software designados para verificar que se cumpla con aquellos definidos como parte del proceso de software.
5. Registra toda falta de cumplimiento y la reporta a la alta dirección.
Coordina el control y administración del cambio y ayuda a recabar y analizar métricas para el software.
Facultad de Estadística e Informática
Estructura del proceso de software▪Aseguramiento de la calidad del software
▪El plan ACS incluye:
▪Las evaluaciones que se van a realizar
▪Las auditorías y revisiones por efectuar
▪Los estándares aplicables al proyecto
▪Los procedimientos para reportar y dar seguimiento a los errores
▪Los productos del trabajo que genera el grupo de ACS y la retroalimentación que se dará al equipo del software.
Facultad de Estadística e Informática
Estructura del proceso de software
¿Cuál es el producto final?
▪Software que satisface las necesidades del consumidor, con
un desempeño apropiado y confiable, y que agrega valor
para todos los que lo utilizan.
Facultad de Estadística e Informática
Bibliografía
Pressman, R.S., Ingeniería del Software. Un enfoque práctico, quinta edición, 2002, España.
Sommerville I., Ingeniería de Software, Addison-Wesley, 6ª. Edición, 2002, México.
McConnell Steve, "Desarrollo y Gestión de proyectos informáticos", Ed. McGraw-Hill, 1997, España.
Anaya Julio Juan. Logística integral: la gestión operativa de la empresa, 3ª edición. Madrid 2007. ESIC
Facultad de Estadística e Informática
Gracias por su atención
top related