Sunteți pe pagina 1din 22

1

ESTÁNDARES DE CALIDAD

A la hora de desarrollar un software se requiere que los analistas, diseñadores y


desarrolladores apliquen características y elementos de calidad para que se logren productos
a las necesidades del usuario, estas necesidades se comienzan a encontrar un camino de
solución a través de la aplicación de elementos de calidad, así se presentan dos de los más
valiosos como son la eficiencia y la eficacia

Por tal motivo la ingeniería del software pretende utilizar los recursos computacionales
de tal manera que se produzcan soluciones eficientes y eficaces a los problemas informáticos,
el éxito de un proyecto involucra elementos como la planeación, la administración y la
utilización de metodologías de desarrollo de software.

A través del uso de una metodología se busca lograr el acople de los participantes y la
garantía de una determinada calidad. Debe notarse que las metodologías de desarrollo de
software sólo constituyen uno de los mecanismos que actualmente se utilizan para alcanzar
software de calidad; no debemos dejar de lado aspectos de la dirección de proyectos que
también buscan calidad en el proceso de desarrollo y en el producto final.

ASPECTOS BÁSICOS DE CALIDAD DE SOFTWARE

SEGÚN:

ROBERT DUNN presenta la calidad en el software tomando dos puntos de vista: la


calidad en el proceso de desarrollo y la calidad en el producto final, estos dos grupos
2

principales los agrupa en los siguiente aspectos de calidad: confiabilidad, utilizabilidad,


mantenibilidad, y adaptabilidad.

ROGER PRESSMAN describe similares factores de calidad agrupados en tres grupos:


calidad en operación, calidad en revisión y calidad en transición.

OPINIÓN PERSONAL “ESTÁNDARES DE CALIDAD”

Respecto al desarrollo del software considero que como principal estándares de la


calidad basado a las características dadas por los autores ya nombrado, sería un software de
fácil distribución, portabilidad, confiable y eficaz, ya que la confianza que el usuario pueda
observar a la hora de usarlos, la facilidad de uso, rapidez y de agradable interfaces suelen ser
uno de los factores importantes que puede tener dicho programa. También hay que nombrar la
ausencia de errores que presente un programa y una buena documentación que le permita el
usuario interpretar de manera fácil y rápida a la hora de entender las funciones que pueda
ofrecer determinado software.

Todo esto puede ser llevado acabo de una buena planificación, compromiso para así
alcanzar los objetivos que se adapte a las necesidades del usuario, cabe destacar que dicho
proyecto logrará el éxito mientras le sea aplicada su respectiva metodología a determinado
programa.

FORMAS DE TRAZABILIZAR UN ALGORITMO

La traza de algoritmo se puede definir como la ejecución manual de forma secuencial de


las sentencias que lo componen. Así, la traza del siguiente algoritmo es el valor que van
adoptando las variables a medida que se va ejecutando un programa.
3

TÉCNICAS DE ESCRITURA Y PRUEBAS DE ALGORITMOS Y PROGRAMAS

Técnicas y Escrituras:

Para las representaciones de un algoritmo, antes de ser convertido a lenguaje de


programación, se utilizan algunos métodos de representación escrito, grafico o matemática. El
lenguaje natural puede no ser suficientemente preciso, permitiendo las ambigüedades,
obteniendo una descripción del todo satisfactoria, las formulas propias del lenguaje
matemático, son un buen sistema de representación pero no solo suelen ser fáciles de
convertir en el programa. Los métodos más conocidos son:

DIAGRAMA LIBRE (DIAGRAMA DE FLUJO): Es quizás la forma de representación


más antigua. Algunos autores suelen llamarlos también como diagramas de lógica o flujo
gramas.

DIAGRAMAS NASSI-SCHNEIDERMAN O CHAPIN: También conocido como


diagramas de chapin, corresponde a uno de los tipos de diagramación estructurada. Las
acciones se describen en rectángulos o cajas sucesivas. Se pueden escribir diferente
acciones de caja.
4

