Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Diseño Sistemas

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 14

Step 3 - Requirenments Engineering and Management

Daniela Ramírez Zuluaga COD 1143845172

Gabriel Felipe Roa Pinzón COD 1024559306

Oscar Perez Jiménez COD 77181989

GRUPO

301309_47

PRESENTADO A

MOISES DE JESUS RODRIGUEZ

Tutor

Universidad Nacional Abierta y a Distancia

Diseño de sistemas

Noviembre
INTRODUCCION

Por medio de este se pretende dar respuesta a las preguntas formuladas


dentro de la actividad teniendo en cuenta las referencias dadas y la
investigación realizada por cada estudiante referente al diseño de software,
calidad del diseño de software, patrones, estilos, características,
implementación, Diseño de la interfaz de usuario, Diseño basado en
patrones, Diseño de WebApps y demás temas relacionados con la manera
en la que se realiza un diseño de software y como se implemente.
OBJETIVOS

 Interiorizar la teoría sobre arquitectura del software, estructuras de


datos, interfaces y componentes que se necesitan para implementar el
sistema
 Desarrollar el diseño para un sistema de información o producto
informático de alta calidad
 Identificar las distintas representaciones de un software tomando como
características la resistencia, la funcionalidad y la belleza.
DESARROLLO DE ACTIVIDADES

1. Enuncie los principios de diseño que “den el control al usuario”.

Mandel [Man97] define cierto número de principios de diseño que permiten que el usuario tenga
el control:

Definir modos de interacción de manera que no se obligue al usuario a realizar acciones


Innecesarias o no deseadas. Un modo de interacción es el estado actual de la interfaz.

Por ejemplo, si en el menú de un procesador de textos se selecciona revisar ortografía, el software


pasa al modo de revisión de la ortografía. No hay razón para obligar al usuario a permanecer en
este modo si acaso desea hacer una pequeña edición del texto. El usuario debe poder entrar y salir
del modo con poco o ningún esfuerzo.

Dar una interacción flexible. Debido a que diferentes usuarios tienen distintas preferencias para
la interacción, debe darse la posibilidad de elegir. Por ejemplo, el software debe permitir que el
usuario interactúe por medio de comandos introducidos con el teclado, el ratón, una pluma
digitalizadora, una pantalla sensible al tacto o un mecanismo de reconocimiento de voz.
Pero no todas las acciones son accesibles a través de cualquier mecanismo de interacción. Por
ejemplo, piénsese en la dificultad de usar comandos del teclado (o entradas con la voz) para hacer
un dibujo complicado.

2. Enuncie los principios de diseño “reduzcan la necesidad de


memorización por parte del usuario”.

Mandel [Man97] define los siguientes principios de diseño que permiten que una interfaz reduzca
la necesidad de que el usuario memorice:

Reducir la demanda de memoria de corto plazo. Cuando los usuarios se involucran en tareas
complejas, la demanda de memoria de corto plazo es significativa. La interfaz debe diseñarse para
disminuir la necesidad de recordar acciones, entradas y resultados del pasado. Esto se logra dando
claves visuales que permitan al usuario reconocer acciones anteriores, en lugar de que tenga que
recordarlas.

Hacer que lo preestablecido sea significativo. Lo que al principio se dé por preestablecido debe
tener sentido para el usuario promedio, pero éste debería poder especificar sus preferencias
individuales. Sin embargo, debe disponerse de la opción de “reiniciar” para restablecer los valores
originales.

Definir atajos que sean intuitivos. Cuando se utilice nemotecnia para ejecutar una función del
sistema (como la secuencia Ctrl-B para invocar la función de buscar), debe estar ligada con la
acción, de modo que sea fácil de recordar (por ejemplo, con la primera letra de la tarea que se va
a realizar).

La distribución visual de la interfaz debe basarse en una metáfora del mundo real. Por
ejemplo, un sistema de pagos debe usar una metáfora de chequera y talonario que guíe al usuario
a través del proceso de pago. Esto permite que el usuario se base en claves visuales que comprende
bien, en vez de tener que memorizar una secuencia críptica de interacciones.

Revelar información de manera progresiva. La interfaz debe estar organizada de manera


jerárquica. Es decir, la información acerca de una tarea, objeto o comportamiento debe presentarse
primero en un nivel de generalización elevado. Después de que con el ratón el usuario manifieste
interés, deben darse más detalles. Un ejemplo, común para muchas aplicaciones de procesamiento
de textos, es la función de subrayar. La función en sí es una de varias en el menú estilo del texto.
No obstante, no se enlista cada una de las herramientas para subrayar. El usuario debe hacer clic
en la opción de subrayar; después se presentan todas las opciones para esta función (una raya,
doble raya, línea punteada, etcétera).

3. Enuncie principios de diseño que “hagan consistente a la interfaz”.

