Contactos

Herramientas de investigación para el desarrollo y software del sistema. Desarrollo del programa significa las herramientas de desarrollo instrumental necesarias para

Esencia y concepto de software instrumental.

Software instrumental (OPI): software diseñado para su uso en el diseño, desarrollo y mantenimiento de programas.

Herramienta usada en la fase de desarrollo. El software instrumental es un conjunto de programas utilizados para ayudar a los programadores en su trabajo, para ayudar a los gerentes de desarrollo de software en su deseo de monitorear el proceso de desarrollo y obtener productos obtenidos. Los representantes más famosos de esta parte del software están programando programas de lenguajes de programación que ayudan a los programadores a escribir comandos de máquinas. Los programas instrumentales son traductores de Fortran, Cobol, Joe Vial, Beysik, APL y Pascal. Facilitan el proceso de creación de nuevos programas de trabajo. Sin embargo, los traductores con idiomas son solo la parte más conocida de los programas instrumentales; Hay muchos muchos.

El uso de máquinas informáticas para ayudar a desarrollar nuevos programas está lejos de ser obvia para las personas que no son programadores profesionales. A menudo sucede que los profesionales se cuentan sobre el instrumental (fase de desarrollo) y el sistema (fase de uso) por software en una sola respiración, asumiendo que sus habilidades que no están dedicadas al secreto se sabe sobre el papel del software instrumental. Al igual que en la fase de uso (para programas de aplicación), el soporte del sistema funciona en la fase de desarrollo, pero solo con el soporte 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 (idioma 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 programa BIG 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 combinarse en uno.

3. El editor de conexiones o el recopilador que enumera la encuadernación de los módulos de objetos y genera una aplicación viable en el código ejecutable de salida.

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. Como regla general, el archivo final tiene una extensión. Lee o.

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 de aplicaciones.

Borland C ++ Builder es un medio excelente 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

Por lo tanto, la esencia del software de la herramienta es crear cualquier programa ejecutable al convertir expresiones formales lógicas en el código de máquina ejecutable, así como el control y el ajuste.

Tareas y funciones del software instrumental.

Para el software instrumental, tanto los tipos especiales de software se caracterizan por el general y el privado.

funciones, así como para todo el software en su conjunto. Las características generales se consideran más arriba, y las funciones especializadas inherentes solo en este tipo de programas son:

1. Crear el texto del programa que se está desarrollando utilizando palabras de código especialmente instaladas (lenguaje de programación), así como un conjunto específico de caracteres y su ubicación en el archivo creado - Sintaxis del programa.

2. La traducción del texto del programa se crea en un código orientado a la máquina disponible para el reconocimiento de la computadora. En el caso de que se cree una cantidad significativa del programa, se divide en módulos separados y cada uno de los módulos se traduce por separado.

3. La conexión de los módulos individuales en un solo código ejecutable, con el cumplimiento de la estructura necesaria, lo que garantiza la coordinación de la interacción de las partes individuales.

4. Pruebas y controladores del programa creado, identificando y eliminando errores formales, lógicos y sintácticos, revisando programas para códigos prohibidos, así como evaluando el rendimiento y el potencial del programa creado.

Tipos de software instrumental

Sobre la base de las tareas establecidas antes del software de la herramienta, se puede distinguir una gran cantidad de diferentes tipos de software de herramientas:

Editores de texto

Entornos de desarrollo integrado.

Compiladores

Intérpretes

Linkovshchiki

Generadores de analizador y analizador (ver javacc)

Reuniones

Depósito

Perfilantes

Generadores de documentación

Medios de recubrimiento de código

Medios de integración continua.

Herramientas de pruebas automatizadas.

Sistemas de control de versiones, etc.

Cabe señalar que las conchas para crear aplicaciones también son creadas por programas de herramientas y, por lo tanto, pueden atribuirse a los programas de aplicación. Considere designar brevemente algunos programas instrumentales.

Editores de texto.

Editor de texto: un programa de computadora diseñado para manejar archivos de texto, como crear y realizar cambios.

Composición CAD

CAD es un sistema que combina medios técnicos, matemáticos y software, parámetros y características de los cuales se eligen con la consideración máxima de las características de las tareas de diseño y diseño de ingeniería. El dispositivo CAD prevé el uso de programas al aplicar las herramientas de comunicación operacional de un ingeniero con computadora, idiomas especiales orientados a problemas y la disponibilidad de información y base de referencia.

Los componentes estructurales de la CAD son subsistemas con todas las propiedades de los sistemas y creadas como sistemas independientes. Estos se dividen en algunas características de la parte CAD, que garantiza la implementación de algunas tareas de diseño completadas para obtener soluciones de diseño relevantes y documentos del proyecto.

En la cita del subsistema triste, se dividen en dos tipos: diseño y servicio.

El diseño incluye subsistemas que realizan procedimientos y operaciones del proyecto, por ejemplo:

· Subsistema de diseño de la máquina;

· Diseño de montaje de unidades de montaje;

· Subsistema de diseño de detalles;

· Subsistema de diseño de esquema de control;

· Subsistema de diseño tecnológico.

El servicio incluye subsistemas destinados a mantener el rendimiento de los subsistemas de diseño, por ejemplo:

· Subsistema de visualización gráfica de objetos de diseño;

· Subsistema de documentación;

· Subsistema de recuperación de la información, etc.

Dependiendo de la relación con el objeto de diseño, se distinguen dos tipos de subsistemas de diseño:

· Orientado a objetos (objeto);

· Objeto-independiente (invariante).

Los subsistemas de objetos incluyen subsistemas que realizan uno o más procedimientos u operaciones del proyecto que dependen directamente de un objeto específico de diseño, por ejemplo:

· Subsistema de diseño tecnológico;

· Modelado de subsistemas de la dinámica, diseño diseñado, etc.

Los subsistemas invariantes incluyen subsistemas que realizan procedimientos y operaciones de proyectos unificados, por ejemplo:

· Cálculos de subsistema de piezas de la máquina;

· Cálculo del subsistema de los modos de corte;

· Subsistema para calcular los indicadores técnicos y económicos, etc.

El proceso de diseño se implementa en subsistemas en forma de cierta secuencia de procedimientos y operaciones del proyecto. El procedimiento del proyecto corresponde a la parte del subsistema del proyecto, como resultado de lo que se realiza alguna solución de diseño. Consiste en operaciones de diseño elemental, tiene un procedimiento firmemente establecido para su ejecución y está dirigido a lograr un objetivo local en el proceso de diseño. Según las operaciones del proyecto, comprenda la parte condicional seleccionada del procedimiento del proyecto o la acción elemental realizada por el diseñador durante el proceso de diseño. Los ejemplos de procedimientos del proyecto pueden servir como los procedimientos para desarrollar un esquema cinemático o de diseño de la máquina, tecnologías de procesamiento de productos, etc., etc. y ejemplos de operaciones de proyectos: el cálculo de las asignaciones, la solución de cualquier ecuación, etc.

La unidad estructural del triste subsistema está garantizado por una regulación estricta de los vínculos entre los diferentes tipos de garantías, combinados con una función objetivo común para este subsistema. Distinguir los siguientes tipos de colatrineros:

· Soporte metódico: documentos reflejados en la composición, las reglas para la selección y operación de las herramientas de automatización de diseño;

· Provisión lingüística: lenguas de diseño, terminología;

· Soporte matemático: métodos, modelos matemáticos, algoritmos;

· Software: documentos con textos de programas, programas en medios de máquinas y documentos operativos;

· Soporte técnico: dispositivos de equipos informáticos y organizativos, herramientas de transferencia de datos, medición y otros dispositivos y sus combinaciones;

· Soporte de información: documentos que contienen una descripción de los procedimientos de diseño estándar, soluciones de diseño típicas, elementos típicos, componentes, materiales y otros datos;

· Soporte organizativo: disposiciones e instrucciones, pedidos, personal y otros documentos que regulan la estructura organizativa de las unidades y su interacción con el diseño de las herramientas de automatización de diseño.

· Tecnología 64 CALS.

CALS-Technologies son un medio para integrar los sistemas automatizados industriales en un solo sistema multifuncional. El propósito de la integración de los sistemas de diseño y gestión automatizado es mejorar la eficiencia de crear y utilizar equipos complejos.

En las condiciones modernas, la formación de una sociedad global de la información, el papel de la información y las tecnologías de la información en la preparación del futuro especialista aumenta significativamente. En un futuro próximo, el potencial estratégico de la sociedad no será de recursos energéticos, sino también la información y el conocimiento científico. La información se convierte en el principal recurso del desarrollo científico y técnico y socioeconómico de la sociedad, afecta significativamente al desarrollo acelerado de la ciencia, la tecnología y las diversas industrias, desempeña un papel importante en el proceso de actualización de la educación. La característica de envío de la educación en la escuela secundaria y las actividades profesionales de los especialistas debe expresarse en la formación de un entorno profesional intelectual que está más plenamente implementado por la tarea de las actividades de investigación y proyectos.

Amplia informatización de todo tipo de actividades de la humanidad: de las tareas intelectuales tradicionales de una naturaleza científica antes de la automatización de actividades industriales, comerciales, comerciales, bancarias y otras actividades para aumentar la eficiencia de la producción. En una economía de mercado, la lucha competitiva sostendía con éxito solo las empresas que aplican tecnologías de la información modernas en sus actividades.

Es tecnologías de la información, junto con las tecnologías progresivas de la producción material, permiten aumentar significativamente la productividad y la calidad del producto y, al mismo tiempo, reducir significativamente el momento de la producción en la producción de nuevos productos que cumplan con las solicitudes y expectativas de los consumidores. Todo lo anterior se relaciona principalmente con productos complejos de alta tecnología, incluidos los productos técnicos.

La experiencia obtenida en el proceso de introducción de varios sistemas de información autónomos hizo posible realizar la necesidad de integrar varias tecnologías de la información en un complejo único en función de la creación de un entorno de información integrado o un grupo de empresas (empresa virtual) que admite todas las etapas. del ciclo de vida de los productos. El ambiente profesional revela más oportunidades para mejorar la mejora profesional, utilizando la nueva tecnología de la información en la ciencia y en el campo de los procesos de fabricación. Tecnologías innovadoras en el campo de la industria de procesamiento de la información con la implementación de la tecnología CALS- (adquisición continua de adquisición y ciclo de vida): apoyo de información continua para el ciclo de vida del objeto proyectado, traduce la automatización de los procesos de producción a un nuevo nivel.

El uso de tecnologías de la información basadas en la ideología de CALS es uno de los factores que contribuyen a una implementación más eficiente del sistema de gestión empresarial automatizado.

CALS-Technologies son un medio para integrar los sistemas automatizados industriales en un solo sistema multifuncional. El propósito de la integración de los sistemas de diseño y gestión automatizado es mejorar la eficiencia de crear y utilizar equipos complejos.

La esencia del concepto de CALS es aplicar los principios y tecnologías de apoyo a la información en todas las etapas del ciclo de vida de los productos basados \u200b\u200ben el uso de un entorno de información integrado que proporciona métodos uniformes para administrar procesos e interactuar a todos los participantes en este ciclo: clientes de productos (incluidas las agencias gubernamentales y los departamentos), los proveedores (fabricantes) productos, personal operativo y de reparación. Estos principios y tecnologías se implementan de acuerdo con los requisitos de las normas internacionales que rigen las reglas de gestión e interacción, principalmente a través del intercambio electrónico de datos.

Cuando se utiliza la tecnología CALS, la calidad de los productos aumenta debido a la contabilidad completa de la información disponible en el diseño y la toma de decisiones de gestión, y también disminuye los costos materiales y temporales para diseñar y fabricar productos. En el proceso de implementación de esta tecnología, la validez de las soluciones adoptadas en el sistema de gestión empresarial automatizada (AUTA) será mayor si el tomador de decisiones y los programas de gestión correspondientes tienen acceso rápido no solo a la base de datos ASUP, sino también a las bases de datos de otros sistemas automatizados y, por lo tanto, puede optimizar los planes de trabajo, el contenido de las aplicaciones, la distribución de los artistas, la asignación de finanzas, etc. Al mismo tiempo, el acceso operativo debe entenderse no solo la posibilidad de leer datos de la base de datos, sino también la facilidad de su interpretación adecuada, es decir,. Consistencia en la sintaxis y la semántica con los protocolos adoptados en Asup. Los subsistemas tecnológicos deben percibir con alta precisión y interpretar correctamente los datos provenientes de los subsistemas de diseño automatizados. Esto no es tan fácil de lograr, si la empresa principal y las organizaciones directivas trabajan con diferentes sistemas automatizados. Además, el problema de la protección de la información en todo el perímetro de los subsistemas tecnológicos se convierte en relevante.

El uso de CALS-Technologies permite reducir significativamente el volumen de trabajo de diseño, ya que las descripciones de la realización previamente realizó un desarrollo exitoso de componentes y dispositivos, muchas partes de componentes del equipo, maquinaria y sistemas que están diseñados anteriormente se almacenan en las bases de datos de servidores de red Disponible para cualquier tecnología CALS. La disponibilidad y la protección se garantizan nuevamente por la consistencia de los formatos, los métodos, los manuales en diferentes partes del sistema integrado en general. Además, hay más oportunidades para la especialización de empresas, hasta la creación de empresas virtuales, que también contribuye a la reducción de costos.

En el proceso de implementación de la tecnología CALS, los costos de operación se reducen significativamente, gracias a la implementación de las funciones de soporte logístico integradas. La solución a los problemas de mantenibilidad, la integración del producto en diversos tipos de sistemas y medios, la adaptación a las cambiantes condiciones de operación, etc. se facilitará significativamente. Estas ventajas de la integración de datos se logran mediante el uso de tecnologías modernas de CALS.

Los sistemas industriales automatizados pueden operar de forma autónoma, y \u200b\u200ben la actualidad se produce la organización del proceso de gestión de la producción sobre esta base. Sin embargo, la eficiencia de la automatización será notablemente más alta si los datos generados en uno de los sistemas estarán disponibles en otros sistemas, ya que las decisiones tomadas en ellas se volverán más justificadas.

La experiencia de implementar la tecnología CALS muestra para lograr un nivel adecuado de interacción de los sistemas automatizados industriales, se requiere la creación de un espacio de información único dentro de las empresas individuales y, lo que es más importante, en el marco de las empresas. El espacio de información unificado está garantizado por la unificación tanto de la forma como del contenido de información sobre productos específicos en varias etapas de su ciclo de vida.

La unificación del formulario se logra mediante el uso de formatos estándar y lenguajes de presentación de idiomas en intercambios entre programas y cuando se documentan.

La unificación del contenido, entendida como la interpretación inequívoca de los datos sobre un producto en particular en todas las etapas de su ciclo de vida, está garantizado por el desarrollo de aplicaciones de ontologías (metodomacto) consagradas en protocolos de solicitud de CALS.

CAD - ¿Qué es?

Entonces, ¿cuáles son los sistemas de diseño automatizados? En CADR significa sistemas automatizados que están diseñados para implementar una u otra tecnología de la información por diseño. En la práctica, CADR es sistemas técnicos que le permiten automatizar de esta manera, para garantizar el funcionamiento de los procesos que conforman el desarrollo del proyecto. Bajo CAD, dependiendo del contexto puede significar:

software utilizado como elemento principal de la infraestructura relevante;

Una combinación de sistemas técnicos y de personal (incluidos aquellos que involucran el uso de CAD en forma de software) utilizados en la empresa para automatizar el proceso de desarrollo del proyecto;

Por lo tanto, es posible distinguir una interpretación amplia y más estrecha del término en cuestión. Es difícil decir cuál de estas interpretaciones se aplica más a menudo en los negocios. Todo depende del alcance específico de uso de sistemas de diseño automatizado, así como en esas tareas, para resolver qué datos del sistema se asumen. Por ejemplo, en el contexto de un taller separado en producción, se asume un programa específico para el diseño automatizado bajo la CAD. Si estamos hablando de la planificación estratégica del desarrollo de la organización, entonces un concepto de este tipo, como un CAD, lo más probable es que corresponda a una infraestructura a gran escala, que está involucrada en mejorar la eficiencia de desarrollar diversos proyectos. Cabe señalar que el término CAD en sí es una abreviatura que se puede descifrar de diferentes maneras. En general, esta abreviatura corresponde a una combinación de las palabras "Sistema de diseño automatizado". También hay otras opciones para descifrar esta abreviatura. Por ejemplo, una variante "Sistema de automatización de trabajos de diseño" es bastante común. De acuerdo con el análogo en inglés de la abreviatura de CAD, la abreviatura CAD también se usa como CAX. Consideremos con más detalle la siguiente pregunta: ¿En qué tipo de sistemas de diseño automatizado se pueden crear en ingeniería mecánica y otros campos?

CAD: creando metas

El objetivo principal de desarrollar CADR es aumentar la eficiencia de los especialistas laborales, que resuelven varias tareas de producción, incluidas las relacionadas con el diseño de la ingeniería. En este caso, el aumento de la eficiencia puede llevarse a cabo a expensas de los siguientes factores:

Reducir la complejidad del proceso de diseño;

Reducir los períodos de implementación del proyecto;

Reduciendo el costo del trabajo de diseño y los costos relacionados con el costo;

Asegurar mejorar la calidad de la infraestructura de diseño.

Costos reducidos para la prueba y el modelado.

CAD es una herramienta que le permite lograr beneficios marcados a expensas de los siguientes factores:

Apoyo efectivo de la información para los especialistas involucrados en el desarrollo del proyecto;

Automatización de la documentación;

Aplicación de conceptos de diseño paralelo;

Unificación de varias soluciones;

El uso de modelos matemáticos, como alternativa a pruebas costosas;

Optimización de métodos de diseño;

Mejora de la calidad de los procesos de gestión empresarial.

Ahora veamos qué estructura se puede presentar el sistema de diseño automático.

CAD: Clasificación

Los criterios de clasificación de CAPR más comunes incluyen el propósito de la industria. Los siguientes tipos se distinguen:

  1. Diseño de infraestructura de ingeniería automatizada;
  2. CAD para equipos electrónicos;
  3. CAD en el campo de la construcción.

El primer tipo de sistemas CAD se puede utilizar en una amplia gama de industrias: fabricación de aeronaves, automotriz, construcción naval, producción de bienes de consumo. Además, la infraestructura relevante se puede usar para desarrollar ambas partes separadas y varios mecanismos al usar todo tipo de enfoques en el marco del modelado y diseño.

Los sistemas CAD de segundo tipo se utilizan para diseñar el equipo electrónico terminado y sus elementos individuales, como los circuitos integrados, los procesadores y otros tipos de hardware.

El tercer tipo CAPR puede estar involucrado para diseñar varias estructuras, edificios, elementos de infraestructura.

Otro criterio para el que puede clasificar los sistemas de diseño automatizado es el propósito previsto. Aquí se asigna:

Herramientas de diseño utilizadas para automatizar modelos geométricos tridimensionales o tridimensionales para la formación de documentación de diseño;

Sistemas utilizados para desarrollar varios dibujos;

Sistemas diseñados para modelos geométricos;

Sistemas destinados a la automatización de cálculos dentro de proyectos de ingeniería y modelos dinámicos;

Herramientas de automatización utilizadas para la optimización tecnológica de los proyectos;

Sistemas destinados al análisis informático de varios parámetros del proyecto.

Esta clasificación se considera condicional.

El sistema de diseño tecnológico automatizado puede incluir una amplia gama de funciones de entre las que se enumeran anteriormente. La lista específica de las capacidades CAD define principalmente al desarrollador de este sistema. Veamos a qué tareas puede resolver.

Software de herramientas de software de desarrollo de software de herramientas

1. Herramientas de desarrollo de software. En el proceso de desarrollar software a una u otra forma u otro, se utiliza el soporte informático para los procesos de desarrollo de PS. Esto se logra al enviar al menos algunos documentos del programa PS (en primer lugar de todos los programas) en los portadores de datos informáticos (por ejemplo, discos) y proporcionar un desarrollador especial de software PS o incluido en los dispositivos especiales de computadora creados para cualquier procesamiento de dichos documentos. Como tal PS especial, puede especificar el compilador de cualquier idioma de programación.

El compilador elimina al desarrollador del PS de la necesidad de escribir programas en el idioma de la computadora, que es para el desarrollador. PS sería extremadamente incómodo: en su lugar, conforma los programas en un lenguaje de programación conveniente que el compilador correspondiente se traduce automáticamente en el idioma de la computadora. Como un dispositivo especial que admite el proceso de desarrollo de PS, un emulador de cualquier idioma puede servir. El emulador le permite realizar (interpretar) un programa de idiomas que no sea una computadora que admite el desarrollo de un PS, por ejemplo, en un idioma de computadora para el que se pretende este programa. PS, diseñado para apoyar el desarrollo de otro PS, se llamará una herramienta de software para desarrollar un PS, y el dispositivo informático diseñado específicamente para respaldar el desarrollo del PS se denominará una herramienta de hardware para desarrollar PS.

Las herramientas de desarrollo de PS se pueden usar durante todo el ciclo de vida de PS para trabajar con diferentes documentos de software. Por lo tanto, el editor de texto se puede utilizar para desarrollar casi cualquier documento de programa. Desde el punto de vista de las funciones de que las herramientas se realizan en el desarrollo de PS, se pueden dividir en los siguientes cuatro grupos: · Editores, · Analizadores, · Transductores, · Herramientas que admiten el proceso de ejecución del programa.

Los editores admiten el diseño (formación) de ciertos documentos del programa en varias etapas del ciclo de vida. Como ya se mencionó, para esto puede usar un editor de texto universal. Sin embargo, los editores especializados pueden proporcionar un soporte más fuerte: para cada tipo de documentos: su editor. En particular, en las primeras etapas de desarrollo en documentos, los medios gráficos de descripción (diagramas, esquemas, etc.) se pueden usar ampliamente. En tales casos, los editores gráficos pueden ser muy útiles. En la etapa de programación (codificación), en lugar de un editor de texto, un editor administrado sintácticamente orientado al lenguaje de programación puede ser más conveniente. Los analizadores producen un procesamiento estático de documentos, realizando varios tipos de su control, identificando sus propiedades definidas y acumulación de datos estadísticos (por ejemplo, que comprueban el cumplimiento de los documentos a estas normas), o el análisis dinámico de programas (por ejemplo, a Identificar la distribución del programa de módulos de programa). Los convertidores le permiten proporcionar automáticamente documentos a un formulario de forma diferente (por ejemplo, formadores) o traducir un documento de una especie a un documento de otro tipo (por ejemplo, convertidores o compiladores), sintetice cualquier documento de partes individuales, etc.

Las herramientas que admiten el proceso de ejecución del programa le permiten realizar en una descripción de la computadora de los procesos o las piezas individuales presentadas en el formulario que no sea el código de la máquina, o el código de la máquina con características adicionales de su interpretación. Un ejemplo de tal herramienta es un emulador de otro código de computadora. Los diferentes depuradores deben atribuirse a este grupo de herramientas. Cada sistema de programación contiene un subsistema de programación del período de ejecución, que realiza los fragmentos de software de lenguaje de programación más típicos y proporciona una respuesta estándar a las situaciones excepcionales que surgen al realizar programas (un subsistema de dicho Subsistema), también puede ser Visto como grupos de herramientas.

2. Entornos de desarrollo ambiental instrumental. Actualmente, con cada sistema de programación, no las herramientas separadas (por ejemplo, el compilador) están asociadas con un conjunto lógicamente asociado de software y herramientas de hardware que admiten el desarrollo y el soporte del PS en este lenguaje de programación u orientado a cualquier área temática específica. Dicho conjunto se denominará el entorno instrumental para el desarrollo y mantenimiento de Ps. Para tales entornos instrumentales, es característico, en primer lugar, el uso de herramientas de software y hardware, y, en segundo lugar, una cierta orientación o un lenguaje de programación específico, o a un área temática específica. El medio de la herramienta no tiene que funcionar en la computadora en la que se aplicará el PS desarrollado. A menudo, tal combinación es bastante conveniente (si solo la potencia de la computadora utilizada permite esto): no es necesario tratar con las computadoras de diferentes tipos, los componentes del medio de la herramienta se pueden incluir en el PS desarrollado.

Hay tres clases principales de desarrollo instrumental y mantenimiento del entorno de programación PS, · Lugares de trabajo de tecnología informática, · Sistemas instrumentales de tecnología de programación. El entorno de programación está destinado principalmente a soportar procesos de programación (codificación), pruebas y depuración PS. El lugar de trabajo de la tecnología informática se centra en apoyar las etapas tempranas del desarrollo de PS (especificaciones) y la generación automática de programas sobre especificaciones. El sistema de instrumentos de tecnología de programación está diseñado para respaldar todos los procesos de desarrollo y mantenimiento durante todo el ciclo de vida del PS y se centra en el desarrollo colectivo de grandes sistemas de software con un largo ciclo de vida.

3. El entorno de la herramienta de programación contiene principalmente un editor de texto que le permite diseñar programas en un lenguaje de programación específico, herramientas para compilar o interpretar programas en este idioma, así como probar y depurar los programas obtenidos. Además, puede haber otras herramientas, por ejemplo, para el análisis de programas estático o dinámico. Estas herramientas interactúan entre sí a través de archivos regulares utilizando las características estándar del sistema de archivos. Las siguientes clases de medios de herramientas de programación se distinguen: · Entorno general de destino, · entornos orientados al lenguaje.

Las herramientas de programación de propósito general contienen un conjunto de herramientas de software que admiten programas de programación en diferentes lenguajes de programación (por ejemplo, un editor de texto, un editor de enlaces o un intérprete de idioma de la computadora de destino) y generalmente representan cierta expansión de las capacidades de la operación. Sistema utilizado. Para la programación en dicho entorno, cualquier lenguaje de programación requerirá herramientas adicionales orientadas a este idioma (por ejemplo, el compilador). . . Clasificación de la programación de medios de herramientas.

4. El concepto de tecnología de desarrollo de tecnología informática y sus trabajos. Hay algunas dificultades para desarrollar la definición estricta de la tecnología de casos (tecnología informática para desarrollar PS). El caso es una incorporación de la ingeniería de software con asistencia informática inglesa (computadora. Ingeniería de programación ayudada). Pero sin ayuda (Soporte), la computadora PS no se ha desarrollado durante mucho tiempo (al menos se usa el compilador). De hecho, en este concepto, un significado más estrecho (especial) está incrustado, que se está borrando gradualmente (ya que siempre sucede cuando cualquier concepto no tiene una definición estricta). Inicialmente, el caso fue entendido por la ingeniería de las primeras etapas del desarrollo de PS (definición de requisitos, desarrollando una descripción externa y una arquitectura PS) utilizando el soporte de software (herramientas de software). Ahora, en caso de que la ingeniería de todo el ciclo de vida de PS también se puede entender (incluir su apoyo), pero solo en el caso, cuando los programas están parcialmente generados por los documentos obtenidos en las etapas tempranas de desarrollo especificadas. En este caso, la Caso-Tecnología se ha vuelto fundamentalmente diferente de la tecnología manual (tradicional) de desarrollar PS: no solo el contenido de los procesos tecnológicos ha cambiado, sino también su totalidad.

Actualmente, la tecnología de desarrollo PS puede caracterizarse utilizando el soporte de software para el desarrollo de los requisitos gráficos y las especificaciones gráficas de PS: la programación automática de programas en cualquier idioma de programación o en el código de máquina (parcial o totalmente), - Soporte de software de prototipos.

El sistema de instrumentos de tecnología de programación es un conjunto integrado de software y herramientas de hardware que admiten todos los procesos de desarrollo y manteniendo grandes PS durante todo el ciclo de vida dentro de una cierta tecnología. A partir de esta definición, las siguientes características principales de esta clase de soporte informático están fluyendo: · Comparentidad, · Formalización para el desarrollo colectivo, · Certeza tecnológica, · Integración.

Teniendo en cuenta las propiedades de la tecnología de programación, los tres componentes principales se pueden distinguir: · Base de datos de desarrollo (repositorio), · Kit de herramientas, · Interfaces.

Repositorio: un almacenamiento central de computadoras de información relacionada con el proyecto (desarrollo) del PS durante todo el ciclo de vida. Toolkit es un conjunto de herramientas que definen las capacidades proporcionadas por el equipo del desarrollador. Por lo general, este conjunto está abierto: además del conjunto mínimo (herramientas incorporadas), contiene los medios de expansión (herramientas importadas) y estructuradas, que consisten en alguna parte común de todas las herramientas (kernel) y estructural (a veces relacionadas jerárquicamente. ) Clases de herramientas. Las interfaces se dividen en 1) personalizado 2) sistémico. La interfaz de usuario proporciona acceso a los desarrolladores al kit de herramientas (idioma de comando, etc.) se implementa por la cáscara del sistema. Las interfaces del sistema proporcionan interacción entre las herramientas y sus partes compartidas. Las interfaces del sistema se asignan como componentes arquitectónicos debido a la apertura del sistema, se requieren para usar herramientas nuevas (importadas) incluidas en el sistema.

