martes, 8 de enero de 2013


Métrica de diseño de interfaz de usuario

Se encuentra muy poca información acerca de las métricas que proporcionarían comprension de calidad y de la usabilidad de la interfaz.
Sears sugiere que la corrección de la plantilla (PC) es una métrica del diseño valioso para la interfaces hombre/ computadora.Una GUI tipica usa entidades de plantilla(íconos gráficos, texto. menú, ventanas y similares) para auciliar al usuario a completar tareas. para lograr una tarea dad usanda GUI, el usuario debe moverse de una entidad de plantilla, la frecuencia con la que se usa y el costo de la transición desde una entidad de plantilla a la sighuiente contribuiria a la correccion de la interfaz.
las caracteristicas simples de los elementos de una plantilla tambien puede ser impacto significativo sobre la calidad percibida del diseño GUI. El número de palabras, vínculos, graficos, colores y fuente entre otras.
contenidas en una página web afectan la complejidad percibida y la calidad de dicha página.
Es importante observar que la selección de un diseño GUI puede guiarse con mètrivas como CP, pero el árbitro final debe ser la entrada del usuario con base en los prototipos GUI. Nielsen y Levy reportan que uno tiene una oportunidad  razonoble para triunfar si se elige entre diseño de interfaz basada exclusivamente en opiniones del usuario
  
Métrica de  diseño para  WWBAPP5

Proporcionan respuestas cuantitativas a las siguientes preguntas:
  •  La interfaz de usuario promueve usabilidad? 
  •  La estética de la webpp es apropiada para en dominio  de la aplicación y agrada al usuario
  •  El contenido se diseña de tal forma que imparte más información con menos esfuerzos?
  •  La navegación es eficiente y directa?
  •  La arquitectura  de la webapp se diseña para alojar las metas y objetivos especiales de las usuarios de la webpp, la estructura de contenido y funcionalidad, y el flujo de  navegación requerido para usar el sistema de manera efectiva?
  •  Los  componentes se diseñan  de manera que se reduce ña complejidad  procedimental y se mejora la exactitud, la confiabilidad y el desempeño?
Cada una de las preguntas  puede abordarse sólo de manera cualitativa.
  • Métrica estética ()diseño gráfico)
El diseño estético se apoya  en el juicio cualitativo  por lo general no es sensible a la medición ni  a la métrica de la métrica.
Ivone Proponen un conjunto de medidas que  pueden ser útiles para valorar el impacto del diseño estético.
Métricas de Contenido.-Las métricas en estas categorías se enfocan en la complejidad del contenido y en los grupos de objetos de contenidos que se organizan en páginas. 
Métrica de Navegación.- Las métricas en estas categorías abordan la complejidad del flujo de navegación. son útiles solo para aplicación web estáticas, que no incluyen vínculos y paginas de manera dinámica .
Usar un subconjuntos de las métricas sugeridas puede servir para derivar relaciones empíricas que permiten a un equipo de  desarrollo webapp valorar  la calidad técnica y predecir el esfuerzo con base en  las estimaciones de complejidad estimadas. En esta área todavía quedan muchos trabajos por hacer.

martes, 11 de diciembre de 2012

ING.SOFTWARE



INGENIERIA DEL SOFTWARE

 La ingeniería del software es la  disciplina formada por métodos y  técnicas que se llevan a cabo a la hora de programar, diseñar, de llevar a cabo  todos los requerimientos que el usuario necesita,  Cabe destacar que el proceso de desarrollo de software implica lo que se conoce como ciclo de vida del software, que está formado por cuatro etapas: concepción, elaboración, construcción y transición.
La concepción fija el alcance del proyecto y desarrolla el modelo de negocio; la elaboración define el plan del proyecto, detalla las características y fundamenta la arquitectura; la construcción es el desarrollo del producto; y la transición es la transferencia del producto terminado a los usuarios.
Una vez que se completa este ciclo, entra en juego el mantenimiento del software. Se trata de una fase de esta ingeniería donde se solucionan los errores descubiertos (muchas veces advertidos por los propios usuarios) y se incorporan actualizaciones para hacer frente a los nuevos requisitos. El proceso de mantenimiento incorpora además nuevos desarrollos, para permitir que el software pueda cumplir con una mayor cantidad de tareas.

 La ingenieria del software satisface lo siguiente:

Tecnologias Multicapas 
 Herramientas
