Software de diseño en un enfoque estructural. Esquema estructural del programa estructural y funcional del programa del programa.

Esquema estructural y funcional del programa.

El esquema estructural es una combinación de enlaces elementales del objeto y enlaces entre ellos, uno de los tipos de modelo gráfico. Bajo el enlace elemental, se entiende parte del objeto, sistema de control, etc., que implementa la función elemental. En la Fig. 2.1 Presentó el diagrama estructural del programa desarrollado.

Figura 2.1 - Esquema estructural del programa.

Esquema funcional: un documento que explica los procesos que se producen en circuitos funcionales separados del producto (instalación) o el producto en su conjunto. El esquema funcional es la explicación de ciertos tipos de procesos que se producen en bloques de función integrales y circuitos de dispositivos. Fig. 2.2 Presenta un esquema funcional del programa desarrollado.

Figura 2.2 - Esquema funcional del programa.

Descripción de los procedimientos, funciones y módulos.

Anuncio del módulo:

Cada archivo de origen debe contener un módulo de anuncio. La unidad de palabra es clave, por lo que debe escribirse en la minúscula. El nombre del módulo puede contener caracteres, tanto en la caja superior como en minúsculas y debe ser el mismo que el nombre utilizado para este archivo por el sistema operativo.

Módulos de idioma delphi estándar. La composición del entorno Delphi incluye un magnífico conjunto de módulos, cuyos posibilidades satisfarán incluso al programador más exigente. Todos los módulos se pueden dividir en dos grupos: módulos de sistema y módulos de componentes visuales.

Los módulos del sistema incluyen sistema, sysutils, sharemem, matemáticas. Contienen los tipos de datos, constantes, variables, procedimientos y funciones de uso más utilizado. El módulo del sistema es el corazón del entorno de Delphi; Los subprogramas contenidos en él aseguraron el funcionamiento de todos los otros módulos del sistema. El módulo del sistema está conectado automáticamente a cada programa y no es necesario especificarlo en la declaración Usos.

Los módulos de componentes visuales (VCL - Biblioteca de componentes visuales) se utilizan para el desarrollo visual de aplicaciones GUI con todas las funciones: la interfaz gráfica de usuario. Estos módulos en el agregado son una biblioteca orientada a objetos de alto nivel con todo tipo de elementos de la interfaz de usuario: botones, inscripciones, menús, paneles, etc. Además, estos módulos de la biblioteca contienen acceso simple y eficiente a las bases de datos. Estos módulos se conectan automáticamente al colocar componentes a formar.

Descripción del procedimiento:

Este procedimiento está cerrando el título y la hoja y la salida del programa.

procedimiento tforml.button2Click (remitente: TOGECT);

Este procedimiento abre el menú principal del programa y elimina la página de título de la pantalla.

procedimiento tform2.button1Click (remitente: TOGECT);

Este procedimiento abre la ventana con una opción de un método para resolver la tarea de transporte y elimina la ventana del menú de la pantalla.

Este procedimiento abre la ventana que contiene información sobre el programa desarrollado y elimina la ventana del menú de la pantalla.

Este procedimiento abre una ventana con información sobre la ayuda de este programa, que le permite facilitar la operación del usuario y eliminar la ventana del menú.

Este procedimiento abre la ventana sobre el desarrollador y elimina la ventana del menú.

procedimiento tform2.button5Click (remitente: TOGECT);

Este procedimiento cierra la ventana del menú y sale del programa.

procedimiento TForm3.BUTTON1COLLOCE (RADER: TOGECT);

Este procedimiento sale del menú principal y cierra la ventana con una selección de una solución de tareas de transporte:

procedimiento TForm3.Button3Click (remitente: TOGECT);

Este procedimiento cierra una ventana con soluciones de tareas de transporte por tres métodos y muestra un formulario con una solución al problema mediante el método de costo mínimo:

Este procedimiento cierra la ventana con las soluciones de tareas de transporte por tres métodos y muestra un formulario con una solución al problema por doble preferencia:

procedimiento tform2.button2Click (remitente: TOGECT);

procedimiento TForm2.Button3Click (remitente: TOGECT);

procedimiento tform2.button4click (remitente: TOGECT);

Estos procedimientos permiten al usuario pasar del menú principal a cualquier elemento del programa: "Formulario de solución", "Guía del usuario", "Información sobre el desarrollador", "Salir".

procedimiento paso a paso;

Este es un procedimiento de cálculo paso a paso en el programa, puede rastrear cada etapa del llenado de la tabla. Después del trabajo de un cálculo, el procedimiento interrumpe la ejecución del cálculo y está esperando a los Comens del usuario.

