jueves, 3 de mayo de 2012

Calidad del software:

La calidad del software es una preocupación a la que se dedican muchos esfuerzos. Sin embargo, el software casi nunca es perfecto. Todo proyecto tiene como objetivo producir software de la mejor calidad posible, que cumpla, y si puede supere las expectativas de los usuarios.

bueno en los software no existe buena o mala calidad ya que es abstracta, en los software es "tiene o no tiene calidad"

Calidad:
  • Es la cualidad de todos los productos, no solamente de equipos sino también de programas.
En el desarrollo de software, la calidad de diseño acompaña a la calidad de los requisitos, especificaciones y diseño del sistema. La calidad de concordancia es un aspecto centrado principalmente en la implementación; Si la implementación sigue al diseño, y el sistema resultante cumple con los objetivos de requisitos y de rendimiento, la calidad de concordancia es alta.
Adicionalmente se puede seguir los siguientes aspectos para evaluar la calidad del software:
  • Funcionalidad
  • Confiabilidad
  • Usabilidad
  • Eficiencia
  • Mantenibilidad
  • Portabilidad
  • Escalabilidad



COMO OBTENER UN SOFTWARE DE CALIDAD?

La obtención de un software con calidad implica la utilización de metodologías o procedimientos estándares para el análisis, diseño, programación y prueba del software que permitan uniformar la filosofía de trabajo, en aras de lograr una mayor confiabilidad, mantenibilidad y facilidad de prueba, a la vez que eleven la productividad, tanto para la labor de desarrollo como para el control de la calidad del software.
La política establecida debe estar sustentada sobre tres principios básicos: tecnológico, administrativo y ergonómico.
El principio tecnológico define las técnicas a utilizar en el proceso de desarrollo del software.
El principio administrativo contempla las funciones de planificación y control del desarrollo del software, así como la organización del ambiente o centro de ingeniería de software.
El principio ergonómico define la interfaz entre el usuario y el ambiente automatizado.
La adopción de una buena política contribuye en gran medida a lograr la calidad del software, pero no la asegura. Para el aseguramiento de la calidad es necesario su control o evaluación.

COMO CONTROLAR LA CALIDAD DEL SOFTWARE?
Para controlar la calidad del software es necesario, ante todo, definir los parámetros, indicadores o criterios de medición, ya que, como bien plantea Tom De Marco, "usted no puede controlar lo que no se puede medir".
Las cualidades para medir la calidad del software son definidas por innumerables autores, los cuales las denominan y agrupan de formas diferentes. Por ejemplo, John Wiley define métricas de calidad y criterios, donde cada métrica se obtiene a partir de combinaciones de los diferentes criterios. La Metodología para la evaluación de la calidad de los medios de programas de la CIC, de Rusia, define indicadores de calidad estructurados en cuatro niveles jerárquicos: factor, criterio, métrica, elemento de evaluación, donde cada nivel inferior contiene los indicadores que conforman el nivel precedente. Otros autores identifican la calidad con el nivel de complejidad del software y definen dos categorías de métricas: de complejidad de programa o código, y de complejidad de sistema o estructura.
Todos los autores coinciden en que el software posee determinados índices medibles que son las bases para la calidad, el control y el perfeccionamiento de la productividad.
Una vez seleccionados los índices de calidad, se debe establecer el proceso de control, que requiere los siguientes pasos:
  • Definir el software que va a ser controlado: clasificación por tipo, esfera de aplicación, complejidad, etc., de acuerdo con los estándares establecidos para el desarrollo del software.
  • Seleccionar una medida que pueda ser aplicada al objeto de control. Para cada clase de software es necesario definir los indicadores y sus magnitudes.
  • Crear o determinar los métodos de valoración de los indicadores: métodos manuales como cuestionarios o encuestas estándares para la medición de criterios periciales y herramientas automatizadas para medir los criterios de cálculo.
  • Definir las regulaciones organizativas para realizar el control: quiénes participan en el control de la calidad, cuándo se realiza, qué documentos deben ser revisados y elaborados, etc.
