Ingeniería de software: desarrollo y diseño

planUML

Herramienta de código abierto, use una descripción de texto simple para dibujar el diagrama UML, dirección del sitio web oficial: https://plantuml.com/zh/

UML

Una asociación es una relación de propiedad que permite que una clase conozca las propiedades y métodos de otra clase. Una relación de agregación es una relación de asociación, una relación de asociación fuerte; la asociación y la agregación son sintácticamente indistinguibles, y las relaciones lógicas específicas deben verificarse. Sin embargo, las partes no pueden existir solas sin el todo. Una relación de composición es una relación de asociación, que es más fuerte que una relación de agregación.

Referencia de contenido: ingeniería de software

1. El modelo conceptual de UML

UML tiene un modelo conceptual completo, que proporciona un método de expresión completo e integral. Sus elementos principales incluyen: ① Los bloques de construcción ;que rigen cómo se juntan estos bloques de construcciónReglas;de UMLbásicos .

Dos, leyenda del modelo conceptual UML

inserte la descripción de la imagen aquí

3. Los componentes básicos de UML

En UML, el vocabulario se puede dividir en tres bloques de construcción, es decir, tres tipos de vocabulario o elementos básicos: cosas , relaciones y diagramas .

1. Cosas en UML

(1) Cuatro tipos de cosas en UML

Las cosas son la abstracción de los componentes más representativos del modelo y se pueden dividir en cosas estructurales , cosas de comportamiento , cosas de agrupación y cosas de anotación .

1) cosas estructurales

Por lo general, la parte estática del modelo que describe los elementos físicos del concepto. Hay cinco cosas estructurales principales:

  • Clase (class): Consistente con el concepto de clase en el enfoque orientado a objetos.
  • Interfaz (interface): Describe el conjunto de operaciones de un servicio de una clase o componente.
  • Caso de uso (use case): representa una función del sistema y es una descripción de una secuencia de acciones realizadas por el sistema que producirá un resultado valioso y observable para un participante específico (es decir, el usuario del sistema).
  • Componente (component): Describe las cosas físicas del software en el sistema.
  • Nodo (node): Es un elemento físico que existe en tiempo de ejecución y representa un recurso computacional.

2) Cosas de comportamiento

Las cosas de comportamiento incluyen principalmente: estado e interacción.

3) Agrupar cosas

Agrupar cosas incluye principalmente: paquete.

4) Anota cosas

Las cosas de anotación incluyen principalmente: anotaciones.

(2) Método gráfico de varias cosas en UML

De acuerdo con la descripción de los cuatro tipos de cosas anteriores, los diagramas de varias cosas en UML se dan a continuación.

inserte la descripción de la imagen aquí

2. Cuatro tipos de relaciones en UML

Las cuatro relaciones en UML son: Dependencia, Asociación, Generalización y Realización.

(1) Dependencia

Entre los dos elementos del modelo, uno es independiente y el otro no. Los cambios en los elementos del modelo independientes afectarán a los elementos del modelo no independientes .

Las dependencias se indican mediante líneas discontinuas con flechas.

como muestra la imagen:

inserte la descripción de la imagen aquí

(2) Asociación

Una asociación es una relación estructurada en la que se relacionan dos elementos del modelo . Las asociaciones bidireccionales están representadas por una línea sólida .

Nota: Existen múltiples grados de relaciones de asociación, principalmente: 0, 1, 0..1, 0..*, 1..*.

como muestra la imagen:

inserte la descripción de la imagen aquí

Vale la pena señalar que hay dos tipos especiales de asociaciones en asociaciones: composición y agregación .

Para tipos compuestos y agregados, agregue un símbolo de diamante .

Como se muestra abajo:

inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí

(3) Generalización

Es la relación entre lo general y lo especial , es decir, la relación de herencia . Está representado por una línea continua y un triángulo hueco .

como muestra la imagen:

inserte la descripción de la imagen aquí

(4) darse cuenta

La relación de implementación es que un elemento del modelo garantiza la ejecución de otro elemento del modelo, y esta relación se utiliza principalmente en la interfaz . representado por una línea sólida .

como muestra la imagen:

inserte la descripción de la imagen aquí

A continuación se proporciona un cuadro completo para revisar estas cuatro relaciones.

