PDF de programación - Programación orientada a objetos: Lenguages, Metodologías y Herramientas - Proceso de desarrollo de aplicaciones software

Imágen de pdf Programación orientada a objetos: Lenguages, Metodologías y Herramientas - Proceso de desarrollo de aplicaciones software

Programación orientada a objetos: Lenguages, Metodologías y Herramientas - Proceso de desarrollo de aplicaciones softwaregráfica de visualizaciones

Publicado el 14 de Enero del 2017
964 visualizaciones desde el 14 de Enero del 2017
2,2 MB
37 paginas
Creado hace 16a (21/04/2008)
Proceso de desarrollo de aplicaciones software

Programación orientada a objetos:

Lenguages, Metodologías y Herramientas

Master de Computación

Proceso de desarrollo de
aplicaciones software

José M. Drake
Computadores y Tiempo Real

Santander, 2008

Ingeniería de Programación (4º Físicas) J.M. Drake

0

Proceso de desarrollo de aplicaciones software

Proceso de desarrollo de aplicaciones software.

Un proceso de desarrollo de software es la descripción de una
secuencia de actividades que deben ser seguida por un equipo
de trabajadores para generar un conjunto coherente de
productos, uno de los cuales en el programa del sistema
deseado.

El objetivo básico del proceso es hacer predecible el trabajo
que se requiere:
Predecir el costo.
Mantener un nivel de calidad
Predecir el tiempo de desarrollo

Santander, 2008 OO_08: Proceso de desarrollo de software

J.M. Drake

1

El objetivo de un proceso de desarrollo de programas es la formalización de las actividades
relacionadas con el desarrollo del software de un sistema informático.
La mayoría de los proyectos que se desarrollan, finalizan tarde, cuesta mucho mas de lo
estimado. ¿Por qué ocurre esto?. El software se encuadra entre los artefactos mas complejos
que es capaz de desarrollar el hombre, y además dado que no tiene límites físicos por su
carácter inmaterial, su dimensión se puede imaginar ilimitada.

Ingeniería de Programación (4º Físicas) J.M. Drake

1

Proceso de desarrollo de aplicaciones software

Naturaleza de las aplicaciones software

No existe un proceso de desarrollo universal. Debe configu-
rarse de acuerdo con la naturaleza del producto y de la
experiencia de la empresa.
Tipos de aplicaciones:
Aplicaciones Monoprocesadoras: Se ejecutan en un solo computa-

dor. No se comunica con otras aplicaciones. Ej. Procesador de texto.

Aplicaciones Embebidas: Se ejecuta en un entorno computarizado

especial. Requiere codiseño hardware/software. Ej: Teléfono móvil.

Aplicaciones de Tiempo Real: Tiene entre sus especificaciones

requerimiento temporales.Naturaleza reactiva. Ej: Software de radar.

Aplicaciones Distribuidas: Se ejecuta en múltiples procesadores.
Requiere intercomunicación a través de la red. Ej: Aplicaciones de red.

Santander, 2008 OO_08: Proceso de desarrollo de software

J.M. Drake

2

La adopción por una empresa de un proceso de desarrollo contrastado, le permite producir
aplicaciones software con plazos y costos predecibles y con calidad constante.
En esta sección se estudia un marco de desarrollo basados en criterios genéricos, y que cada
empresa debe configurar y refinar de acuerdo con las características de la empresa y del
producto.
No existe un proceso único aplicable al desarrollo de cualquier tipo de aplicación, adoptable
por cualquier empresa y valido para cualquier cultura productiva

Ingeniería de Programación (4º Físicas) J.M. Drake

2

Proceso de desarrollo de aplicaciones software

Objetivos de un proceso de desarrollo

Proporcionar una guía de ejecución del proyecto que defina para los
técnicos la secuencia de tareas que se requieren y los productos que deben
generar.
Mejorar la calidad del producto en:
Disminuir el número de fallos
Bajar la severidad de los defectos
Mejorar la reusabilidad
Mejorar la estabilidad del desarrollo y el costo de mantenibilidad

Mejorar la predecibilidad del proyecto en:
La cantidad de trabajo que requiere
El tiempo de desarrollo que se necesita

Generar la información adecuada a los diferentes responsables de forma
que ellos puedan hacer un seguimiento efectivo.

Santander, 2008 OO_08: Proceso de desarrollo de software

J.M. Drake

3

La razón básica por la que se requiere disponer de un proceso de desarrollo es mejorar la
seguridad de trabajo eliminando riesgos innecesarios y conseguir un producto de la máxima
calidad.
Específicamente un proceso de desarrollo debe conseguir:
•Proporcionar una plantilla de desarrollo del proyecto en el que quede definido lo que cada
trabajador que interviene debe realizar y los productos que debe generar a lo largo de él.
•Mejorar la calidad del producto que se genera en función de:

•Disminuir el número de defectos que se producen y que deben ser corregidos.
•Disminuir la severidad de los defectos residuales que al final pueden permanecer en
el productos final.
•Mejorar la reusabilidad, de forma que gran parte del trabajo que se realiza pueda ser
reutilizado en próximos proyectos.
•Mejorar la estabilidad del proceso de forma que se minimicen las reelaboraciones
del producto.
•Generar un producto que sea de fácil mantenimiento posterior.