procedimiento TForm4.LABEL2COLK (RADER: TOGECT);

procedimiento TForm4.Label3Click (remitente: TOGECT);

procedimiento TForm4.Label4Click (remitente: TOGECT);

procedimiento TForm4.Label5Click (Remitente: TOGECT);

Estos procedimientos se cargan en el cuadro de texto Memo Textbook, dependiendo del elemento del menú seleccionado. Los documentos de texto son información sobre el uso de la aplicación.

procedimiento TForm1.Button8Click (remitente: TOGECT);

Este procedimiento calcula las fórmulas, sustituye los valores ingresados \u200b\u200by, como resultado de la ejecución, escribe el resultado a la variable.

procedimiento TForm1.Button9Click (remitente: TOGECT);

Este procedimiento muestra una respuesta en el campo de texto.

procedimiento TFORM1.BUTTON2COLK (RADER: TOGECT);

Este procedimiento llena los campos de entrada de acuerdo con la tarea para el proyecto del curso.

procedimiento TFORM3.BUTON4CLICK (RADER: TOGECT);

procedimiento TForm4.Button1Click (remitente: TOGECT);

Estos procedimientos se cierran con una ventana con y muestra un formulario con una selección del elemento del menú.

procedimiento Ochistka;

Este procedimiento elimina los campos de entrada y salida, libera las variables del valor que se almacena en ellas.

Diagrama funcional o diagrama de datos (GOST 19. 701-90) - Esquema para la interacción de los componentes de software con una descripción de los flujos de información, la composición de datos en flujos y una indicación de los archivos y dispositivos utilizados. Para la imagen de los esquemas funcionales, se utilizan designaciones especiales establecidas por el estándar.

Los esquemas funcionales son más informativos que estructurales. Figura 12. Para la comparación, se dan los esquemas funcionales de los complejos y sistemas de software.

Figura 12. Ejemplos de esquemas funcionales: A - complejo de software, B - Sistema de software.

Se deben describir todos los componentes de los circuitos estructurales y funcionales. Con un enfoque estructural, es especialmente necesario a fondo trabajar la especificación de las interfaces entre programas, ya que la cantidad de errores más caros depende de la calidad de su descripción. Los más caros incluyen errores que se encuentran con pruebas complejas, ya que puede tomar cambios serios en los textos ya depurados.

El uso de un enfoque orientado a objetos y el lenguaje del modelado visual de UML en el análisis de los requisitos para el software de la empresa u organización: Diagramas de construcción de diferentes tipos.

Enfoque orientado a objetos y un lenguaje de modelado visual UML en el análisis de los requisitos para el software empresarial (organización).

El lenguaje unificado del modelado orientado a objetos, el lenguaje de modelado unificado (UML) fue un medio para lograr un compromiso entre estos enfoques. Hay una cantidad suficiente de herramientas de herramientas que admiten el ciclo de vida de los sistemas de información utilizando la UML, y al mismo tiempo, UML es bastante flexible para configurar y respaldar los detalles específicos de varios equipos de desarrolladores.

UML es un lenguaje de modelado orientado a objetos con las siguientes características básicas:

· Es el idioma del modelado visual, que proporciona el desarrollo de modelos representativos para organizar la interacción del cliente y el desarrollador de IP, varios grupos de desarrolladores de IP;

· Contiene los mecanismos de expansión y especialización de conceptos de lenguaje básico.

· UML es la notación estándar del modelado visual de los sistemas de software adoptado por el Consorcio Gestión de objetos (OMG) de Gestión de objetos en la caída de 1997, y hoy en día está respaldado por muchos productos de casos orientados a objetos.

· UML incluye un conjunto interno de herramientas de modelado (módulos) ("kernel"), que ahora se adoptan en muchos métodos y medios de modelado. Estos conceptos se necesitan en la mayoría de las tareas aplicadas, aunque no es necesario que cada concepto sea necesario en cada parte de cada aplicación. Los usuarios de idiomas tienen la oportunidad:

· Construir modelos basados \u200b\u200ben herramientas del kernel, sin usar mecanismos de extensión para la mayoría de las aplicaciones típicas;

· Agregar nuevos elementos y símbolos si es necesario, si no están incluidos en el kernel, o especializan a los componentes, un sistema de símbolos (notación) y restricciones para áreas temáticas específicas.

Una combinación de programas diseñados para resolver las tareas de PC se llama software. La composición del software PC se llama configuración de software. El software se puede dividir en tres categorías (Fig. 1):