A partir del análisis de todo lo anterior, nuestro Centro se encuentra enfrascado en un proyecto para el Aseguramiento de la Calidad del Software (ACS), válido para cualquier entidad que se dedique a la investigación, producción y comercialización del software, el cual incluye la elaboración de un Sistema de Indicadores de la Calidad del Software, la confección de una Metodología para el Aseguramiento de la Calidad del Software y el desarrollo de herramientas manuales y automatizadas de apoyo para la aplicación de las técnicas y procedimientos del ACS, de forma tal que se conforme un Sistema de Aseguramiento de la Calidad del Software.
Soa

La arquitectura orientada a servicios de cliente (en inglés Service Oriented Architecture), es un concepto de arquitectura de software que define la utilización de servicios para dar soporte a los requisitos del negocio.
Permite la creación de sistemas de información altamente escalables que reflejan el negocio de la organización, a su vez brinda una forma bien definida de exposición e invocación de servicios (comúnmente pero no exclusivamente servicios web), lo cual facilita la interacción entre diferentes sistemas propios o de terceros.
SOA define las siguientes capas de software:
  • Aplicaciones básicas - Sistemas desarrollados bajo cualquier arquitectura o tecnología, geográficamente dispersos y bajo cualquier figura de propiedad;
  • De exposición de funcionalidades - Donde las funcionalidades de la capa aplicativa son expuestas en forma de servicios (generalmente como servicios web);
  • De integración de servicios - Facilitan el intercambio de datos entre elementos de la capa aplicativa orientada a procesos empresariales internos o en colaboración;
  • De composición de procesos - Que define el proceso en términos del negocio y sus necesidades, y que varía en función del negocio;
  • De entrega - donde los servicios son desplegados a los usuarios finales.
SOA proporciona una metodología y un marco de trabajo para documentar las capacidades de negocio y puede dar soporte a las actividades de integración y consolidación


en realidad no se casi sobre soa pero tengo que entendido que es oriantado al cliente servidor, para explicarlo mejor seria con un ejemplo asi como una pagia web que brinde servicios de facturacion, solo pedirias al servidor que te mande la consutalta y asi....

ventajas de SOA:
Reduce el nivel de acoplamiento.
Clara definición de roles de desarrollo.
Definición de seguridad más clara.
Fácil testeo.
Mejora la mantención.
Favorece la reutilización.
Favorece el desarrollo en paralelo.
Permite fácil escalabilidad.
Permite un mapeo directo entre los procesos y los sistemas.
Permite un monitoreo preciso.
Permite la interoperabilidad.

Saas:
Software como Servicio (del inglés: Software as a Service, SaaS) es un modelo de distribución de software donde el software y los datos que maneja se alojan en servidores de la compañía de tecnologías de información y comunicación (TIC) y se accede con un navegador web o un cliente fino especializado, a través de internet. La empresa TIC provee el servicio de mantenimiento, operación diaria, y soporte del software usado por el cliente. Regularmente el software puede ser consultado en cualquier computador, esté presente en la empresa o no. Se deduce que la información, el procesamiento, los insumos y los resultados de la lógica de negocio del software están hospedados en la compañía de TIC.
by wikipedia


en lo particular prefiero saas que asp pero bueno no es momento de dar mi punto de vista....
saas es un software como servicio... lo mismo que una empresa te brinda un servio para tu empresa como la asp pero en este caso es alquilada y no puedes modificar o pedir un software a tu gusto, es decir, ellos te dan un producto tu veras si lo cojes...




ventajas

  • Costo 
  • tiempo
  • innovacion continua
  • Mazima reutilizacion de documentos
  • seguridad

              