•Mejorar la predecibilidad del proyecto en función de:

•La cantidad de esfuerzo humano y de recursos que requiera.
•Disminuir los plazos de desarrollo y llegada al mercado.

•Generar a lo largo del desarrollo de la información adecuada y diferenciada para que los
diferentes responsable del proyecto puedan hacer su seguimiento de forma efectiva.

Ingeniería de Programación (4º Físicas) J.M. Drake

3

Proceso de desarrollo de aplicaciones software

Elementos básicos de un proyecto.

Plan trabajo

Líneas de trabajo

Planificación

Planifica

Define

Organiza

Actividad

Soporta

Herramientas
de desarrollo

Realiza

Trabaja en

Resultado

Trabajador

Crea
Genera
Usa

Especifica

Formaliza

Producto

Identifica

Gestiona

Guía

Plantilla

Defectos y problemas

Configuración

y gestión

Santander, 2008 OO_08: Proceso de desarrollo de software

J.M. Drake

4

Los elementos básicos de un proceso de desarrollo de software es definir los papeles que
juegan los trabajadores, las actividades que desarrollan y los productos que deben generarse.
En un plan de desarrollo cada trabajador debe tener su papel dentro de él, lo que define las
actividades que debe realizar y los productos que debe generar.
Las actividades son las tareas que deben realizar los trabajadores para cumplir sus
obligaciones. A alto nivel, estas actividades son concebidas como las fases del proceso
(especificación, análisis, ..), mientras que a mas bajo nivel son tareas mas concretas (crear
cierto diagramas, escribir código,..).
Los productos son los documentos o información que debe ser creada como consecuencia de
la actividad que se desarrolla. El producto último es el sistema que se desarrolla, pero en las
fases intermedias deben generarse una amplia gama de documentos intermedios. Cada
actividad debe tener siempre como principal objetivo generar ciertos productos bien definidos
y especificados.
Los procesos deben estar condicionados por el tipo de producto que se desarrolla y por la
tradición y experiencia de la empresa que lo desarrolla.

Ingeniería de Programación (4º Físicas) J.M. Drake

4

Proceso de desarrollo de aplicaciones software

Escalabilidad.

La escalabilidad es una propiedad importante de un proceso, ya que la
dimensión de los proyectos software son muy variables.
Describe, si el esfuerzo que se requiere en el desarrollo de un proyecto
varía suavemente (linealmente) con su complejidad.
Cuando la complejidad de un proyecto crece:
Aumentan los niveles de abstracción que se usan.
Se incrementan la intercomunicación entre los miembros.
Es mas difícil localizar los errores.
Hay que buscar que el esfuerzo crezca linealmente y
no exponencialmente.
Formas de conseguir la escalabilidad:
Disponer de diferentes escalas temporal para generar

Proyecto
pequeño

Esfuerzo

las actividades.

Hacer que las guías y plantillas tengan optatividad de

acuerdo con las características del proyecto.

Proyecto
grande

Complejidad

Santander, 2008 OO_08: Proceso de desarrollo de software

J.M. Drake

5

Una de las propiedades que deben ser exigidas a un proceso de desarrollo de aplicaciones
software es la escalabilidad, lo que hace posible que sea aplicable tanto a sistemas complejos
como a sistemas sencillos.
En general la propiedad de escalabilidad representa que si para desarrollar un proyecto de
complejidad (y) es necesario realizar un esfuerzo (x), para desarrollar un proyecto de
complejidad (100y) se requiere un esfuerzo (100cx) (donde c es una constante).
Cuando un proyecto crece, se produce que:
•Sus objetivos se hacen menos concretas y mas globales.
•El sistema gana en niveles de abstracción (tales como subsistemas, subsistemas, y así).
•Líneas potenciales de comunicación crece exponencialmente con el número de miembros del
proyecto.
•El costo de los errores que hay que corregir se incrementa ya que aumentan las posibilidades
de interferencias.
En general, existen dos soluciones para conseguir la escalabilidad de un proceso:
•El proceso es visto desde diferentes escalas de tiempo: macro, micro y nano escala, y en
función de que el proyecto crezca mas relevancia adquieren la escala macro a fin de
organizar y gestionar el proceso de desarrollo mas global.
•Muchas de las fase y mecanismos del proceso se hacen opcionales en función de que la
complejidad de la aplicación se requiera.

Ingeniería de Programación (4º Físicas) J.M. Drake

5

Proceso de desarrollo de aplicaciones software

Llaves tecnológicas para los procesos de desarrollo.

Frameworks

Automatización
de las Pruebas

Desarrollo
Incremental

Biunicidad

Modelo-Código

Modelado

Visual

Modelos
Ejecutables

Santander, 2008 OO_08: Proceso de desarrollo de software

J.M. Drake

6

Existen un conjunto de tecnología y criterios que facilitan los procesos de desarrollo:
•Modelado Visual: Facilita la capacidad de apreciar los diferentes elementos e interacciones
del sistema en los diferentes niveles de abstracc
  • Links de descarga
http://lwp-l.com/pdf1106

Comentarios de: Programación orientada a objetos: Lenguages, Metodologías y Herramientas - Proceso de desarrollo de aplicaciones software (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad