Modelos conceptuales y formales
|
|
-
modelos formales en lógica,
-
teoría de conmutación y teoría de la computación,
-
paradigmas de lenguajes de programación basados en modelos formales,
-
modelos conceptuales como tipos de datos abstractos y modelos de datos semánticos, y
-
lenguajes visuales utilizados para especificar y diseñar sistemas, como el flujo de datos y diagramas entidad-relación.
|
|
-
La naturaleza y el uso de la abstracción en la informática; el uso de la abstracción para gestionar la complejidad, estructurar sistemas, ocultar detalles y capturar patrones recurrentes; la capacidad de representar una entidad o sistema mediante abstracciones que tienen diferentes niveles de detalle y especificidad.
|
-
niveles de descripción de hardware,
-
niveles de especificidad dentro de una jerarquía de objetos,
-
la noción de genéricos en lenguajes de programación y
-
los niveles de detalle proporcionados en la solución de un problema a partir de especificaciones a través del código.
|
|
|
-
asociar (asignar) un proceso con un procesador,
-
asociar un tipo con un nombre de variable,
-
asociar un programa de objeto de biblioteca con una referencia simbólica a un subprograma,
-
instanciar en programación lógica,
-
asociar un método con un mensaje en un lenguaje orientado a objetos,
-
creando instancias concretas a partir de descripciones abstractas.
|
|
|
-
Este es un factor importante para distinguir y seleccionar métodos que se adapten a diferentes tamaños de datos, espacios de problemas y tamaños de programas.
-
En grandes proyectos de programación, es un factor que determina la organización de un equipo de implementación.
|
|
|
-
ubicación física, como en las redes o la memoria,
-
ubicación organizacional (por ejemplo, de procesadores, procesos, definiciones de tipo y operaciones asociadas) y
-
ubicación conceptual (por ejemplo, alcance, acoplamiento y cohesión del software).
|
|
|
-
parámetro en modelos formales (por ejemplo, en la lógica temporal),
-
sincronizar procesos que se extienden por el espacio,
-
ejecución de algoritmos.
|
Compromisos y consecuencias
|
-
El fenómeno de los compromisos en la informática y las consecuencias de dichos compromisos. Los efectos técnicos, económicos, culturales y de otro tipo de seleccionar una alternativa de diseño sobre otra. Los compromisos son un hecho fundamental de la vida en todos los niveles y en todas las áreas temáticas.
|
-
compromisos de espacio-tiempo en el estudio de algoritmos,
-
compromisos inherentes a objetivos de diseño en conflicto (por ejemplo, facilidad de uso versus integridad, flexibilidad versus simplicidad, bajo costo versus alta confiabilidad, etc.),
-
compromisos de diseño en hardware y
-
compromisos implícitas en los intentos de optimizar la potencia informática frente a una variedad de limitaciones.
|
|
|
-
evaluación teórica de la complejidad espacial y temporal de un algoritmo,
-
la viabilidad, la eficiencia con la que se puede lograr un determinado resultado deseable (como la finalización de un proyecto o la fabricación de un componente) y
-
eficiencia de un determinado resultado
|
|
|
-
probabilidad, la reutilización de bibliotecas de software y componentes de hardware,
-
tecnologías que promueven la reutilización de componentes de software y
-
abstracciones de lenguaje que promueven el desarrollo de módulos de software reutilizables.
|
Coherencia e integridad (Eficacia)
|
|
-
Conjunto de axiomas que sirven como especificación formal,
-
la coherencia de la teoría con los hechos observados y
-
la coherencia interna de un lenguaje o diseño de interfaz,
-
Comportamiento del componente o del sistema con las especificaciones establecidas.
-
la adecuación de un conjunto dado de axiomas para capturar todos los comportamientos deseados,
-
la adecuación funcional de los sistemas de software y hardware, y
-
la capacidad de un sistema para comportarse bien en condiciones de error y situaciones imprevistas.
|
|
|
-
verificación de tipos y otros conceptos en lenguajes de programación que brindan protección contra el uso indebido de objetos y funciones de datos,
-
cifrado de datos, otorgamiento y revocación de privilegios por parte de un sistema de administración de bases de datos,
-
características en las interfaces de usuario que minimizan los errores del usuario, medidas de seguridad física en la computadora
|
|
|
-
modelos formales para representar aspectos de los sistemas que varían con el tiempo, y
-
capacidad de un diseño para resistir las demandas ambientales cambiantes y los requisitos,
-
herramientas e instalaciones cambiantes para la gestión de la configuración.
|