Sei sulla pagina 1di 18

Repblica bolivariana de Venezuela Ministerio del Poder Popular para la Defensa Universidad Nacional Experimental Politcnica de la fuerza armada

Anlisis y Diseo de Sistema II

Caracas, 10 de Julio del 2013

INTRODUCCIN

El diseo orientado a objetos es la estructura abstracta de lo que queremos desarrollar. Dependiendo de la naturaleza del software se quiere facilitar la elaboracin de la aplicacin, debido a que los objetos describen de forma indefinida a los elementos del mundo en que vivimos. Los beneficios de la tecnologa orientada a objetos se fortalecen si se usa antes y durante un proceso de desarrollo del software una metodologa de anlisis y diseo orientado a objetos, de manera de obtener mejores resultados que se deben considerar en el DOO. La idea bsica del Diseo Orientado a objetos se basa en tres componentes y cinco capas, entre los componentes tenemos: El de mbito del problema, el de la interaccin humana y el del manejo de tarea y datos. Las capas son la de: Clase Objeto, la de Estructura, la de Atributos, la de Servicios y la de Tema. En esta investigacin se destacan las fases para el desarrollo de un diseo orientado a objeto, en el cual se define el alcance y limite del proyecto, a su vez gestiona una comprensin preliminar mediante un desarrollado bien claro y especifico en lo que se va a trabajar para luego proceder a validar los resultados obtenido, adems tomar decisiones tcnicas considerando arquitecturas de software/hardware de forma especficas respecto a caractersticas de implementacin, validar su correcto

funcionamiento y detectar fallas en su momento de manera que puedan ser depuradas. DISEO ORIENTADO A OBJETOS

El diseo orientado a objetos es el proceso de dividir una solucin en una cantidad determinada de objetos constituyentes y a su vez estructura abstracta de lo que queremos desarrollar. estructuras de control y datos pueden ser definidos de integrada. El enfoque de Coad y Yourdon, plantea que el diseo viene a ser entonces cada vez ms orientado hacia un lenguaje OO particular y a un ambiente de desarrollo. Las actividades de diseo orientado a objetos estn asociadas en los cuatro componentes principales del sistema final, adems los mismos son expandidos a lo largo de las cinco capas con que cuenta el diseo OO. es la Adems, el DOO en una manera

combina servicios de informacin, e incrementa la modularidad y las

COMPONENTES DEL DISEO ORIENTADO A OBJETO

Diseo del componente de dominio problema

Es el conjunto bsico de objetos funcionales que llega de la etapa de anlisis. Tales objetos directamente resuelven el problema que se pretende ser resuelto por el sistema que se est construyendo, lo que quiere decir que el diseo del CDP se termina en su mayor parte en la etapa de anlisis, completndose ahora con la ejecucin de tres actividades, las cuales son: Diseo de reuso: En esta etapa nuevas clases para reusar objetos que sern tiles ms adelante. Es el caso de los paquetes comerciales de clase generalizada como las que contienen las organizaciones de programadores OO con experiencia, ellos por lo general poseen una biblioteca de clases desarrolladas para los objetos. Estas bibliotecas y paquetes pueden contener clases que tienen atributos y servicios para

objetos similares a los requeridos en el diseo del sistema a desarrollarse. Estas clases reusables pueden ser aadidas al diseo como clases bases en una estructura Gen-Spec. Estructura de Implementacin: Debido a la implementacin en un lenguaje de programacin en particular podra ser necesario que en el diseo se agreguen estructuras que pueden ser de agregacin, o Gen-Spec, este ltimo para permitir que varias clases de objetos compartan un protocolo o estructura de datos. Estas estructuras usan el concepto de herencia para hacer ms fcil el enfoque de programacin. Acomodo al lenguaje: En esta seccin podemos corregir (si es necesario) el diseo para que las estructuras puedan ser construidas en el lenguaje de programacin seleccionado. Algunos lenguajes, por ejemplo, incluyen herencia mltiple (C++), otros solamente incluyen herencia simple (Java) y todava otros que posiblemente no incluyen herencia. En los casos ms restrictivos, los patrones de herencia del diseo deben ser modificados para permitir las capacidades del lenguaje de programacin. Diseo de componente de interfaz humana En esta actividad creamos los mens, reportes y pantallas interactivas que usarn las personas para trabajar con el sistema. Por lo general, se puede obtener ayuda en gran forma en clases de bibliotecas para el diseo de clases de Interfaz. Esta es un rea donde la reusabilidad de las clases Orientado a Objetos ha probado ser muy efectiva. Las clases de bibliotecas generalmente proporcionan generalizaciones de mens, ventanas, control de tipo de letra, y utileras de cortar y pegar.