Figura 1. Clasificación por

    software del sistema (uso general) que realiza varias funciones auxiliares, como crear copias de la información utilizada, emitiendo información de referencia sobre una computadora, probando el rendimiento de los dispositivos informáticos, etc.

    software de aplicación que garantiza el trabajo necesario en la PC: edición de documentos de texto, creando dibujos o imágenes, procesamiento de matrices de información, etc.

    software instrumental (sistema de programación) asegurando el desarrollo de nuevos programas de software en el lenguaje de programación.

Software del sistema - Este es un conjunto de programas que brindan una gestión efectiva de los componentes del sistema informático, como un procesador, RAM, dispositivos de E / S, equipo de red, actuando como una "interfaz interlayer", en un lado del cual el equipo, y en el Otra, la aplicación de usuario. A diferencia del software aplicado, el sistema no resuelve tareas aplicadas específicas, pero solo garantiza el funcionamiento de otros programas, administra los recursos de hardware del sistema de computación, etc.

Estos son los programas generales no están relacionados con el uso específico de PC y realice funciones tradicionales: planificación y gestión de tareas, gestión de entrada, etc. En otras palabras, los programas del sistema realizan varias funciones auxiliares, como crear copias de la información utilizada, emitiendo información de referencia sobre una computadora, revisando el rendimiento de los dispositivos informáticos, etc. El software del sistema incluye:

    sistemas operativos (este programa se carga en RAM cuando la computadora está encendida)

    programas: conchas (proporcionan una forma más conveniente y visual de comunicarse con una computadora que usar la línea de comandos DOS, por ejemplo, Norton Commander)

    cáscaras operativas: sistemas de interfaz que se utilizan para crear interfaces gráficas, multiprogramación I.T.

    Los controladores (programas diseñados para controlar los puertos de los dispositivos periféricos generalmente se cargan en la RAM al iniciar una computadora)

    utilidades (programas auxiliares o de servicio que representan una serie de servicios adicionales al usuario)

Las utilidades incluyen:

    administradores de archivos o administradores de archivos

    herramientas de compresión de datos dinámicos (le permiten aumentar la cantidad de información en el disco debido a su compresión dinámica)

    vista y reproducción

    herramientas diagnosticas; Los controles le permiten verificar la configuración de la computadora y verificar el rendimiento de los dispositivos informáticos, primero de todos los discos duros

    los medios de comunicación (programas de comunicación) están destinados a la organización del intercambio de información entre las computadoras

    herramientas de seguridad informática (copia de seguridad, software antivirus).

Utilidades: programas diseñados para resolver un círculo estrecho de tareas auxiliares.

A veces las utilidades pertenecen a la clase de software de servicio.

Las utilidades se utilizan para:

    Monitoreo de indicadores de sensores y rendimiento del equipo: monitoreo de temperaturas del procesador, adaptador de video; Leyendo s.m.a.r.t. Discos duros;

    Parámetros de control de equipos: limitando la velocidad máxima de rotación de la unidad de CD; Cambia la velocidad de rotación de los fans.

    Control de indicadores: verificación de la integridad de referencia; La corrección de la grabación de datos.

    Expansión de características: formato y / o recálculo del disco con ahorro de datos, eliminación sin recuperación.

Tipos de servicios públicos:

Utilidades de disco

      Desfragmentadores

      Comprobación del disco: busque archivos diferentes registrados o dañados por incorrectos y secciones de disco y su eliminación posterior para un uso eficiente del espacio en disco.

      Mostrar limpieza: eliminando archivos temporales, archivos innecesarios, limpieza "Cestas".

      Markup de disco: disco dividiendo a discos lógicos que pueden tener diferentes sistemas de archivos y percibidos por el sistema operativo como varios discos diferentes.

      Copia de seguridad: creación de copias de copia de seguridad de discos completos y archivos individuales, así como recuperación de estas copias.

      Compresión de disco: compresión de información sobre discos para aumentar la capacidad de los discos duros.

      • Utilidades operativas con registro.

        Utilidades de monitoreo de equipos

        Equipo de prueba

Figura 2. Coloque SPO en una estructura de computadora multinivel