PSEUDOCÓDIGO: Es la técnica que permite expresar la solución de un problema


mediante un algoritmo escrito en palabras normales de un idioma (por ejemplo, el español),
utilizando palabras imperativas. Es común encontrar en pseudocódigo palabras como: inicie,
lea, imprima, sume, divida, calcule, finalice. No hay un léxico obligado para el pseudocódigo,
pero con el uso frecuente se han establecido algunos estándares.

DATO

Puede significar un número, una letra, un signo ortográfico o cualquier símbolo que
represente una cantidad, una medida, una palabra o una descripción. La importancia de los
datos está en su capacidad de asociarse dentro de un contexto para convertirse en
información. Es decir, por si mismos los datos no tienen capacidad de comunicar un
significado y por tanto no pueden afectar el comportamiento de quien los recibe.

Tipos de Datos

Como se describió anteriormente, un dato es un campo que puede convertirse en


información.
Existen datos simples (sin estructura) y compuestos (estructurados).
Los datos simples son los siguientes:
 Numéricos (Reales, Enteros)
 Lógicos
 Carácter (Char, String)
Los tipos de datos simples son:
5

Tipo de datos Características Ejemplos


Numéricos
Enteros Los números enteros son los números naturales 1
positivos y negativos que conocemos. 2
25
146
-456

Numéricos Los números reales, son los números que


Reales tienen parte decimal. 0.56
1.00
25.13
148.45
-456.23

Lógicos o Son aquellos datos cuyos únicos valores sólo Nacionalidad =


boléanos pueden ser: Verdadero (V) o Falso (F), puede “Venezolano”
encontrarse, Verdadero (True) o Falso (False). (S/N)?
Se utiliza para representar las opciones (si/no)
a determinadas condiciones.

Carácter o Char Su valor lo comprenden todos los caracteres


