Está en la página 1de 38

Visión General

Ingeniería de Software

Beatriz Báez Azócar


2021
1 Ingeniería de Requerimientos - Beatriz Báez Azócar
Objetivos
Conocer los conceptos y
definiciones relevantes para la
Ingeniería de requisitos y su
importancia en el desarrollo de
proyectos de software.

1.Ing. Software
2. Ciclo de vida

2 Ingeniería de Requerimientos - Beatriz Báez Azócar


De la clase anterior…

• ¿Qué beneficios se obtienen de la


Ingeniería de Requerimientos?
• ¿Cómo se relaciona la Ingeniería de
software con la ingeniería de
requerimientos?

3 Ingeniería de Requerimientos - Beatriz Báez Azócar


¿Qué beneficios se obtienen de la
Ingeniería de Requerimientos?

Mejora la capacidad
Permite gestionar
de predecir Disminuye los costos Mejora la
las necesidades del Mejora la calidad del Evita rechazos de
cronogramas de y retrasos del comunicación entre
proyecto en forma software. usuarios finales
proyectos, así como proyecto. equipos
estructurada.
sus resultados.

4 Ingeniería de Requerimientos - Beatriz Báez Azócar


¿Qué es ingeniería de software?
• La ingeniería del software es una disciplina que implica el uso de estructuras,
herramientas y técnicas para construir programas informáticos.
• Incluye el análisis previo de la situación, la redacción del proyecto, la creación del
software y las pruebas necesarias para garantizar el correcto funcionamiento del
software antes de poner el sistema en funcionamiento.

“Una disciplina de ingeniería que se ocupa de todos los aspectos de la producción


de software desde las primeras etapas de la especificación del sistema hasta el
mantenimiento del sistema después de entrado en uso”. (Sommerville)

5 Ingeniería de Requerimientos - Beatriz Báez Azócar


¿Qué es ingeniería de software?
• Ingeniería de Software es el estudio de los principios y metodologías para
desarrollo y mantenimiento de sistemas de software (Zelkovitz, 1978)
• Ingeniería de Software es la aplicación práctica del conocimiento científico en el
diseño y construcción de programas de computadora y la documentación
asociada requerida para desarrollar, operar (funcionar) y mantenerlos (Bohem,
1976)
• Ingeniería de Software trata del establecimiento de los principios y métodos de
la ingeniería a fin de obtener de modo rentable que sea fiable y trabaje en
máquinas reales (Bauer, 1972)
• La aplicación de un enfoque sistemático, disciplinado y cuantificable al
desarrollo, operación (funcionamiento) y mantenimiento del software; es decir,
la aplicación de ingeniería al software (IEEE,1993)

6 Ingeniería de Requerimientos - Beatriz Báez Azócar


Ingeniería de Software &
Ingeniería de Sistemas

Ingeniería de Sistemas
Se refiere a todos los
aspectos del desarrollo
de sistemas basados en La Ingeniería de
computadora, tanto del Software es solo parte
hardware como del de este proceso
software y los procesos
de diseño y distribución
de sistemas.

7 Ingeniería de Requerimientos - Beatriz Báez Azócar


Objetivos

Atributos de calidad:
• Fiable
Ingeniería de
Software

• Mejorar la calidad de los productos de software.


• Actuar en todas las fases del ciclo de vida de un • Eficiente
producto. • Robusto
• Incluir procesos de calidad en los sistemas, • Correcto
calculando métricas e indicadores y chequeando la • Portable
calidad del software producido. • Adaptable
• Inteligible
• Diseñar programas informáticos que se adecúen a
las exigencias de la sociedad. • No erróneo
• Reutilizable

8 Ingeniería de Requerimientos - Beatriz Báez Azócar


Proceso del Software (Ciclo de Vida)
Ingeniería de Requerimientos - Beatriz Báez Azócar 9
Ciclo de Vida
• Un proceso de software es una serie de actividades relacionadas que conduce a
la elaboración de un producto de software.
➢ El desarrollo de software desde cero en un lenguaje de programación
estándar.
➢ Extender y modificar los sistemas existentes.
➢ Configurar e integrar el software comercial o componentes de otros
sistemas.
• Un modelo de proceso de software es una representación simplificada de este
proceso. Muestra las actividades y su secuencia, pero sin presentar los roles de
las personas que intervienen en esas actividades.