Cabe señalar que parte de la utilidad es parte del sistema operativo, y la otra parte funciona de forma autónoma. La mayor parte del software total (sistema) se incluye en OS (Fig. 2). La parte del software general es parte de la computadora en sí (parte de los programas del sistema operativo y las pruebas de control se registran en la ROM o PPZ instaladas en la placa del sistema). Parte del software general pertenece a programas independientes y viene por separado.

          Software aplicado. Los programas de aplicación se pueden utilizar de forma autónoma o como parte de los complejos o paquetes de software. Software de aplicación Proporcionando directamente el trabajo necesario en la PC: edición de documentos de texto, creando dibujos o imágenes, creando hojas de cálculo, etc. Paquetes de software aplicados: este es un sistema de programas que se dividen en los paquetes totales de los paquetes totales y los paquetes integrados. Los paquetes integrados modernos contienen hasta cinco componentes funcionales: prueba y procesador tabular, DBMS, editor gráfico, telecomunicaciones. Para aplicar software, por ejemplo, pertenecer:

    Conjunto de aplicaciones de oficina MS Office

    Sistemas contables

    Sistemas analíticos financieros

    Paquetes de trabajo de oficina integrados

    CAD - Sistemas (Sistemas de Diseño Automatizados)

    HTML o Editores web - Editores

    Navegadores - Visores de página web

    Editor gráfico

    Sistemas expertos.

          Software instrumental. El software instrumental o sistema de programación es un sistema para automatizar el desarrollo de nuevos programas de programación. En el caso más general, para crear un programa en el lenguaje de programación seleccionado (lenguaje de programación del sistema), debe tener los siguientes componentes: 1. Editor de texto para crear un archivo con programa de texto de origen. 2. Compilador o intérprete. El texto de origen utilizando el programa Compiler se traduce en un código de objeto intermedio. El texto de origen del gran programa consta de varios módulos(Archivos con textos de origen). Cada módulo se compila en un archivo separado con el código de objeto, que luego debe fusionarse en uno. El editor de enlace o el colector, que realiza la unión de los módulos de objetos y genera una aplicación viable en el código de salida - ejecutable. El código ejecutable es un programa completo que se puede iniciar en cualquier computadora donde se instale el sistema operativo para el cual se creó este programa. Normalmente, el archivo final tiene una extensión. Lee o. Os.4. Recientemente, se han distribuido métodos de programación visual (utilizando los idiomas de descripción del escenario) se centró en la creación de aplicaciones de Windows. Este proceso está automatizado en entornos de diseño rápido. Esto utiliza componentes visuales listos que están configurados con editores especiales. Los editores más populares (sistemas de programación de software que utilizan medios visuales) Diseño visual:

    Borland Delphi - diseñado para resolver casi cualquier tarea de programación aplicada

    Borland C ++ Builder es una gran herramienta para desarrollar aplicaciones de DOS y Windows.

    Microsoft Visual Basic es una herramienta popular para crear programas de Windows

    Microsoft Visual C ++: esta herramienta le permite desarrollar cualquier aplicación que se ejecute en el tipo OS Microsoft Windows

Preguntas de control:

    Dar la definición del sistema operativo.

    ¿Qué software se conoce como sistema?

    Nombra el software de servicio.

    ¿Qué software se atribuye a aplicado?

    ¿Cuál es el propósito del software?

    ¿Cuáles son las clases básicas de los programas? Da ejemplos de programas en cada clase a propósito.

En el concepto estructuras de programas (estructura del programa)la composición y descripción de los enlaces de todos los módulos que implementan funciones independientes del programa y la descripción de los medios de los datos de entrada y salida, así como los datos involucrados en el intercambio entre las subrutinas individuales.

Para desarrollar programas grandes y complejos, el programador debe ser incautado con técnicas especiales para obtener una estructura racional de un programa, que proporciona una reducción casi dos veces en la programación y la reducción múltiple.

La subordinación de los módulos del programa se refleja en el esquema de jerarquía. Sin embargo, este último no refleja el orden de su llamada o el funcionamiento del programa. El esquema de la jerarquía puede verse en la FIG. 5. Por lo general, se complementa con las funciones de decodificación realizadas por los módulos.

Antes de establecer el esquema de jerarquía, es recomendable recopilar las especificaciones del programa externo y compilar las descripciones funcionales del programa junto con la descripción de las variables de datos. Se debe prestar especial atención a las jerarquidades de los tipos de datos estructurados y comentarlos.

El desmembramiento del programa en los subprogramas se realiza de acuerdo con el principio de común a privado, más detallado. El proceso de compilación de una descripción funcional y compilación del esquema de jerarquía es iterativo, y la elección de la mejor opción es multi-criterio. El desmembramiento debe proporcionar un orden conveniente de puesta en marcha.

El esquema de jerarquía se puede dar cualquier patrón topológico. Fragmentos con desafíos verticales.puede convertirse en llamadas a un nivel introduciendo un módulo adicional que puede no realizar ninguna función útil desde el punto de vista del algoritmo del programa. La función del nuevo módulo puede consistir solo en el monitoreo, es decir, llamar a otros módulos en un orden específico.