inserte la descripción de la imagen aquí

Generar diagrama de relaciones UML en IDEA

inserte la descripción de la imagen aquí

3. Gráficos en UML (cinco categorías y diez diagramas)

(1) Diagrama de caso de uso

1) Definición de diagrama de casos de uso

El diagrama de casos de uso describe las funciones del sistema desde el punto de vista del usuario y señala los operadores de cada función.

Un diagrama de casos de uso muestra varios roles o actores (actor) y las conexiones entre estos roles y los casos de uso proporcionados por el sistema. Un diagrama de casos de uso define los requisitos funcionales del sistema .

2) Composición básica del diagrama de casos de uso

  • Ejemplo;
  • Role;
  • Relaciones entre roles (si las hay, en su mayoría generalizaciones);
  • Relaciones entre roles y casos de uso (asociaciones unidireccionales o bidireccionales);
  • Casos de uso y relaciones entre casos de uso (contiene, extiende, generaliza).

3) La relación entre los elementos

incluir:

  • include (relación de inclusión), cuando dos o más casos de uso comparten el mismo conjunto de acciones, se puede extraer como un caso de uso secundario independiente para compartir entre múltiples casos de uso base.
  • Un caso de uso base no es un caso de uso completo , por lo que debe usarse junto con un caso de uso secundario para que esté completo.
  • La relación de inclusión se representa en el diagrama de casos de uso mediante una línea de puntos con una flecha (marcada en la línea <<include>>), y la flecha apunta desde el caso de uso base hasta el caso de uso secundario .

extender:

  • extender (relación extendida), la extensión del caso de uso base , el caso de uso base es un caso de uso completo , incluso sin la participación de casos de sub-uso, se puede completar una función completa.
  • Habrá un punto de extensión en el caso de uso base de extender, y solo cuando el punto de extensión esté activado , se ejecutará el caso de subuso.
  • La relación de extensión se representa en el diagrama de casos de uso mediante una línea de puntos con una flecha (marcada en la línea <<extend>>), y la flecha apunta desde el caso de uso secundario al caso de uso base .

La relación entre casos de uso secundario y casos de uso base:

(Relación de generalización) El caso de uso secundario heredará toda la estructura, el comportamiento y la relación del caso de uso principal. Es decir, cualquier lugar donde se utilice un caso de uso base puede ser reemplazado por un caso de subuso.

(Relación de generalización) Está representada por una flecha hueca en el diagrama de caso de uso , y la dirección de la flecha apunta desde el caso de uso secundario al caso de uso base .

4) Icono

inserte la descripción de la imagen aquí

(2) diagramas estáticos: diagramas de clases, diagramas de objetos, diagramas de paquetes

1) diagrama de clases

①Definición: Diagrama de clases (diagrama de clases) describe todas las clases involucradas en el sistema y la relación entre clases y clases.

② La composición básica del diagrama de clases:

  • clase (nombre de clase, propiedades y métodos);
  • Clases y relaciones entre clases (dependencias, asociaciones, generalizaciones, implementaciones).

2) Diagrama de objetos

①Definición: un diagrama de objetos es una instancia de un diagrama de clases y utiliza casi el mismo identificador que el diagrama de clases, pero existen ciertas diferencias entre los dos, como se muestra en la leyenda a continuación.

② Leyenda:

inserte la descripción de la imagen aquí

(3) Diagramas de comportamiento: diagramas de estado, diagramas de actividad

1) Diagrama de estado

①Definición: Un diagrama de estado (diagrama de gráfico de estado) describe todos los estados de un objeto involucrado en el sistema y los eventos que hacen la transición entre estados y estados.

② La composición básica del diagrama de estado:

  • estado (rectángulo redondeado);
  • El comienzo y el final del estado;
  • Eventos para transiciones entre estados;
  • Notas (a veces allí).

③Leyenda:

inserte la descripción de la imagen aquí

2) Diagrama de actividades

①Definición: Diagrama de actividad (diagrama de actividad) describe las actividades que se realizarán para cumplir con los requisitos funcionales del caso de uso y la relación de restricción entre las actividades.