Los prototipos son muy tiles durante el diseo de Interfaz para hacer ms fcil la manera en que trabajarn las clases de biblioteca con los objetos del Dominio. Por lo general, con la informacin obtenida en las entrevistas y casos de uso podemos recopilar informacin acerca de los perfiles de usuarios involucrados en el sistema y disear una interfaz correspondiente a su perfil. Con base a estos y otros perfiles, podemos seleccionar una interfaz.

Diseo de componentes de administracin de tarea y datos Estos dos componentes estn estrechamente relacionados con la

tecnologa de implementacin. El manejo de tareas est muy determinado por la configuracin de hardware de computacin, y el manejo de datos est muy determinado por el software de sistema disponible cuando el sistema este de hecho en ejecucin. El componente de manejo de tareas es ms importante cuando el sistema est ejecutndose en varios procesadores o computadoras. Una tarea es un conjunto de servicios relacionados que deben ejecutarse juntos (tal vez en el mismo procesador). Las tareas son activadas por el tiempo transcurrido o por un evento. Los objetos del manejo de tarea obedecen a activadores de tareas, asignacin de procesadores y prioridades cuando son llamados los servicios.

EJEMPLO DE COMPONENTE DE TAREAS:

El componente de manejo de tareas se aade al paquete de diagrama de capas existentes. Este componente es implementado y luego creando objetos. Tarea conforme son necesarios por el sistema. El componente de Manejo de Datos comprende, por lo general, clases y objetos necesarios para almacenar y recuperar a los otros objetos del sistema. El Componente de Manejo de Datos vara dependiendo de que la tecnologa de tiempo de ejecucin subyacente sea una base de datos orientada a objetos, una base de datos relacional o un sistema de archivos plano ordinario. En un ambiente de Base de Datos relacional o de archivo plano el componente de manejo de datos debe proporcionar servicios de almacenamiento al sistema DISEO DE DIAGRAMA DE MANEJO DE DATOS

Hay tres formas para disear el diagrama de manejo de datos:

1) Construir servicios de almacenamiento en cada Clase y Objetos en el diseo: Esto involucra, por lo general, una cantidad considerable de programacin de diseo adicional. 2) Crear una Clase y Objeto, Servidor Objeto, que proporcione todos los servicios de Base de Datos: Involucra un complejo objeto que sepa cmo guardar o recuperar todos los objetos del sistema. Cualquier peticin de almacenamiento se hace por medio de mensajes a este nico objeto cuyo diseo podra ser como el que se muestra a continuacin.

3) Crear una clase Almacenable es una combinacin de los dos enfoques anteriores. Cada objeto del sistema que deba ser guardado o recuperado es conectado luego a una estructura Gen-Spec con la clase almacenable.

EJEMPLO DE UNA CLASE ALMACENABLE:

CAPAS CON QUE CUENTA EL DISEO ORIENTADO A OBJETOS

1) Capa Clase Objeto: Esta capa indica las clases y objetos. 2) Capa de Estructura: Esta capa captura diversas estructuras de clases y objetos, como las relaciones uno a muchos. 3) Capa de Atributos: Esta capa detalla los atributos de las clases.

4) Capa de Servicios: Esta capa indica los mensajes y comportamientos de los objetos.

5) Capa de Tema: Esta capa divide el diseo en unidades de implementacin o asignaciones de equipos.

FASES DEL CICLO DE DESARROLLO ORIENTADO A OBJETOS

