Anda di halaman 1dari 35

Procesos de Desarrollo

de Software
Vctor H. Bustamante O.
vhbo@yahoo.es
Facultad de Ingeniera de Sistemas e Informtica
Universidad Nacional Mayor de San Marcos

Ingeniera de Sw segn PRESSMAN


Es una tecnologa multicapa que
contempla:

Herramientas
Mtodos
Proceso (FUNDAMENTAL)
Basado en un enfoque de calidad

perusoftware.homelinux.org

Proceso: Marco de trabajo aplicable a un


conjunto de reas clave del proceso para
entregar software de calidad. Las ACP
establecen el contexto donde se aplican los
mtodos, se pruducen documentos, se
asegura calidad y se gestiona el cambio.

perusoftware.homelinux.org

Mtodos: Indican COMO construir


tcnicamente el software, incluyen
actividades de modelado y otras tcnicas
descriptivas.
Herramientas: Proporcionan un enfoque
automtico para el proceso y para los
mtodos.

perusoftware.homelinux.org

perusoftware.homelinux.org

Qu es un proceso de desarrollo?

Deseos,
necesidades,
Especificaciones,

Software

perusoftware.homelinux.org

Proceso de desarrollo de SW
Propsito del proceso de desarrollo de
Software

La produccin eficaz y eficiente de un


producto software que rena los requisitos del
cliente.
Este proceso es intensamente intelectual,
afectado por la creatividad y juicio de las
personas involucradas.
Requisitos nuevos
o modificados

Proceso de Desarrollo
de Software

Sistema nuevo
o modificado

perusoftware.homelinux.org

Caractersticas del desarrollo de


SW
El SW en s es complejo, es prcticamente
inviable conseguir un 100% de
confiabilidad de un programa por pequeo
que sea.
El SW es intangible y por lo general muy
abstracto, esto dificulta la definicin del
producto y sus requisitos, sobre todo
cuando no se tiene precedentes en
productos software similares.

Los cambios en los requisitos son inevitables


8

perusoftware.homelinux.org

Caractersticas del desarrollo de


SW
El proceso de desarrollo de software no es
nico, lo que hace muy difcil su
automatizacin.
La IS es todava una actividad inmadura.

perusoftware.homelinux.org

Actividades Fundamentales
Existe un conjunto de actividades fundamentales
que se encuentran presentes en todos proceso de
desarrollo:

Especificacin de software: Se define la


funcionalidad y restricciones operacionales que debe
cumplir el software.
Diseo e Implementacin: Se disea y construye el
software de acuerdo a la especificacin.
Validacin: El software debe validarse, para asegurar
que cumpla con lo que quiere el cliente.
Evolucin: El software debe evolucionar, para
adaptarse a las necesidades del cliente.

10

perusoftware.homelinux.org

Actividades Protectoras

Seguimiento y control de proyectos.


Revisiones tcnicas formales.
Garanta de calidad del software.
Gestin de configuracin del software.
Preparacin y produccin de documentos.
Mediciones.
Gestin de riesgos

11

perusoftware.homelinux.org

El Proceso segn Pressman


Un marco comn del proceso, son las
actividades del marco de trabajo que son
aplicables a todos los proyectos de software,
con independencia del tamao o
complejidad.
Un conjunto de tareas, cada actividad es
una coleccin de tareas de IS, hitos de
proyectos, entregas y productos de trabajo
del software que permiten que las
actividades del marco de trabajo se adapten
a las caractersticas del proyecto de software
y los requisitos del equipo del proyecto.
Actividades de proteccin, tales como
garanta de calidad del software, gestin de
configuracin del software y medicin,
abarcan el modelo del proceso. Son
independientes de cualquier actividad del
marco de trabajo y aparecen durante todo el
proceso.

12

perusoftware.homelinux.org

El Proceso de Software
Marco de Trabajo Comn
del proceso.

Actividades del Marco de


Trabajo.
Conuntos de Tareas.
Tareas.
Hitos, Entregas.
Puntos de
aseguramiento de
la calidad SQA.
Actividades de
proteccin.
Garanta de calidad,
gestin de
configuracin y
medicin.

