You are on page 1of 18

UNIVERSIDAD NACIONAL MAYOR

DE SAN MARCOS
(Universidad del Per, DECANA DE AMRICA)
FACULAD DE IN!ENIER"A DE SISEMAS E
INFORM#ICA
E$ A$ P$ DE IN!ENIER"A DE SOF%ARE
CICLO & 'r(
CURSO& PRO!RAMACION II
EMA& INFORME DEL PRROYECO
PROFESOR & !IL)ERO SALINAS A*A+A
ALUMNOS &
CARRAN*A C,IARA, Danil( -./--//0
CARDENAS ALVA, Eri12
-./--/3/
,INO4O*A ACEVEDO, 4(s5
-./---67
DEL!ADO, 4OR!O
-./--888
Ci9dad Universi:aria, ;9ni( del /-3-$
2.- ndice.-
1.0 - Caratula
2.0 - ndice
3.0- Introduccin
3.1-Descripcin
3.2.- Objetivos
3.3.- Recursos Usados
3.4.- Problemas encontrados
3.5.- Posibles Mejoras
3.6.- Conclusiones
4.0- Objetivos
5.0- Descricin ! recursos usados
6.0- "structura Interna
6.1- Explicacin del diseo.
6.2- Descripcin de las clases.
#.0-$roble%as encontrados
&.0-$osibles %ejoras
'.0-Conclusiones
10.0-(iblio)ra*+a
3.- Introduccin.-
'$3<Des1ri=1i>n$<

El proyecto trata sobre un modelado de un
sistema de matricula
en el cual cuenta con clases que tienen ciertas
relaciones de
herencia, polimorfsmo incluyendo excepciones
y manejos de
archivos binarios.
'$/<O?;e:iv(s$<
El objetivo principal es simular un sistema de
matricula
valiendose de programacin orientada a objetos
utilizando el
lenguaje Java.
'$'<Re19rs(s Usad(s$<

Editores:
!etbeans "#E $.%.&
Jcreator '()
*istema )perativo:
+indo,s -'
+indo,s .ista/
'$@<Pr(?leAas en1(n:rad(s$<

0ueno uno de los problemas a han surgido en
transcurso de la
elaboracin del proyecto es en el uso del
1rray2ist para
presentar el historial de matricula. En vez de eso
hemos tenido
que redimensionar los arreglos para poder
simular arreglos
dinamicos.
'$6<P(si?les Me;(ras$<

El uso de archivos y excepciones para que por
ejemplo en el caso
de que se fnaliza el programa no se pierdan los datos
introducidos
3 queden salvados para su posterior consulta o en el
caso de que
ocurra un error hacer mas robusto el programa
aplicando los
conocimientos de manejo de excepciones.
'$7<C(n1l9si(nes$<

El programa intenta mostrar cuales son los
procesos que el alumno
4niversitario debe realizar para matricularse
basandose en el
2enguaje de programacin J1.1.
4.- Objetivos.-
El objetivo principal es presentar al publico un sistema de
matricula realizado
en la 5acultad de "ngenieria de *istemas e "n6orm7tica en el
cual veremos los
requisitos y pasos que debe seguir un alumno ingresado en
dicha 6acultad
para poder matricularse en sus respectivos cursos.

Este programa es realizado en el lenguaje orientado a
objetos como es el
J1.1 para poder llevar a cabo este proyecto nos hemos
valido de conceptos
como herencia ,polimorfsmo, inter6aces y clases abstractas
tambien se ha
incluido el manejado uso de excepciones y archivos para
que el programa sea
mas robusto y efciente.

5.- Descricin ! ,ecursos -sados.-

EB9i=( 9:iliCad($<
*istema:
8icroso6t +indo,s -' 'ro6esional
.ersin 9::9
*ervice 'ac; 9

Equipo:
18# 1thlon <tm=- 9 9>:
'rocessor:
9.?& @Az, &.?B @0 de (18
Extension de direccion 6Csica

Edi:(res $<

D !etbeans "#E $.%.&
D Jcreator '()
6.- "structura Interna.-
7$3 E8=li1a1i>n del DiseD(
DI./,.0. D" C1.2"2 - 2I23"0. D"
0.3,IC-1.
El diseEo anterior el cual es el que hemos decidido implementar para
este proyecto, se puede apreciar que se plasman los procesos y las
relaciones que se dan en la realidad en una 6acultad.
Fales procesos son el registro de alumnos en la 6acultad, el registro de
docentes en la 6acultad, el proceso de matricular alumnos en los
cursos que se dictan en la 6acultad, el proceso de consulta de
in6ormacin de alumnos, docentes, aulas y cursos.
Fodos estos procesos han sido tomados en cuenta para la
construccin, diseEo e implementacin del caso que se nos encargo.
7$/ Des1ri=1i>n de las Clases
Clase Persona
public class Persona;
2a clase 'ersona representa a una persona. Fodos los tipos de
personas que existen en este caso, deber7n heredar de esta clase.
CaA=(s&
String nombre: El campo nombre de tipo *tring va a representar el
nombre de una persona.
String dni: El campo dni de tipo *tring va a representar el dni de una
persona.
String direccion: El campo direccion de tipo *tring va a representar la
direccin de una persona.
C(ns:r91:(res&
public Persona(): El constructor por de6ecto de la clase 'ersona,
cuando se inicializa un objeto 'ersona con este constructor el campo
nombre ser7 G!!H, el campo dni ser7 G!) (E@"*F(1#)H y el campo
direccin ser7 G!) (E@"*F(1#)H.
public Persona(String n,String d,String dir): Este constructor de la
clase 'ersona, inicializa los campos nombre , dni y direccion de un
objeto 'ersona con los par7metros n,d y dir respectivamente .
M5:(d(s&
public String toString(): Este mItodo sobrescrito ,que la clase
'ersona hereda de la clase )bject, nos va a retornar una
representacin *tring de un objeto 'ersona.
Clase Empleado
public class Empleado extends Persona;
2a clase Empleado representa a un empleado de una 6acultad en este
caso de la 5"*". Esta clase hereda de la clase 'ersona.
CaA=(s&
String codigo: El campo codigo de tipo *tring va a representar el
cdigo de empleado que tiene todos los empleados de la 6acultad.
C(ns:r91:(res&
public Empleado(): El constructor por de6ecto de la clase Empleado,
llama a el constructor por de6ecto de la superclase.
public Empleado(String n,String d,String dir): Este constructor de la
clase 'ersona llama a el constructor con par7metros de la superclase .
M5:(d(s&
public String toString(): Este mItodo sobrescrito ,que hereda de la
clase 'ersona , nos va a retornar una representacin *tring de un
objeto Empleado.
Clase Alumno
public class Alumno extends Persona;
2a clase 1lumno representa a un alumno de una 6acultad en este caso
de la 5"*". Esta clase hereda de la clase 'ersona.
CaA=(s&
String cod: El campo codigo de tipo *tring va a representar el cdigo
de ingreso de un alumno. Este cdigo empieza en 9::::: y aumenta
mientras se agreguen m7s alumnos.
String escuela: El campo escuela de tipo *tring va a representar la
escuela a la que pertenece el alumno, en este caso la 6acultad tiene
9 escuelas.
private int ncrs: El campo ncrs de tipo entero ,va a representar la
cantidad de cursos en los que se a matriculado el alumno.
private Curso cursos[]:El campo cursos es un arreglo de tipo Jurso ,va
a representar los cursos en los cuales el alumno esta matriculado.
C(ns:r91:(res&
public Alumno(): El constructor por de6ecto de la clase 1lumno, llama
a el constructor por de6ecto de la superclase.
public Alumno(String n,String d,String dir,String e): Este constructor
de la clase 1lumno llama a el constructor con par7metros de la
superclase .
M5:(d(s&
public String toString(): Este mItodo sobrescrito ,que hereda de la
clase 'ersona , nos va a retornar una representacin *tring de un
objeto 1lumno.
public void adicionCurso(Curso c): Este mItodo nos permite adicionar
un curso que pasa como par7metro y guardarlo en el campo cursos
,la 6orma en que se guarda el curso ,es redimensionando el arreglo
para simular un arreglo din7mico .
public int getcrs(): Este mItodo nos retorna el campo ncrs.
public void setcrs(int ncrs) : Este mItodo nos permite establecer el
valor del campo ncrs.
public Curso[] getCursos():Este mItodo nos retorna el arreglo de tipo
Jurso.
public void setCursos(Curso[] cursos) : Este mItodo nos permite
establecer el valor del arreglo cursos.
public void mostrarCursos():Este mItodo nos permite mostrar todos
los cursos en los que esta matriculado el alumno ,Este itera a travIs
del arreglo cursos.
Clase Docente
public class !ocente extends Empleado;
2a clase #ocente representa a un docente de una 6acultad en este
caso de la 5"*". Esta clase hereda de la clase Empleado.
CaA=(s&
String departamento : El campo departamento de tipo *tring va a
representar el departamento acadImico al cual pertenece el
docente.
private int ncrs: El campo ncrs de tipo entero ,va a representar la
cantidad de cursos que dicta el docente.
private Curso cursos[]:El campo cursos es un arreglo de tipo Jurso ,va
a representar los cursos que el docente esta dictando actualmente.
C(ns:r91:(res&
public !ocente(): El constructor por de6ecto de la clase #ocente,
llama a el constructor por de6ecto de la superclase.
public !ocente(String n,String d,String dir,String e): Este
constructor de la clase #ocente llama a el constructor con par7metros
de la superclase
M5:(d(s&
public String toString(): Este mItodo sobrescrito ,que hereda de la
clase Empleado, nos va a retornar una representacin *tring de un
objeto #ocente.
public void adicionCurso(Curso c): Este mItodo nos permite adicionar
un curso que pasa como par7metro y guardarlo en el campo cursos
,la 6orma en que se guarda el curso ,es redimensionando el arreglo
para simular un arreglo din7mico .
public int getcrs(): Este mItodo nos retorna el campo ncrs.
public void setcrs(int ncrs) : Este mItodo nos permite establecer el
valor del campo ncrs.
public Curso[] getCursos():Este mItodo nos retorna el arreglo de tipo
Jurso.
public void setCursos(Curso[] cursos) : Este mItodo nos permite
establecer el valor del arreglo cursos.
public void mostrarCursos():Este mItodo nos permite mostrar todos
los cursos que dicta actualmente el docente.
Clase Curso
public class Curso;
2a clase Jurso representa una asignatura de una 6acultad en este
caso de la 5"*". Fodos los cursos que se necesiten implementaran esta
clase.
CaA=(s&
String codigo: El campo codigo de tipo *tring va a representar el
cdigo de la asignatura.
String nom: El campo nom de tipo *tring va a representar el nombre
de la asignatura.
int ciclo: El campo ciclo de tipo entero va a representar el ciclo al
cual pertenece la asignatura.
Seccion secciones[]:El campo secciones de tipo *eccion va a
representar las secciones en la que se dicta el curso.
C(ns:r91:(res&
public Curso(String c,String n,int ccl): El constructor de la clase
Jurso inicializa un objeto Jurso con los par7metros c, n y ccl.
M5:(d(s&
public String toString(): Este mItodo sobrescrito nos va a retornar
una representacin *tring de un objeto Jurso.
public void adicionSeccion(!ocente d): Este mItodo nos permite
adicionar una seccin para dictar el curso .Entra una variable tipo
docente como par7metro pues para crear una nueva seccin se
necesita un docente, la 6orma en que se agregan una seccin ,es
redimensionando el arreglo para simular un arreglo din7mico .
public void alumnos"nscritos(int n): Este mItodo nos permite ver
todos los alumnos que est7n matriculados en una seccin n del curso.
public void docentesdelCurso(): Este mItodo nos permite ver todos los
docentes que dictan el curso.
Clase Seccion
public class Seccion;
2a clase *eccion representa una seccin en la cual se dicta un
determinado curso. 2os cursos necesitan un arreglo de secciones para
agrupar a sus alumnos.
CaA=(s&
Alumno alumnos[]: El campo alumnos de tipo 1lumno va a representar
los alumnos que hay en una seccion.
int nalm: El campo nalm de tipo entero va a representar la cantidad
de alumnos que hay en la seccin.
!ocente docente: El campo docente de tipo #ocente va a representar
el docente que dicta el curso en la seccin.
Seccion secciones[]:El campo secciones de tipo *eccion va a
representar las secciones en la que se dicta el curso.
C(ns:r91:(res&
public Seccion(!ocente d): El constructor de la clase *eccion inicializa
una seccin para lo cual debe haber un docente.
M5:(d(s&
public void #i$ar%orario(int d,int in,int #): Este mItodo nos
permite establecer el dCa ,la hora de inicio y la hora de fnalizacin
del dictado del curso en la seccin.
public void adicionAlumno(Alumno a): Este mItodo nos permite
adicionar un alumno que pasa como par7metro y guardarlo en el
campo alumnos ,la 6orma en que se guarda el alumno ,es
redimensionando el arreglo para simular un arreglo din7mico.
public void docentesdelCurso(): Este mItodo nos permite ver todos los
docentes que dictan el curso.
Clase Matricula
public class &atricula;
2a clase 8atricula representa el proceso de matricula que se realiza
en la 6acultad.
CaA=(s&
Curso cursos[]:El campo cursos es un arreglo de tipo Jurso ,va a
representar los cursos en los que se pueden matricular los alumnos.
Alumno alumnos[]: El campo alumnos de tipo 1lumno ,va a representar
los alumnos que se matricularan en los cursos.
C(ns:r91:(res&
public &atricula(Curso c[]): El constructor de la clase 8atricula
inicializa un objeto 8atricula, para ello necesita los Jursos que se van
a llevar.
M5:(d(s&
public void mostrarPre'eporte(Alumno a): Este mItodo nos muestra los
cursos en los cuales podemos matricularnos.
public void matricular(Alumno a): Este mItodo nos permite
matricularnos en los cursos y elegir la seccin la que queremos estar.
public void mostrar'eporte(Alumno a): Este mItodo nos muestra los
cursos en los cuales nos matriculamos ,asC como la seccin y el
docente.
public int buscarSeccion(Alumno a,Curso curso): Este mItodo nos
devuelve la seccin de un curso en la que se encuentra un alumno .
Clase Aula
public class Aula;
2a clase 1ula representa el aula que posee la 6acultad.
CaA=(s&
int numero: El campo numero de tipo entero ,va a representar el
numero del aula.
private Curso cursos[]: El campo cursos es un arreglo de tipo Jurso
,va a representar los cursos que se dictan en el aula.
private int ncrs: El campo ncrs de tipo entero ,va a representar la
cantidad de cursos que se dictan en el aula.
String carga[][]: El campo carga es un arreglo bidimensional tipo
*tring ,va a almacenar los cursos que se dictan diariamente.
C(ns:r91:(res&
public Aula(int n): El constructor de la clase 1ula inicializa un objeto
1ula, para ello necesita los el numero del aula.
M5:(d(s&
public void iniciarCarga(): Este mItodo nos permite iniciar el horario
con todos los cursos que se dictan en el aula.
public void adicionCurso(Curso c): Este mItodo nos permite adicionar
un curso que pasa como par7metro y guardarlo en el campo cursos
,la 6orma en que se guarda el curso ,es redimensionando el arreglo
para simular un arreglo din7mico .
public void verCarga(): Este mItodo nos permite visualizar la carga
horaria que posee el aula.
public boolean ver!isponibilidad(int d,int i,int #): Este mItodo nos
permite visualizar si el aula esta disponible en un dCa d, para una hora
i hasta 6.
public String agregarCarga(String c,int numero,String nombre): Este
mItodo nos permite adicionar in6ormacin al horario del aula.
Clase Fisi
public class (isi;
2a clase 5isi representa a la 6acultad.
CaA=(s&
Curso cursos[]:El campo cursos es un arreglo de tipo Jurso ,va a
representar los cursos que se dictan en la 6acultad.
Alumno alumnos[]: El campo alumnos de tipo 1lumno ,va a representar
los alumnos que se encuentren en la 6acultad.
!ocente docentes[]: El campo docentes de tipo #ocente ,va a
representar los docentes que dictan cursos en la 6acultad.
Aula aulas[]: El campo aulas de tipo 1ula ,va a representar las aulas
que posee la 6acultad.
&atricula matricula: El campo matricula de tipo 8atricula, va a
representar el proceso de matricula de la 6acultad.
C(ns:r91:(res&
public (isi(): El constructor de la clase 5isi inicializa un objeto 5isi,
aquC se inicializan los curso que podr7n llevar los alumnos.
M5:(d(s&
public void agregarAlumno(): Este mItodo nos permite agregar nuevos
alumnos a la 6acultad.
public void agregar!ocente(): Este mItodo nos permite agregar
nuevos docentes a la 6acultad.
public void gestion!e&atricula(): Este mItodo nos permite cargar a
todos los alumnos de la 6acultad en el sistema de matricula, para que
posteriormente se matriculen.
public void dictado!eCursos(): Este mItodo nos permite asignar a los
docentes los cursos, tambiIn los dCas y las horas en que se dictara los
cursos.
public int buscarAula(int n): Este mItodo nos busca un aula por su
numero y si esta nos retorna el aula .
public int buscarSeccion!ocente(!ocente d,Curso curso): Este mItodo
nos retorna el numero de la seccin en la que dicta un docente d el
curso.
public int acceder!ep(): Este mItodo permite acceder a la
in6ormacin de un docente mediante su cdigo)
public int acceder&atricula(): Este mItodo nos permite acceder a la
in6ormacin de un alumno ,para ello debemos escribir el cdigo del
alumno.
#.- $roble%as "ncontrados.-
&.- $osibles 0ejoras.-
'.- Conclusiones.-
5inalizo este trabajo, no sin antes dar
mis conclusiones
En el desarrollo de aplicaciones
aplicando el paradigma
orientado a objetos, se a podido notar
que este simula
mucho mejor la realidad que el
paradigma procedural.
Es por eso que para mi se pueden
construir aplicaciones
mas efcaces con el ')).
10.- (iblio)ra*+a.-
Dei:el , P$ 4$ E Dei:el, ,$M$ $ J1.1 ,JK8) '()@(181(, Pears(n
Ed91a1i(n, Me8i1(, 3'F.= /--F

You might also like