Powered By Blogger

lunes, 5 de julio de 2010

Unidad I Requerimientos

Check out this SlideShare Presentation:

domingo, 16 de mayo de 2010

UNIDAD 6 "DISEÑO Y ARQUITECTURA DE PRODUCTOS DE SOFTWARE"


6.1 DESCOMPOSICION MODULAR


El diseño modular es una metodología de desarrollo de programas complejos, que utiliza la filosofía TOP-DOWN, conocida también como diseño descendente o refinamiento por pasos sucesivos; o comúnmente conocido por los programadores como “Divide y Vencerás”; puesto que enfrenta un problema desde lo abstracto (TOP) hacia lo particular (DOWN).

Esta técnica consiste en dividir el problema en un conjunto de subproblemas, y estos a su vez en otros de mayor facilidad de trabajo; generando los Módulos Funcionales.

La descomposición modular contribuye a las características deseables para la programación estructurada; y que permite resolver cada módulo de forma independiente y, si no se sabe resolver alguno de ellos, puede asignársele un nombre y pasar al desarrollo de otro módulo y, más adelante retomar el módulo incompleto para darle solución al obtener mayor conocimiento sobre dicho proceso, es decir, la solución del problema no se detiene por falta de conocimiento de algún proceso en particular..


6.2 ARQUITECTURAS DE DOMINIO ESPECÍFICO

El reto para el diseño es diseñar el software y hardware para proporcionar características deseables a los sistemas distribuidos y, al mismo tiempo, minimizar los problemas propios a estos sistemas. Es necesario comprender las ventajas y desventajas de las diferentes arquitecturas de sistemas distribuidos. Aquí se tratan dos tipos genéricos de arquitecturas de sistemas distribuidos: Arquitectura cliente-servidor. En este caso el sistema puede ser visto como un conjunto de servicios que se proporcionan a los clientes que hacen uso de dichos servicios. Los servidores y los clientes se tratan de forma diferente en estos sistemas.

Arquitecturas de objetos distribuidos. Para esta arquitectura no hay distinción entre servidores y clientes, y el sistema puede ser visto como un conjunto de objetos que interaccionan cuya localización es irrelevante. No hay distinción entre un proveedor de servicios y el usuario de estos servicios. Ambas arquitecturas se usan ampliamente en la industria, pero la distribución de las aplicaciones generalmente tiene lugar dentro de una única organización. La distribución soportada es, por lo tanto, intraorganizacional. También se pueden tomar dos tipos más de arquitecturas distribuidas que son más adecuadas para la distribución interorganizacional: arquitectura de sistemas peer-to-peer (p2p) y arquitecturas orientadas a servicios. Los sistemas peer-to-peer han sido usados principalmente para sistemas personales, pero están comenzando a usarse para aplicaciones de empresa.

Son modelos de arquitectura los cuales son específicos para algún dominio de aplicación.
Dos tipos de modelos de dominio específico son:


Modelos Genéricos. Estos son abstracciones de un número de sistemas reales y que encapsulan las características principales de estos sistemas.
Modelos de Referencia. Estos son más abstractos, son modelos idealistas. Proporcionan un significado de información con respecto a sistemas de clases y comparación de diversas arquitecturas.
MODELOS GENÉRICOS (1)

Un modelo de Compilador es un ejemplo conocido a través de otros modelos que existen en dominios de aplicaciones especializadas:
• Analizador Léxico
• Tabla de Símbolos
• Analizador de Sintáxis
• Analizador Semántico
• Generador/Optimizador de Código
• Un modelo de compilador genérico puede ser organizado de acuerdo a diversos modelos de arquitectura.
ARQUITECTURAS DE REFERENCIA

Los modelos de referencias son derivados del estudio del dominio de una aplicación, en lugar del estudio de sistemas existentes.
Pueden ser utilizados como una base para… la implementación de un sistema o para comparar sistemas diversos.

Actúan como un estándar, contra el cual los sistemas que pueden ser evaluados.
El modelo OSI es un modelo en capas para sistemas de comunicación, y además, es un modelo de referencia.
La arquitectura de software es la responsable de la derivación de un modelo de sistema estructural, un modelo de control y un modelo de descomposición en subsistemas.
Los sistemas grandes rara vez conforman un modelo simple de arquitectura.
Los modelos de estructuración de un sistema incluyen modelos repositorios, los modelos cliente-servidor y los modelos de máquina abstracta.

Los modelos de control incluyen control centralizado y modelos manejadores de eventos.Los modelos de descomposición modular incluyen los modelos orientados aobjetos y los modelos de flujo de datos.


6.2.2.- ARQUITECTURAS CLIENTE SERVIDOR.