Métodos
Procesos
Enfoque de calidad
 La calidad es la actividad que proporciona evidencia de que se puede confiar en que la función calidad se ha llevado a cabo con efectividad. Se entiende por función de la calidad: al conjunto de actividades a través de las cuales se alcanza la aptitud para el uso.
Todo trabajo o actividad forma parte de un proceso que es posible definirlo, controlarlo y mejorarlo, así es como se hace posible aplicar métodos y herramientas para el mejoramiento continúo.
  Cada actividad que se realiza en la empresa, está inserta dentro de un conjunto de actividades, las cuales tienen un objetivo dado. Para cumplir con dicho objetivo se requiere que cada una de las actividades se lleve a cabo en forma ordenada y coordinada

Proceso de ing.Sotfware
Un proceso de desarrollo de software es un método a organizar las actividades relacionadas con la creación de la actividad, presentación y mantenimiento del sistema.
Los  pasos en el proceso son:
  • Planificación y elaboración 
  • Creación del sistema
  • Transición de la implementación del sistema
   
Método de Ing., Software
Requiere del análisis de requerimientos, etapas, especificación, diseño y arquitectura, programación, prueba y manteamiento del sistema.
Ingeniería del software basada en componentes Reutilización de software. Código similar los buscan, los modifican según lo creen necesario y los incorporan en el sistema. Tiene la ventaja obvia de reducir la cantidad de software a desarrollarse y así reduce los costos y los riesgos.
Modelo de ciclos de Vida del Software
Es una vista de las actividades que ocurren durante el desarrollo de software, intenta determinar el orden de las etapas involucradas y los criterios de transición asociadas entre estas etapas.
Un modelo de ciclo de vida del software:
  • Describe las fases principales de desarrollo de software.
  • Define las fases primarias esperadas de ser ejecutadas durante esas fases.
  • Ayuda a administrar el progreso del desarrollo, y
  • Provee un espacio de trabajo para la definición de un detallado proceso de desarrollo de software.

Define el estado de las fases a través de las cuales se mueve un proyecto de desarrollo de software:
Modelo secuencial
consiste en la sistematización del proceso de construcción, a fin de alcanzar un nivel de producción, sugiere un enfoque sistemático o más bien secuencial del desarrollo de software que comienza en un nivel de sistemas y progresa con el análisis, diseño, codificación, pruebas y mantenimiento.
Comienza  estableciendo  requisitos  de   todos   los   elementos  de sistema  asignando   al  software a algún subgrupo de estos requisitos. Análisis de los requisitos del software. Se debe comprender el dominio de información de software, así como la función requerida, el comportamiento, rendimiento e interconexión. Diseño. Proceso de muchos pasos, que se centra en cuatro atributos distintos de programa: estructura de datos, arquitectura de software, representaciones de interfaz y detalle procedimental (algoritmo).  


 Modelo de prototipo
Es la creación de una implementación parcial de un sistema, para el propósito explícito de aprender sobre los requerimientos del sistema. Un prototipo es construido de una manera rápida tal como sea posible.
Modelo De Desarrollo Incremental


Existen riesgos en el desarrollo de sistemas largos y complejos. La forma de reducir los riesgos es construir una parte del sistema.
Un sistema pequeño es siempre menos riesgoso que construir un sistema grande.es más fácil determinar si los requerimientos para los niveles subsiguientes son correctos.
Reduciendo el tiempo de desarrollo de un sistema decrecen las probabilidades que esos requerimientos de usuarios puedan cambiar durante el desarrollo. Los errores de desarrollo realizados en un incremento, pueden ser arreglados antes del comienzo del próximo incremento.
Modelo De Desarrollo Evolutivo
El modelo de desarrollo evolutivo construye versiones sucesivas de un producto, el modelo evolutivo asume que los requerimientos no son completamente conocidos al inicio del proyecto.
Basada en esta retroalimentación, la especificación de requerimientos es actualizada. El desarrollo de software en forma evolutiva requiere un especial cuidado en la manipulación de documentos, programas, datos de test, etc. desarrollados para distintas versiones del software.



Modelo Espiral

Basada en la necesidad continúa de refinar los requerimientos y estimaciones del proyecto.
Efectivo para proyectos pequeños donde con la retroalimentación dada por el cliente, se aprueba las diferentes etapas, puede ocurrir el riesgo que no se defina bien los objetivos por el cual el desarrollo puede ser caótico.
Modelo Concurrente
El modelo concurrente provee una meta-descripción del proceso software, tiene la capacidad de describir las múltiples actividades del software ocurriendo simultáneamente.