Sistema de soporte de mantenimiento de desarrollo de software
Descripción general
 En el sistema descentralizado de control de información de software de sistema de mantenimiento de desarrollo de soporte, el medio de mantenimiento de la consistencia cuando se reemplaza una pluralidad de programas con la versión búsqueda de medios y especificaciones comunes para un programa común para ser distribuidos colectivamente a varias máquinas parcialmente Y se caracteriza porque se proporciona. ] En el sistema de soporte de mantenimiento de desarrollo de software del sistema de control de información descentralizado, es posible administrar centralmente los programas en una máquina y realizar el mantenimiento remoto en el que los programas se distribuyen y reemplazan a la vez.
Campo técnico
La presente invención se refiere a un sistema de soporte de mantenimiento de desarrollo de software, y en particular a un sistema de soporte de mantenimiento de desarrollo de software en un sistema de control de información descentralizado.
Antecedentes de la técnica
Junto con la creación de redes de computadoras, la descentralización está progresando rápidamente incluso en sistemas de control de información. Además, con la difusión de la tecnología de red de ultra alta velocidad, el entorno de desarrollo se ha diversificado cada vez más.
Tarea de solución
Debido a esta descentralización, surgen nuevos desafíos en el mantenimiento del desarrollo de software, como la dificultad de las pruebas de diseño de los sistemas distribuidos y la complicación de la gestión dinámica del proyecto de especificación de diseño.
Lo anterior con el fin de responder a estos retos, suave CAD / CAM / CAT convencional de la (Computer Aided Testing) apoyan constantemente el sistema para mejorar la expansión 'el soporte de mantenimiento de desarrollo correspondiente a los sistemas distribuidos', 'desarrollo cooperativo multijugador en un entorno de desarrollo distribuido 'Sistema de soporte de desarrollo de software para sistema de control de información' dirigido a 'soporte'.
Como resultado, el desarrollo y mantenimiento del sistema distribuido se puede realizar de manera más eficiente y se puede realizar un desarrollo de software de control de la información de alta calidad.
En los últimos sistemas de control de la información, las arquitecturas distribuidas, en las que se conectan una pluralidad de dispositivos de procesamiento en una red, se han adoptado ampliamente debido a las demandas de alta fiabilidad, respuesta rápida y extensibilidad flexible. En el sistema distribuido, se requiere mantenimiento de diseño desde un punto de vista diferente del convencional que consiste en una sola máquina. Para comprender la función de todo el sistema distribuido, se requiere recientemente un punto de vista general de cooperación cooperativa entre máquinas distribuidas, tales como aparatos de transmisión de aparatos de procesamiento.
Mientras tanto, junto con la sofisticación y la complejidad del sistema, los proyectos de desarrollo también se están convirtiendo en escalas más grandes, y se está volviendo inevitable desarrollar desarrollos multijugador diversificados. En un entorno de desarrollo de este tipo, el trabajo puede avanzar mientras los recursos (personas, equipos) y los productos de trabajo (especificaciones, programas) están relacionados entre sí. Por esa razón, la necesidad de compartir y comunicar información sobre recursos de desarrollo y entregas de manera más eficiente dentro del proyecto va en aumento.
Solución
La presente invención proporciona un sistema de soporte de mantenimiento de desarrollo de software de la información distribuida la integridad del sistema de control cuando la sustitución de una pluralidad de programas con medios versión a juego y especificaciones comunes para un programa común para ser distribuidos colectivamente a varias máquinas parcialmente Y se proporciona un medio para mantener el objeto.
Como tiene medios para unir las versiones del programa común a la pluralidad de máquinas a granel y medios para mantener la integridad cuando se reemplaza parcialmente una pluralidad de programas que tienen especificaciones comunes, todos los programas están unificados por una máquina Y se puede realizar el mantenimiento remoto que distribuye y distribuye programas a la vez.
Esta sección describe la idea básica del soporte de mantenimiento de desarrollo de software correspondiente a la 'descentralización del sistema' y la 'descentralización del desarrollo', y el esquema del sistema de soporte.
Primero, el sistema de idea y herramienta de soporte de mantenimiento de desarrollo de software correspondiente a la descentralización se muestra en la Fig.
Además, la Figura 1 muestra el problema del desarrollo de software y su solución que acompaña a la descentralización del sistema y la descentralización del desarrollo.
Los problemas asociados con la descentralización de los sistemas y sus soluciones son los siguientes.
Una ventaja de los sistemas distribuidos, tales como 'monitor mutuamente mutuamente procesamiento entre la máquina de dispersión, anormalidad puede cambiar el procesamiento de compartir el' 'dividiendo las funciones puede cargar distribución entre máquinas distribuidas' para disfrutar tal, en comparación con el sistema central Cómo superar el problema de que 'los temas de desarrollo se vuelven complicados' en cada etapa del desarrollo del sistema es la clave.
(1) Desafíos en el diseño y fabricación del sistema
Las tareas automatizadas por sistemas distribuidos se realizan vinculando funciones en máquinas distribuidas. Para que el lado del desarrollo refleje de manera confiable la solicitud de trabajo del cliente sobre la función del sistema, es necesario que ambas partes capturen la función desde un punto de vista común.
Para comprender la función del sistema distribuido, la función de relación entre la máquina (a) dispersar, para definir claramente la puesta en común de procesamiento en la distribución y la máquina de dispersión de ambos lados de un detalle de (b) funciones, al módulo de software Es esencial.
Además, para asegurar una alta calidad de diseño, es indispensable aclarar la condición de referencia en el método de procesamiento y la especificación de la interfaz a considerar en las primeras etapas de diseño para reflejar la solicitud del cliente.
Hemos posicionado estas tareas de diseño como 'diseño de estructura blanda' y decidimos apoyarlas en función de los siguientes conceptos.
(a) Poder definir la conexión entre funciones visualmente en el diagrama de conexión de la máquina distribuida a través de la red.
(b) Es posible definir el flujo de datos de procesamiento del módulo de software incluido en la función y el alcance de división funcional en una cierta notación que puede interpretar el mismo independientemente de quién lo vea.
Con este soporte, el cliente puede expresar con precisión los requisitos para el sistema, y ​​para el lado del desarrollo, es posible obtener un punto de partida para desarrollar el trabajo de diseño en respuesta a la solicitud.
(2) Problemas de prueba y depuración del sistema
Tradicionalmente, se ha utilizado un simulador que simula el comportamiento dinámico de una planta controlada para probar el sistema, y ​​ha sido eficaz. En la etapa de depuración, es efectivo registrar el historial de procesamiento del programa y averiguar qué parte del programa es el problema.
En el sistema distribuido, a menudo se utiliza la invocación del programa a través de una red y el intercambio de datos a través de bases de datos distribuidas. En este caso, fue necesario comprender el estado de la cooperación del programa entre las máquinas distribuidas al mismo tiempo que se hacía coincidir el historial de procesamiento registrado para cada máquina.
Como solución, registramos el estado de procesamiento de configuración de datos de varias máquinas al mismo tiempo de una manera coherente, y las enumeró en orden cronológico para admitir la 'depuración del rendimiento funcional del sistema distribuido'.
Este apoyo puede ser utilizado también para monitorizar el estado del sistema funcionamiento del lado del cliente, la anomalía de la carga de la red, es posible entender el deterioro del rendimiento debido a una gran cantidad de procesamiento de datos.
(3) Problemas en el mantenimiento de la construcción del sistema
En el sistema distribuido, es importante prestar atención a lo siguiente al construir el sistema para instalar inicialmente el programa o al modificar los cambios para el mantenimiento.
(a) Versiones coincidentes de programas comunes que se distribuirán por lotes a varias máquinas.
(b) Mantener consistencia al reemplazar parcialmente programas múltiples con especificaciones comunes.
En este caso, se necesita mucho trabajo para distribuir el programa, reemplazar el programa sin errores, juzgar la coherencia y verificar el estado de distribución del programa.
Como solución, decidimos apoyar la 'administración de distribución de mantenimiento remoto' que administra centralmente todos los programas en una máquina y distribuye y distribuye programas en conjunto.
Este soporte permite el reemplazo de la distribución del programa solo operando el mouse en la pantalla de visualización de la lista, para que el cliente pueda construir y mantener fácilmente el sistema.
A continuación, se describen los problemas asociados con la descentralización del desarrollo y el enfoque de la solución.
(1) Desafíos del diseño del sistema
Al desarrollar una pluralidad de funciones de forma distribuida, es indispensable compartir los últimos resultados de diseño entre muchos desarrolladores. Sin embargo, es difícil mantener la coherencia entre la información de diseño en cada punto de distribución en todo momento.
Como solución, decidimos apoyar la 'administración unificada de las especificaciones del software' que agrega los últimos resultados de diseño en una máquina y la refleja automáticamente en la información de la especificación.
(2) Creación de programa, problemas de prueba
En la creación y prueba del programa, usamos diferentes medios (teléfono, verbal, memo, etc.) fuera del entorno de uso de la herramienta para solicitar la información necesaria para el trabajo y la notificación de los resultados del trabajo. Existe un límite en la prevención de fugas y errores en la forma de comunicación, como la 'solicitud' de trabajo de prueba a través de la operación manual y la 'notificación' del resultado de la depuración.
Como solución, decidimos apoyar el 'diseño de caso de prueba' que gestiona centralmente la situación de prueba y permite que el resultado de la prueba de caso de prueba se comparta entre el personal en cada punto de distribución.
(3) Problemas de gestión del proyecto
Los gerentes de proyecto deben comunicar las tareas y los objetivos de calidad en cada proceso a todos los miembros del proyecto y comprender el estado del progreso y el estado de producción de cada trabajo en todos los procesos. Sin embargo, es difícil comprender la situación actual y gestionar con precisión la situación en cada rincón del proyecto solo por el método, como 'instrucciones', 'informes', etc. a través del trabajo manual. La información relacionada con la gestión del proyecto que se produjo dentro del entorno de uso de la herramienta de diseño debe enviarse al destinatario del administrador o a los trabajadores relacionados y debe reflejarse en la herramienta de diseño de gestión de la otra parte sin error .
Como solución, presentaremos una 'plataforma de control de flujo de información' que amplía la forma de uso del correo electrónico, que se ha posicionado como intercambio de información entre personas y personas, y facilita agregar una función de correo a las herramientas de soporte Yo decidí
A continuación, se describirá el sistema de herramientas.
El sistema de herramientas proporcionado en la presente invención para el problema mencionado anteriormente que acompaña a la 'descentralización' se muestra en la FIG. Esto es, suave CAD / CAM / CAT sistema de apoyo consistente 'Resolve I' convencional 'Hayashi, fuera de:. De alta calidad de los procesos de desarrollo de software para el sistema de control por ordenador, el Instituto de Ingenieros Eléctricos Diario C, 114 Vol, No. 6, 645 653, (6 6), Takahashi, afuera: Resolución I para desarrollo de software y sistema de soporte de mantenimiento para sistemas de control de información, Hitachi Review, 73, 8, 795 800 (P.38) 'para responder a' Distribuido ' La nueva función es introducida y fortalecida.
En cada sistema de soporte de construcción hombre-máquina, soporte de prueba y soporte de análisis de fallas heredado de Resolve I, la idea de soporte correspondiente al sistema centralizado puede aplicarse directamente a máquinas distribuidas.
A partir de aquí, describiremos el sistema de soporte que respalda la descentralización del sistema.
Para capturar la entidad de un sistema distribuido, es necesaria una herramienta que exprese sus elementos constitutivos en una forma directamente visible. Además, para la gestión de distribución de programas estáticos en máquinas distribuidas y la supervisión de su estado de procesamiento dinámico, se requieren herramientas que puedan listar información en un formato tabular y especificarlas colectivamente.
Primero, el sistema de soporte de diseño de estructura de software realiza 'soporte basado en GUI (interfaz gráfica de usuario)' en forma de diagrama de bloques, 'soporte de guía de diseño' que presenta los elementos que deben considerarse en los puntos clave del diseño.
La parte básica de este sistema de soporte es una función de edición gráfica que respeta la forma de diseño que se establece de acuerdo con el campo del producto y es fácil redefinir los símbolos de notación adaptados a diversas técnicas de diseño.
Usando este sistema de soporte de diseño de estructura de software, como se muestra en la figura 3, la estructura funcional puede ser jerarquizada, y las funciones detalladas llevadas por recursos distribuidos se pueden definir gráficamente.
Como resultado, el cliente puede expresar con precisión las especificaciones de los requisitos para el sistema y es fácil comunicarse con el desarrollador.
A continuación, se explicará el sistema de soporte de depuración del rendimiento funcional del sistema distribuido.
Desarrollamos una herramienta que respalda eficazmente la recopilación de información de análisis de un sistema compuesto por varias máquinas. Su característica es que el flujo de procesamiento cooperativo de máquinas distribuidas se puede rastrear con una resolución de milisegundos.
Por ejemplo, (1) si el procesamiento en el estado de espera no deteriora el rendimiento, (2) a la memoria individual de una pluralidad de procesamientos ¿Hay algún conflicto de acceso?
Puede ser agarrado Como resultado, incluso en el lado del cliente, la monitorización del deterioro del rendimiento y similares es fácil (véase la figura 4).
Describa el sistema de soporte de administración de distribución de mantenimiento remoto.
El sistema de soporte de gestión de la distribución de mantenimiento remoto gestiona el estado correspondiente de los programas entre máquinas al recopilar la información de configuración registrada para cada programa. En la máquina de gestión de mantenimiento del sitio remoto, (1) el estado de registro de la distribución del programa de configuración de la computadora en el sistema distribuido se puede visualizar visualmente, y (2) el programa especificado se puede distribuir y registrar con un solo toque.
Los administradores del programa a la advertencia de software que aparece en la pantalla cuando la inconsistencia en la distribución se produce la situación, ya que sólo tiene que dar instrucciones al volver a registrar la redistribución con un solo toque, la coherencia entre el programa fácilmente la máquina se puede mantener (Ver figura 5). En la pantalla mostrada en la figura 5, es posible captar el estado de registro del programa y el estado correspondiente de la versión en una lista, y las partes desventajosas se pueden resolver con un solo toque.
A partir de aquí, describiremos el sistema de soporte que respalda el desarrollo descentralizado.
El manejo unificado de las especificaciones del software requiere un mecanismo para mantener la coherencia de la estructura funcional del software y la relación jerárquica al recopilar los programas de especificación individuales divididos y desarrollados para el desarrollo distribuido como un solo sistema.
Mientras tanto, para resolver el problema de la comunicación entre desarrolladores, es necesario comprender esto en el punto donde se produjo la información y distribuirla dentro del entorno de desarrollo.
Explicar el soporte unificado de gestión de las especificaciones del software.
(1) Diseño del programa y sistema de soporte de producción
El sistema de soporte de creación de diseño de programa admite el diseño y la producción de programas de alta calidad y descendente utilizando especificaciones de módulos de formato de gráficos estandarizados y PAD (Diagrama de análisis de problemas).
El sistema de soporte de creación de diseño de programa adopta el concepto de 'paquete' como una unidad para gestionar colectivamente una pluralidad de módulos de software. Se puede definir un paquete tanto desde la unidad de función del sistema como desde la unidad de compartición de tareas (ver figura 6). Al utilizar la función de control de versiones del paquete, al concatenar una pluralidad de paquetes distribuidos y desarrollados en multiplicidad, es posible administrar 'quién desarrolló el programa y cuál es la versión'. Esto facilita la administración de la configuración del software distribuido como un todo. Además, la información de gestión de versiones se utiliza como información de seguimiento después de la creación del programa, lo que facilita el seguimiento de la dispersión de cambios.
(2) Sistema de soporte de diseño de caso de prueba
Consolide la situación en el caso (situación de prueba, número de pruebas, etc.) como resultado de llevar a cabo el diseño del caso de prueba y la ejecución de la prueba por separado y consolídelo. Antes de la prueba de combinación entre las funciones, es posible captar la situación de prueba ejecutada en el punto distribuido para cada función, para evitar la fuga por la función única y para mejorar la calidad de la prueba.
Para cada caso de prueba, la información de entrada para cada función y su condición de combinación se agregan en una matriz, y el diseño de la caja de prueba se vuelve posible (véase la figura 7). El nombre de la información de entrada / salida y la condición de prueba se mantienen consistentemente en la base de datos, y se gestionan y gestionan de acuerdo con la estructura del software creada por el diseño del programa y el sistema de soporte de producción. Esto hace que sea fácil heredar los datos de prueba para el módulo dentro del paquete refiriéndose al caso de prueba para el paquete.
Explicar la plataforma de control de flujo de información.
Al establecer una plataforma de comunicación para mediar el intercambio de información con cada herramienta, se realiza el intercambio de información entre personas y herramientas, herramientas y herramientas. Además, en el momento en que se produce la información a enviar, el emisor de la información puede transmitirse inmediatamente sin depender del estado operativo del sistema de soporte del lado de recepción (véase la figura 8).
Al aplicar esta plataforma y realizar operaciones cooperativas entre varias herramientas de soporte, es posible mantener consistentemente la coherencia entre la información de diseño dispersa en muchas personas, y comprender el estado del progreso de los proyectos de manera oportuna y precisa. Puede ser realizado. Por lo tanto, es posible evitar problemas tales como retrasos en el proceso de desarrollo y la aparición de problemas de calidad.
Aquí, describimos el sistema de soporte que es efectivo para resolver los problemas de mantenimiento del desarrollo de software relacionados con la descentralización del sistema y la diversificación del desarrollo.
El sistema de soporte descrito aquí se ha aplicado al desarrollo de sistemas en varios campos de control de la información, contribuyendo a mejorar la eficiencia del desarrollo y la garantía de calidad.
En el futuro, planeamos desarrollar aún más la tecnología de producción de software con el objetivo de mejorar aún más la calidad de la productividad del software del sistema de control de la información.
Efecto de la invención
Según la presente invención, en el sistema de soporte de mantenimiento de desarrollo de software del sistema de control de información descentralizado, es posible realizar un mantenimiento remoto en el que los programas son gestionados centralmente por una máquina y distribuidos e intercambiados a la vez en un programa.
La Figura 1 es un diagrama para explicar una política de solución para el problema de la descentralización.
La Figura 2 muestra el sistema de herramientas CASE para el sistema de administración de información distribuida.
La figura 3 muestra una pantalla de visualización del sistema de soporte de diseño de estructura de software.
La figura 4 es un diagrama que muestra la visualización en pantalla del resultado de seguimiento del rendimiento funcional del sistema distribuido.
La figura 5 es una vista que muestra una visualización en pantalla del sistema de soporte de gestión de distribución de mantenimiento remoto.
La figura 6 muestra una pantalla del sistema de soporte de creación de diseño de programa.
La figura 7 muestra una pantalla de visualización del sistema de soporte de diseño de la caja de prueba.
La figura 8 es un diagrama que muestra el funcionamiento de la plataforma de comunicación.
La figura 9 es un diagrama que muestra una configuración de un ejemplo de un sistema de soporte de mantenimiento de desarrollo de software.
Reclamo
Reivindicación 1 Sistema de soporte de mantenimiento de desarrollo de software para un sistema de control de información distribuido, que comprende medios para unir por lotes versiones de un programa común a una pluralidad de máquinas y medios de coherencia para reemplazar parcialmente una pluralidad de programas que tienen especificaciones comunes Un sistema de soporte de mantenimiento y desarrollo de software que se caracteriza porque se proporcionan medios de mantenimiento.
Dibujo :
Application number :1997-016391
Inventors :株式会社日立製作所
Original Assignee :和田裕、岡部幸弘、高橋勇喜、大脇隆志