Definicin del proyecto y planificacin: Define el alcance y lmites del proyecto. Se realizan los estudios de factibilidad y relaciones costo/beneficio. Anlisis del Negocio: Es donde se modela el negocio o parte del mismo en orden de comprender la naturaleza, como se realizan actualmente las actividades, y como los usuarios desean que se realicen en el futuro. Provee una comprensin preliminar de reas especficas del negocio a ser informatizadas. Esta etapa tambin es conocida como estudio del sistema actual en otras metodologas.

Anlisis de requerimientos del sistema: aqu es donde se establece con claridad las capacidades requeridas para el nuevo sistema que se va a desarrollar. Estas capacidades son documentadas de modo tal que los desarrolladores tengan una especificacin clara sobre lo que se va a trabajar y para validar los resultados obtenidos. Diseo Lgico: Es donde los desarrolladores del sistema identifican los componentes de software/hardware necesarios para satisfacer los requerimientos, como tambin especifican las relaciones arquitecturales entre dichos componentes. El diseo lgico debe evitar detalles tcnicos especficos requeridos para mapear el diseo en un entorno de implementacin especfico. Diseo Fsico: Es donde se toman decisiones tcnicas considerando arquitecturas de hardware especficas, sistemas de bases de datos, lenguajes de programacin, a su vez se toman decisiones con respecto a caractersticas de implementacin como ser arquitectura cliente/servidor, distribucin de objetos, etc. Desarrollo: Aqu es donde un diseo fsico es implementado en un lenguaje de programacin, o entorno especfico de desarrollo. Prueba: se realizan testes del software para validar su correcto funcionamiento y detectar fallas que deban ser depuradas. Documentacin: desarrollo de documentacin tcnica sobre la aplicacin, manuales de usuario y manuales de procedimiento, etc.

ERRORES COMUNES EN EL DISEO

Clases

que

hacen

modificaciones

directas

otras

clases.

Son una violacin a la encapsulacin. Produce ligaduras ocultas innecesarias. Mal diseo. Clases con demasiada responsabilidades. Clases demasiado complejas. Delegar parte a subclases. Clases sin responsabilidades, no o cumplen un papel importante en nuestra aplicacin. Por simplicidad pueden eliminarse. Clases con responsabilidades que no se usan. Como resultado de disear las clases sin analizar las relaciones con las dems.

Uso inadecuado de la herencia. Mal diseo al no usar adecuadamente la relacin "es un".

Funcionalidad

repetida.

Se

duplica

el

cdigo

innecesariamente.

Condensar en una superclase comn.

todo de Desarrollo de Software -------------------------------------------------------------------------------El mtodo de diseo de software que se expone a continuacin es el mtodo de solucin de problemas mediante tcnicas de ingeniera. 1. Definicin del Problema En esta etapa, tambin conocida como Especificacin de Requerimientos, se establece el problema, aclarndolo lo ms posible. Es la parte ms crtica de la solucin. Amerita un estudio cuidadoso. Se deben identificar las teoras, fundamentos y/o principios matemticos, fsicos o de cualquier ndole que

permitan fundamentar satisfactoriamente el problema. Se deben eliminar los aspectos poco importantes para el planteamiento del problema Si el problema no est completamente definido se deben allegar la informacin adicional 2. Anlisis En esta etapa se deben identificar las entradas del problema, los resultados deseados o salidas y cualquier requerimiento o restriccin adicional enla solucin Identificar qu informacin se proporciona (datos del problema) Identificar qu resultados deben calcularse y/o desplegarse Determinar la forma y las unidades en qu se deben desplegar los resultados Acotar las teoras, fundamentos y/o principios necesarios haciendo los supuestos y simplificaciones necesarias Identificar los tipos y estructuras de datos necesarios para los datos del problema y para los resultados Identificar las funciones u operaciones necesarias para cubrir los requerimientos del problema 3. Diseo El diseo consiste bsicamente en desarrollar una lista de pasos llamados algoritmo o receta de la solucin, vericicando que el problema se resuelve como se desea. Es la parte ms difcil del proceso de solucin del problema Debe verificarse que es correcto el algoritmo antes de continuar Se auxilia de tcnicas de diseo como pseudocdigo y diagramas de flujo. 4. Implementacin Esta etapa consiste en implementar o escribir el algoritmo como un programa de computadora en un lenguaje de programacin, convirtiendo cada paso del algoritmo en instrucciones en el lenguaje de programacin. Se requiere el conocimiento de un lenguaje de programacin particular en lo referente a su gramtica, sintxis y semntica, para ello se recomienda leer el manual del

