PDF de programación - Proceso de desarrollo de aplicaciones software Ingeniería Software - Ingeniería software - 4º de Físicas

Imágen de pdf Proceso de desarrollo de aplicaciones software Ingeniería Software - Ingeniería software - 4º de Físicas

Proceso de desarrollo de aplicaciones software Ingeniería Software - Ingeniería software - 4º de Físicasgráfica de visualizaciones

Publicado el 14 de Enero del 2017
798 visualizaciones desde el 14 de Enero del 2017
6,7 MB
37 paginas
Creado hace 13a (16/02/2011)
Proceso de desarrollo de aplicaciones software

Ingeniería Software

Ingeniería software

4º de Físicas
4º Físicas

Proceso de desarrollo de
aplicaciones software

Julio Medina & J.M. Drake
Computadores y Tiempo Real

Santander, 2010

Ingeniería de Programación (4º Físicas) J. Medina & 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, 2010

Proceso de desarrollo de software

J.Medina & 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. Medina & 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, 2010

Proceso de desarrollo de software

J.Medina & 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. Medina & J.M. Drake

2

Proceso de desarrollo de aplicaciones software

Objetivos de un proceso de desarrollo

Proporcionar una platilla de proyecto que guíe a los técnicos a través de la
secuencia de tareas que se requieren y los productos que deben generarse.
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, 2010

Proceso de desarrollo de software

J.Medina & 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. Medina & 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

Santander, 2010

Plantilla

Proceso de desarrollo de software

Defectos y problemas
J.Medina & J.M. Drake

Configuración

y gestión

4

Los elementos básicos a definir en un proceso de desarrollo de software son 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. Medina & 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 requieren.
Se incrementan las necesidades de comunicación entre 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 temporales para generar las actividades.
Hacer que las guías y plantillas tengan opciones de acuerdo con las características del

proyecto.

Santander, 2010

Proceso de desarrollo de software

J.Medina & 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. Medina & 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, 2010

Proceso de desarrollo de software

J.Medina & J.M. Drake

6

Existen un conjunto de tecnologías y criterios que facilitan los procesos de desarrollo:
•Modelado Visual: Facilita la capacidad de apreciar los diferentes elemen
  • Links de descarga
http://lwp-l.com/pdf952

Comentarios de: Proceso de desarrollo de aplicaciones software Ingeniería Software - Ingeniería software - 4º de Físicas (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