Infografía
Ronald Medina
sábado, 6 de noviembre de 2021
domingo, 31 de octubre de 2021
Aspectos claves de la Reingeniería
Modificación de documentación:
Para poder
volver a reconstruir un sistema de software se debe de empezar por su diseño y
si un sistema cuenta con una documentación mal estructurada o mal diseñada no
se podrá realizar una correcta reingeniería del sistema.
Ingeniería inversa:
Para una mejor reingeniería se necesita de una ingeniería inversa que pueden tener nombres similares, pero no es lo mismo, la ingeniería inversa es un proceso que se encarga de tratar de entender que procesos tomaron para llevar acabo el diseño de un sistema, al aplicar una ingeniería inversa se puede mejorar y facilitar el proceso de reingeniería
Cambio o modificación de código:
Otro aspecto clave para la reingeniería de software es la modificación del código ya que aquí se puede tomar el código fuente que da el sistema y realizar un totalmente nuevo e incluso de en otro lenguaje de programación que beneficie la reingeniería.
Modificación de datos:
Si los datos del sistema al que se le aplicara Mantenieniento son demasiado débiles será difícil aplicar un mantenimiento, es por eso que la mejor forma de mejorar este problema es aplicando una ingeniería inversa y modificar los datos.
La economía:
En el
mundo del software los programas que se diseñan tienen que tener una cierta
rentabilidad, ya que la razón por la cual fueron creados fue para mejorar los
aspectos de un trabajo y generar más ganancias, de no cumplirse esto el
software debe ser cambiado y ahí es donde se aplica la reingeniería
domingo, 24 de octubre de 2021
El mantenimiento del sistema.
Mapa conceptual
Es necesario el mantenimiento del software ya que sin un mantenimiento adecuado el software dejaría de funcionar correctamente, es esto se debe a que el software se deteriora con el tiempo y necesita una renovación por decirlo de una manera.
¿Cómo
es posible clasificar los tipos de mantenimiento en función de sus objetivos?
Los
tipos de mantenimiento se podrá catalogar como parte del proceso de desarrollo
del sistema, esto se puede hacer posible de colocar junto a los objetivos ya
que los mantenimientos en realidad se podrían tomar como mejoras hasta el punto
de perfeccionar el sistema.
¿Qué
problemas plantea el mantenimiento?
El mantenimiento
del sistema plantea varios problemas entre ellos esta:
Desarrollado
con tecnologías y técnicas “anticuadas”: es decir que se trabajó con tecnología
muy vieja y ahora es muy difícil mejorar o actualizar el sistema
Ausencia
de documentación adecuada (decisiones de diseño): esto quiere decir que la
documentación del sistema no se realizó de manera correcta y por ende el diseño
del sistema no quedo en óptimas condiciones.
Degradación
calidad del producto: el producto o sistema está demasiado deteriorado y es
difícil realizar el manteamiento
¿Qué
necesidades conflictivas aparecen durante el mantenimiento?
Durante
el manteamiento surgen muchas necesidades, muchas de ellas conflictivas como:
Falta de
información necesaria para la actualización
Falta de
recurso tecnológico
Falta de
tiempo para realizar el trabajo.
¿Qué
hay que hacer para que los atributos de calidad del software no se degraden
durante el mantenimiento?
Para
que los atributos del software no se dañen o degraden demasiado rápido con el
tiempo se debe de programar un mantenimiento preventivo con una frecuencia más
alta, este tipo de mantenimiento es más fácil de hacer y mas económico.
domingo, 17 de octubre de 2021
Entrega del Sitema
¿Cuándo corresponde comenzar la planificación de la liberación de un sistema? ¿Por qué?
La planificación
de la liberación de debe realizar cuando el proyecto ya está terminado y se han
realizado todas las pruebas necesarias para poder determinar un funcionamiento
correcto.
Esto se hace debido a que la liberación del sistema es prácticamente la entrega de un producto final a un cliente y no se puede hacer una entrega de un producto a medias o con errores que pueden causar problemas en el funcionamiento del sistema.
Los aspectos
a tomar en cuenta en la liberación son:
Ayudar a los usuarios a entender y usar el sistema: para
que los usuarios entiendan el sistema se debe realizar el siguiente proceso:
Entrenamiento: aquí se capacitan los usuarios para que
puedan usar el sistema de forma adecuada y se le pueda obtener la máxima eficiencia
Documentación: se les entrega la documentación necesaria a
los usuarios para poder tener un mejor entrenamiento y se le facilite la capacitación,
la documentación puede ser, manual de usuario tanto de uso como para la solución
de algún problema frecuente por mala práctica y por supuesto manual de configuración
correcta.
Solución de Problemas: se hace por medio de guía de
mensajes de error y con posibles soluciones, también con la habilitación de una
guía rápida de solución o también con una asistencia en línea.
Conversión: se
cambia un sistema viejo e ineficiente por uno nuevo y más eficiente.
Instalación: se instala el software en los equipos de modo
que siempre esté disponible y funcional para el uso del cliente o usuario
¿Qué
relevancia tiene la documentación del software para su puesta en
funcionamiento?
La documentación
para la implementación de un sistema tiene mucha relevancia ya que la documentación
es la que siempre tiene que estar disponible para el usuario o cliente final
para poder resolver alguna duda que puede tener con respecto a la funciones o utilización
de alguna herramienta que no quedo muy claro en el entrenamiento, pero la documentación
puede solventar la duda.
¿Por
qué resulta conveniente asignar recursos para la solución de problemas durante
el período inicial de la implantación de un sistema?
Este
recurso es importante y conviene mucho que se asigne en el presupuesto inicial
y se tenga listo para esa etapa, ya que, si durante la implementación del
sistema ocurre algún imprevisto, como por ejemplo fallas en compactibilidad de
software con el equipo y se tiene que llevar a revisión, el recurso económico no
se toma para la solución del problema no se toma de la parte de las ganancias y
no genera pérdidas en el proyecto.
¿Qué
problemas podríamos encontrar al momento de implementar un sistema?
Los problemas
más comunes pueden ser los de compactibilidad de hardware, aunque es un punto a
tomar durante el desarrollo, siempre hay diferencia entre los equipos que puede
resultar en un problema, otro puede ser la deficiencia del personal o la mala disposición
a la utilización de nuevo sistema,
¿Qué
hacer si el problema es «resistencia al cambio tecnológico»?
Lo más
recomendable es que el cliente ya haya previsto una resistencia por parte de
los usuarios del uso de herramientas tecnológicas, y de alguna manera se hayan
ido preparando para el cambio, pero si el problema se transfiere en la implementación
lo idea es cambiar a los usuarios que de ninguna manera pusieron de su parte
para poder hacer la transición de tecnología.
domingo, 10 de octubre de 2021
Pruebas de software
El software a evaluar se trata de un avance de aplicación web
hibrida creada con el Ionic framework se ha implementado un login por medio de métodos,
donde se probará lo siguiente .
Verificación de creación de la Página login y configuración
Verificación de usuario y contraseña
Pruebas de funciones
Creación de página
login y configuración
Se evaluará
Creación
de página
Configuración
de inicio
Tipos
de datos permite ingresar
La página de login fue
creada y agregara como página de inicio de la app
Al tratarse del logueo lo normal es que el usuario puede
ingresar caracteres alfanuméricos y la contraseña se tapada, verificamos que se
haga de esa manera.
Captura de datos y
envío de credenciales
Se evaluará
Captura de datos y verificación de
campos llenos
Envió de datos y verificación de credenciales
Sin el ingreso del Password no se activa el botón de login, pasa de la misma manera cuando no hay usuario, es una manera muy simple de evitar el envió de campos vacíos y evita trabajo innecesario al sistema
Cuando se realiza él envió de datos se verifica en la base y se aprueba o no el
logueo, si es erróneo nos aparecerá este mensaje y nos pedirá que se vuelva a intentar.
una falla en esta parte es que podemos visualizar que la
contraseña es visible al usuario.
Verificación de
usuario y contraseña
Se evaluará
las credenciales correctas sean
aceptadas
Para verificar las credenciales el sistema manda la información
a la base y verifica las credenciales
En el caso de la aplicación el usuario es admin y la
contraseña es admin, al tratarse de un avance son credenciales validas que se
usan para las respectivas pruebas como es el caso.
Se modificará el código para que el usuario y contraseña
puedan ser visibles, aunque se sabe que esto no es permitido en las pruebas de software
Línea modificada.
Se coloca las credenciales
Al presionar login automáticamente entramos a la aplicación.
domingo, 3 de octubre de 2021
Ejemplo de Prueba de los Programas
Qué tipo de pruebas a desarrollado a los sistemas que han desarrollado (Ya sea en su lugar de trabajo o a los que han desarrollado durante el desarrollo de sus carreras)
domingo, 26 de septiembre de 2021
Prueba de los programa
- prueba unitaria: es una forma de comprobar el correcto funcionamiento de una
unidad de código. Por ejemplo, en diseño estructurado o en diseño funcional una
función o un procedimiento, en diseño orientado a objetos una clase
- prueba de integración: Pruebas integrales o pruebas de integración son aquellas que
se realizan en el ámbito del desarrollo de software una vez que se han aprobado
las pruebas unitarias y lo que prueban es que todos los elementos unitarios que
componen el software, funcionan juntos correctamente probándolos en grupo.
- prueba de función: es una prueba de tipo caja negra basada en la ejecución,
revisión y retroalimentación de las funcionalidades previamente diseñadas para
el software.
- prueba de desempeño: son las pruebas que se realizan, desde una perspectiva, para
determinar lo rápido que realiza una tarea un sistema en condiciones
particulares de trabajo
- prueba de aceptación: las pruebas de aceptación pertenecen a las últimas etapas
previas a la liberación en firme de versiones nuevas a fin de determinar si
cumplen con las necesidades y/o requerimientos de las empresas y sus usuarios.
- prueba de instalación: pueden buscar errores que se produzcan en el proceso de instalación y que afecten la percepción y la capacidad del usuario para utilizar el software instalado
- La especificación puede ser errónea o puede haberse omitido algún requerimiento.
- La especificación puede contener un requerimiento que es imposible de implementar con el software y el hardware prescrito.
- El diseño del sistema puede contener un defecto.
- El diseño del programa puede contener un defecto.
- El código del programa puede estar errado.
- Muchos programadores consideran que la prueba es una comprobación de que sus programas operan correctamente.
- La idea de demostración de exactitud es realmente lo inverso de lo que entraña la prueba.
- Se prueba un programa para demostrar la existencia de un defecto
Defectos de sincronización o de coordinación: Al desarrollar sistemas de tiempo real, una consideración critica es la coordinación de los varios procesos que se ejecutan simultáneamente o una secuencia rigurosa definida. El defecto se produce cuando el código que coordina dichos eventos es inadecuado.
- Un buen test case es aquel que tiene una alta probabilidad de encontrar un defecto no descubierto, no aquel en que el programa funciona correctamente.
- Un buen test case no es redundante, ni muy simple, ni muy complejo idealmente, el mejor de su clase.
- Un exitoso test case es aquel que descubre un defecto no descubierto.
- El diseño de test cases es muy difícil.
- El Testing no puede mostrar la ausencia de defectos, sólo puede mostrar que los defectos están presentes.















