Modulo II - Ciclo de Vida de Desarrollo Del Software

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 25

Esta foto de Autor desconocido está bajo licencia CC BY-SA

MODULO II
PROCESO SOFTWARE Y CICLO DE VIDA
DOCENTE: ING. CARMEN ORTEGA R.
Ingeniería de Software
Pressman (Un enfoque práctico 1997) caracteriza la Ingeniería de Software como “una tecnología
multicapa”

El fundamento de la IS es la capa proceso.

El objetivo de la IS es lograr productos de software de calidad


(tanto en su forma final como durante su elaboración),
mediante un proceso apoyado por métodos y herramientas.
Ingeniería de Software
• Cualquier disciplina de ingeniería (incluida la ingeniería del software) debe
descansar sobre un esfuerzo de organización de calidad.
• La gestión total de la calidad y filosofías similares fomentan una cultura
continua de mejoras de procesos que conduce al desarrollo de enfoques
cada vez más robustos para la IS.

Base de cualquier proceso de ingeniería. La IS se basa en calidad

• El proceso define un marco de trabajo para un conjunto de áreas clave, las


cuales forman la base del control de gestión de proyectos de software y
establecen el contexto en el cual: se aplican los métodos técnicos, se
producen resultados de trabajo, se establecen hitos, se asegura la
calidad y el cambio se gestiona adecuadamente.

Capa que une calidad y métodos. Desarrollo racional de la IS


Ingeniería de Software
• Los métodos de la IS indican cómo construir técnicamente el software.

• Los métodos IS abarcan una gran gama de tareas que incluyen análisis de
requisitos, diseño, construcción de programas, pruebas y mantenimiento.

• Estos métodos dependen de un conjunto de principios básicos que


gobiernan cada área d e la tecnología e incluyen actividades de modelado y
otras técnicas descriptivas.
• Las herramientas de la IS proporcionan un soporte automático o semi-
automático para el proceso y los métodos, a estas herramientas se les llama
herramientas CASE (Computer-Aided Software Engineering//Ingeniería de
Software Asistida por Computadora).

Esta foto de Autor desconocido está bajo licencia CC BY-SA


¿Qué es el ciclo de vida del software?

El ciclo de vida del desarrollo del software (también conocido como SDLC o
Systems Development Life Cycle) contempla las fases necesarias para validar el
desarrollo del software y así garantizar que este cumpla los requisitos para la
aplicación y verificación de los procedimientos de desarrollo, asegurándose de que
los métodos usados son apropiados.

Su origen radica en que es muy costoso rectificar los posibles errores que se
detectan tarde en la fase de implementación. Utilizando metodologías apropiadas,
se podría detectar a tiempo para que los programadores puedan centrarse en la
calidad del software, cumpliendo los plazos y los costes asociados.
El ciclo de desarrollo de software de acuerdo con la
normativa ISO/IEC/IEEE 12207:2017 establece:

“Un marco común para los procesos del ciclo de vida de


los programas informáticos, con una terminología bien
definida, a la que pueda remitirse la industria del software.
Contiene procesos, actividades y tareas aplicables durante
la adquisición, el suministro, el desarrollo, el
funcionamiento, el mantenimiento o la eliminación de
sistemas, productos y servicios informáticos. Estos
procesos del ciclo de vida se llevan a cabo mediante la
participación de los interesados, con el objetivo final de
lograr la satisfacción del cliente”.
IEEE Standards Association

Esta foto de Autor desconocido está bajo licencia CC BY-SA


La normativa IEEE/ISO/IEC 12207-2017 – ISO/IEC/IEEE en relación
a los procesos de ciclo de vida del software;
• Se aplica a la adquisición de software, productos, servicios, suministro,
desarrollo, operación, mantenimiento y eliminación de software interno
o externo.
• Incluye aspectos necesarios para proporcionar el contexto adecuado en
relación a los productos y servicios de software.
• Ayuda a definir y mejorar los procesos del ciclo de vida del software
(IEEE) en general.
• Tiene como objetivo principal lograr la máxima satisfacción del cliente,
ofreciendo una excelente calidad en los productos y servicios de
software.
Proceso Software y Ciclo de Vida
Planificación

Uso y Levantado de
Mantenimientos Requisitos

Implementación,
Instalación,
Ciclo de Desarrollo Análisis de los
despliegue o Puesta
en Producción del Software Requisitos

Pruebas Diseño

Construcción o
Desarrollo de la
Aplicación
Conceptos Importantes

Personas: Producto: Proyecto: Proceso:


los que lo que se la pauta a la pauta a
trabajan obtiene seguir para seguir para
desarrollar un desarrollar un
producto proyecto
Ejemplos Prácticos
Personas Producto Proyecto Proceso
TRAJE El sastre El traje el sastre, el traje, el La secuencia de
presupue el sastre, el acciones para hacer un
traje, el presupuesto del traje concreto La
traje, el traje en sí, los secuencia de acciones
pasos a dar para hacer para hacer un traje
el traje concreto

CENA Empleados de una La cena El menú, el presupuesto, La secuencia de


empresa de catering lo que hay que hacer acciones de servir una
que se para , el presupuesto, lo cena La secuencia de
Empleados de una
empresa de catering sirve que hay que hacer para acciones de servir una
conseguir el men cena
conseguir el menú

Empleados Los autos Desarrollo de un modelo Las instrucciones de la


MARCA DE nuevo empresa sobre c Las
AUTO de la marca instrucciones de la
empresa sobre cómo
desarrollar un modelo
nuevo desarrollar un
modelo nuevo

Su grupo la parte por parte práctica entregas mensuales


USTED IS cómo ustedes deciden
aplicación organizarse
elegida
Conceptos Importantes
◼ Proceso del software: conjunto de actividades y resultados
asociados que conducen a la creación de un producto software
[Sommerville, 2002]

◼ Ciclo de vida del software: Aproximación lógica a la adquisición , el


suministro, el desarrollo, la explotación y el mantenimiento del software
(norma IEEE 1074) [IEEE, 1999]

El ciclo de vida incluye


 Ciclo de desarrollo del sistema
 Tiempo de vida del sistema

◼ Modelo de ciclo de vida: Marco de referencia que contiene los procesos,


las actividades y las tareas involucradas en el desarrollo, la explotación y
el mantenimiento de un producto de software, abarcando la vida del
sistema desde la definición de los requisitos hasta la finalización de su uso
(norma ISO 12207-1) [ISO/IEC, 1995]

◼ Actividad: conjunto de tareas


◼ Tarea: acción que transforma entradas en salidas
Procesos del ciclo de vida (I)
Norma ISO 12207-1 [ISO/IEC, 1995]
◼ Procesos principales ◼ Procesos de la organización (generales)
 Adquisición  Gestión
 Suministro  Mejora
 Desarrollo  Infraestructura
 Explotación  Formación
 Mantenimiento
◼ Procesos de soporte
Nuevos procesos (amendments 2002-2005)
 Documentación
Usabilidad
 Gestión de la configuración
Evaluación de productos
 Aseguramiento de la calidad Recursos Humanos
 Verificación Gestión de “assets”
 Validación Gestión de petición de cambios
 Revisión conjunta Gestión del programa de reutilización
 Auditoría Ingeniería del dominio

 Resolución de problemas
Procesos del ciclo de vida (II)
Norma ISO/IEC 12207:2008 [ISO/IEC, 2008]
◼ Procesos del ciclo de vida del sistema
◼ Procesos de acuerdo (agreement): Adquisición, suministro
◼ Procesos de organización del proyecto: Gestión del modelo de ciclo de vida, gestión
de la infraestructura, gestión del porfolio del proyecto, gestión de recursos humanos,
gestión de la calidad
◼ Procesos del proyecto: Planificación del proyecto, control y evaluación del proyecto,
gestión de las decisiones, gestión de riesgos, gestión de la configuración, gestión de
la información, medición
◼ Procesos técnicos: Definición de requisitos de los stakeholders, análisis de requisitos
del sistema, diseño arquitectónico del sistema

◼ Procesos específicos del software


◼ Procesos de implementación del software: análisis de requisitos, diseño
arquitectónico, diseño detallado, construcción, integración, prueba
◼ Procesos de soporte del software: Gestión de la documentación, gestión de la
configuración, aseguramiento de la calidad, verificación, validación, revisión conjunta,
auditoría, resolución de problemas
◼ Procesos de reutilización del software: Ingeniería del dominio, gestión de assets,
gestión del programa de reutilización
Modelos de proceso
◼ Modelos tradicionales ◼ Modelos orientados a
la reutilización
■ Formados por un conjunto de fases
◼ Basado en componentes
o actividades en las que que no
tienen en cuenta la naturaleza ◼ Proceso Unificado
evolutiva del software ◼ Modelos para
 Clásico, lineal o en cascada sistemas orientados
 Estructurado a objetos
 Basado en prototipos ■ Modelos con un alto grado
 Desarrollo rápido de aplicaciones