Hay dos clases de herramientas de tecnología de programación: 1) Sistemas de soporte de proyectos y 2) sistemas instrumentales dependientes del idioma. El sistema de soporte del proyecto es un sistema abierto capaz de respaldar el desarrollo del PS en diferentes lenguajes de programación después de sus instrumentos de expansión apropiados orientados al idioma seleccionado. Dicho sistema contiene un kernel (proporcionando, en particular, acceso al repositorio), un conjunto de herramientas que respaldan la administración (administración) por el desarrollo de PS, independientemente de las herramientas de lenguaje de programación que respaldan el desarrollo de PS (texto y editores gráficos, Generadores de informes, etc.), así como herramientas de expansión del sistema. El sistema instrumental dependiente del idioma es un sistema de apoyo para el desarrollo de PS en cualquier lenguaje de programación que utiliza significativamente los detalles específicos de este idioma al organizar su trabajo. Esta especificidad también puede afectar las capacidades del kernel (incluso sobre la estructura del repositorio), y sobre los requisitos para la cáscara y las herramientas.

El lenguaje de modelado unificado de UML La mayoría de los métodos existentes de análisis y diseño orientados a objetos (AOOAP) incluyen tanto el lenguaje de modelado como una descripción del proceso de simulación. El lenguaje de modelado es la notación (en su mayoría gráfica), que es utilizada por el método para describir proyectos. La notación es una combinación de objetos gráficos que se utilizan en los modelos; Es la sintaxis del lenguaje de modelado. Por ejemplo, la notación del diagrama de clases determina cómo se presentan tales elementos y conceptos, como clase, asociación y multopezas. El proceso es una descripción de los pasos que deben ejecutarse al desarrollar un proyecto. El lenguaje de modelado unificado del lenguaje del lenguaje es el sucesor de la generación de métodos AOAP que aparecieron a fines de los 80 y principios de los 90.

El lenguaje UML es un lenguaje de modelado comunitario, que está diseñado para especificaciones, visualizaciones, diseño y documentación de componentes de software, procesos de negocios y otros sistemas. El idioma UML es simultáneamente simple y un poderoso agente de modelado que se puede usar de manera efectiva para construir modelos conceptuales, lógicos y gráficos de sistemas complejos de varios objetivos. El uso constructivo del idioma UML se basa en la comprensión de los principios generales de modelar sistemas complejos y características del proceso de diseño orientado a objetos (OOP) en particular. La elección de herramientas expresivas para modelos de construcción de sistemas complejos está predeterminada por las tareas que pueden resolverse utilizando modelos de datos. Al mismo tiempo, uno de los principios básicos de construcción de modelos de sistemas complejos es el principio de abstracción, que prescribe incluir en el modelo solo aquellos aspectos del sistema diseñado, que están directamente relacionados con la implementación del sistema de sus funciones. o su propósito objetivo. Al mismo tiempo, todos los detalles secundarios se reducen en excesivamente, no complican el proceso de analizar y estudiar el modelo obtenido.

