Antipatrones de desarrollo de software: Minefield

0 comentarios
Gran cantidad de bugs son encontrados en los productos liberados; de hecho, los expertos estiman que el código fuente original contiene entre dos y cinco bugs por línea de código. Esto significa que el código requerirá dos o más cambios por línea para quitar todos los defectos. Sin duda, muchos productos son liberados mucho antes de que estén listos completamente. Un reconocido ingeniero de software sostiene que "No hay sistemas nuestros, ni siquiera los nuestros".
La ubicación y las consecuencias del software defectuoso no tiene relación con sus causas aparentes, incluso una cantidad mínima de bugs pueden resultar catastróficos. Por ejemplo, los sistema operativo (UNIX, Windows, etc.) contienen gran cantidad de defectos de seguridad conocidos y desconocidos que los vuelven vulnerables a ataques; además, Internet ha incrementado dramáticamente la probabilidad de ataques al sistema.
Los usuarios finales encuentran bugs frecuentemente. Por ejemplo, aproximadamente 1/7 números de teléfonos discados no son completados por el sistema telefónico. Y hay que notar que la tasa de quejas es baja en comparación con la frecuencia de las fallas del software.
El propósito de probar el software comercial es limitar el riesgo, en particular, para soportar los costos de productos empaquetados, cada que un usuario final contacta a un vendedor para solicitar soporte técnico, gran parte (o todo) el margen de ganancia es gastado en responder a esa llamada.

Esperando el fin de semana

2 comentarios
Para despejar la cabeza del desarrollo informático diario y como un buen ejercicio de pensamiento lateral, he decidido colgar para los viernes una pregunta.
Veamos quien pone su respuesta en los comentarios.

Un gato saltó desde el borde de la ventana de un decimoquinto piso, y sin embargo no sufrió un solo rasguño. ¿Cómo es posible esto?

La sección del invitado: Update panel

0 comentarios

-Escrito por Víctor Paredes.
Motivados por la dinámica del mercado, nuestras aplicaciones web deben ser cada ves más rápidas, más versátiles y más intuitivas, los usuarios requieren cada ves información mas rápida y mejor presentada. La velocidad y la forma en que se presenta la información en una aplicación web es hoy uno de los puntos mas importantes que determinan el éxito o fracaso de un proyecto.
Para cubrir estas necesidades, contamos con diversos frameworks y técnicas que permiten acelerar y mejorar la presentación de la información. En esta ocasión vamos a presentar una forma de realizar fácilmente un "Update Panel". Este recurso permite que se actualice parte de la información de la pagina sin necesidad de enviar una solicitud HTTP nueva al servidor, al bajar las solicitudes nuestra aplicación web se vuelve mas rápida, consume menos recursos y luce mas profesional.

Antipatrones de desarrollo de software: Spaghetti Code

0 comentarios
Se trata del antipatrón más famoso. Es un clásico. Ha existido, de una forma u otra, desde la invención de los lenguajes de programación. Los lenguajes que no son orientados a objetos, parecen ser más susceptibles a este antipatrón, pero es bastante común entre los desarrolladores que aun tienen que dominar plenamente los conceptos avanzados que subyacen la programación orientada a objetos.

Generalidades

El Spaghetti Code aparece como un programa o sistema que contiene muchas estructuras pequeñas de software. La codificación y extensión progresiva comprometen la estructura del software de tal manera que pierde claridad, incluso para el programador original, si él o ella se encuentran lejos de ese código por un tiempo prolongado.
Si se ha desarrollado utilizando un lenguaje orientado a objetos, el software puede incluir un pequeño número de objetos que contienen métodos con implementaciones realmente grandes.
Además, los métodos de los objetos son invocados de una manera muy predecible y hay un grado insignificante de interacción entre los objetos en el sistema. El sistema es muy difícil de mantener y extender. No hay oportunidad de reutilizar los objetos y módulos en sistemas similares.

Antipatrones de desarrollo de software: Golden Hammer

0 comentarios

Este es uno de los antipatrones más comunes de la industria.
"Cuando se posee un martillo de oro, todo parece un clavo."
Muchas veces, un producto de tercero ofrece una solución a un problema. Dado el costo inicial de adoptar esta solución el proveedor del producto a menudo provee más extensiones de esta solución para otras tecnologías y así reducir costos.

Generalidades

Supongamos que un equipo de desarrollo de software ha adquirido un alto nivel en una solución o producto en particular (al que nos referiremos como Golden Hammer). Como resultado, todos los nuevos desarrollos son vistos como algo que puede ser resuelto mejor con esta solución. En muchos casos, nuestro Golden Hammer no se ajusta a nuestro problema, pero se dedica muy poco tiempo a la investigación de soluciones alternativas.
Este antipatrón conlleva a aplicaciones erróneas de una herramienta, concepto o patrón de diseño. Los desarrolladores y los administradores de proyectos se sienten cómodos con un enfoque existente y reacios a aprender y aplicar uno nuevo que se ajuste mejor.
 
Copyright 2009 Programación SOLIDa
BloggerTheme by BloggerThemes | Design by 9thsphere