Universidad de Ibagué, Coruniversitaria.
Programa Ingeniería de Sistemas

Ingeniería del Software

Inicio

Generalidades

Ejercicios

Talleres

Proyecto

 

 REQUERIMIENTOS Y MODELOS DE SISTEMAS

 Requerimientos: Los requerimientos para un sistema de software determinan lo que hará el sistema y definen las restricciones de su operación e implementación.  Existen requerimientos del usuario y del sistema.   Los documentos de requerimientos de software son la declaración acordada de los requerimientos del sistema. Se estructuran de tal forma que puedan ser utilizados tanto por los clientes del sistema como por los desarrolladores del software. 

  Roger Pressman escribió un prólogo sobre las prácticas efectivas en los requisitos: "Es tu peor pesadilla. Un cliente entra en tu oficina, se sienta, te mira directo a los ojos, y dice: "Yo sé que usted piensa que entiende lo que digo, pero lo que usted no entiende es que lo que digo no es realmente lo que quiero decir".

Esto sucede de manera invariable cuando el proyecto está avanzado, después de que se han realizado los compromisos relativos al tiempo de entrega, las reputaciones están en juego y el dinero está en serio peligro.

Todos los que hemos trabajado en el negocio de los sistemas y el software por más de unos cuantos años hemos vivido esta pesadilla, y sólo unos pocos de nosotros hemos aprendido a continuar aún con esta circunstancia. Nosotros tenemos dificultades al comprender la información que adquirimos. Con frecuencia registramos los requisitos de una manera desorganizada e invertimos muy poco tiempo en verificar lo que registramos. Permitimos que el cambio nos controle en lugar de establecer mecanismos para controlarlo.

En resumen, fallamos al establecer un cimiento sólido para el sistema o software. Cada uno de estos problemas representan un reto. Cuando estos se combinan, la imagen es desalentadora, incluso para los gerentes y profesionales del software más experimentados, pero existen soluciones".

Puede descargar aquí una presentación sobre  Requerimientos.

 Los requerimientos del usuario deberían redactarse en lenguaje natural debido a que tienen que ser comprendidos por personas que no son técnicos expertos. Sin embargo, pueden expresarse requerimientos del sistema más detallados de forma más técnica. Una técnica ampliamente usada es documentar la especificación del sistema como un conjunto de modelos del sistema. Estos modelos son representaciones gráficas que describen los procesos del negocio, el problema a resolver y el sistema que tiene que ser desarrollado. Debido a las representaciones gráficas usadas, los modelos son a menudo más comprensibles que las descripciones detalladas en lenguaje natural de los requerimientos del sistema. Ellos constituyen también un puente importante entre el proceso de Análisis y Diseño.

 Un modelo es una vista abstracta de un sistema que ignora algunos detalles de dicho sistema. Se pueden desarrollar modelos de sistemas complementarios que presentan diferente información de éste.



 

  Los modelos de contexto muestran la manera en que el sistema que se modela se ubica en un entorno con otros sistemas y procesos. Los modelos arquitectónicos, de proceso y de flujo de datos se pueden utilizar como modelos de contexto.
 Los diagramas de flujo de datos se utilizan para modelar el procesamiento de datos llevado a cabo por un sistema. Éste se modela como un conjunto de transformaciones de datos en el que las funciones actúan sobre éstos.
 Los modelos de máquinas de estado se utilizan para modelar un comportamiento del sistema en respuesta a los eventos internos o externos.
 Los modelos semánticos de datos describen la estructura lógica de los datos que se importan o son exportados por el sistema. Estos modelos muestran entidades del sistema, sus atributos y la relación en la que participan. Se complementan con diccionarios de datos que suministran una descripción más detallada de éstos.


 Los modelos de objetos describen las entidades lógicas del sistema y su clasificación y agregación. Combinan un modelo de datos con uno de procesos. Los posibles modelos de Objetos que se pueden desarrollar incluyen modelos de herencia, de agregación y de comportamiento. Los diagramas de Casos de Uso son utilizados para la captura de requisitos. Todos los diagramas de CDU de un sistema constituyen el modelo de CDU del sistema.

 Puede descargar aquí una presentación sobre  Casos de Uso

(Contratos en UML)

http://iie.fing.edu.uy/ense/asign/desasoft/Teorico2/Contratos.pdf
http://www.uvmsf.cl/~lcastillo/media/Clase6MAD.pdf
http://www.elguille.info/colabora/puntoNET/canchala_UML.htm

 Los bancos de trabajo CASE ayudan al desarrollo de modelos del sistema proporcionándoles herramientas de edición, verificación, emisión de informes y de documentación.  Los siguientes son algunos productos CASE, unos de software propietario y otros de distribución libre:

 Poseidon, ArgoUML, Eclipse, Power-Designer, Rational Rose, NetBeans, Umbrello, Together, Visual Paradigm, Dia, IBM Rational XDE Modeler,   Objecteering, gModeler, MonoUML, Bulma (UML en Linux)...
 

 Ejercicios "amistosos"

  1. Elabore un modelo de contexto para un sistema de información de pacientes en el Hospital Federico Lleras. Puede hacer algunas suposiciones adicionales de los otros sistemas existentes del hospital, pero el modelo debe incluir un sistema de admisión de pacientes y uno de almacenamiento de imágenes de rayos X.

  2. Basándose en la experiencia adquirida con un cajero automático como el de Conavi o BanColombia, bosqueje un diagrama de flujo de datos que modele el procesamiento de datos involucrado en el retiro de efectivo que un cliente hace desde la máquina. Modele también un diagrama de Casos de Uso.

  3. Modele el procesamiento de datos que podría tener lugar en un sistema de correo electrónico. Modele el procesamiento de envío y recibo de correos de forma separada.

  4. Utilizando un enfoque de Entidad-Relación, describa un posible modelo de datos para el sistema bibliotecario de catalogación de Coruniversitaria.

  5. Desarrolle un modelo de objetos que incluya un diagrama jerárquico de clases y uno de agregación que muestre los principales componentes de un sistema computarizado de personal y el software del sistema.

 


Inicio | Biografía | Cursos | Para pensar... | Para reflexionar... | Para reir | Enlaces

 
Profesor Gustavo Martínez Villalobos
Email: gustavo.martinez@unibague.edu.co
Facultad de Ingeniería de Sistemas, Coruniversitaria
Ibagué, Tolima, COLOMBIA