Se define un Framework
del proceso con un
conjunto de actividades
aplicables a todos los
proyectos de SW.
El conjunto de tareas
permiten que las
actividades se adapten a
las caractersiticas del
proyecto y los requisitos
del equipo.
Las actividades de
proteccin aparecen
durante todo el proceso.

13

perusoftware.homelinux.org

Elementos del proceso de


desarrollo
Quin debe hacer Qu, Cundo y Cmo
debe hacerlo.
Actividades
Herramientas

Personas

Proceso
SW

Roles

Artefactos

Notacin

14

perusoftware.homelinux.org

Elementos del proceso de


desarrollo
Quin: Las Personas participantes que
desempean uno o ms Roles especficos.
Qu: Un Artefacto es producido por un Rol en una
de sus Actividades. Estos se especifican utilizando
Notaciones especficas. Las Herramientas apoyan
la elaboracin de los Artefactos.
Cmo y Cundo: Las Actividades son una serie
de pasos que lleva a cabo un Rol durante el
proceso de desarrollo. El avance del proyecto est
controlado mediante hitos que establecen un
determinado estado de terminacin de ciertos
Artefactos.
15

perusoftware.homelinux.org

Artefacto
Un artefacto es una pieza de informacin
que:

(1) es producida, modificada o usada por el


proceso,
(2) define un rea de responsabilidad para un
rol y
(3) est sujeta a control de versiones.

Un artefacto puede ser un modelo, un


elemento de modelo o un documento.

16

perusoftware.homelinux.org

Principios y Prcticas
Forman la base para componer y
sincronizar las actividades del proceso.
Las Prcticas y Principios enfatizan ciertas
actividades y/o la forma como deben
realizarse, por ejemplo:

desarrollar iterativamente, gestionar


requisitos, desarrollo basado en componentes,
modelar visualmente, verificar continuamente
la calidad, gestionar los cambios, etc.

17

perusoftware.homelinux.org

Modelo de Proceso de Software


Representacin simplificada de un proceso
de software, representada desde una
perspectiva especfica. Por su naturaleza
los modelos son simplificados, por lo tanto
un modelo de procesos del software es una
abstraccin de un proceso real. [Ian
Sommerville]

18

perusoftware.homelinux.org

Algunos modelos de proceso


El modelo es una representacin
simplificada de un proceso de software que
conlleva una estrategia global para abordar
el desarrollo de software

Codificar y corregir
Modelo en cascada
Desarrollo evolutivo
Desarrollo basado en reutilizacin
Desarrollo incremental
Desarrollo en espiral
19

perusoftware.homelinux.org

Codificar y corregir
Este es el modelo bsico
utilizado en los inicios del
desarrollo de software.
Contiene dos pasos:

Escribir cdigo.
Corregir problemas en el
cdigo.

Primero implementar algo


de cdigo y luego pensar
acerca de requisitos,
diseo, validacin, y
mantenimiento
20

perusoftware.homelinux.org

Desarrollo en cascada
La Versin Ideal
(Perfecta)
El Modelo en V
El Helado de
Cucurucho
El Modelo Real
Propuesta de
Yourdon

21

perusoftware.homelinux.org

Modelo en V
Identificacin
de Necesidades

Explotacin

Especificacin
Esencial

Validacin

Especificacin
Fsica

Diseo

Empaquetado

Integracin

Codificacin
22

perusoftware.homelinux.org

Helado de Cucurucho
USUARIOS

Identificacin
de Necesidades

Explotacin

Especificacin
Esencial

CLIENTES

Especificacin
Fsica

ANALISTA Empaquetado

Diseo
DISEADORES Y
CODIFICADORES

Validacin

Integracin

Codificacin

23

perusoftware.homelinux.org

Modelo Real
Explotacin

de Necesidades
Especificacin
Esencial

Validacin

Especificacin
Fsica

Diseo

Empaquetado

Integracin

Codificacin
24

perusoftware.homelinux.org

Propuesta de Yourdon
Requerimientos del Usuario

Sistema
Probado

Encuesta