La interfaz debe presentar y obtener información en forma consistente. Esto implica: 1) que toda
la información se organice de acuerdo con reglas de diseño que se respeten en todas las pantallas
desplegadas, 2) que los mecanismos de entrada se limiten a un conjunto pequeño usado en forma
consistente en toda la aplicación, y 3) que los mecanismos para pasar de una tarea a otra se definan
e implementen de modo consistente.

Mandel [Man97] define varios principios de diseño que ayudan a que la interfaz tenga consistencia:

Permita que el usuario coloque la tarea en curso en un contexto significativo. Muchas


interfaces implementan capas complejas de interacciones con decenas de imágenes en la pantalla.
Es importante dar indicadores (títulos en las ventanas, iconos gráficos, código de colores
consistente, etc.) que permitan al usuario conocer el contexto del trabajo en curso. Además, debe
poder determinar de dónde viene y qué alternativas hay para hacer la transición a una nueva tarea.

Mantener la consistencia en toda la familia de aplicaciones. Todas las aplicaciones (o


productos) que hay en un grupo deben implementar las mismas reglas de diseño a fin de que se
mantenga la consistencia en toda la interacción.

Si los modelos interactivos anteriores han creado expectativas en el usuario, no haga cambios
a menos de que haya una razón ineludible para ello. Una vez que una secuencia interactiva en
particular se ha convertido en un estándar (como el uso de alt-G para guardar un archivo), el
usuario la espera en toda aplicación que emplea. Un cambio (como utilizar alt-G para invocar la
función de modificar la escala) generará confusión.
Los principios de diseño de la interfaz analizados en esta sección y en las anteriores dan una guía
básica. En las que siguen, el lector aprenderá acerca del proceso de diseño de la interfaz en sí.
4. Indique como hacer distribuciones de pantalla con la definición de
los temas principales y secundarios del menú para el sistema de
información.

Toda página web tiene una cantidad limitada de “superficie” que se utiliza para dar apoyo a la
estética no funcional, características de navegación, contenido de información y funciones
dirigidas al usuario. El desarrollo de dicha superficie se planea durante el diseño estético. Igual
que todos los temas de la estética, cuando se diseña la distribución de la pantalla no hay reglas
absolutas. Sin embargo, es útil considerar varios lineamientos de la distribución general:

No tema al espacio en blanco. No es aconsejable ocupar con información cada centímetro


cuadrado de una página web. El amasijo resultante hará difícil que el usuario identifique la
información o las características que necesita y creará un caos visual que no será agradable a los
ojos.

Hacer énfasis en el contenido. Después de todo, ésta es la razón de que el usuario esté ahí. Nielsen
[Nie00] sugiere que la página web común debe tener 80 por ciento de contenido y destinar el resto
a la navegación y otras características.

Organizar los elementos con una distribución que vaya desde arriba a la izquierda hacia
abajo a la derecha. La gran mayoría de usuarios de una página web la recorrerán en forma muy
parecida a como lo hacen con las hojas de un libro: desde arriba a la izquierda hacia abajo a la
derecha.6 Si los elementos de la distribución tienen prioridades específicas, aquellos que sean
prioritarios deben colocarse en la parte superior izquierda de la superficie de la página.

Agrupar la navegación, el contenido y la función en forma geográfica dentro de la página.


Los humanos buscamos patrones virtualmente en todas las cosas. Si en una página web no hay
patrones discernibles, es probable que la frustración del usuario aumente (debido a la búsqueda
innecesaria de la información requerida).

No aumente la superficie con la barra de desplazamiento. Aunque es frecuente que se necesite


el desplazamiento, la mayor parte de estudios indican que los usuarios preferirían no hacerlo. Es
mejor reducir el contenido de la página o presentar en varias páginas el
que sea necesario.

Cuando se diseñe la distribución hay que considerar la resolución y tamaño de la ventana


del navegador. En vez de definir tamaños fijos dentro de una plantilla, el diseño debe especificar
todos los parámetros en términos de porcentaje del espacio disponible.
5. Desarrolle varias distribuciones de pantalla con la definición de los
temas de menú principales y secundarios para el sistema de
información.

6. Describa el enfoque de las herramientas de ayuda para el usuario


a fin de hacer el modelo del diseño del análisis de.

7. Dé algunos ejemplos que ilustren por qué la variabilidad del tiempo


de respuesta llega a ser importante.

8. Desarrolle un enfoque que integre de manera automática los


mensajes de error y las herramientas de ayuda para el usuario. Es
decir, el sistema reconocerá automáticamente el tipo de error y
dará una ventana de ayuda con sugerencias para corregirlo.
Realice un diseño del software razonablemente completo que tome
en cuenta las estructuras de los datos y algoritmos.