Costes

  • La inversión inicial es exactamente cero. Además, no tiene que comprar nuevos servidores, más espacio en disco ni ordenadores. SaaS utiliza los recursos que usted ya posee.
  • La realización de presupuestos resulta mucho más sencilla ya que sabe cuánto va a gastar. No habrá sorpresas que aumenten los costes inesperadamente, como nuevas versiones del software o programas que acaban fallando, ni tendrá que instalar nuevos antivirus.
  • De hecho, sus costes no sólo serán menores este año, sino durante todo el ciclo de uso del producto. En 2006, un estudio de McKinsey calculó que el TCO (coste total de la propiedad) del software en modo SaaS es un 40% inferior al del software instalado en el ordenador del cliente.

Tiempo

  • Despliegue rápido en modo de actualización continua
    Configuración y funcionamiento más rápidos gracias a que el software está disponible a través de una simple conexión a Internet.
  • Accesibilidad en línea permanente desde cualquier punto
    El hecho de que se acceda a él a través de Internet supone que el software en modo SaaS está disponible en todo momento y lugar, por lo que los empleados pueden trabajar desde cualquier punto con acceso a Internet si necesidad de tener un software individual con licencia.
  • Rápida puesta en marcha
    Ya no tendrá más problemas relacionados con la puesta en marcha del software, Trace One se encarga de todo. Además, ya puede olvidarse también de la costosa programación para personalizar el programa.

Innovación continua

  • Actualizaciones automáticas
    Trace One no deja nunca de innovar y esas innovaciones están disponibles inmediatamente, sin necesidad de reinstalar o de volver a configurar.
  • Ayuda con el cumplimiento de las normativas
    Dado que el software está diseñado para un uso profesional, tiene en cuenta los requisitos profesionales, especialmente en el campo del cumplimiento normativo, que está integrado directamente en la interfaz de usuario. El software se actualiza constantemente en función de la legislación y las normativas vigentes.

Máxima reutilización de documentos

  • Máxima reutilización de documentos
    Dado que todos los documentos están almacenados y disponibles en una ubicación central, se reducen de un modo espectacular los problemas derivados del almacenamiento de datos duplicados o de la incapacidad para encontrar información esencial. Todos los documentos válidos pueden copiarse para su reutilización, lo que minimiza el tiempo que hasta ahora se dedicaba a "reinventar la rueda".

Seguridad

  • Proporciona un alto nivel de seguridad
    El acceso a datos delicados se restringe mediante el uso de plataformas, certificados, tarjetas inteligentes y espacios de trabajo aislados. En muchos casos, el software SaaS proporciona un nivel de seguridad mayor del que la mayoría de las empresas desearían tener en el software residente en sus propias instalaciones.
ASP


Un proveedor de servicios de aplicación o ASP (del inglés, Application Service Provider) es una empresa que ofrece servicios de computación a sus clientes a través de una red. Elsoftware ofertado mediante un modelo ASP es conocido también como Software a demanda o Software como Servicio (SaaS). El sentido más restrictivo del término sería el de facilitar el acceso a un programa de aplicación (tales como gestión de relaciones con clientes), vía un protocolo estándar como HTTP. La necesidad de los ASP ha surgido a partir del aumento de costes que suponen los programas informáticos especializados, que han superado con creces el rango de precios asumibles por las pequeñas y medianas empresas. Además, la creciente complejidad de los programas informáticos ha dado lugar a enormes costes en la distribución del software hasta los usuarios finales. A través del modelo ASP, la complejidad y los costes de dicho software se pueden reducir. Además, la cuestión relativa a la actualización de dicho software se sustrae al cliente final al trasladar al ASP la responsabilidad de mantener actualizados los servicios, de apoyo técnico 24 x 7, de seguridad física y electrónica y soporte integrado de la continuidad del negocio y de trabajo flexible. La importancia de este mercado se refleja en su tamaño. A principios de 2003, las estimaciones de mercado para Estados Unidos oscilan entre 1,5 y 4 mil millones de dólares. Entre los clientes típicos de servicios ASP se incluye a empresas, organizaciones gubernamentales, organizaciones sin fines de lucro y otras organizaciones de socios.
By wikipedia


