domingo, 28 de mayo de 2017

RAID

“El disco duro es uno de los componentes clave de cualquier ordenador; sin él no podríamos almacenar nuestros datos y tendríamos que estar dependiendo de sistemas de almacenamiento extraíble o, recordando tiempos pasados, discos de arranque con los que ejecutar el sistema operativo de nuestro ordenador personal”. (hipertextual, s.f.) Es por ello que su implementación debe de evolucionar conforme las necesidades de la población emanan, y gracias a esto el concepto de RAID fue creado.

“RAID es el acrónimo de Redundant Array of Independent Disk  (Arreglo Redundante de Discos Duros Independientes)” (Sanchez Iglesias, s.f.). Esta técnica para distribuir la información, ha sido muy usada en entornos de servidores y ya ha llegado al uso doméstico. Es posible encontrarla en dispositivos tipo NAS, para impedir la pérdida de información y  gracias a esta técnica puedes conseguir tanto mejorar la velocidad de acceso a los datos, como la protección frente a posibles fallos en el hardware.

“Es útil su implementación cuando se cuenta con varios discos duros, ya que en uno solo no puedes almacenar toda la información” (Sanchez Iglesias, s.f.), entonces  la distribución de la información y la velocidad con la que puedes acceder aumenta, sin embargo la probabilidad de que al menos uno de ellos se estropee, también crece.
Conforme el paso del tiempo las formas de utilizar nuestros discos duros fueron cambiando, es por eso que existen diferentes tipos RAID’s y todos tienen características específicas, dentro de los más importantes sobresalen los siguientes:

            RAID 0:
Mejor conocido como striping, en esta configuración lo que se hace es distribuir de manera equitativa los datos entre dos discos duros. Dicho de otra forma, el sistema irá repartiendo los datos entre dos discos duros.La ventaja de la RAID 0 es que ofrece un mayor rendimiento de los datos.” (Staimer, s.f.)

 RAID 1:
También llamada “mirroring”  o “espejo”. Consiste en duplicar la información en dos discos; es decir, nuestro sistema verá un único volumen de almacenamiento que, en realidad, está formado por dos discos iguales en los que se escriben los mismos datos.
“La ventaja de utilizar una RAID 1 es disponer de un mayor rendimiento de lectura multiusuario, puesto que pueden leerse ambos discos al mismo tiempo” (Staimer, s.f.)

            RAID 5:
El distribuido con paridad o RAID 5, se basa en la división por bloques de información, la cual se distribuyen entre los discos que forman el conjunto. En este tipo de configuraciones, como mínimo debemos contar con 3 discos duros y, como nos podemos imaginar, solamente se tolera el fallo en uno de los discos.
“Las ventajas de utilizar una RAID 5 consisten en poder realizar operaciones de lectura y escritura de forma solapada (es decir, en poder hacer un uso más eficiente de las unidades de disco)” (Staimer, s.f.)

En conclusión, cada vez que nosotros pensamos en cómo utilizar y distribuir nuestra información es de vital importancia considerar las diferentes maneras de realizarlo, ya que si no es analizado de la manera correcta, la perdida de información (datos) o falla en los componentes hardware, puedes resultar una pérdida de dimensiones agigantadas. Es aquí donde es útil conocer las ventajas y desventajas de los RAID, en donde cada uno es útil en escenarios diferentes y dependerá de nosotros saberlos utilizar y solventar las necesidades de nuestro trabajo.

Referencias

·         hipertextual. (n.d.). Retrieved from https://hipertextual.com/archivo/2014/01/que-es-raid-discos-duros/
·         Sanchez Iglesias, L. A. (n.d.). about en español. Retrieved from http://computadoras.about.com/od/conoce-tu-pc-discos-duros/fl/RAID-5-ventajas-y-desventajas.htm
·         Staimer, M. (n.d.). TechTarget. Retrieved from http://searchdatacenter.techtarget.com/es/consejo/Tutorial-RAID-como-elegir-el-nivel-RAID-adecuado