9. Analice las tres “partes” de un patrón de diseño y dé un ejemplo


concreto de cada uno en algún campo distinto al del software

Existen 3 categorías de patrones de diseño:


Según la escala o nivel de abstracción:
 Patrones de arquitectura: Aquellos que expresan un esquema
organizativo estructural fundamental para sistemas de software.
 Patrones de diseño: Aquellos que expresan esquemas para definir
estructuras de diseño (o sus relaciones) con las que construir
sistemas de software.
 Dialectos: Patrones de bajo nivel específicos para un lenguaje de
programación o entorno concreto.
Aplicación en ámbitos concretos
Además de su aplicación directa en la construcción de software, y derivado
del gran éxito que han tenido, los patrones de diseño han sido aplicados a
múltiples ámbitos concretos produciéndose "lenguajes de patrones" y
extensos "catálogos" de la mano de diversos autores. En particular son
notorios los esfuerzos en los siguientes ámbitos:
 Patrones de interfaces de usuario, esto es, aquellos que intentan
definir las mejores formas de construir interfaces hombre-máquina
(véase Interacción persona-computador, Interfaz gráfica de
usuario).
 Patrones para la construcción de sistemas empresariales, en donde
se requieren especiales esfuerzos en infraestructuras de software y
un nivel de abstracción importante para maximizar factores como la
escalabilidad o el mantenimiento del sistema.
 Patrones para la integración de sistemas (véase Integración de
aplicaciones empresariales), es decir, para la intercomunicación y
coordinación de sistemas heterogéneos.
 Patrones de flujos de trabajo, esto es para la definición, construcción
e integración de sistemas abstractos de gestión de flujos de trabajo
y procesos con sistemas empresariales. Véase también BPM.

10. ¿Cuál es la diferencia entre un patrón no generativo y uno


generativo?

La diferencia es que se le llama patrón no generativo debido a que describe


un contexto y un problema, pero no ofrece ninguna solución clara, en
cambio, cuando se toman en cuenta los patrones de diseño de software,
se intenta identificar los patrones generativos. Es decir, se identifica un
patrón que describa un aspecto importante y repetitivo de un sistema, y
que provea una manera de construir dicho aspecto dentro de un sistema
de fuerzas que son únicas en un contexto determinado. Idealmente, podría
usarse un conjunto de patrones de diseño generativos para “generar” una
aplicación o sistema basado en computadora cuya arquitectura permita
adaptarlo al cambio. En ocasiones se llama generatividad a “la aplicación
sucesiva de varios patrones, cada uno de los cuales incluye su propio
problema y fuerzas, y que despliega una solución más grande que emerge
indirectamente como resultado de soluciones más pequeñas”.

11. ¿En qué difieren los patrones arquitectónicos de los patrones de


componentes?
Los patrones arquitectónicos describen problemas de diseño de base
amplia que se resuelven con el empleo de un enfoque estructural.
Los patrones de componentes (también llamados patrones de diseño) se
enfocan a problemas asociados con el desarrollo de subsistemas y
componentes, así como a la manera en la que se comunican entre sí y su
ubicación dentro de una arquitectura mayor.

12. ¿Qué es estructura y en qué difiere de un patrón?


Los patrones en sí mismos podrían no ser suficientes para desarrollar un
diseño completo. En ciertos casos, tal vez sea necesario dar el esqueleto
de una infraestructura específica para la implementación, llamada
estructura, para el trabajo de diseño. Es decir, puede seleccionarse una
“mini arquitectura reutilizable que provea la estructura y comportamiento
generales para una familia de abstracciones de software. Una estructura
no es un patrón arquitectónico, sino un esqueleto con varios “puntos de
conexión” que permiten adaptarlo a un dominio de problema específico.
En un contexto orientado a objetos, una estructura es un conjunto de
clases que cooperan.

Gamma et al. [Gam95] describen de la manera siguiente las diferencias


entre los patrones de diseño y las estructuras:
1. Los patrones de diseño son más abstractos que las estructuras. Las
estructuras están incrustadas en el código, pero en éste sólo es posible
incrustar ejemplos de patrones. Una ventaja de las estructuras es que se
escriben en lenguajes de programación y no sólo son estudiadas, sino
ejecutadas y reutilizadas directamente.
2. Los patrones de diseño son elementos arquitectónicos más pequeños
que las estructuras. Una estructura normal contiene varios patrones de
diseño, pero lo contrario nunca se cumple.
3. Los patrones de diseño están menos especializados que las estructuras.
Las estructuras siempre tienen un dominio particular de aplicación. En
contraste, los patrones de diseño se usan en casi cualquier tipo de
aplicación. Si bien es posible tener patrones de diseño más especializados,
incluso éstos no imponen la arquitectura de una aplicación.

¿Qué es un idioma y en qué se diferencia de un patrón?