Ing. De Requisitos
Clasificación de los procesos de
software
Dirigidos por un plan
Procesos ágiles
(plandriven)
• Los procesos dirigidos por • En los procesos ágiles la
un plan son aquellos donde planeación es incremental y
todas las actividades del es más fácil modificar el
proceso se planean por proceso para reflejar los
anticipado y el avance se requerimientos cambiantes
mide contra dicho plan. del cliente.

Cada enfoque es adecuado para diferentes tipos de software. Por lo general, uno necesita
encontrar un equilibrio entre procesos dirigidos por un plan y procesos ágiles.

Ing. De Requisitos
Actividades fundamentales en la IS

Diseño e
Evolución
• Tienen que definirse implementación • Hay que validar el
tanto la funcionalidad software para
del software como las • Debe desarrollarse el asegurarse de que • El software tiene que
restricciones de su software para cumplir cumple lo que el evolucionar para
operación. con las cliente quiere. satisfacer las
especificaciones. necesidades
cambiantes del cliente.
Especificación Validación

Ing. De Requisitos
Descripción proceso de software
Precondiciones y postcondiciones, que son
declaraciones válidas antes y después de que se realice
una actividad del proceso o se cree un producto. Por
Productos, que son los resultados de una actividad del
ejemplo, antes de comenzar el diseño arquitectónico,
proceso. Por ejemplo, el resultado de la actividad del
una precondición es que el cliente haya aprobado
diseño arquitectónico es un modelo de la arquitectura
todos los requerimientos; después de terminar esta
de software.
actividad, una postcondición podría ser que se revisen
aquellos modelos UML que describen la arquitectura.

Roles, que reflejan las responsabilidades de la gente


que interviene en el proceso. Ejemplos de roles:
gerente de proyecto, gerente de configuración,
programador, etcétera.

Ing. De Requisitos
Modelo cascada

Ing. De Requisitos
Modelo cascada
• Es un enfoque metodológico que ordena
rigurosamente las etapas del ciclo de vida del
software, de forma que el inicio de cada etapa
debe esperar a la finalización de la
inmediatamente anterior.
• El modelo en cascada es un proceso de desarrollo
secuencial, en el que el desarrollo se ve fluyendo
hacia abajo (como una cascada) sobre las fases
que componen el ciclo de vida.

Ing. De Requisitos
Fortalezas
• Es un modelo que ya está normado en otras
disciplinas, lo que hace más fácil su
entendimiento.
• Cada fase está definida como un conjunto de
funciones, metas, hitos y entregables, haciendo
el proceso altamente visible y que el proyecto sea
de fácil seguimiento.
• Dado que los requerimientos y especificaciones
son determinadas en el lineamiento general, el
encargado del proyecto está mejor preparado
para determinar los recursos necesarios y
establecer la planificación.

Ing. De Requisitos
Debilidades:
• No funciona bien en situaciones donde los
requerimientos no están bien definidos al principio
del proceso.
• La mayor debilidad del modelo es el costo de los
cambios de requerimientos. Mientras más avanzado
esté el proyecto, más costosos se hacen los cambios
en los requerimientos.
• Los clientes no ven productos funcionales hasta fases
avanzadas en el ciclo de vida. Cuando éstos tienen la
oportunidad de ver los productos, los costos de
corrección ya son demasiado altos de corregir.
• Los proyectos rara vez fluyen de manera secuencial.

Ing. De Requisitos
¿Cuándo utilizarlo?
• Sistemas que tienen requerimientos bien definidos al principio del
proyecto y sistemas donde los costos y las planificaciones necesitan
ser determinadas desde un principio.

Ing. De Requisitos
Modelo en V

Ing. De Requisitos
Modelo en V
• El modelo en V se desarrolló para terminar con algunos de los problemas que se
vieron utilizando el enfoque de cascada tradicional.
• Los defectos estaban siendo encontrados demasiado tarde en el ciclo de vida, ya
que las pruebas no se introducían hasta el final del proyecto.
• El modelo en V dice que las pruebas necesitan empezarse lo más pronto posible
en el ciclo de vida.
• También muestra que las pruebas no son sólo una actividad basada en la
ejecución. Hay una variedad de actividades que se han de realizar antes del fin
de la fase de codificación.

Ing. De Requisitos
Modelo Iterativo

