Consejos, conceptos y vocabulario sobre requerimientos y especificaciones.

Slides:



Advertisements
Presentaciones similares
Clase 09.  Garantizar la calidad de software  La prueba nunca termina, del IS translada se translada al usuario  Las casas de software invierte del.
Advertisements

Normalización Consiste en designar y aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad- relación al modelo relacional.
Especificación de sistemas concurrentes con TLA +.
2012-BM5A. Introducción Todos los lenguajes de programación son distintos entre si. Sin embargo, pueden ser agrupados según la forma de pensar y estructurar.
Introducción. Si se revisa la literatura, los principales autores, se encuentra que no existe una única definición de econometría. Etimológicamente: Econometría=
UNIVERSIDAD FERMIN TORO CABUDARE ENSAYO TIPOS DE SOFTWARE E IMPORTANCIA JUNIO 2014.
Primera Forma Normal La regla de la Primera Forma Normal establece que las columnas repetidas deben eliminarse y colocarse en tablas separadas. Poner la.
TEMA: PSP (Personal Software Process) ANALISIS DE SISTEMAS I ING. EDGAR RAUL MOLINA INTEGRAMTES: HANNSEL E. CORDON AC JESSICA IDALMY KRESS FREDERIC HESTIB.
TUTORIA 1 Lógica para la Computación TUTORIA 1 Facultad de Ciencias Naturales y Matemáticas.
Pruebas de Funcionalidad de Software: Caja Negra y Caja Blanca Curso: Diseño de Sistemas 9no. Semestre.
Diseño por Contrato Tecnología de Objetos Raúl Herrera A.
Análisis de Proyecto de Software.
Proceso de Implantación y Aceptación del Sistema de Información (IAS)
Flujo de trabajo: Requisitos Modelado de Casos de Uso
Teoría de Juegos Introducción Dixit & Skeath, 1,2.
Ingreso , proceso y salida de datos
El Lenguaje de Modelación Unificado
Paul Leger Casos de Usos Paul Leger
Convenciones de nomenclatura y diseño
Ingeniería de requisitos y
Programación Avanzada
Flujo de trabajo: Requerimientos
Loreto Vergara M. Taller de Competencias Laborales
Desarrollo e Implementación de un Dispositivo “Wearable” para el Análisis de Temperatura, Humedad, Incidencia de Rayos Ultravioletas (UV) y Presión Atmosférica.
Coherencia en la imagen
El conjunto de los números naturales
Programación Orientada a Objetos
Kevin Emmanuel Peralta López
simulacion Resumen unidad 1 Equipo Baldor Huerta Ocejo Ivan de Jesus
DISEÑO Y AUDITORIA DE SISTEMAS
U.T. 11: Introducción A Las Bases De Datos
Centro de Estudios de Justicia de las Américas
1) Asociativa sobre (+):  (a + b) + c = a +(b + c) 
NORMALIZACION El proceso de normalización de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo.
LENGUAJES Y REPRESENTACION TECNICA
METODOLOGÍA DE SISTEMAS
CREAR DIAGRAMA DE FLUJO
MATEMÁTICA DISCRETA Y LÓGICA 1
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Modelo de 3 capas. Qué es la arquitectura de una aplicación? La arquitectura se refiere a la forma en la que es diseñada tanto física como lógicamente.
LÓGICA DE PROGRAMACIÓN
Especificación de requerimientos por: Sonia Cristina Gamboa Sarmiento
Unidad 1 Capítulo V La solución de una Ecuación Diferencial
Base de Datos TECNICATURA SUPERIOR EN INFORMÁTICA PROF.: GUANUCO, JUAN CARLOS.
Expresiones Algebraicas
Universidad Nacional de Colombia - Leguajes de Programación
Tema 7: Uso de la probabilidad en la investigación psicológica
PRODUCTO CARTESIANO RELACIONES BINARIAS. Producto Cartesiano El producto cartesiano de dos conjuntos A y B, denotado A × B, es el conjunto de todos los.
1 Módulo 1 Introducción a la Base de Datos. 2 Objetivos Generales Introducir conceptos básicos de base de datos Identificar los componentes y demás herramientas.
ADMINISTRACIÓN INFORMÁTICA POLÍTICAS EMPRESARIALES.
1 Expresiones Algebraicas Una expresión algebraica es una expresión en la que se relacionan valores indeterminados con constantes y cifras, todas ellas.
LAS ETAPAS DE LA SIMULACION NUMERICA
CURSO PROGRAMACIÓN BÁSICA SEMANA 3 ¿Qué es un programa?
El problema de la medición en psicología.
Requisitos Ing. Maribel Valenzuela Beltrán 1.
Facultad de Ciencias de la Computación MC Beatriz Beltrán Martínez
La dimensión moral de la vida humana
METODOLOGIA DE LA INVESTIGACION. OPERACIONALIZACION DE LAS VARIABLES.
MODELADO DE DATOS Tema 2: Normalizar un diseño de bases de datos.
Microeconomía   Sesión 2. Funcionamiento de los mercados. Parte I.
ALGORITMOS DE ELECCION
AUTÓMATAS ROHERMY OCHOA V AUTÓMATA FINITO Es un modelo computacional que realiza cómputos en forma automática sobre una entrada para producir.
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS. INTRODUCCION. ¿ Qué es UML ?. UML, por sus siglas en Ingles, Unified Modeling Languaje.(Lenguaje Unificado.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
INTRODUCCIÓN A UML.  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Desarrollo de sistemas
Especificación de Requerimientos
Prueba de Hipótesis Concepto Asignar Probabilidades de ocurrencia a un evento basado en la suposición (hipótesis) de un evento o distribución.
Metodología de la Investigación 3 e Roberto Hernández Sampieri Carlos Fernández Collado Pilar Baptista Lucio.
Tecnologías de la Información y Comunicación Unidad 1. Teoría axiológica de conjuntos Contenido 1.1. Introducción 1.2. Conjuntos, elementos y subconjuntos.
Transcripción de la presentación:

Consejos, conceptos y vocabulario sobre requerimientos y especificaciones

Designaciones sin tipo ● Las reglas de reconocimiento nunca brindan información sobre el tipo del término designado, sin importar el vocabulario que se use. – p es una pieza ≈ Pieza(p) – La pieza p tiene temperatura t ≈ TempP(p, t) – ¬ (TempP(p,t) ⇒ Pieza(p)) – ∀ p,t ⋅ Pieza(p) ∧ Temp(t) ∧ TempP(p,t) ⇒ t > 0

"Todos" peligrosos (1) ● En general las sentencias indicativas cuantificadas universalmente no son ciertas. – "Cada auto tiene una única patente" – ¿Qué pasa si por una u otra razón: ● un auto tiene más de una patente ● a un auto no se le ha asignado una patente ● una persona reporta un número de patente incorrecto ● una persona reporta el número de patente de otro auto ?

"Todos" peligrosos (2) ● Como las sentencias indicativas pertenecen al DK, forman parte de lo que el IS asume a la hora de construir el sistema. ● Por lo tanto, si se asume una sentencia indicativa cuantificada universalmente como cierta cuando en realidad no lo es, el sistema será incapaz de cumplir con su especificación cada vez que se le presente un caso para el cual la cuantificación es falsa.

"Todos" peligrosos (3) ● En consecuencia, el IS debe dudar y someter a experimentos, pruebas, etc. cualquier sentencia indicativa cuantificada universalmente que el cliente le presente como cierta. ● Por otro lado, las sentencias optativas cuantificadas universalmente son razonables y deseables. – El sistema de patentes debe responder correctamente a cada uno de los casos raros mencionados.

Especificar: abstraer + describir ● Aprenda a especificar: – trate de NO pensar como un programador; – trate de NO pensar computacionalmente, olvídese de la computadora... olvídese que existen; – describa sólo los fenómenos esenciales de la interfaz entre el entorno y el sistema. ● Sea claro: haga que las verdades sean obvias. ● Utilice el principio de separación de conceptos para modularizar la especificación.

Especificar: construir modelos ● En muchos casos la especificación constituye un modelo analógico de la interacción entre el sistema y el entorno. ● Estos modelos son analogías de las cosas que modelan, es decir, establecen relaciones entre los individuos que viven en el modelo y aquellos que viven en la realidad. ● Comparten ciertas propiedades y estructura con el mundo real.

Propiedades de las variables de estado ● La más importante es el tipo. ● Para variables cuyo tipo es “estructurado” (por ejemplo, listas) se debe tener en cuenta: – Orden, ¿es necesario resaltar algún orden? – Duplicados, ¿puede haber elementos duplicados? – Cotas, ¿están o no acotados los elementos del tipo? – Acceso, ¿los elementos son recuperados por un índice o una clave? – Forma, ¿estructura lineal, jerárquica, acíclica, etc.?

● Para variables cuyo tipo es relacional/funcional: – ¿Función o relación? – ¿Total o parcial? – ¿Suryectiva, inyectiva o biyectiva? – ¿Finita o infinita? – ¿Es idempotente? – ¿Es reflexiva, simétrica o transitiva? – ¿Es conmutativa, asociativa, distributiva? Propiedades de las... (2)

Invariantes ● Propiedad que no cambia a medida que el sistema pasa de un estado a otro. – Es simplemente un predicado en el cual intervienen sólo las variables de estado. – Si True es el invariante más fuerte, revise la especificación. – Pensar largamente sobre el invariante puede llevar a cambiar radicalmente el sistema. ¡Hágalo!

Precondiciones ● Supuestos sobre el entorno efectuados por las operaciones que realizan las transiciones de estado en una máquina de estados. ● La operación no está en control de tales supuestos; el entorno puede verificarlos o no. ● ¿Qué sucede si una precondición no se cumple? – Depende del significado que cada lenguaje asigna a las precondiciones.

Invariante y precondición (1) ● Existen al menos dos formas de registrar el invariante en una especificación: – restringiendo, por definición, los estados de la máquina a aquellos que verifican el invariante; o – especificando las operaciones de la máquina de forma tal que preserven el invariante. ● La primera forma es el estilo tradicional en Z, la segunda es más común en TLA.

Invariante y precondición (2) ● En el primer caso la precondición de cada operación puede quedar implícita y hay que analizarla para documentarla adecuadamente; el IS puede ahorrarse algunas precondiciones. ● En el segundo, hay que elegir muy bien la precondición de cada operación y demostrar que así preserva el invariante.

Postcondiciones ● Supuestos sobre la interfaz entorno/máquina efectuados por el entorno luego de una transición de estado. ● La operación que realizó el cambio de estado (más el DK apropiado) es quien controla que tales supuestos se verifiquen, si su precondición estaba satisfecha. ● La postcondición debe describir el efecto observable sobre las variables de estado y de salida producto de una transición de estado.

Usar no-determinismo ● La introducción de no-determinismo es una técnica efectiva de abstracción.

Errores/excepciones/fallas ● Es tan importante especificar el comportamiento erróneo o excepcional como el normal. ● Existe una relación muy estrecha entre precondiciones y comportamiento erróneo: cada precondición no satisfecha puede llevar al sistema a comportarse de forma anómala. ● Por lo tanto, es necesario analizar las precondiciones para especificar los errores.

Operaciones atómicas ● Debe quedar claramente documentado cuáles de las operaciones son consideradas atómicas a nivel de la especificación pues luego deben ser implementadas de tal forma. ¿Qué podría suceder si se supuso que Extraer era atómica pero no se implementó de tal forma?