domingo, 14 de mayo de 2017

HELP DESK


El soporte técnico es una de las principales actividades en la industrial del desarrollo de software. Cada que un producto es lanzado al mercado, inherentemente se requiere que cuente con algún tipo de soporte ante cualquier incidencia en su uso, esto ha generado que las empresas busquen la mejor alternativa para brindar dicha ayuda, lo que ha conllevado a la creación del Help Desk.

El Help Desk se puede definir como “un conjunto de servicios, que de manera integral bien sea a través de uno o varios medios de contacto, ofrece la posibilidad de gestionar y solucionar todas las posibles incidencias, junto con la atención de requerimientos relacionados con las TICS, es decir, las Tecnologías de Información y Comunicaciones” (Alfredo, 2011). Previamente a la creación de la Mesa de Ayuda, los servicios que las empresas brindaban tenían la monotonía de ser ofrecidos por un solo medio de contacto y no todos los problemas eran erradicados. Es por ello que se decidió estandarizar por medio de la ITIL Information Technology Infrastructure Library (Biblioteca de Infraestructura de Tecnologías de Información), y se sintetiza a "un marco de trabajo de las mejores prácticas destinadas a facilitar la entrega de servicios de tecnologías de la información (TI) de alta calidad” (Seguridad Informática, 2008).

Al hablar de un Help Desk, encontraremos que su enfoque está en la solución de problemas momentáneos. Esto quiere decir que puede que la solución obtenida a una determinada problemática sea sólo un parche a un problema más grande que hay detrás. Y como su nombre lo dice, es una Mesa de Ayuda, “donde se ofrecen Servicios acerca de soporte técnico (bugs, consultas, etc.), lo cual ayuda a incrementar la productividad y aumenta la satisfacción de los usuarios internos y externos”. (Alfredo, 2011).

Finalmente, podemos decir que las actividades y servicios destinados al soporte técnico son esenciales para cualquier producto en el cual los problemas no puedan ser resueltos por los mismos usuarios y que debido a la complejidad de los mismos, tecnologías como el Help Desk ahora es factible de encontrar en cualquier empresa. Esto también ha generado que diferentes organizaciones enfoquen su marco de trabajo a los servicios Help Desk que las empresas necesitan, es decir, ahora las empresas solo generan software y otra es contratada para proporcionar el soporte técnico.






Bibliografía

Alfredo, C. (22 de Enero de 2011). HELP DESK. Obtenido de http://helpdeskspecialist.blogspot.mx/2011/01/definicion.html

Seguridad Informática. (03 de Diciembre de 2008). Obtenido de https://seguinfo.wordpress.com/2008/12/03/%C2%BFque-es-itil-2/

domingo, 2 de abril de 2017

Reingeniería de Software

Cuando nos adentramos al mundo laboral del desarrollo de software, siempre deseamos construir sistemas desde cero para nuestra facilidad, pero no siempre es posible debido a que hoy en día la mayoría de las empresas  ya cuenta con un sistema que cumple con el proceso de negocios de la organización, y es ahí en donde recae el concepto de Reingeniería de Software.
Pero, ¿qué es la reingeniería de software?, muchos autores la definen como una “modificación de un producto de software, o de ciertos componentes, usando para el análisis del sistema existente técnicas de ingeniería inversa y, para la etapa de reconstrucción, herramientas de ingeniería directa, de tal manera que se oriente este cambio hacia mayores niveles de facilidad en cuanto a mantenimiento, reutilización, comprensión o evaluación.” (Sicilia, 2009). Esta definición nos habla de un proceso de modificación, en donde dicho concepto también es aplicable a los mantenimientos de software, entonces, ¿por qué no hacer un mantenimiento perfectivo en vez de una larga reingeniería? La respuesta dependerá de la situación en que nos encontremos, como sabemos “no se puede dar mantenimiento de forma eterna, no es técnica, ni económicamente viable” (Sistemasumma, 2011) y recordemos que la más marcada diferencia será el tiempo y el dinero.
La reingeniería consta de un proceso de 6 pasos, en donde puede variar dependiendo el autor que se esté leyendo, no obstante la mayoría coincide en que se deben realizar las siguientes actividades:
  1. Análisis de inventario.
  2. Reestructuración de documentos.
  3. Ingeniería inversa.
  4. Reestructuración del código.
  5. Reestructuración de datos.
  6. Ingeniería directa.



