Programación Orientada a Objetos
sábado, 18 de diciembre de 2010
jueves, 16 de diciembre de 2010
Semana 13: Sistemas distribuidos
Presentación sobre conceptos de Sistemas Distribuidos y sobre cómo se implementaría mi proyecto como un sistema distribuido.
Fuentes:
http://www.augcyl.org/?q=glol-intro-sistemas-distribuidos
http://sistemas.itlp.edu.mx/tutoriales/sistsdist1/index.htm
http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/MonogSO/CARSD02.htm
http://es.kioskea.net/contents/lan/lanintro.php3
Fuentes:
http://www.augcyl.org/?q=glol-intro-sistemas-distribuidos
http://sistemas.itlp.edu.mx/tutoriales/sistsdist1/index.htm
http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/MonogSO/CARSD02.htm
http://es.kioskea.net/contents/lan/lanintro.php3
Semana 12- Interfaces gráficas de usuario
Para esta entrada utilice el wxGlade.
Capturas de pantallas:
Código:
Capturas de pantallas:
Código:
miércoles, 15 de diciembre de 2010
Semana 11 - Pruebas unitarias
Una prueba unitaria es probar una procion de codigo en sus diferentes esenarios para saber si funciona o no, detectar las fallas de esa porcion de codigo, una prueba unitaria no implica que se ejecute simplemente dentro de una clase, assembly o con acceso a datos o sin ellos.
Para implementar las clases utilice Python y para las pruebas unitarias PyUnit.
Clases:
- Clase clsPoliza.py
import sys
import MySQLdb
#Clase Poliza (Los datos generales)
class Poliza(object):
def __init__(self,IdPoliza,
Numero,AgenteId,ClienteId,CompaniaId,TipoPolizaId,FechaInicio,FechaFin,Precio,FormaPagoId,CoberturaId,PolizaAnterior,self.IdPoliza = IdPoliza
self.Numero = Numero
self.AgenteId = AgenteId
self.ClienteId = ClienteId
self.CompaniaId = CompaniaId
self.TipoPolizaId = TipoPolizaId
self.FechaInicio = FechaInicio
self.FechaFin = FechaFin
self.Precio = Precio
self.FormaPagoId = FormaPagoId
self.CoberturaId = CoberturaId
self.PolizaAnterior = PolizaAnterior
self.BeneficiarioId = BeneficiarioId
#Creacion de Poliza
def AltaPoliza(self) :
try:
#Conectar a base de datos
mysql = MySQLdb.connect(user="root", passwd="ofe2011", db="SEGUROS")
mysql_cursor = mysql.cursor()
#Parametros
parametros =(self.Numero,self.AgenteId,self.ClienteId,self.CompaniaId,self.TipoPolizaId,self.FechaInicio,self.FechaFin,self.Precio,
#Ejecutar el store para crear la poliza
results = mysql_cursor.callproc( "SPC_Poliza",parametros)
#Leer el id de la Poliza recien creada(identity)
rows = mysql_cursor.fetchall()
for row in rows:
#Imprimimos el Id de la Poliza recien creada
print row[0]
#Cerramos conexiones
mysql_cursor.close()
mysql.close()
#Excepcion
except MySQLdb.Error, e:
print "MySQL Error %d: %s" % ( e.args[0], e.args[1] )
sys.exit(1)
#Modificar Poliza
def ModificarPoliza(self) :
try:
#Conectar a base de datos
mysql = MySQLdb.connect(user="root", passwd="ofe2011", db="SEGUROS")
mysql_cursor = mysql.cursor()
#Parametros
parametros = (self.IdPoliza,
self.Numero,self.AgenteId,self.ClienteId,self.CompaniaId,self.TipoPolizaId,self.FechaInicio,self.FechaFin,self.Precio,
#Ejecutar el store para crear la poliza
results = mysql_cursor.callproc( "SPM_Poliza",parametros)
#Cerramos conexiones
mysql_cursor.close()
mysql.close()
#Regresa verdadero cuando la poliza se modifico correctamente
return True
#Excepcion
except MySQLdb.Error, e:
print "MySQL Error %d: %s" % ( e.args[0], e.args[1] )
sys.exit(1)
#Eliminar Poliza
def EliminarPoliza(self) :
try:
#Conectar a base de datos
mysql = MySQLdb.connect(user="root", passwd="ofe2011", db="SEGUROS")
mysql_cursor = mysql.cursor()
#Ejecultar store para eliminar la poliza
results = mysql_cursor.callproc( "SPE_Poliza",self.IdPoliza)
#Cerramos conexiones
mysql_cursor.close()
mysql.close()
#Regresa verdadero cuando la poliza se elimino correctamente
return True
#Excepcion
except MySQLdb.Error, e:
print "MySQL Error %d: %s" % ( e.args[0], e.args[1] )
sys.exit(1)
#Leer Poliza
def LeerPoliza(self) :
try:
#Conectar a base de datos
mysql = MySQLdb.connect(user="root", passwd="ofe2011", db="SEGUROS")
mysql_cursor = mysql.cursor()
#Parametros
parametros = self.IdPoliza
#Ejecutar el store para leer la poliza
mysql_cursor.callproc( "SPL_Poliza", parametros)
rows = mysql_cursor.fetchall()
#Imprimir resultados
for row in rows:
print row[0]
print row[1]
print row[2]
print row[3]
print row[4]
print row[5]
print row[6]
print row[7]
print row[8]
print row[9]
print row[10]
print row[11]
print row[12]
#cerrar conexiones
mysql_cursor.close()
mysql.close()
#Excepcion
except MySQLdb.Error, e:
print "MySQL Error %d: %s" % ( e.args[0], e.args[1] )
sys.exit(1)
- clsAgente.py
import sys
import MySQLdb
#Clase Agente
class Agente(object):
def __init__(self,IdAgente, Clave, Nombres, ApPaterno, ApMaterno) :
self.IdAgente = IdAgente
self.Clave = Clave
self.Nombres = Nombres
self.ApPaterno = ApPaterno
self.ApMaterno = ApMaterno
#Creacion de Agente
def AltaAgente(self) :
try:
#Conectar a base de datos
mysql = MySQLdb.connect(user="root", passwd="ofe2011", db="SEGUROS")
mysql_cursor = mysql.cursor()
#Parametros
parametros = (self.Clave,self.Nombres,self.ApPaterno,self.ApMaterno)
#Ejecutar el store para crear el agente
results = mysql_cursor.callproc( "SPC_Agente",parametros)
#Leer el id del Agente recien creada(identity)
rows = mysql_cursor.fetchall()
for row in rows:
#Imprimimos el Id del Agente recien creado
print row[0]
#Cerramos conexiones
mysql_cursor.close()
mysql.close()
#Excepcion
except MySQLdb.Error, e:
print "MySQL Error %d: %s" % ( e.args[0], e.args[1] )
sys.exit(1)
#Modificar Agente
def ModificarAgente(self) :
try:
#Conectar a base de datos
mysql = MySQLdb.connect(user="root", passwd="ofe2011", db="SEGUROS")
mysql_cursor = mysql.cursor()
#Parametros
parametros = (self.IdAgente, self.Clave,self.Nombres,self.ApPaterno,self.ApMaterno)
#Ejecutar el store para modificar el agente
results = mysql_cursor.callproc( "SPM_Agente",parametros)
#Cerrar conexiones
mysql_cursor.close()
mysql.close()
#Regresa verdadero cuando el agente se modifico correctamente
return True
except MySQLdb.Error, e:
print "MySQL Error %d: %s" % ( e.args[0], e.args[1] )
sys.exit(1)
#Eliminar Agente
def EliminarAgente(self) :
try:
#Conectar a base de datos
mysql = MySQLdb.connect(user="root", passwd="ofe2011", db="SEGUROS")
mysql_cursor = mysql.cursor()
#Ejecutar el store para eliminar el agente
results = mysql_cursor.callproc( "SPE_Agente",self.IdAgente)
#Cerramos conexiones
mysql_cursor.close()
mysql.close()
#Regresa verdadero cuando el agente se elimino correctamente
return True
#Excepcion
except MySQLdb.Error, e:
print "MySQL Error %d: %s" % ( e.args[0], e.args[1] )
sys.exit(1)
#Leer Agente
def LeerAgente(self) :
try:
#Conectar a base de datos
mysql = MySQLdb.connect(user="root", passwd="ofe2011", db="SEGUROS")
mysql_cursor = mysql.cursor()
#Parametros
parametros = self.IdAgente
#Ejecutar el store para leer al agente
mysql_cursor.callproc( "SPL_Agente", parametros)
rows = mysql_cursor.fetchall()
#Imprimir resultados
for row in rows:
print row[0]
print row[1]
print row[2]
print row[3]
print row[4]
#Cerrar conexiones
mysql_cursor.close()
mysql.close()
#Excepcion
except MySQLdb.Error, e:
print "MySQL Error %d: %s" % ( e.args[0], e.args[1] )
sys.exit(1)
Pruebas unitarias:
- TestPoliza.py
import unittest
import clsPoliza
#Pruebas unitarias Clase Poliza
class TestPoliza(unittest.TestCase):
#Verifica si el metodo inserto la poliza; validando si el id que regresa (identity) es mayor que cero
def testAlta(self):
r = [clsPoliza.Poliza("11","8201652",
1,3,4,2,"2010/12/14","2010/12/15","15689",1,3,0,1).AltaPoliza()]
self.assertTrue(r>0)
#Verifica si se modifico la poliza; ya que si se modifico la poliza regresa True
def testModificar(self):
r = [clsPoliza.Poliza("11","8201652",
1,3,4,2,"2010/12/14","2010/12/15","15689",1,3,0,1).ModificarPoliza()]
self.assertTrue(r)
#Verifica si se elimino la poliza; ya que si se elimino la poliza regresa True
def testEliminar(self):
r = [clsPoliza.Poliza("13","8201652",
1,3,4,2,"2010/12/14","2010/12/15","15689",1,3,0,1).ModificarPoliza()]
self.assertTrue(r)
if __name__ == "__main__":
unittest.main()
- TestAgente.py
import unittest
import clsAgente
class TestAgente(unittest.TestCase):
#Verifica si el metodo inserto el agente; validando si el id que regresa (identity) es mayor que cero
def testAlta(self):
r = [clsAgente.Agente("3","9856", "Karina","Montemayor","Garza").AltaAgente()]
self.assertTrue(r>0)
#Verifica si se modifico el agente; ya que si se modifico el agente regresa True
def testModificar(self):
r = [clsAgente.Agente("3","9856", "Karina","Montemayor","Garza").ModificarAgente()]
self.assertTrue(r)
#Verifica si se elimino el agente; ya que si se elimino el agente regresa True
def testEliminar(self):
r = [clsAgente.Agente("3","9856", "Karina","Montemayor","Garza").EliminarAgente()]
self.assertTrue(r)
if __name__ == "__main__":
unittest.main()
Ejecutar pruebas en Terminal:
Archivo con codigo y archivo README:
Suscribirse a:
Entradas (Atom)