② La composición básica del diagrama de actividad:

  • Actividad (tenga en cuenta que el símbolo es diferente del estado);
  • El punto de partida y el punto final de la actividad (a veces hay varios puntos finales);
  • Las actividades están conectadas por flechas;
  • Juicio (a veces hay un cuadro de borde);
  • Barras de sincronización (que indican bifurcaciones o confluencias de actividad, tanto horizontales como verticales);
  • Carriles de nado (que representan diferentes responsabilidades de una actividad).

③Leyenda:

inserte la descripción de la imagen aquí

(4) Diagrama de interacción: diagrama de secuencia, diagrama de colaboración

1) diagrama de secuencia

①Definición: El diagrama de secuencia muestra la relación cooperativa dinámica entre objetos. .

② La composición básica del diagrama de secuencia:

  • objeto;
  • Línea de vida (la línea punteada directamente debajo del objeto, que indica la existencia del objeto durante un período de tiempo);
  • Barras rectangulares estrechas (que indican que el objeto está activado, lo que indica que el objeto está realizando alguna acción);
  • Mensajes interactivos (hay una secuencia, el mensaje es en realidad el método de operación del objeto receptor);
  • Anotaciones (a veces disponibles);
  • Se puede convertir en un diagrama de colaboración.

③Leyenda:

inserte la descripción de la imagen aquí

2) Diagrama de colaboración

①Definición: El diagrama de colaboración (diagrama de calobaración) tiene la misma función que el diagrama de secuencia, reflejando una colaboración dinámica .

②La composición básica del diagrama de colaboración:

  • objeto;
  • Línea sólida (la línea de conexión entre los objetos, tenga en cuenta que no hay flecha);
  • Mensajes interactivos (hay una secuencia, el mensaje es en realidad el método de operación del objeto receptor);
  • Anotaciones (a veces disponibles);
  • Se puede convertir en un diagrama de secuencia.

③Leyenda:

inserte la descripción de la imagen aquí

(5) Diagrama de implementación: diagrama de construcción, diagrama de implementación

1) Diagrama de componentes

①Definición: Describe la estructura física de los componentes del código y las dependencias entre los componentes.

②Composición básica del diagrama de componentes: componente.

③Leyenda:

inserte la descripción de la imagen aquí

2) Diagrama de despliegue

①Definición: La arquitectura física del hardware en el sistema.

②Composición básica del diagrama de despliegue:

  • Los cubos 3D representan componentes;
  • Los nombres de los nodos se encuentran en la parte superior del cubo.

③Leyenda:

inserte la descripción de la imagen aquí

Diagrama de flujo de datos y diccionario de datos

1. Los componentes del diagrama de flujo de datos

Los elementos gráficos básicos en un diagrama de flujo de datos incluyen el flujo de datos, el procesamiento, el almacenamiento de datos y las entidades externas (fuentes o sumideros de datos). Entre ellos, el flujo de datos, el procesamiento y el almacenamiento de datos se utilizan para construir el modelo de procesamiento de datos dentro del sistema de software; las entidades externas representan objetos que existen fuera del sistema y se utilizan para ayudar a los usuarios a comprender el origen y el destino de los datos del sistema. Los elementos gráficos básicos de DFD se muestran en la siguiente figura:

inserte la descripción de la imagen aquí

**(1) Flujo de datos: **Consiste en un conjunto de datos con componentes fijos, que indican el flujo de datos. En DFD, el flujo de flujo de datos puede tener los siguientes tipos:

1) fluir de un proceso a otro;

2) Flujo desde el procesamiento hasta el almacenamiento de datos (escritura);

3) Flujo desde el almacenamiento de datos hasta el procesamiento (lectura);

4) flujo de la entidad externa al procesamiento (entrada);

5) Flujo de procesamiento a entidades externas (salida).

Cada flujo de datos en DFD está representado por un nombre bien definido. Excepto que no es necesario nombrar los flujos de datos hacia o desde un almacén de datos, cada flujo de datos debe tener un nombre apropiado que refleje el significado del flujo de datos. Vale la pena señalar que lo que se describe en DFD es flujo de datos, no flujo de control. Los flujos de datos están formados por atributos de datos concretos (también llamados estructuras de datos) u otros flujos de datos. Los flujos de datos compuestos son flujos de datos compuestos por otros flujos de datos que se utilizan para combinar flujos de datos similares en un diagrama de flujo de datos de alto nivel para que el diagrama de flujo de datos sea más fácil de leer.