UML contiene un conjunto estándar de diagramas y notaciones de una amplia variedad de especies. Un diagrama en UML es una representación gráfica del conjunto de elementos, que se representa con mayor frecuencia en forma de un gráfico unido con vértices (entidades) y costillas (relaciones). Los gráficos están dibujando para visualizar el sistema desde diferentes puntos de vista. Gráfico: en cierto sentido, una de las proyecciones del sistema. Como regla general, con la excepción de los casos más triviales, los diagramas proporcionan una representación enrollada de los elementos de los que se compone el sistema. El mismo elemento puede estar presente en todos los gráficos, o solo en varias (opción más común), o no estar presente en cualquier (muy raramente). Los diagramas teóricamente pueden contener cualquier combinación de entidades y relaciones. En la práctica, sin embargo, se aplican un número relativamente pequeño de combinaciones típicas correspondientes a los cinco tipos más comunes que conforman la arquitectura del sistema de software.

UML Asignar los siguientes tipos de diagramas: - Diagramas de opciones de uso (diagramas usuales): para modelar los procesos de negocios de la organización (requisitos del sistema); - Diagramas de clase (diagramas de clase): para simular la estructura estática de las clases de clase y los enlaces entre ellos. En tales diagramas, se muestran clases, interfaces, objetos y cooperaciones, así como su relación. Al modelar sistemas orientados a objetos, este tipo de diagramas se usa con mayor frecuencia. Los diagramas de clase corresponden al tipo estático de sistema en términos de diseño; - Cartas de comportamiento del sistema (diagramas de comportamiento); Diagramas de interacción (diagramas de interacción): para simular el proceso de mensajería entre los objetos. - Diagramas de Statechart: para simular el comportamiento de los objetos del sistema cuando se cambia de un estado a otro.

- Diagramas de actividad (diagramas de actividad): para simular el comportamiento del sistema dentro de varios usos o actividades de modelado. - Diagramas de implementación: diagramas de componentes (diagramas de componentes): para modelar la jerarquía de componentes (subsistemas del sistema); Diagramas de colocación (diagramas de implementación): para simular la arquitectura física del sistema.

resumen

El software es un conjunto de sistemas de procesamiento de información y documentos del programa necesarios para operar estos programas (GOST 19781-90). Además, un conjunto de programas, procedimientos y reglas, así como documentación relacionada con el funcionamiento del sistema de procesamiento de datos (ST ISO 2382 / 1-84).

Software instrumental: software destinado a su uso en el diseño, desarrollo y apoyo de programas. Por lo general, este término se utiliza para enfatizar las diferencias en esta clase de acuerdo con el software aplicado y del sistema.

El compilador es un traductor que realiza la conversión del programa compilada en el idioma de origen en el módulo de objeto.

Intérprete: programa (a veces hardware), analizando comandos o operadores de programas y realizándolos inmediatamente.

El sistema operativo es un conjunto de gerentes y programas de procesamiento que, por un lado, actúan como una interfaz entre los dispositivos del sistema de computación y los programas de aplicación, y, en la otra, están diseñados para controlar dispositivos, administrando los procesos de computación, la distribución efectiva de Recursos informáticos entre los procesos de computación y la organización de la computación confiable.

Programa de aplicaciones: un programa diseñado para realizar ciertas tareas de usuario y diseñado para la interacción directa con el usuario.

VisualBase - Herramienta de desarrollo de software desarrollada por Microsoft e incluye el entorno de lenguaje y desarrollo de programación.

VisualBasicForPplication es un poco simplificado la implementación del lenguaje de programación de Visual Basic, integrado en la línea de productos de Microsoft Office (incluidas las versiones de Mac OS), así como en muchos otros paquetes de software, como AutoCAD, SolidWorks, CorelDRAW, WordPerfect y ESRI ArcGIS.

El propósito del trabajo es el estudio de las especies, las funciones de software, en particular, instrumental.

Clasificación de software:

Tipos de software instrumental:

1) Editores de texto

4) compiladores

5) intérpretes

6) Lynolovers

8) reuniones

9) Depurador

10) Profilizadores

11) generadores de documentación

Para crear un programa en el lenguaje de programación seleccionado, debe tener los siguientes componentes:

2. Compilador o intérprete. El texto de origen utilizando el programa Compiler se traduce en un código de objeto intermedio.

El resultado del trabajo: software, sus funciones y tipos, en particular, software instrumental, su esencia, se consideran tareas. El tercer capítulo examinado por Microsoft Visual Basic como medio de desarrollo de software y su dialecto: Microsoft Visual Basic ForPplication. El trabajo del curso implementa un algoritmo para resolver una tarea financiera y económica utilizando el lenguaje de programación Pascal.

Introducción

En el mundo moderno, ninguna persona que haya probado los beneficios de la civilización no puede presentar su vida sin usar equipo informático. Su uso ocurre en cualquier campo de la vida humana: producción, comercio, capacitación, entretenimiento y comunicación de las personas, sus actividades científicas y culturales. Todo esto se debe a la posibilidad de seleccionar equipos informáticos para resolverlo, incluso la tarea más difícil.

Sin embargo, la versatilidad y la especialización en equipos informáticos se garantiza utilizando casi cualquier computadora utilizando un conjunto diferente de software que garantiza que cualquier tarea establecida.

Todos vemos un gran colector de programas informáticos y asumimos las tasas de su crecimiento y mejora, y solo una pequeña parte de nosotros representa el lado invisible de su diseño, desarrollo y creación. Sin embargo, esta esfera de tecnología informática está en nuestra opinión, lo más importante, ya que las tecnologías informáticas divergentes dependerán de su desarrollo.

Y dado que el desarrollo de cualquier programa de computadora ocurre utilizando un software instrumental, luego en nuestro trabajo de curso, me gustaría habitarlo en detalle, habiéndolo asignado de todo el software y la discontinuidad de su esencia y características.

Para mayor claridad, veremos el software instrumental (objeto de objeto) en el ejemplo del paquete de software VisualBasicForPrplication (sujeto) utilizado para la programación en el entorno de MicrosoftOffice, el paquete de oficina más común y popular.

1. software

1.1 Concepto y esencia del software.

El software (software) es una parte integral del sistema informático. Es una continuación lógica de los medios técnicos de cualquier computadora. El alcance de la aplicación de una computadora en particular está determinada por el software creado para ello. Por sí mismo, la computadora no tiene conocimiento en ningún campo de aplicación. Todos estos conocimientos se centran en los programas realizados en computadoras que tienen un conjunto de funcionalidades específicas y están destinadas a realizar específicas, en la mayoría de los casos, funciones altamente especializadas, como crear y procesar imágenes gráficas o archivos de sonido.

Actualmente, el software representa cientos de miles de programas que están destinados a procesar la información más diversa con los objetivos más diferentes.

El software (software) también incluye toda la zona de las actividades de diseño y desarrollo:

1) tecnología de diseño del programa (por ejemplo, diseño descendente, diseño estructural y orientado a objetos);

2) Métodos de prueba del programa;

3) Métodos para la evidencia de la exactitud de los programas;

4) Análisis de la calidad de los programas;

5) Documentación de programas;

6) Desarrollo y uso de herramientas de software que facilitan el proceso de diseño de software, y mucho más.

Hay muchas definiciones de software diferentes. En general, el software es un conjunto de sistemas de procesamiento de información y documentos del programa necesarios para operar estos programas (GOST 19781-90). Además, un conjunto de programas, procedimientos y reglas, así como documentación relacionada con el funcionamiento del sistema de procesamiento de datos (ST ISO 2382 / 1-84).

El software es uno de los tipos de sistema de computación, junto con el soporte técnico (hardware), matemático, información, lingüística, organizativa y metodológica.

La palabra de software del software de palabras en inglés se usa a menudo en la jerga de computadora, que en este sentido se aplica en el artículo en Matemáticas Mensuales Matemáticas Americanas de la Universidad de Princeton John Tyuki (Inglés. Johnw. Tukey) en 1958.

Otras definiciones:

1) El software es un conjunto de programas que le permiten implementar el procesamiento automatizado de información en la computadora.

2) Software (máquina de computación electrónica de equipos matemáticos), un conjunto de sistemas de procesamiento de datos y documentos de software requeridos para implementar programas en una máquina de computación electrónica.

3) Software: un conjunto de programas para administrar el proceso de operación de computadora, automatización de programación.

4) Software: un complejo de programas informáticos que proporciona procesamiento o transmisión de datos.

Todas las definiciones son similares y reflejan la esencia del software: la organización de la interacción de la parte del hardware (técnico), en forma de varios nodos incorporados y dispositivos periféricos, su control y coordinación de la interacción general del sistema informático entre ellos mismos y el usuario.

1.2 Características del software

Los conceptos de software mencionados anteriormente causan funciones realizadas por software en el proceso de funcionamiento de equipos informáticos. La lista de estas funciones es muy diversa, pero convencionalmente se puede dividir en los siguientes cinco tipos:

1. Hardware-mecánico. Lleve a cabo los diversos componentes de la computadora, asegúrese de la transferencia de la señal de hardware de un componente a otro.

2. Máquina-lógica. Procesado e interpreta el conjunto de pulsos de hardware electromagnéticos en un código de programa lógicamente consciente con una estructura y propiedades específicas.

3. Comandantes informativos. Realice el código del programa el cumplimiento de los principios del sistema y la creación de una estructura de información lógica y ejecute su ejecución.

4. Interfaz. Proporcionar procesamiento e interpretación del código de programa al formato de visualización disponible para la percepción por parte del usuario. Crea un entorno favorable para la interacción de una persona, una persona-computadora.

5. Aplicado. Lleva a cabo acciones matemáticas, lógicas, físicas y de otro tipo con un conjunto de datos disponibles, en otras palabras, procesando información disponible para resolver ciertas tareas.

Esta lista está lejos de ser integral, lo que indica la diversidad y la ambigüedad de las funciones realizadas por el software.

1.3 Tipos de software

Dependiendo de las funciones proporcionadas por un componente específico de la computadora, es necesario crear su propio software especializado para ello, que es el motivo fundamental de la creación de software de varias especies que se muestran (Fig. 1):

a) programas de aplicaciones que garantizan directamente la ejecución de los usuarios de trabajo necesarios;

b) los programas del sistema están destinados a controlar el funcionamiento del sistema de computación, realice varias funciones auxiliares, por ejemplo:

1) Gestión de recursos informáticos;

2) Crear copias de la información utilizada;

3) Comprobación del rendimiento de los dispositivos informáticos;

4) Emisión de información de referencia sobre la computadora y otras;

c) Sistemas de software instrumental que facilitan el proceso de creación de nuevos programas para la computadora.

El software del sistema proporciona mantenimiento y mantenimiento de la computadora, así como la automatización del proceso de creación de nuevos programas. El software del sistema incluye: sistemas operativos y interfaz de usuario; software instrumental; Sistemas de mantenimiento.

El sistema operativo es una parte obligatoria del software especial, que garantiza el funcionamiento efectivo de una computadora personal en varios modos que organizan la ejecución del programa y la interacción del usuario y los dispositivos externos con computadoras.

La interfaz de usuario (programas de servicio) son las superestructuras de software del sistema operativo (shell y medio) diseñadas para simplificar la comunicación del usuario con el sistema operativo.

Los programas que proporcionan una interfaz conservan el formulario de comunicación (diálogo) del usuario con el sistema operativo, pero cambian el idioma de comunicación (generalmente el idioma de comando se convierte en el idioma del menú). Los sistemas de servicio se pueden dividir convencionalmente en sistemas de interfaz, conchas de sistemas operativos y utilidades.

Los sistemas de interfaz son potentes sistemas de servicio, con mayor frecuencia el tipo gráfico que mejora no solo al usuario, sino también la interfaz del programa de los sistemas operativos, en particular, implementando algunos procedimientos adicionales para separar recursos adicionales.

Las conchas de sistemas operativos proporcionan al usuario un cualitativamente nuevo en comparación con la interfaz implementada por el sistema operativo y hacen un conocimiento opcional de este último.

Las utilidades automatizan la ejecución de procedimientos separados típicos, utilizados con frecuencia, cuya implementación requeriría que el usuario desarrolle programas especiales. Muchas utilidades tienen una interfaz de diálogo de usuario desarrollada y se acercan al nivel de comunicación a las conchas.

Software de herramientas (sistemas de programación) - Software obligatorio, utilizando programas. El software instrumental incluye herramientas de escritura de software (editores de texto); Herramientas de conversión del programa en la vista Adecuado en una computadora (ensambladores, compiladores, intérpretes, descargadores y editores de enlaces), herramientas de control de programas y depuración.

Los editores de texto le permiten editar, formar y combinar convenientemente los textos de los programas, y algunos, y controlan la sintaxis de los programas que se están creando.

El programa escrito en el lenguaje algorítmico debe convertirse en el módulo de objeto registrado en la máquina (en códigos binarios). Dicha transformación se realiza mediante traductor (ensamblador, desde ensamblador y compiladores con lenguajes de alto nivel). Para algunos idiomas algorítmicos, se utilizan intérpretes que no crean un módulo de objeto, y cada vez otra ejecución del programa, que tradujo cada cadena u operador individual al lenguaje de la máquina. El módulo de objeto es procesado por el gestor de arranque: el editor de los enlaces que lo convierten en el programa de máquina ejecutable.

Las herramientas de depuración le permiten realizar trazas de programa (ejecución paso a paso con la información emitida sobre los resultados de la ejecución), para verificar la sintaxis del programa y los resultados intermedios en los puntos de parada, modifique los valores de las variables en estos puntos.

Los sistemas técnicos y de servicio son controles de software, diagnósticos y restauración de la computadora, discos, etc.

El software de la aplicación proporciona soluciones de tareas personalizadas. Concepto clave Aquí hay un paquete de programas de aplicaciones.

El paquete de aplicaciones es un conjunto de programas para resolver el círculo de tareas de acuerdo con un cierto tema o sujeto. Los siguientes tipos de paquetes de aplicaciones se distinguen:

1) orientado al propósito general para automatizar una amplia gama de tareas de usuario (procesadores de texto, editores tabulares, sistemas de gestión de bases de datos, procesadores gráficos, sistemas de publicación, sistemas de automatización de diseño, etc.);

2) orientado a los métodos: la implementación de diversos métodos económicos y matemáticos para resolver problemas (programación matemática, planificación y gestión de redes, teoría de mantenimiento masivo, estadísticas matemáticas, etc.);

3) orientado a problemas: destinado a resolver una determinada tarea (problema) en un área temática específica (paquetes bancarios, paquetes de contabilidad, gestión financiera, sistemas de referencia legales, etc.).

El software de aplicación incluye software de servicio que sirve para organizar un entorno de usuario fácil de usar, así como para realizar funciones auxiliares (administradores de información, traductores, etc.).

Al construir una clasificación, es necesario tener en cuenta el hecho de que el rápido desarrollo de los equipos informáticos y la expansión del alcance de las aplicaciones informáticas aceleraron drásticamente el proceso de evolución del software. Si antes fue fácil enumerar las categorías principales de sistemas operativos, traductores, paquetes de aplicaciones, ahora la situación ha cambiado radicalmente. El desarrollo del software fue como profundamente en (los nuevos enfoques parecieron construir sistemas operativos, lenguajes de programación, etc.) y el estilo (programas aplicados han dejado de ser aplicado y adquirido valor independiente). La proporción entre el software relacionado con el software y el mercado disponible está cambiando muy rápidamente. Incluso los productos de software clásicos, como los sistemas operativos, se desarrollan y administran continuamente las funciones intelectuales, muchas de las cuales se trataron previamente solo a las capacidades humanas intelectuales.

2. Software instrumental

2.1 Esencia y concepto de software instrumental.

Software instrumental (OPI): software diseñado para su uso en el diseño, desarrollo y mantenimiento de programas.

Herramienta usada en la fase de desarrollo. El software instrumental es un conjunto de programas utilizados para ayudar a los programadores en su trabajo, para ayudar a los gerentes de desarrollo de software en su deseo de monitorear el proceso de desarrollo y obtener productos obtenidos. Los representantes más famosos de esta parte del software están programando programas de lenguajes de programación que ayudan a los programadores a escribir comandos de máquinas. Los programas instrumentales son traductores de Fortran, Cobol, Joe Vial, Beysik, APL y Pascal. Facilitan el proceso de creación de nuevos programas de trabajo. Sin embargo, los traductores con idiomas son solo la parte más conocida de los programas instrumentales; Hay muchos muchos.

