You are on page 1of 23

Proceso de Software

PCA
B/QUILLA
NOV-2017
Introduccin
Tradicionalmente la ingeniera de software se ha centrado
en metodologas y lenguajes de programacin, modelos
de desarrollo y herramientas.

Teniendo en cuenta la creciente complejidad de los


sistemas, se hacia necesario incluir determinadas reas
que hoy en da son criticas para la ingeniera de software,
como las infraestructuras de gestin y organizacin. Por lo
que surge la denominada Ingeniera de software basada
en el proceso
Proceso de software
Un proceso se define como un conjunto de actividades
interrelacionadas que transforman entradas en salidas (ISO,
1995). Un proceso define quien esta haciendo que, cuando, y
como alcanzar un determinado objetivo.
Un proceso esta basado en el de ciclo de vida, y cubre
todos los elementos necesarios (tecnologas, personal,
artefactos, procedimientos, etc.)
Procesos de software

Relacionado con la
Proceso de construccion y
produccion mantenimiento del
producto software TECNOLOGIA
PROCESO DEL
SOFTWARE PROCESO DE
Encargado de estimar, SOFTWARE
planificar y controlar los
Proceso de
recursos necesarios
gestion
(personas, tiempo,
tecnologa )

Como resultado se han desarrollado los denominados Entornos de


Ingeniera del Software orientados al Proceso, (PSEE, Process-centered
Software Engineering Environment).
CATEGORIAS DEL PROCESO DE SOFTWARE

TECNOLOGIA DE DESAROOLLO DE Relacionado con el soporte tecnolgico, en forma de


SOFTWARE herramientas, infraestructuras y entornos.

Constituyen lneas guas sobre como se deben hacer


METODOS Y TECNICAS DE DESARROLLO
las cosas: uso de la tecnologa y realizacin de las
actividades.

Relacionado con los recursos humanos.


Los procesos software son llevados a cabo por
COMPORTAMIENTO ORGANIZACIONAL equipos de personas que tienen que estar
coordinados y deben gestionarse desde una
eficiente estructura organizacional.

Relacionado con la gestin de proyectos, debido a


ECONOMIA Y MARKETING que el producto software final debe cumplir con
unos plazos y costes determinados y debe satisfacer
las necesidades del cliente al que va destinado.
Gestin de los procesos de software
Los requisitos de calidad mas significativos de los procesos de
software son:

1. Que produzcan los resultados esperados.


2. Que estn basados en una correcta definicin .
3. Que sean mejorados en funcin de los objetivos de
negocios.

Para aplicar esta gestin de formar efectiva es necesario


asumir cuatro responsabilidades ;
Definir, medir, controlar y mejorar el proceso.
La definicin del proceso es la primera responsabilidad clave que hay
Definicin del que asumir para poder realizar una gestin efectiva de los mismos.
Proceso. Para ello, es necesario modelar los procesos, es decir, representar los
elementos de inters que intervienen.

Los proyectos software de una empresa se llevan a cabo de acuerdo a


los modelos de procesos definidos. En este sentido, es importante
Ejecucin y poder controlar en todo momento la ejecucin de estos proyectos (y
Control del en consecuencia, de los procesos correspondientes) para garantizar
Proceso que se obtengan los resultados esperados.

Existe una importante correlacin entre la medicin y la Mejora de los


procesos software. Antes de poder mejorar un proceso es necesario
Medicin y llevar a cabo una evaluacin, cuyo objetivo es detectar los aspectos
Mejora que se pueden mejorar. Para ello, es conveniente disponer de un
marco de trabajo efectivo que facilite la identificacin de las entidades
relevantes candidatas a ser medidas.
Modelado de los procesos de
software
Uno de los aspectos bsicos fundamentales para la tecnologa
de soporte a los procesos software es disponer de modelos
de procesos que represente fielmente la forma de hacer las
cosas de las organizaciones.

Uno de los grandes objetivos de la tecnologa de procesos es


lograr que la representacin de procesos pueda ser usada
para gestionar los procesos actuales y de desarrollo y
mantenimiento del software.
Objetivos y beneficios
Lo que requiere que un modelo de procesos contenga suficiente
Facilidad de informacin para su representacin. Un modelo, como
entendimiento y representacin del proceso que es, puede ser usado para la
comunicacin formacin del personal.

Soporte y control de la gestin del proceso.


Automatizacin Lo que requiere un entorno de desenrollo efectivo del software,
orientada al proporcionando Orientaciones, instrucciones y material de referencia al
rendimiento usuario.

Soporte automtico Es necesario automatizar ciertas partes del proceso, dar soporte al trabajo
a la ejecucin en grupo, compilacin de mtricas y aseguramiento de la integridad del
proceso.

Soporte a la mejora del proceso.


Lenguajes de Modelado de
Procesos" (LMP)

Tiene como objetivo representar de una forma precisa y no


ambigua, los diferentes elementos relacionados con un proceso
software.
A continuacin se describen los diferentes elementos
relacionados con el modelado de procesos:
Actividad Una actividad es una operacin atmica o compuesta, o un paso de un proceso. Las
actividades se encargan de generar o modificar un conjunto dado de artefactos;
incorporan e implementan procedimientos, reglas y polticas.

El conjunto de artefactos a ser desarrollados, entregados y mantenidos en un proyecto