**(2) Procesamiento: **Describe la transformación entre el flujo de datos de entrada y el flujo de datos de salida, es decir, después de que se procesa el flujo de datos de entrada, se convierte en el flujo de datos de salida. Cada proceso tiene un nombre y un número. El número puede reflejar en qué nivel y en qué mapa se encuentra el proceso en el DFD jerárquico, y también se puede ver que es un subproceso descompuesto de qué proceso. Hay árboles de decisión, tablas de decisión y lenguajes estructurados para describir el procesamiento. Un procesamiento puede tener múltiples flujos de datos de entrada y múltiples flujos de datos de salida, pero al menos un flujo de datos de entrada y un flujo de datos de salida.

**(3) Almacenamiento de datos: **Utilizado para almacenar datos. Por lo general, un flujo de datos que fluye hacia un proceso desaparece después de ser procesado, mientras que algunos (o todos) sus datos pueden procesarse en un flujo de datos de salida que fluye hacia otros procesos o entidades externas. Además, en los sistemas de software, a menudo es necesario guardar cierta información para su uso posterior, y el almacenamiento de datos se puede utilizar en este momento. Por ejemplo, en el sistema de procesamiento de asuntos de examen, la lista de candidatos generada durante el registro debe complementarse continuamente durante el proceso de registro, y la información relevante de la lista de candidatos también debe usarse al contar los resultados y hacer notificaciones de candidatos. Por lo tanto, una lista de candidatos puede existir como un almacén de datos para contener información de candidatos relevante. **Cada almacén de datos tiene un identificador de nombre bien definido. ** Puede haber un flujo de datos que fluya hacia el almacenamiento de datos, lo que indica la operación de escritura de datos; también puede haber un flujo de datos que fluye hacia afuera del almacenamiento de datos, lo que indica la operación de lectura de los datos; el flujo de datos de la flecha bidireccional también se puede utilizar para apuntar al almacenamiento de datos, indicando la modificación de los datos.

Lo que debe explicarse aquí es que el almacenamiento de datos en DFD puede realizarse mediante un sistema de archivos o un sistema de base de datos en la implementación real. El medio de almacenamiento para el almacenamiento de datos puede ser un disco, una cinta u otro medio de almacenamiento.

**(4) Entidad externa (fuente o sumidero de datos): **se refiere a una persona u organización que existe fuera del sistema de software, que señala el origen (fuente) de los datos requeridos por el sistema y el destino de los datos generado por el sistema (alojamiento). Por ejemplo, para un sistema de procesamiento de asuntos de examen, los examinados proporcionan el formulario de registro (flujo de datos de entrada) al sistema, por lo que los candidatos son una fuente del sistema de procesamiento de asuntos de examen; flujo) al centro de pruebas, por lo que el centro de pruebas es un sumidero para el sistema En muchos sistemas, una determinada fuente y un determinado sumidero pueden ser la misma persona u organización y, en este momento, pueden representarse con el mismo símbolo en DFD. Los candidatos proporcionan formularios de registro al sistema, y ​​el sistema envía boletos de admisión a la prueba a los candidatos. Por lo tanto, en el sistema de gestión de pruebas, los candidatos son tanto la fuente como el sumidero. La fuente y el sumidero están representados por el mismo símbolo gráfico, cuando el flujo de datos fluye desde el símbolo, significa que es la fuente; cuando el flujo de datos fluye hacia el símbolo, significa que es el sumidero; cuando ambos, significa que es tanto la fuente como el sumidero.

En segundo lugar, la estratificación del diagrama de flujo de datos.

En principio, siempre que el papel sea lo suficientemente grande, el modelo de análisis de un sistema de software se puede dibujar en una hoja de papel. Sin embargo, un sistema de software complejo puede involucrar cientos de procesos y cientos de flujos de datos, o incluso más. Si se dibujaran en un solo diagrama, sería muy complicado, no fácil de leer y no fácil de entender. Entonces, en este momento, los diagramas de flujo de datos jerárquicos generalmente se usan para modelar claramente problemas prácticos un poco más complejos.