El uso de máquinas informáticas para ayudar a desarrollar nuevos programas está lejos de ser obvia para las personas que no son programadores profesionales. A menudo sucede que los profesionales se cuentan sobre el instrumental (fase de desarrollo) y el sistema (fase de uso) por software en una sola respiración, asumiendo que sus habilidades que no están dedicadas al secreto se sabe sobre el papel del software instrumental. Al igual que en la fase de uso (para programas de aplicación), el soporte del sistema funciona en la fase de desarrollo, pero solo con el soporte 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 (idioma 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 programa BIG 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 combinarse en uno.

3. El editor de conexiones o el recopilador que enumera la encuadernación de los módulos de objetos y genera una aplicación viable en el código ejecutable de salida.

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. Como regla general, el archivo final tiene una extensión. Lee o.

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:

1) Borland Delphi: diseñado para resolver casi cualquier tarea de programación de aplicaciones.

2) Borland C ++ Builder es una excelente herramienta para desarrollar aplicaciones de DOS y Windows.

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

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

Por lo tanto, la esencia del software de la herramienta es crear cualquier programa ejecutable al convertir expresiones formales lógicas en el código de máquina ejecutable, así como el control y el ajuste.

2.2 Tareas y funciones del software instrumental.

Para el software instrumental, tanto los tipos especiales de software se caracterizan por el general y el privado.

funciones, así como para todo el software en su conjunto. Las características generales se consideran más arriba, y las funciones especializadas inherentes solo en este tipo de programas son:

1. Crear el texto del programa que se está desarrollando utilizando palabras de código especialmente instaladas (lenguaje de programación), así como un conjunto específico de caracteres y su ubicación en el archivo creado - Sintaxis del programa.

2. La traducción del texto del programa se crea en un código orientado a la máquina disponible para el reconocimiento de la computadora. En el caso de que se cree una cantidad significativa del programa, se divide en módulos separados y cada uno de los módulos se traduce por separado.

3. La conexión de los módulos individuales en un solo código ejecutable, con el cumplimiento de la estructura necesaria, lo que garantiza la coordinación de la interacción de las partes individuales.

4. Pruebas y controladores del programa creado, identificando y eliminando errores formales, lógicos y sintácticos, revisando programas para códigos prohibidos, así como evaluando el rendimiento y el potencial del programa creado.

2.3 Herramientas de software instrumental.

Sobre la base de las tareas establecidas antes del software de la herramienta, se puede distinguir una gran cantidad de diferentes tipos de software de herramientas:

1) Editores de texto

2) Entornos de desarrollo integrado.

4) compiladores

5) intérpretes

6) Lynolovers

7) Parsers y generadores de analizadores (ver JAVACC)

8) reuniones

9) Depurador

10) Profilizadores

11) generadores de documentación

12) Análisis de cobertura de código

13) Herramientas de integración continua.

14) Herramientas de prueba automatizadas.

15) Sistemas de control de versiones, etc.

Cabe señalar que las conchas para crear aplicaciones también son creadas por programas de herramientas y, por lo tanto, pueden atribuirse a los programas de aplicación. Considere designar brevemente algunos programas instrumentales.

Editores de texto.

Editor de texto: un programa de computadora diseñado para manejar archivos de texto, como crear y realizar cambios.

Tipos de editores de texto.

Asigne condicionalmente dos tipos de editores: transmitir editores de texto e interactivo.

Los editores de texto de flujo son programas informáticos que están destinados al procesamiento automatizado de datos de texto de entrada obtenidos de un archivo de texto, de acuerdo con los usuarios predeterminados de las reglas. La mayoría de las veces, las reglas son expresiones regulares, en una diagramada específica especificadas para este editor de texto en particular. Un ejemplo de dicho editor de texto puede ser el editor de SED.

Los editores de texto interactivo son una familia de programas informáticos diseñados para realizar cambios en el archivo de texto en el modo interactivo. Dichos programas le permiten mostrar el estado actual de los datos de texto en el archivo y producir diferentes acciones sobre ellos.

A menudo, los editores de texto interactivos contienen una funcionalidad adicional significativa diseñada para automatizar parte de las acciones de edición, o hacer un cambio en la pantalla de datos de texto, dependiendo de su semántica. Un ejemplo de la funcionalidad del último tipo puede servir como resaltado de sintaxis.

Los editores de texto están diseñados para crear y editar documentos de texto. MS WORD, LEXICON son los más comunes. Las funciones principales de los editores de texto son:

1) Trabajar con fragmentos del documento,

2) Inserte objetos creados en otros programas.

3) Documento de texto de desglose en las páginas

4) Entrar y editar tablas

5) Entrar y editar fórmulas.

6) Formato de párrafo

7) Listas automáticas

8) Creación automática de contenidos de tabla.

Se conocen docenas de editores de texto. El más accesible es el bloc de notas (Bloc de notas), WordPad, Word. El editor de texto específico generalmente se determina por las funciones, cuyo propósito se refleja en los elementos del menú y en el sistema de ayuda.

Entorno de desarrollo integrado

Entorno de desarrollo integrado, sistema de software, utilizado por programadores para desarrollo de software (software). Por lo general, el entorno de desarrollo incluye:

1) Editor de texto

2) Compilador y / o intérprete

3) Herramientas de automatización de ensamblaje.

4) Depurador.

A veces, también contiene herramientas para la integración con sistemas de control de versiones y una variedad de herramientas para simplificar el diseño de la interfaz gráfica de usuario. Muchos entornos de desarrollo modernos también incluyen el navegador de clase, el inspector de objetos y la tabla de jerarquía de clases, para su uso en el desarrollo de software orientado a objetos. Aunque hay entornos de desarrollo destinados a múltiples lenguajes de programación, como Eclipse, NetBeans, Embarcadero Rad Studio, QT Creator o Microsoft Visual Studio, generalmente el entorno de desarrollo está destinado a un lenguaje de programación definido, como Visual Basic, Delphi, Dev -C ++.

Caso privado del entorno de desarrollo visual, que incluye la posibilidad de edición visual de la interfaz del programa.

Sdk.

SDK (del inglés softwaredevelopmentkit) o \u200b\u200b"devkit": un conjunto de herramientas de desarrollo que permite a los especialistas de software crear aplicaciones para un paquete de software específico, software para desarrollo básico, plataforma de hardware, sistema informático, consolas de videojuegos, sistemas operativos y otras plataformas .

Un programador generalmente obtiene SDK directamente del desarrollador de la tecnología o sistema de destino. A menudo, el SDK se aplica a través de Internet. Muchas SDK se distribuyen gratis para alentar a los desarrolladores a utilizar esta tecnología o plataforma.

Los proveedores de SDK a veces reemplazan el término del software en el kit de desarrollo de software de frase para una palabra más precisa. Por ejemplo, "Microsoft" y "Apple" proporcionan kits de desarrollo de controladores (DDK) para desarrollar controladores de dispositivos, y "Palmsource" llama a su kit de herramientas para el desarrollo del "Kit de desarrollo PalmOS (PDK)".

Ejemplos de SDK :

5) Kit de desarrollo Java

6) dispositivos de ópera SDK

Compiladores.

Compilador -

1) Un programa o un medio técnico que realiza la compilación.

2) Programa de la máquina utilizado para la compilación.

3) Un traductor que realiza el programa convertido en el idioma de origen en el módulo de objeto.

4) Un programa que traduce el texto de un programa de alto nivel en un programa equivalente en el lenguaje de la máquina.

5) Un programa diseñado para transmitir un lenguaje de alto nivel en código absoluto o, a veces, en el lenguaje del ensamblador. La información de entrada para el compilador (código fuente) es una descripción de un algoritmo o un programa en un idioma orientado a problemas, y en la salida del compilador, una descripción equivalente del algoritmo en un idioma orientado a la máquina (código de objeto).

Compilacion -

1) transmitir un programa cerca de la máquina.

2) Reducir un programa compilado en el idioma de origen en el módulo de objeto. Realizado por el compilador.

Compile: realice la transmisión del programa de la máquina desde un lenguaje orientado a problemas al idioma orientado a la máquina.

Vistas de los compiladores. :

1) vectorizando. Tradujo el código fuente en el código de máquina de computadoras equipadas con un procesador de vectores.

2) Flexible. Compilado de acuerdo con el principio modular, administrado por tablas y se programó en un lenguaje de alto nivel o se implementa utilizando compiladores de compiladores.

3) Diálogo.

4) Incremental. Emite repetidamente los fragmentos del programa y la sumas sin recompparar todo el programa.

5) Interpretación (paso a paso). Realiza constantemente una compilación independiente de cada operador individual (comando) del programa de origen.

6) Compilador del compilador. Un traductor que percibe una descripción formal del lenguaje de programación y el compilador generador para este idioma.

7) Depuración. Elimina los tipos individuales de errores sintácticos.

8) Residente. Constantemente está en la memoria principal y está disponible para su reutilización por muchas tareas.

9) auto-compilado. Escrito en el mismo idioma desde el cual se realiza la transmisión.

10) universal. Basado en la descripción formal de la sintaxis y la semántica del lenguaje de entrada. Las partes compuestas de este compilador son: cargadores de kernel, sintáctica y semántica.

Tipos de compilación :

1) lote. Compile módulos de origen múltiple en un elemento de tarea.

2) línea.

3) Condicional. Recopilación a la que el texto traducido depende de las condiciones especificadas en el programa original. Entonces, dependiendo del valor de una cierta constante, puede activar o deshabilitar la transmisión del texto del programa.

Estructura del compilador.

El proceso de compilación consiste en los siguientes pasos:

1) Análisis léxico. En esta etapa, la secuencia de símbolos del archivo fuente se convierte en una secuencia LEX.

2) Análisis sintáctico (gramatical). La secuencia del Lex se convierte en el árbol de análisis.

3) Análisis semántico. El árbol de análisis se procesa con el propósito de establecer su semántica (significado), por ejemplo, identificadores de unión a sus declaraciones, tipos, comprobación de compatibilidad, definir los tipos de expresiones, etc. El resultado se denomina "representación / código intermedios", y puede ser un árbol de despido actualizado, un nuevo árbol, un conjunto abstracto de equipos o algo más, conveniente para su posterior procesamiento.

4) Optimización. Eliminar estructuras excesivas y simplificar la conservación del código de su significado. La optimización puede estar en diferentes niveles y etapas, por ejemplo, sobre el código intermedio o sobre el código final de la máquina.

5) Generación de código. Desde la vista intermedia, el código se genera en el idioma de destino.

En las implementaciones de los compiladores específicos, estas etapas se pueden dividir o combinar en una forma u otra.

Transmisión y diseño.

Una característica histórica importante del compilador, reflejada en su nombre (ENG. Compilar: para recolectar juntos, para componer), fue que podría producir y diseñar (es decir, contenía dos partes, un traductor y un enlazador). Esto se debe al hecho de que la compilación y el diseño separados como una etapa de ensamblaje separados se han establecido mucho más tarde que la aparición de los compiladores. En este sentido, en lugar del término "compilador" a veces usa el término "traductor", ya que es sinónimo: ya sea en la literatura antigua, o cuando quieren enfatizar su capacidad para traducir el programa en el código de la máquina (y por el contrario , use el término "compilador" para subrayar la capacidad de recolectar de muchos archivos uno).

Intérpretes.

Intérprete (lenguaje de programación) -

1) Un programa o medios técnicos que realizan interpretación.

2) la vista del traductor que realiza el procesamiento y la ejecución del reproductor (de la dedose) y la ejecución del programa fuente o solicitud (a diferencia del compilador que transmite todo el programa sin ejecución).

3) Programa (a veces hardware), analizando comandos o operadores de programas y realizándolos inmediatamente.

4) El procesador de idiomas, que implica el programa original, y al mismo tiempo realiza acciones prescritas, y no forma un programa compilado en la máquina, que posteriormente se realiza.

Tipos de intérpretes.

Un simple intérprete analiza e inmediatamente realiza (inevitablemente interpretación) el programa en Pomandandno (o línea), ya que su código fuente llega a la entrada del intérprete. La ventaja de este enfoque es una reacción instantánea. Desventaja: dicho intérprete detecta errores en el texto del programa solo cuando se intenta ejecutar un comando (o cadena) con un error.

El intérprete de tipo compilado es un sistema de compilador que traduce el código fuente del programa en una representación intermedia, por ejemplo, al código de bytes o el código P, y el intérprete real que realiza el código intermedio resultante (la llamada máquina virtual llamada . La ventaja de tales sistemas es un mayor desempeño de la implementación de los programas (debido a la eliminación del análisis del código fuente en un pasaje separado, de una sola vez y minimizando este análisis en el intérprete). Desventajas: más demanda de recursos y requisitos para la exactitud del código fuente. Se usa en idiomas tales como Java, PHP, Python, PERL (código byte), Rexx (mantiene el resultado del análisis del código fuente), así como en varios DBMS (se utiliza el código P).

En el caso de un intérprete de tipo compilado, los componentes se obtienen mediante un compilador de idiomas y un intérprete simple con un análisis minimizado del código fuente. Además, el código fuente para dicho intérprete no tiene que tener un formato de texto o un código de bytes que solo entiende este intérprete, puede ser un código de máquina de alguna plataforma de hardware existente. Por ejemplo, las máquinas virtuales como Qemu, Bochs, VMware incluyen intérpretes del código de máquina de la familia de procesadores X86.

Algunos intérpretes (por ejemplo, para Lisp, Scheme, Python, Beysik y otros idiomas) pueden trabajar en modo de diálogo o el llamado ciclo de computación de lectura (ENG. Read-eval-Printloop, TFR). En este modo, el intérprete lee el diseño de idioma completado (por ejemplo, la expresión de S en el idioma LISP), lo ejecuta, imprime los resultados, después de lo cual se mueve a la expectativa de la entrada del usuario del siguiente diseño.

Se ha ido único, que es capaz de trabajar tanto en la interpretación como en la compilación de datos de entrada, lo que le permite cambiar entre estos modos en un momento arbitrario, tanto durante la transmisión del código fuente como durante la operación de los programas.

También se debe tener en cuenta que los modos de interpretación se pueden encontrar no solo en el software, sino también en hardware. Por lo tanto, muchos microprocesadores interpretan el código de la máquina utilizando el firmware incorporado y los procesadores de familia X86 que comienzan con Pentium (por ejemplo, en la arquitectura Intel P6), durante el código de la máquina, está precargado al formato interno (en el micro -Aceptuar la secuencia).

Algoritmo de un intérprete simple. :

2. Analizar las instrucciones y determinar las acciones apropiadas;

3. Realizar las acciones apropiadas;

4. Si el programa no se alcanza, lea las siguientes instrucciones e vaya al Paso 2.

Ventajas y desventajas de los intérpretes..

1) Gran portabilidad de programas interpretables: el programa funcionará en cualquier plataforma en la que haya un intérprete apropiado.

2) Típicamente, medios más avanzados y visuales de diagnóstico de errores en los códigos de origen.

3) Simplificar el código de código fuente de depuración.

4) Tamaños de código más pequeños en comparación con el código de la máquina obtenido después de los compiladores convencionales.

1) El programa interpretable no se puede realizar por separado sin un intérprete del programa. El intérprete en sí puede ser muy compacto.

2) El programa interpretable es más lento, ya que el análisis interino del código fuente y la planificación de su ejecución requiere tiempo adicional en comparación con las versiones directas del código de la máquina, que el código fuente podría ser compilado.

3) Prácticamente no hay optimización de código, lo que conduce a pérdidas adicionales a la velocidad de los programas interpretables.

Enlazador.

Enlazador (también conectado Editor, enlazador): un programa que produce un diseño: toma la entrada una o varios módulos de objetos y recopila el módulo ejecutable de acuerdo con ellos.

Para enlazar los módulos, el enlazador utiliza los nombres de los nombres creados por el compilador en cada uno de los módulos de objetos. Tales nombres pueden ser de dos tipos:

1) Nombres ciertos o exportados: funciones y variables definidas en este módulo y se proporcionan para usar otros módulos.

2) Nombres inciertos o importados: funciones y variables a la que hace referencia el módulo, pero no los determina dentro de sí mismo.

