0% encontró este documento útil (0 votos)
5 vistas22 páginas

1 - Proceso y Actividades de Software

El documento detalla los conceptos fundamentales de los procesos de software, incluyendo definiciones, actividades y la importancia de un proceso estructurado en la ingeniería de software. Se describen las etapas del ciclo de vida del desarrollo de software, que abarcan desde la especificación hasta la evolución del producto. Además, se enfatiza la necesidad de adaptar los procesos a las características del proyecto y del equipo para mejorar la calidad y la gestión del desarrollo.

Cargado por

Agustin Jerez
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
5 vistas22 páginas

1 - Proceso y Actividades de Software

El documento detalla los conceptos fundamentales de los procesos de software, incluyendo definiciones, actividades y la importancia de un proceso estructurado en la ingeniería de software. Se describen las etapas del ciclo de vida del desarrollo de software, que abarcan desde la especificación hasta la evolución del producto. Además, se enfatiza la necesidad de adaptar los procesos a las características del proyecto y del equipo para mejorar la calidad y la gestión del desarrollo.

Cargado por

Agustin Jerez
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

PROCESOS DE SOFTWARE

INGENIERÍA DE SOFTWARE
CONCEPTOS
Proceso
∙ Define el marco de trabajo y permite un desarrollo racional y oportuno de la Ingeniería
del Software.

Método
∙ Indica cómo construir técnicamente el software. Se incluyen técnicas de modelado y
otras técnicas descriptivas.

Herramientas
∙ Proporcionan el soporte automático o semiautomático para el proceso y para los
métodos.
CONCEPTOS

Notación
∙ Conjunto de reglas gráficas o textuales para la representación de un modelo.

Metodología
∙ Colección de métodos para resolver un tipo de problemas.
∙ Descompone el proceso de desarrollo en actividades y proporciona los métodos
adecuados para llevar a cabo dichas actividades.
CONCEPTOS
Recapitulación del desarrollo de software

Conjunto de actividades
Proceso (Flujos de trabajo. Ej.:
proceso facturación)
plantilla

requerimientos
Dominio usuario resultado
Proyecto Producto
Aplicación
Artefactos
modelos
participantes
códigos
Clientes Usuarios manuales
Ingenieros de Personas
software
DEFINICIONES DE PROCESO
Pfleeger, 2002:
• Conjunto ordenado de actividades; una serie de pasos que
involucran tareas, restricciones y recursos que producen una
determinada salida esperada.

Pressman, 2010:
• Marco de trabajo de las tareas que se requieren para construir
software de alta calidad.
DEFINICIONES DE PROCESO
Somerville, 2011:
Un proceso de software es una serie de actividades relacionadas que conducen a la
elaboración de un producto de software.

Actividades fundamentales:
• Especificación del software: Tienen que definirse tanto la funcionalidad del software como las
restricciones de su operación.
• Diseño e implementación del software: Debe desarrollarse el software para cumplir con las
especificaciones.
• Validación del software: Hay que validar el software para asegurarse de que cumple lo que el
cliente quiere.
• Evolución del software: El software tiene que evolucionar para satisfacer las necesidades
cambiantes del cliente.
DEFINICIONES DE PROCESO
Somerville, 2011:
Las actividades antes mencionadas son complejas y en la práctica incluyen
subactividades como la validación de los requerimientos, el diseño arquitectónico,
documentación y el manejo de la configuración del software entre otras.

No hay un proceso ideal. Muchas organizaciones diseñan sus propios procesos


de desarrollo de software buscando una evolución en los mismos que beneficie a
la organización utilizando las diferentes capacidades de las personas y las
características específicas de los sistemas que desarrollan.
DEFINICIONES DE PROCESO
Somerville, 2011:
Una clasificación posible de los procesos de software es:

• Procesos dirigidos por un plan: son aquellos donde todas las actividades
del proceso se planean por anticipado y el avance se mide contra dicho plan.
• Procesos ágiles: la planeación es incremental y es más fácil modificar el
proceso para reflejar los requerimientos cambiantes del cliente.
IMPORTANCIA DEL PROCESO DE SOFTWARE

■ Facilita la gestión del proyecto.


■ Establece una división del trabajo.
■ Facilita la comunicación de los miembros del equipo.
■ Permite la reasignación y la reutilización de personal especializado.
■ Mejora la productividad y el desarrollo.
■ Establece el contexto en el que se aplican los métodos técnicos.
■ Gestiona el cambio adecuadamente.
■ Asegura la calidad.
CICLO DE VIDA DEL DESARROLLO DEL SOFTWARE

Cuando un proceso implica la construcción de algún producto, suele


referirse al proceso como un ciclo de vida.

El proceso de desarrollo de software suele denominarse ciclo de


vida del software.

Scacchi, 1987:
• La evolución del software representa el ciclo de actividades
involucradas en el desarrollo, uso y mantenimiento de sistemas de
software.
MODELO GENERAL DE PROCESO EN INGENIERÍA DE SOFTWARE

En el proceso de construcción de sistemas informáticos se pueden distinguir tres


fases genéricas (ciclo de vida del software):

• La definición (Análisis de Sistemas; Análisis de requerimientos)

• El desarrollo (Diseño; Codificación; Prueba)


• El mantenimiento (Correctivo; Adaptativo; Perfectivo; Preventivo)
MODELO GENERAL DE PROCESO EN INGENIERÍA DE SOFTWARE