Imagen 1. Pasos de la Reingeniería del Software

Estas actividades son la esencia de toda reingeniería de software, todas y cada una de ellas nos aportan información que más adelante ayudará a la creación del sistema, sin embargo, no siempre es posible llevarlas a cabo; por ejemplo, imaginemos que el sistema al que le queremos aplicar una reingeniería tiene una longevidad muy grande, es poco probable que su documentación exista y la reestructuración de documentos será un punto que pasemos de largo. El seguimiento correcto nos llevará a tener una visión más amplia de la futura aplicación, lo que se puede traducir como una mayor facilidad para desarrollar.

“Cuando una aplicación lleva siendo usada años, es fácil que esta aplicación se vuelva inestable como fruto de las múltiples correcciones, adaptaciones o mejoras que han podido surgir a lo largo del tiempo. Esto deriva en que cada vez que se pretende realizar un cambio se producen efectos colaterales inesperados” (Sicilia, 2009), por lo que identificar en qué punto es necesario emplear una reingeniería será una de las partes más importantes para cualquier empresa. Este proceso es una alternativa viable pero bastante cara, su proceso conlleva una inversión monetaria y de tiempo de cifras con más de tres ceros, por lo que el escrutinio que se tenga que hacer al sistema deberá hacerse minuciosamente, analizando todas las posibles alternativas.

Referencias

Sicilia, M.-A. (9 de Enero de 2009). OpenStax CNX. Obtenido de http://cnx.org/contents/jXj8TA20@3/Qu-es-Reingeniera-del-Software
Sistemasumma. (26 de Mayo de 2011). Sistemas UMMA. Obtenido de https://sistemasumma.com/2011/05/26/mantenimiento-y-reingenieria-de-software/




Gestión de la Configuración del Software

GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE.

La Gestión de Configuraciones del Software (GCS) es un conjunto de actividades desarrolladas para gestionar los cambios a lo largo del ciclo de vida. La GCS es una actividad de garantía de calidad del software que se aplica en todas las fases del proceso de ingeniería del software aplicando las siguientes actividades (Facultad De Ingeniería Universidad de la República)
  1. Identificación de elementos
  2. Control de versiones
  3. Control de cambios
  4. Auditar la configuración
  5. Generación de informes

“Dado que la configuración software es la única representación tangible de un programa o sistema software, debe ser controlada para conservar su exactitud, mantener la información actualizada, y asegurar una información clara y concisa conforme avanzamos paso tras paso en el proceso de Ingeniería del Software” (Universidad de Almería, 2013). “El propósito de la Gestión de Configuración del Software es establecer y mantener la integridad de los productos de software a través del ciclo de vida del proceso de software.” (Historia Internacional, 2007).


ELEMENTOS DE LA CONFIGURACIÓN DEL SOFTWARE

Un elemento de configuración del software (ECS) es la información creada como parte del proceso de ingeniería del software, sin embargo, también podemos decir que es “una unidad física y/o lógica parte de un conjunto mayor de elementos, producida o adquirida, que por sus características es distinguible de las demás y cuya evolución interesa administrar” (Historia Internacional, 2007).
Los elementos de la configuración del software según la Universidad de Almería son los siguientes:
  1. Especificación del sistema
  2. Plan del proyecto software
  3. Especificación de requerimientos del software
    1. Prototipo ejecutable o en papel
  4. Manual de usuario preliminar
  5. Especificación de diseño:
    1. Diseño preliminar
    2. Diseño detallado
  6. Listados del código fuente
  7. Planificación y procedimiento de prueba
    1. Casos de prueba y resultados registrados
  8. Manuales de operación y de instalación
  9. Programas ejecutables
  10. Manual de usuario
  11. Documentos de mantenimiento
    1. Informes de problemas del software
    2. Peticiones de mantenimiento
    3. Órdenes de cambios de ingeniería
  12. Estándares y procedimientos de ingeniería del software

