• No se han encontrado resultados

Requerimientos y arquitectura

N/A
N/A
Protected

Academic year: 2022

Share "Requerimientos y arquitectura"

Copied!
45
0
0

Texto completo

(1)

Requerimientos y arquitectura

Humberto Cervantes Maceda

(2)

2

Contenido

Introducción

Tipos de requerimientos

Objetivos de negocio y atributos de calidad Comprendiendo los atributos de calidad

(3)

Definición de requerimientos

Definición

Los requerimientos son una especificación de lo que debe ser implementado. Son descripciones acerca de cómo

debe comportarse el sistema o bien acerca de una propiedad o atributo del sistema. Pueden ser una restricción en el proceso de desarrollo del sistema.

(4)

4

Papel crítico de los requerimientos

Frederick Brooks describe en su ensayo clásico de 1987 "No Silver Bullet: Essence and Accidents of Software Engineering":

La parte más difícil de construir un sistema de software es decidir con exactitud qué construir. Ninguna otra parte del trabajo conceptual es tán difícil como establecer los

requerimientos detallados que incluyen las interfaces con la gente, con máquinas o con otros sistemas de software.

Ninguna otra parte tiene tanto impacto negativo en el

sistema resultante si no se hace correctamente. Ninguna otra parte es más difícil de corregir posteriormente.

(5)

Motivante

La mayor consecuencia de los problemas a nivel de los requerimientos es la necesidad de rehacer las cosas

(6)

6

Contenido

Introducción

Tipos de requerimientos

Objetivos de negocio y atributos de calidad Comprendiendo los atributos de calidad

(7)

Categorías de requerimientos

Negocio

Usuario

Función

(8)

8

Categorías de requerimientos

Negocio

Usuario

Función

(9)

Requerimientos funcionales

La funcionalidad es la habilidad del sistema de realizar el trabajo para el cual fue concebido

Los requerimientos funcionales capturan los

comportamientos que se espera realice el sistema Se dividen en varias categorías

Requerimientos de negocio Requerimientos de usuario

Requerimientos funcionales detallados

(10)

10

Requerimientos de negocio

Qué son?

Este tipo de requerimientos representan objetivos de alto nivel de la organización o cliente que solicita un sistema.

Están fuera de la frontera de un sistema específico.

Describen por qué la organización está implementando el sistema, es decir los objetivos que la organización busca alcanzar.

Estos requerimientos típicamente se almacenan en el documento de visión y alcance del proyecto.

Ejemplos

La organización busca automatizar todo su proceso de administración de almacén

La organización desea aumentar las ventas del sistema en x% para fines del año

(11)

Requerimientos de usuario

Qué son?

Los requerimientos de usuario describen objetivos o tareas que los usuarios deben poder realizar con el producto

Se representan mediante casos de uso o descripciones de escenarios

Documento de casos de uso

Los requerimientos de usuario describen lo que el usuario podrá hacer con el sistema

Ej. “Hacer una reservación”

(12)

12

Reqs. Usuario y Reqs. Negocio

Los requerimientos de usuario se derivan de los requerimientos de negocio

Necesidad -> Prioridad -> Características (Visión OpenUP)

La disciplina de Modelado de Negocios de RUP tiene, entre otros propósitos, de derivar

requerimientos de software para soportar la organización

(13)

Casos de uso

System Gestor E2 Monitorear nodos

E1 Administrar nodos

A3 Administrar alarmas

Security Administrator

Usuario

A4 Administrar Usuarios

Red

Comportamientos del sistema vistos desde la perspectiva de los actores

(14)

14

Documentación

de casos de uso

(15)

Requerimientos funcionales detallados

Qué son?

Los requerimientos funcionales especifican la

funcionalidad del sistema que los desarrolladores deben construir en el producto para permitir que los usuarios realicen sus tareas y que, por ende, satisfagan los

requerimientos de negocio.

Describen lo que los desarrolladores deben implementar

Son descritos usando el verbo “debe”

“El sistema debe enviar un correo para confirmar la reservación al usuario”

¿ Se deben documentar junto a los casos de uso ?

(16)

16

Requerimientos de sistema

Los requerimientos de sistema describen

requerimientos de alto nivel para un producto que contiene varios sub-sistemas (es decir un sistema).

Un sistema puede estar conformado únicamente por sub-sistemas de software o también de hardware.

En algunos casos, ciertas funciones del sistema pueden estar asignadas a personas (Workflow Mangemenent Systems)

(17)

Categorías de requerimientos

Negocio

Usuario

Función

(18)

18

Requerimientos no-funcionales

Los requerimientos no-funcionales especifican criterios que pueden ser usados para juzgar la operación de un sistema. No representan

comportamientos específicos.

Se dividen en varias categorías

Reglas de negocio Atributos de calidad Interfaces externas Restricciones

(19)

Reglas de negocio

Toda organización opera de acuerdo a un conjunto extensivo de políticas corporativas, leyes y

estándares industriales.

Industrias tales como la bancaria, aeronáutica y médicas deben cumplir con grandes cantidades de reglas.

Todas estas reglas se conocen de forma colectiva como

“reglas de negocio”

