Diseño mediante prototipos
-
Upload
jose-castillo -
Category
Documents
-
view
1.700 -
download
1
Transcript of Diseño mediante prototipos
Diseño del Sistema
El diseño del sistema es la estrategia de alto nivel para resolver
problemas y construir una solución. Es el arte de definir la arquitectura de
hardware y software, componentes, módulos y datos de un sistema de
cómputo para satisfacer ciertos requerimientos. Es la etapa posterior al
análisis de sistemas. El diseño de sistemas tiene un rol más respetado y
crucial en la industria de procesamiento de datos. La importancia del
software multiplataforma ha incrementado la ingeniería de software a
costa de los diseños de sistemas.
Fases del diseño
El diseño del sistema es la estrategia de alto nivel para resolver
problemas y construir una solución. Éste incluye decisiones acerca de la
organización del sistema en subsistemas, la asignación de subsistemas a
componentes hardware y software. El diseño de sistemas es la primera
fase de diseño en la cual se selecciona la aproximación básica para
resolver el problema. Durante el diseño del sistema, se decide la
estructura y el estilo global. La arquitectura del sistema es la organización
global del mismo en componentes llamados subsistemas. La arquitectura
proporciona el contexto en el cual se toman decisiones más detalladas en
una fase posterior del diseño donde el diseñador de sistemas debe tomar
las siguientes pasos o fases para el desarrollo del sistemas:
- Organizar el sistema en subsistemas
- Identificar la concurrencia inherente al problema
- Asignar los subsistemas a los procesadores y tareas
- Seleccionar una aproximación para la administración de
almacenes de datos
- Manejar el acceso a recursos globales
- Seleccionar la implementación de control en software
- Manejar las condiciones de contorno
- Establecer la compensación de prioridades
Organizar el sistema en subsistemas
En todas las aplicaciones, salvo en las más pequeñas, el primer
paso para diseñar un sistema consiste en dividir el sistema en un
pequeño número de componentes. Cada uno de los componentes
principales de un sistema se llama subsistema. Cada subsistema abarca
aspectos del sistema que comparten alguna propiedad común.
Un subsistema no es ni una función ni un objeto, sino un paquete
de clases, asociaciones, operaciones, sucesos y restricciones
interrelacionados, y que tienen una interfaz razonablemente bien definida
y pequeña con los demás subsistemas. Normalmente, un subsistema se
identifica por los servicios que proporciona. Los subsistemas deberían
definirse de tal manera que la mayoría de las interacciones se produzcan
dentro de y no entre los límites de distintos subsistemas, con objeto de
reducir las dependencias existentes entre ellos.
Identificar la concurrencia inherente al problema
EN el modelo de análisis, al igual que en el mundo real y en el
hardware, todos los objetos son concurrentes. En una implementación, sin
embargo, no todos los objetos del software son concurrentes, porque un
procesador puede dar soporte a muchos objetos. En la práctica, se
pueden implementar muchos objetos en un único procesador si los
objetos no pueden estar activados a la vez. Un objetivo importante del
diseño del sistema es identificar los objetos que deben estar activados
concurrentemente, y los objetos que tienen actividad que sea mutuamente
exclusiva. Estos últimos objetos se pueden plegar y juntar en un único hilo
de control o tarea.
Asignación
Cada subsistema concurrente debe ser asociado a una unidad de
hardware, bien a un procesador de propósito general o a una unidad
funcional especializada. El diseñador del sistema deberá:
- Estimar las necesidades de rendimiento y los recursos necesarios
para satisfacerlas.
- Seleccionar las implementaciones de hardware o de software
para los subsistemas.
- Asignar los subsistemas de software a los procesadores para
satisfacer las necesidades de rendimiento y para minimizar la
comunicación entre procesadores.
Almacenamiento de datos
En general, todo almacén de datos puede combinar estructuras de
datos, archivos y bases de datos implementados en memoria o bien en
dispositivos de almacenamiento secundario. Los distintos tipos de
almacenes de datos proporcionan diversas compensaciones entre costo,
tiempo de acceso, capacidad y fiabilidad. Los archivos son una forma de
almacenamiento de datos barata, sencilla y permanente. Sin embargo, las
operaciones de archivos son de bajo nivel y las aplicaciones deben incluir
un código adicional para proporcionar un nivel de abstracción adecuado.
Las implementaciones de los archivos son distintas según los diferentes
sistemas de computadoras, así que las aplicaciones transportables deben
de aislar cuidadosamente las dependencias con sistemas de archivos.
Existen varios tipos de sistemas de gestión disponibles comercialmente:
jerárquicos, en red, relacionales, orientados a objetos y lógicos. Estos
sistemas intentan reservar los datos de acceso frecuente en memoria, con
objeto de alcanzar la mejor combinación posible de costo y rendimiento
desde y hacia la memoria y el almacenamiento en disco.
Administración de los recursos
El diseñador de sistemas debe identificar los recursos globales y
tiene que determinar mecanismos para controlar el acceso a ellos. Entre
los recursos globales se cuentan: unidades físicas, tales como
procesadores, unidades de cinta y satélites de comunicación; espacio, tal
como el espacio en disco, una pantalla de una estación de trabajo, y los
botones de un ratón; nombres lógicos, tales como la identificación de los
objetos, nombres de archivos y nombres de clases; y el acceso a datos
compartidos, tales como bases de datos. Si el recurso es un objeto físico
se puede controlar a sí mismo estableciendo un protocolo para obtener el
acceso dentro de un sistema concurrente. SI el recurso es una entidad
lógica, tal como la identidad de un objeto, o una base de datos, existe el
peligro de que el acceso produzca conflictos en un entorno compartido.
Podría ser, por ejemplo, que varias tareas independientes utilizasen
simultáneamente la misma identidad de un objeto. Todo recurso global
debe ser poseído por un objeto guardián que controle el acceso a éste.
Un objeto guardián puede controlar varios recursos.
Software de control
La fase de análisis determina lo que debe hacer la implementación
y la fase de diseño del sistema determina el plan de ataque. La fase de
diseño de objetos determina las definiciones completas de las clases y
asociaciones que se utilizarán en la implementación, así como las
interfaces y algoritmos de los métodos utilizados para implementar las
operaciones. La fase de diseño de objetos añadirá objetos internos para
la implementación y optimizará las estructuras de datos y los algoritmos.
El diseño de objetos es análogo a la fase preliminar de diseño del ciclo de
vida de desarrollo de software tradicional.
Diseño de los objetos
La fase de análisis determina lo que debe hacer la implementación
y la fase de diseño del sistema determina el plan de ataque. La fase de
diseño de objetos determina las definiciones completas de las clases y
asociaciones que se utilizarán en la implementación, así como las
interfaces y algoritmos de los métodos utilizados para implementar las
operaciones. La fase de diseño de objetos añadirá objetos internos para
la implementación y optimizará las estructuras de datos y los algoritmos.
El diseño de objetos es análogo a la fase preliminar de diseño del ciclo de
vida de desarrollo de software tradicional.
Aspectos generales del diseño de objetos
Durante el diseño de objetos, se ejecuta la estrategia seleccionada
durante el diseño del sistema y se rellenan los detalles. Se produce un
desplazamiento del énfasis pasando de los conceptos del dominio de la
aplicación a los propios de las computadoras. Los objetos descubiertos
durante el análisis sirven como esqueleto del diseño, pero el diseñador
debe escoger distintas formas de implementarlos con el objetivo de
minimizar el tiempo de ejecución, la memoria y el costo. En particular, las
operaciones identificadas durante el análisis deben expresarse en forma
de algoritmos, descomponiendo las operaciones complejas en
operaciones internas más sencillas. Las clases, atributos y asociaciones
del análisis deben de implementarse en forma de estructuras de datos
específicas. Es necesario introducir nuevas clases de objetos para
almacenar resultados intermedios durante la ejecución del programa y
para evitar la necesidad de recalcularlos. La optimización del diseño no
debería llevarse a extremos exagerados porque la facilidad de
implementación y mantenimiento y la extensibilidad son también objetivos
importantes.
Algoritmos
Cada operación especificada en el modelo funcional debe ser
formulada como un algoritmo. El análisis de especificaciones dice lo que
hace la operación desde el punto de vista de sus clientes y los algoritmos
muestran cómo se hace.
El diseñador de algoritmos debe:
- Seleccionar algoritmos que minimicen el costo de implementar las
operaciones
- Seleccionar estructuras de datos adecuadas para los algoritmos
- Definir nuevas clases y operaciones internas según sea necesario
- Asignar la responsabilidad de las operaciones a las clases
adecuadas
Controles
El diseñador debe refinar la estrategia para implementar los
modelos de estados y sucesos presentes en el modelo dinámico. Durante
el diseño de objetos, es necesario desarrollar esta estrategia.
Para implementar el modelo dinámico hay tres aproximaciones
básicas:
- Utilizar la posición dentro del programa para almacenar el estado
(sistema controlado por procedimientos
- Implementación directa de un mecanismo de máquina de estados
(sistema controlado por sucesos)
- Utilización de tareas concurrentes
Asociaciones
Las asociaciones son el pegamento de nuestro modelo de objetos,
y proporcionan vías de acceso entre objetos siendo entidades
conceptuales útiles para el modelado y el análisis. Durante la fase de
diseño de objetos hay que formularse una estrategia para implementar las
asociaciones habidas en el modelo de objetos. Se puede seleccionar una
estrategia global para implementar todas las asociaciones uniformemente
o bien seleccionar una técnica particular para cada asociación, teniendo
en cuenta la forma en que será utilizada en la aplicación.
Preparación y presentación de la propuesta de un diseño de
sistemas
Preparación de la propuesta y presentación de la propuesta de sistemas:
La propuesta de Sistema: La propuesta escrita es el resumen del trabajo
que el ingeniero de sistemas ha desarrollado hasta ese punto y como tal,
es fundamental que su redacción y presentación tenga gran cuidado. El
ingeniero puede crear una propuesta de sistemas con éxito mediante el
uso de tres métodos. Estos métodos comprenden la organización eficaz
del contenido, un estilo profesional de redacción, y la presentación oral de
la propuesta de una manera informativa.
Que debe incluir la propuesta de sistemas: Existen diez secciones
principales que integran el documento de la propuesta del sistema. Cada
sección cuenta con una función especial; y eventualmente, la propuesta
debe apegarse al orden siguiente:
• Carta de presentación.
• Página del título del proyecto.
• Contenido.
• Resumen ejecutivo (incluyendo recomendaciones).
• Descripción del estudio de sistemas con la documentación apropiada.
• Resultados detallados del estudio de sistemas.
• Alternativas del sistema (3 o 4 soluciones posibles, si correspondieran).
• Recomendaciones del ingeniero de sistemas.
• Resumen.
• Apéndices
Presentación de la propuesta de sistemas: El tema de la presentación
obviamente es la propuesta de sistemas (o alguna parte de ella). Las
siguientes consideraciones incluyen quiénes deben conformar la
audiencia de la presentación y como organizará apoyar y realizar la
presentación oral. Todos estos aspectos se encuentran relacionados por
separado con el fin de enfatizarlo con claridad.
• Comprensión de la audiencia: Así como la audiencia del documento de
la propuesta define su estilo de redacción, el nivel de detalle y el tipo de
figuras, el conocimiento de la audiencia de la presentación oral permite al
orador descubrir que tan formal debe ser, que presentar y qué tipo de
ayudas visuales debe incluir. Es imperativo conocer a quien se dirigirá.
• Uso de datos demográficos: Los datos demográficos pueden obtenerse
a través de cuestionarios, entrevistas y datos de archivo. Los datos
demográficos básicos incluyen la edad del empleado, su sexo, educación,
puesto dentro de la organización y la antigüedad en el puesto actual.
Además, al recopilar estos datos entérese de los requerimientos
potenciales de información que pueden solicitarse, y con ello logrará que
su audiencia alcance una mejor comprensión durante la presentación oral.
• Audiencias de ejecutivos: Esta audiencia se compone de la alta
dirección o la gerencia, quienes son los principales tomadores de
decisiones dentro de la organización.
Ellos pueden o no tener experiencia técnica en el área bajo
discusión y esto es algo que el ingeniero debe identificar durante la
definición de los requisitos de información previos a la presentación de la
propuesta.
Los ejecutivos requieren de suficiente información para tomar
decisiones documentadas, pero durante una presentación oral, no vale la
pena invertir tiempo en aspectos extremadamente técnicos. La
información costo/beneficio es pertinente en las presentaciones a
ejecutivos. Pueden ser de utilidad algunos ejemplos (eventos breves, una
cita, algo que soporte un punto principal) e ilustraciones (historias más
largas con un principio y final de desarrollo, a los cuales pueda referirse
de manera repetida a lo largo de la presentación. También pueden
utilizarse para audiencias ejecutivas, estadísticas contenidas en ayudas
visuales, tales como gráficas o diagramas.
Sea respetuoso de las restricciones de tiempo, ya que el tiempo es
el recurso más valioso del tomador de decisiones. Ensaye la presentación
oral, de tal forma que pueda controlar su duración. Deje suficiente tiempo
para preguntas y comentarios del momento y no se mantenga a la
defensiva. Sea abierto y honesto al responder preguntas y no se resista a
admitir que desconoce la respuesta. Esté al tanto de las preguntas de su
audiencia y no deje de contestarlas.
• Usuarios principales: Los usuarios principales difieren de los ejecutivos,
en el sentido de que de hecho estarán utilizando (y tal vez aún
desarrollando) la salida del sistema. Mientras que ellos también tienen
responsabilidades de toma de decisiones, y como usuarios, la propuesta
de sistemas también les concierne.
Al dirigirse a los usuarios principales, considere discutir los cambios
que ocurrirán en su trabajo, junto con una descripción de los detalles
operativos. Son de mucha utilidad los ejemplos con ilustraciones. La
exposición de testimonios (esto es, apoyos de los individuos para puntos
principales) también es una posibilidad, así como comentarios autorizados
(provenientes de una fuente conocida y respetable) acerca de los
beneficios del sistema propuesto. El análisis de costos y beneficios
también puede servir para esta audiencia, pero es probable que no sea el
foco principal de la charla.
Pueden ser de utilidad con los usuarios principales, las ayudas
visuales de muestras de la salida o de otros prototipos del sistema. Debe
considerarse cualquier ayuda visual que permita al usuario concebir el
uso del sistema.
Diseño de proceso
El Diseño de proceso se define como el proceso previo de
configuración mental, pre-figuración en la búsqueda de una solución en
cualquier campo el proceso previo en la búsqueda de una solución o
conjunto de las mismas. Plasmar el pensamiento de la solución mediante
esbozos, dibujos, bocetos o esquemas trazados en cualquiera de los
soportes, durante o posteriores a un proceso de observación de
alternativas o investigación.
Esto necesita de numerosas fases de investigación, análisis,
modelado, ajustes y adaptaciones previas a la producción definitiva del
objeto. Además comprende multitud de disciplinas y oficios dependiendo
del objeto a diseñar y de la participación en el proceso de una o varias
personas.
Tipo de diseño de procesos
CENTRALIZADO.
El modelo centralizado es el que sido ampliamente utilizado en los
Sistemas de Información de las grandes organizaciones en décadas
anteriores, mediante un Host que ejecutaba el 100% de la lógica del
sistema, residiendo únicamente en el terminal de usuario las funciones de
presentación. A este tipo de aplicaciones, que concentran todas las
lógicas funcionales del software (presentación, negocio y acceso a datos)
en un mismo componente se les denomina aplicaciones monolíticas.
COOPERATIVO
La arquitectura de computación distribuida, también conocida como
*de procesamiento cooperativo* consiste en el desarrollo de una
aplicación dividida en componentes más o menos autónomos que se
ejecutan en unidades de hardware interconectadas por redes de alta
velocidad.
En el procesamiento cooperativo dos o más elementos lógicos
diferentes interactúan entre sí en la realización de una tarea común.
DISTRIBUIDO
Un sistema distribuido es aquel en el cual varios procesadores
autónomos y repositorios de datos que soportan procesos y/o bases de
datos, interactúan con el fin de cooperar para lograr un objetivo global.
Los procesos coordinan sus actividades e intercambian información por
medio de la transferencia de información a través de una red de
comunicación.
CODIFICACION EFECTIVA
Una de las formas en que los datos pueden ser capturados precisa
y eficientemente es mediante un empleo como conocimiento de varios
códigos . El proceso de poner datos ambiguos o problemáticos en unos
cuantos dígitos o letras fácilmente capturables es llamado codificación
(que no debe ser confundida con la codificación de programa.
La codificación ayuda a que el analista de sistemas alcance el
objetivo de eficiencia, debido a que los datos que son codificados
requieren menos tiempo para su captura y reducen la cantidad de
conceptos capturados. La codificación también puede ayudar en el
reordenamiento adecuado de los datos en un punto posterior del proceso
de transformación de datos.
Además los datos codificados pueden ahorrar espacio valioso de
memoria y de almacenamiento. Resumiendo, la codificación es una forma
de ser elocuente, pero escueto, en la captura de datos.
República Bolivariana de Venezuela
Ministerios del Poder Popular para la Defensa
Universidad Nacional Experimental Politécnica de la Fuerza Armada
Núcleo Guárico Extensión Zaraza
Facilitador: Alumno:
JEISS DIAZ CASTILLO JOSE
VII SEMESTRE
SECCION 4D