1

Referencias

Facultad De Ingeniería Universidad de la República. (s.f.). Obtenido de https://www.fing.edu.uy/tecnoinf/maldonado/cursos/ingsoft/materiales/teorico/is11-SCM.pdf
Historia Internacional. (27 de 02 de 2007). Obtenido de http://www.histaintl.com/soluciones/configuracion/configuracion.php
Universidad de Almería. (2013). Obtenido de http://www.ual.es/~rguirado/posi/Tema5-Apartado5.pdf



viernes, 3 de marzo de 2017

TARJETAS - ARTEFACTOS XP

Historia de Usuario
1
VENTA DE TARJETA E INGRESO DE SALDO
NO HAY
Usuario: Pasajero del metro
Iteración Asignada: 1
Prioridad en Negocio:
(ALTA / Media / Baja)

Puntos Estimados:
5
Riesgo en Desarrollo:
(Alto / MEDIO / Bajo)
Puntos Reales:
.
Descripción:
Se debe vender una tarjeta de uso personal, la cual pueda recargarse en ventanilla o en un cajero automático, con un máximo de $200.00.
Observaciones:
Esta tarjeta debe estar asociada a un ID y activada para empezar su funcionamiento.











Historia de Usuario
2
Cobro de tarifas por zonas para el uso del metro.
NO HAY
VIAJERO/PASAJERO
Iteración Asignada: 0
Prioridad en Negocio:
(Alta / Media / Baja)

Puntos Estimados:
8
Riesgo en Desarrollo:
(Alto / Medio / Bajo)
Puntos Reales:
.
Descripción:
Al entrar al metro se cobrará la mitad de la tarifa 1, y al salir en la misma zona se cobrará la mitad faltante. Si la salida se registra en una zona consecutiva se cobrará la restante por la tarifa 2. En cambio, si el viaje es de extremo a extremo, se cobrará la tarifa 3.
Observaciones:.










Caso de Prueba de Aceptación
Código:

1.    VENTA DE TARJETA E INGRESO DE SALDO
Nombre: Comprobación de tarjeta activa.
Descripción: Se pretende probar que al adquirir una tarjeta y se recargue por primera vez, esta se active.
Condiciones de Ejecución:
El usuario debe de haber pagado la tarjeta.
El sistema tiene que estar conectado a internet.
El lector de tarjeta debe estar en funcionamiento.
Entrada / Pasos de ejecución:
Primero se lee el id de la tarjeta y se corrobora que esta inactiva y que además su saldo sea 0.0
En seguida se ingresa saldo en base a su Id y se cambia su estatus a activo.
Se comprueba que se ingresó correctamente el saldo.
Resultado Esperado:
Se espera que la tarjeta este activada y que además cuente con saldo.
Evaluación de la Prueba:
El sistema no verifica el estatus de la tarjeta
El sistema no recarga la cantidad solicitada
El sistema recarga la tarjeta, pero no cambia el status.
El sistema recarga y verifica el estatus correctamente.
El sistema si cambia el estado de la tarjeta.






Tarea de Ingeniería
Número Tarea:
1
1.   VENTA DE TARJETA E INGRESO DE SALDO
Nombre Tarea: Desarrollo de la tarjeta y módulo de ventas.
Tipo de Tarea:
DESARROLLO / Corrección / Mejora / Otra (especificar)

Puntos Estimados:
5
Fecha de Inicio:
06/03/2017
Fecha de culminación.
06/03/2017
Programador Responsable:
Isaac Martínez Sánchez y Jeobany Ramírez Escobar
Descripción:
Se programará la base de datos, la clase tarjeta y sus respectivos atributos, así como también métodos para la venta y recarga.