El trabajo del enlazador es permitir que los enlaces sean nombres inciertos en cada módulo. Para cada nombre importado, su definición se define en otros módulos, el mención de nombre se reemplaza por su dirección.

El enlazador generalmente no verifica los tipos y la cantidad de parámetros de procedimientos y funciones. Si necesita combinar los módulos de objetos de objeto escritos en lenguajes de escritura estrictos, entonces los controles necesarios deben completarse con una utilidad adicional antes de iniciar el editor de enlaces.

Ensamblador.

Assembler (de inglés. Ensamblador: un colector): un programa de computadora, el compilador de texto de origen del programa escrito en el lenguaje del ensamblador en el lenguaje de la máquina.

Al igual que el idioma en sí (ensamblador), los ensambladores suelen ser específicos para una arquitectura específica, un sistema operativo y una opción de sintaxis de idioma. Al mismo tiempo, hay multiplataforma o universal (con mayor precisión, universal limitada, porque en el lenguaje de bajo nivel no puede escribir programas independientes de hardware), los ensambladores que pueden trabajar en diferentes plataformas y sistemas operativos. Entre los últimos, también puede resaltar un grupo de ensamblador cruzado capaz de recopilar código de máquina y módulos ejecutables (archivos) para otras arquitecturas y sistema operativo.

El ensamblaje puede no ser el primer paso y no último en la forma de obtener el módulo del programa ejecutable. Por lo tanto, muchos compiladores de lenguajes de programación de alto nivel emiten el resultado en forma de un programa en el lenguaje del ensamblador, que el ensamblador procesa en el futuro. Además, el resultado de la Asamblea no se puede ejecutar, y el módulo de objeto que contiene partes dispersas e innecesarias del código de la máquina y los datos del programa, desde los cuales (o de varios módulos de objetos), en el futuro utilizando el programa Linker ("Linker ") Se puede organizar un archivo ejecutable.

El depurador o el depurador es un módulo de entorno de desarrollo o una aplicación separada diseñada para buscar errores en el programa. El depurador le permite realizar rastreo, rastreo, instale o cambie los valores de variables de paso a paso durante la ejecución del programa, instale y elimine los puntos de control o las condiciones de parada, etc.

Lista de depurador.

1) AQTime - Un depurador comercial para aplicaciones creadas para .NET Framework versión 1.0, 1.1, 2.0, 3.0, 3.5 (incluidas las aplicaciones ASP.NET), así como para aplicaciones de Windows 32 y 64 bits.

2) DTRACE - Marco de rastreo dinámico para Solaris, OpenSolaris, FreeBSD, Mac OS X y QNX.

3) Cerca eléctrica - depurador de memoria.

4) Depurador de GNU (GDB) - Programas del depurador del proyecto GNU.

5) IDA es un desensamblador poderoso y un depurador de bajo nivel para sistemas operativos Windows y Linux Family y Linux.

6) Microsoft Visual Studio: entorno de desarrollo de software que incluye una depuración a Microsoft Corporation.

7) Ollydbg es un depurador de bajo nivel gratuito para sistemas operativos Windows.

8) Softice - Depurador de bajo nivel para sistemas operativos Windows.

9) Sun Studio: entorno de desarrollo de software, incluido el depurador DBX para Solaris y Linux, desde Sun Microsystems.

10) Dr. Watson es un depurador estándar de Windows, le permite crear volcados de memoria.

11) TotalView es uno de los depuradores comerciales para UNIX.

12) WINDBG es un depurador gratuito de Microsoft Corporation.

El generador de documentación es un programa o paquete de software que le permite recibir la documentación destinada a programadores (documentación de la API) y / o para usuarios finales del sistema, de acuerdo con un código fuente especialmente comentado y, en algunos casos, de acuerdo con los módulos ejecutables (obtenido en la salida del compilador).

Por lo general, el generador analiza el código fuente del programa, destacando las construcciones de sintaxis correspondientes a objetos significativos de programas (tipos, clases y sus miembros / propiedades / métodos, procedimientos / funciones, etc.). El análisis también utiliza la meta-información sobre los objetos del programa, presentada en forma de comentarios de documentación. Sobre la base de toda la información recopilada de la información, se forma la documentación listaizada, por regla general, en uno de los formatos generalmente aceptados, HTML, HTMLHELP, PDF, RTF y otros.

Comentarios documentales.

Documentar un comentario es un comentario especialmente decorado al objeto del programa, destinado a su uso por un generador de documentación en particular. A partir de qué tipo de generador de documentación se aplica, depende la sintaxis de las estructuras utilizadas en los comentarios de documentación.

Los comentarios de la documentación pueden contener información sobre el autor del Código, para describir el propósito del objeto del programa, el significado de los parámetros de entrada y salida, para la función / procedimientos, ejemplos de uso, posibles situaciones excepcionales, las características de la implementación.

Documentar los comentarios generalmente se elaboran como comentarios de múltiples líneas en el estilo de SI. En cada caso, el comentario debe estar frente al elemento documentado. El primer símbolo en los comentarios (y, al principio, un comentario) debe ser *. Los bloques están separados por cadenas vacías.

3. Visual Basic para aplicaciones.

software de software del sistema de sistema

3.1 La esencia de VisualBasic y su breve historia.

Microsoft Visual Basic (VB) - Herramienta de desarrollo de software desarrollada por Microsoft e incluye el entorno de programación del lenguaje y desarrollo. El lenguaje de Visual Basic heredó el espíritu, el estilo y, en parte, la sintaxis de su antepasado, un mal lenguaje, que tiene muchos dialectos. Al mismo tiempo, Visual Basic combina procedimientos y elementos de lenguajes de programación orientados a objetos y orientados a los objetos. El entorno de desarrollo de VB incluye herramientas para la interfaz de usuario de diseño visual. (Ver tabla.).

Visual Basic (características clave)

Visual Basic se considera una buena herramienta para desarrollar los prototipos del programa, para desarrollar aplicaciones de base de datos y en general, para el método de componente para crear programas que ejecutan sistemas operativos Microsoft Windows.

En el proceso de evolución, Visual Basic pasó una serie de etapas consecutivas, lo que le permitió convertirse en uno de los idiomas de programación más populares hoy en día. Entonces, evolución VisualBasic caminó de la siguiente manera:

1. May1991 - Lanzado Visual Basic 1.0 Formicrosoft Windows. La sintaxis QBasic se tomó como base del idioma, y \u200b\u200bla innovación que luego fue presentada por el lenguaje de gran popularidad fue el principio de comunicación del idioma y la interfaz gráfica.

2. Septiembre de 1992 - Lanzado Visual Basic 1.0 bajo DOS. No fue totalmente compatible con la versión de Windows de VB, ya que fue la siguiente versión de QuickBasic y trabajó en el modo Textual de pantalla.

3. Noviembre de 1992 - Lanzamiento de Visual Basic 2.0. El entorno de desarrollo se ha vuelto más fácil de usar y funcionó más rápido.

4. En el verano de 1993, Visual Basic 3.0 se publicó en versiones estándar y profesionales. Todo lo demás, se agregó el motor de entrega al trabajo con bases de datos de acceso.

5. Agosto de 1995 - Visual Basic 4.0 - Versión que podría crear programas de Windows de 32 y 16 bits.

6. Febrero de 1997 - Visual Basic 5.0: comenzando con esta versión, se hizo posible, junto con aplicaciones ordinarias, desarrollar componentes COM.

7. A mediados de 1998, salió Visual Basic 6.0. Después de eso, Microsoft ha cambiado dramáticamente las políticas con respecto a los idiomas de la familia básica. En lugar de desarrollar Visual Basic, se crea un lenguaje absolutamente nuevo de Visual Basic.

8. En 2005, se lanzó una nueva versión de Visual Basic, incluía Visual Studio. Ella satisfecha con una nueva interfaz y capacidades. El idioma se basa en Visual Basic.net.

9. A fines de 2007, Microsoft lanzó una nueva versión de Visual Basic - Visual Basic 2008, que también se basó en Visual Basic.net.

Sobre la base de la funcionalidad y las especificaciones de la aplicación, se pueden distinguir las siguientes variedades del programa especificado:

1. Classic Visual Basic (versión 5-6) Este idioma está muy fuertemente vinculado a su entorno de desarrollo y al sistema operativo Windows, siendo exclusivamente la herramienta de escritura para aplicaciones de Windows.

2. VisualBasicForapplications (VBA) Esta es una herramienta de programación, prácticamente no es diferente del clásico Visual Basic, que está destinado a escribir macros y otros programas de aplicación para aplicaciones específicas. Recibí la mayor popularidad gracias a su uso en el paquete de Microsoft Office. La difusión generalizada de Visual Basic para aplicaciones en combinación con la atención inicialmente insuficiente a problemas de seguridad llevó a las macros generalizadas.

3. VisualBasicScriptingEditionEdition (vbscript) lenguaje de script, que es una versión ligeramente truncada de la versión visual habitual. Se utiliza principalmente para automatizar la administración de sistemas Windows, así como para crear páginas ASP y scripts para Internet Explorer.

3.2 Interfaz de VisualBasicForPrplication, Funciones básicas y características

Al crear VisualBasicForapplication, Microsoft recaudó su tarea principal para crear un soporte de herramientas para los usuarios que no son programadores profesionales, pero al mismo tiempo están suficientemente calificados para desarrollar y diseñar programas de aplicaciones y aplicaciones basadas en MicrosoftOffice. Estaba resolviendo la tarea especificada que los desarrolladores crearon VBA, lo que le dotó una serie de características únicas. Uno de estos más valiosos para el usuario es la capacidad de crear y usar cuadros de diálogo no estándar (personalizables) en programas, agregando un objeto de forma de usuario al proyecto, así como una interfaz de usuario fácil de usar.

La interfaz del programa VisualBasicForapplication se completa desde el complejo de varias ventanas y pestañas utilizadas en el diseño de la aplicación que se está creando, la principal de las cuales son:

1) Ventana del proyecto (Fig. 2), que muestra la estructura del proyecto que se está creando.

2) La ventana del código del programa (Fig. 3), que muestra el código de programa del proyecto que se está creando y la capacidad de escribir el programa al método clásico utilizando el editor de palabras de código incorporado, que en VBA más de 16 mil. Además, esta ventana le permite editar el código y verificarlo por errores.

3) Pestaña Propiedades (Fig. 4) Muestra los parámetros establecidos en el objeto especificado y la capacidad de cambiar la configuración especificada.

Moviéndose entre Windows y Marcadores, el usuario puede personalizar fácilmente el proyecto creado.

Usando el formulario VBA generado por el usuario, puede crear cuadros de diálogo no estándar para mostrar datos o recibir valores del usuario del usuario, ya que los más cumplen con las necesidades del programa. Por ejemplo, puede crear una prueba, mostrar un cuadro de diálogo para mostrar las preguntas con las opciones de respuesta y proporcionar al usuario la posibilidad de elegir una de las opciones de respuesta que considere fiel.

Los cuadros de diálogo no estándar permiten que el programa interactúe con su usuario de la manera más difícil y proporcione una variedad de información y salida de datos.

El cuadro de diálogo no estándar se crea en la VBA agregando el objeto de forma de usuario al proyecto. Este objeto es un cuadro de diálogo vacío; Tiene una cadena de encabezado y un botón de cierre, pero no hay otros controles en él. El cuadro de diálogo no estándar se crea agregando controles al objeto UserForm y generalmente se llama simplemente forma (Fig. 5).

Cada objeto de usuario de usuario tiene propiedades, métodos y eventos heredados de la clase de objetos de forma de usuario.

Cada objeto de usuario de usuario también contiene un módulo de clase al que el usuario agrega sus propios métodos y propiedades o entra en los procedimientos de procesamiento para este formulario.

La capacidad de crear una interfaz creativa, independientemente del entorno de la aplicación del programa, como Excel, con la ayuda de los formularios de pantalla, es una de las características más valiosas de VBA.

Los formularios de pantalla son las ventanas de varios propósitos y el tipo creado por el usuario para su aplicación. Contienen controles que permiten al usuario compartir información con la aplicación.

VBA utiliza el diseño gráfico del formulario creado, con la configuración de las propiedades y controles del formulario, para obtener toda la información necesaria para mostrar el cuadro de diálogo: las dimensiones del cuadro de diálogo, los elementos de control en él, etc. Como resultado, VBA le permite mostrar el formulario del cuadro de diálogo utilizando una sola instrucción.

Para mostrar un cuadro de diálogo no estándar, use el método Mostrar de usuario. Si en este momento, el formulario no se carga en la memoria, el método de espectáculo lo carga y lo muestra. Si el formulario ya está cargado, el método de Mostrar simplemente lo muestra.

Mostrar un cuadro de diálogo para realizar la tarea generalmente no es suficiente. Casi siempre es necesario determinar el estado de los controles del cuadro de diálogo para descubrir qué datos u opciones eligieron al usuario. Por ejemplo, si se usa el cuadro de diálogo para obtener información del usuario sobre cómo se deben organizar las columnas y las filas mediante la hoja de trabajo, es necesario tener la capacidad de descubrir qué valores de usuario ingresados \u200b\u200bdespués de cerrar el cuadro de diálogo y al inicio real de la operación de pedido.

En otros casos, puede ser necesario cambiar dinámicamente los encabezados de los botones (u otros controles) del cuadro de diálogo, la actualización dinámica de la inscripción o el campo asociado con el medidor, o la confirmación dinámica del cuadro de diálogo Datos.

La capacidad de ampliar significativamente el conjunto de funciones integradas en la aplicación estándar, como MicrosoftExcel, así como crear funciones cuyos valores dependen de algunas condiciones y eventos.

VBA le permite programar funciones tabulares. Para crear una hoja de trabajo separada para un módulo de software, se proporciona un módulo de inserción desde el menú visual, el comando del módulo desde el menú Insertar macro. Después de eso, aparecerá una nueva hoja de trabajo "Modele1". En el módulo de software, debe describir la función en el idioma VBA. En la ventana del módulo del programa, puede funcionar como en la ventana de un pequeño editor de texto.

Las características de incrustación se realizan por el comando del navegador de objetos desde el menú Ver. Las funciones definidas por el usuario se consideran en el programa como objetos independientes. VBA tiene un conjunto significativo de funciones incorporadas, separándolas a los tipos.

Visual Basic le permite reservar variables, lo que indica tanto a él, trabaje con diferentes tipos de datos, use constantes, trabaje con operadores y funciones matemáticas, use operadores adicionales. El uso de los operadores de ciclos para los objetos de tipo siguiente, Do, Timer Timer (cronómetro invisible en el programa). La precisión de la configuración de tiempo en el programa es 1 milisegundo, o 1/1000 segundos. El temporizador lanzado está trabajando constantemente: es decir, es decir. El procedimiento de procesamiento de interrupción adecuado se realiza en un intervalo de tiempo dado: hasta que el usuario detiene el temporizador o desactiva el programa.

En VBA, puede especificar cualquier propiedad para el formulario, incluido el título, tamaño, tipo de marco, color de fondo y símbolos, fuente de texto y patrón de fondo.

Si resume todas las funciones del programa, entonces Visual Basic ForPplication le permite:

1) trabajar con controles

Dignidad :

1. Aplicaciones de alta velocidad con una interfaz gráfica para MS Windows.

2. Una sintaxis simple que le permite dominar rápidamente el idioma.

3. La capacidad de compilar tanto en el código de la máquina como en el código P (por la selección de un programador). En el modo de depuración, el programa siempre se compila en el código P, lo que le permite suspender la ejecución del programa, para realizar cambios significativos en el código fuente, y luego continúe la ejecución: la recomposición completa y el reinicio del programa no se requiere.

4. Protección contra errores asociados con el uso de punteros y acceso a la memoria. Este aspecto hace que las aplicaciones de Visual Basic sean más estables, pero también es un objeto de crítica.

5. Capacidad para usar la mayoría de las funciones Winapi para ampliar la funcionalidad de la aplicación. Esta pregunta es más explorada por completo por Dan Apploman, quien escribió la guía del libro "Visual Basic Programmer" de la API de Win32 ".

Crítica :