La capa superior del gráfico de flujo de datos jerárquico tiene solo un gráfico, en el que solo hay un procesamiento, que representa todo el sistema de software. Este procesamiento describe el flujo de datos entre el sistema de software y el mundo exterior, que se denomina capa superior. grafico. El gráfico descompuesto del procesamiento (es decir, el sistema) en el gráfico de nivel superior se denomina gráfico de 0 capas y solo hay un gráfico.

El gráfico en la parte inferior del gráfico de flujo de datos en capas se denomina gráfico inferior En el gráfico inferior, todo el procesamiento ya no se descompone. Los otros gráficos en el gráfico de flujo de datos jerárquico se denominan capas intermedias, donde al menos un proceso (y posiblemente todos los procesos) se descompone en un subgráfico. En todo el conjunto de diagramas de flujo de datos jerárquicos, cualquier procesamiento que ya no se descompone en subgráficos se denomina procesamiento básico.

3. Análisis de caso de diagrama de flujo de datos

Caso 1: Sistema de gestión comercial de tienda

(1) El diagrama de flujo de datos de nivel superior de un sistema de gestión comercial de tienda es el siguiente:

inserte la descripción de la imagen aquí

El diagrama de flujo de datos anterior es solo un modelo lógico de sistema de alto nivel, que refleja las funciones que debe realizar el sistema de destino.

(2) Los pasos de dibujo del diagrama de flujo de datos del sistema de gestión son:

  • Primero determine la entrada y la salida del sistema ;
  • De acuerdo con el negocio de la tienda, dibuje un diagrama de flujo de datos de nivel superior para reflejar el flujo de procesamiento del negocio más importante ;
  • Después del análisis, las funciones principales del procesamiento comercial de la tienda deben incluir ventas , compras y contabilidad . Los puntos de origen de entrada y los puntos de destino de salida del flujo de datos principal son clientes y proveedores;
  • Luego, comience desde el extremo de entrada, dibuje cada marco de procesamiento a través del cual fluye el flujo de datos de acuerdo con el flujo de trabajo del negocio de la tienda, y dibuje gradualmente hasta el extremo de salida para obtener el diagrama de flujo de datos de la capa 0 .

(3) Dibuje los diagramas de flujo de datos de la capa 0 y la capa 1 respectivamente de acuerdo con los pasos. Los gráficos específicos son los siguientes:

  • El diagrama de flujo de datos de la capa 0 se muestra en la siguiente figura:

inserte la descripción de la imagen aquí

  • Cada elemento de procesamiento en el diagrama de flujo de datos de la capa 0 se refina para obtener el diagrama de flujo de datos de la capa 1 , que incluye tres funciones principales de ventas , adquisiciones y contabilidad . El diagrama de flujo de datos específico es el siguiente:

inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Caso 2: Sistema de gestión del estado del estudiante

(1) El diagrama de flujo de datos de nivel superior de un sistema de gestión del estado de los estudiantes es el siguiente:

inserte la descripción de la imagen aquí

(2) Los pasos de dibujo del diagrama de flujo de datos del sistema de gestión son:

  • Primero determine la entrada y la salida del sistema ;
  • De acuerdo con el negocio del sistema de gestión del estado del estudiante, dibuje un diagrama de flujo de datos de nivel superior para reflejar el flujo de procesamiento del negocio más importante ;
  • Después del análisis, de acuerdo con las funciones principales del sistema de gestión del estado del estudiante , debe haber cuatro funciones principales: registro , gestión de logros , gestión de calificaciones y gestión de recompensas . La fuente de entrada y el destino de salida del flujo de datos principal son estudiantes y profesores;
  • Luego, comenzando desde el extremo de entrada, de acuerdo con el flujo de trabajo del negocio relevante del sistema de gestión del estado del estudiante, dibuje cada marco de procesamiento a través del cual fluye el flujo de datos, y dibuje gradualmente hasta el extremo de salida para obtener el diagrama de flujo de datos del 0ª capa .

(3) Dibuje el diagrama de flujo de datos de la capa 0 de acuerdo con los pasos. Los gráficos específicos son los siguientes:

  • El diagrama de flujo de datos de la capa 0 se muestra en la siguiente figura:

inserte la descripción de la imagen aquí

Caso 3: centro de datos de gran empresa

Para gestionar y controlar de forma centralizada el acceso de los usuarios a los datos y admitir una gran cantidad de requisitos de conexión, el centro de datos de una gran empresa desea crear un software intermedio de gestión de datos . Sus funciones principales son las siguientes:

(1) Los administradores de datos pueden realizar la gestión de usuarios, la gestión de operaciones y la gestión de autoridades a través de middleware . La gestión de usuarios mantiene la información del usuario (nombre de usuario, contraseña), que se almacena en la tabla de usuarios; la gestión de operaciones mantiene las operaciones estándar de las entidades de datos y la información de su base de datos back-end, que se almacena en la tabla de operaciones; la gestión de autoridades mantiene la tabla de autoridades , que almacena información de operaciones que el usuario puede realizar.

(2) El middleware verifica la información del usuario proporcionada por la aplicación frontal. Si la verificación falla, devuelva información de usuario ilegal; si la verificación pasa, el middleware esperará a que la aplicación front-end envíe una solicitud de operación.

(3) Después de que la aplicación front-end envíe la solicitud de operación, el middleware primero verifica el formato de la solicitud . Si el formato es incorrecto , devuelve información de error de formato; si el formato es correcto , realiza verificación de permisos (verifica si el usuario tiene derecho a realizar la operación solicitada), si el usuario no tiene derecho a realizar la operación, devuelve insuficiente información de permisos; de lo contrario, realice la administración de la conexión .

(4) La administración de conexiones se conecta a la base de datos de back-end correspondiente y envía la operación. La administración de conexiones primero verifica si hay una conexión de base de datos inactiva; de lo contrario, crea una nueva conexión ; si existe, reutiliza la conexión .

(5) La base de datos de back-end realiza operaciones y transmite los resultados al middleware, y el middleware procesa los resultados de la operación recibidos y los devuelve a la aplicación front-end.

Ahora use el método estructurado para analizar y diseñar el sistema, y ​​obtenga el diagrama de flujo de datos de nivel superior y el diagrama de flujo de datos de nivel 0 como se muestra en la siguiente figura .

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Responde las siguientes preguntas:

  1. ¿A qué tres entidades se refieren E1, E2 y E3? E1: aplicación front-end; E2: capa de gestión de datos; E3: base de datos back-end.
  2. ¿A qué tres almacenes de datos se refieren D1, D2 y D3? D1: tabla de usuarios; D2: tabla de operaciones; D3: tabla de permisos.
  3. ¿A qué se refiere el procesamiento P? Y señale los dos flujos de datos que faltan en el gráfico de flujo de datos de 0 capas, incluido el punto de inicio, el punto final y el nombre del flujo de datos del flujo de datos. El procesamiento p representa el middleware de gestión de datos . Los dos datos perdidos en el diagrama de flujo de datos de capa 0 se muestran en 4 y 5.
  4. ¿Cuáles son el punto de inicio, el punto final y el nombre del flujo de datos perdidos 1? →El punto de partida es P , el punto final es E , y el nombre es el resultado de la operación después del procesamiento .
  5. ¿Cuáles son el punto de inicio, el punto final y el nombre del flujo de datos perdido 2. →El punto inicial es E3 , el punto final es P , y el nombre es el resultado de la operación .

4. Análisis de casos del diccionario de datos

Caso 1: Sistema de gestión del estado del estudiante

A continuación se muestra el diagrama de flujo de datos de la capa 0 de un sistema de gestión del estado de los estudiantes.

inserte la descripción de la imagen aquí

**Pregunta: **De acuerdo con el diagrama de flujo de datos de la capa 0 anterior, escriba las cinco entradas del sistema de gestión del estado del estudiante.

Respuesta:

Elemento 1: Flujo de datos

inserte la descripción de la imagen aquí

Ítem ​​2: Elementos de datos

inserte la descripción de la imagen aquí

Punto tres: almacenamiento de datos

inserte la descripción de la imagen aquí

Punto cuatro: procesamiento de datos

inserte la descripción de la imagen aquí

Artículo cinco: artículos externos

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/HXBest/article/details/129642797
Recomendado
Clasificación