Documente Academic
Documente Profesional
Documente Cultură
Segunda Parte
Anlisis de Requisitos del Sistema y del Software
Hace cuatrocientos cincuenta aos, Maquiavelo dijo: "...no hay nada ms difcil de
conseguir, ms arriesgado de mantener ni ms inseguro de tener xito, que estar a la
cabeza en la introduccin de un nuevo orden de cosas..."
Durante el ltimo cuarto del siglo veinte, los sistemas basados en computadora estn
introduciendo un nuevo orden de cosas. Aunque la tecnologa ha hecho grandes
avances desde Maquiavelo, sus palabras siguen siendo ciertas.
1. un conjunto u ordenacin de cosas relacionadas de tal manera que forman una unidad
pg.: 1 de 42
Pressman, Cap 5
Hardware. Los dispositivos electrnicos (p. ej.: UCP, memoria) que proporcionan
la capacidad de computacin y los dispositivos electromecnicos (p. ej.: sensores,
motores, bombas) que proporcionan las funciones del mundo exterior.
Gente. Los individuos que son usuarios y operadores del software y del hardware.
pg.: 2 de 42
Pressman, Cap 5
Procedimientos. Los pasos que definen el uso especfico de cada elemento del
sistema o el contexto procedimiento en que reside el sistema.
pg.: 3 de 42
Pressman, Cap 5
Una vez que la funcin, el rendimiento, las restricciones y las interfaces estn
1
No se deben confundir los trminos ingeniera de sistemas de computadora e ingeniera de computadoras. La
ingeniera de computadoras se centra exclusivamente en el diseo y la implementacin del hardware de
computadora y su software de sistema asociado, mientras que la ingeniera de sistemas de computadora se
aplica a todos los productos y sistemas que contienen computadoras.
pg.: 4 de 42
Pressman, Cap 5
El SCCT debe ser desarrollado de tal manera que las cajas que se mueven a lo largo de
la cinta sean identificadas y clasificadas en uno de los seis compartimentos al final de la
cinta. Las cajas pasarn por una estacin de clasificacin donde sern identificadas.
Basndose en un nmero de identificacin, impreso en un lado de la caja (incluyendo un
cdigo de barras equivalente), las cajas sern dirigidas a los compartimentos
correspondientes. Las cajas pasan en un orden aleatorio y espaciadas uniformemente.
La cinta se mueve despacio.
Entre las muchas preguntas que se deberan plantear y responder estn las siguientes:
pg.: 5 de 42
Pressman, Cap 5
Examinando las tres asignaciones alternativas para el SCCT, debera resultar obvio que
la misma funcin puede ser asignada a diferentes elementos del sistema. Para elegir la
asignacin ms efectiva, se debe aplicar un conjunto de criterios de evaluacin a cada
alternativa.
pg.: 6 de 42
Pressman, Cap 5
Anlisis tcnico. Existe tecnologa para desarrollar todos los elementos del sistema?
Estn aseguradas la funcionalidad y el rendimiento? Podr mantenerse correctamente
la configuracin? Existen recursos tcnicos? Cul es el riesgo asociado con la
tecnologa?
pg.: 7 de 42
Pressman, Cap 5
Una vez que se ha definido la ingeniera del sistema (anlisis y definicin sistema), se
asignan funciones al hardware. La primera fase de la ingeniera hardware (Figura 5.3
a) comprende la planificacin del desarrollo y el anlisis de los requisitos del hardware.
La planificacin del desarrollo se orienta a establecer el alcance del esfuerzo en
hardware. Para esto nos hacemos las siguientes preguntas:
A partir de estas y otras cuestiones, se deben establecer los costes preliminares y los
plazos de realizacin del sistema de hardware. Estas estimaciones son revisadas por
los responsables y el personal tcnico apropiado para ser modificadas si fuese
necesario.
A continuacin debemos establecer una gua de acciones" para el diseo del hardware
y su implementacin. El anlisis de los requisitos del hardware se orienta a especificar
requisitos funcionales, de rendimiento y de interfaz precisos para todos los
componentes del elemento de hardware. Adems, deben establecerse las restricciones
del diseo (por ejemplo, tamao, entorno) y los criterios de prueba. Frecuentemente se
realiza una especificacin del hardware. En esta etapa hay que tomar en consideracin
muy especialmente las revisiones y las modificaciones.
pg.: 8 de 42
Pressman, Cap 5
Figura 5.3. Ingeniera del hardware. (a) fase I; (b) fase II; (c) fase III.
normalmente, se parece poco al producto final. Por tanto, lo que se va derivando son
las especificaciones para la fabricacin. Las placas de prueba se convierten en placas
de PC; las (EPROM) y (PROM) se convierten en ROM; se disean las carcasas; se
definen las herramientas y el equipamiento. El enfoque cambia, de la funcionalidad y el
rendimiento, a la facilidad de fabricacin.
La tercera fase de la ingeniera del hardware requiere pocas atenciones directas por
parte del ingeniero de diseo, pero pone a prueba las habilidades del ingeniero de
fabricacin. Antes de que empiece la produccin, se deben establecer mtodos para
garantizar la calidad, as como un mecanismo de distribucin del producto. En el
inventario se registran los repuestos y se establece una organizacin de servicio in situ
que se encargue del mantenimiento y de la reparacin del producto. En la Figura 5.3c
se ilustra la fase de fabricacin de la ingeniera del hardware.
Las reas genricas de aplicacin del software ya han sido descritas en la Seccin
1.2.3. En esta seccin consideramos la aplicacin del software en el contexto ms
amplio de los sistemas basados en computadora. Independientemente de su rea de
aplicacin, un sistema basado en computadora puede ser representado mediante un
modelo de entrada proceso - salida (EPS). El elemento de software juega un papel
2
El uso de las tcnicas orientadas a los objetos (captulos 8 y 12) puede llevarnos a disponer de una amplia serie
de CIs de software - bloques de construccin de software reutilizables.
pg.: 10 de 42
Pressman, Cap 5
El software se usa para adquirir informacin que puede ser suministrada por alguna
fuente externa o por otro elemento del sistema (incluyendo macroelementos). Cuando
un sistema basado en computadora requiere una interfaz interactiva entre hombre y
mquina, el software implementa la "conversacin" de E/S. En el software se
implementan los mecanismos de peticin y de entrada de datos; con el software se
generan las pantallas y los grficos y, mediante el software, se lleva a cabo la lgica
que conduce al usuario a travs de la secuencia de pasos interactivos. Cuando se
adquieren los datos desde un dispositivo, el software, en forma de controlador,
acomoda las caractersticas especiales del hardware. Por ltimo, el software tambin
se usa para establecer interfaces con las bases de datos, permitiendo a un programa
acceder a fuentes de datos pre-existentes.
Para que un sistema basado en computadora sea de uso prctico, el software debe
proporcionar informacin o control a otro elemento del sistema o a una fuente externa.
Para producir la informacin de salida, el software debe dar un formato a los datos que
resulte apropiado para el medio de salida y saber cmo comunicarse con el dispositivo
de salida (p. ej.: impresora, disco ptico, dispositivo de visualizacin de una estacin de
trabajo).
Las Figuras 5.4 a, b y c ilustran los pasos genricos del proceso de ingeniera del
software. Las distintas partes de la Figura ilustran los pasos que se deben llevar a cabo
y las distintas representaciones del software que se derivan segn se evoluciona del
concepto a la realizacin.
pg.: 11 de 42
Pressman, Cap 5
pg.: 12 de 42
Pressman, Cap 5
Figura 5.4. Ingeniera del software (a) Fase de definicin; (b) Fase de desarrollo; (c) Fase de
verificacin, lanzamiento y mantenimiento.
3
Actualmente se puede crear la especificacin del diseo con herramientas CASE especializadas (p. ej.:
Teamwork, de Cadre) y mantenerlo en forma legible para la mquina. En algunos casos, la documentacin del
diseo, denominada lenguaje de diseo de programa, se incluye directamente en los archivos del cdigo fuente.
pg.: 13 de 42
Pressman, Cap 5
Despus de haber generado el cdigo fuente, se lleva a cabo una serie de actividades
de verificacin y validacin. Las pruebas de unidad intentan verificar el rendimiento
funcional de cada componente modular individual del software. La prueba de
integracin constituye un medio de construccin de la arquitectura del software y de
prueba de su funcionamiento y de sus interfaces. La prueba de validacin comprueba
que se han conseguido todos los requisitos. Tras cada uno de estos pasos de prueba,
puede que haya de realizarse una depuracin - diagnstico y correccin de defectos.
Para los pasos de prueba, se puede desarrollar un plan y procedimiento de prueba.
Siempre se realiza una revisin de la documentacin, de los casos de prueba y de los
resultados de las pruebas.
Una vez terminada la prueba del software, ste est casi preparado para ser entregado
a los usuarios finales. Sin embargo, antes de la entrega se lleva a cabo una serie de
actividades de garanta de calidad (GC) para asegurar que se han generado y
catalogado los registros y los documentos internos adecuados, que se ha desarrollado
una documentacin de alta calidad para el usuario y que se han establecido los
mecanismos apropiados de control de configuraciones. Entonces, el software ya puede
ser distribuido a los usuarios finales.
Tan pronto como se entregue el software a los usuarios finales, el trabajo del ingeniero
del software cambia. En ese momento, el enfoque cambia de la construccin al
mantenimiento - correccin de errores, adaptacin al entorno y mejora de la funcin. El
reconocimiento de este hecho es el primer paso hacia una disminucin del impacto de
una tarea que consume entre el 50 y el 70 por 100 del presupuesto de muchas grandes
empresas de software. Las tareas asociadas con el mantenimiento del software
dependen del tipo de mantenimiento a realizar. En todos los casos, la modificacin del
software no slo afecta al cdigo, sino a la configuracin entera (es decir, todos los
documentos, datos y programas desarrollados en las fases de planificacin y
desarrollo).
pg.: 14 de 42
Pressman, Cap 5
Cuando la gente interacta con otra gente, un conjunto de reglas, esperas y respuestas,
culturalmente definidas, permiten que la interaccin se realice suavemente.
Desgraciadamente, los convenios existentes para la interaccin entre personas, no
estn presentes cuando lo que se pretende es una interaccin hombre maquina (IHM).
Antes de que el ingeniero de sistemas pueda asignar una funcin al elemento humano,
se debe especificar la interaccin que es necesaria para poder realizar la funcin. Para
hacerlo, se deben entender los "componentes" del elemento humano. Entre los muchos
componentes que constituyen el elemento humano se encuentran: la memoria humana
y la representacin del conocimiento, el pensamiento y el razonamiento, la percepcin
visual y la construccin del dilogo humano.
pg.: 15 de 42
Pressman, Cap 5
IHM sin usar un prototipo. La creacin de prototipos permite evaluar la IHM desde
una perspectiva humana, con una participacin activa en lugar de una evaluacin
pasiva. La creacin de prototipos supone una evaluacin y una aplicacin iterativa
de todos los pasos de ingeniera humana anteriores.
No todos los sistemas basados en computadora hacen uso de una base de datos, pero
para aquellos que s lo hacen, ese almacn de informacin a menudo es crucial para el
funcionamiento general del sistema. La ingeniera de bases de datos (trmino
relativamente nuevo que comprende anlisis, diseo e implementacin de bases de
datos) es una disciplina tcnica que se aplica una vez que se ha definido el mbito de la
informacin. Por ello, el papel del ingeniero de sistemas es el de definir la informacin
que va a contener la base de datos, los tipos de peticiones que se podrn procesar, la
manera en que se acceder a los datos y la capacidad de la base de datos. Aunque la
ingeniera de bases de datos es un tema que requiere un estudio en profundidad (vase
[DAT86], IEEE89]), el anlisis y el diseo de los datos son actividades fundamentales
de la ingeniera del software, independientemente de la presencia o no de una base de
datos formal. Estos temas de la ingeniera de bases de datos, llamados colectivamente
diseo de datos, se estudian en los Captulos 8, 9 y 10.
El anlisis del sistema es una actividad que engloba la mayora de las tareas que
hemos llamado colectivamente ingeniera de sistemas basados en computadora.
Algunas veces se incurre en confusin porque el trmino se usa a menudo en un
contexto que alude slo a las actividades de anlisis de los requisitos del software
(vanse los Captulos 6 al 9). Para el propsito de este estudio, el anlisis del sistema
se centra en todos los elementos del sistema - no slo en el software.
El anlisis del sistema se realiza teniendo presentes los siguientes objetivos: (1)
identificar las necesidades del cliente; (2) evaluar la viabilidad del sistema; (3) realizar
un anlisis tcnico y econmico; (4) asignar funciones al software, al hardware, a la
gente, a la base de datos y a otros elementos del sistema; (5) establecer restricciones
de coste y tiempo; (6) crear una definicin del sistema que sea la base para todo el
trabajo posterior de ingeniera. Para alcanzar con xito esos objetivos, se requiere
experiencia, tanto en hardware como en software (as como en ingeniera humana y en
bases de datos). Aunque la mayora de los profesionales de la industria reconocen que
el tiempo y el esfuerzo gastado en el anlisis de sistemas producen dividendos
importantes ms adelante en el proceso de desarrollo del sistema, todava surgen tres
preguntas:
pg.: 16 de 42
Pressman, Cap 5
El primer paso del proceso de anlisis del sistema implica la identificacin de las
necesidades. El analista (ingeniero de sistemas) se entrevista con el cliente o su
representante. El cliente puede ser un representante de una compaa externa, del
departamento de marketing de la compaa del analista (cuando se est definiendo un
producto) o de otro departamento tcnico (cuando se va a desarrollar un sistema
interno).
Una vez que se han identificado todos los objetivos, el analista pasa a una evaluacin
de la informacin suplementaria: existe la tecnologa necesaria para construir el
sistema? qu recursos de fabricacin y de desarrollo especiales se requerirn? qu
lmites se han impuesto a los costes y a la agenda? Si el nuevo sistema es un producto
que va a ser desarrollado para venderlo a muchos clientes, tambin se hacen las
siguientes preguntas: cul es el mercado potencial para el producto? cmo se
compara este producto con los de la competencia? qu lugar ocupa este producto
dentro de la lnea global de la compaa?
pg.: 17 de 42
Pressman, Cap 5
Todos los proyectos son realizables con recursos ilimitados y un tiempo infinito!
Desafortunadamente, el desarrollo de un sistema basado en computadora se
caracteriza por la escasez de recursos y la dificultad (si no imposibilidad) de cumplir los
plazos de entrega. Es necesario y prudente evaluar la viabilidad de un proyecto lo
antes posible. Se pueden evitar meses o aos de esfuerzo, miles de millones de
pesetas y una inversin profesional incalculable, si un sistema mal concebido es
reconocido como tal al principio de la etapa de definicin.
sistema
No ser necesario llevar a cabo un estudio de viabilidad para sistemas en los que la
justificacin econmica es obvia, el riesgo tcnico es bajo, se esperan pocos problemas
legales y no existe una alternativa razonable. Sin embargo, cuando no se da alguna de
las anteriores condiciones, debe realizarse el estudio.
Riesgo del desarrollo. Puede el elemento del sistema ser diseado de tal forma
que las funciones y el rendimiento necesarios se consigan dentro de las
restricciones determinadas en el anlisis?
La viabilidad legal comprende un amplio rango de aspectos que incluyen los contratos,
la responsabilidad, las infracciones y un millar de otros detalles frecuentemente
desconocidos para el personal tcnico. Un estudio de los aspectos legales del software
va ms all del alcance de este libro. El lector interesado puede acudir a Gemignani
[GEM81], Harris [HAR85] o Scott [SC089].
El grado en el que se consideran las alternativas muchas veces est limitado por
pg.: 19 de 42
Pressman, Cap 5
I. Introduccin
A. Declaracin del problema
B. Entorno de implementacin
C. Restricciones
III. Alternativas
A. Configuraciones del sistema alternativas
B. Criterio utilizado en la seleccin del enfoque definitivo
La revisin del estudio de viabilidad ha de llevarla a cabo primero el gestor del proyecto
(para asegurar la fiabilidad de su contenido) y luego por el director administrativo (para
determinar el estado del proyecto). El estudio debe provocar una decisin de "seguir/no
seguir". Debe tenerse en cuenta que durante las etapas de planificacin, especificacin
y desarrollo de la ingeniera del hardware y del software, se tomarn otras decisiones
del tipo seguir/no seguir.
pg.: 20 de 42
Pressman, Cap 5
El anlisis de coste beneficio es complicado porque los criterios varan segn las
caractersticas del sistema a desarrollar, el tamao relativo del proyecto y la
recuperacin esperada de la inversin como parte del plan estratgico de la compaa.
Adems, muchos beneficios obtenidos de los sistemas basados en computadora son
intangibles (p. ej.: una mejor calidad del diseo mediante una optimizacin iterativa, una
mayor satisfaccin del cliente debida a un control programable y unas mejores
decisiones comerciales a partir de datos de ventas con formato previamente
analizados). Puede ser difcil lograr comparaciones directas cuantitativas.
pg.: 21 de 42
Pressman, Cap 5
pg.: 22 de 42
Pressman, Cap 5
Conocidos los datos anteriores, puede establecer una estimacin del ahorro anual - el
beneficio:
Otros beneficios tangibles del sistema CAD seran tratados de una manera similar. A
los beneficios intangibles (p. ej.: mejor calidad de diseo y mayor estmulo para los
empleados) se les puede asignar valores en pesetas o usarlos como apoyo de una
recomendacin de "seguir", si fuese oportuna.
pg.: 23 de 42
Pressman, Cap 5
Costes de avituallamiento
Coste de consultora
Coste de la compra o alquiler del equipo actual
Coste de la instalacin del equipo
Coste del acondicionamiento del lugar destinado al equipo (aire acondicionado, seguridad,
etc.)
Coste del capital
Coste de los gestores y el personal encargados del avituallamiento
Costes continuos
Coste del mantenimiento del sistema (hardware, software y utilidades)
Coste de los alquileres (electricidad, telfono, etc.)
Coste de la depreciacin del hardware
Coste de la plantilla involucrada en las actividades de gestin, operacin y planificacin
del sistema de informacin.
___________________________________________________
Fuente: King y Schrems [KIN78], pg. 24. Reimpreso con permiso.
Al igual que se olvida la retrica poltica despus de las elecciones, puede que se olvide el
anlisis de coste beneficio una vez que comienza la implementacin del proyecto. Sin
embargo, es extremadamente importante, ya que ha sido el vehculo con el que se ha
conseguido la aprobacin por parte de la gestin.
Durante el anlisis tcnico, el analista evala los mritos tcnicos del concepto de
sistema, mientras que al mismo tiempo recoge informacin adicional sobre el
rendimiento, fiabilidad, facilidad de mantenimiento y posibilidad de produccin. En
algunos casos la etapa de anlisis del sistema tambin incluye una cantidad limitada de
investigacin y de diseo.
El anlisis tcnico empieza con una definicin de la viabilidad tcnica del sistema
pg.: 25 de 42
Pressman, Cap 5
Blanchard y Fabrycky [BLA81, pg. 270] definen un conjunto de criterios para el uso de
modelos durante el anlisis tcnico de sistemas:
pg.: 26 de 42
Pressman, Cap 5
4. El diseo del modelo debe ser lo suficientemente simple como para permitir una rpida
implementacin de la resolucin del problema. A no ser que la herramienta pueda ser
utilizada de una manera rpida y eficiente por el analista o por el gestor, ser de poca
utilidad. Si el modelo es grande y muy complejo, puede ser apropiado desarrollar una
serie de modelos en los que la salida de uno pueda ser conectada a la entrada de otro.
Tambin puede ser deseable evaluar un elemento especfico de un sistema
independientemente del resto de los elementos.
5. El diseo del modelo debe incorporar previsiones para poder modificarlo y/o expandirlo
fcilmente y permitir la evaluacin de factores adicionales si se requieren. En un
desarrollo satisfactorio del modelo, a menudo se hace una serie de intentos antes de
alcanzar el objetivo final. Los intentos iniciales pueden hacer evidentes ciertas lagunas
en la informacin que no se hayan detectado a primera vista y, consecuentemente,
sugerir cambios beneficiosos.
Los resultados del anlisis tcnico son la base de otra decisin del tipo "seguir / no
seguir" con el sistema. Si el riesgo tcnico es alto, silos modelos indican que la
funcionalidad o el rendimiento deseados no pueden ser alcanzados, o si las piezas no
encajan bien - hay que volver a la mesa de trabajo!
Una vez que se ha respondido a las cuestiones relativas a la tarea de anlisis, hay que
considerar soluciones alternativas. Cada funcin del sistema, con su rendimiento
requerido y sus caractersticas de interfaz, es asignada a uno o ms elementos del
sistema.
pg.: 27 de 42
Pressman, Cap 5
Una vez asignadas las funciones del sistema basado en computadora, el ingeniero de
sistemas puede crear un modelo que represente las interrelaciones entre los distintos
elementos del sistema y establezca una base para los posteriores pasos de anlisis de
requisitos y de diseo. Ya hemos visto que cada sistema basado en computadora se
puede modelar como una transformacin de informacin mediante una arquitectura de
entrada - proceso - salida. Hatley y Pirbhai [HAT87] han ampliado este enfoque,
incluyendo dos caractersticas adicionales del sistema - el procesamiento de la interfaz
de usuario y el procesamiento de mantenimiento y de autocomprobacin. Aunque estas
caractersticas adicionales no estn presentes para todos los sistemas basados en
computadora, son muy comunes y su especificacin hace que cada modelo de sistema
sea ms robusto.
Para desarrollar el modelo del sistema se utiliza una plantilla de arquitectura [HAT87].
El ingeniero de sistemas asigna elementos del sistema a cada una de las cinco
regiones de procesamiento dentro de la plantilla: (1) interfaz de usuario, (2) entrada, (3)
funcin y control del sistema, (4) salida y (5) mantenimiento y autocomprobacin. El
formato de la plantilla de arquitectura aparece en la Figura 5.12.
Como casi todas las tcnicas de modelizacin utilizadas en la ingeniera del software y
de sistemas, la plantilla de arquitectura permite al analista crear una jerarqua de
detalles. En el nivel superior de la jerarqua est el diagrama de contexto de la
arquitectura (DCA).
pg.: 28 de 42
Pressman, Cap 5
El diagrama de contexto establece los lmites de informacin entre los que se est
implementando el sistema y el entorno en el que va a funcionar el sistema [HAT87]. Es
decir, el DCA define todos los productores de informacin externos utilizados por el
sistema, todos los consumidores de informacin externos creados por el sistema y
todas las entidades que se comunican a travs de la interfaz o realizan mantenimiento o
autocomprobacin.
pg.: 29 de 42
Pressman, Cap 5
pg.: 30 de 42
Pressman, Cap 5
Para ilustrar el uso del DCA, consideremos una versin ampliada del sistema de
clasificacin de cinta transportadora visto anteriormente en este captulo. La versin
ampliada utiliza una computadora personal (PC) como esta de clasificacin. El PC
ejecuta todo el software del SCCT; est conectado al lector de cdigos de barras para
leer los nmeros de serie de cada caja; est conectado al equipo de supervisin de la
cinta transportadora para obtener la velocidad; guarda todos los nmeros de serie
clasificados; interacta con un operador de la estacin de clasificacin produciendo una
serie de informes y diagnsticos; manda seales de control al hardware encargado de
la maniobra para clasificar las cajas y se comunica con la computadora central de la
fbrica de automatizacin. En la Figura 5.13 se muestra el DCA para la versin
ampliada del SCCT.
Cada cuadro de la Figura 5.13 representa una entidad externa - es decir, un productor o
un consumidor de informacin del sistema. Por ejemplo, el lector de cdigos de
barras produce informacin que entra en el sistema SCCT. El smbolo que representa
el sistema completo (o, a niveles ms bajos, los subsistemas principales) es un
rectngulo con esquinas redondeadas. Aqu, el SCCT est representado en la regin
de proceso y control, en el centro del DCA. Las flechas etiquetadas del DCA
representan la informacin (de datos y de control) que se fluye entre el entorno externo
y el sistema SCCT. La entidad externa lector de cdigos de barras produce
informacin de entrada que est etiquetada como cdigo de barras. En esencia, el
DCA ubica el sistema en el contexto de su entorno externo.
pg.: 31 de 42
Pressman, Cap 5
pg.: 32 de 42
Pressman, Cap 5
jerarqua de DFAs. Se puede ampliar cada rectngulo redondeado del DFA inicial en
otra plantilla de arquitectura dedicada exclusivamente a l. Este proceso se ilustra
esquemticamente en la Figura 5.15. Cada uno de los DFAs del sistema se puede
utilizar como punto de partida para los posteriores pasos de ingeniera del subsistema
que describe.
Se pueden especificar (limitar) los subsistemas y la informacin que fluye entre ellos
para que est disponible en los posteriores trabajos de ingeniera. La especificacin del
diagrama de arquitectura6 (EDA) presenta la informacin sobre cada subsistema y el
flujo de informacin entre los subsistemas. La EDA contiene una descripcin -
denominada narrativa de mdulo del sistema - de cada subsistema. La narrativa de
mdulo del sistema describe qu hace el subsistema, qu informacin procesa y cmo
est relacionado con otros subsistemas. Adems de las narrativas, la EDA puede
contener un diccionario de arquitectura - una lista con los elementos de informacin que
aparecen en el DFA y sus descripciones. Por ejemplo el elemento de informacin
nmero de serie de la Figura 5.14 podra describirse tal como muestra la Figura 5.16.
Como se puede ver en la figura, se utiliza una notacin especial para representar la
descripcin del elemento de informacin. La notacin (que se describe en el Captulo
7) indica qu nmero de serie es un elemento de datos compuesto - es decir, un
6
La EDA es una adaptacin de varias especificaciones diferentes sugeridas por Hartley y Pirbhai [HAT87].
Para Simplificar, lo hemos combinado en un nico documento
pg.: 33 de 42
Pressman, Cap 5
elemento de datos que est compuesto por otros tres elementos de datos: prefijo de
tipo de producto, identificador numrico y categora de coste. En realidad, en el
diccionario tambin estar definido cada uno de esos tres elementos. Los datos sobre
el tipo, el origen y el destino se obtienen directamente del DFA (Figura 5.14) y el camino
de comunicacin indica la manera en que se transfiere fsicamente la informacin desde
el origen y el destino. En otras circunstancias, el camino de comunicacin puede estar
definido como un bus o un canal que tendr que ser implementado como parte del
diseo del sistema. El diccionario de la arquitectura es una versin a nivel de sistema
del diccionario de requisitos - una importante notacin de anlisis del software que se
trata en detalle en el Captulo 7.
Muchos sistemas basados en computadora interactan con el mundo real de una forma
reactiva. Es decir, el sistema basado en computadora supervisa los sucesos del mundo
real mediante el hardware y el software y, basndose en esos sucesos, el sistema
impone un control sobre las mquinas, los procesos e incluso la gente que hace que se
produzcan los sucesos. Los sistemas de tiempo real y los sistemas empotrados
pg.: 34 de 42
Pressman, Cap 5
Muchos sistemas de la categora de los reactivos controlan mquinas y/o procesos (p.
ej.: refineras de petrleo o lneas areas comerciales) que han de funcionar con un
grado de fiabilidad extremadamente alto. Si el sistema falla, pueden producirse
prdidas humanas o econmicas importantes. Por esta razn, el panorama descrito por
Graham es lamentable y peligroso.
Hoy en da, se usan herramientas CASE para la modelizacin y la simulacin, con el fin
de eliminar sorpresas en la construccin de sistemas reactivos basados en
computadora. Estas herramientas se aplican durante el proceso de ingeniera del
software, durante la especificacin de los papeles del hardware, del software, de las
bases de datos y de la gente. El papel de la herramienta de modelizacin y de
simulacin de sistemas ha sido resumido por i-Logix, Inc., un vendedor de herramientas
de ingeniera del sistema [ILO90]:
pg.: 35 de 42
Pressman, Cap 5
La especificacin del sistema es un documento que sirve como base para la ingeniera
del hardware, la ingeniera del software, la ingeniera de bases de datos y la ingeniera
humana. Describe la funcin y el rendimiento de un sistema balado en computadora y
las restricciones que gobernarn su desarrollo. La especificacin limita cada uno de los
elementos del sistema asignados. Por ejemplo, proporciona al ingeniero de software
una indicacin del papel del software dentro del contexto del sistema como un todo y
dentro de los subsistemas descritos en los diagramas de flujo de la arquitectura. La
especificacin del sistema tambin describe la informacin (control y datos) que sirve
de entrada y de salida al sistema.
La tabla 5.4 muestra un esquema recomendado para la especificacin del sistema. Sin
embargo, tngase en cuenta que se trata slo de uno de los muchos esquemas que se
pueden seguir para definir un documento de descripcin del sistema. El contenido o el
formato actual puede venir impuesto por algn estndar de la ingeniera del software o
de la ingeniera de sistemas (p. ej.: DoD/STD 2167A) o por las preferencias y gustos
particulares.
Durante la ingeniera del sistema hay una tendencia natural a pasar por alto la revisin
e ir rpidamente al desarrollo. Los gestores tienden a ponerse cada vez ms nerviosos
cuando lo que se hace no es soldar componentes ni escribir cdigo. El personal tcnico
quiere pasar a las "tareas creativas de la ingeniera" tan pronto como sea posible. No
se debe ceder ante estas actitudes!
pg.: 36 de 42
Pressman, Cap 5
I. Introduccin
A. Ambito y propsito del documento
B. Visin general
1. Objetivos
2. Restricciones
II. Descripcin funcional y de datos
A. Arquitectura del sistema
1. Diagrama de contexto de la arquitectura
2. Descripcin del DCA
III. Descripcin de los subsistemas
A. Especificacin del diagrama de arquitectura para el subsistema n
1. Diagrama de flujo de la arquitectura
2. Narrativa de mdulo del sistema
3. Aspecto de rendimiento
4. Restricciones de diseo
5. Asignacin de componentes del sistema
B. Diccionario de la arquitectura
C. Diagramas y descripcin de la interconexin de la arquitectura
IV. Resultados de la modelizacin y la simulacin del sistema
A. Modelo del sistema utilizado para la simulacin
B. Resultados de la simulacin
C. Aspectos especiales del rendimiento
V. Aspectos del proyecto
A. Costes de desarrollo proyectados
B. Agenda proyectada
VI. Apndices
El nivel de detalle considerado durante la etapa tcnica de la revisin del sistema vara
de acuerdo con el nivel de detalle considerado durante la tarea de asignacin. La
revisin debe cubrir los siguientes aspectos:
pg.: 37 de 42
Pressman, Cap 5
Una vez que ha terminado la revisin del sistema, comienzan los caminos paralelos de
ingeniera. Los elementos de hardware, humanos y de base de datos de un sistema se
consideran dentro de sus correspondientes procesos de ingeniera. En el resto de este
libro, seguiremos el camino de la ingeniera del software.
5.8. RESUMEN
REFERENCIAS
pg.: 38 de 42
Pressman, Cap 5
OTRAS LECTURAS
Un excelente tutorial del IEEE por Thayer y Dorfman (System and Software
Requirements Engineering, IEEE Computer Society Press, 1990) trata las
interrelaciones entre los aspectos del anlisis de requisitos a nivel de software y a nivel
de sistema. Un manual de los mismos autores (Standars. Guidelines and Examples:
System and Software Requirements Engineering, IEEE Computer Society Press, 1990)
presenta un estudio detallado de los estndares y las directrices para el trabajo de
anlisis.
Los libros de Lesson (Systems Analysis and Design, SRA, 1981), McMenamin y Palmer
(Essential Systems Analysis, Yourdon Press, 1984) y Silver (Systems Analysis and
Design, Addison Wesley, 1989), proporcionan tiles tratamientos de la tarea de anlisis
de sistemas tal y como se aplica en el mundo de los sistemas de informacin. Los
libros contienen casos de estudio suplementarios que ilustran los problemas, los
mtodos y las soluciones que se pueden aplicar durante el anlisis de sistemas. Se
han publicado muchos otros libros de texto en el rea general del anlisis y la definicin
de sistemas. Entre las incorporaciones ms recientes a la literatura se encuentran:
pg.: 42 de 42