Este documento presenta conceptos sobre modelado y diseño de arquitectura de software. Explica que la arquitectura es una abstracción del sistema que permite alcanzar atributos de calidad como modificabilidad e interoperabilidad. También describe que los requisitos funcionales y no funcionales determinan el modelo de arquitectura, el cual debe ser validado para asegurar que cumple con dichos requisitos.
5. Modelado y Diseño de
Arquitectura de
Software
CONCEPTOS DE MODELADO
Fernando Barraza A. MS.c.
fernando.barraza@gmail.com
6. 2
Desarrollo de sistemas de software
Requisitos
funcionales
del software
Si todo lo que importara
fuese la funcionalidad,
cualquier software
monolítico serviría, ...
pero otras cosas
también importan
• Modificabilidad
• Interoperabilidad
• Disponibilidad
• Seguridad
• Predictabilidad
• Portabilidad
• ...
Los atributos de calidad del software y su caracterización son esenciales.
Manejadores
de atributos
de calidad
Arquitectura
del software
Software
tiene estas cualidades
7. 3
Los requisitos determinan el modelo
Arquitecto
Variadas
formas de
requisitos
Conocimiento
disponible
Host
Cámara
Sistem
a de
Visión
Controlador
Sensores
Motores
Arquitectura
Sistema
8. Implicaciones de no seguir un
proceso conocido de modelado
La arquitectura es una
abstracción de un sistema.
Los sistema pueden tener y
tienen una estructura.
Todo sistema tiene una
arquitectura.
Tener una arquitectura no es
lo mismo que tener una
arquitectura conocida por
todos.
Si no se desarrolla la
arquitectura explícitamente, se
obtendrá una de todas formas,
pero puede no gustarnos lo
que obtenemos!
4
9. 5
Arquitectura y Funcionalidad
La funcionalidad es en gran medida ortogonal a los
requisitos de calidad:
La funcionalidad es la capacidad del sistema de hacer lo que
se pretendía que hiciese;
Los sistemas se descomponen en elementos para lograr
variados propósitos, más allá de la funcionalidad:
Las opciones de arquitectura promueven ciertas cualidades
al tiempo que implementan la funcionalidad deseada.
10. 6
Consecuencias de las decisiones de
AS sobre las Cualidades
La medida en que un sistema alcanza sus requisitos de
calidad depende de las decisiones de arquitectura:
la arquitectura es crítica para alcanzar los atributos de
calidad;
las cualidades del producto deben diseñarse como parte de la
arquitectura;
un cambio en la estructura que mejora una cualidad suele
afectar las otras cualidades;
la arquitectura sólo puede permitir, no garantizar, que
cualquier requisito de calidad se alcance.
11. 7
Desafíos
¿Qué significan con precisión atributos de calidad tales
como modificabilidad, seguridad, performance y
confiabilidad?
¿Cómo se estructura el sistema de modo que tenga estas
cualidades deseadas?
¿Se puede analizar el sistema para determinar si tiene
estas cualidades?
¿Cuán temprano puede realizarse este análisis?
¿Cómo se sabe si una arquitectura de software es
apropiada para un sistema sin tener que construir el
sistema primero?
12. 8
Realidad sobre Arquitectura de
Software
Los requisitos de atributos de calidad son las principales
guías para el diseño de la arquitectura.
La medida en que un sistema alcance sus requisitos de
atributos de calidad depende de las decisiones de
arquitectura.
El desarrollo requiere ser guiado por las decisiones de
arquitectura.
13. 9
Influencia de los Interesados
Gerente de la compañia Gerente de
Producto
Usuario
final
Ingeniero de Soporte
Cliente
Arquitecto
Bajos costos,
ocupar personal,
aumentar el valor
de los activos
corporativos
Elementos
atractivos, terminar
rápido, comparable
a la competencia
Comportamiento,
performance,
seguridad,
confiabilidad,
usabilidad
Modificabilidad
Bajos costos,
terminar rápido,
sin muchos
cambios
¿Cómo puedo hacer para que
el sistema tenga todo esto?
14. 10
Interesados Involucrados
Los objetivos organizacionales y las propiedades del sistema
requeridas por el negocio raramente se comprenden y menos
aún se articulan completamente.
Los requisitos de calidad del cliente casi nunca se
documentan, lo cual resulta en:
objetivos que no se alcanzan;
conflicto inevitable entre los interesados.
Los arquitectos deben identificar e involucrar activamente a los
interesados de modo de:
comprender las restricciones reales del sistema;
administrar las expectativas de los interesados;
negociar las prioridades del sistema;
tomar decisiones de compromiso.
15. Desarrollo de Software Tradicional
• Descripciones operacionales
• Requisitos funcionales de alto
nivel Sistemas legados
• ocurre un milagro
• Arquitectura de sistema
específico Arquitectura del
software
• Diseño
detallado
Implementació
n
Los atributos de calidad
rara vez se capturan
como parte de la
especificación de
requisitos;
generalmente son sólo
vagamente
comprendidos;
frecuentemente
pobremente articulados
11
16. 12
Creación de una Arquitectura de
Software
Existen métodos y guías para la definición de la
arquitectura, muchos de los cuales se focalizan en los
requisitos funcionales.
Es posible crear una arquitectura basada en las
necesidades de atributos de calidad.
18. Etapas del proceso
1
8
Definir los requerimientos: Involucra crear un modelo
desde los requerimientos que guiarán el diseño de la
arquitectura basado en los atributos de calidad
esperados
Diseño de la Arquitectura : Involucra definir la estructura y
las responsabilidades de los componentes que
comprenderán la Arquitectura de Software
Validación: Significa “probar” la arquitectura,
típicamente pasando a través del diseño contra los
requerimientos actuales y cualquier posible
requerimiento a futuro.
20. Requerimientos no funcionales
2
0
Describen como el software debe comportarse, es decir como
hacer algo, no que debe hacer
Están relacionados con los requerimientos funcionales
porque describen la forma que se espera se logren dichos
requerimientos
En algunos casos tienen restricciones de cómo hacerlo
Se clasifican de acuerdo al atributo de calidad
esperado del sistema
22. Restricciones (constraints)
2
2
Las restricciones (constraints) imponen condiciones sobre la
arquitectura que normalmente no son negociables.
Limitan el rango de alternativas de decisión del
arquitecto
Algunas veces hace la vida más fácil para el arquitecto, en otras
lo complica.
Se pueden clasificar según su naturaleza:
Negocio, Desarrollo, Tiempo, Costo, etc.
26. Diseño de la Arquitectura de
Software
Reference
2
6
27. 1. Escogencia de la Arquitectura de
Referencia
2
7
Discutir los posibles estilos y patrones más apropiados que
den el soporte requerido para alcanzar los atributos de
calidad deseados
ES LA TAREA MÁS CRÍTICA EN TODO EL PROCESO DE AS !!
Basarse en Arquitecturas de Referencia reconocidas por tanto
por la academia como por la industria
Implementaciones conocidas, de amplia difusión y uso
Buena documentación
Reconocer el tamaño de la aplicación objetivo
Aplicaciones pequeñas Pocos patrones requeridos
Aplicaciones grandes Mezcla de varios patrones
28. Ejemplo de mapeo de patrones a
atributos de calidad
Elementos esenciales
Encapsulación del proceso: El
coordinador contiene la lógica
requerida para alcanzar el
objetivo del proceso de
negocio, siendo un solo punto
de definición hace más fácil
entender y modificar.
Bajo acoplamiento: Los
componentes de servidores no
se conscientes de su rol en el
proceso ni su orden de
ejecución
Comunicación flexible: La
comunicación entre el
coordinador y los servidores
puede ser sincrónica o
asincrónica
Patrón Process Coordinator
2
8
31. 2. Asignación de componentes
3
1
Su objetivo es definir los componentes principales que
comprenderán el diseño
La arquitectura de referencia define los patrones de
comunicación en general para los componentes
Se busca además:
Identificar como los componentes se ajustan a los patrones
Identificar las interfaces y los servicios que cada
componente soporta para así
Validar la asignación de responsabilidades de los
componentes
Identificar dependencias entre ellos
Identificar las partes de la arquitectura candidatas a
distribuirse en varios servidores
32. Guías para diseño de componentes
3
2
Por ser los componentes el más alto nivel de abstracción en
el diseño de la AS, existe similitudes en su diseño con las
técnicas de diseño orientado a objetos:
o Minimizar dependencias entre componentes evitando
propagar los cambios entre muchos componentes y por ende
sus pruebas.
o Diseñar componentes que encapsulen un alta cohesión del
conjunto de responsabilidades. La cohesión es una medida de
que tan bien las partes de un componente encajan entre si.
33. Guías para diseño de componentes
(2)
3
3
o Aísle las dependencias con tecnologías Middleware y cualquier
COTS. Esto facilita los cambios en el diseño de la AS. Por
supuesto se incurren en más esfuerzo para construir y algo de
penalidad en desempeño.
o Utilice la descomposición para estructurar componentes
jerárquicamente. El componente más externo define la interfaz
pública disponible. Internamente los llamados a esa interfaz son
delegados a otros componentes localmente definidos cuyas
interfaces no son visibles externamente.
34. Guías para diseño de componentes
(3)
3
4
o Reduzca al mínimo las llamadas entre componentes, ya que
pueden resultar costosas si los componentes se distribuyen.
Trate de agregar secuencias de llamadas entre componentes
en una sola llamada que pueda realizar el procesamiento
necesario en una sola solicitud. Esto crea métodos de grano
grueso o servicios en las interfaces que hacen más trabajo por
cada requerimiento-invocación.
36. Validación
Durante el proceso de creación de la arquitectura, el objetivo
de la fase de validación consiste en aumentar la confianza
del equipo de diseño con respecto a que la arquitectura es
adecuada para cumplir con los requerimientos del sistema.
Aunque se puede estar actuando sobre un sistema
existente o nuevo al final el resultado del modelado es un
diseño de AS por lo que el proceso de validación puede ser
el mismo para ambos casos.
Se puede escoger entre dos técnicas: Pruebas manuales o
Prototipos.
37. Técnicas de validación
3
7
El objetivo de ambas técnicas es el de identificar posibles
deficiencias y debilidades en el diseño para que puedan ser
mejoradas antes de la implementación.
1. Prueba manual: Involucra la prueba de la AS usando
escenarios
2. Prototipo: Involucra la construcción de un prototipo que crea un
arquetipo de la aplicación deseada, de esta forma su capacidad
para satisfacer las necesidades se pueden evaluar con más
detalle a través de prototipos.
38. Prueba manual por escenarios
3
8
Los escenarios son una técnica desarrollada en el SEI para
desentrañar las cuestiones relativas a una arquitectura a
través de pruebas y evaluación manual.
Los escenarios están relacionados con las preocupaciones
arquitectónicas tales como los atributos de calidad, y tienen
como objetivo poner de relieve las consecuencias de las
decisiones arquitectónicas que se encapsulan en el diseño.
Los escenarios pueden ser concebidos para hacer frente a
cualquier requisito de calidad de interés en una aplicación
dada.
39. El método SEI ATAM
3
9 •
E
s
t
e
m
é
t
o
d
o
d
e
s
c
r
i
b
e
l
o
s
e
s
c
41. Prototipos de Arquitectura
4
1
Los prototipos son versiones reducidas o restringidas de la
aplicación deseada, creadas específicamente para poner a
prueba algunos los aspectos del diseño de alto riesgo o que
puedan ser mal entendidos.
Los prototipos se utilizan normalmente con dos objetivos:
Prueba de concepto: ¿Puede la arquitectura como esta diseñada
construirse en una forma que pueda satisfacer los
requerimientos?
Prueba de tecnología: ¿La tecnología (middleware, aplicaciones
integradas, librerías, etc.) seleccionadas para implementar la
aplicación se comportan como se espera?
43. Créditos
4
3
Software Architecture in Practice, Second Edition.
Len Bass, Paul Clements, Rick Kazman
Essential Architecture. Ian Gorton.
Documenting Software Architectures, Views and Beyond.
Second Edition. Paul Clements, Felix Bachmann, Len Bass,
David Garlan, James Ivers, Reed Little, Paulo Merson, Robert
Nord, Judith Stafford.
Curso de Arquitectura de Software, Universidad de Chile.
Cecilia Bastarrica, Daniel Perovich.
45. Modelos de Datos
Introducción
2005-06 45
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Índice
• Introducción
• Sistemas de información
• Conceptos
• Representación de objetos
• Cualidades
• Clasificación
46. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
ANÁLISIS-DISEÑO-IMPLEMENTACIÓN
¿cuál es el problema? - ¿cómo solucionarlo? - ¡solucionado!
2005-06 46
47. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
ANÁLISIS-DISEÑO-IMPLEMENTACIÓN
¿cuál es el problema? - ¿cómo solucionarlo? - ¡solucionado!
BD: esq.conceptual - esq.lógico- esq.interno + ...
¿Modelos de datos?
¿sólo BD?
2005-06 47
48. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
¿Qué es un MD?
• la herramienta intelectual que
nos permite estructurar los
datos de forma que se capte la
semántica de los mismos
2005-06 48
49. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
¿Qué es un MD?
“Lenguaje”, “forma de comunicarse”
¿Para qué?
definición de datos
soporte desarrollo metodología BD
lenguajes manipulación de datos
soporte arquitectura SGBD
estudio alternativas organización de datos
Resumiendo
seleccionar el modelo de datos a utilizar por
todos ayuda a “diseñar”, “organizar” datos
de la “empresa”
2005-06 49
50. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Cjto. de
conceptos
Reglas de
composición
Sistema de Información
representa
+
se
compone de
modelo
de
datos
2005-06 50
51. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Sistema
• Conjunto de cosas relacionadas ordenadamente
entre sí para cumplir unos determinados objetivos
Almacén
mercancías ventas
2005-06 51
52. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
ALMACÉN
mercancías ventas
Sistema
albaranes
INVENTARIO
orden de
venta
Sistema de Información
pedidos
nota de
envío
2005-06 52
53. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Fases de Desarrollo de un SIM
• Análisis
• Diseño
• Implementación
2005-06 53
54. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Fases de Desarrollo de un SIM
• Análisis:
ABSTRACCIÓN: MUNDO REAL MUNDO IDEAS
investigación:
– requerimientos de información
– requerimientos de procesos
modelado:
– estructuras de datos
– procesos (operaciones)
• Diseño
• Implementación
2005-06 54
55. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Fases de Desarrollo de un SIM
• Análisis
• Diseño:
MUNDO IDEAS MUNDO DATOS
lógico: organización de las ideas para ser
almacenadas
físico: acercamiento al nivel de
almacenamiento
• Implementación 2005-06 55
56. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Fases de Desarrollo de un SIM
• Análisis
• Diseño
• Implementación:
MUNDO DATOS
programación:
– procesos
– datos
pruebas:
– fiabilidad
– rendimiento
2005-06 56
57. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Sistema de Información
Mecanizado
• Sistema de información soportado
por un ordenador.
• Componentes básicos:
Datos + su descripción
Equipo físico: el ordenador
Equipo lógico: SGBD + sistema de
comunicación + SO + ...
Administrador: persona o equipo
responsable
Usuarios.
2005-06 57
58. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Sistema de Información
Mecanizado
• Historia:
Años
70
80
90
00
SIM de proceso de transacción cálculos
SIM soporte decisión decisiones
2005-06 58
59. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Propiedades de un SI
• estáticas
• dinámicas restricciones
de integridad
estructura + operaciones
2005-06 59
60. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Propiedades de un SI
• estáticas
valores posibles, referencias,
identificación...
– los clientes de Movistar se identifican por un
número de 7 dígitos
• dinámicas
evolución de la información en el
tiempo
– los beneficios de Telefónica nunca deben
disminuir
– el servicio de telefonía móvil puede empeorar,
nunca mejorar
2005-06 60
61. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Modelo de datos
• herramienta intelectual para
estructurar datos captando su
semántica
– ¿qué significan / representan?
– ¿cómo se relacionan?
– ¿qué se puede hacer con ellos? (“¿cómo se
almacena una factura?”)
conceptos+reglas composición
2005-06 61
62. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Esquema
• Representación de un SI
usando un MD concreto
• Estructuras de datos + operaciones
Lenguaje de Definición de Datos (LDD)
• define el esquema
Lenguaje de Manipulación de Datos
(LMD)
• maneja datos almacenados según el esquema
Navegacionales
– “busca en la lista doblemente enlazada el primer ítem alumno
aprobado en BD1”
De especificación
– “alumnos aprobados en BD1”
2005-06 62
63. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
SGBD implementación MD
• Base de Datos RELACIONAL
datos estructurados en una BD conforme al
MODELO RELACIONAL
• SGBD RELACIONAL
sistema informático capaz de manejar una
BD RELACIONAL
2005-06 63
64. Modelos de Datos
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Mecanismos de abstracción
• clasificación
• agregación
• Generalización
Introducción
Restricciones semánticas
• dominio
• identificación
• correspondencia entre clases
cardinalidad
existencia
dependencia de identificador
cobertura en generalizaciones
2005-06 64
65. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Mecanismos de abstracción
• Clasificación
• Agregación
• Generalización
2005-06 65
66. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Mecanismos de abstracción
• Clasificación
Definir clases de objetos básicas
• Agregación
• Generalización
2005-06 66
67. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Mecanismos de abstracción
• Clasificación
Definir clases de objetos básicas
• Agregación
Construir clases de objetos complejas
• Generalización
2005-06 67
68. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Mecanismos de abstracción
• Clasificación
Definir clases de objetos básicas
• Agregación
Construir clases de objetos complejas
• Generalización
Establecer “tipos” entre las posibles
instancias de la clase:
– clase genérica: propiedades comunes
– clase(s) especializada(s): propiedades
exclusivas
2005-06 68
69. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Clasificar y agregar
dni nombre dirección código créditos
clasificar
2005-06 69
70. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Clasificar y agregar
dni nombre dirección código créditos
clasificar
alumno asignatura
agregar
2005-06 70
71. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Clasificar y agregar
dni nombre dirección código créditos
clasificar
alumno asignatura
agregar
cursa
agregar
2005-06 71
72. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Generalizar
• atributos comunes y exclusivos
matrícula marca modelo
clasificar
2005-06 72
73. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Generalizar
• atributos comunes y exclusivos
matrícula marca modelo
clasificar
vehículo
agregar 2005-06 73
74. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Generalizar
• atributos comunes y exclusivos
matrícula marca modelo
clasificar
generalizar
motocicleta
vehículo
agregar
coche
tabla
windsurf a
motor
2005-06 74
75. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Generalizar
• atributos comunes y exclusivos
cantidad
matrícula marca modelo
clasificar
generalizar
motocicleta
vehículo
agregar
de
puertas
coche
tabla
windsurf a
motor
cilindrada tubarro?
clasificar
2005-06 75
76. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Propiedades de cobertura
de la generalización
motocicleta
vehículo
– Cómo se clasifican los objetos
• total / parcial
coche
P,D
• disjunta / solapada
2005-06 76
77. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Propiedades de cobertura
de la generalización
motocicleta
vehículo
– Cómo se clasifican los objetos
• total / parcial
coche
P,D
– Todos / no todos los objetos
pertenecen a una clase
especializada
¿Todos los vehículos son o
coches o motos?
• disjunta / solapada 2005-06 77
78. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Propiedades de cobertura
de la generalización
motocicleta
vehículo
– Cómo se clasifican los objetos
• total / parcial
coche
P,D
– Todos / no todos los objetos
pertenecen a una clase
especializada
¿Todos los vehículos son o
coches o motos?
• disjunta / solapada
– Los conjuntos especializados
son disjuntos / no disjuntos
Un vehículo, ¿puede ser coche y
moto a la vez?
2005-06 78
79. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Cualidades de los MM.DD.
• en general
expresividad
simplicidad
minimalidad
nº conceptos de representación
fácil de leer / comprender
concepto1 concepto2
interpretación única y precisa de los
formalidad
conceptos
• con LDD gráfico
compleción gráfica
facilidad de lectura
2005-06 79
80. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Clasificación MM.DD.
• Primitivos
archivo convencional, registros
• Clásicos (registros)
jerárquico, red, relacional (¿registros?)
• Semánticos (oo y lógica)
E-R, semántico general, orientado a objetos...
• Otros (de propósito particular)
cartografía, CAD/CAM, hipertexto
2005-06 80
85. Modelos de Datos
Introducción
Sistemas de
información
Conceptos
Represent.
S.I.
Cualidades
Clasificación
Conclusiones
• Modelo de Datos
herramienta intelectual de
representación
• No sólo aplicable a BD
pero... modelo relacional
• Evolución de los MM.DD.
nuevas exigencias hacen inadecuados
a los modelos
2005-06 85