lunes, 3 de septiembre de 2012

DESIGNING PLEASURABLE PRODUCTS

Dentro del diseño de un software es importante tener en cuenta no solo las funcionalidades que suplen las necesidades de la  compañia, sino tambien que el usuario al que va dirijido se sienta satisfecho con lo que ve y manipula dentro de un software.

Cuando inicio la computación y la era tecnologica siempre se pensaba en las funcionalidades del software y como estas suplían las necesidades y ya. Esto hacia que el software fuera robusto y poco amigable para los usuarios, pero a través del tiempo se a visto la necesidad de pensar en el usuario a través del software que requiere, se deben tomar aspectos relevantes como a que tipo de usuario va desarrollado, quienes son los operarios de dicho software entre otros aspectos.

Por esto el surgimiento de atributos de calidad e interfaces amigables que me permitan que el usuario este mas a gusto con el software.

Los atributos de calidad mas relevantes a nivel de software y pensando en el usuario son :

- Usabilidad
- Estética
- Rendimiento
- Fiabilidad


Los atributos mencionados anteriormente bien tratados y expuestos en su mayoría y totalidad hacen que el cliente o usuario genere cierta empatia con el software y lo califique como facil, amigable y de buen manejo y asi el software sera mas rentable y mucho mas eficiente porque los procesos se realizan mas rápido. 


El autor menciona  4 características principales para medir la satisfaccion del cliente / usuario como lo son:

Físico
- Social
- Psicologica
- Ideologica

En conclusión las casas de sodtware hoy en dia piensan mas en el usuario porque es el mayor beneficiado en cuanto al producto que se dearrolla.

SOFTWARE ARQUITECTURE IN PRACTICE (CAPITULO V )


Las tácticas son aquellas decisiones de diseño que se generan a partir de ciertas necesidades en el desarrollo del software, dichas tacticas influyen en la respuesta de un atributo de calidad haciendo de este su valor e importancia en el software.

Un aspecto relevante es la disminución o aumento de importancia de un atributo, si yo genero mas importancia a un atributo, existirá otro que perderá su valor, por ende es importante tener balanceadas las cargas a los atributos para que así el software obtenga mejores practicas ya adaptaciones.

La redundancia hace parte fundamental del refinamiento de tácticas, por ende es importante tenerlo como táctica principal dentro del diseño. Existen dos tipos de redundancia que se deben tener en cuenta en el diseño:

- Redundancia de datos
- Redundancia de calculo




Ademas de esto hay que jerarquizar las tacticas según los atributos de calidad a los que se les implementa, en este caso es donde  se ve la importancia de tácticas aplicadas a los atributos de calidad para que así el sistema sea mas eficiente 

Existen otros aspectos importantes al implementar tácticas en un software, en este parte se mencionan las tácticas de disponibilidad cuando se generan fallos en los sistemas operativos (SO), servidores de aplicaciones, bases de datos, sistemas de gestión, entre otros.  Para ello existen ciertas tácticas como por ejemplo Ping, Herbeat, etc..

En conclusión las tácticas son parte fundamental en el desarrollo de una arquitectura , implementando en un atributo de calidad.


SOFTWARE SYSTEM ARCHITECTURE 4 ARCHITECTURAL PERSPECTIVES

Este capitulo  va relacionado con el de vistas y puntos de vistas ya que las perspectivas a nivel de arquitectura de software son conjunto de puntos de vistas que se generan en el diseño de una arquitectura,  dichos puntos de vista se centran en la problematica, preocupacion y solución de la compañia.

Las decisiones que se toman frente a una sola vista pueden generar cambios extremos en otras, para ello se deben crear vistas  flexibles y estables para que cuando ocurra un cambio estas sean fáciles de adaptar a dicho cambio, Un ejemplo claro es la seguridad en un sistema ya que dicha vista (Seguridad) hace parte de un modelo conceptual de vista, para ello se deben definir puntos de vista que sean modificables y no que halla que cambiarlos cuando se generan cambio.

Por ende las vistas arquitectónicas serian un conjunto de actividades y tácticas que garantizan que el sistema sea de calidad , a esto se le conoce como "PERSPECTIVA ARQUITECTÓNICA".


SOFTWARE SYSTEM ARCHITECTURE 3.VIEWPOINTS AND VIEWS

Este capitulo habla de ciertos criterios que se tiene que tener en cuenta al implementar una arquitectura de software  como lo son el identificar los elementos funcionales de la arquitectura que mas se adecua a los procesos de la compañía, otro es la interaccion o correlacionn que existen entre dichos elementos que conforman la arquitectura , ademas de que dichos criterios hay que tenerlos en cuenta tanto en la organización, como fuera de ella.

Un aspecto importante es el tipo de información que gestionara los recursos basados en la arquitectura, ¿Donde?, ¿Cuando? se almacenara  y  presentara la arquitectura implementada como parte de la entidad u organizacion.

Identificar el Hardware y Software actual hacen que la arquitectura que se implementara genere ciertos impactos sobre esta , puede suceder tambien que la llegue a modificar e incluso cambiar en su totalidad. Para ello el Software(Capas) y Hardware basado en una nueva arquitectura  hacen que la estructura funcional de la organizacion sea mas adaptable a cambios.

El termino concurrencia es muy abarcado en este capitulo ya que es parte fundamental en el desarrollo e implementacion de una arquitectura porque si dicha funcionalidad esta al 99.9% en cuanto a  adpatacion  y buena funcionamiento, esta hace que el sistema tambien lo sea en un margen igual.


Un aspecto importante es la complementación de varias arquitecturas o bien tomar varios puntos de vistas sobre ella ya que no siempre la mas completa es la que mejor se adecua a mis necesidades, hay siempre que tener difererntes perpsectivas, por ello en este capitulo se da a a entender un concepto dentro del diseño como lo son las VISTAS y los PUNTOS DE VISTA 

Las vistas son aquellas perspectivas que se tiene  que tener en cuenta en el diseño de una arquitectura es decir con cual arquitectura, caracteristica o funcionalidad quiero suplir la necesiadad que estoy teniendo y como mejoraria mis procesos dentro de la compañia, ademas de cual es la que mejor se adapta.

Los puntos de vista son aquellos artefactos, documentos o entregables que me permiten soportar dichas vistas que genere en el diseño, para identificar dichos puntos de vista se tiene que tener en cuenta:

- Contexto
- Funcionalidad
- Informacion 
- Concurrencia 
- Desarrollo 
- Despliegue
- Operacion