sábado, 14 de abril de 2012

Sentencias de conexiones para manejadores de Bases de Datos

Sentencia de Conexión en PHP para Oracle


Éste es un ejemplo de cómo trabajar con una base de datos Oracle, para ello en la base de datos "test" de Oracle se crea la siguiente tabla que utilizaremos en el ejemplo:

create table tbl_personas (
                id     integer not null check (id > 0),
                nombre varchar(50) not null,
                primary key (id)
)

Después se  crea una función para realizar la conexión utilizando la funciones de PHP oci_connect() para conectar con Oracle y seleccionar la base de datos, y oci_error() que devolverá un mensaje de error si se produjo alguno (lo detectamos usando or die, que detendrá la ejecución):

<?php
                function conectar_Oracle( $usuario, $pass, $cadenaConexion )
                {
                               // Conectar con Oracle:
                               $conexion = oci_connect($usuario, $pass, $cadenaConexion) or die ( "Error al conectar : ".oci_error() );

                               return $conexion;
                }
?>

Sentencia de Conexión en PHP para MySQL

La sentencia para conectar al servidor Mysql es “mysql_connect” la cual recibe tres parámetros:
  1. servidor: aquí debes poner “localhost” o la dirección ip de tu web hosting.
  2. usuario: el usuario Mysql que has creado durante la creación de la base de datos Mysql. En este caso es “igniter_usuario”.
  3. contraseña: la contraseña del usuario es mysql
Ejemplo:
1
2
$conexion=mysql_connect('localhost','igniter_usuario','contraseña');
mysql_select_db('igniter_blog',$conexion);

En la variable $conexion nos queda un link hacia la base de datos. Es decir, cada vez que tengamos que invocar a la base de datos, sencillamente especificaremos “$conexion” (así evitamos tener que escribir múltiples veces nuestro usuario y password cada vez que nos interese utilizar la base de datos).
Sentencia de Conexión en PHP para PostgreSQL

pg_connect() abre una conexión con una base de datos PostgreSQL especificada por el connection_string.

Si una segunda llamada se hace a pg_connect() con la misma connection_string existiendo la conexión, la conexión existente será devuelta a menos que pase la constante PGSQL_CONNECT_FORCE_NEW como parámetro connect_type.

La sintaxis antigua con múltiples parámetros $conn = pg_connect("host", "port", "options", "tty", "dbname") ha quedado obsoleta.

miércoles, 11 de abril de 2012

PRUEBAS ESTRUCTURALES, FUNCIONALES Y ALEATORIAS



Estructurales: Las pruebas estructurales son una aproximación al diseño de casos de prueba en donde las pruebas se derivan a partir del conocimiento de la estructura e implementación del software.
Las pruebas de caminos son una estrategia de pruebas estructurales cuyo objetivo es probar cada camino de ejecución independiente en un componente o programa. Si cada camino es independiente, entonces todas las sentencias en el componente deben haberse ejecutado al menos una vez.
Para realizar dichas pruebas se han ido recorriendo los caminos existentes en cada una de las partes en las que se puede dividir el proyecto. Para mostrar dicho comportamiento, se ha realizado un diagrama para mostrar cada uno de los comportamientos.
Funcionales: Una prueba funcional es una prueba basada en la ejecución, revisión y retroalimentación de las funcionalidades previamente diseñadas para el software. Las pruebas funcionales se hacen mediante el diseño de modelos de prueba que buscan evaluar cada una de las opciones con las que cuenta el paquete informático.
Aleatorias: Se da una comparación directa de dos (o más) grupos de tratamiento, uno de los cuales sirve como un control sin tratamiento.  El grupo control puede permanecer sin tratamiento o someterse a un régimen establecido contra el cual, el nuevo régimen será valorado (control activo).  Está ampliamente aceptado entre los investigadores dedicados a la evaluación que la prueba aleatoria es la "norma de oro" para medir lo que ha ocurrido como resultado de un programa o intervención.
Fuente:

RELACIÓN ENTRE ERROR, FALLA Y DEFECTO


RELACIÓN ENTRE ERROR FALLA Y DEFECTO      

Una falla se da cuando una ejecución no produce el resultado esperado. Es la manifestación de un defecto. Una falla tiene que ver con uno o más defectos.
Un defecto es un paso, proceso, o definición de dato incorrecto. Esta situado en el artefacto (por ejemplo el código). Un defecto puede producir cero, una o más fallas (lamentablemente siendo la última la más probable).
Un error o equivocación es una acción humana que produce un resultado incorrecto. Si el error es algo tan simple como un error de tipeo, no va a generar muchos defectos. Pero si existe una equivocación de concepto, se van a generar una serie de defectos que de alguna manera están relacionados por tener la misma raíz.

miércoles, 14 de marzo de 2012

Ejemplo: Análisis de los Requerimientos de Software


1.   IDENTIFICACIÓN DE PROBLEMAS, OPORTUNIDADES Y OBJETIVOS.

Sistema de Inventario en la Ferretería "Navar".

2.   DETERMINACIÓN DE LOS REQUERIMIENTOS DE INFORMACIÓN.

La ferretería NAVAR tiene la necesidad de contar con un sistema que permita llevar un mejor control, que a su vez sea fácil de manejar; el control consiste en llevar a cabo un registro de todos los productos con los que se cuenta, los clientes frecuentes y los distintos proveedores de dicha ferretería.
El sistema registrara cualquier operación, tanto de cliente como de productos. Es decir, operaciones de altas, bajas, modificaciones, descuentos a clientes frecuentes, clientes con crédito, etc.). También contara con un sistema de impresión de facturas.
Para dicho registro se necesitaran datos como los siguientes:
PRODUCTOS. Para poder dar de alta cada producto se tendrán en cuenta: una clave o código del producto (esta se asignara tomando en cuenta el tipo del producto), el nombre, la cantidad, el precio.
Nota. El tipo o clasificación de los productos se da de la siguiente manera: cemento, pisos y azulejos, yeso, de ferretería, herramientas Truper y acero; teniendo cada uno sus respectivos proveedores.
CLIENTES CON CRÉDITO. En este inventario solo se enlistaran los clientes que cuenten con el servicio de pago a crédito. Para este catalogo se asignaran datos como: el nombre, la dirección, el teléfono y la clave de la venta.
PROVEEDORES. Dentro del registro de los proveedores se ocupara la siguiente información: una clave de proveedor, clave del producto, la cantidad y el nombre o la empresa.
Asimismo es fundamental mencionar que no se cuenta con un solo proveedor, pues éste es según el tipo de productos faltantes y es cuando se hace el pedido, ya que estos no tienen visitas periódicas, sino que surten cuando la ferretería lo solicita.
VENTAS. Además, se llevara un registro de las ventas para facilitar el control de los productos, en este apartado se producirá una nota de remisión para luego imprimirla después de haber terminado la venta para entregársela al cliente. Las ventas se dividirán en:
Ventas a crédito. Registrará datos como: una clave de la venta, el nombre del cliente, la clave del producto, cantidad, el total a pagar, el enganche dado, la fecha y hora.
Ventas al contado. En estas solo se registrara la venta, sin tomar en cuenta al cliente; registrará datos como: la clave del producto, cantidad, el total a pagar, el descuento (si es que se hace)  la fecha y hora.
Es importante aclarar que además de los datos mencionados la nota de remisión contendrá el nombre del cliente y su domicilio, nombre de los productos y sus cantidades y precios correspondientes, así como el total a pagar.
COMPRAS. Conjuntamente se realizan surtidos dentro de la ferretería; es por ello que se controlaran las adquisiciones hechas, registrando: clave del proveedor, clave del producto, cantidad, precio de compra, precio de venta, la fecha y la hora. 

3.   ANÁLISIS DE LAS NECESIDADES DEL SISTEMA.

                                        
Diagrama de casos de uso
Diagrama de clases