mas que todo asp es una empresa encargada de modelarte un software para su empresa la cual puede estar o no en la web, asp te da la opcion de darte o no el paquete de hosting mas que todo ellos se encargan de hacerlo y el cliente dice donde lo guardaran ya sea en su propio servidor de la empresa o no.....



ventajas de asp:
·    costos predecibles
·    experiencia especial en el asp
·    más rápido de implementar que aplicaciones adquiridas
·    niveles de desempeño garantizados
·    actualizaciones automáticas del software
·    permite a los funciona


·    disponibilidad garantizadarios de ti enfocarse en asuntos internos
·    falta de recursos internos
·    permite probar software antes de comprarlo


Tipos de Asp

Hay varias formas de negocio ASP:
  • ASP especialista o funcional que ofrece una aplicación simple, como el procesamiento de pagos con tarjeta de crédito o el cálculo del tiempo trabajado;
  • Un ASP de mercado vertical puede ofrecer una solución empaquetada para determinado tipo de cliente, como una consulta dental;
  • ASP empresarial que despliega un amplio espectro de soluciones;
  • ASP de dimensión local que ofrece a pequeñas empresas servicios en un área limitada.
Algunos analistas identifican un ASP de volumen como un quinto tipo. Se trata básicamente de un ASP especializado que ofrece una solución empaquetada de bajo costo a través de su propio sitio web. PayPal es un ejemplo de este tipo y el volumen al que opera es la manera de reducir el coste unitario de cada transacción. Además de estos tipos, algunas grandes empresas multilínea (como IBM) emplean los conceptos ASP como un modelo de negocio particular de soporte a clientes específicos..

jueves, 22 de marzo de 2012



Arquitectura en el Software


ay distintas definiciones que se le han dado a la arqutiectura de software con el tiempo varias de estas esta colocadas es un pdf de mi clase aca se las muestro
"La AS es una vista del  sistema que incluye los componentes principales del mismo, la conducta de esos componentes según se la percibe desde el resto del sistema y las formas en que los componentes interactúan y se coordinan para alcanzar la misión del sistema."
 " Clements, 1996 "
su cordinacion hace que cumpla la mision del sistema.... 
"AS se refiere a la estructura a grandes rasgos del sistema, estructura consistente en  componentes y relaciones entre ellos
  Kent Beck, 1998  "
La Arquitectura de Software es la organización fundamental de un sistema encarnada en sus componentes, las relaciones entre ellos y el ambiente y los principios que orientan su diseño y evolución.
IEEE Std 1471-2000
Estos son las definiciones de As que se dictaron en la clase cada uno explica de una menra muy parecida pero no igual sobre la definición de la AS al principio se creía que el diseño y la arquitectura estaban ligadas una a la otra pero esto se ha cambiado conforme ah pasado el tiempo ya se toman de distintos campos y cada una con sus distintas faces.
El arquitecto de software es una parte importante del grupo del diseño de software ya que el es el encargado de estableces el nivle y con que estrategias se necesitan para realizar la implenmentacion que safisfase los requisitos puestos sea funciolanes y no funcionales 










miércoles, 21 de marzo de 2012


AVANCES TECNOLÓGICOS