Un idioma es el que describe la forma de implementar todo un algoritmo


específico para un componente de software en un lenguaje específico, y
está dentro de las categorías, clases o partes de un patrón.

13. Encuentre cinco repositorios de patrones y presente la


descripción abreviada de los tipos de patrones que contenga cada
uno.

14. Encuentre tres repositorios de patrones de interfaz de usuario.


Seleccione uno de cada repositorio y haga una descripción breve
de él.

15. Indique los atributos de la calidad de las webapps. Seleccione


tres que crea que son las más importantes y construya un
argumento que explique por qué debe hacerse énfasis en cada una
durante el trabajo de diseño de webapps.

16. El lector es un diseñador de webapps de Corporación de


Aprendizaje del Futuro, compañía de aprendizaje a distancia. Trata
de implementar un “motor de aprendizaje” basado en internet que
permita entregar el contenido de un curso a los estudiantes. El
motor de aprendizaje brinda la infraestructura básica para
entregar el contenido del aprendizaje sobre cualquier tema (los
diseñadores del contenido prepararán el que sea apropiado).
Desarrolle el diseño de un prototipo de interfaz para el motor de
aprendizaje.

17. ¿Cuál es la diferencia entre la arquitectura del contenido y la de


una webapp?

Arquitectura de Contenido Arquitectura Webapp

Se centra en la definición de la estructura Se debe construir empleando capas


en general de los hipermedias de las teniendo en cuenta distintas
webapp preocupaciones
Se tiene la opción de elegir entre cuatro Se debe separar los datos de la aplicación
distintas estructuras de contenido de los contenidos, nodos de navegación, y
estas se deben separar del aspecto y
sensaciones de interfaz
Estructura Lineal Mantener separadas la interfaz, la
Lineal con flujo opcional aplicación y la navegación, simplifica la
Lineal con desviaciones implementación y mejora la reutilización
Estructura malla
Estructura jerárquica
Estructura telaraña pura

Las diferentes estructuras se combinan


para formar estructuras compuestas
18. Utilice UML para desarrollar tres o cuatro representaciones del
diseño de objetos de contenido que se encontrarían al diseñar el
“motor de aprendizaje” descrito en el problema 13.4.

Contenido Descripción Curso

Nombre Cursó

Aprender Practicar Revisar Comunidad

Nivel Básico

Nivel Intermedio

Nivel Avanzado

19. ¿Cuál es la diferencia entre la sintaxis de navegación y la


semántica de ésta?

Sintaxis de navegación Semántica de navegación

La estructura de navegación de una Define la mecánica de navegación , de


webabb esta organizada como jerarquía de disponen de varias aplicaciones para
USN (unidad semántica de navegación) desarrollar un enfoque de implementación
para cada USN.
Comienza con la consideración de la Deben establecerse las convenciones y
jerarquía del usuario y los casos ayudas apropiadas para navegar ej. iconos,
relacionados y desarrollados para cada vínculos gráficos, deben invitar a hacer clic
categoría de usuario en ellos.
Cada actor puede usar la webabb de una Deben diseñarse retroalimentación
forma algo diferente auditiva o visual.

Tendrán distintos requerimientos de Debe utilizarse color que indique vínculos de


navegación navegación y señal.

20. Escriba un texto breve sobre un método de diseño de


hipermedios que no sea MDHOO

Modelo OOHDM método de diseño de hipermedia

Fue diseñado por D.Schwabe a Rossi y Spj. Barbosa, es una extensión de HDM
con orientación a objetos, ha sido usada para diseñar diferentes tipos de
aplicaciones hipermedia como galerías interactivas presentaciones multimedia
y sobre todo numerosos sitios web.
Propone el desarrollo de aplicaciones hipermedia mediante 4 etapas, Diseño
conceptual, diseño de navegación y diseño de interfaces abstractas.
CONCLUSIONES
REFERENCIAS

 Design Patterns. Elements of Reusable Object-Oriented Software - Erich


Gamma, Richard Helm, Ralph Johnson, John Vlissides - Addison Wesley
(GoF- Gang of Four)
 A System of Patterns - Buschmann, Meunier, Rohnert, Sommerlad, Stal –
Wiley
 En la última década se han escrito muchos libros sobre el diseño de
patrones destinados a los ingenieros de software. Gamma et al. [Gam95]
escribieron un libro fundamental sobre dicho tema. Las contribuciones más
recientes incluyen los textos de Lasater (Design Patterns, Wordware
Publishing, Inc., 2007), Holzner (Design Patterns for Dummies, For
Dummies, 2006), Freeman et al. (Head First Design Patterns, O’Reilly
Media, Inc., 2005) y Shalloway y Trott (Design Patterns Explained, 2a. ed.,
Addison-Wesley, 2004).

También podría gustarte