Fragmentos con desafíos horizontales.en un solo nivel, se puede convertir en llamadas verticales de módulos de diferentes niveles mediante la introducción de variables adicionales que no se pudieron obtener mediante la descomposición de una descripción funcional en la subfunción. Estas variables adicionales generalmente tienen un tipo de entero o lógico y se llaman banderas, semáforos, claves de eventos. Su significado generalmente se caracteriza por una frase: dependiendo de la próxima prehistoria de las acciones, realice tales acciones.

En el proceso de diseño, debe hacer varias iteraciones de diseño, cada vez que generen un nuevo esquema de jerarquía y comparar estas jerarquías de acuerdo con estos criterios para la selección de una mejor opción.

Clave -el valor de la variable utilizada para confirmar la autoridad para acceder a alguna información o subrutina.

Bandera- la variable cuyo valor indica que algunos componentes de hardware o software están en un estado determinado o que se realiza una cierta condición para ello. La bandera se utiliza para implementar la ramificación convencional y otros procesos de toma de decisiones.

Semáforo -tipo de datos de propósito especial, que es un medio de control de acceso a un recurso crítico desde el lado de los procesos consecutivos conjuntos.

En el semáforo, puede producir solo dos operaciones (sin contar la creación y cancelación): operación esperada(clases) y operación de alarma(Liberación). Semufafore toma una importancia entera que no puede ser negativa. La operación de expectativa reduce el valor del semáforo por uno cuando se puede hacer sin recibir un valor negativo, y esto significa que se utiliza el recurso libre. El funcionamiento de la alarma aumenta el valor del semáforo por unidad, lo que significa la liberación del recurso.

Recurso crítico- Recurso, que en cualquier momento se usa no más de un proceso. Cuando se requiere que varios procesos asíncronos coordinen su acceso al recurso crítico, se usa el acceso administrado a través del semáforo.

Criterios para evaluar la calidad.

Esquema estructural del programa.

La primera versión del esquema estructural obtenida por simplemente la membresía de las funciones del programa sobre la subfunción que indica las variables necesarias para la colocación de datos, a menudo, no es óptimas y las iteraciones de diseño requieren mejorar la topología del diagrama. Estas acciones generalmente se realizan mediante el método de "prueba y error". Cada nueva versión se compara con los criterios que precedan a continuación:

1) integridad de la ejecución de funciones especificadas;

2) la posibilidad de rellenación rápida y barata por nuevas funciones no especificadas anteriormente;

3) Trastorno (más claro) para el diseñador de los componentes del programa;

4) la máxima independencia de partes individuales del programa;

5) la posibilidad de vinculante subrutinas por parte del editor de la relación;

6) la adecuación de la RAM;

7) el impacto de la topología del esquema de jerarquía para la velocidad de ejecución del programa cuando se utiliza la carga dinámica del programa y el mecanismo de paginación de la página;

8) La ausencia de diferentes módulos con funciones similares. El mismo módulo debe llamarse en diferentes niveles del esquema de jerarquía;

9) El logro de un calendario de este tipo del equipo de programadores al implementar un programa que proporciona una carga uniforme del colectivo;

10) Reducción de todos los tiempos de los costos de las pruebas de costos.
Un buen plan de jerarquía 2-5 veces reduce los costos de prueba en comparación con la opción inicial;

11) Use en este proyecto tanto como sea posible para ser resuelto en los proyectos anteriores de módulos y bibliotecas con un volumen mínimo de partes reinstaladas.

La generación de opciones se detiene con la imposibilidad de futuras mejoras. La estructura racional del programa proporciona una reducción en los textos totales en 2-3 por lo tanto, que, en consecuencia, dude en la creación del programa y sus pruebas, que generalmente representa al menos el 60% de los costos totales. Es más fácil y reduce el costo de apoyo del programa.

Programación modular

La implementación del principio de programación estructural se lleva a cabo utilizando macros y mecanismos de llamadas de subrutinas. Estos mismos mecanismos son adecuados para implementar la programación modular, que se pueden considerar como parte de un enfoque estructural.

Es necesario distinguir el uso de la palabra. módulo,cuando esto se entiende la unidad de trituración de un programa grande para separar los bloques (que se pueden implementar en forma de procedimientos y funciones) y cuando signifique el diseño de la sintaxis de los lenguajes de programación (Unidad.en Object Pascal).

Programación modular -esta organización del programa como conjunto de bloques independientes, llamados módulos, la estructura y el comportamiento de los cuales están sujetos a ciertas reglas.