Prueba de
Sistema
Subsistemas
Probados

Anlisis

Especificacin
Funcional
Necesidades de
diseo
Rendimiento
Preliminar

Estudio
del HW

Configuracin
Especificacin
Final
Diseo
del Sistema
Detallado
Especificacin
de los
Programas

Prueba de
subsistema

Codificacin

Prueba de
Unidad

Mdulos
Probados

Mdulos
Codificados

25

perusoftware.homelinux.org

Construccin de Prototipos

Obtencin
Especificacin

Construccin
Prototipo

Aceptado
Evaluacin
Cliente

Mejora de la
Especificacin

NO Aceptado

Ciclo de
Vida
Clsico

26

perusoftware.homelinux.org

Clases de prototipos
De INTERFACE.

Usualmente un modelo de papel o sobre PC en


el que se muestran pantallas y listados.

De COMPORTAMIENTO:

En anchura. Ofrece todos los mens del


sistema y simula dbilmente los procesos.
En profundidad. Cubre funciones que
presentan ambigedades al cliente o a los
informticos.
Completo pero de baja calidad y rendimiento.
27

perusoftware.homelinux.org

Incremental
Bloque 1

Requeri
mientos

Diseo

Impleme Pruebas
ntacin

Requeri
mientos

Bloque N

Diseo

Permite el
desarrollo
concurrente

Requerimientos

Diseo

Bloque 1

Bloque N

Impleme Pruebas
ntacin

Impleme Pruebas
ntacin

Diseo

Impleme
ntacin

Pruebas

28

perusoftware.homelinux.org

Incremental

29

perusoftware.homelinux.org

Modelo de Madurez de
Capacidades
CMM por sus siglas en ingls.
Desarrollado por el Instituto de Ingeniera de
Software (SEI).
Basado en un conjunto de funciones de ISw
que deberan estar presentes conforme se
alcanzan diferentes grados de madurez del
proceso del SW.
Proporciona una medida de la efectividad
global de las prcticas de ISw de una
compaa.
Establece 5 niveles de madurez del proceso
30

perusoftware.homelinux.org

Nivel 1 Inicial. Proceso catico, existen


pocos procesos y el xito depende del
esfuerzo individual.

Situacin sin ningn esfuerzo en la garanta de


calidad y gestin del proyecto.
Cada equipo del proyecto desarrolla el
software a a su manera.

31

perusoftware.homelinux.org

Nivel 2 Repetible. Se establecen


procesos de gestin de proyectos para
hacer seguimiento del costo, planificacin y
funcionalidad. Para repetir exitos
anteriores con proyectos similares se aplica
la disciplina necesaria para el proceso.

Se han definido algunas actividades tales


como:
Informe de esfuerzo y tiempo empleado.
Informe de tareas realizadas.

32

perusoftware.homelinux.org

Nivel 3 Definido. El proceso de las


actividades de gestin y de ingeniera se
documenta, se estandariza y se integra
dentro de un todo. Todos lo proyectos
utilizan una versin documentada y
aprobada del proceso.

Se han definido tanto procesos tcnicos como


de gestin.
Ejemplo: se definen estndares de
programacin y se hacen cumplir mediante
auditoras.
Pocos empresas han superado este nivel.
33

perusoftware.homelinux.org

Nivel 4 Gestionado. Se recopilan medidas


detalladas del proceso del software y de la
calidad del producto.

Comprende el concepto de medicin y


mtrica.
Una mtrica es una cantidad insignificante que
se puede extraer de algn documento o
cdigo.
Ejemplo: # de condicionales en una seccin de
cdigo, la cual proporciona alguna indicacin
acerca del esfuerzo necesario para probar el
cdigo.
34

perusoftware.homelinux.org

Nivel 5 Optimizacin. Se utiliza la


retroalimentacin para mejorar el proceso.

Representa la analoga del software con otros


procesos de control de calidad que existen en
otras industrias.
Se pueden predecir resultados tales como el #
de errores latentes en funcin de las
mediciones tomadas durante la ejecucin de
un proyecto.

35

perusoftware.homelinux.org

Anda mungkin juga menyukai