instituto tecnologico superior de calkini en el estado … · 2009-01-10 · proyecto softcell....
TRANSCRIPT
Página 1
NOMBRE DE LA CARRERA:
INGENIERIA EN SISTEMAS COMPUTACIONALES
SEPTIMO SEMESTRE
NOMBRE DE LA ASIGNATURA:
DESARROLLO DE PROYECTOS DE SOFTWARE.
NOMBRE DEL PROFESOR:
AURELIO LOPEZ OVANDO.
TITULO DEL TRABAJO:
Proyecto softcell.
INTEGRANTES DE EQUIPO.
PEDRO ISMAEL CANUL MARIN
ADRIANA ANGELINA Dzul millam
JOSE ABELINO MARTIN COUOH
GRUPO: B
CALKINI, CAMPECHE, A 10 DE ENERO DEL 2009
INSTITUTO TECNOLOGICO SUPERIOR DE
CALKINI EN EL ESTADO DE CAMPECHE
Página 2
INDICE
Introducción ................................................................................................................................................................................... 3
Justificación .................................................................................................................................................................................... 4
Descripción de l Problema ............................................................................................................................................................. 4
Requerimientos del sistema ........................................................................................................................................................... 5
Requerimientos funcionales .......................................................................................................................................................... 5
Usuarios Actuales ........................................................................................................................................................................... 5
Usuarios Futuros ............................................................................................................................................................................ 5
Requerimientos no funcionales .................................................................................................................................................... 6
Costo del sistema ............................................................................................................................................................................ 6
Analisis del sistema ........................................................................................................................................................................ 7
Escenarios ....................................................................................................................................................................................... 7
Diagrama de casos de uso .............................................................................................................................................................. 8
Identificación de y descripción del proyecto ................................................................................................................................ 10
Diagrama de clases ......................................................................................................................................................................... 14
Diagrama de actividades ............................................................................................................................................................... 17
Cronograma de actividades ........................................................................................................................................................... 18
Código del software........................................................................................................................................................................ 19
Interfaces ........................................................................................................................................................................................ 29
Anexos ............................................................................................................................................................................................ 31
Lista de cotejo ................................................................................................................................................................................. 31
Cuestionario .................................................................................................................................................................................. 31
Página 3
INTRODUCCION
Hoy en día la tecnología ha avanzado hasta en un punto en donde es indispensable para nuestra vida ya que
esta la utilizamos en gran parte de nuestras actividades diarias, como por ejemplo en el siglo XXI hoy en
día existen lo teléfonos móviles que ya tiene incluido software portable que están hechas con lenguajes de
alto nivel, hoy contamos con las herramientas necesarias para creación de un pequeño o inclusive grandes
programas, es este caso la manipulación de la información ya esta la alcance de nuestras manos tenemos
como ejemplo lo celulares que son de mucha importancia ya con ellos demos de comunicarnos nos pueden
servir como una péquela agenda en podemos tener un pequeño software que tenga la tarea funcionar como
una pequeña base de datos, esta puede contener información escolar, como puede ser los horarios de clases
podemos realizar apuntes, y por que no calcular nuestros promedios obtenidos en un periodo determinado.
En este programita que estaría incluido en los teléfonos celulares estaría enfocado a los alumnos de
cualquier nivel de estudios, para poder consultar en cualquier momento cualquier información que este
quiera saber, para ellos tendremos que utilizar alguna lenguaje programación, en este caso será del java y
algunas otras herramientas mas.
Página 4
Justificación.
Una de las razones por las que hacemos este proyecto es la de poder tener a la mano la información
necesaria para que no tengamos que estar apresurados a la hora de poder checar los horarios de alguna
clase o alguna materia o tomar los apuntes de los periodos de exámenes, o estar enterado de tus resultados
de los exámenes, poder obtener tu promedio final de algún semestre en particular, etc.
Por que hoy en día aun hay estudiantes que no sabes en que salón tomarán las clases, los horarios en los
que tendrán sus respectivas clases, por eso hemos decidido hacer un programa en el que nos facilite todo esta
información, ya que nos servirá de mucha ayuda por que podemos tenerla siempre cerca de nosotros para
poder esta siempre informados, sobre el área que queramos.
Descripción del problema
Hoy en el siglo XXI aun con la tecnología que existe, algunas escuelas implementan herramientas como son
el internet en donde por medio de esta publican las actividades que realizaran en un determinado tiempo, los
horarios de clases, las calificaciones de cada parcial y las semestrales existen alumnos que no saben como
utilizarla o por X razón no la consultan, esto puede traer consecuencias como puede ser, al no saber los
horarios de exámenes de una determinada materia, podría ocasionar que perdiéramos la oportunidad de
presentar examen eso nos afectaría en nuestras calificaciones e inclusive nos podría ocasionar problemas
futuros.
Página 5
REQUERIMIENTOS DEL SISTEMA
REQUERIMIENTOS FUNCIONALES
.
Al hacer una consulta en el sistema el usuario deberá elegir el semestre que está cursando.
El usuario solo podrá realizar unas consultas no varias a la vez.
Al elegir la opción apuntes solo podrá escribir un máximo de 2 páginas.
Para ingresar calificaciones al sistema el usuario debe escribir nombre de la materia junto con la calificación que le
corresponde.
Para ingresar horarios al sistema el usuario debe escribir el día y la hora, el nombre de la carrera, el turno
correspondiente a cada materia con su respectivo maestro.
para registrar los datos al sistema se deberá haber ingresado anteriormente todos los necesarios (apuntes,
calificaciones, horarios).
No podrá hacerse modificaciones sin antes haber seleccionado la opción que desee modificar.
Usuarios actuales
En nuestro caso, docentes y alumnos.
Usuarios futuros
Serán todos aquellos que cuenten con un celular y que requieran de softcell para tener un mejor manejo de sus
horarios, calificaciones y apuntes.
Página 6
NO FUNCIONALES
o La interfaz del sistema solo podrá ser implementado sobre la plataforma JAVA J2ME WIRELESS TOOLKIT
o Para la implementación del sistema se requerirá un celular móvil con memoria suficiente para implementar el software con un cable de datos.
o Solo el propietario del celular será el encargado de manipular el los datos del sistema.
o El usuario no podrá hacer ningún cambio al software sin antes consultar con la persona autorizada para
ello (programador).
Costo del sistema
Programador $ 1000
Diseñador $500
total $ 1,500
Página 7
ESCENARIOS
Casos de uso
Construcción de escenario:
1. Una de las operaciones del usuarios sera la captura de información, ya sea de tipos nota o tipo de escolar, como puede ser los horarios escolar, calificaciones, para ello lo hemos
clasificado dependiendo de lo que el usuario desee capturar.
2. Ya capturado los datos académicos por ejemplo, podemos consultar horarios y claro utilizando métodos de búsqueda de dicha información.
3. Usuario podrá consultar sus calificaciones o puede escribir el materia junto con la calificación correspondiente utilizando distintos métodos y como puede ser búsqueda de la
calificación menor a mayor o aplicando diferente métodos de búsqueda.
4. El usuario puede leer sus apuntes mediante un interfaz, al momento de registrarlos aparecerá una ventana donde muestra un formulario que será rellenado con sus respectivos
campos.
Tendrá un botón de aceptar, al momento de dar un clic los datos serán validados y almacenados..
5. Para realizar cualquier consulta el usuario debe seleccionar lo opción semestre.
6. Habiendo seleccionando el semestre, el usuario debe elegir la opción que desee del menú, este puede ser leer apuntes, consultar calificaciones, consultar Horarios, realizar
modificaciones.
7. Si el usuario decide leer apuntes, solo debe seleccionar el apunte y abrirlo.
8. Cuando el usuario desee realizar una consulta sobre sus calificaciones debe seleccionar la opción consultar calificaciones.
9. En caso de que el usuario desee realizar una consulta sobre sus horarios debe seleccionar la opción consultar horario.
10. Cuando el usuario decida realizar una modificación solo debe de seleccionar la opción del menú que desee modificar (leer apuntes, consultar calificaciones, consultar Horarios).
Página 8
extend
extend
extend
extend
extend
Diagrama de Casos de Uso – Proyecto Softcell
Capturar
apuntes Ingresar tipo de
información
Leer Apuntes
Ingresar
Calificaciones
Consultar
Horarios Buscar información
Consultar
Calificaciones
Usuario
Ingresar
Horario
Página 9
Identificación de actores:
Los actores que intervienen son el usuario, sistema.
Descripción de los casos de usuarios. (Este punto será cuando tengamos el sistema completo OPCIONAL)
Curso Normal Respuesta del sistema
Actor
1.- El usuario debe de entrar a la
aplicación llamada SOFTCELL.
3.- El sistema abrirá un formulario para pedir datos académicos esto incluye el
nombre de la carrera, de la materia, la hora, el día, etc.
2.- El usuario debe de pulsar un botón
para accesar a la aplicación.
4.-Una vez abierta la aplicación del
formulario, el usuario podrá rellenar
con los datos correspondientes.
5.- El sistema validará todos los datos, si con correctos, si no son correctos le enviara
al usuario de nuevo el formulario para corregir los datos erróneos.
6.- El usuario corregirá los datos si son
erróneos.
7.- El sistema validará todos los datos, si con correctos, si no son correctos le enviara
al usuario de nuevo el formulario para corregir los datos erróneos.
8.- La aplicación le mostrará los datos almacenados
9.- El usuario podrá hacer consultas
haciendo clic en un botón de
operación.
Curso alternativo
2 El usuario puede cancelar la operación de accesar a la aplicación dando un clic en el botón de
cancelar, para no realizar alguna operación
Nombre de caso de uso Capturar apuntes.
Actores Usuario.
Propósito. El usuario proporcionará información de apuntes escolares, notas personales, etc.
Visión general El usuario debe proporcionar los datos académicos, es este caso, registrar todos los horarios de clases, para tener
el control de las clases o registrar datos personales, etc.
Curso Normal Respuesta del sistema
Actores 1.- El usuario para poder registrar
sus horarios tendrá que teclearlos
en un formulario.
2.- El usuario tendrá que pulsar un
botón guardar para poder
almacenar su horario
3.- La aplicación una ves tomado los datos que a proporcionado este lo comparará con el formato
establecido, y además validará los datos que este le proporciona en caso de que este erróneo el sistema
le mandará un mensaje .
4.- El usuario corregirá los datos
en caso de que estén erróneos
3.- La aplicación una ves tomada los datos que proporcionado este lo comparará con el formato
establecido, y además validará los datos que este le proporciona en caso de que este erróneo el sistema
le mandará un mensaje .
Curso alternativo
2 El usuario puede cancelar la operación a la aplicación dando un clic en el botón de cancelar, para no
realizar dicha operación.
Nombre de caso de uso Ingresar tipo de información.
Actores Usuario.
Propósito. El usuario pude capturar información y puede también clasificarlos.
Página 10
Visión general Realizar esta clasificación para tener un mejor control de la información que el usuario provee.
Curso Normal Respuesta del sistema
Actores 1.- El podrá clasificar sus notas,
por medio de un ventanita, en
donde tendrá dos elecciones una
para datos personales y otro para
datos academicos.
2.- El usuario tendrá que pulsar un
botón guardar para poder
almacenar sus datos.
3.- La aplicación una ves tomado los datos que a proporcionado este lo comparará con el formato
establecido, y además validará los datos que este le proporciona en caso de que este erróneo el sistema
le mandará un mensaje .
Curso alternativo
2 El usuario puede cancelar la operación a la aplicación dando un clic en el botón de cancelar, para no
realizar dicha operación.
Nombre de caso de uso Consultar calificación.
Actores Usuario.
Propósito. El usuario tendrá podrá realizar las consultas a su calificación ya sea por medio de su matricula, de su promedio
semestral, parcial, etc.
Todo esto estará extendido a un caso en donde buscaremos información requerida del usuario.
Visión general El usuario puede estar informado sobre como va sus calificaciones e inclusive tener su promedio.
Página 11
Curso Normal Respuesta del sistema
Actores 1.- El usuario podrá realizar ver
sus calificaciones actuales por
medio de un ventana en donde
estará clasificada por categorías,
donde tendrá opciones de ver su
calificación .
2.- El usuario tendrá que pulsar un
botón ver para poder ver sus
calificaciones.
3.- El sistema desplegará un serie de categorías, como es semestre, parcial, o podrá ver sus promedios.
Nombre de caso de uso Consultar horarios
Actores Usuario, Sistema
Propósito. Tener un mejor control de los horarios de clases.
Visión general Proporcionarnos toda la información de las clases que le usuario va a tener, eligiendo otros atributos como
puede ser el día.
Curso Normal Respuesta del sistema
Actores 1.- El usuario tendrá opciones
en la cual podrá hacer
consultas a sus horarios de
clases los días que tienes la
materia y cuantas horas tiene.
2.- Por medio de un Combobox, le mostrara todas las opciones para que el usuario pueda realizar todas las
operaciones con los horarios.
Nombre de caso de uso Lee Apuntes
Actores Usuario, Sistema
Propósito. La información del usuario debe siempre al alcance del usuario, como en este caso la información siempre va estar
en sus manos por que la aplicación estará en teléfono móvil.
Visión general La información siempre al alcance de las manos del un usuario.
Curso Normal Respuesta del sistema
Actores 1.- El usuario tendrá opciones en la
cual podrá hacer lectura de sus
apuntes guardados, así como a
aplicación tendrá opciones de
fechas de los apuntes que desea
leer, como buscarlos por medio de
un botón de búsqueda.
Página 12
2.- Le desplegará una lista de las opciones de fechas ya sea en un orden como puede ser el día, la
fecha,
Curso alternativo
1 El usuario puede cancelar la operación a la aplicación dando un clic en el botón de cancelar, para no
realizar las lectura de notas.
Nombre de caso de uso Ingresar Calificaciones
Actores Usuario, Sistema
Propósito. El usuario proporcionará información acerca de las calificaciones de las materias, obtenidas en un determinado
periodo, ya sea parcial,
Visión general El usuario tendrá varias opciones sobre como realizar las consultas, una de esas formas seria la forma de encontrar
las calificaciones obtenidas durante el ciclo escolar, pero para ello tendrá que proporcionar toda las notas
obtenida durante el periodo e inclusive promediarlo antes que el plantel lo promedie.
Curso Normal Respuesta del sistema
Actores 1.- El usuario para poder registrar
sus notas obtenidas durante un
periodo de clases y sera guardado
en un formulario.
2.- El usuario tendrá que pulsar un
botón guardar para poder
almacenar sus notas o podrá
clasificarlos por semestre como el
usuario desee.
3.- La aplicación una vez tomado los datos que a proporcionado este los validará, para ello tendremos
unos formatos para validar los numero y este le dirá si esta correo.
Curso alternativo
2 El usuario puede cancelar la operación a la aplicación dando un clic en el botón de cancelar, para no
realizar la operacion guardar los datos, inclusive el usuario puede cancelar el ingreso de los datos.
Página 13
Nombre de caso de uso Ingresar Horario
Actores Usuario, sistema.
Propósito. El usuario proporcionará alguna información acerca de los horarios de sus clases y tener la información exacta
para sus clases, y claro el usuario tendrá varios opciones por la cual tendrá que realizar búsquedas ya sea por
horarios de clases, horarios de materia, etc.
Visión general El usuario debe proporcionar los datos académicos, es este caso registrar todos los horarios de clases, para tener
el control de las clases.
Curso Normal Respuesta del sistema
Actores 1.- El usuario para poder registrar
sus horarios tendrá que teclearlos
en un formulario.
2.- El usuario tendrá que pulsar un
botón guardar para poder
almacenar su horario
3.- La aplicación una ves tomado los datos que a proporcionado este lo comparará con el formato
establecido, y además validará los datos que este le proporciona en caso de que este erróneo el sistema
le mandará un mensaje .
4.- El usuario corregirá los datos
en caso de que estén erróneos
3.- La aplicación una ves tomada los datos que proporcionado este lo comparará con el formato
establecido, y además validará los datos que este le proporciona en caso de que este erróneo el sistema
le mandará un mensaje .
Curso alternativo
2 El usuario puede cancelar la operación a la aplicación dando un clic en el botón de cancelar, para no
realizar dicha operación.
Página 14
DIAGRAMA DE CLASES
El sistema móvil de sofcell es una aplicación que controla ciertas operaciones .
El usuario tendrá un celular y ella tendrá alojada una aplicación realizada con j2me ya que el usuario al darle
clic sobre ella esta se ejecutara y se mostrara u menú que contendrá un horario de clases, las calificaciones
obtenidos, y podrá tomar resumes o nota. El usuario será capaz de de elegir cualquiera de estos que el requiera
para su uso.
Al darle click al menú de horarios de clases se desplegara una ventana que contiene el nombre de l maestro, el
aula, el día, la materia y la hora que se impartirá dicha clase y tendrá la opción de agregar o eliminar dichos
datos que no requiera necesarios para el.
De igual forma el usuario ala darle click en la opción de calificaciones se desplegara una pantalla que se
visualizara cada parcial de los resultados obtenidos por semestre y si el requiere saber su promedio el solo le
dará u click e le botón promedio y saldrá el resultado obtenido.
El usuario escoge la opción de tomar Nota(resumen) al darle click se desplegara una pantalla donde el puede
hacer uso de este escribiendo por medio de las teclas del celular. Lo que el desee escribir y lo podrá guardar si
es nuevo. Si el usuario ya lo tiene escrito antes lo podrá eliminar o editarla. Y si el usuario no quiere hacer con
alguna de estas opciones el tendrá un botón de salir. Y se cierra todo la aplicación.
Página 15
CLASES CANDIDATAS
SISTEMA MÓVIL sistema completo
SOFCELL imprecisas
APLICACIÓN imprecisas
USUARIO -
CELULAR -
APLICACIÓN Duplicado
J2me Sistema completo
MENÚ -
HORARIO DE CLASES Irrelevante
CALIFICACIONES Atributo
USUARIO Duplicado
MENÚ Duplicado
HORARIOS DE CLASES Atributo
VENTANA Interfase
NOMBRE Atributo
MAESTRO Atributo
AULA Atributo
DÍA Atributo
LA MATERIA Atributo
HORA Atributo
AGREGAR atributo
ELIMINAR Atributo
CALIFICACIONES Atributo
PANTALLA Interfase
USUARIO Duplicado
SALIR Atributo
APLICACION interfase
Página 16
USUARIO
NOMBRE
APELLIDO
MATRICULA
DIIRRECCION
SEXO
SEMESTRE
MENU
Horario de clases
Calificaciones
Notas
buscador
CELULAR
MARCA
TIPO
CALIFICACIONES
PARCIAL1
PARCIAL3
PARCIAL2
PROMEDIO
HORARIO DECALIFICACIONES
HORA
DIA
MATERIA
AULA
MAESTRO
NOTAS(RESUMEN)
TIPO
1 * 1 *
1
*
* *
1
1
Página 17
1..-UN USUARIO PUEDE COTENER VARIOS CELULARES
2.-UN CELULAR PUEDE COTENER VARIOS MENUS
3.-UN MENU PUEDE CONTENER VARIAS OPCIONES
4.-UNA OPCION PUEDE COTENER VARIAS OPCIONES
DIAGRAMA DE ACTIVIDADES (flujos de trabajo)
No hace nada
usuario
Cancelar usuario
Usuario
aceptado
Ingresar al
sistema
Seleccionar
menú
Usuario
Revisar
calificación
Apunt
es
Horario de
clases
Consult
ar
Elimin
ar
Lo que deseas
hacer
Editar
Página 18
Cronograma de Actividades ACTIVIDAD LUNES VIERNES ACTIVIDAD
NOVIEMBRE
Realización de la tesina 17 Definición de las funciones a realizar
Definición y justificación del proyecto 17 Explicación de la justificación del proyecto
NOVIEMBRE
Analisis de la justificación del proyecto.
19 Editar las justificaciones.
Analizar los requerimientos y costos del sistema.
20 Anotaciones de los puntos importantes del proyecto
Realización del diagrama de casos de uso.
21 Elaboración del diagrama con sus respectivos actores y sus respectivos casos de uso.
Realización del diagrama de clases y otros lenguajes en donde podemos ilustrarlo de manera mas entendible
Aplicación de ¡de las herramientas de UML para la realización del diagrama de clases y otros. 22
Realización del cronograma de actividades.
24 Anotaciones de todo lo realizado durante la elaboración de la documentación del proyecto softcell.
Definición de las interfaces
25
Elaboración de la interfaces del programita
Conclusion del documento 25 Elaboración de la conclusion y anotaciones de las bibliografías e incluir anexos
FIN DE SEMESTRE
Página 19
CODIGO DEL SOFTWARE SOFCELL
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import javax.microedition.io.*;
import java.io.*;
import javax.microedition.rms.*;
import java.util.*;
public class Proyect extends MIDlet implements CommandListener
{
ChoiceGroup lista,listaOpcion1;
Command cmd_salirsistema;
Command cmd_entrarsistema;
Command cmd_seleccionarmenu;
Command cmd_setOpciones;
Command cmd_selectOpcion;
Command cmd_okHorario;
Command cmd_guardaApunte;
Command cmd_salirMenu;
Command cmd_guardaHorario;
Command cmd_guardaCalif;
Command cmd_reescribir;
Command cmd_salir;
Command cmd_eliminar;
Form frm_principal;
Form frm_menu;
Form frm_apuntes;
Form frm_opciones1;
Form frm_horario;
Form frm_calificaciones;
Form frm_guardar;
static RecordStore rs, rs_apuntes,rs_horario,rs_calificaciones;
TextBox tb_escribir,tb,tbox;
TextField tf_asignatura;
TextField tf_maestro;
TextField tf_hora;
TextField tf_carrera;
TextField tf_semestre;
TextField tf_calificacion;
TextField tf_nombreApuntes;
TextField tf_nombreHorario;
StringItem stri_asignatura;
StringItem stri_maestro;
StringItem stri_hora;
StringItem stri_carrera;
StringItem stri_semestre;
StringItem stri_calificacion;
StringItem stri_nombreApunte;
Página 20
StringItem stri_nombreHorario;
StringItem stri_nombreCalificacion;
String apunte="Apuntes",horario="Horarios",calificacion="Calificaciones";
String dato,nombre="";
String cadenas,buscarcadena,text,aux;
ImageItem intro;
boolean imprimir=false;
public Proyect()
{
try
{
intro = new ImageItem("", Image.createImage("/logo.gif"),ImageItem.LAYOUT_CENTER, "Itescam");
} catch (IOException e) {System.err.println("Error!: " + e);
}
frm_principal = new Form("");
frm_principal.append(intro);
cmd_salirsistema=new Command("Volver",Command.EXIT,2);
cmd_entrarsistema=new Command("Ingresar",Command.SCREEN,1);
frm_principal.addCommand(cmd_entrarsistema);
frm_principal.addCommand(cmd_salirsistema);
frm_principal.setCommandListener(this);
}
public void startApp()
{
Display.getDisplay(this).setCurrent(frm_principal);
}
public void pauseApp()
{
}
public void destroyApp(boolean unconditional)
{
}
public void commandAction(Command c, Displayable s)
{
if(c==cmd_salirsistema)
{
notifyDestroyed();
}
if(c==cmd_entrarsistema)
{
menu();
}
if(c==cmd_seleccionarmenu)
{
switch(lista.getSelectedIndex())
{
case 0:
Página 21
setApuntes();
break;
case 1:
setHorario();
break;
case 2:
setCalificaciones();
break;
case 3:
getApuntes();
break;
case 4:
getHorario();
break;
case 5:
getCalificaciones();
break;
default:
}
}
if(c==cmd_salirMenu)
{
Display.getDisplay(this).setCurrent(frm_principal);
}
if(c==cmd_setOpciones)
{
setOpciones();
}
if(c==cmd_selectOpcion)
{
switch(listaOpcion1.getSelectedIndex())
{
case 0:
if(lista.getSelectedIndex()==0)
{
guardaApunte();
}
if(lista.getSelectedIndex()==1)
{
guardaHorario();
}
if(lista.getSelectedIndex()==2)
{
guardaCalif();
}
break;
case 1:
if(lista.getSelectedIndex()==0)
{
Página 22
setApuntes();
}
if(lista.getSelectedIndex()==1)
{
setHorario();
}
if(lista.getSelectedIndex()==2)
{
setCalificaciones();
}
break;
case 2:
menu();
break;
}
}
if(c==cmd_reescribir)
{
cadenas=tb.getString();
try
{
rs.closeRecordStore();
RecordStore.deleteRecordStore(nombre);
} catch( Exception e ){}
try
{
rs = RecordStore.openRecordStore(nombre, true);
guardaRegistro(rs,cadenas);
}catch(RecordStoreException e){}
menu();
}
if(c==cmd_guardaApunte)
{
String cadena=tb_escribir.getString();
try
{
RecordStore.deleteRecordStore(apunte);
} catch( Exception e ){}
try
{
rs = RecordStore.openRecordStore(apunte, true);
guardaRegistro(rs,cadena);
}catch(RecordStoreException e){}
}
if(c==cmd_guardaHorario)
{
String
cadena=tf_asignatura.getString()+"\n"+tf_maestro.getString()+"\n"+tf_hora.getString();
try
Página 23
{
RecordStore.deleteRecordStore(horario);
} catch( Exception e ){}
try
{
rs = RecordStore.openRecordStore(horario, true);
guardaRegistro(rs,cadena);
}catch(RecordStoreException e){}
}
if(c==cmd_guardaCalif)
{
String
cadena=tf_carrera.getString()+tf_semestre.getString()+tf_asignatura.getString()+tf_calificacion.getString();
try
{
RecordStore.deleteRecordStore(calificacion);
} catch( Exception e ){}
try
{
rs = RecordStore.openRecordStore(calificacion, true);
guardaRegistro(rs,cadena);
}catch(RecordStoreException e){}
}
if(c==cmd_salir)
{
menu();
}
if(c==cmd_eliminar)
{
eliminar(nombre);
}
}
public void menu()
{
cmd_seleccionarmenu =new Command("OK",Command.OK,1);
cmd_salirMenu=new Command("Salir",Command.OK,1);
String[] opciones = {"Apuntes","Horarios","Calificaciones","Consulte Apunte ","Consulte
Horario","Consulte Calificacion"};
lista= new ChoiceGroup("Elija una Opcion",List.EXCLUSIVE,opciones,null);
frm_menu=new Form("");
frm_menu.append(lista);
frm_menu.addCommand(cmd_seleccionarmenu);
frm_menu.addCommand(cmd_salirMenu);
frm_menu.setCommandListener(this);
Display.getDisplay(this).setCurrent(frm_menu);
Página 24
}
public void setApuntes()
{
tb_escribir=new TextBox("","",256,TextField.ANY);
cmd_setOpciones=new Command("Opciones",Command.OK,1);
tb_escribir.addCommand(cmd_setOpciones);
tb_escribir.setCommandListener(this);
Display.getDisplay(this).setCurrent(tb_escribir);
}
public void setHorario()
{
frm_horario=new Form("Registrar Horario");
stri_asignatura=new StringItem("","asignatura");
stri_maestro=new StringItem("","Maestro(a)");
stri_hora=new StringItem("","Hora");
tf_asignatura=new TextField("",null,20,TextField.ANY);
tf_maestro=new TextField("",null,20,TextField.ANY);
tf_hora=new TextField("",null,20,TextField.ANY);
cmd_setOpciones=new Command("Opciones",Command.OK,1);
frm_horario.append(stri_asignatura);
frm_horario.append(tf_asignatura);
frm_horario.append(stri_maestro);
frm_horario.append(tf_maestro);
frm_horario.append(stri_hora);
frm_horario.append(tf_hora);
frm_horario.addCommand(cmd_setOpciones);
frm_horario.setCommandListener(this);
Display.getDisplay(this).setCurrent(frm_horario);
}
public void setCalificaciones()
{
frm_calificaciones=new Form("");
stri_carrera=new StringItem("","Carrera");
stri_semestre=new StringItem("","Semestre");
stri_asignatura=new StringItem("","Asignatura");
stri_calificacion=new StringItem("","Calificacion");
tf_carrera=new TextField("",null,50,TextField.ANY);
tf_semestre=new TextField("",null,50,TextField.ANY);
tf_asignatura=new TextField("",null,50,TextField.ANY);
tf_calificacion=new TextField("",null,50,TextField.ANY);
cmd_setOpciones=new Command("Opciones",Command.OK,1);
frm_calificaciones.append(stri_carrera);
frm_calificaciones.append(tf_carrera);
frm_calificaciones.append(stri_semestre);
frm_calificaciones.append(tf_semestre);
frm_calificaciones.append(stri_asignatura);
frm_calificaciones.append(tf_asignatura);
frm_calificaciones.append(stri_calificacion);
Página 25
frm_calificaciones.append(tf_calificacion);
frm_calificaciones.addCommand(cmd_setOpciones);
frm_calificaciones.setCommandListener(this);
Display.getDisplay(this).setCurrent(frm_calificaciones);
}
public void getApuntes()
{
leer(apunte);
}
public void getHorario()
{
leer(horario);
}
public void getCalificaciones()
{
leer(calificacion);
}
public void setOpciones()
{
cmd_selectOpcion =new Command("OK",Command.OK,1);
String[] opciones = {"Guardar","Cancelar","Salir"};
listaOpcion1= new ChoiceGroup("Opciones",List.EXCLUSIVE,opciones,null);
frm_opciones1=new Form("");
frm_opciones1.append(listaOpcion1);
frm_opciones1.addCommand(cmd_selectOpcion);
frm_opciones1.setCommandListener(this);
Display.getDisplay(this).setCurrent(frm_opciones1);
}
public void guardaApunte()
{
frm_guardar=new Form("");
stri_nombreApunte=new StringItem("","Nombre del Apunte");
tf_nombreApuntes=new TextField("",null,50,TextField.ANY);
cmd_guardaApunte=new Command("OK",Command.OK,1);
frm_guardar.append(stri_nombreApunte);
frm_guardar.append(tf_nombreApuntes);
frm_guardar.addCommand(cmd_guardaApunte);
frm_guardar.setCommandListener(this);
Display.getDisplay(this).setCurrent(frm_guardar);
}
public void guardaRegistro(RecordStore rs, String dato)
{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream os = new DataOutputStream(baos);
try
{
os.writeUTF(dato+".");
} catch (IOException ioe) {}
Página 26
byte[] b = baos.toByteArray();
try
{
rs.addRecord(b, 0, b.length);
} catch (RecordStoreException rse) {}
menu();
}
public void guardaHorario()
{
frm_guardar=new Form("");
stri_nombreHorario=new StringItem("","Nombre del Horario");
tf_nombreHorario=new TextField("",null,50,TextField.ANY);
cmd_guardaHorario=new Command("OK",Command.OK,1);
frm_guardar.append(stri_nombreHorario);
frm_guardar.append(tf_nombreHorario);
frm_guardar.addCommand(cmd_guardaHorario);
frm_guardar.setCommandListener(this);
Display.getDisplay(this).setCurrent(frm_guardar);
}
public void escribirHorario(String nombre,String datos)
{
try
{
rs=RecordStore.openRecordStore(nombre,true);
byte[] registro;
registro=datos.getBytes();
rs.addRecord(registro,0,registro.length);
rs.closeRecordStore();
}catch(RecordStoreException e){}
menu();
}
public void guardaCalif()
{
frm_guardar=new Form("");
cmd_guardaCalif=new Command("Guardar",Command.OK,1);
frm_guardar.addCommand(cmd_guardaCalif);
frm_guardar.setCommandListener(this);
Display.getDisplay(this).setCurrent(frm_guardar);
}
public void escribirCalificacion(String nombre,String datos)
{
try
{
rs=RecordStore.openRecordStore(nombre,true);
byte[] registro;
Página 27
registro=datos.getBytes();
rs.addRecord(registro,0,registro.length);
rs.closeRecordStore();
}catch(RecordStoreException e){}
menu();
}
public void borrarRegistro(RecordStore rs)
{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream os = new DataOutputStream(baos);
try
{
os.writeUTF(dato);
} catch (IOException ioe) {}
byte[] b = baos.toByteArray();
try
{
rs.addRecord(b, 0, b.length);
} catch (RecordStoreException rse) {}
}
public void leer(String archivo)
{
try
{
rs=RecordStore.openRecordStore(archivo,true);
RecordEnumeration registros = rs.enumerateRecords(null, null, false);
while (registros.hasNextElement())
{
verRegistro(rs, registros.nextRecordId());
}
rs.closeRecordStore();
} catch( RecordStoreException e ){System.out.println( e );}
}
public void verRegistro(RecordStore rs, int id)
{
try
{
ByteArrayInputStream bais = new ByteArrayInputStream(rs.getRecord(id));
DataInputStream is = new DataInputStream(bais);
try
{
dato = is.readUTF();
Ver(rs,dato);
} catch (EOFException eofe){}
catch (IOException ioe) {}
} catch (RecordStoreException e) {}
}
public void Ver(RecordStore rs, String datos)
Página 28
{
tb=new TextBox(""," ",255,TextField.ANY);
if(tb.getString()!=null)
{
tb.setString(tb.getString()+datos);
}
else
{
tb.setString(datos);
}
try
{
nombre=rs.getName();
}catch(RecordStoreException e){};
cmd_reescribir=new Command("Guardar",Command.OK,1);
cmd_salir=new Command("Salir",Command.OK,1);
cmd_eliminar=new Command("Eliminar",Command.OK,1);
tb.addCommand(cmd_reescribir);
tb.addCommand(cmd_salir);
tb.addCommand(cmd_eliminar);
tb.setCommandListener(this);
Display.getDisplay(this).setCurrent(tb);
}
public void eliminar(String nombre)
{
try
{
rs.closeRecordStore();
RecordStore.deleteRecordStore(nombre);
}catch(RecordStoreException exc){};
}
}
Página 29
INTERFACES
Página 30
Página 31
ANEXOS
LISTA DE COTEJO
Fecha:10 de septiembre de 2008
Hora: 12:00 pm
Lugar: ITESCAM
Objetivo: evaluar los aspectos consultados.
pregunta si no
Toman frecuentemente apuntes los alumnos? x
Están interesados en sus horarios? x
Les es muy importante consultar su calificación? x
Le toman importancia a los apuntes? x
Leen los apuntes? x
Utilizan los módulos para consultar sus horarios? x
Los maestros les proporcionan los horarios a los alumnos? x
Las calificaciones son fáciles de consultar en los módulos? x
Son rápidas las consultas en los módulos? x
CUESTIONARIO
OBJETIVO: El siguiente cuestionario tiene el objetivo de recabar información que nos permita saber si se podrá implementar un Software para equipos móvil. ¿Con que frecuencia toma apuntes en las clases? a) Muy frecuente 8 b) Casi nunca 4 c) Nunca 3
Si requiere de sus apuntes ¿Cómo los encuentra? a) Buscando en su libreta 10 b) Buscando en su Pc´s 5
¿Cómo obtiene información acercan de sus calificaciones, horarios, etc.?
Página 32
a) Internet 7 b) Módulos 5 c) Maestros 2 d) Otros 1
¿Cómo considera la forma de obtener esos servicios? a) Mala b) Regular 3 c) Buena 12 d) Excelente
¿Le gustaría obtener esos servicios en cualquier lugar donde se encuentre?
a)Si 13 b) No 2 ¿Le interesaría instalar en su celular un programa que le ayude en cuanto a mejorar todos estos servicios?
a) Si 13 b) No 2
¿Cunta con celular?
a) Si 15 b) No
¿Su celular cuenta con memoria de almacenamiento?
b) Si 9 b) No 6