Hay muchas razones por las que podría fallar un sistema. Considero que un análisis deficiente del sistema es una razón principal para que éste falle, asi como una mala comunicación con el usuario. Pienso que si no se tiene una buena comunicación con la persona u organización a la que va dirigida el sistema, muchas características o restricciones no se van a tomar en cuenta en el análisis de recursos, tiempo, costos, por lo que se generarán fallas mas adelante en el sistema. También considero que un mal diseño del sistema, causa fallas; en esto interviene todo lo que tiene que ver con los diagramas UML, y en general con el diseño de la estructura que tendrá el sistema. Si los usuarios están más involucrados en el diseño del sistema, brindarán más información útil y podrán moldear el sistema según sus requerimientos y prioridades. Una mala comunicación inicial genera mal análisis y diseño del sistema, lo que con el avance del proyecto puede ser más complicado y costoso de arreglar en un futuro. Considero también que una mala documentación del proyecto puede generar fallas, ya que no se estaría teniendo un control adecuado de los cambios necesarios, cambios generados en el pasado o de las necesidades del usuario. Más aun, de no haber una buena documentación, si el usuario cambia de desarrollador, el sistema queda prácticamente inútil porque será muy difícil para otro desarrollador o diseñador saber cómo fue implementado. Otra razón por la que creo que puede fallar un sistema es por fallas en el hardware. Por ejemplo, en el caso de Sirius, en la Universidad Metropolitana, se sabe que en uno de los procesos de inscripción de estudiantes, uno de los cables de fibra óptica se rompió por razones ajenas a la universidad, lo que hizo que el sistema volviera muy lento e ineficiente, ya que no estaba en capacidad de atender el flujo de usuarios con esta falla de hardware. Pienso que otra razón importante es una mala interfaz de usuario, ya que estas deben ser amigables y fáciles de utilizar por los mismos. Puede que el sistema funcione a la perfección para el que lo conoce y lo desarrolló, pero si el usuario final no logra manipularlo de una manera fácil, entonces el sistema no tendra éxito. Esto se puede relacionar con un mal entrenamiento de los usuarios; puede que el sistema sea muy eficiente, pero si no se le proporciona al usuario un buen entrenamiento, las ventajas del sistema no serán aprovechadas al maximo, o el usuario no se sentirá en capacidad de utilizarlo, lo que puede llevarle a pensar que el sistema falló.
Como comentó Natalie, gran parte de las fallas de un sistema se deben a errores humanos tanto en el análisis como en la implementación del mismo. Adicionalmente a las causas que ella menciona, también encontramos las siguientes:
* Requerimientos y especificaciones incompletas, lo cual no permitirá que el sistema alcance sus objetivos y por lo tanto fallará. Esto tiene mucho que ver con el análisis del sistema y con la comunicación con el usuario como ya lo explicó Natalie anteriormente
* Fallas en el análisis de riesgos. Para el éxito de un sistema, es necesario tomar en cuenta los factores que pueden impedir el cumplimiento de los objetivos. Si estos riesgos no son analizados adecuadamente, se pueden presentar problemas difíciles de solventar y que traerán como consecuencias fallas en el sistema.
* Malas técnicas de programación que dificulten realizar ciertos cambios necesarios de acuerdo a nuevos requerimientos. Un sistema que no sea susceptible a cambios, no puede ser exitoso, ya que en el mundo real sabemos que siempre surgen nuevos requerimientos, y que el sistema se debe poder adaptar a ellos sin necesidad de hacer un programa nuevo. Por lo tanto, una mala programación y la falta de código reutilizable, probablemente traerá muchas fallas.
* Ligado a las fallas de programación, también está la mala implementación y poca optimización de la base de datos. Esto podría traer muchas fallas en cuanto al tiempo de respuesta del sistema, ya que puede hacer muy lentas las transacciones.
* Mal mantenimiento. El sistema puede generar fallas si no se lleva un control y seguimiento adecuado a las decisiones que se adopten con respecto al mismo. Sin un mantenimiento adecuado, se hace casi imposible detectar las fallas y corregirlas.
Otros factores que influyen en las fallas de los sistemas son:
* Mal análisis de costos. Esto puede hacer que los desarrolladores trabajen con bajo presupuesto y que no tengan los recursos necesarios para garantizar el buen funcionamiento ,calidad del sistema y la tecnologia necesaria.
* Incompetencia tecnológica. En estos tiempos en los que la tecnologia crece violentamente, no tener un sistema con ultima tecnologia nos puede generar perdidas en las empresas y fallas en el sistema. Un sistema debe ser siempre compatible con la tecnologia del momento para poder funcionar correctamente. Si tomamos como ejemplo a las plataformas de la universidad notamos que la mayoria de estas son compatibles con un solo navegador de internet lo que genera fallas ya que muchos usuarios no estan concientes de eso y al ingresar al sistemacon un navegador no compatible pueden llegar a colapsar el sistema.
* Las validaciones son unos de los aspectos mas importantes en un sistema, si estas estan mal hechas pueden hacer que el sistema trabaje con datos en un formato distinto o en el peor de los casos con datos incompletos lo que convertiria al sistema en un sistema poco robusto y de mala calidad. La data inconsistente puede ser una falla casi imposible de corregir haciendo que se gaste una gran cantidad de recursos que se puede evitar haciendo buenas validaciones.
* Las pruebas del sistema al igual que las validaciones son importantes para garantizar un sistema robusto y fallas en estas pruebas puede hacer que se pase por alto pequeños detalles que al momento de poner en funcionamiento el sistema este colapse.
Otras razones por las cuales los sistemas fallan, a parte de las mencionadas por mis compañeros son las siguientes:
- Déficit de control de requerimientos y especificaciones cambiantes: se relaciona con varios puntos mencionados anteriormente, los sistemas tienen que ser versátiles y abiertos a desarrollo y cambios. Un sistema estático que no admite cambios es un sistema que se hará obsoleto rápidamente. Si no se realiza con mucho detalle el control de requerimientos, el sistema no será preparado para los posibles cambios que habrá en el futuro. - Falta de respaldo: todo sistema debe tener respaldo, un sistema sin alguien que lo se encargue y lo administre puede fallar por falta de mantenimiento. Los sistemas no pueden dejarse solos luego de su creación, ya que a medida que pasa el tiempo existen cambios de los requerimientos del cliente, cambios tecnológicos, etc. - Mala organización del tiempo de ejecución: los sistemas deben ser lo más óptimos posibles, para que los usuarios no pierdan tiempo y se puedan realizar muchas interacciones y procesos. Los sistemas existen para facilitar y agilizar procesos que de manera manual serían muy lentos y tediosos. Por lo tanto, si no se organizan los tiempos de ejecución a la hora de crear un sistema, éste perdería el sentido.
Hay muchas razones por las que podría fallar un sistema. Considero que un análisis deficiente del sistema es una razón principal para que éste falle, asi como una mala comunicación con el usuario. Pienso que si no se tiene una buena comunicación con la persona u organización a la que va dirigida el sistema, muchas características o restricciones no se van a tomar en cuenta en el análisis de recursos, tiempo, costos, por lo que se generarán fallas mas adelante en el sistema. También considero que un mal diseño del sistema, causa fallas; en esto interviene todo lo que tiene que ver con los diagramas UML, y en general con el diseño de la estructura que tendrá el sistema. Si los usuarios están más involucrados en el diseño del sistema, brindarán más información útil y podrán moldear el sistema según sus requerimientos y prioridades. Una mala comunicación inicial genera mal análisis y diseño del sistema, lo que con el avance del proyecto puede ser más complicado y costoso de arreglar en un futuro. Considero también que una mala documentación del proyecto puede generar fallas, ya que no se estaría teniendo un control adecuado de los cambios necesarios, cambios generados en el pasado o de las necesidades del usuario. Más aun, de no haber una buena documentación, si el usuario cambia de desarrollador, el sistema queda prácticamente inútil porque será muy difícil para otro desarrollador o diseñador saber cómo fue implementado. Otra razón por la que creo que puede fallar un sistema es por fallas en el hardware. Por ejemplo, en el caso de Sirius, en la Universidad Metropolitana, se sabe que en uno de los procesos de inscripción de estudiantes, uno de los cables de fibra óptica se rompió por razones ajenas a la universidad, lo que hizo que el sistema volviera muy lento e ineficiente, ya que no estaba en capacidad de atender el flujo de usuarios con esta falla de hardware. Pienso que otra razón importante es una mala interfaz de usuario, ya que estas deben ser amigables y fáciles de utilizar por los mismos. Puede que el sistema funcione a la perfección para el que lo conoce y lo desarrolló, pero si el usuario final no logra manipularlo de una manera fácil, entonces el sistema no tendra éxito. Esto se puede relacionar con un mal entrenamiento de los usuarios; puede que el sistema sea muy eficiente, pero si no se le proporciona al usuario un buen entrenamiento, las ventajas del sistema no serán aprovechadas al maximo, o el usuario no se sentirá en capacidad de utilizarlo, lo que puede llevarle a pensar que el sistema falló.
ResponderEliminarNatalie De Abreu
Como comentó Natalie, gran parte de las fallas de un sistema se deben a errores humanos tanto en el análisis como en la implementación del mismo. Adicionalmente a las causas que ella menciona, también encontramos las siguientes:
ResponderEliminar* Requerimientos y especificaciones incompletas, lo cual no permitirá que el sistema alcance sus objetivos y por lo tanto fallará. Esto tiene mucho que ver con el análisis del sistema y con la comunicación con el usuario como ya lo explicó Natalie anteriormente
* Fallas en el análisis de riesgos. Para el éxito de un sistema, es necesario tomar en cuenta los factores que pueden impedir el cumplimiento de los objetivos. Si estos riesgos no son analizados adecuadamente, se pueden presentar problemas difíciles de solventar y que traerán como consecuencias fallas en el sistema.
* Malas técnicas de programación que dificulten realizar ciertos cambios necesarios de acuerdo a nuevos requerimientos. Un sistema que no sea susceptible a cambios, no puede ser exitoso, ya que en el mundo real sabemos que siempre surgen nuevos requerimientos, y que el sistema se debe poder adaptar a ellos sin necesidad de hacer un programa nuevo. Por lo tanto, una mala programación y la falta de código reutilizable, probablemente traerá muchas fallas.
* Ligado a las fallas de programación, también está la mala implementación y poca optimización de la base de datos. Esto podría traer muchas fallas en cuanto al tiempo de respuesta del sistema, ya que puede hacer muy lentas las transacciones.
* Mal mantenimiento. El sistema puede generar fallas si no se lleva un control y seguimiento adecuado a las decisiones que se adopten con respecto al mismo. Sin un mantenimiento adecuado, se hace casi imposible detectar las fallas y corregirlas.
Katherine Gentile
Otros factores que influyen en las fallas de los sistemas son:
ResponderEliminar* Mal análisis de costos. Esto puede hacer que los desarrolladores trabajen con bajo presupuesto y que no tengan los recursos necesarios para garantizar el buen funcionamiento ,calidad del sistema y la tecnologia necesaria.
* Incompetencia tecnológica. En estos tiempos en los que la tecnologia crece violentamente, no tener un sistema con ultima tecnologia nos puede generar perdidas en las empresas y fallas en el sistema. Un sistema debe ser siempre compatible con la tecnologia del momento para poder funcionar correctamente. Si tomamos como ejemplo a las plataformas de la universidad notamos que la mayoria de estas son compatibles con un solo navegador de internet lo que genera fallas ya que muchos usuarios no estan concientes de eso y al ingresar al sistemacon un navegador no compatible pueden llegar a colapsar el sistema.
* Las validaciones son unos de los aspectos mas importantes en un sistema, si estas estan mal hechas pueden hacer que el sistema trabaje con datos en un formato distinto o en el peor de los casos con datos incompletos lo que convertiria al sistema en un sistema poco robusto y de mala calidad. La data inconsistente puede ser una falla casi imposible de corregir haciendo que se gaste una gran cantidad de recursos que se puede evitar haciendo buenas validaciones.
* Las pruebas del sistema al igual que las validaciones son importantes para garantizar un sistema robusto y fallas en estas pruebas puede hacer que se pase por alto pequeños detalles que al momento de poner en funcionamiento el sistema este colapse.
Rafael Zamora
Este comentario ha sido eliminado por el autor.
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarOtras razones por las cuales los sistemas fallan, a parte de las mencionadas por mis compañeros son las siguientes:
ResponderEliminar- Déficit de control de requerimientos y especificaciones cambiantes: se relaciona con varios puntos mencionados anteriormente, los sistemas tienen que ser versátiles y abiertos a desarrollo y cambios. Un sistema estático que no admite cambios es un sistema que se hará obsoleto rápidamente. Si no se realiza con mucho detalle el control de requerimientos, el sistema no será preparado para los posibles cambios que habrá en el futuro.
- Falta de respaldo: todo sistema debe tener respaldo, un sistema sin alguien que lo se encargue y lo administre puede fallar por falta de mantenimiento. Los sistemas no pueden dejarse solos luego de su creación, ya que a medida que pasa el tiempo existen cambios de los requerimientos del cliente, cambios tecnológicos, etc.
- Mala organización del tiempo de ejecución: los sistemas deben ser lo más óptimos posibles, para que los usuarios no pierdan tiempo y se puedan realizar muchas interacciones y procesos. Los sistemas existen para facilitar y agilizar procesos que de manera manual serían muy lentos y tediosos. Por lo tanto, si no se organizan los tiempos de ejecución a la hora de crear un sistema, éste perdería el sentido.