Ing. De Requisitos
Modelo Iterativo
• Este modelo busca reducir el riesgo que surge entre las necesidades
del usuario y el producto final por malos entendidos durante la etapa
de recogida de requisitos.
• Consiste en la iteración de varios ciclos de vida en cascada. Al final de
cada iteración se le entrega al cliente una versión mejorada o con
mayores funcionalidades del producto.
• El cliente es quien, después de cada iteración, evalúa el producto y lo
corrige o propone mejoras.
• Estas iteraciones se repetirán hasta obtener un producto que
satisfaga las necesidades del cliente.
Ing. De Requisitos
Modelo Iterativo

• Este modelo se suele utilizar en


proyectos en los que los
requisitos no están claros por
parte del usuario.
• Se hace necesaria la creación de
distintos prototipos para
presentarlos y conseguir la
conformidad del cliente.

Ing. De Requisitos
Modelo Incremental

Ing. De Requisitos
Ing. De Requisitos
MODELO INCREMENTAL

Ing. De Requisitos
Modelo Incremental
• Se basa en la filosofía de construir incrementando las funcionalidades del
programa.
• Este modelo aplica secuencias lineales de forma escalonada mientras progresa
el tiempo en el calendario.
• Cada secuencia lineal produce un incremento del software.
• Indicado para proyectos bien situados donde los requerimientos no puedan ser
bien especificados.

Ing. De Requisitos
Fortalezas

• Los requerimientos no necesitan ser


totalmente especificados/clarificados desde el
principio.
• Para cada incremento que se completa, los
requerimientos son clarificados.

Ing. De Requisitos
Debilidades:

• Existe una tendencia a dejar los problemas


complejos para el futuro de manera de
demostrar éxito temprano en el manejo.
• Dificultad para manejar y medir el proyecto
porque no se puede determinar cuando todos
los requerimientos serán completados.

Ing. De Requisitos
Modelo Espiral

Ing. De Requisitos
Modelo espiral

Ing. De Requisitos
Modelo Espiral
• Es un marco del proceso de software dirigido por el
riesgo.
• El proceso de software se representa como una
espiral, y no como una secuencia de actividades con
cierto retroceso de una actividad a otra.
• Cada ciclo en la espiral representa una fase del
proceso de software.
• El ciclo más interno puede relacionarse con la
factibilidad del sistema, el siguiente ciclo con la
definición de requerimientos, el ciclo que sigue con el
diseño del sistema, etc.

Ing. De Requisitos
Modelo Espiral
• Divide el desarrollo del sistema en cuatro actividades
básicas:
1. Establecimiento de objetivos
2. Valoración y reducción del riesgo
3. Desarrollo y validación
4. Planeación

• Con cada vuelta del espiral, los riesgos son identificados y


se ejecutan intentos de atenuar los riesgos antes de
proceder a las actividades de ingeniería del espiral.

Ing. De Requisitos
Fortalezas
• Evita algunas de las dificultades existentes en los
modelos de software por el uso de la aproximación
guiada por riesgos.
• Trata de eliminar los errores en fases tempranas.
• Provee mecanismos para pregunta-respuesta.
• Aplicable a otros tipos de proyectos
• Funciona bien para proyectos complejos, dinámicos e
innovadores.
• Existe reevaluación después de cada fase, permitiendo
cambios en las perspectivas del usuario, tecnología,
avances o perspectivas financieras.

Ing. De Requisitos
Debilidades:

• Carencia explicita de guía para determinar


objetivos, restricciones y alternativas.
• Provee más flexibilidad de la conveniente para
muchas aplicaciones.
• Necesita experiencia en la determinación de
riesgos, y dado que esta no es una tarea
sencilla, para realizar una esta tarea, es
necesaria una gran experiencia en proyectos
para realizarla de manera exitosa.

Ing. De Requisitos
Modelo Espiral
• Proyectos complejos, dinámicos innovadores y ambiciosos
desarrollados por equipos internos (no necesariamente limitados al
software)

Ing. De Requisitos
Repasemos lo visto hasta ahora…

37 Ingeniería de Requerimientos - Beatriz Báez Azócar


Fin Presentación
Ahora puedes realizar las actividades propuestas en Aula Virtual

Ingeniería de Requerimientos - Beatriz Báez Azócar 38

También podría gustarte