1. Los aspectos de Visual Basic se critican a menudo, ya que la capacidad de deshabilitar los medios de seguimiento para las variables declaradas, la capacidad de implícito de conversión variable, la presencia del tipo de datos "Variant". Según los críticos, hace posible escribir un código extremadamente malo. Por otro lado, esto se puede ver como una ventaja, ya que VB no impone un "buen estilo", pero da más libertad por parte del programador.

2. Falta de punteros, acceso de memoria de bajo nivel, inserciones de ASM. A pesar del hecho de que el paradigma de Visual Basic permite que un programador de VB promedio realice sin todo esto, las cosas enumeradas también se están convirtiendo en objetos de crítica. Y, sin embargo, utilizando capacidades indocumentadas y ciertos trucos, todo esto se puede implementar en VB (por ejemplo, utilizando funciones para obtener varptr (), strptr () y objptr ()); Es mucho más complicado utilizar estos trucos que, por ejemplo, en C ++.

Sin embargo, vale la pena señalar que todas las deficiencias del idioma surgen de su principal ventaja, la simplicidad del desarrollo de una interfaz gráfica. Por lo tanto, muchos programadores utilizan Visual Basic para desarrollar una interfaz de usuario, y la funcionalidad del programa se implementa como bibliotecas conectadas dinámicamente (DLL) escritas en otro idioma (la mayoría de las veces C ++).

4. Parte práctica

4.1 Declaración de problemas

Haz un diagrama de bloques y escriba un programa en Pascal. Calcule el costo interno de los valores. El valor interno del activo está determinado por el flujo futuro de ingresos de este activo.

pV - Valor interno actual de la acción

c - Llegada esperada del activo bajo consideración

r - Tasa de rendimiento esperada por un inversionista de ingresos con el nivel de riesgo correspondiente

n es el factor de tiempo (en meses).

Realice el análisis del mercado y agilice el resultado en ascender los datos obtenidos.

4.2 Texto del programa en Pascal.

pV: ARRAY DE REAL;

writeln ('Ingrese la entrada esperada de', i, '- Go Asset C:');

writeln ('Ingrese la tasa de rentabilidad esperada por el inversionista R:');

pV: \u003d C / EXP (LN (1 + R) * i);

writeln ('El valor interno actual del activo es', PV [I]: 1: 3);

writeln ('El valor del activo interno es igual a', s);

para J: \u003d 1 a 4 hacer

si PV [J]\u003e PV entonces

writeln ('El costo de los activos ordenados aumentando');

por i: \u003d 1 a 5 hacer

wRITELN (PV [I]: 1: 3);

Ejemplo de control 4.3

4.4 El resultado de la ejecución del programa en el ejemplo de control.

Conclusión

Por lo tanto, resumiendo todo lo anterior, se debe tener en cuenta que el software instrumental es uno de los tipos de software, que posee sus tareas y funciones comunes.

Sin embargo, al ser un tipo de software altamente especializado, tiene un determinado conjunto de propiedades y funciones únicas que aseguran la solución de las tareas inherentes a ella.

Es necesario tener en cuenta la tendencia emergente a simplificar el proceso de programación y crear una programación semi-profesional de subclase específica para fines aplicados.

Esto permitirá al usuario experimentado del usuario, pero no un programador profesional, crear algunas aplicaciones y pequeños archivos ejecutables de MicrosoftFice que se utilizan principalmente para fines de gestión contable y de documentos en pequeñas empresas.

Para este propósito, Microsoft fue desarrollado por el paquete de software VisualBaseForPrplication, lo que facilita la facilitación del proceso de programación y ha brindado la oportunidad de lidiar con la programación de la aplicación y no los programadores. Esta característica se implementó principalmente creando una partición de programa: "Editor de guiones" y la capacidad de grabar y ejecutar "Macros", como un tipo separado de módulos gráficamente programables. Implementó la capacidad de crear aplicaciones con una interfaz gráfica para MS Windows. Además, la ventaja de este tipo de software de herramientas es una sintaxis simple que le permite dominar rápidamente el idioma y aplicarla a la programación en todas las aplicaciones estándar de MicrosoftOffice.

Por lo tanto, es difícil sobreestimar la importancia del apoyo instrumental en general, y la complicación visualBasicforgrafía en particular, aunque las deficiencias, y también se mencionaron anteriormente. Pero más bien, ni siquiera, ni siquiera aspectos negativos del producto, sino las directrices para mejorar la mejora del apoyo instrumental en la persona de la información visualBasicforpplication.

1. Idiomas algorítmicos de tiempo real / ed. Yang S. / 2004

2. Magazine PC Magazine Edición rusa №2 2008. Computadora hoy.

3. Informática. / Ed. Mogilev A.V., Pak N.I., Henner Ek / M.: Academia, 2000.

4. Informática e información de la información: libro de texto / ed. ROMANOVA D.YU. / LLC "Publisher" Eksmo ", 2007.

5. La enciclopedia más nueva de una computadora personal / ed. Leontiev V. / Moscú, 1999. - 271 p.

6. Nuevos lenguajes de programación y tendencias en su desarrollo / ed. Ushkova V. / 2001

7. Pedagogía / ed. PIDCISTE P.I. / - M.: Sociedad Pedagógica, Rusia, 2000.

8. Programación para Microsoft Excel 2000 durante 21 días. / Ed. HARISA M. / - M.: Williams, 2000.

9. Simonovich S. Informática: Curso básico. Estudios. Para las universidades. San Petersburgo, Peter, 2002

10. Con Excel 2000 sin problemas. / Ed. Kovalski / - M.: Binin, 2000.

11. "Trabajo efectivo en Windows 98" / ed. Stinson K. / 2000. - 247 p.

12. Lenguajes de programación. kn.5 / ed. Vauina A.S. / 2003

13. Lenguajes de programación: desarrollo e implementación / ed. TERRENS P. / 2001

14. Libro de texto de la informática electrónica. Alekseev e.g. http: //www.stf.mrsu.ru/economic/lib/informatics/text/progr.html \\

Sección tecnológica

Tecnología de desarrollo de software

3.1.1 Definición de los procesos del área temática.

Actualmente, las tecnologías de la información se introducen ampliamente en todas las esferas de la actividad humana. Esto lleva al desarrollo de un gran software para software (PS) de diversos fines funcionales. Al mismo tiempo, el volumen y la complejidad de la PS utilizados están constantemente aumentando. En este sentido, muchos enfoques para el desarrollo de PS, utilizados en las etapas iniciales del desarrollo de equipos informáticos, pierden sus posiciones, porque no obtienen completamente la PS del nivel de calidad requerido para el período de tiempo de tiempo con limitado. Recursos financieros, humanos y técnicos.. Esto está relacionado con una serie de razones. Primero, una campaña intuitiva para el desarrollo de PS, basado en el conocimiento, las habilidades y los talentos de los programadores individuales individuales, no permite desarrollar un PS complejo y contradice los principios de su desarrollo colectivo. En segundo lugar, el uso de métodos de desarrollo colectivo requiere un enfoque estructurado para los conceptos del ciclo de vida (LCC) y los modelos de ciclo de vida de software (LCC PS). De lo contrario, existen riesgos significativos para no llevar el proyecto hasta el final o no obtener un producto con propiedades específicas. En tercer lugar, las metodologías para el desarrollo de PS con el crecimiento de la complejidad y la criticidad de este último deja de cumplir con las metas y los objetivos que se enfrentan a sus desarrolladores. Cuarto, el crecimiento de la complejidad y el volumen del PS desarrollado conduce automáticamente a la aparición de metodologías suficientemente complejas para el análisis, el diseño y las etapas de desarrollo posteriores. El uso de tales metodologías se vuelve imposible sin el uso de herramientas instrumentales para su apoyo. Las razones mencionadas anteriormente a menudo conducen a resultados insatisfactorios de los proyectos.

3.1.2 Procesos de gestión de proyectos.

El diseño modular es uno de los primeros enfoques para el desarrollo de la estructura PS y ha estado reteniendo su posición como un enfoque clásico y como base para las tecnologías de desarrollo de PS modernas. Al desarrollar PS modulares, se pueden usar métodos de diseño estructural o métodos de diseño orientado a objetos. Su objetivo es formar la estructura del programa que se está creando, su separación de acuerdo con algunas normas establecidas sobre los componentes estructurales (modularización) con la posterior organización jerárquica de estos componentes. Para diferentes lenguajes de programación, los componentes pueden ser subrutinas, módulos externos, objetos, etc. La descripción general de los métodos de análisis y diseño orientados a objetos se proporciona en la sección. 6. Esta sección cubre los métodos de proyecto estructural. Dichos métodos se centran en la formación de un marco para una base funcional. La definición clásica del programa modular ideal es el siguiente. El programa modular es un programa en el que cualquier parte de una estructura lógica puede cambiarse sin causar cambios en sus otras partes.

Figura 3.1 - Imposición de grupos de procesos en la fase.

Figura 3.2 - La relación de los procesos de gestión de proyectos en fase.

En el proyecto real, las fases no solo pueden precederse mutuamente, sino también superponerse. La iniciación repetida en diferentes fases del proyecto ayuda a controlar la relevancia del proyecto. Si la necesidad de su implementación desapareció, la siguiente iniciación le permite instalarla a tiempo y evitar costos innecesarios.

3.1.3 Tecnología de desarrollo rápida de aplicaciones

El desarrollo de Delphi el miércoles seleccionado para crear un proyecto de posgrado utiliza tecnología (desarrollo de aplicaciones rápidas, desarrollo rápido de aplicaciones). Esto significa el desarrollo del software en un entorno instrumental especial y se basa en visualizar el proceso de creación de un código de programa. Las herramientas de desarrollo de aplicaciones rápidas se basan en la arquitectura de los componentes. En este caso, los componentes son objetos que combinan datos, propiedades y métodos. Los componentes pueden ser visuales e inconsisuales; atómico y contenedor (que contiene otros componentes); Nivel bajo (sistema) y alto nivel.

Con el diseño visual, el usuario proporciona la capacidad de seleccionar los componentes necesarios de algún conjunto (paleta) con la tarea posterior de sus propiedades. Para referirse a las herramientas de diseño visual, use una amplia gama de términos, que incluyen: Diseñador de diseño, diseñador de formulario, editor visual, diseñador de pantalla, diseñador de formulario, diseñador de interfaz de usuario gráfico, etc. El procedimiento para desarrollar una interfaz con herramientas RAD se reduce a un conjunto de operaciones secuenciales, que incluyen:

Colocación de componentes de interfaz en el lugar correcto;

Establezca los momentos del tiempo de su apariencia en la pantalla;

Configuración de los atributos asociados con ellos y eventos.

La efectividad de la programación visual se determina tanto por la presencia de los propios componentes visuales, cuántas interconexión e interacción de los medios tradicionales. Incluso si el entorno de programación no contiene un número suficiente de componentes requeridos, aún estará en demanda si le permite desarrollar de forma independiente los componentes necesarios o usar los fabricantes de terceros existentes, alternativa a los ausentes en ella.

En otras palabras, la tecnología del rápido desarrollo de software se basa en un entorno de programación integrado con el que se realizan los procesos de diseño, la depuración y los productos de software aplicados de prueba.

3.1.4 Ciclo de vida del programa de formación de paquetes de documentos

El modelo de ciclo de vida es una estructura que determina la secuencia de procesos, acciones y tareas realizadas durante todo el ciclo de vida del software de aplicación, así como la relación entre estos procesos, acciones y tareas. El modelo de cascada se utilizó para desarrollar el programa. Este modelo demuestra un enfoque clásico para el desarrollo de diversos sistemas en cualquier área aplicada. Proporciona una organización de trabajo consistente. La característica principal es dividir todo el desarrollo a los pasos, y la transición de un paso al siguiente ocurre solo después de la finalización completa de todas las obras en la etapa anterior.

El desarrollo del programa se realizó en varias etapas:

Análisis de los requisitos del cliente: en esta etapa, surgió problemas durante la operación de software similar y formuló la tarea técnica presentada en la sección de investigación del proyecto Diploma;

Diseño: Se desarrollan soluciones de diseño que cumplen con todos los requisitos formulados en la tarea técnica. Se crean una base de datos, un diagrama estructural y algoritmos de los módulos de programas presentados en una sección especial del proyecto de graduación;

Desarrollo de software: el desarrollo de software se realizó de acuerdo con las soluciones de diseño de la etapa anterior. En esta etapa, se crean los módulos del programa necesarios. Algunos de los módulos desarrollados se presentan en la Figura 3.3. El resultado de la ejecución de esta etapa es un producto de software listo;

Pruebas y operación experimentada: se realiza una verificación del software recibido para el cumplimiento de los requisitos declarados en la tarea técnica;

Entrega del producto terminado.

Figura 3.3 - Módulos del programa que se está desarrollando.

Signos de modularidad del software: 1) El programa consta de módulos. Esta característica para un programa modular es obvio; 2) Los módulos son independientes. Esto significa que el módulo se puede cambiar o modificar sin consecuencias en otros módulos; 3) La condición "Una entrada es una salida". El programa modular consiste en módulos que tienen un punto de entrada y un punto de salida. En general, puede ser más de una entrada, pero es importante que los puntos de entrada se determine y otros módulos no puedan ingresar a este módulo en un punto arbitrario. Ventajas del diseño modular: 1) Simplificación del desarrollo de PS; 2) Eliminación del procesamiento excesivo de datos; 3) Simplificar el soporte de la PS; 4) Facilitar la lectura y la comprensión de los programas; 5) Alivio que trabaja con datos que tienen una estructura compleja. Desventajas de la modularidad: 1) El enfoque modular requiere un tiempo mayor del procesador central (en promedio en un 5 al 10%) debido al momento de los módulos de manejo; 2) La modularidad del programa conduce a un aumento en su volumen (en promedio en 5 - 10%); 97 3) La modularidad requiere un funcionamiento adicional del programador y las habilidades de diseño de PS definitivas. Los métodos clásicos de diseño estructural de PS modulares se dividen en tres grupos principales: 1) Métodos de diseño a la baja; 2) Métodos de expansión central; 3) Métodos ascendentes. En la práctica, generalmente se aplican combinaciones de estos métodos. RESUMEN En el programa modular ideal, cualquier parte de la estructura lógica se puede cambiar sin causar cambios en sus otras partes. El programa de módulos ideales consiste en módulos independientes que tienen una entrada y una salida. Los programas modulares tienen ventajas y desventajas. Hay tres grupos de métodos clásicos para diseñar PS modular.

3.1.5 Metodología, tecnología y herramientas Desarrollo de software de aplicación.

Metodología, tecnología y medios instrumentales (caso) se basan en la base del diseño de cualquier - Programa, Técnico, Información - Sistemas. Con respecto al software, la metodología se implementa a través de tecnologías específicas y respalda sus estándares, técnicas y herramientas que garantizan los procesos del ciclo de vida de los productos de software.

La metodología para crear programas de aplicación es organizar el proceso de creación de software y garantizar la administración de este proceso para garantizar el cumplimiento de los requisitos tanto para el sistema como para las características del proceso de desarrollo.

Cada operación tecnológica debe estar proporcionada con los datos obtenidos en la operación anterior (o datos de origen); Materiales metodológicos, instrucciones, estándares, normas; Software y medios técnicos. Los resultados de la operación deben enviarse en un determinado formulario estándar, proporcionando su percepción adecuada al realizar operaciones tecnológicas posteriores.

Herramientas de desarrollo automatizadas Herramientas de casos aplicadas (software asistido por computadora / SystemEningering). Actualmente, el significado de este término ha ampliado y adquirido un nuevo significado, que abarca el proceso de desarrollo de sistemas de información complejos en su conjunto. Ahora, el término significa los medios de software que respaldan los procesos de creación y mantenimiento de sistemas de información, incluido el análisis y la formulación de requisitos, diseñando software de aplicación y bases de datos, generación de código, pruebas, documentación, garantía de calidad, gestión de la configuración y gestión de proyectos. , y también otros procesos.

RAD es un conjunto de herramientas de herramientas especiales para desarrollar sistemas de software de aplicación que operan con un conjunto específico de objetos gráficos que muestran funcionalmente componentes de información individuales. Al usar esta metodología, la experiencia y la profesionalidad de los desarrolladores tienen gran importancia.