Diagrama de flujo

PRUEBAS DE  SOFTWARE
Las pruebas de software intentan demostrar que un programa hace lo que se  intenta que haga, así como describir defectos en el programa antes de usarlo.
DOCUMENTACIÓN DEL DISEÑO DE LAS PRUEBAS
Plan de Pruebas. Se llevaran a cabo pruebas de unidad, pruebas de integración, pruebas de aceptación.
Especificación del Diseño de pruebas. Las pruebas que se especifican en el plan consistirán en:
Pruebas de Unidad. Este tipo de prueba permitirá ver como es el funcionamiento de cada formulario que compone el software. Se prueba cada formulario y se evalúan las funciones que se pretende que debe de cumplir.
Pruebas de Integración. Para ejecutar este tipo de pruebas es necesario integrar todas las unidades, al tenerlas integradas se prueba que en conjunto todas las unidades funcionen como se desea. Permite visualizar si todos los formularios del software se integran correctamente unos con otros.
Pruebas de Aceptación. Las pruebas de aceptación tienen como objetivo validar el sistema, es decir, permite visualizar que el sistema cumple con el funcionamiento esperado y que permita al usuario definir la aceptación del sistema. Estas pruebas permiten verificar y validar el sistema.
La verificación se lleva a cabo durante el proceso de desarrollo del software, ya que dentro del programa de NetBeans IDE se da esta herramienta, se prueba el sistema sin ser finalizado, de esta manera brinda la posibilidad de corregir los errores en el momento.
Especificación de Caso de Prueba y Especificación de Procedimiento de Prueba. Las pruebas de unidad se aplicaran a los formularios que conforman el sistema, los cuales son:
·         Agregar_proveedor. Su función es agregar un proveedor nuevo a la base de datos Ferretería.
·         Buscar_Clientes. Permite buscar clientes almacenados en la base de datos para reducir tiempos.
·         Buscar_Productos. Ver si hay productos en existencia, saber el precio, características, etcétera.
·         Buscar_proveedor. Buscar el proveedor para facilitar el pedido.
·         Clientes. Para hacer el registro de un cliente con crédito. Asimismo se hace el registro de esa venta y se imprime el ticket correspondiente. Además, se disminuye el inventario.
·         Compras. Para registrar cuántos productos se adquieren y así aumentar el inventario.
·         Inventario. Solo permite visualizar el inventario en existencia actual.
·         Menu. Interfaz para acceder a los distintos componentes del software.
·         Productos. Permite registrar si en la ferretería se adquiere un producto nuevo que no se encuentra almacenado en la base de datos. También permite llenar el inventario inicial.
·         Proveedor. Permite hacer el registro inicial de los proveedores con los que se cuenta.
·         Venta_Contado. Tiene como función registrar una venta y de este modo disminuir el inventario.
Las pruebas de integración deben trabajar en el sistema completo. El primer formulario es el Menú, permitiendo ir a los demás formularios. Desde el formulario de inventario se accede al formulario de Buscar_Productos y al de Compras, del de Proveedor se accede al de Buscar_Proveedor y al de Agregar_Proveedor, desde el de Clientes al de Buscar_Clientes.
Las pruebas de aceptación son realizadas por el usuario, ya cuando el sistema se encuentre en una presentación ejecutable; se llevaran a cabo cuando el usuario final ya tenga implementado el sistema.




Proyección a 5 años

La implementación es el proceso de realizar el diseño como un programa, asimismo, después de implementar el sistema de inventarios en la ferretería es necesario darle un mantenimiento adecuado y hacerle cambios si es que éste lo necesita.

El sistema para administración de Ferreterías recibirá actualizaciones cada mes, debido a que es un sistema que cuenta con una base de datos, se corre el riesgo de que ésta se sature de información, por lo tanto, es importante el aumento en el poder de almacenamiento del servidor, y mejoras en el código del sistema, para darle un mayor rendimiento en su capacidad y velocidad; También es importante hacer revisiones al equipo, de modo que no existan riesgos como robo o pérdida de información.