Esta arquitectura un modelo para el desarrollo de sistemas de información en el que las transacciones se dividen en procesos independientes que cooperan entre sí para intercambiar información, servicios o recursos. Se denomina cliente al proceso que inicia el diálogo o solicita los recursos y servidor al proceso que responde a las solicitudes.
En este modelo las aplicaciones se dividen de forma que el servidor contiene la parte que debe ser compartida por varios usuarios, y en el cliente permanece sólo lo particular de cada usuario.Los clientes realizan generalmente funciones como:

• Manejo de la interfaz de usuario.
• Captura y validación de los datos de entrada.
• Generación de consultas e informes sobre las bases de datos.
• Por su parte los servidores realizan, entre otras, las siguientes funciones:
• Gestión de periféricos compartidos.
• Control de accesos concurrentes a bases de datos compartidas.
• Enlaces de comunicaciones con otras redes de área local o extensa.


Siempre que un cliente requiere un servicio lo solicita al servidor correspondiente y éste le responde proporcionándolo. Normalmente, pero no necesariamente, el cliente y el servidor están ubicados en distintos procesadores. Los clientes se suelen situar en ordenadores personales y/o estaciones de trabajo y los servidores en procesadores departamentales o de grupo.

Entre las principales características de la arquitectura cliente/servidor se pueden destacar las siguientes:

• El servidor presenta a todos sus clientes una interfaz única y bien definida.
• El cliente no necesita conocer la lógica del servidor, sólo su interfaz externa.
• El cliente no depende de la ubicación física del servidor, ni del tipo de equipo físico en el que se encuentra, ni de su sistema operativo.
• Los cambios en el servidor implican pocos o ningún cambio en el cliente.

6.2.3.- DISEÑO DE SOFTWARE DISTRIBUIDO

Sistemas cuyos componentes hardware y software, que están en ordenadores conectados en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el logro de un objetivo. Se establece la comunicación mediante un protocolo prefijado por un esquema cliente-servidor.
Características:
• Concurrencia.- Esta característica de los sistemas distribuidos permite que los recursosdisponibles en la red puedan ser utilizados simultáneamente por los usuarios y/o agentes que interactúan en la red.
• Carencia de reloj global.- Las coordinaciones para la transferencia de mensajes entre los diferentes componentes para la realización de una tarea, no tienen una temporización general, esta más bien distribuida a los componentes.
• Fallos independientes de los componentes.- Cada componente del sistemapuede fallar independientemente, con lo cual los demás pueden continuar ejecutando sus acciones. Esto permite el logro de las tareas con mayor efectividad, pues el sistema en su conjunto continua trabajando.
Evolución:
Procesamiento central (Host).- Uno de los primeros modelos de ordenadores interconectados, llamados centralizados, donde todo el procesamiento de la organización se llevaba a cabo en una sola computadora, normalmente un Mainframe, y los usuarios empleaban sencillos ordenadores personales.
Los problemas de este modelo son:
• Cuando la carga de procesamiento aumentaba se tenía que cambiar el hardware del Mainframe, lo cual es más costoso que añadir más computadores personales clientes o servidores que aumenten las capacidades.
• El otro problema que surgió son las modernas interfases gráficas de usuario, las cuales podían conllevar a un gran aumento de tráfico en los medios de comunicación y por consiguiente podían colapsar.

6.2.4.- DISEÑO DE SOFTWARE DE TIEMPO REAL.
El software de tiempo real esta muy acoplado con el mundo externo, esto es, el software de tiempo real debe responder al ámbito del problema en un tiempo dictado por el ámbito del problema. Debido a que el software de tiempo real debe operar bajo restricciones de rendimiento muy rigurosas, el diseño del software esta conducido frecuentemente, tanto por la arquitectura del hardware como por la del software, por las características del sistema operativo, por los requisitos de la aplicación y tanto por los extras del lenguaje de programación como prospectos de diseño.
La computadora digital se ha convertido en una maquina omnipresente en al vida diaria de todos nosotros. Las computadoras nos permiten ver juegos, así como contar el tiempo, optimizar el gasto de gasolina de nuestras ultimas generaciones de coches y programar a nuestros aparatos.
Todas estas interacciones con las computadoras sean útiles o intrusivas son ejemplos de computación de tiempo real. La computadora esta controlando algo que interactua con la realidad sobre una base de tiempo de hecho, el tiempo es la esencia de la interacción.