programador o su equivalente y utilizarlo como consulta siempre que sea necesario. Una manera de iniciar el conocimiento del lenguaje de programacin es interpretando programas ejemplo, ejecutarlos, observar los resultados y analizar las entradas, las salidas y los procesos de clculo y/o flujo de informacin mediante instrucciones de salida que finalmente . Se requiere mnimo de las siguientes herramientas: Un editor de texto para escribir el cdigo fuente como un archivo de tipo texto plano (por ejemplo notepad para guardar los archivos como html) Un intrprete que procese el cdigo fuente y lo ejecute (por ejemplo el browser que ejecuta scripts en javaScript al cargar la pgina web) Un debugger que nos ayude a depurar los errores y a corregir el cdigo fuente hasta lograr un programa ejecutable sin errores (por ejemplo el mismo browser que enva mensajes a encontrar errores al ejecutar nuestro programa) Se deben utilizar los tipos y estructuras de datos ms adecuados que permita el lenguaje de programacin, teniendo especial cuidado en el uso de tipos de datos reales y los errores de redondeo que introducen y pueden alterar los resultados. 5. Verificacin y Prueba Esta etapa consiste en probar el programa completo y verificar que trabaja como se esperaba Se deben probar cada una de las funciones primero por separado y luego en conjunto Se debe probar el programa completo con distintos conjuntos de datos de prueba En caso de que haya errores repetir el paso 4 y 5 hasta la satisfaccin de los requerimientos

CONCLUSIN

El diseo orientado a objeto lo podemos definir como un proceso que consiste en la construccin de un modelo de objetos para una solucin, de manera que obtengamos buenos resultados a la hora de disear el sistema. Este tipo de diseo se encarga de describir un proceso, donde se pueda compartir a travs de una orientacin de objetos, la cual va describir cada modelo del sistema. El diseo orientado a objetos se ha desarrollado con el objetivo de responder a las necesidades de flexibilidad en los Sistema de informacin basados en computadora.

Existen varias metodologas orientadas a objetos como: el mtodo de Booch, el mtodo de Rumbaugh, y el mtodo de Jacobson; nosotros hicimos hincapi en la metodologa de Coad y Yourdon, ya que es considerada la ms sencilla al momento de ser aplicada por analistas con poca experiencia. A pesar de que existen varias metodologas, estas tienen diferencias entre ellas, que a su vez trabajan con el mismo modelo o prototipo basndose en los mismos fundamentos de modelacin de objetos. La metodologa de Coad y Yourdon se basa en cinco capas que son: la capa clase objeto, el cual indica las clases y objetos; la capa de estructura que es la que se encarga de capturar las diferentes estructuras de clases y objetos, como las relaciones uno a muchos; la capa de atributos que es la que detalla los atributos de las clases; tambin esta la capa de servicios que es la que nos indica los mensajes y comportamientos de los objetos y por ultimo tenemos la capa de tema que es la que se encarga de compartir el diseo en unidades de implementacin o asignaciones de equipos. Este tipo de diseo tiene mayor efectividad en las demandas organizacionales para nuevos sistemas que requieran mantenimiento, adaptacin y rediseo continuos. Por lo que podemos decir que el diseo orientado a objeto nos permite crear un diseo ms complejo de un sistema, de manera que nos facilite su mayor visualizacin y comprensin, los cuales pueden disearse en diferentes metodologas que nos permita obtener una mayor efectividad y eficiencia del sistema.

Potrebbero piacerti anche