Especificación
∙ Formulación de los requerimientos y restricciones del sistema
Diseño
∙ Elaboración de un documento con el modelo del sistema
Fabricación
∙ Construcción del sistema
Prueba
∙ Comprobación de que el sistema cumple las especificaciones requeridas
Instalación
∙ Entrega del sistema al cliente y garantía de que es operativo
Mantenimiento
∙ Reparación de los fallos que aparecen en el sistema
Actividades del proceso de
desarrollo de software
Ingeniería de Software
ACTIVIDADES DEL PROCESO DE SOFTWARE
• Los procesos de software son secuencias entrelazadas de actividades técnicas,
colaborativas y administrativas con la meta general de especificar, diseñar, implementar y
probar un sistema de software.

• Las cuatro etapas o actividades básicas del proceso de desarrollo se organizan de


diversa manera en diferentes procesos. Ellas son:
• Especificación
• Diseño
• Validación
• Evolución

• La forma en que se llevan a cabo estas actividades depende del tipo de software, del
personal y de la inclusión de estructuras organizativas.
ACTIVIDADES DEL PROCESO DE SOFTWARE
ESPECIFICACIÓN DEL SOFTWARE

El proceso de ingeniería de requerimientos se enfoca en producir un documento


que especifique los requerimientos de los usuarios del sistema.
Existen cuatro actividades principales en el proceso de ingeniería de
requerimientos:

• Estudio de factibilidad
• Obtención y análisis de requerimientos (etapa crítica del proceso de software)
• Especificación de requerimientos
• Validación de requerimientos
ACTIVIDADES DEL PROCESO DE SOFTWARE
ESPECIFICACIÓN DEL SOFTWARE

• Estudio de factibilidad: en el se estiman tecnologías actuales de software y


hardware y se considera el costo-beneficio del nuevo desarrollo entre otros.
• Obtención y análisis de requerimientos: se realizan observaciones y análisis
utilizando modelos de sistemas y prototipos para dar soporte a la comprensión
del sistema que se va a especificar.
• Especificación de requerimientos: se transcriben en un documento los
requerimientos del usuario surgidos del análisis y observaciones anteriores.
• Validación de requerimientos: se verifican los requerimientos transcriptos en el
documento de la especificación buscando descubrir errores y poder corregirlos.
ACTIVIDADES DEL PROCESO DE SOFTWARE
DISEÑO E IMPLEMENTACIÓN DEL SOFTWARE

• Esta etapa corresponde al proceso de convertir una especificación del sistema en


un sistema ejecutable.

• Incluye procesos de diseño y programación del software, también puede incluir


correcciones en la especificación del software, si se utiliza un enfoque de desarrollo
incremental.
ACTIVIDADES DEL PROCESO DE SOFTWARE
DISEÑO E IMPLEMENTACIÓN DEL SOFTWARE

Las actividades en el proceso de diseño varían dependiendo del tipo de sistema a


desarrollar.

• Diseño arquitectónico: se identifica la estructura global del sistema, los


principales componentes, llamados en ocasiones subsistemas o módulos, sus
relaciones y cómo se distribuyen.
• Diseño de interfaz: se definen las interfaces entre los componentes de
sistemas. Esta especificación de interfaz no tiene que presentar ambigüedades.
ACTIVIDADES DEL PROCESO DE SOFTWARE
DISEÑO E IMPLEMENTACIÓN DEL SOFTWARE

• Diseño de componentes: se toma cada componente del sistema y se diseña


cómo funcionará.

• Diseño de base de datos: se diseñan las estructuras del sistema de datos y


cómo se representarán en una base de datos.
ACTIVIDADES DEL PROCESO DE SOFTWARE
VALIDACIÓN DEL SOFTWARE
Las actividades de esta etapa del proceso de pruebas son:

• Pruebas de desarrollo: Los desarrolladores ponen a prueba los componentes del sistema. Cada
componente se prueba de manera independiente.

• Pruebas del sistema: Este proceso tiene la finalidad de descubrir errores que resulten de
interacciones no anticipadas entre componentes y problemas de interfaz de componente, así como
demostrar que el sistema cubre sus requerimientos y poner a prueba las propiedades del sistema.

• Pruebas de aceptación: en esta etapa del proceso de pruebas el sistema se pone a prueba con
datos suministrados por el cliente en vez de datos de prueba simulados. Las pruebas de aceptación
pueden revelar los errores y las omisiones en la definición de requerimientos del sistema, ya que los
datos reales ejercitan el sistema de forma diferente a la que se realiza con los datos de prueba.
ACTIVIDADES DEL PROCESO DE SOFTWARE
EVOLUCIÓN DEL SOFTWARE
En la historia, siempre ha habido división entre el proceso de desarrollo del software
y el proceso de evolución o mantenimiento del software.

Esta distinción entre desarrollo y mantenimiento es cada vez más irrelevante.

Es muy difícil que cualquier sistema de software sea un sistema completamente


nuevo y tiene mucho más sentido ver el desarrollo y el mantenimiento como algo
continuo.

Es más realista pensar en la ingeniería de software como un proceso evolutivo donde


el software cambia continuamente a lo largo de su vida, en función de los
requerimientos y las necesidades cambiantes del cliente.
Actividades del proceso de
desarrollo de software
Ingeniería de Software

También podría gustarte