Los sistemas de tiempo real generan alguna acción en respuesta a sucesos externos. Para realizar esta función, ejecutan una adquisición y control de datos a alta velocidad bajo varias ligaduras de tiempo y fiabilidad. Debido a que estas ligaduras son muy rigurosas, los sistemas de tiempo real están frecuentemente dedicados a una única aplicación.
Durante muchos años, los principales consumidores de sistemas de tiempo real eran militares. Sin embargo, hoy la significativa reducción del coste del hardware ha hecho posible para la mayoría de las compañías, proporcionar sistemas (y productos) de tiempo real para diversas aplicaciones, que incluyen control de procesos, automatización industrial, investigación medica y científica, gráficos de computadoras, comunicaciones locales y de largo alcance, sistemas aeroespaciales, prueba asistida por computadora y un vasto abanico de instrumentación industrial.
Consideraciones Sobre los Sistemas
Como cualquier sistema basado en computadora, un sistema de tiempo real debe integrar hardware, software, hombres y elementos de una base de datos, par conseguir adecuadamente un conjunto de requisitos funcionales y de rendimiento.
El problema para los sistemas de tiempo real es realzar la asignación importante como la función, pero las decisiones de asignación relativas al rendimiento son frecuentemente difíciles de hacer con seguridad.
¿Puede un algoritmo de procesamiento cumplir varias ligaduras de tiempo o debe construirse un hardware especial para hacer el trabajo?
¿Puede un sistema operativo cumplir nuestras necesidades para un manejo eficiente de interrupciones multitareas y comunicaciones, o especificado, acoplado con el software propuesto, cumplir los criterios de rendimiento? Estas y otras muchas preguntas deben ser respondidas por el ingeniero de sistemas de tiempo real.

UNIDAD 6 "DISEÑO Y ARQUITECTURA DE PRODUCTOS DE SOFTWARE"

viernes, 16 de abril de 2010

jueves, 15 de abril de 2010

martes, 10 de marzo de 2009

workplace designer

IBM Workplace Designer es una herramienta de desarrollo basada en estándares que utiliza la infraestructura de IBM Workplace Client para generar aplicaciones basadas en formularios y scripts.
Workplace Designer es la forma más rápida de crear componentes para las aplicaciones de Workplace.
• Requiere menos formación por parte de los desarrolladores debido al entorno de diseño visual intuitivo, de alto nivel y de fácil uso.
• Le permite automatizar los procesos empresariales existentes a través del desarrollo basado en formularios y que da soporte a la importación de formularios existentes de Lotus Domino para iniciar la creación de componentes
• Aprovecha los conjuntos de habilidades existentes del personal de desarrollo a través del uso de JavaScript y proporciona potentes scripts con interfaces de JavaScript para funciones integradas y acceso a las API de Workplace y a otras API
• Da un soporte más eficaz a las robustas características de seguridad y de administración de las aplicaciones de Workplace
• Simplifica el despliegue remoto y la distribución de componentes en la plataforma Workplace

Novedades de Workplace Designer
• Menos formación para los desarrolladores, ya que su entorno de diseño visual intuitivo es fácil de utilizar y de alto nivel.
• Permite automatizar los procesos empresariales existentes a través de un desarrollo basado en formularios y compatible con la importación de los formularios existentes de Lotus Domino para iniciar la creación de componentes.
• Aprovecha el conjunto existente de conocimientos del personal de desarrollo en el uso de JavaScript y proporciona potentes scripts con interfaces de JavaScript, para funciones integradas y acceso a las API de Workplace y a otras API.
• Ofrece un soporte eficaz para las sólidas funciones de seguridad y de administración de las aplicaciones de Workplace.
• Simplifica el despliegue remoto y la distribución de componentes de la plataforma Workplace.
• Añade la función de notificación de presencia de otros usuarios (conversación, menú de personas), sin necesidad de programación, para la colaboración instantánea.
• Ofrece una instalación integrada con Workplace Managed Client. Esto implica que la tecnología de la información (IT) puede gestionar de manera centralizada el despliegue de Workplace Designer.

Workplace Designer es una herramienta de desarrollo basada en estándares que se ejecuta en la estación de trabajo dentro de la infraestructura de Workplace Managed Client en Microsoft Windows y Linux.

componentes de aplicaciones para Workplace Collaboration Services y Workplace Services Express. Las aplicaciones de composición que se ejecutan en el entorno de Workplace se pueden mejorar con los componentes creados y desplegados desde Workplace Designer. La interfaz de usuario, intuitiva y visual, las potentes posibilidades de script y el despliegue de componentes simplificado, convierten a Workplace Designer en la forma más rápida y sencilla de crear y desplegar nuevos componentes para las aplicaciones de Workplace.

Workplace Designer contiene una interfaz de diseño visual y potentes posibilidades de scripts que serán familiares a los desarrolladores de aplicaciones Lotus Domino y que resultarán intuitivas para los desarrolladores de Microsoft Visual Basic y para otros desarrolladores de scripts. No es necesario que los desarrolladores que utilizan Workplace Designer tengan habilidades de desarrollo Java. Quiénes las tengan, pueden utilizar las API de Workplace y otras API de Java que se exponen a través de Workplace Designer.

-------BIBLIOGRAFIA----------
work place designer es la forma mas rápida de crear componentes para las aplicaciones de work place
recuperado el 10/03/09

http://www.gsi.com.ar/otrosoftware/workplacedesigner.html


IBM demostracion-IBM work place designer

recuperado el 10/03/09

http://www.demos.ibm.com/on_demand/Demo/es/IBM_Demo_IBM_Workplace_Designer-Dec05.html?S=swgMX