alfabéticos, mayúsculas y minúsculas (A – Z),
numéricos (0 – 9) y símbolos especiales
(#,@,%,&).

“Abril”
Carácter String Su valor está representado por un conjunto de “Reporte Anual de
o cadena caracteres. Fa-llas Técnicas”
6

“1º de mayo, Día del


Trabajador”

Operadores Significado Ejemplo Interpretación El

+ Sumar Si A =10 y B = 13 Resultado es: 23

- Restar A-B -3

* Multiplicar A*B 130

** Exponenciación A ** B 100.000.000.000.000

/ División A/B 0,76

A los operadores aritméticos podemos darles características de


autoincremento (++) y autodecremento (--). El operador de incremento o decremento
puede ir delante o detrás de la variable, teniendo diferente significado. Si el operador ++
se coloca después de la variable se denomina postincremento, haciendo que primero se
tome el valor y después se incremente la variable.
Operadores Relacionales

Operadores Significado Ejemplo Interpretación

El Resultado es:
> Mayor que Si A =10 y B = 13 A > B
FALSO

< Menor que A<B VERDADERO


>= Mayor igual A> = B FALSO

<= Menor igual A <= B VERDADERO

= Igual A=B FALSO

<> Diferente A <> B VERDADERO


7
8

Información

Es la representación racional de los datos, es decir, es la interconexión de los


símbolos de manera racional y ordenada que conectados como una cadena, se convierte
en información, que tiene un significado para quien solicita o los procesa y que están a la
disposición, otro seria, como un conjunto de datos significativos y pertinentes que
describen sucesos o entidades.

Diferencia entre Datos e Información

En resumen, como diferencia se puede decir que Dato es la representación


simbólica sin un significado preciso un símbolo sin tratar, mientras que la información es
una cadena de símbolos interconectados que representan un mensaje con un contenido
determinado emitido por una persona hacia otra, o de un centro de datos hacia el
solicitante, la información es, entonces, conocimiento basado en los datos a los cuales,
mediante un procesamiento, se les ha dado significado, propósito y utilidad.
Dato e información son dos términos que suelen confundirse. Se consideran datos a
toda entrada de información a una computadora. Estos datos pueden ser administrativos,
científicos, comerciales, personales, médicos, industriales, direcciones, etc. son elementos
primitivos, de los cuales a través del procesamiento se obtiene la información.

Identificadores

Son los nombres que reciben las variables y algunas constantes, suelen constar de
varios caracteres alfanuméricos, de los cuales el primero suele ser una letra.

Constante

Es un dato que permanece con un valor, sin cambios, es decir constante, a lo largo
del desarrollo del algoritmo o a lo largo de la ejecución del programa.

Se utiliza cuando necesitamos que el valor de determinada variable se mantenga


durante la ejecución del programa o hasta tanto se requiera su cambio.

Variable

Es un dato cuyo valor puede variar a lo largo del desarrollo del algoritmo o en el
transcurso de la ejecución del programa.

Una variable descrita o declarada de un tipo determinado, sólo podrá contener,


valores de ese tipo.
Una variable declarada numérica entera, no podrá contener números reales.
9

Se utiliza cuando el dato que contiene sufrirá cambios o variará en la medida que
cambien los valores que maneje.

Expresiones Lógicas

Las expresiones lógicas se utilizan en los programas cuando se requiere conocer o


evaluar si los valores de variables o constantes determinadas cumplen con ciertas
condiciones.

De cumplirse o no, permiten un conjunto de instrucciones que pueden o no


ejecutarse. Una expresión lógica puede ser verdadera o falsa.

Ejemplo de expresión lógica.

Parte del Algoritmo diseñado para preseleccionar a posibles candidatos presidenciales,


tomando como requisito de selección sólo aquellos que, simultáneamente, sean
venezolanos y mayores de treinta años.

Una expresión lógica “Y” (AND) es verdadera, si y sólo sí, se cumplen las dos
condiciones simples.
Lectura de Datos
Si Nacionalidad = “V” y Edad > 30 Entonces
Status = “Aspirante”
Grabar en archivo de Aspirantes
Fin Si

Ejemplos de expresiones simples


Nombre de la Expresión Valor asignado Explicación o análisis
A=6 A la variable A se le asigna el valor de 6
B = “DEFINITIVO” A la variable B se le asigna por valor
“DEFINITIVO”
FECHA = dd/mm/aa A la variable FECHA se le asigna una fecha dada.
DÓLAR =2120 A la constante DÓLAR se le asigna el valor de
2120
PAIS =”VENEZUELA” A la constante PAIS se le asigna por valor
“VENEZUELA”

Ejemplos de expresiones compuestas


Nombre de la Expresión Valor asignado Explicación o análisis
A = 6 * 2 A la variable A se le asigna el valor 12,
que resulta de multiplicar 6 por 2.
C=A+B A la variable C se le asigna el valor de
sumar A + B
10

EDAD = AÑOACTUAL - AÑONAC La variable EDAD obtendrá el resultado


de restarle a la constante AÑOACTUAL
el valor de la variable AÑONAC
SUELDO = DIASTRAB * SDIARIO La variable SUELDO tomará el valor de
multiplicar los días trabajados contenidos en
la
variable DIASTRAB por el valor de
salario diario contenido en SDIARIO.
o Identificación del Problema.

IDENTIFICACIÓN DEL PROBLEMA

Para resolver un problema es necesario el entendimiento completo de que exactamente


consiste el problema y que tipo de solución se necesita. Es necesario comprender la
naturaleza del problema ya que así se puede llegar a establecer un problema bien definido
para obtener una solución satisfactoria.

Es de suma importancia analizar el problema, diagnosticar e identificar requerimientos y


necesidades para así determinar las 3 etapas en la construcción de la solución; la entrada,
el proceso y la salida.

Para esto, se requiere una metodología que defina cada uno de los pasos que nos llevara
a obtener la solución, visto de otro modo, generar un plan de acción eficaz para alcanzar
la meta.

Es necesario establecer especificaciones de entrada proceso y salida, en la primera etapa


encontramos información de entrada o inicial, que servirá para el análisis del problema.

La segunda etapa o fase es analizar el problema, en esta etapa es conveniente dividir o


segregar las tareas necesarias e identificadas que ayudaran a la solución del problema
dado. De esta forma se simplificaran y serán más comprensibles para su desarrollo, es
recomendable siempre ir de las tareas o actividades más simples a las más complejas. En
esta fase se transforma la información de entrada recibida.

La tercera etapa en la programación de algoritmos, consiste en la implantación y puesta


en desarrollo del mismo, aquí se obtiene la información y resultado final resultante de las
etapas anteriores.

Es necesario seguir una serie de pasos sistemáticos para que el desarrollo posea una
buena un óptimo y eficaz resultado. Estos pasos son brindados por los modelos de ciclo
de vida, los cuales están constituidos por diferentes etapas:
11

Modelo de ciclo de vida

Para lograr esto, existen modelos de análisis estructurado que se puede detallar en el
siguiente cuadro:
12

Modelo del análisis estructurado moderno.

La calidad del diseño debe ser una meta para el diseñador. El diseño estructurado ofrece
guías para apoyar al diseñador a determinar módulos, y sus interconexiones, que mejor
realizarán los requerimientos especificados por el analista. Las dos reglas más
importantes son las referentes al acoplamiento y la cohesión.

Según Taylor S. Diseño es el proceso de aplicar distintas técnicas y principios con el


propósito de definir un dispositivo, proceso, o sistema, con los suficientes detalles como
para permitir su realización física.

Se pueden considerar los objetivos del diseño estructurado de la siguiente forma:


 Eficiencia
 Mantenibilidad
 Modificabilidad
 Flexibilidad
 Generalidad
 Utilidad
13

Pudiéramos decir que el diseño es la capacidad de producir y aplicar un modelo que sirva
como base para su implementación, todo esto bajo metodologías y estándares que gracias
a estos se podrá desarrollar dicho modelo bajo criterios para solucionar un problema.

Los métodos de desarrollo de software pueden dividirse en dos grupos: función/dato y


orientados a objetos

Orientado a función o dato

Son aquellos métodos en que las funciones o los datos son vistos como entidades
independientes, tienen a ser sistemas difíciles de mantener y dependen de la estructura de
los datos que usualmente producen programas difíciles de leer o modificar, pero tienen
fuerte transformación de datos y usualmente son dependientes los programas de la
estructura de los datos.

Orientado a objetos

Se consideran métodos orientados a objetos en donde los cuales, datos y funciones están
relacionados, la abstracción de datos, son mapeados a entidades del mundo real, tienden
a ser más fáciles de mantener y leer gracias a la construcción de subclases.

Desarrollo de la solución

Una vez que se obtenga la solución tomando en cuenta todas las posibles alternativas se
escribe de forma clara y precisa para que pueda ser entendida y revisada. Consiste en
definir cada uno de los pasos que nos permitirá llegar a la solución, en pocas palabras,
explica claramente cuáles son las acciones para llegar a la meta. Esta serie de pasos se
conocen como algoritmos.

Podemos hablar del modelo esencial como la aplicación de la metodología de Análisis


Estructurado Moderno de Yourdon. La idea fundamental con la que el modelo esencial es
concebido es la de Tecnología Perfecta en la cual no hay restricciones de cantidad de
memoria, tamaño del disco o velocidad del procesador. El modelo esencial del sistema
indica lo que el sistema debe hacer para satisfacer los requisitos del usuario y debe
mencionar el mínimo posible de como el sistema se llevará a cabo.

Dentro de este modelo se encuentra El Modelo del Ambiente: Declaración de los objetivos.
Creación de un Diagrama de Contexto y de una Lista de Eventos, describe los estímulos
que recibe el sistema y las respuestas generadas por los estímulos. Definición del
Diccionario de Datos inicial. Tabla de Estímulo/Respuesta.

También se consigue dentro del modelo esencial al Modelo de Comportamiento: Creación


de un diagrama de flujo de datos o DFD, y un ERD por cada uno de los eventos de la Lista
de Eventos. Los DFDs por eventos se unen en un único DFD (el Modelo Funcional) y los
14

ERDs por eventos se unen en un único ERD (el Modelo de Datos). Se acostumbra,
también, modelar el comportamiento externo del sistema con DTE, árboles de pantallas o
menús, etc. La creación simultánea del modelo de datos, modelo funcional y modelo de
interfaz o comportamiento externo, ayuda en la validación y completitud del modelo
esencial (descubriendo, por ejemplo, eventos no considerados).

Luego de establecer el modelo esencial, se debe considerar las imperfecciones de la


tecnología y determinar: la cantidad de procesadores necesarios, las cualidades de estos
procesadores, el tamaño de disco necesario de acuerdo al volumen de la información a
ser almacenada, etc. Luego se diseña la solución sobre la base de esas restricciones
tecnológicas, esto es el modelo de implementación, que se fundamenta en 3 modelos
base, el modelo del usuario, modelo de distribución y modelo de programa.

o Identificación de los datos necesarios (entradas). Identificación de los datos a obtener


(salidas).

IDENTIFICACIÓN DE LOS DATOS NECESARIOS (ENTRADAS) Y LOS DATOS A


OBTENER (SALIDAS).

La entrada, se considera como todos los datos que hay que ingresar para la resolución del
problema. Para diseñar un algoritmo o programa se debe comenzar por identificar las
tareas más importantes para resolver el problema y disponerlas en el orden en el que han
de ser ejecutadas. Los pasos en esta primera descripción pueden requerir una revisión
adicional antes de que podamos obtener un algoritmo claro, preciso y completo.

Este método de diseño de algoritmos en etapas, yendo de los conceptos generales a los
de detalle, se conoce como método descendente (top-down).

En un algoritmo se deben de considerar tres partes:


 Entrada: Información dada al algoritmo.
 Proceso: Operaciones o cálculos necesarios para encontrar la solución del problema.
 Salida: Respuestas dadas por el algoritmo o resultados finales de los procesos realizados.

Como ejemplo supongamos que desea desarrollar un algoritmo lo primero que debemos
hacer es plantearnos las siguientes preguntas:

Especificaciones de entrada
¿Que datos son de entrada?
¿Cuántos datos se introducirán?
¿Cuántos son datos de entrada válidos?

Entendido el problema (que se desea obtener del computador), para resolverlo es preciso
analizar:
15

*Los datos o resultados que se esperan.


*Los datos de entrada que nos suministran.
*El proceso al que se requiere someter esos datos a fin de obtener los resultados
esperados.
*Áreas de trabajo, fórmulas y otros recursos necesarios.

Una recomendación muy práctica es el que nos pongamos en el lugar del computador, y
analizar que es necesario que me ordenen y en que secuencia, para poder producir los
resultados esperados. También da buenos resultados hacer similitudes con la labor de un
empleado que hace el mismo trabajo que deseamos programarle al computador.

Especificaciones de salida
¿Cuáles son los datos de salida?
¿Cuántos datos de salida se producirán?
¿Qué formato y precisión tendrán los resultados?

Lista de Eventos

La lista de eventos es una lista narrativa de los estímulos que ocurren en el mundo externo, y
al que el sistema debe responder. En pocas palabras al saber que datos de entrada
obtendremos podemos hacer una correlación de estimulo respuesta en esta tabla.

La lista de eventos es una simple lista textual de eventos del ambiente a los cuales el sistema
debe responder. Al construirla asegúrese de distinguir entre un evento y un flujo relacionado a
un evento.

Gracias a esto se pueden establecer diferentes patrones de acción dependiendo de la


entrada, se pueden destacar:

 Evento de flujo
 Se asocia a un flujo de datos; es decir, el sistema percibe la ocurrencia del evento cuando un
grupo de datos llega.
 Eventos Temporales
 Se descargan en un cierto momento, los eventos temporales no se descargan ni son
representados por cualquier flujo de datos de entrada.
 Eventos de control
 Son estímulos externos que ocurren en momentos imprevistos.
 Eventos de múltiple respuesta
 Hay múltiples transacciones que son activadas por la condición temporal . Dichas
transacciones son activadas por un Evento Temporal que precisa de múltiples respuestas.

Diagrama de Contexto
16

En el diagrama de contexto una única burbuja (proceso) representa el sistema. Los Agentes
Externos (o Terminadores) por definición no son parte del sistema y están representados por
un cuadro rectangular y se comunican directamente con el sistema a través de los Flujos de
Datos o de Control.

Los terminadores representan entidades externas con las cuales el sistema se comunica.
Comúnmente un terminador es una persona o un grupo, por ejemplo una organización externa
o una agencia gubernamental, o un grupo o departamento que esté dentro de la misma
compañía u organización, pero fuera del control del sistema que se está modelando. En
algunos casos, el terminador puede ser otro sistema.

Como se está interesado en el desarrollo del modelo esencial del sistema, es importante que
se distinga entre fuentes y manipuladores cuando se dibuja a los agentes externos en el
diagrama de contexto. Un manipulador es un mecanismo, dispositivo, o el medio físico para
transportar datos dentro o fuera del sistema.

Los flujos mostrados en el diagrama de contexto modelan los datos que llegan y dejan el
sistema. Estos serán incluidos en este diagrama si son necesarios para determinar un evento
del ambiente al que el sistema debe contestar, o si son necesarios (como datos) para que se
produzca una respuesta. También pueden mostrarse los flujos de datos en el diagrama del
contexto cuando los datos son producidos por el sistema para responder a un evento.

Hay también una clase de flujos que no representan entrada o salida de datos del sistema sino
que establecen la necesidad de ejecutar una función dada. Estos flujos se denominan flujos de
control y son mostrados con una línea punteada.

Diagrama de Contexto
17

Se puede comenzar con la lista de eventos o con el diagrama de contexto. Realmente, esto
no importa, a medida que los componentes del modelo ambiental son generados se debe
confirmar que haya consistencia entre ellos.

o Descripción de los pasos para llegar a la solución (procesos).

DESCRIPCIÓN DE LOS PASOS PARA LLEGAR A LA SOLUCIÓN (PROCESOS).

La siguiente fase que debe enfrentar el analista tiene que ver con el análisis de las
necesidades del sistema. De nueva cuenta, herramientas y técnicas especiales auxilian al
analista en la determinación de los requerimientos. Una de estas herramientas es el uso de
diagramas de flujo de datos para graficar las entradas, los procesos y las salidas de las
funciones del negocio en una forma gráfica estructurada. A partir de los diagramas de flujo de
datos se desarrolla un diccionario de datos que enlista todos los datos utilizados en el sistema,
así como sus respectivas especificaciones.

Durante esta fase el analista de sistemas analiza también las decisiones estructuradas que se
hayan tomado. Las decisiones estructuradas son aquellas en las cuales se pueden determinar
las condiciones, las alternativas de condición, las acciones y las reglas de acción.

Existen tres métodos principales para el análisis de decisiones estructuradas: español


estructurado, tablas y árboles de decisión.

En este punto del ciclo de vida del desarrollo de sistemas, el analista prepara una propuesta
de sistemas que sintetiza sus hallazgos, proporciona un análisis de costo/beneficio de las
alternativas y ofrece, en su caso, recomendaciones sobre lo que se debe hacer. Si la
administración de la empresa considera factible alguna de las recomendaciones, el analista
sigue adelante. Cada problema de sistemas es único, y nunca existe sólo una solución
correcta. La manera de formular una recomendación o solución depende de las cualidades y
la preparación profesional de cada analista.

Creación de diagrama de flujo de datos

Para la creación del DFD básicamente existen dos enfoques: Partición en Eventos
McMenam, Yourdon y Enfoque de Análisis Estructurado Clásico DeMarco, Gane.

En el enfoque de partición por eventos para la construcción del DFD preliminar, se agrega una
burbuja por cada evento definido en la lista de eventos. Por cada evento, se especifican los
flujos (control y datos), agentes externos y depósitos de datos considerado por McMenam
como partición de eventos y DeMarco lo llamo enfoque de análisis estructurado.
18

En el enfoque de análisis estructurado clásico para la construcción del DFD de primer nivel (o
nivel 0), el analista (o el grupo de analistas) estudia el diagrama de contexto y crea un DFD de
nivel 0 sin una estrategia que lo asista. Sobre la base de su conocimiento del sistema, o del
tipo de aplicación, divide en "Burbujas Importantes" (por ejemplo, que representen
subsistemas).

El DFD preliminar puede ser representado como un único diseño o por un conjunto de
Diagramas separados. Para la construcción del diagrama de flujo de datos preliminar, con un
enfoque de partición por eventos, la metodología de análisis estructurado moderna propone la
siguientes cuatro etapas:

1. Se diseña una burbuja (proceso) para cada evento de la Lista de Eventos.


2. La burbuja recibe un nombre de acuerdo con la respuesta que el sistema debe dar al evento
asociado.
3. Se diseñan los flujos de entrada y salida apropiados de modo que cada burbuja sea capaz de
emitir una respuesta necesaria, y se diseñan los depósitos para la comunicación entre las
burbujas.
19

4. El DFD preliminar resultante es verificado en relación con el Diagrama de Contexto, la Lista de


Eventos y el Modelo de Datos para confirmar si esta completo y consistente.
El DFD preliminar se compone de un solo nivel con una burbuja para cada uno de los eventos.
Ahora, precisamos subdividirlo en niveles superiores (abstracción). Esto quiere decir que
deseamos agrupar los procesos (o burbujas) relacionados en funciones de más alto nivel de
abstracción, cada uno representando una burbuja en el diagrama de más alto nivel.

Existen tres reglas que nos ayudan en el proceso de abstracción:

1. Cada agrupamiento de procesos debe involucrar respuestas estrictamente relacionadas


(véase que cada burbuja en el DFD preliminar tiene un nombre relativo a la respuesta de un
evento de la lista de eventos). Esto habitualmente significa que los procesos trabajan con
datos estrechamente relacionados.
2. Agrupar procesos que trabajen con los mismos almacenamientos. Así, si usted encontrara un
grupo de procesos con flujos para el mismo depósito, sin que otros procesos (que no son del
grupo) se refieran a este depósito, entonces puede crear una burbuja, en el nivel más alto,
que oculte el depósito.
3. Se debe notar que la persona que examinara sus diagramas de flujo de datos, será un usuario
o un analista de sistemas o un diseñador, que quiere ver todo de una sola vez. Un buen
criterio de agregación o agrupamiento no tiene más de siete más o menos dos (7 ± 2)
fragmentos de información (considerando como fragmentos de información a los Procesos y
los Depósitos de Datos).

El diagrama de flujo de datos describe cómo los datos fluyen a través del sistema, pero no
proveen información acerca de estructuras de control o de secuencias de ejecución. La única
secuencia que puede ser reconocida en un DFD es la determinada por la necesidad de
información. Podemos considerar al diagrama de flujo de datos como un lenguaje gráfico, útil
para describir la funcionalidad de un sistema, en un cierto grado de detalle.
20

El Diccionario de Datos

El diccionario de datos es una herramienta fundamental en el modelamiento de sistemas. Las


herramientas gráficas como los diagramas de flujo de datos, los diagramas de entidad-
relación, los diagramas de transición de estados, etc., son de mucha importancia para el
modelamiento estructural de los sistemas (estructuras funcionales, estructuras de información,
estructuras de comportamiento, etc.) y permiten una adecuada interpretación general de las
ideas modeladas pero, no son completos. Para contar con una especificación completa es
preciso tener una descripción textual de los detalles que no pueden ser especificados en los
diagramas.

El diccionario de datos es una lista organizada de todos los elementos de datos pertinentes al
sistema (todos los nombres de las componentes de los diagramas), con definiciones precisas
y rigurosas para que el usuario y el analista de sistemas puedan conocer todas las entradas,
salidas, componentes de depósitos y cálculos intermedios.

Diagrama de flujo de datos

Un proceso representa una componente funcional del sistema. Un proceso transforma,


distribuye o genera datos. Por ejemplo, los procesos pueden realizar operaciones aritméticas
o lógicas sobre los datos que recibe para producir algún resultado. Respecto a esto, un DFD
describe únicamente los nombres y los flujos de entrada y salida, sin aportar ninguna otra
información sobre las actividades internas de los procesos. Para describir con mayor detalle, y
21

especificar la funcionalidad por la que es responsable el proceso, se utilizan técnicas de


especificación de procesos.

Un depósito de datos es incluido en un DFD para modelar la necesidad de almacenar datos,


se utiliza para modelar un conjunto de paquetes de datos en reposo. Un depósito de datos
puede representar un archivo en el disco de la computadora o un área de memoria global a los
procesos. En la literatura es posible encontrar que este mismo concepto puede recibir otros
nombres como por ejemplo: Archivo, Almacenamiento de Datos o Repositorio.

Diagrama de Almacenamiento de datos

Refinamiento y Descomposición de procesos

Un DFD es una herramienta comúnmente utilizada para análisis de arriba hasta abajo, es
decir que permite realizar un análisis que va de lo general a lo particular del problema. Los
DFDs son utilizados para modelar tanto vistas detalladas como de alto nivel de un sistema o
22

programa por eso es útil el refinamiento de procesos en un DFD. La funcionalidad de un


proceso puede llegar a ser tan compleja que para comprenderlo sea necesario detallar sus
actividades de manera separada.

Los procesos del DFD pueden ser refinados en otra red de procesos conectados por flujos de
datos, constituyendo un DFD de menor nivel de abstracción. Esta forma de especificar un
proceso, por medio de otro DFD completo se denomina refinamiento, descomposición o
explosión. El problema es definir cuál es el criterio más adecuado para hacer esto y,
determinar hasta dónde bajar en la jerarquía de DFDs, es decir cuando parar de realizar
explosiones.

na de las formas más sistemáticas de realizar el refinamiento de un proceso es el que propone


Mike Adler, con el Álgebra de Descomposición de Procesos. Se aplica un álgebra, definida por
un conjunto de operadores, a cada uno de los procesos del DFD por separado. En los
procesos que generan dudas con relación a su funcionalidad sirve como una guía para su
descomposición, mientras que para los procesos que generan muy pocas dudas con relación
a su funcionalidad, puede ser utilizado como un método de validación. Los operadores son
aplicados para producir una expresión mínima.

Al desarrollar un sistema, cualquiera fuere su tamaño, es necesario contar en primer término,


con una narrativa textual y una declaración concisa de los objetivos del sistema (la
funcionalidad que se requiere, es decir lo que se espera que el sistema haga), por supuesto
validada con el usuario del sistema.

o Descripción de las operaciones a utilizar (cálculos).

DESCRIPCIÓN DE LAS OPERACIONES A UTILIZAR (CÁLCULOS)

Dentro de este método de análisis y planteamiento del problema, se llega a obtener una
estructura clara y eficaz por medio de una serie de pasos para alcanzar la solución del
problema, esto también cuenta con operaciones dentro de los algoritmos que podemos llamar
cálculos.

Estos cálculos son determinados durante el proceso de planificación y estructuración del


sistema, de manera simple en DFD de nivel bajo y detallada en creación en sí de la escritura y
codificación del sistema que contempla la meta planteada.

Estos cálculos están íntimamente conectados con el tipo de dato de entrada que se espera
recibir y la salida que nos interesa obtener, todo previamente planificado según el caso, se
formulan operaciones precisas ya sean lógicas o aritméticas representadas como
instrucciones a seguir.

S-ar putea să vă placă și