de iteratividad y
(RAD)
solapamiento entre fases
◼ De agrupamiento
◼ Modelos evolutivos
◼ Fuente
■ Son modelos que se adaptan a la ◼ Basado en componentes
evolución que sufren los requisitos ◼ Proceso Unificado
del sistema en función del tiempo
◼ Procesos ágiles
 En espiral
◼ Programación extrema (XP)
 Evolutivo
◼ Desarrollo de software
 Incremental
adaptativo
 Modelo de desarrollo concurrente
◼ Scrum, Crystal …
◼ Modelos para sistemas
web
◼ UML-based Web Engineering
LOS PROCESOS DEL CICLO DE VIDA EL SOFTWARE

Según la norma ISO 12207-1, las actividades que se pueden realizar durante el ciclo de
vida se pueden agrupar en cinco procesos principales, ocho de soporte y cuatro procesos
generales de la organización, así como un proceso que permite adaptar el ciclo de vida a
cada caso concreto.
El proceso de Desarrollo del Software
• Un proceso de desarrollo de software tiene como propósito la producción
eficaz y eficiente de un producto software que reúna los requisitos del
cliente.
• Las 4 actividades fundamentales que son fundamentales para la
ingeniería de software:

• Especificación de software: Se debe definir la funcionalidad y


restricciones operacionales que debe cumplir el software.

• Diseño e Implementación: Se diseña y construye el software de


acuerdo a la especificación.

• Validación: El software debe validarse, para asegurar que cumpla con lo


que quiere el cliente.

• Evolución: El software debe evolucionar, para adaptarse a las


necesidades del cliente.
Proceso del Software
Otra perspectiva utilizada para
determinar los elementos del proceso de
desarrollo de software es establecer las
relaciones entre elementos que permitan
responder Quién debe hacer Qué,
Cuándo y Cómo debe hacerlo
Quién: Las Personas participantes en
el proyecto de desarrollo
desempeñando uno o más Roles
específicos.
Qué: Un artefacto es producido por un
rol en una de sus actividades. Los
artefactos se especifican utilizando
notaciones específicas. Las
herramientas apoyan la elaboración de
artefactos soportando ciertas
notaciones.
Cómo y Cuándo: 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
terminación de ciertos Artefactos.
Proceso de Desarrollo del Software
Definición En general, define:
Un proceso de desarrollo de – Un ciclo de vida para el
software lo constituye un software y un paradigma de
conjunto de actividades, un desarrollo.
método (o grupo de
métodos) y define cómo – Los métodos que serán
utilizados a lo largo del
múltiples desarrolladores se
desarrollo.
pueden comunicar y
cooperar dentro de una – Las herramientas que
organización para ejecutar soportan los métodos
actividades relacionadas, – Quién participa y cuándo
desde la concepción del (roles).
software hasta su – Plan de Gestión, Calidad y
implementación, entrega, Pruebas.
uso y mantenimiento.

19
Modelos de proceso
■ Un modelo de proceso, o paradigma de IS,
es una plantilla, patrón o marco que define
el proceso a través del cual se crea
software
■ Dicho de otra forma, los procesos
son instancias de un modelo de
proceso
■ En esta asignatura los términos proceso y
modelo de proceso se utilizan
indistintamente
Modelos de proceso
● Una organización podría variar su modelo de
proceso para cada proyecto, según:
La naturaleza del proyecto
La naturaleza de la aplicación
Los métodos y herramientas a utilizar
Los controles y entregas requeridas
Sommerville (Ingeniería de Software,2002) define
modelo de proceso de software como “Una
representación simplificada de un proceso de
software, representada desde una perspectiva
específica. Por su naturaleza los modelos son
simplificados, por lo tanto un modelo de procesos
del software es una abstracción de un proceso
real.”
Características del proceso
Entendible

Visibilidad: Grado en que las actividades del proceso proporcionan


resultados
Soportable por herramientas CASE

Aceptabilidad: Grado en que los desarrolladores aceptan y usan el


proceso

Fiabilidad: Capacidad de evitar o detectar errores antes de que sean defectos

Robustez: Continuidad del proceso a pesar de los problemas


Mantenible: Capacidad de evolución para adaptarse

Rapidez: Velocidad en que el proceso puede proporcionar un sistema a


partir de una especificación
Proceso de Desarrollo del Software
B
Procedimientos
y métodos que A D
definen la relación C
de las tareas

PROCESO

Personas con habilidades,


entrenamiento y motivación Herramientas y Equipos
Modelo de Proceso
- Descripción de un proceso del software presentado desde una
perspectiva particular.

- Abstracción del mundo real.

- Incluye actividades de los productos y de los procesos del software.

25

También podría gustarte