Una regla de negocio es una frase que define o limita algún aspecto del negocio.

La intención de estas reglas es consolidar la estructura del negocio o controlar (o influenciar) el comportamiento del negocio.

(20)

20

Tipos de reglas de negocio

Existen varios tipos de reglas de negocio

Hechos: son cosas verdaderas acerca del negocio

“Cada contenedor químico tiene un código de barras único”

Restricciones: limitan las acciones que el sistema o sus usuarios pueden realizar

“El contrato de un cliente menor de edad debe ser firmado por uno de sus padres”

Eventos: una regla que dispara una actividad ante condiciones específicas

“5 días antes de la fecha de caducidad, los alimentos deben ser retirados de los estantes”

(21)

Interfaces externas y restricciones

Las interfaces externas describen conexiones entre el sistema y su entorno

“El sistema obtendrá datos del sistema de resonancia a partir de una conexión TCP/IP de acuerdo al protocolo DICOM”

Restricciones

Las restricciones de diseño e implementación limitan de forma legítima las opciones para los desarrolladores

“La base de datos debe ser MySql”

El sistema deberá estar escrito en lenguaje Java

(22)

22

Atributos de calidad

Los atributos de calidad características que

permiten verificar y medir el grado de satisfacción de los usuarios y/o diseñadores con respecto al

Sistema

Son métricas relativas a la calidad adicionales a la cantidad de defectos del sistema

Existen distintas categorías de atributos de calidad

Relacionados con la ejecución del sistema Relacionados con el desarrollo

Ejemplos:

Disponibilidad, Desempeño, Usabilidad, Seguridad, Modificabilidad y Facilidad de prueba entre otros.

(23)

Artefactos de documentación

Negocio

Usuario

Función

(24)

24

Contenido

Introducción

Tipos de requerimientos

Objetivos de negocio y atributos de calidad Comprendiendo los atributos de calidad

(25)

Un caso típico...

Servicio de aduanas australiano

Necesidad de actualizar sistema legado de dos decadas que maneja cargamentos aereos y navales

Después de deliberar se optó por una solución construida alrededor de servicios web XML

Envolver elementos legados detras de servicios Abrir el sistema a clientes

En 2005, el sistema se pone a prueba y el tiempo de respuesta va en caida libre hasta que el sistema

deja de responder

Al abrir el sistema al mundo a través de servicios

(26)

26

Un caso típico...

¿ Qué sucedió ?

El sistema legado no era accesible desde fuera, lo cual limitaba el numero de transacciones procesadas

Al abrir el sistema al mundo a través de servicios web, la carga del sistema legado excedió la capacidad

La lección es que no se debe considerar

arquitecturas ofrecidas por las tecnologías más recientes como apropiadas para un sistema

particular

Las arquitecturas del sistema son distintas de las tecnologías de implementación

Frecuentemente, la tecnología de moda influencía las decisiones de diseño, en vez de que lo hagan los criterios que realmente impactan a la organización

Objetivos de negocio y atributos de calidad

(27)

Influencia de objetivos de negocio

Los objetivos de negocio pueden impactar

fuertemente a la arquitectura de un sistema sin afectar su funcionalidad

Ejemplo: Sistema de admin de dispositivos en red

(28)

28

Influencia de objetivos de negocio

Los objetivos de negocio pueden impactar

fuertemente a la arquitectura de un sistema sin afectar su funcionalidad

Ejemplo: Sistema de admin de dispositivos en red

Soporte de dispositivos heterogeneos

(29)

Influencia de objetivos de negocio

Los objetivos de negocio pueden impactar

fuertemente a la arquitectura de un sistema sin afectar su funcionalidad

Ejemplo: Sistema de admin de dispositivos en red

(30)

30

Influencia de objetivos de negocio

Los objetivos de negocio pueden impactar

fuertemente a la arquitectura de un sistema sin afectar su funcionalidad

Ejemplo: Sistema de admin de dispositivos en red

Adaptación a distintos mercados

(31)

Relación con atributos de calidad

Los objetivos de negocio corresponden a atributos de calidad que el sistema debe exhibir

Modificabilidad Escalabilidad Usabilidad Desempeño Etc...

La arquitectura de un sistema soporta los objetivos de negocio de la organización que lo produce.

Estos objetivos se traducen a atributos de calidad

(32)

32

Contenido

Introducción

Tipos de requerimientos

Objetivos de negocio y atributos de calidad Comprendiendo los atributos de calidad

(33)

Funcionalidad y arquitectura

La funcionalidad y los atributos de calidad son ortogonales

El tipo de funcionalidad del sistema no dicta directamente el nivel de seguridad, desempeño o usabilidad

La funcionalidad es en general independiente de la estructuración del sistema

(34)

34

Clases de atributos de calidad

Existen varias clases de atributos de calidad

Cualidades del sistema: disponibilidad, modificabilidad, desempeño, seguridad, facilidad de prueba, usabilidad Cualidades del negocio: por ejemplo “time to market”

Cualidades de la arquitectura que afectan otros atributos de calidad

(35)

Atributos de calidad del sistema

Se han venido estudiando desde los 70's, sin embargo hasta hace poco

