La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Especificación formal.

Presentaciones similares


Presentación del tema: "©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Especificación formal."— Transcripción de la presentación:

1 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Especificación formal

2 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 2 Objetivos l Explicar por qué las técnicas de especificación formal ayudan a descubrir los problemas en los requisitos del sistema l Describir el uso de las técnicas algebraicas para la especificación de interfaz l Describir el uso de técnicas basadas en modelos de comportamiento para la especificación

3 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 3 Tópicos expuestos l Especificación formal en el proceso de software l Especificación de interfases de los subsistemas l Especificación del comportamiento

4 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 4 Métodos formales l Especificación formal es parte de una colección más general de las técnicas que se conocen como “métodos formales”. l Estos se basan en la representación matemática y el análisis de los programas informáticos. l Incluir métodos formales Especificación formal; El análisis y la especificación de la prueba; Desarrollo transformacional; Programa de verificación.

5 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 5 Aceptación de métodos formales l Los métodos formales en las técnicas de desarrollo de software no se aplican como se ha pronosticado alguna vez Otras técnicas de ingeniería de software han tenido éxito en aumentar la calidad del sistema. De ahí la necesidad de métodos formales se ha reducido; Los cambios en el mercado han hecho la comercialización de software el factor clave en lugar de un desarrollo con un bajo nivel de error. Métodos formales no reducen los plazos de comercialización; El ámbito de aplicación de métodos formales es limitado. Ellos no están bien adaptados a la especificación y el análisis de las interfaces de usuario y la interacción del usuario; Los métodos formales todavia no son muy escalables.

6 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 6 El uso de métodos formales l Los principales beneficios de los métodos formales en la reducción del número de fallas en los sistemas. l Por consiguiente, su principal área de aplicación es fundamental en la ingeniería de sistemas. Se han realizado varios proyectos exitosos con métodos formales que se han utilizado en este ámbito. l En este ámbito, el uso de métodos formales es más probable que sea rentable, porque el fallo del sistema de altos costes deben evitarse.

7 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 7 Especificación del proceso de software l Especificación y el diseño están indisolublemente entremezclados. l Diseño arquitectónico es fundamental para estructurar una especificación y el proceso de especificación. l Especificaciones formales se expresan en una notación matemática definida con precisión en el vocabulario, la sintaxis y la semántica.

8 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 8 Especificación y diseño

9 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 9 Especificación del proceso de software

10 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 10 El uso de la especificación formal l Especificación formal implica invertir más esfuerzo en las primeras fases de desarrollo de software. l Esto reduce los errores en los requerimientos, ya que obliga a un análisis detallado de los mismos. l Incoherencias se pueden descubrir y resolver. l Por lo tanto, el ahorro realizado en el importe de la modificación de los requerimientos debido a los problemas se reduce.

11 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 11 Perfil de costos l El uso de la especificación formal significa que el perfil de costos de un proyecto cambia Hay costos futuros mayores a medida que se emplee mas tiempo y esfuerzo desarrollando la especificación; Sin embargo, la implementación y validación de costos debería reducirse a medida que la especificación del proceso reduce los errores y ambigüedades en los requerimientos.

12 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 12 Los costes de desarrollo con la especificación oficial

13 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 13 Especificación técnica l Especificación algebraica El sistema se especifica en términos de sus operaciones y sus relaciones. l Especificación basada en modelos El sistema se especifica en términos de un modelo de estado que construye con constructores matemáticos como conjuntos y secuencias. Las operaciones son definidas por las modificaciones en el estado del sistema.

14 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 14 Lenguajes de especificación formal

15 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 15 Especificación de interfaz l Grandes sistemas se descomponen en subsistemas con interfaces bien definidas entre estos subsistemas. l La especificación de las interfaces de subsistemas permite el desarrollo independiente de los diferentes subsistemas. l Las interfaces pueden ser definidas como tipos abstractos de datos o clases de objetos. l El enfoque algebraico para la especificación formal es particularmente bien adaptado a las especificaciones de interfaz, ya que se centra en las operaciones definidas en un objeto.

16 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 16 Sub-sistema de interfaces

17 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 17 La estructura de una especificación algebraica

18 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 18 Especificación de los componentes l Introducción Define el tipo (el tipo de nombre) y declara otras especificaciones que se utilizan. l Descripción Informalmente describe las operaciones. l Signatura Define la sintaxis de las operaciones en la interfaz y sus parámetros. l Axiomas Define la semántica de la operación mediante la definición de axiomas que caracterizan el comportamiento.

19 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 19 Especificación algebráica sistemática l Las especificaciones algebraicas de un sistema pueden ser desarrolladas de forma sistemática Estructuración de la especificación; Nombramiento de las especificaciones; Seleccion de las operaciones; Especificación informal de las operaciones; Definición de la sintaxis; Definición de axiomas.

20 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 20 Especificación de las operaciones l Operaciones de construcción. Operaciones que crean entidades del tipo especificado. l Operaciones de inspección. Operaciones que evalúan entidades del tipo especificado. l Para especificar el comportamiento, definir operaciones de inspección para cada operación de construcción.

21 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 21 Operaciones en una lista de ADT l Operaciones de construcción que evalúan para aportar a Lista Crear, Consumo y Cola. l Operaciones de inspección que toman el tipo de lista como parámetro y devolver algún otro tipo Cabeza y Longitud. l La cola se puede definir mediante los constructores simples Crear y Cons. No hay necesidad de definir Cabeza y Longitud con Cola.

22 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 22 Especificacion de una lista