El concepto de programación modular se puede formular en forma de varios conceptos y disposiciones:

1) Las tareas grandes se dividen en una serie de módulos: módulos más pequeños, funcionalmente independientes, que están interconectados solo por datos de entrada y salida;

2) El módulo es una "caja negra" con una entrada y una salida. Esto le permite producir sin dolor la modernización del programa en el proceso de su operación, lo facilita.
Escort, y también le permite desarrollar partes de un proyecto de programación en diferentes lenguajes de programación;

3) En cada módulo, se deben realizar tareas claras. Si la asignación del módulo no está clara, esto significa que la descomposición en los módulos no fue lo suficientemente válida. El proceso de descomposición debe continuar hasta que haya una comprensión clara del propósito de todos los módulos y su combinación óptima;

4) El texto fuente del módulo debe tener un encabezado y una parte de la interfaz donde se refleja la asignación del módulo y todas sus comunicaciones externas;

5) Durante el desarrollo de los módulos del programa, debe proporcionar operaciones especiales de operaciones que tengan en cuenta la respuesta a los posibles errores en los datos o en las acciones del usuario.

De gran importancia en el concepto de programación modular se adjunta a la organización de gerentes y enlaces de información entre los módulos del programa, decisiva conjuntamente una o más tareas grandes.

Cuando trabaje con módulos, debe recordar su principal diferencia con respecto a los procedimientos y las funciones. Las reglas tradicionales de la esfera de las variables globales y locales para los módulos no funcionan. Este diseño de idioma está diseñado para eliminar la influencia de las variables globales declaradas en el programa principal en las descripciones internas del módulo. Por lo tanto, si es necesario ingresar a las descripciones globales disponibles para todos los bloques de programas, debe crear un módulo AD global y le permite la lista de importaciones de todos los módulos donde se necesitan sus descripciones.

3.7. Estructura del módulo B. Object Pascal

Object Pascaltiene varios medios para estructurar programas. En el menor nivel de división (para subtareas elementales), los procedimientos y las funciones son los más comunes, y se utilizan módulos de nivel superior (para tareas grandes).

En el ambiente Delphi.cada formulario corresponde necesariamente a su módulo, lo que le permite localizar todas las propiedades de la ventana en una unidad de programa separada. Además, las acciones algorítmicas nesvisuales también se elaboran en forma de módulos individuales. La primera línea del módulo comienza con la palabra clave:

unidad.<идентификатор_модуля>;

Para trabajar correctamente el entorno de programación, este nombre debe coincidir con el nombre del archivo de disco, que coloca el texto de origen del módulo. Seguido por

(Sección de interfaz)interfaz.

cuando la interacción de este módulo se describe con otros módulos de usuario y estándar, así como con el programa principal.

La conexión del módulo con otros módulos está configurada por una oferta especial:

(Lista de lista de interfaz de interfaz)usos.<список_модулей>

En esta lista, los identificadores del módulo se enumeran a través de comas, la información de las partes de la interfaz que debe estar disponible en este módulo.

(Lista de exportación de la sección de interfaz)const tipo var.

función de procedimiento.

La lista de exportación consiste en las subsecciones de la descripción de las constantes, tipos, variables, encabezados de procedimientos y funciones que se definen en este módulo, pero para usar que se permiten en todos los demás módulos y programas que incluyen el nombre de este módulo en sus usos. cuerda. Para los procedimientos y las funciones, solo los titulares se describen aquí, pero con una descripción completa obligatoria de los parámetros formales.

(Sección de implementación)implementación

Esta sección indica la parte implementativa (personal) de las descripciones de este módulo, que no está disponible para otros módulos y programas.

(Lista de implementación de la sección de implementación)usos.

En esta lista, los identificadores del módulo se enumeran a través de comas, la información de las partes de la interfaz que debe estar disponible en este módulo. Aquí es aconsejable describir los identificadores de todos los módulos necesarios, información de la cual no se usa en las descripciones de la sección de interfaz de este módulo.

(Subsecciones internos para el módulo de descripción)etiqueta const tipo var

función de procedimiento.

Estas subsecciones describen etiquetas, constantes, tipos, variables, procedimientos y funciones que describen las acciones algorítmicas realizadas por este módulo, y que son "propiedad personal" exclusivamente solo este módulo. Estas descripciones no están disponibles para otro módulo.

La parte ejecutable contiene descripciones de las subrutinas declaradas en la parte de la interfaz. La descripción del subprograma debe preceder al título en el que puede reducir la lista de parámetros formales y el tipo de resultado para la función. Si los encabezados se especifican con los parámetros, entonces su lista debe ser idéntica a la misma lista para el procedimiento o función apropiada en la sección de la interfaz.