Las definiciones provistas de atributos de calidad no son operativas.

No tiene mucho sentido decir que un sistema es

“modificable” ya que todo sistema es modificable con respecto a un tipo de cambios y no modificable con respecto a otros

Mucha discusión se ha dado con respecto a que cualidad pertenece un aspecto

Por ejemplo: fallo es disponibilidad, seguridad o usabilidad?

Diversas comunidades especializadas han desarrollado sus propios vocabularios

Estos problemas se resuelven usando escenarios

(36)

36

Escenarios de atributos de calidad

Un escenario de atributo de calidad es un

requerimiento específico a un atributo de calidad compuesto de 6 partes

Fuente de estímulo

Estímulo

Entorno

Respuesta

Medida de respuesta Artefacto

(37)

Escenarios de atributos de calidad

Un escenario de atributo de calidad es un

requerimiento específico a un atributo de calidad compuesto de 6 partes

Fuente de estimulo. Es una entidad (humano,

Fuente de estímulo

Estímulo

Artefacto

Respuesta

Entorno Medida de

respuesta

(38)

38

Escenarios de atributos de calidad

Un escenario de atributo de calidad es un

requerimiento específico a un atributo de calidad compuesto de 6 partes

Estímulo. Es una condición que necesita ser considerada cuando llega al sistema.

Fuente de estímulo

Estímulo

Artefacto

Respuesta

Entorno Medida de

respuesta

(39)

Escenarios de atributos de calidad

Un escenario de atributo de calidad es un

requerimiento específico a un atributo de calidad compuesto de 6 partes

Entorno. El estímulo ocurre dentro de ciertas

Fuente de estímulo

Estímulo

Artefacto

Respuesta

Entorno Medida de

respuesta

(40)

40

Escenarios de atributos de calidad

Un escenario de atributo de calidad es un

requerimiento específico a un atributo de calidad compuesto de 6 partes

Artefacto. Algún artefacto es estimulado. Esto puede ser todo el sistema o bien partes de él.

Fuente de estímulo

Estímulo

Artefacto

Respuesta

Entorno Medida de

respuesta

(41)

Escenarios de atributos de calidad

Un escenario de atributo de calidad es un

requerimiento específico a un atributo de calidad compuesto de 6 partes

Respuesta. La respuesta es la actividad que se realiza

Fuente de estímulo

Estímulo

Artefacto

Respuesta

Entorno Medida de

respuesta

(42)

42

Escenarios de atributos de calidad

Un escenario de atributo de calidad es un

requerimiento específico a un atributo de calidad compuesto de 6 partes

Medida de respuesta. Cuando la respuesta ocurre debe poder ser medida de alguna manera para que el requerimiento pueda ser probado.

Fuente de estímulo

Estímulo

Artefacto

Respuesta

Entorno Medida de

respuesta

(43)

Ejemplos de escenarios

Disponibilidad

“Un mensaje externo no anticipado es recibido por un proceso durante un momento de operación normal del sistema. El proceso informa al operador de la recepción del mensaje y continúa operando sin interrupción”

Fuente:

Estimulo:

Mensaje no

anticipado Entorno:

Operación

Respuesta:

Informar al operador

y seguir Medición:

Sin Artefacto:

Proceso

(44)

44

Ejemplos de escenarios (2)

Modificabilidad

“Un desarrollador desea cambiar la interfaz de usuario para cambiar el fondo de la pantalla al color azul. El cambio se hace al código en tiempo de diseño. Tomará menos de tres horas el realizar y probar el cambio y no aparecerán efectos secundarios en el comportamiento.”

Fuente:

Desarrollador

Estimulo:

Desea

cambiar la

UI Entorno:

En tiempo de diseño

Respuesta:

Modificación realizada sin efectos

secundarios

Medición:

Menos de 3 horas

Artefacto:

Código

(45)

Escenarios generales y concretos

Es necesario hacer una distinción entre escenarios generales de atributos de calidad y escenarios

concretos de atributos de calidad Escenarios generales

Independientes del sistema

Escenarios concretos

Específicos al sistema

A continuación se presentan caracterizaciones de atributos como colección de escenarios generales

Para traducir la caracterización del atributo hacia

requerimientos de un sistema específico, los escenarios generales tienen que volverse específicos

Referencias

Documento similar

b) El Tribunal Constitucional se encuadra dentro de una organiza- ción jurídico constitucional que asume la supremacía de los dere- chos fundamentales y que reconoce la separación

Para evaluar la arquitectura propuesta se tomaron en cuenta los atributos de calidad definidos por la ISO 9126: Funcionalidad, Confiabilidad, Eficiencia, Usabilidad,

El objetivo principal de evaluar la arquitectura del sistema es verificar que el desarrollo del mismo termine en un producto que cumpla con los requerimientos

Igualmente se definen los principales requerimientos del sistema y se obtiene como resultado el diseño de la arquitectura de software para un sistema, el cual permitirá optimizar el

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

 ATAM: Analiza los atributos de calidad, los estilos arquitectónicos y valora el resultado del método SAAM; revela la forma en que una arquitectura satisface los