Los principios básicos de la metodología RAD se pueden reducir a los siguientes:

El modelo de desarrollo iterativo se utiliza, y la finalización completa del trabajo en cada una de las etapas del ciclo de vida no es necesaria;

En el proceso de desarrollo, es necesario una estrecha cooperación con el cliente y los usuarios futuros;

Es necesario aplicar fondos de casos y medios de desarrollo de aplicaciones rápidas;

Es necesario aplicar las herramientas de administración de configuración que faciliten la introducción de cambios en el proyecto y mantenimiento del sistema terminado;

Las pruebas y el desarrollo del proyecto se llevan a cabo simultáneamente con el desarrollo;

El desarrollo se lleva a cabo un equipo de profesionales y bien administrado, mientras que es necesario la gestión competente del desarrollo del sistema, la planificación clara y el control del desempeño del trabajo.

Las herramientas RAD tienen una interfaz gráfica conveniente y le permiten formar aplicaciones simples basadas en objetos estándar con casi ningún código de programa de escritura. Esto reduce en gran medida el trabajo de rutina en el desarrollo de la parte de la interfaz de las aplicaciones, porque Al utilizar medios convencionales, el desarrollo de las interfaces es una tarea bastante laboriosa que lleva tiempo mucho tiempo. Por lo tanto, Rad Tools permite a los desarrolladores concentrar los esfuerzos en la esencia de los procesos reales del área temática del objeto de programación, que finalmente conduce a una mejor calidad del sistema que se está desarrollando.

Las herramientas de desarrollo visual se operan principalmente con objetos y controles de interfaz estándar: ventanas, listas, textos, botones, interruptores, casillas de verificación, menús, etc., que facilitan la información, visualizarlo en la pantalla del monitor, administró los datos mostrados. Todos estos objetos pueden ser descritos estándar por las herramientas de idioma, y \u200b\u200blas descripciones en sí se guardan para su reutilización adicional.

La lógica de la aplicación construida con RAD es orientada a eventos, es decir, La gestión de objetos se lleva a cabo utilizando eventos. Esto significa lo siguiente: Cada objeto incluido en la aplicación puede generar eventos y responder a los eventos generados por otros objetos. Los ejemplos de eventos pueden ser: abrir y cerrar las ventanas, presionando la tecla del botón o del teclado, el movimiento del mouse, cambiando los datos en la base de datos, etc. El desarrollador implementa la lógica de la aplicación definiendo el procesador el evento: el procedimiento realizado por el objeto cuando Se produce el evento apropiado. Por ejemplo, el controlador de eventos "Presionando botón" puede abrir un cuadro de diálogo.

A pesar de todas sus ventajas, la metodología RAD no puede reclamar la universalidad. Su uso es más efectivo al desarrollar un software relativamente pequeño. Al desarrollar sistemas típicos que no se completan el producto, pero son un conjunto de elementos típicos (por ejemplo, herramientas de automatización de diseño), tales indicadores del proyecto, como el manejo y la calidad, lo que puede incluir la contradicción con la simplicidad y la velocidad del desarrollo. Esto se debe al hecho de que los sistemas típicos generalmente se acompañan de forma céntrica y se pueden adaptar a varias plataformas de software y hardware, sistemas de gestión de bases de datos, instalaciones de comunicación e integrarse con los desarrollos existentes. Por lo tanto, para este tipo de proyectos, se requiere un alto nivel de planificación y disciplina de diseño rígido, lo que sigue estrictamente por adelantado protocolos e interfaces desarrolladas, lo que reduce la velocidad de desarrollo.

La aplicación de la Metodología RAD se limita a construir programas complejos de liquidación, sistemas operativos o programas de gestión para ingeniería compleja y objetos técnicos: programas que requieren la escritura de una gran cantidad de código único. La metodología RAD es poco eficaz para desarrollar aplicaciones en las que la interfaz de usuario es secundaria, es decir, no hay una definición visual de la lógica del software. Los ejemplos pueden servir como aplicaciones, controladores o utilidades en tiempo real.

La metodología RAD es completamente inaceptable para el desarrollo de sistemas, en los que depende la seguridad de las personas, como los sistemas de control de transporte o las centrales nucleares. Esto se debe al hecho de que un enfoque iterativo que es uno de los fundamentos de RAD sugiere que las primeras versiones del sistema no serán completamente funcionales, lo que en este caso puede llevar a catástrofes graves.

3.2 Tecnología de software

La industria del software está tratando constantemente de resolver el tema de la calidad, pero cuán importantes son sus éxitos, en este momento es bastante difícil de decir. El Proyecto Diploma está hablando de una nueva generación de herramientas de prueba que están diseñadas para mejorar la calidad de los programas. Sin embargo, las herramientas, incluso automáticas, no pueden ayudar si se usan incorrectamente. Por lo tanto, la discusión de las herramientas está precediendo la presentación de las disposiciones generales de las pruebas "correctas".

La calidad del programa que se está desarrollando puede mejorarse por la siguiente manera: hacer un equipo de buenos programadores con experiencia en proyectos similares, darles una tarea bien establecida, buenas herramientas, crear buenas condiciones de trabajo. Con una alta probabilidad, puede esperar que sea posible desarrollar un sistema de software con buena calidad.

Los errores más caros se realizan en las primeras fases del ciclo de vida, son errores para determinar los requisitos, la elección de la arquitectura, el diseño de alto nivel. Por lo tanto, es necesario concentrarse en la búsqueda de errores en todas las fases, incluidas las primeras, sin esperarlas, mientras se detectan al probar las ventas ya terminadas.

Los pequeños módulos (procedimientos, clases, etc.) están sujetos a pruebas modulares. Al probar un módulo relativamente pequeño, 100 - 1000 líneas es la capacidad de verificar si no todos, al menos muchas ramas lógicas en la implementación, diferentes rutas en la columna de dependencia de datos, los valores de los parámetros de límite. De acuerdo con esto, los criterios de cobertura de prueba están construidos (cubiertos por todos los operadores, todas las ramas lógicas, todos los puntos límite, etc.).

Un producto de software completamente implementado está sujeto a pruebas sistémicas. En esta etapa, el probador está interesado en la corrección de la implementación de los procedimientos y métodos individuales, pero todo el programa en su conjunto, ya que el usuario final lo ve. La base para las pruebas sirve requisitos generales para el programa, incluida no solo la exactitud de la implementación de las funciones, sino también el rendimiento, el tiempo de respuesta, la resistencia a las fallas, los errores de los usuarios, etc. Para las pruebas sistémicas y de componentes, se utilizan tipos específicos de criterios de cobertura de prueba (por ejemplo, si todos los tipos de escenarios de trabajo están cubiertos, todos los escenarios con situaciones de emergencia, pares de escenarios, etc.).

Por lo tanto, la calidad del PS es un conjunto de los indicadores cualitativos más significativos (factores) que caracterizan suficientemente el PS. Los factores totales incluyen:

Funcionalidad: como conjunto de funciones que implementan las necesidades establecidas o supuestas de los usuarios;

Corrección: cumplimiento de la implementación del sistema de su especificación y consistencia;

Interfaz, como medio de comunicación con usuarios del sistema;

Apertura: caracterizar el modificador del sistema;

Comodidad: caracterizando la conveniencia de usar PS;

Modernidad: caracterizando el grado de uso de las tecnologías de la información modernas para presentar información y sistemas de comunicación en la época actual.

También se debe tener en cuenta que la verificación de la precisión del PS es el proceso de llevar a cabo un complejo de medidas que exploran la idoneidad del programa para su operación exitosa (aplicación y acompañamiento) de acuerdo con los requisitos del cliente.

Sobre la base de la información obtenida durante las pruebas del programa, en primer lugar, debe establecerse que realiza funciones declaradas, y también debe establecerse en qué medida ha decorado primitivos y criterios de calidad. Por lo tanto, la evaluación de la calidad del programa es el contenido principal del proceso de certificación.

La necesidad y la importancia de las pruebas de software son difíciles de sobreestimar. Al mismo tiempo, se debe tener en cuenta que las pruebas son actividades complejas y que consumen mucho tiempo. Las siguientes son las características de la prueba de software orientado a objetos.

El desarrollo del software orientado a objetos comienza con la creación de modelos visuales que reflejan las características estáticas y dinámicas del sistema futuro. Al principio, estos modelos registran los requisitos de origen del cliente, luego formalizan la implementación de estos requisitos seleccionando objetos que interactúan entre sí al transmitir mensajes. El diseño de modelos representa la mayor parte del costo de un proceso de desarrollo orientado a objetos. Si esto se agrega a esto, que la tasa de eliminación del error está creciendo rápidamente con cada iteración del desarrollo, entonces es completamente lógico probar los modelos de análisis y diseño orientados a objetos.

Criterios para los modelos de prueba: corrección, integridad, consistencia. La corrección sintáctica es juzgada por la corrección del uso del lenguaje de modelado. La corrección semántica es juzgada por el modelo de cumplimiento de problemas reales. Para determinar si el modelo refleja el mundo real, es estimado por expertos que tienen conocimiento y experiencia en un área problemática específica.

La consistencia se juzga considerando las contradicciones entre los elementos en el modelo. El modelo inconsistente tiene en una parte de la presentación, que contradice ideas en otras partes del modelo.

Al considerar las pruebas orientadas a objetos, el elemento probado más pequeño es el objeto (clase). En este caso, es imposible probar una operación separada de forma aislada, ya que es habitual en el enfoque estándar de los módulos de prueba. Cualquier operación debe ser considerada como parte de la clase. El software orientado a objetos no tiene una estructura de control jerárquica, por lo tanto, los métodos de las pruebas ascendentes y descendentes no son aplicables aquí.

Se ofrecen dos técnicas para la prueba de sistemas orientados a objetos:

Pruebas basadas en la transmisión;

Pruebas basadas en el uso.

En el primer método, el objeto de prueba es un conjunto de clases que atienden una única entrada de datos en el sistema. En otras palabras, los medios de mantenimiento de cada flujo están integrados y se prueban por separado. En el segundo método, las clases independientes se prueban por primera vez. A continuación, trabaje con la primera capa de clases dependientes, con la segunda capa, etc.

Al verificar la corrección, los detalles de la relación de clase desaparecen. Al igual que la confirmación tradicional de la corrección, la confirmación de la exactitud del software orientada a objetos se centra en las acciones visibles del usuario y las conclusiones reconocidas por el usuario.


Información similar.


Paso 1: Antes de los mediados de los años 50..

Los costos principales están asociados con la codificación (en códigos de la máquina). Avtocodes aparecen (idiomas usando símbolos Mnemónicos de los comandos) y traductores de ellos (ensambladores).

Se están implementando las posibilidades de compilación y movimiento separados de los programas. Hay cargadores de arranque y enlazadores de programas.

Paso 2: Mediados de 50 años a mediados de los años 60.

El tamaño de los programas aumenta, se detecta la brecha entre los conceptos de áreas problemáticas y los idiomas orientados a la máquina. Hay varios idiomas de alto nivel (algorítmico, universal):

FORTRAN (1954-1957);

Algol-60 (1958-1960);

COBOL (1959-1961);

y traductores con ellos (compiladores). Alternativamente, casi todos los tipos principales de datos, operaciones en ellos, estructuras de control y métodos de imagen en los programas, se inventan varias opciones para la parametrización de las subrutinas.

Etapa 3: mediados de los 60 - principios de los 70.

El tamaño del software aumenta considerablemente, la transición a la naturaleza colectiva de las obras. Requisitos para el software debido a la transición al aumento de la producción de productos básicos.

La proporción del costo del desarrollo del software (40% se gasta más en la depuración, el diseño y la documentación), la codificación es uno de los tipos de trabajo más simples. Se utilizan lenguajes de programación "grandes": PL / 1, ALGOL-68, Simula-67, generalización e integración de soluciones encontradas previamente.

Desarrolló sistemas de programación con optimización y depuración de traductores, macrobibilidades, bibliotecas estándar de programas, editores de texto especializados, análisis y desviaciones de diálogo en los términos del idioma de entrada. Se desarrollan sistemas operativos desarrollados, primero DBMS, numerosos sistemas de automatización de documentación, sistemas de gestión de software (modificaciones de seguimiento y ensamblaje de versiones de software).

Etapa 4 ("Etapa de la crisis en el desarrollo de PO"): el comienzo de los 70 a mediados de los 70.

A pesar del desarrollo de herramientas instrumentales, la productividad de los programadores no está creciendo. Además, debido al aumento de los requisitos para el software y el crecimiento no lineal de su complejidad, las caídas de la productividad laboral. La duración del desarrollo del software está roto, su costo está creciendo, su calidad es impredecible, los métodos tradicionales no están activados (proporcionando recursos humanos y materiales adicionales), que se caracteriza como "crisis de software".

Se obtienen el reconocimiento de la metodología de programación estructural (Dyacstra, 1968), se forman los conceptos básicos de la tecnología de programación (idioma Pascal (N.Virt), 1971).

Etapa 5: 1976. - Nuestro tiempo. El paso del desarrollo posterior a la crisis de las herramientas.

1976 - Publicación de la labor de Boam, donde se introduce el concepto de ciclo de vida e indica que los costos principales no están en el desarrollo, sino en programas de apoyo.

Lenguajes de programación:

C (el comienzo de la década de 1970, por primera vez se describe completamente en 1978);

Modula-2 (1978, el desarrollo es Oberon (1988));

Prólogo (1972, recibido desde 1980);

SmallTalk (década de 1970, en 1980 se representó como SmallTalk-80);

C ++ (principios de la década de 1980, nombre - 1983, en el formulario habitual de hoy ha existido desde 1990);

Java (versión de Java 1.0 - 1996, Java 2.0 - 1998, Java 5 - 2004 ...);

C # (1998-2001, versión 1.0 - 2000-2002, versión 2.0 - 2003-2005, versión 3.0 - 2004-2008, versión 4.0 - 2008-2010).

Se desarrollan herramientas de desarrollo de programas integrados. El reconocimiento se reconoce como un enfoque orientado a objetos del diseño y la programación. Se están desarrollando programas que admiten la creación de software en cada etapa.

Preguntas de control:

1. ¿Qué acciones incluye el desarrollo de software?

2. ¿Qué etapas en el desarrollo de programas se asignan dentro del proceso unificado racional (RUP)?

3. ¿Qué hace el uso de herramientas?

4. ¿Qué componentes están incluidos en el programa? Propósito de cada una de las partes.

5. Definiciones y software del programa.

6. ¿Qué propiedades deben publicarse el software?

7. ¿Qué lenguajes de programación se utilizan al desarrollar programas?

8. Definición de software instrumental.

9. ¿Cuáles son los cuatro grupos para dividir el software instrumental? Ejemplos de software para cada grupo.

10. ¿Qué criterios podemos comparar los programas de la misma clase?

11. ¿Qué etapas se asignan en el desarrollo de herramientas instrumentales para el desarrollo de software?

12. Cita y características principales de los compiladores (ensamblador) y editores de enlaces.

13. Cita y características principales de los textores.

14. Cita y características principales.

15. Propósito y características principales de la creación de instaladores.

16. Nombramiento y principales características de los actores de recursos.

17. Cita y características principalesProfilador.

18. Cita y características principales de las versiones de los programas de apoyo.

19. Propósito y principales características de la creación de programas de archivos de ayuda (documentación).

20. Cita y características principales de los generadores de documentación.

21. Cita y características principalesDesEsemblers y descompiladores.

22. Propósito y características principales del seguimiento del sistema de seguimiento y los cambios que ocurren en el sistema.

23. Cita y características principales de verificadores y contenedores.

24. Propósito y características principales de los programas para proteger el software desarrollado (protectores).

25. Cita y características principalesSDK.

26. Cita y principales características de los analizadores.

27. Nombramiento de normas tecnológicas.


SUJETO:Metodología del desarrollo de software.

Literatura: 1. Zelkovitz M., Show A., Gannon J. Principios de desarrollo de software.

2. Getssi K., Jazairei M., Mandrioli D. Fundamentos de la ingeniería de software.

3. Kameam V. A., Kosterin V. V. Tecnología de programación.

Considere los conceptos de metodología, método y medios.