(Sección de inicialización)inicialización

En esta sección, los operadores de configuración iniciales necesarios para iniciar el funcionamiento correcto del módulo se encuentran entre la inicialización y la financiación de las palabras clave. Estos operadores se ejecutan antes de transferir la gestión del programa principal y generalmente se utilizan para preparar su trabajo. Los operadores de los módulos de los módulos utilizados en el programa se realizan cuando el programa se inicia inicialmente en el mismo orden, en el que los identificadores del módulo se describen en las propuestas de proyectos Usos. Si no se requieren los operadores de inicialización, entonces se puede omitir la inicialización de la palabra reservada.

(Sección de finalización)finalización

La sección de terminación de finalización es opcional y puede estar presente solo con la sección de inicialización de la inicialización. La sección de finalización contiene una lista de operadores que se ejecutarán al final del módulo, que generalmente ocurre cuando se completa la aplicación. Las secciones de los módulos de aplicación de finalización se realizan en el orden exacto para ejecutar las secciones de inicialización de estos módulos.

La sección final se usa, como regla general, para liberar recursos que se asignan por la solicitud en la sección de inicialización. Esto garantiza la finalización correcta de la aplicación, que es especialmente importante cuando la aplicación termina con la aparición de situaciones excepcionales.

En este método, la partición de un sistema complejo para varios subsistemas recibió el nombre " divide y vencerás"(Divide et Impa), descomposición jerárquica o funcional, etc. Al mismo tiempo, los principios básicos son:

a) "Divide y conquide";

b) el diseño de "TOP DOWN", desde la configuración general del problema para las subtareas individuales, etc.;

(c) El principio de ordenamiento jerárquico, que implica combinar los componentes del sistema en estructuras de árboles jerárquicas con la adición de nuevas partes en cada nivel.

El proceso de diseño de software complejo está comenzando a aclarar su estructura, es decir, las definiciones de componentes y conexiones estructurales entre ellos. El resultado del refinamiento de la estructura puede representarse en forma de esquemas y descripciones estructurales y / o funcionales (especificaciones) de componentes.

Esquema estructural del software desarrollado.

Estructural Calcule el esquema que refleje la composición y la interacción en la gestión de partes del software desarrollado. Normalmente, dichos esquemas se desarrollan para cada programa de paquete grande, y la lista de programas se determina analizando las funciones especificadas en la tarea técnica.

El tipo de software más simple es un programa que solo puede incluir rutinas y bibliotecas de recursos como componentes estructurales. El desarrollo de un esquema estructural del programa generalmente se realiza mediante detalle paso a paso.

Los componentes estructurales del sistema de software o complejo pueden servir como subsistemas, bases de datos, bibliotecas de recursos, etc.

Por lo tanto, el esquema del paquete de software demuestra la transmisión de control del gerente del programa del programa correspondiente, como se muestra en la FIG. 4.1. El programa del complejo suele estar mal conectado. Por lo tanto, el despachador se utiliza para organizar su colaboración.

Higo. 4.1. Un ejemplo de un esquema estructural del paquete de software.

Esquema estructural sistema de softwareComo regla general, muestra la presencia de subsistemas u otros componentes estructurales. En contraste con el complejo, las partes individuales (subsistemas) del sistema de software se intercambian intensivamente por los datos entre ellos y, posiblemente, con el programa principal. El esquema estructural del sistema de software de esto, como regla general, no muestra, como se puede ver en la FIG. 4.2.


Por lo general, es un esquema jerárquico multinivel para la interacción de las subrutinas de control. En la etapa inicial, el diagrama muestra dos niveles de jerarquías, es decir, muestra la estructura general del programa. Sin embargo, el mismo método le permite obtener esquemas estructurales con una gran cantidad de niveles.


El método de detalle paso a paso. Implementa un enfoque descendente y se basa en los principales diseños de programación estructural. Implica el desarrollo paso a paso del algoritmo, como se muestra en la Figura 4.3. Cada paso en este caso incluye la descomposición de la función en subfunción. Por lo tanto, en la primera etapa, describa la solución de la tarea, destacando las subtareas comunes. Los siguientes describen de manera similar las subtareas, formulando los elementos del siguiente nivel. Por lo tanto, en cada paso, se produce las funciones del diseño del software diseñado. El proceso continúa hasta que alcanzan subtareas, algoritmos cuyas soluciones son obvias.