23 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 23 La recursión en las especificaciones l Las operaciones se especifican a menudo recursivamente. l Cola (Cons (A, v)) = si L = Crear entonces Crear sino Cons (cola (L), v). Cons ([5, 7], 9) = [5, 7, 9] Cola ([5, 7, 9]) = cola (Cons ([5, 7], 9)) = Cons (de cola ([5, 7]), 9) = Cons (de cola (Cons ([5], 7)), 9) = Cons (Cons (de cola ([5]), 7), 9) = Cons (Cons (de cola (Cons ([], 5)), 7), 9) = Cons (Cons ([Crear], 7), 9) = Consumo ([7], 9) = [7, 9]

24 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 24 Especificación de interfaz en los sistemas críticos l Considere la posibilidad de un sistema de control aéreo donde los aviones vuelen a través de un espacio aéreo y sectores gestionados. l Cada sector puede incluir un número de aeronaves, pero, por razones de seguridad, estos deben ser separados. l En este ejemplo, se propone una simple separación vertical de 300 metros. l El sistema debe advertir al controlador si los aviones tienen instrucciones para moverse de manera que la separación es violada.

25 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 25 Un sector objeto l Operaciones críticas sobre un objeto que representa un sector controlado son: Entrar. Añadir un avión al espacio aéreo controlado; Salir. Eliminar una aeronave del espacio aéreo controlado; Mover. Mover una aeronave desde una altura a otra; Buscar. Dado un identificador de aeronave, devolver su altura actual;

26 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 26 Operaciones primitivas l A veces es necesario introducir otras medidas para simplificar las operaciones de la especificación. l El resto de operaciones se puede definir mediante estas operaciones más primitivas. l Operaciones primitivas Crear. Trae una instancia de un sector en existencia; Poner. Añadir un avión sin verificaciones de seguridad; En el espacio. Determinar si una aeronave está en el sector; Ocupados. Dada una altura, determinar si hay un avión dentro de 300 metros de altura.

27 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 27 Especificación del sector (1)

28 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 28 Especificación del sector (2)

29 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 29 Comentario de la especificación l Usar los constructores básicos Crear y Poner para especificar otras operaciones. l Define Ocupado y En espacio usando Crear y Poner y los usa para hacer verificaciones en otras operaciones definidas. l Todas las operaciones que resulten en cambios en el sector deben verificar que el criterio de seguridad se mantiene.

30 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 30 Especificación del comportamiento l La especificación algebraica puede ser engorrosa cuando las operaciones del objeto no son independientes del estado del objeto. l La especificación basada en modelos expone el estado del sistema y define las operaciones en términos de cambios en ese estado. l La notación Z es una técnica madura para la especificación basada en modelos. Combina descripciones formales e informales y usa resaltadores gráficos cuando da lugar a la presentación de las especificaciones.

31 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 31 La estructura de un esquema Z

32 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 32 Modelando la bomba de insulina l El esquema Z de la bomba de insulina declara una serie de variables de estado, incluyendo: Variables de entrada, tales como cambiar (cambiar el dispositivo), InsulinReservoir (la actual cantidad de insulina en el depósito) y la lectura (la lectura del sensor); Como variables de salida como ser alarma! (un sistema de alarma), display1!, display2! (la muestra sobre la bomba) y la dosis! (la dosis de insulina para ser entregados).

33 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 33 Esquema invariante l Cada esquema Z tiene una parte invariante que define las condiciones que siempre son verdad. l Por el esquema de la bomba de insulina es siempre cierto que: La dosis debe ser igual o inferior a la capacidad del depósito de insulina; Dosis única no puede ser más de 4 unidades de insulina y la dosis total emitida en un plazo no deberá exceder de 25 unidades de insulina. Esta es una limitación de seguridad; display2! muestra la cantidad de insulina que se entregará.

34 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 34 Esquema bomba de insulina

35 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 35 Invariantes del estado

36 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 36 El cálculo de dosis l La bomba de insulina calcula la cantidad de insulina necesaria mediante la comparación de la actual lectura con dos lecturas previas. l Si estas sugieren que hay aumento de glucosa en la sangre, la insulina se entrega a inmediatamente. l Se emite información acerca de la dosis total a fin de permitir la invariante verificación de seguridad que debe llevarse a cabo. l Tenga en cuenta que esta invariante siempre se aplica - no es necesario repetirla en el cálculo de la dosis.

37 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 37 RUN esquema (1)

38 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 38 RUN esquema (2)

39 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 39 Esquema de aceptación de azúcar

40 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 40 Puntos clave l Sistema formal de especificación complementa informal especificación técnicas. l Especificaciones formales son precisos e inequívocos. Eliminan zonas de duda en un pliego de condiciones. l Especificación formal de las fuerzas de un análisis de los requisitos del sistema en una fase temprana. Corrección de errores en esta etapa es más barata que la modificación de un sistema de entrega. l Especificaciones técnicas formales son más aplicables en el desarrollo de los sistemas críticos y las normas.

41 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 41 Puntos clave l Algebraica se adaptan a las técnicas de especificación de interfaz que la interfaz se define como un conjunto de clases de objetos. l Modelo de técnicas basadas en el modelo de sistema usando conjuntos y funciones. Esto simplifica algunos tipos de comportamiento especificación. l Operaciones se definen en un modelo basado en las especificaciones. mediante la definición de las condiciones pre y post sobre el estado del sistema.


Descargar ppt "©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Especificación formal."

Presentaciones similares


Anuncios Google