Producto. es lo que se denomina producto.

Un recurso es un activo que una actividad necesita para llevarse a cabo. En este campo,
hay dos recursos de principal importancia: por un lado los desarrolladores (los agentes
humanos en el proceso), y por otro, las herramientas de desarrollo (los agentes
Recurso computarizados que tradicionalmente han sido usados en desarrollo del software
como editores especializados y Herramientas para la gestin, compiladores, etc.) y las
herramientas de propsito general (como hojas de ca1culo, editores de diagramas, etc.
Que pueden ser usados para manejar el proceso).

Normalmente, las herramientas estn fuertemente unidas a las actividades en las que
Roles y son usadas, mientras que los desarrolladores se relacionan indirectamente a una
Directivas actividad por medio de sus roles, es decir, el conjunto de responsabilidades,
obligaciones y tareas (por ejemplo diseadores, jefes de proyecto, revisores, etc.).
Clasificacin de los lenguajes de modelado de
procesos (LMP)
Representa que elementos del proceso
se estn implementando y que flujos de
infonnaci6n son importantes para los
elementos bsicos del proceso.
funcional

Representa cuando y bajo que


comportamental condiciones se implementan los
Lenguaje de elementos del proceso.
modelados
Organizacional Representa donde y por que persona de
la organizacin son implementados los
elementos del proceso.

Informativo
Representa las entidades de infamacin
de salida 0
Otra posible clasificacin de los lenguajes de modelado es la establecida por
McChesney (1995)

Informales, cuyo objetivo es proporcionar


Descriptivos
un modelo cualitativo e
Cuyo objetivo es describir
un proceso que se esta
llevando a cabo en una
organizacin. Formales, que estan relacionados con la
evaluacion, mejora y prediccin de
procesos

Lenguaje de
modelados
Manuales que pueden ser estndares, y
mtodos centrados en la gestin,
desarrollo, evaluacin, ciclo de vida del
software y procesos de soporte al ciclo de
vida,
Prescriptivos
tienen como objetivo definir los
medios necesarios o Automaticos, que realizan actividades
recomendados para la ejecucin relacionadas con la asistencia, soporte,
de un proceso. gestin y tcnicas de produccin de
software asistida por ordenador.
METAMODELOS DE PROCESO
SOFTWARE
Los metamodelos son usados con frecuencia
por parte de los metodologistas para construir
o modificar metodologas, en cambio las
metodologas son usadas por los equipo de
desarroll software
MODELADO DE PROCESOS: DIAGRAMAS DE GANTT Y
DIAGRAMAS PERT

Los diagramas de Gantt fueron creados por Henry Gantt en el


ao 1917. Representan las diferentes actividades de un proceso
como barras sobre un calendario aportando una representacin
visual de las actividades, su duracin y su planificacin.
Los diagramas PERT (Program Evaluation and Review
Technique) representan generalmente los procesos
mediante un grafo dirigido en el que se incluyen las tareas,
su duracion y sus relaciones de precedencia.
Lenguaje de procesos (PSL)
El lenguaje de especificacin de proceso define una ontologa
estndar y un formato para el intercambio de especificaciones
del proceso de fabricacin.
PSL define un proceso como "un conjunto de actividades en las
que participan algunos objetos en un instante de tiempo
determinado".
Modelo del proceso unificado
El modelo del proceso unificado (Unified Process Model, UPM) (Kruchten,
1999) es una propuesta conjunta de organizaciones como IBM, Rational,
Unisys, etc.

Este metamodelo de procesos se ha usado para definir el "Proceso Unificado


de Rational.

El metamodelo UPM incluye seis paquetes que son:

Nombres , en el que se definen los mecanismos de nombrado


Elementos Bsicos define los elementos bsicos, que son refinados en
otros paquetes.
Estructura del Proceso, define los principales conceptos del proceso, como
artefactos , roles, o productos de trabajo.
Guia, define como debera documentarse cada componente del proceso.
Componentes del Proceso, define mecanismos de empaquetamiento.
SPEM
SPEM (Software Process Engineering Metamodel) es una especificacin de
OMG (Object Management Group) que est basado en MOF (MetaObject
Facility) y es un metamodelo UML (Uniform model lenguaje) es un
metamodelo UML, utiliza su notacin, lo que permite visualizar,
especificar, construir y documentar sistemas orientados a objetos.
Constituye un tipo de ontologa de procesos de desarrollo de software
SPEM proporciona una sintaxis y estructura para cada aspecto de los
procesos desarrollo, incluyendo:
Roles.
Tareas.
Artefactos.
Lista de verificacin
Productos de trabajo.
Tcnicas y herramientas.
Estructuras de trabajo.
Capacidad de rastreo y refinamiento.
Ayuda sensible al contexto, gua y lineamientos.
Descripcin textual de elementos.
SMSDM(Standard metamodel for Software Development
Methodologies)
Establece un marco de trabajo para la definicin y extensin de metodologas
de desarrollo de software. incluyendo sus tres aspectos principales:
El proceso a seguir, los productos utilizados y generados y las personas
implicadas.

Este metamodelo esta basado principalmente en los metamodelos : SPEM y


OPF (OPEN Process Framework) para los constructores directamente
relacionados con el modelado de procesos software

Caractersticas
Facilita la instanciacin capacidad de proceso
Integran