Al mismo tiempo, es necesario, en primer lugar, detallar los procesos de control, dejando el refinamiento de las operaciones con los datos que finalmente. Esto se debe al hecho de que el detalle de prioridad de los procesos de control simplifica significativamente la estructura de los componentes de todos los niveles de la jerarquía y permite no separar el proceso de toma de decisiones de su implementación. Habiendo determinado la condición de elección de alguna alternativa, el módulo lo causa inmediatamente, implementándolo.

Diagrama funcional o esquema de datos (GOST 19. 701-90) - Esquema para la interacción de los componentes de software con una descripción de los flujos de información, la composición de datos en flujos y una indicación de los archivos utilizados y dispositivos. Para la imagen de estos esquemas, se utilizan designaciones especiales establecidas por el estándar.

Los esquemas funcionales son más informativos que estructurales. En la Fig. 4.4 Para comparación, se dan los esquemas funcionales de los complejos y sistemas de software.



B)

Higo. 4.4. Ejemplos de esquemas funcionales: programas complejos, B - Sistema de software.

Se deben describir todos los componentes de los circuitos estructurales y funcionales. Con un enfoque estructural, es especialmente necesario resolver la especificación de las interfaces entre programas, ya que los errores más caros dependen de ellos.

El diseño estructural utiliza tres tipos principales de modelos (diagramas):

1) SADT (análisis estructural y técnica de diseño: método de análisis y diseño estructurales) - modelos y diagramas funcionales correspondientes;

2) DFD (diagramas de flujo de datos): diagramas de flujo de datos;

3) ERD (diagramas de entidad-relación) - diagramas "esencia-comunicación".

Modelo funcional SADT. Muestra la estructura funcional del objeto, es decir. Las acciones y los lazos producidos por estas acciones.

El componente principal del modelo es diagrama . En él, todas las funciones e interfaces se presentan en forma de bloques y arcos, respectivamente. La ubicación de la conexión de arco con el bloque define el tipo de interfaz. Gestión de la información entra en bloque desde arriba. Entrada La información que se procesa se muestra a partir de leva Bloque de lados, y resultado (salida) - con derecho. Mecanismo (Persona o sistema automatizado) que lleva a cabo la operación está representada por un arco incluido en el bloque debajo (Fig. 4.5).

La construcción del modelo SADT comienza con la representación de todo el sistema como el componente más simple: un bloque y arcos que representan la interfaz con las funciones fuera del sistema. Luego, esta unidad se detalla en otro diagrama utilizando múltiples bloques conectados por ARC de la interfaz. Los nuevos bloques definen las subfunciones principales de la función fuente, que, a su vez, se pueden detallar, etc. (Ver Fig. 4.6).


Higo. 4.6.

Diagramas de flujo de datos (DFD) son los principales medios para modelar los requisitos funcionales para el sistema diseñado. Con su ayuda, estos requisitos se someten a la aparición de las jerarquías de componentes funcionales (procesos) asociados con flujos de datos. El objetivo principal de dicha presentación es demostrar cómo cada proceso convierte sus datos de entrada en el fin de semana, así como identificar las relaciones entre estos procesos.

Los componentes principales de los diagramas de flujo de datos son:

a) entidades externas;

b) sistemas y subsistemas;

c) procesos;

d) Dispositivos de almacenamiento de datos;

e) Corriente de datos.

Esencia externa Es un objeto material o un individuo, que es una fuente o receptor de información. Se representa mediante un rectángulo a granel con la inscripción, como se muestra en la Figura 4.7.

Subsistema (Ver Fig. 4.8) O proceso (Fig. 4.9) están representados por un rectángulo con bordes redondeados. Contiene tres campos:

a) números;

c) Implementación física.

El subsistema y el proceso difieren en el nombre. El primero se registra el nombre del subsistema, y \u200b\u200ben el segundo, el verbo, que determina lo que hace el proceso.

Higo. 4.8. GNI - Inspección de impuestos estatales

Almacenamiento de datos - Este es un dispositivo de almacenamiento abstracto. Se representa, como se muestra en la FIG. 4.10. Su designación comienza con la letra D.

Flujo de datos El diagrama muestra una línea, una flecha de extremo que muestra la dirección del flujo. Cada flujo de datos tiene un nombre que refleja su contenido.

Un ejemplo de un diagrama de flujo de datos se muestra en la FIG. 4.11.

Se muestra un diagrama de flujo de datos más complejo en la FIG. 4.12.

Los diagramas de ER se considerarán más tarde.

En el proyecto del curso, además del diagrama funcional, es necesario enviar los esquemas de los algoritmos de las funciones más complejas (por ejemplo, clasificación y búsqueda).

Cuota: