Los sistemas pueden fallar por varias cosas, desde fallas de hardware, como una mala implementación de los mismos (por ejemplo, si no hay buena concurrencia, o no se prepara al sistema para manejar excepciones que puedan ocurrir). Pero el punto o razón que considero más determinante en cuanto a las fallas de sistemas es si no hay un buen cálculo de los usuarios que van a interactuar al mismo tiempo. Por ejemplo, si se tiene un sistema multiusuario, y no se prepara a la base de datos para soportar 300 updates simultaneamente, el sistema se pondrá lento o, incluso, podría saturarse, poniendo en riesgo la información de la base de datos (además de que no se satisfacen las necesidades de los clientes).
Concuerdo en parte con lo que dijo mi compañero Mauricio, pero creo que el problema es mas general que el numero de usuarios conectados al mismo tiempo. La cuestión es que el usuario puede cometer errores, o simplemente utilizar el sistema de una manera poco practica o poco lógica, queda entonces de parte de los desarrolladores del software blindarlos contra la mayor cantidad de errores, forzados o no forzados que se puedan suscitar.
Estas fallas son lo que normalmente se llaman errores de usuario, pero a fin de cuentas no es el usuario quien cometió el error, si no el desarrollador que no lo tomo en cuenta y realizo un sistema capaz de aguantar este tipo de fallas.
Creo que el punto critico del desarrollo del software es la validación de datos de entrada, sin embargo un programa solo puede ser exitoso si se levanta la información adecuada, se planifica acorde a los usuarios(donde entra el numero de usuarios) y se implementa tomando en cuenta la mayor cantidad de excepciones y posibles errores.
Hablando un poco sobre “El software, una crisis en horizonte?”, es importante saber que existen muchos libros y artículos publicados donde se hablan de las grandes fallas de software que ha habido en los últimos años, pero ese problema (según lo leído) no es algo nuevo, es algo que se ha estado comentando desde los principios de la Ingeniería de Software cuando se nombro “La Crisis del Software” ( en 1968 en la primera conferencia organizada por la OTAN sobre desarrollo de Software).
Sí considero que es difícil hacer un software libre de fallas, y posiblemente era más difícil en aquella época, pero considero que hoy en día gracias a las nuevas metodologías permiten que si se implementan correctamente y con un buen equipo de trabajo se pueden minimizar considerablemente las fallas, todo lo nombrado por mis compañeros antes es posible de controlarlo siguiendo alguna de estas metodologías, realizando las distintas iteraciones y pruebas. Por otro lado creo que es importante también que un buen software no deja de ser bueno solo con un mal desarrollo, el desarrollo puede ser excelente pero si luego no se realiza un mantenimiento o seguimiento adecuado (actualizaciones, etc.) este “buen software” puede venirse abajo.
Para cerrar, creo que el desarrollo de software es bastante delicado, donde se deben tomar en cuenta todas las etapas del proceso y ayudarse con una metodología para disminuir esos puntos de falla, y lograr que ese “crisis del software” no hable del punto de cambio negativo, sino del punto donde el desarrollo de software cambió hacia algo positivo y mejor.
Cierre del Foro Una crisis en el horizonte?. Por qué fallan los sistemas?
El mundo de un ingeniero de sistemas está centrado en generar herramientas para solucionar problemas. Muchas de estas soluciones cumplen su vida útil prestando un servicio, otras generan fallas totales o parciales que atentan contra su desempeño. Queda entonces en manos del desarrollador lidiar con estos problemas, conocer la existencia de estos, y preparar los sistemas para soportar cualquier inconveniente que pueda ocurrir.
Podemos diferenciar estas fallas en dos grandes grupos, fallas por hardware, por software. El primer grupo como aquellas fallas por daños en el equipo, ya sea que su vida útil se ha terminado o porque haya ocurrido algún error inesperado.
El segundo caso es cuando entra la planificación del sistema, control de concurrencia por ejemplo, este tipo de fallas se trabajan levantando suficiente información como para poder diseñar un sistema que realmente proponga una solución. Más allá, la implementación de un programa también puede generar fallas, como los fallos de rendimiento donde el programa se "come" la memoria, o los fallos de usuario donde una mala validación puede hacer caer el sistema.
Para cerrar, creemos que el desarrollo de software es bastante delicado. Se deben tomar en cuenta todas las etapas del proceso y ayudarse con una metodología apropiada, para disminuir esos puntos de falla no esperar a que ocurra algo para arreglarlo. El diseño e implementación efectivos son aquellos que buscan las posibles fallas, errores y excepciones y se dedica a minimizarlas.
Los sistemas pueden fallar por varias cosas, desde fallas de hardware, como una mala implementación de los mismos (por ejemplo, si no hay buena concurrencia, o no se prepara al sistema para manejar excepciones que puedan ocurrir).
ResponderEliminarPero el punto o razón que considero más determinante en cuanto a las fallas de sistemas es si no hay un buen cálculo de los usuarios que van a interactuar al mismo tiempo. Por ejemplo, si se tiene un sistema multiusuario, y no se prepara a la base de datos para soportar 300 updates simultaneamente, el sistema se pondrá lento o, incluso, podría saturarse, poniendo en riesgo la información de la base de datos (además de que no se satisfacen las necesidades de los clientes).
Concuerdo en parte con lo que dijo mi compañero Mauricio, pero creo que el problema es mas general que el numero de usuarios conectados al mismo tiempo. La cuestión es que el usuario puede cometer errores, o simplemente utilizar el sistema de una manera poco practica o poco lógica, queda entonces de parte de los desarrolladores del software blindarlos contra la mayor cantidad de errores, forzados o no forzados que se puedan suscitar.
ResponderEliminarEstas fallas son lo que normalmente se llaman errores de usuario, pero a fin de cuentas no es el usuario quien cometió el error, si no el desarrollador que no lo tomo en cuenta y realizo un sistema capaz de aguantar este tipo de fallas.
Creo que el punto critico del desarrollo del software es la validación de datos de entrada, sin embargo un programa solo puede ser exitoso si se levanta la información adecuada, se planifica acorde a los usuarios(donde entra el numero de usuarios) y se implementa tomando en cuenta la mayor cantidad de excepciones y posibles errores.
Este comentario ha sido eliminado por el autor.
ResponderEliminarHablando un poco sobre “El software, una crisis en horizonte?”, es importante saber que existen muchos libros y artículos publicados donde se hablan de las grandes fallas de software que ha habido en los últimos años, pero ese problema (según lo leído) no es algo nuevo, es algo que se ha estado comentando desde los principios de la Ingeniería de Software cuando se nombro “La Crisis del Software” ( en 1968 en la primera conferencia organizada por la OTAN sobre desarrollo de Software).
ResponderEliminarSí considero que es difícil hacer un software libre de fallas, y posiblemente era más difícil en aquella época, pero considero que hoy en día gracias a las nuevas metodologías permiten que si se implementan correctamente y con un buen equipo de trabajo se pueden minimizar considerablemente las fallas, todo lo nombrado por mis compañeros antes es posible de controlarlo siguiendo alguna de estas metodologías, realizando las distintas iteraciones y pruebas. Por otro lado creo que es importante también que un buen software no deja de ser bueno solo con un mal desarrollo, el desarrollo puede ser excelente pero si luego no se realiza un mantenimiento o seguimiento adecuado (actualizaciones, etc.) este “buen software” puede venirse abajo.
Para cerrar, creo que el desarrollo de software es bastante delicado, donde se deben tomar en cuenta todas las etapas del proceso y ayudarse con una metodología para disminuir esos puntos de falla, y lograr que ese “crisis del software” no hable del punto de cambio negativo, sino del punto donde el desarrollo de software cambió hacia algo positivo y mejor.
Cierre del Foro
ResponderEliminarUna crisis en el horizonte?. Por qué fallan los sistemas?
El mundo de un ingeniero de sistemas está centrado en generar herramientas para solucionar problemas. Muchas de estas soluciones cumplen su vida útil prestando un servicio, otras generan fallas totales o parciales que atentan contra su desempeño. Queda entonces en manos del desarrollador lidiar con estos problemas, conocer la existencia de estos, y preparar los sistemas para soportar cualquier inconveniente que pueda ocurrir.
Podemos diferenciar estas fallas en dos grandes grupos, fallas por hardware, por software. El primer grupo como aquellas fallas por daños en el equipo, ya sea que su vida útil se ha terminado o porque haya ocurrido algún error inesperado.
El segundo caso es cuando entra la planificación del sistema, control de concurrencia por ejemplo, este tipo de fallas se trabajan levantando suficiente información como para poder diseñar un sistema que realmente proponga una solución. Más allá, la implementación de un programa también puede generar fallas, como los fallos de rendimiento donde el programa se "come" la memoria, o los fallos de usuario donde una mala validación puede hacer caer el sistema.
Para cerrar, creemos que el desarrollo de software es bastante delicado. Se deben tomar en cuenta todas las etapas del proceso y ayudarse con una metodología apropiada, para disminuir esos puntos de falla no esperar a que ocurra algo para arreglarlo. El diseño e implementación efectivos son aquellos que buscan las posibles fallas, errores y excepciones y se dedica a minimizarlas.