Cambios que necesitará el sistema
*      Nuevos diseños a la interfaz, de modo que sea más amigable con el usuario, ofrezca una mejora en sus interacciones y un diseño más atractivo.
*      Mejoras en la sintaxis, como reducción del código, de modo que el programa sea menos pesado para la máquina.
*      Realizar cambios en el sistema o versiones nuevas, de modo que sea compatible con nuevos sistemas operativos.
*      Cambios en el equipo de cómputo con mejor rendimiento para contar con un sistema más rápido y eficiente.
Especificaciones del mantenimiento
El mantenimiento del software es el proceso general de cambiar un sistema después de que éste ha sido entregado. Estos cambios pueden ir desde los simples hasta los más extensos. Los cambios se implementan modificando los componentes del sistema existente y agregándole nuevos componentes donde sea necesario.
En el sistema de inventario para ferreterías el mantenimiento se llevara de la siguiente manera:
ü  Limpieza y revisión al equipo de cómputo de manera que no presente riesgos para los usuarios.
ü  Instalación de actualizaciones al sistema para que no se haga obsoleto.
ü  Revisiones al código de manera que no existan errores (mantenimiento preventivos y correctivo), para evitar pérdidas en tiempo y esfuerzo.
ü  Agregación de nuevos contenidos al menú del sistema, para ofrecerle nuevas funcionalidades al usuario.

miércoles, 8 de febrero de 2012

Lenguajes de Programación

Lenguaje de Programación HTML
HTML (HyperText Markup Language).
HTML es el lenguaje que predomina entre los lenguajes que se utilizan para la elaboración de páginas web. La estructura y el contenido se describen en forma de texto, el texto también puede ser complementado con objetos tales como imágenes. 
En HTML las líneas de código se escriben en forma de «etiquetas», rodeadas por corchetes angulares (< >). HTML también puede describir, hasta un cierto punto, la apariencia de un documento, y puede incluir un script, el cual puede afectar el comportamiento de navegadores web y otros procesadores de HTML.
En sí, HTML no es un lenguaje de programación, puesto que, por su naturaleza, no implementa funciones básicas como acceso a Bases de Datos o funciones de edición gráfica.
Una característica que identifica a HTML es que no distingue entre mayúsculas y minúsculas, y como se mencionó en un principio es el lenguaje por excelencia para crear páginas web.

Ventajas:
  • Debido a que es una aplicación de texto, ocupa poco espacio
  • Es rápido
  • Tiene mucho desarrollo
  • Se puede usar en computadoras con poca capacidad
Desventajas:
  • Poco amigable
  • Tiene una interfaz restringida


PYTHON  
PYTHON 
Python es un lenguaje de programación de alto nivel que hace uso de una sintaxis muy limpia la cual favorece un código legible.
Se conoce como un lenguaje de programación multiparadigma, lo cual hace referencia a que soporta orientación a objetos, programación imperativa y programación funcional. 
También es un lenguaje interpretado, usa tipado dinámico, es fuertemente tipado y multiplataforma.
Posee una licencia de código abierto, denominada Python Software Foundation License.

Ventajas:
  • Contiene una gran cantidad de funciones y librerías
  • Es sencillo y rápido de programar
  • Portátil

Desventajas:
  • Lento en su ejecución

PERL
PERL
Perl, es un lenguaje poderoso en lo que es el manejo de las expresiones regulares, contiene una gran cantidad de módulos preprogramados, y toma algunas de las características del lenguaje C.

Tiene varias utilidades, está principalmente orientado a la busqueda, extracción y formateado de ficheros de tipo texto. También es muy usado para manejo y gestión de procesos.

Ventajas:
  • Construcción de pequeños programas que pueden ser usados como filtros para obtener información de ficheros, realizar busquedas.
  • Soporta varios paradigmas de programación
  • Sencillo en sintáxis
Desventajas:
  • El código puede volverse desordenado, si varios programadores no establecen alguna convención de sintaxis.