ANÁLISIS ESTRUCTURADO – INGENIERÍA DEL SOFTWARE

 

1.- EL CLIENTE
2.- ANÁLISIS DE REQUISITOS
3.- DIAGRAMA DE FLUJO DE DATOS
4.- DIAGRAMA DE ENTIDAD RELACIÓN
5.- DICCIONARIO DE DATOS

1.- EL CLIENTE

Nuestro supuesto cliente es una cooperativa de viviendas de Madrid. La cooperativa desea adquirir un sistema de gestión que facilite la comunicación de diversa información entre los propietarios de cada parcela, la junta rectora y la gestoría encargada de la contabilidad.

 

La aplicación deberá:

 

  • Recoger tanto los gastos que genere cada propietario como los gastos de la cooperativa y enviárselos a la gestoría que lleva la contabilidad, ésta se encargará del mantenimiento de dichos datos pero serán accesibles por el sistema.

 

  • Recoger las incidencias que genere cada propietario así como las de la propia cooperativa (averías, seguridad, etc.), elaborar un parte de incidencias semanal y enviárselo a cada propietario.

 

  • Solventar el problema de la elaboración de un orden del día para las asambleas permitiendo que la junta rectora envíe un borrador del orden del día a cada propietario y que éstos a su vez puedan proponer puntos para incluirlos en dicho orden del día. Será el propio sistema el qué elaborará el orden del día definitivo de acuerdo a ciertas reglas pendientes de especificar.

 

  • Permitir el envío de cualquier documento previa aceptación de los contenidos por parte de la junta rectora.

 

 

Nota: la junta rectora quiere almacenar toda la información referente a documentos y asambleas que circule por el sistema y hacerla accesible a todos los propietarios.

 

 

2.- ANÁLISIS DE REQUISITOS

 

A partir de los requisitos que nos ha proporcionado el cliente elaboraremos una especificación formal de requisitos del sistema. Para ello, identificaremos la estructura de la funcional del sistema requerido descomponiéndola en subprocesos y entidades.

 

 

 

Del análisis de los requisitos de nuestro cliente sacamos que los terminadores del sistema a desarrollar son la junta rectora, los propietarios y la cooperativa así como de una base de datos externa con datos contables.

 

El sistema lo podemos dividir en tres subsistemas principales que se encargarán de gestionar los gastos, de gestionar las incidencias y de gestionar la documentación. Este último subsistema lo podemos dividir a su vez en dos, puesto que con la documentación referente a puntes del día de asambleas habrá que generar un orden del día definitivo y mantener toda esa información almacenada y con respecto a los documentos habrá que gestionar el almacenamiento y la aceptación por parte de la junta rectora de los mismos.

 

Antes de realizar el DFD haremos un análisis de los flujos generales de entrada y salida del sistema:

 

ENTRADA

SALIDA

FLUJO

PROCEDENCIA

FLUJO

PROCEDENCIA

Gastos

Propietario

Gastos

Propietario

Gastos

Cooperativa

Gastos

Cooperativa

Documentos

Propietario

Documentos

Propietario

Documentos

Junta rectora

Documentos

Junta rectora

Orden Día

Propietario

Orden Día

Propietario

Asamblea

Junta rectora

Asamblea

Junta rectora

F_Incidencia_Coop

Cooperativa

F_Parte_Incidencias

Propietario

F_Incidencia_Prop

Propietario

F_Datos_Contables

Gestoría (BBDD)

F_Datos_Contables

Gestoría (BBDD)

 

 

 

* los flujos en negrita son grupos de flujos de datos, el departamento de desarrollo es consciente de este hecho y tendrá especial cuidado en mantener la consistencia entre los distintos niveles de explosión.

3. DIAGRAMA DE FLUJO DE DATOS

Hecho este análisis de requisitos el siguiente paso es elaborar los diagramas de flujo de datos del sistema detallando, desde el nivel de abstracción propio de la fase de análisis, las entidades, flujos de información y procesos del sistema.

3.1 DIAGRAMA DE CONTEXTO (Nivel 0)

dfd0.png

3.2 PRIMER NIVEL DE EXPLOSIÓN

dfd1.png

3.3 SEGUNDO NIVEL DE EXPLOSIÓN

dfd2.png

4.- DIAGRAMA DE ENTIDAD RELACIÓN

der.png

5.- DICCIONARIO DE DATOS

  • Cooperativa= @nombre + { JuntaRectora } + { Parcela }
  • JuntaRectora = @periodo + { Propietario }
  • Propietario = @dni+nombreApellidos + { Parcela }
  • Parcela= @numParcela + Dirección +Metros
  • Incidencia = @ codInc + Descripción
  • Documento = @numDoc +Fecha +Tema + Titulo + Autor
  • IncidenciaPropietario = @numParcela + @codInc + Fecha +

+ Incidencia

  • IncidenciaCooperativa = @codInc + Fecha + Incidencia
  • ParteIncidencias = @numParte +
    + {[ IncidenciaPropietario | IncidenciaCooperativa ]}
  • DocumentoPropietario = @codProp | + Documento
  • DocumentoJR = @periodo + Documento
  • Punto_OD = @numPOD + Descripción
  • OrdenDia = @CodOD + { Punto_OD }

Almacenes:

  • HistóricoAsambleas = @ NumAsamblea + @CodOD + Fecha
  • HistóricoDocumentos = @ Título + Autor + @dni + Fecha

Escribe un comentario