Tema II

Especificación y diseño de software

Cuando el software es concebido, se debe iniciar con una fase
donde es necesario describir las cualidades de éste. 

Al hecho de describir las características del software se le conoce
como especificación. Dicha especificación se puede realizar
usando una notación formal usando herramientas matemáticas o
usando un lenguaje de especificaciones basados en conceptos
de cómputo.

Las especificaciones basadas en conceptos de cómputo se basa
principalmente en modelos en los cuales se considera la información
a partir de los conceptos base que la componen. 
El modelo Entidad/Relación capta todos los conceptos de un sistema
como una entidad y relaciones entre ellas.
El modelo de análisis estructurado permite describir el sistema como
una jerarquia de funciones. Este fue concebido por Yourdon.

Especificaciones orientadas a objetos al inicio fueran diversas;
OMT de Rumbaugh; ingenieria de casos de uso de Jacobson; 
metodologia OO de Booch.

La unificación de las tres metodologías anteriores llevo a 
concebir UML, el lenguaje unificado de modelado.

UML es utilizado para:
  + Especificar un sistema de manera grafica
  + Como una herramienta CASE para generar código
  + Como documentación de la arquitectura del sistema de información

Resumen de conceptos de objetos.

* Objeto. Unidad de información que contiene propiedades para
almacenar datos y métodos para procesar.
* Clase. Descripción formal del concepto de un objeto, indicada
en un lenguaje de cómputo.
* Relacion. Es la manera como dos o mas clases colaboran.
Existian relaciones de composición, asociación y agregación.
* Encapsulamiento. Cubrir u ocultar el comportamiento de un objeto
* Mensaje. Invocación a un servicio o método de un objeto.
* Herencia. capacidad de una clase de extender la definición de
otra clase.
* Polimorfismo. Capacidad de un objeto de comportarse de manera
distinta, dependiendo del contexto.
* Interfase. Contrato que se establece entre un cliente para definir
los servicios que el proveedor esta obligado a proporcionar bajo
el mandato de un conjunto de aseveraciones.

UML en la especificación de objetos.

Para especificar un sistema OO se puede ver de distintas maneras:
  + Estaticamente. Estructura
  + Dinamicamente. Comportamiento.
  + Arquitectura. Ambiente donde se libera el sistema

Ciclo de vida del software se presenta en las sig. fases.
  + Análisis de requerimientos. Consiste en expresar en un caso
de uso cada función del sistema
  + Construir un modelo conceptual. Es descubrir los conceptos
básicos del sistema, concluyendo con un glosario.
  + Interacciones .Un conjunto de relaciones entre conceptos.
  
  + Clasificar cada concepto indicando sus atributos y métodos.
  Diagrama de clases.
  + Descripción de la colaboración entre clases, indica el 
  comportamiento de las clases a nivel de instancias; se puede
  indicar la secuencia de mensajes.
  + Patrones de diseño. Organizar las clases para lograr que
  se cumplan las metas de la orientación a objetos.

   + Codificar. Consiste en mapear cada clase y colaboración
   a código fuente.


   + Elaborar los componentes del sistema. Especificar la integración
   del código en módulos (componentes, ejecutables o bibliotecas)
   + Liberar el sistema. Consiste en indicar donde reside físicamente
   el sistema y los pasos para liberarlo.


Casos de uso.

Capturan los requerimientos de un sistema.
Un caso de uso se especifica de dos maneras:
  + Graficamente
  + Descriptivamente en un texto que separa las funciones
  del usuario sobre el sistema.

  Un actor es una entidad que aplica las funciones del sistema.
  Caso de uso es la descripción de las funciones del sistema.
  Un actor aplica uno o varios casos de uso.

Ejemplo. Sistema de consultas de una biblioteca.

  Actor. El usuario de la biblioteca.
  Casos de uso.
     + Consulta. Operación en la cual el usuario indica
                 el criterio de busqueda del libro

Caso de uso: Consulta al catalogo de una biblioteca universitaria
Actores: Usuario de la biblioteca (quien inicia las operaciones
				sobre el sistema)
Propósito: Buscar un libro bajo un criterio e indicar
	   su clasificación dentro de la biblioteca.

   Actor			Sistema (Respuesta)
 1. Inicia interacción con
 el catalogo			
				Presenta todos los posibles
				catálogos de donde se puede			
				aplicar la consulta (acervo
				bibliográfico, revistas, tesis
				cdrom, audiovisuales)
2. Seleccionar el
catalogo que le intereso
al usuario		
				Un conjunto de criterios a llenar
				para realizar la busqueda
				( busqueda por palabra clave
				  ya sea por titulo, autor, materia
 				  indicando el tipo de material
				  y el método de busqueda (inteligente,
				exacta))

3. Alimentar el criterio
e indicar la acción de buscar
				Indica un conjunto de titulos o
				la ausencia de los mismos con
				 el criterio usado
4. Fin de la consulta
							

































  









 





























































































































    Source: geocities.com/gusdelact/cib5132001

               ( geocities.com/gusdelact)