El administrador de un proyecto
informático debe buscar la máxima
automatización de las tareas que
realizarán cada uno de los profesionales
involucrados en un proyecto informático.
Es importante destacar que lo que
buscamos no es solamente que en todo
proyecto informático se esté dispuesto
a automatizar tareas requeridas por los
usuarios; sino también la de automatizar
las propias tareas del proyecto. CARACTERÍSTICAS
EN TODA METODOLOGÍA DE PROCESAMIENTO DE
DATOS
A continuación
presentamos una lista de atributos, que
se consideran mínima en todo
procesamiento de datos:
- Automatización:
Como venimos diciendo, se debe
buscar la máxima automatización
posible de todas las tareas
desarrolladas por los
profesionales involucrados en un
proyecto informático. Se debe
evitar la programación manual;
pues ésta es lenta y propensa a
errores, por lo tanto es ineficaz
e ineficiente.
- Velocidad:
Tal lo visto en el primer
capítulo (ver 1. Proyecto
informático, tareas y recursos) otro de los problemas
principales, en el desarrollo de
todo proyecto informático, es el
tiempo que involucra al mismo.
Persiga altos niveles de
productividad, aplicando
técnicas y metodologías que le
permitan alcanzar resultados
rápidamente.
- Cambiabilidad.
Cuando vimos las causas que dan
inicio a un proyecto informático
(ver 1.2. inicio de un
proyecto informático), describimos que
existirán cambios en el contexto
o en los procedimientos
requeridos por los usuarios o
bien pueden producirse cambios en
la tecnología; que implicarán
cambios en los programas y en los
sistemas. Es por eso que se deben
aplicar técnicas y metodologías
que permitan realizar dichos
cambios, sin que esto involucre
un incremento significativo tanto
de los costos y como en el tiempo
de implementación de estos
cambios.
- Verificación
de condición correcta.
Confeccione y utilice
herramientas de análisis, como
el diccionario de datos (ver 4.3 el diccionario
de datos),
las tablas de decisión (ver 4.6. tablas de
decisión ), la diagramación
lógica (ver 4.5. flujogramas), la lista de eventos (
ver 4.2.1. lista de
eventos);
para poder detectar
automáticamente todos los
errores de sintaxis y de
semántica interna. Si existen
ambigüedades, contradicciones,
incongruencias, la calidad del
sistema se verá afectada, con
todo lo que ello implica. Los
errores provocan ineficiencia
ineficacia y baja productividad
- Técnicas que
faciliten la comunicación con
los usuarios finales. Los
usuarios deben desarrollar el
conocimiento necesario para
verificar cada etapa de
evolución del proyecto. El
usuario es quien más sabe del
sistema involucrado en el
proyecto. Además los usuarios
deben estar en condiciones de
utilizar sus propios lenguajes de
consulta de actualización y de
generadores de información;
como: el Standard Query Languaje
(SQL) , el Query - By - Example
(QBE), el Query - by - Diagram
(QBD) o el Grafphics Language for
Database, entre otros. Por lo
tanto se deben adoptar lenguajes
que permitan que la gerencia
extraiga nueva información de
las bases de datos, con la
máxima prontitud posible.
- Diseño estable
de base de datos. La base de
datos es el elemento principal de
toda automatización de tareas.
Tal cual lo visto en el tópico
de la modelización de datos
almacenados (ver 4.4. el modelo RDM) cuide las técnicas y
los métodos para la
construcción de las tablas.
- Modularidad.
Los sistemas deben dividirse en
módulos fácilmente
identificables (ver 4.7. módulos de un
sistema).
Debe ser factible efectuar
cambios en forma local dentro del
módulo. Todo efecto de cambio
exterior al módulo debe ser
rigurosamente rastreable.
- Control de
operabilidad mutua. Se
necesita una técnica formal y
rigurosa, para tener la seguridad
de que el sistema y los módulos
desarrollados separadamente
operan correctamente en conjunto
(ver 4.7. el árbol de un
sistema).
- Dialectos
alternativos. Se debe
disponer de herramientas de
ingeniería de software(ver. 5 herramientas CASE) para conceptualizar,
dibujar y diseñar sistemas,
conectados en forma automática
con la representación básica.
Estas herramientas deben
funcionar en forma integrada,
evitando puentes manuales que
introducen errores. Deben
utilizar, en la media posible,
sintaxis y gráficos comunes.
Una propuesta
interesante de destacar es la que propone
Lucas H.C. Jr.. con el diseño creativo
de sistemas, este modelo tiene
básicamente tres componentes:
- diseño
controlado por el usuario
- atención
especial a las interacciones
con el usuario
- evaluación de
la calidad de los sistemas
según el criterio del
usuario
El diseño controlado
por el usuario significa que el usuario
está a cargo del esfuerzo de diseñar
Esto crea un compromiso
del usuario con el sistema aumentando la
posibilidad de ser utilizado
El usuario participa
activamente durante el diseño y por lo
tanto está mejor preparado para usar el
sistema, en razón de su familiaridad con
él.
El usuario está a
cargo del diseño lógico o conceptual
del sistema incluyendo las salidas, las
entradas y la lógica del procesamiento.
El usuario en escribe ni controla
programas estos pueden ser desarrollados
con lenguajes de 4 generación y ser
controlados con herramientas CASE.
El usuario creativo se
basa en el control del diseño por parte
del usuario, atención especial a las
interacciones de éste con el sistema y
evaluación de su calidad de acuerdo con
el criterio del mismo usuario.
6.1. METODOLOGÍA PARA EL
DESARROLLO DE SISTEMAS
A lo largo de este
texto, buscamos mostrar que toda
actividad debe estar basada en una
metodología y en principio, cualquier
metodología es mejor que ninguna;
Cualquier centro de desarrollo puede
montar su metodología, aunque esta
alternativa implica disponer del tiempo
necesario para el desarrollo de la nueva
metodología; por lo tanto, lo más
práctico es seguir los métodos que ya
han demostrado su validez y son de
aplicación universal; sepa utilizar el
conocimiento científico, que involucra
tanto esfuerzo y sacrificio.
Todas las
metodologías; MERISE, YOURDON Y SSADM
(structured Sydtem Analysis Design Method
) y tantas otras, consideran el hecho
informático dividido en fases, cuyo
conjunto forma el ciclo de vida de un
sistema informático.
Todas tienen en común
la idea de descomposición del hecho
informático en cuatro grandes grupos
definición del
problema
estudio de la
situación actual
requisitos a
considerar
estudio de
factibilidad
análisis funcional
definición de
datos y procesos
modelización
creación de
ficheros y tablas
elaboración de
programas
Formación del
usuario
implantación del
sistema
explotación del
sistema
Mantenimiento
Esta metodología la
podrá encontrar en un amplio universo
bibliográfico, nosotros nos
concentraremos, como lo describimos en la
introducción de la obra en las
metodologías simplificadas.
6.2. METODOLOGÍA ESTRUCTURADA
SIMPLIFICADA.
Todo proceso de
desenvolvimiento de software usando
metodología Estructurada simplificada
está basado en la identificación de los
eventos a los que el sistema debe
responder.
La secuencia
metodológica es al siguiente:
- Definir la
lista de eventos
Desarrollar una
lista de requerimientos en lenguaje
natural según lo descripto en el
punto 4.2.1.
- Producir un
diagrama de contexto
Modelizar la
relación del sistema con el
contexto, determinando cuales son las
áreas de la empresa que
participarán del sistema como
fuentes de información (ver 4.2.2. El diagrama de
flujo de datos, objetivos).
- Definir el
modelo comportamental
Utilizamos el DFD
como herramienta modeladora de la
transformación de las entradas en
salidas (ver 4.2.2. el diagrama de
flujo de datos).
- Definir el
modelo de datos
Modelizar la
relación de los repositorios de
datos con la técnica del Modelo
Relacional de Datos. -RDM (ver 4.4. Modelización de
datos almacenados).
- Crear el modelo
de implementación del usuario
Definir los
módulos del sistema. En esta etapa
son decididos los procesos a ser
automatizados; se somete a la
evaluación del usuario cada proceso
del modelo comportamental (ver 4.7. módulos del
sistema).
- Definir los
requisitos de implementación
Mientras son
definidos los procesos a ser
informatizados, se debe discutir y
documentar los requisitos de
implementación de esos procesos y
del sistema de software como un todo:
Desempeño, restricciones de costos,
restricciones operacionales,
consideraciones sobre seguridad y
auditoría, tecnología a ser
empleada, modificaciones en
procedimientos manuales y en otros
sistemas informatizadas ya
existentes.
Para cada proceso a
ser automatizado, será creado un
diagrama de estructura. Las funciones
de los diagramas son derivadas de los
flujos de datos que entran y que
salen de los proceso, y de las
transformaciones que generan los
datos de salida a partir de los datos
de entrada.
- Integrar los
diagramas de Estructura.
Los diagramas de
estructura deben ser integrados en
programas, el agrupamiento de
funciones puede ser hecho por
proximidad temporal de utilización,
rutinas On-Line, mensual, anual,
etc., o por cualquier otro tipo de
afinidad, como por ejemplo, en el
caso de sistemas distribuido, el
agrupamiento es hecho conforme al
procesador en que serán ejecutadas
las funciones. La estructura del
software es completada,
incorporándose a él módulos de
apoyo operacional, como: módulos de
implementación de backups, módulos
de control, módulos para la
creación y restauración de
índices, módulos para alteración
de parámetros de operaciones, etc.
estos módulos serán incorporados al
Diagrama de estructura, donde el
acceso a ellos fuese mas conveniente
- Proyectar la
interfaz con el usuario
La parte mas
importante y mas compleja de la
interfaz con el usuario será
desarrollada a partir de los flujos
de datos de entrada y de salida de
los procesos a ser automatizados. Una
única interfaz puede ser generada
para atender varios flujos
simultáneamente. Las interfaces
necesarias a los módulos que
implementan menús de selección y a
los módulos de apoyo operacional
complementaran el proyecto de la
interfaz con el usuario.
- Proyectar la
base de datos física
Definir las
características físicas de cada
dato, como el tipo el dominio; la
organización de cada archivo, como
la definición de las llaves
principales, índices, etc. (ver 3. Base de datos, 3.1.2. llave primaria, 3.1.3 índices de acceso).
La especificación
de los módulos, a través de pseudo
código flujogramas u otros (ver.4.5. Flujogramas).
|