Definición 1: Método (De griego. Metodías: un método de investigación o conocimiento, teoría o enseñanza) - Recepción o sistema de técnicas de implementación práctica de algo en cualquier área temática, un conjunto de técnicas u operaciones de desarrollo práctico o teórico de la realidad, subordinado a la resolución. Tareas específicas.

El método incluye fondos- Con la ayuda de los cuales la acción se realiza y métodos- ¿Cómo es la acción?

Definición 2: Metodología- Este es un sistema de principios, así como una totalidad de ideas, conceptos, métodos, métodos y medios que definen el estilo de desarrollo de software.

La metodología es la implementación de la norma. Los estándares ellos mismos solo hablan de lo que debería ser, dejando la libertad de elección y la adaptación.

Las cosas específicas se implementan a través de la metodología elegida. Es ella determina cómo se realizará el desarrollo. Hay muchas metodologías de creación de software exitosas. La elección de una metodología específica depende del tamaño del equipo, de los detalles y la complejidad del proyecto, de la estabilidad y la madurez de los procesos en la empresa y de las cualidades personales de los empleados.

Las metodologías son el núcleo de la teoría de la gestión del desarrollo de software.

Dependiendo del modelo del modelo de ciclo de vida, las metodologías se dividen en:

Cascada (cascada);

Iterativo (espiral).

También hay una clasificación más general sobre:

Predicho;

Adaptado.

Metodologías predichas Centrarse en la planificación detallada del futuro. Se conoce las tareas y recursos programados para todo el proyecto. El equipo con dificultad responde a posibles cambios. El plan se optimiza sobre la base del trabajo y los requisitos existentes. Los requisitos cambiantes pueden llevar a un cambio significativo en el plan, así como el diseño del proyecto. A menudo se crea un comité especial sobre "Gestión de cambios", de modo que solo se tienen en cuenta los requisitos más importantes en el proyecto.

Metodologías adaptativas Dirigido a superar la falta de pago esperada de los requisitos y su cambio constante. Cuando se cambian los requisitos, el equipo del desarrollador también cambia. El equipo involucrado en el desarrollo adaptativo difícilmente puede predecir el futuro del proyecto. Hay un plan exacto solo para un futuro próximo. Los planes más eliminados de tiempo existen solo como una declaración de objetivos del proyecto, costos y resultados esperados.

Desarrollo en cascada O un modelo de cascada (Modelo de cascada): un modelo de proceso de desarrollo de software en el que el proceso de desarrollo se ve como un flujo, que pasa constantemente la fase del análisis de los requisitos, el diseño, la implementación, las pruebas, la integración y el apoyo.

La característica principal de un enfoque de cascada es: la transición a la siguiente etapa se realiza solo después de que el trabajo se complete completamente en la etapa actual, y no se proporcionan devoluciones a las etapas completadas. . Cada etapa termina con la obtención de algunos resultados que sirven como datos de origen para la siguiente etapa (Fig. 1).

Higo. 1. Modelo de ciclo de vida en cascada.

Cada etapa se completa con la liberación del conjunto de documentación, suficiente para garantizar que el desarrollo pueda continuar el desarrollo de otro equipo de desarrolladores. El criterio para la calidad del desarrollo con este enfoque es la exactitud de la implementación de las especificaciones de la tarea técnica.

Ventajas de la aplicación de un método de cascada:

En cada etapa, se forma un conjunto completo de documentación del proyecto, cumpliendo con los requisitos de integridad y consistencia;

La etapa de trabajo realizada en la secuencia lógica le permite planificar el tiempo de finalización de todas las obras y los costos correspondientes.

El enfoque de Cascade se ha demostrado en la construcción de sistemas de información electrónica, para los cuales al comienzo del desarrollo, es posible formular definitivamente y completar plenamente todos los requisitos para proporcionar a los desarrolladores la libertad de realizarlos técnicamente lo mejor posible.

Al mismo tiempo, este enfoque tiene una serie de deficiencias causadas, principalmente el hecho de que el proceso de creación de software real nunca se apila completamente en un esquema tan rígido. El proceso de creación de software suele ser de naturaleza iterativa: los resultados de la siguiente etapa a menudo causan cambios en las soluciones de diseño desarrolladas en etapas anteriores. Por lo tanto, se produce la necesidad de retorno a las etapas y aclaraciones anteriores o la revisión de decisiones previamente aceptadas (Fig. 2). El diagrama representado se puede atribuir a un modelo de modelo separado con control intermedio, en el que los ajustes de intervalor proporcionan una mayor confiabilidad en comparación con el modelo en cascada, aunque aumentan todo el período de desarrollo.

La principal desventaja del modelo de cascada es un retraso esencial con la obtención de resultados y, como resultado, el alto riesgo de crear un sistema que no satisface las necesidades cambiadas de los usuarios. Esto será explicado por dos razones:

Los usuarios no pueden indicar de inmediato todos sus requisitos y no pueden prever cómo cambian durante el desarrollo;

Durante el desarrollo, los cambios pueden ocurrir en un entorno externo que afectará los requisitos del sistema.

Higo. 2. Modelo de cascada ZHC en la práctica.

Como parte de un enfoque en cascada, los requisitos para el producto desarrollado se registran en forma de una tarea técnica durante todo el tiempo de su creación, y la aprobación de los resultados obtenidos con los usuarios se realiza solo en los puntos planeados después de la finalización de Cada etapa (es posible ajustar los resultados de acuerdo con los comentarios del usuario si no afectan los requisitos establecidos en la tarea técnica). Por lo tanto, los usuarios pueden hacer comentarios significativos solo después de que el trabajo en el sistema esté completamente completado. Los usuarios pueden obtener un sistema que no satisfaga sus necesidades. Como resultado, debe iniciar un nuevo proyecto que pueda comprender el mismo destino.

Para superar los problemas enumerados a mediados de los 80, se propuso un modelo espiral del ciclo de vida (Fig. 3).

Higo. 3. Modelo de espiral (iterativo) ZHC.

Su fundamentalidad es la siguiente: el software aplicado no se crea de inmediato, como en el caso de un enfoque de cascada, pero en partes usando el método de prototipos .

Debajo prototipo Se entiende como el componente del programa actual que implementa funciones individuales y interfaces externas del software que se está desarrollando. La creación de prototipos se realiza en varias iteraciones, o giros en espiral. Cada iteración corresponde a la creación de un fragmento o versión de software, especifica los objetivos y las características del proyecto, se estima la calidad de los resultados obtenidos y se planifica el trabajo de la próxima iteración. Cada iteración se realiza una evaluación exhaustiva del riesgo de exceder el tiempo y el costo del proyecto para determinar la necesidad de realizar otra iteración, el grado de integridad y precisión de comprender los requisitos para el sistema, así como la conveniencia de la terminación. del proyecto.

El modelo en espiral elimina a los usuarios y desarrolladores de la necesidad de formulación precisa y completa de los requisitos del sistema en la etapa inicial, ya que se especifican en cada iteración. Por lo tanto, los detalles del proyecto se profundizan y se especifican de manera sistemática, y como resultado, se selecciona la opción razonable, que se lleva a la implementación.

El modelo espiral es un ejemplo clásico de aplicar una estrategia de diseño evolutivo. El modelo espiral (Author Barry Boem, 1988) se basa en las mejores propiedades del ciclo de vida clásico y el macato, al que se agrega un nuevo elemento: el análisis de riesgo falta anteriormente.

El modelo de espiral determina los cuatro pasos enviados por los sectores de la espiral:

1. Planificación: definición de objetivos, opciones y restricciones.

2. Análisis de riesgos: análisis de opciones y selección de reconocimiento / riesgo.

3. Diseño: el desarrollo del producto siguiente de nivel.

4. Evaluación: evaluación por parte del cliente de los resultados actuales del diseño.

El aspecto integrador del modelo en espiral es obvio al tener en cuenta la medición radial de la hélice. Con cada iteración en la espiral (promoción del centro a la periferia), se construyen versiones más completas de software.

En el primer turno de la espiral, se determinan los objetivos iniciales, las opciones y las limitaciones, el riesgo es reconocido y analizado. Si el análisis de riesgo muestra la incertidumbre de los requisitos, se debe seleccionar el desarrollo del desarrollador y el cliente (utilizado en el cuadrante de diseño). Para definir aún más el problema y los requisitos actualizados, se puede usar el modelado. El cliente evalúa el trabajo de ingeniería (diseño) y hace propuestas para la modificación. La siguiente fase de planificación y análisis de riesgos se basa en las ofertas de clientes. En cada ciclo en la espiral, los resultados del análisis de riesgo están formados por el formulario "Continuar, no para continuar". Si el riesgo es demasiado grande, el proyecto se puede detener.

En la mayoría de los casos, el movimiento en la Helix continúa, con cada paso que promueve a los desarrolladores a un modelo más general del sistema.

Con una forma iterativa, la parte que falta del trabajo se puede realizar en la siguiente iteración. La tarea principal es mostrar a los usuarios un producto viable lo más rápido posible, activando así el proceso de refinamiento y las adiciones.

El modelo en espiral no excluye un enfoque en cascada en las etapas finales del proyecto en los casos en que los requisitos del sistema están completamente definidos.

El principal problema del ciclo en espiral es determinar el tiempo de transición a la siguiente etapa. Para resolverlo, es necesario introducir restricciones temporales en cada una de las etapas de la LCC. La transición se realiza de acuerdo con el plan, incluso si no todo el trabajo planificado se completa. El plan se elabora sobre la base de datos estadísticos obtenidos en proyectos anteriores y experiencia personal de desarrolladores.

Las ventajas de un modelo de espiral:

El más realista (en forma de evolución) muestra el desarrollo del software;

Le permite tener en cuenta claramente el riesgo de cada turno de la evolución del desarrollo;

Incluye un paso de un enfoque sistemático para una estructura de desarrollo iterativa;

Utiliza el modelado para reducir el riesgo y mejorar el producto de software.

Desventajas del modelo de espiral:

Novedad (no hay estadísticas suficientes para la eficiencia del modelo);

Mayores requisitos para el cliente;

Dificultades para controlar y gestionar el tiempo de desarrollo.

Hasta la fecha, se pueden distinguir las siguientes metodologías de desarrollo de software iterativas:

Proceso racional unificado (RUP)

Metodologías de desarrollo flexibles (Scrum, Kanban, DSDM, MSF, ALM, XP)

Metodología de desarrollo flexible. (Desarrollo de software ágil inglés).

Las metodologías más flexibles están dirigidas a minimizar los riesgos, formas de desarrollar una serie de ciclos cortos llamados iteracionesEso suele durar una o dos semanas. Cada iteración misma parece un proyecto de software en miniatura e incluye todas las tareas necesarias para emitir un mini aumento de la funcionalidad: planificación, análisis de requisitos, diseño, codificación, pruebas y documentación. Aunque una iteración separada suele ser insuficiente para liberar una nueva versión del producto, se entiende que el proyecto de software flexible está listo para liberar al final de cada iteración. Al final de cada iteración, el comando realiza la revalorización de las prioridades de desarrollo.

Los métodos ágiles se centran en la comunicación directa para enfrentar. La mayoría de los comandos ágiles se encuentran en la misma oficina. Como mínimo, incluye ambos "clientes" (clientes que determinan el producto, también pueden ser gerentes de productos, analistas de negocios o clientes). La oficina también puede incluir titulares de pruebas, diseñadores de interfaz, escritores técnicos y gerentes.

Una de las técnicas flexibles más famosas y avanzadas es la metodología Scrum.

Melé- Metodología destinada a pequeños comandos (hasta 10 personas). Todo el proyecto se divide en iteraciones (Sprints) durante 30 días cada uno. Se seleccionan una lista de las funciones del sistema, que se planifican para implementarse durante el próximo Sprint. Las condiciones más importantes son la invariancia de las funciones seleccionadas durante la ejecución de una iteración y estricta adherencia al momento de la próxima versión, incluso si no podrá implementar toda la funcionalidad planificada. El Gerente de Desarrollo realiza reuniones diarias de 20 minutos que se denominan SCRUM, cuyo resultado es el resultado de la función del sistema implementado para el día anterior, las dificultades y el plan al día siguiente. Tales reuniones le permiten rastrear constantemente el curso del proyecto, identifique rápidamente los problemas que han surgido y responden rápidamente a ellos.

Kanban. - Metodología de desarrollo de software flexible, orientado a la tarea.

Reglas fundamentales:

Visualización del desarrollo:

o Separación del trabajo en las tareas;

o Usar marcas sobre la posición de la tarea en desarrollo;

La restricción del trabajo realizada simultáneamente en cada etapa del desarrollo;

Medición del tiempo del ciclo (tiempo promedio para realizar una tarea) y la optimización del proceso.

Las ventajas de Kanban:

Reducir el número de tareas paralelas realizadas reduce significativamente el tiempo de ejecución de cada tarea individual;

Detección rápida de las tareas problemáticas;

Cálculo del tiempo para realizar una tarea antena.

Método de desarrollo del sistema dinámico. (DSDM) apareció como resultado de un consorcio de 17 empresas de inglés. Toda la organización está involucrada en el desarrollo de beneficios para esta metodología, la organización de cursos de capacitación, programas de acreditación, etc. Además, el valor de DSDM tiene un equivalente en efectivo.

Todo comienza con estudiar la viabilidad del programa y el área de su aplicación. En el primer caso, está tratando de entender si DSDM es adecuado para este proyecto. Estudie el alcance del programa se asume en una serie corta de seminarios, donde los programadores aprenden sobre la esfera de los negocios por los cuales tienen que trabajar. También discute las principales disposiciones relativas a la arquitectura del sistema futuro y el plan del proyecto.

A continuación, el proceso se divide en tres ciclos interrelacionados: el ciclo del modelo funcional es responsable de crear documentación analítica y prototipos, el ciclo de diseño y el diseño, para llevar el sistema a las condiciones de trabajo, y finalmente, el último ciclo es el ciclo de implementación. Proporciona el despliegue del sistema de software.

Los principios básicos en los que se construye DSDM:

Interacción activa con los usuarios;

Cuestiones frecuentes de versiones;

Independencia de los desarrolladores en la toma de decisiones;

Pruebas durante todo el ciclo de trabajo.

Como la mayoría de las otras metodologías flexibles, DSDM usa iteraciones cortas, duración de dos a seis semanas cada una. Se hace especial hincapié en la alta calidad del trabajo y la adaptabilidad a los cambios en los requisitos.

Marco de soluciones de Microsoft. (MSF) - Metodología de desarrollo de software propuesta por Microsoft. MSF se basa en la experiencia práctica de Microsoft y describe los procedimientos humanos y laborales en el proceso de toma de decisiones.

Conceptos básicos y principios de los procesos de MSF:

Una sola visión del proyecto es todas las personas interesadas y simplemente los participantes en el proyecto deben representar claramente el resultado final, el objetivo del proyecto debe ser claro para todos;

Gestión de compromiso: búsqueda de compromisos entre los recursos del proyecto, el calendario del calendario y las capacidades realizables;

Flexibilidad - Preparación para cambiar las condiciones del proyecto;

La concentración en las prioridades comerciales, se centre en ese retorno y beneficio que se espera que el consumidor reciba;

Promover la comunicación gratuita dentro del proyecto;

Creación de versiones básicas: fijando el estado de cualquier artefacto del proyecto, incluido el código de software, el plan de proyectos, el manual del usuario, la configuración del servidor y los cambios que cambian efectivamente de manera efectiva, analítica de proyectos.

MSF ofrece técnicas probadas para planificar, diseñar, desarrollar e implementar soluciones de TI exitosas. Debido a su flexibilidad, escalabilidad y ausencia de instrucciones difíciles, MSF puede satisfacer las necesidades de una organización o grupo de diseño de cualquier tamaño. La metodología MSF consiste en principios, modelos y disciplinas para la gestión, procesos, elementos tecnológicos y temas relacionados relacionados con la mayoría de estos proyectos.

Solicitud de gestión del ciclo de vida (Alm) - Desarrollado y apoyado por Borland.

Programación extrema (XP) -Extrem Programación admitida por la comunidad abierta de desarrolladores independientes.



¿Te gustó el artículo? Compártelo