PlayStation 2
Que decir de la consola mas vendida de la historia y que tantos sueños nos ha ofrecido. Sony entró fuerte en el sector de los videojuegos con PSone, pero su sucesora ha sido la que ha marcado todos los records. Se lanzó en el año 2000 y a dia de hoy casi 10 años despúes aun sigue dando guerra. Personalmente le estaré eternamente agradecido a este consola, ya que con ella empecé a ideear los primeros pasos de lo que es mi trabajo actual. PS2 lleva vendidas a día de hoy unos 150 millones de unidades a nivel mundial… se dice pronto!
Nintendo DS y Wii (casual games)
Esta década también ha traido consigo el surgimiento de los juegos llamados “casual games” o juegos casuales en nuestro idioma. Nintendo en una época muy decisiva, viendo como su competencia se le echaba encima, intentó ir por otro camino revolucionando los sistemas de control conocidos, tanto en su consola portátil Nintendo DS como en su mas reciente de sobremesa Nintendo Wii. A unos les puede gustar mas o menos este tipo de consolas y su catálogo de juegos, lo que está claro es que ha abierto un nuevo mercado de público no explotado hasta la fecha, el “público casual” gente que no suele tirarse horas delante de la consola, pero que se ha visto atraido por las nuevas propuestas para toda la familia de estas consolas.
Pantallas planas
Ninguna otra tecnología era tan esperada, por tan largo tiempo, como las pantallas planas de TV. El mercado estaba más que maduro cuando los precios comenzaron a descender a niveles aceptables hace 6-7 años. Para entonces, los precios de las pantallas planas para PC también habían bajado a precios razonables, que les llevaron a desplazar y dejar en la obsolescencia a los monitores CTR. Actualmente la teconología predominante es la llamada “LCD” con pantallas de cristal líquido. Aunque estas surgiendo otras alternativas de mayor calidad como las pantallas LED o OLED. El futuro a medio plazo será la aparición de los televidores con soporte para 3D.
Vídeo de alta resolución
Las grandes pantallas planas con millones de píxeles plantearon una nueva necesidad durante la década: material de alta resolución (o High Definition – HD). Así, la tecnología DVD ya no era suficiente y surgieron dos plataformas antagonistas, HD-DVD y Blu-ray. Finalmente, la victoria fue para Blu-ray gracias en parte a las ventas de su consola PS3 y al apoyo de la industria del cine. Hacia fines de la década, un volumen cada vez mayor de contenidos es transmitido en formato HD, a lo que se agregan los juegos y cámaras de vídeo de alta resolución. La alta resolución se podría dividir en la llamada HD Ready que alcanza resoluciones de hasta 1300 px y la Full HD que consigue transmitir hasta 1980px.
La nube
Durante los últimos tres años, la “nube” o cloud computing se han convertido en un concepto cada vez más conocido. La intención es que a futuro los usuarios no tendrán que almacenar sus datos localmente en el PC, sino todo será almacenado en la red. Lo mismo se aplicará al software y servicios que anteriormente ha sido necesario instalar en el PC. De esa forma será posible, por ejemplo, acceder a los datos y programas independientemente del lugar del mundo donde el usuario se encuentre, y desde cualquier PC. Aún hay incertidumbre y desconfianza sobre el concepto de día a día 100% basado en la nube. Sin embargo, cada vez hay mayores avances, como por ejemplo el proyecto Chrome OS de Google.
Navegación GPS para consumidores
En 2000, los satélites militares estadounidenses de posicionamiento global, GPS, fueron puestos a disposición de civiles, para uso gratuito. Así, la navegación dirigida, sin brújula, se convirtió en una realidad para consumidores. La industria comenzó rápidamente a lanzar productos que alcanzaron gran popularidad.
Ademas les traemos una lista de referencia rápida a para que tengan una mejor idea:

VIDEO JUEGOS

  • El mundo de los videojuegos alcanza la 7ma generación, con consolas como el Wii, el PS3 y el XBOX 360.
  • La consola mas vendida de la década fue el PS2.
  • Los MMORPG’S, se convierten en una tendencia popular, juegos como FFXI, World of Warcraft, etc. Siendo World of Warcraft el juego mas popular de PC.
  • Las series de Grand Theft Auto crean un genero de juegos “Mature-rated” basados en pandillas, drogas y violencia sin sentido.
  • Video juegos controlados por locomoción son creados, tales como el nintendo Wii.
  • Los videojuegos 2D desaparecen del mercado, dando paso a los video juegos de 3D.
  • Dance Dance revolution es lanzado en Japón y luego en EE.UU., donde se popularizo entre los adolescentes.
  • Los video juegos mas populares de la década incluyen: Gran Turismo, FIFA, Pokemon, Madden NFL, The Sims, The Halo Series, Wii Sports, Nintendogs, Grand Theft Auto, The Call Of Duty series and World of warcraft.