Вы находитесь на странице: 1из 54

PLAN DE PROYECTO:

Introduccion:

Aquí podremos encontrar los objetivos del proyecto

Objetivo del proyecto:

El sistema busca facilitar la gestion de datos asi como unificar los mismos para evitar
errores humanos en el manejo de los datos del instituto.

Fundamentacion general del proyecto:

El instituto quantum solicito un software para la gestion de datos sobre los servicios de
enseñansa brindados

ESTUDIO DE VIABILIDAD

Plan de fiabilidad:

-Factivilidad operacional:

-Factivilidad tecnica:la empresa tiene recursos limitados para emprender el proyecto


contamos con 6 computadoras un i5 4440 con 10 de ram y una grafica gtx 960, una laptop
con porcesador i3 7100u, otra laptop con un i5 4640u, una laptop chromebook, una pc
con un i5 6500 y una grafica gtx 1060 de 6gb, una pc con un i5 6400

-Factivilidad economica: los proyetos de la empreza se cotizan utlilizando metrica para


evaluar los costos fijos y las ganancias generando una estimacion basica del sueldo de cada
integrante

Plan de riezgo:

Plan de respuesta de riezgo: mostrar un mensaje de error

Página | 1
QBrain teamqbrain@gmail.com ETSN-3BH-2018
ESPESIFICACIONES DE REQUERIMENTOS:

Descripcion grafica:

Menú principal desde el que podemos acceder a el resto de funcionalidades y


opciones del programa

Pestaña cursos en la que podremos crear modificar y eliminar cursos así como ver
información o contenido de los cursos

Página | 2
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Pantalla de agregar o editar un curso

Desde esta pestaña alumnos agregar modificar eliminar buscar y listar alumnos

Página | 3
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Pestaña profesores agregar modificar eliminar y listar profesores

Página | 4
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Login: logueo con diferentes tipos de usuario para acceder al sistema Agregar cursos:
aquí se agregan cursos

Agregar grupo: aquí se agregan grupos a los cursos

Aquí se agregan alumnos a distintos cursos

Página | 5
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Y aquí se agregan los diferentes alumnos a la base de datos

Página | 6
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Usuarios del sistema:

Usuario normal: es un usuario de quantum que gestiona los cursos, grupos,


profesores, alumnos y asignaturas y todo lo que abarque cada uno

Usuario administrador: administra los usuarios

Restricciones:

Hablando de la parte del software se deberá utilizar w7 o superior con


Framework .NET en su versión 4.6.1 para poder ejecutar el programa correctamente.

Hablando desde el punto de vista hardware se va a necesitar un procesador multicore,


2 gb de ram, 32 mb de video. Se recomienda tener como mínimo dichas
especificaciones para el correcto funcionamiento del programa.

Requicitos futuros:

Los requisitos futuros son los que se van a ir implementando al correr del
tiempo de acuerdo a las necesidades que plantee el cliente por lo que el sistema
tiene que tener la posibilidad de adaptarse cambios

ventajas y desbentajas

permite la gestion de una institucion de frma eficiente utilizando metodos de


manejo de datos de una mejor forma que con cualquier otro programa generico
u hoja de calculo

Página | 7
QBrain teamqbrain@gmail.com ETSN-3BH-2018
requicitos funcionales y no funcionales

Requisitos funcionales

Código Nombre Descripción

RF000 -Login -El usuario debe ingresar una contraseña única para acceder al
sistema

RF001 - Menú de -El menú debe de contar con un panel con 5 opciones para acceder
usuario a determinadas funcionalidades.
En el panel se encuentran los botones “Cursos”, ”Alumnos”,
“Profesores”, “Salones” y un botón de “Registro”

RF002 -Cursos -Se debe tener la posibilidad de agregar, modificar o eliminar cursos

-Alumno -Se debe tener la posibilidad de agregar, modificar, eliminar o


RF003 asignar alumnos a un determinado grupo, curso o clase

RF004 -Profesores -Se debe tener la posibilidad de agregar, modificar, eliminar o


asignar profesores a un determinado grupo, curso o clase

-Salón -Se debe tener la posibilidad de agregar, modificar, eliminar o


RF005 asignar salones a un determinado grupo y mostrar
información sobre la capacidad del salón, grupos asignados
(nombre de profesor, horarios del grupo)

-Registro -Se debe de tener un seguimiento de todas las modificaciones


RF006 sobre la base de datos e ingresos al sistema registrados por tiempo

-Notas del -Se debe poder ingresar, modificar, eliminar y mostrar notas ya
RF007 usuario sean con un plazo definido o indefinido.

botón de -Se debe contar con un botón que cierre el programa.


RF008 cerrar

RF009 botón de -Se debe contar con un botón para minimizar el programa.
minimizar

Página | 8
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Requisitos no funcionales

RNF001 -Ventana de Login -El tamaño del ventana debe de contar con un tamaño
menor al del menú (que está en pantalla completa), con un
color blanco, conteniendo el logo de QUANTUM en la parte
superior de la ventana y un botón en la parte inferior para
poder iniciar.

RNF002 -Resolución -El programa debe de contar con un tamaño de pantalla


completa.

RNF003 -Diseño del menú. -La ventana de menú contará con un panel de en su parte
izquierda conteniendo los botones funcionales del programa
con un diseño en degradé conteniendo los colores de
QBrain y el logo de Quantum en su parte superior.

RNF004 -Diseño de las -El diseño de las ventanas de interacción debe de contar
ventanas con un diseño bordeado en su parte derecha e inferior con
los respectivos colores de QBrain

RNF005 -Fondo del programa -El fondo del programa contará con un color azul oscuro

RNF006 -Selección de -El programa deberá de contar con un marcador dentro del
ventana form seleccionado, para indicar en qué ventana se
encuentra el usuario

RNF007 -Fuente -El programa deberá de contar con la fuente de letra:


Open Sans

RNF008 -Animación 1 -El programa contará con un gif compuesto por los colores
de QBrain a la derecha del programa

RNF009 -Animación 2 -Se debería contar con una animación que indique cuando
el programa esté trabajando en algún proceso

RNF010 -Botones de -Se debería de contar con un botón de minimizar y otro


comportamiento de botón de cerrar el programa en la parte superior derecha
ventana del mismo.

Página | 9
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Modelo de desarrollo

El modelo de desarrollo de software que nuestro equipo (QBrain) eligió es el


modelo de prototipo. En dicho modelo se realizan prototipos incrementales los
cuales tienen una retroalimentación por parte del cliente. El prototipo debe ser
construido en poco tiempo utilizando la menor cantidad de recursos posible, por
estas razones el modelo prototipo es el que más se adapta a nuestras
necesidades y a las del cliente.
Esto le da la seguridad al cliente de que el software se esté haciendo como él
lo desea, además de disminuir el riesgo de errores que el programa pueda
llegar a tener en su etapa final y cumplir con todos los requerimientos
solicitados.

justificacion

Elegimos el modelo de cascada debido a que permite un mayor contacto con el cliente

Página | 10
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Pert del proyecto

Estimación de la duración de las actividades:

Actividad Tiempo Tiempo Tiempo Media Desviación Predecesora


Optimo Probable Critico Típica
Fundación de 0,5 0,5 1 0,5 0,1 Inicio
la Empresa -
A
Especificacion 1 2 3 2 0,3 A
es
de software -
B
Diseño 1 1,5 3 1,6 0,3 B
esquemático
del software -
C
Diseño 4 6 8 6 0,6 C
computarizado
del software -
D
MER y pasaje 1 1 2 0,6 0,6 D
a tabla - E
Base de Datos 5 6,5 8 6,5 0,5 E
en SQL Server
-F
Codificación - 3,5 6 9 6,1 0,9 F
G
Testing - H 0,5 1 1,5 1 0,1 FyG
Entrega 1 - I 1 1 2 0,6 0,1 E
Entrega 2 – J 1 1 2 0,6 0,1 IeF
Entrega 3 - K 2 3 4,5 3,08 0,4 HyJ

Página | 11
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Página | 12
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Ciclo de vida del proyecto

Ciclo de vida del proyecto expresado en Smartsheet

Página | 13
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Casos de usos expresados en DIA

Página | 14
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Casos de uso extendidos

ID de caso de uso Caso de uso


Nombre de caso de uso Login

Descripción Los usuarios inician sesión en el programa QAdmin

Actor Usuario

Precondiciones Saber nombre de usuario y contraseña

Post condiciones Ingresar nombre de usuario y contraseña en los campos


determinados

Flujo normal 1- Ingresar de nombre de usuario y contraseña


2- Programa inicia menú de opciones

ID de caso de uso Caso de uso


Nombre de caso de uso Menú

Descripción Usuario interactua con programa QAdmin

Actor Usuario

Precondiciones Haber iniciado sesión

Post condiciones Seleccionar una (01) de las cinco (05) opciones

Flujo normal 1- Elegir una de las opciones (Cursos, Alumnos, Profesores y


Registro)

Página | 15
QBrain teamqbrain@gmail.com ETSN-3BH-2018
ID de caso de uso Caso de uso
Nombre de caso de uso Cursos

Descripción Usuario agrega, elimina y modifica Cursos

Actor Usuario

Precondiciones Selección en el Menú de pestaña “Cursos”

Post condiciones Seleccionar una opción

Flujo normal 1- Programa muestra pestaña “Cursos”


1.1- Usuario selecciona botón “Agregar Curso”
1.1.1- Usuario ingresa datos de nuevo curso
1.1.1.1- Se muestra un mensaje de confirmación
1.2- Usuario selecciona un curso en la lista de cursos
1.2.1- Usuario elimina curso con “Eliminar Curso”
1.2.1.1- Se muestra un mensaje de confirmación
1.2.2- Usuario edita curso con “Editar Curso” rellenando con
_ nuevos datos
1.2.2.1- Se muestra un mensaje de confirmación

ID de caso de uso Caso de uso


Nombre de caso de uso Alumnos

Descripción Usuario agrega, elimina y modifica Alumnos

Actor Usuario

Precondiciones Selección en el Menú de pestaña “Alumnos”

Post condiciones Seleccionar una opción

Página | 16
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Flujo normal 1- Programa muestra pestaña “Alumnos”
1.1- Usuario selecciona botón “Agregar Alumno”
1.1.1- Usuario ingresa datos de nuevo alumno
1.1.1.1- Se muestra un mensaje de confirmación
1.2- Usuario selecciona un alumno en la lista de alumnos
1.2.1- Usuario elimina alumno con “Eliminar Alumno”
1.2.1.1- Se muestra un mensaje de confirmación
1.2.2- Usuario edita alumno con “Editar Alumno” rellenando
_ con nuevos datos
1.2.2.1- Se muestra un mensaje de confirmación

ID de caso de uso Caso de uso


Nombre de caso de uso Profesores

Descripción Usuario agrega, elimina y modifica Profesores

Actor Usuario

Precondiciones Selección en el Menú de pestaña “Profesores”

Post condiciones Seleccionar una opción

Flujo normal 1- Programa muestra pestaña “Profesores”


1.1- Usuario selecciona botón “Agregar Profesor”
1.1.1- Usuario ingresa datos de nuevo profesor
1.1.2- Se muestra un mensaje de confirmación
1.2- Usuario selecciona un profesor en la lista de profesores
1.2.1- Usuario elimina profesor con “Eliminar Profesor”
1.2.1.1- Se muestra un mensaje de confirmación
1.2.2- Usuario edita profesor con “Editar Profesor” _
_ rellenando con nuevos datos
1.2.2.1- Se muestra un mensaje de confirmación

ID de caso de uso Caso de uso


Nombre de caso de uso Registro

Descripción Se muestra seguimiento de modificaciones en la base de datos

Página | 17
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Actor Usuario

Precondiciones Selección en el Menú de pestaña “Registro”

Post condiciones Seleccionar una opción

Flujo normal 1- Programa muestra pestaña “Registro”


1.1- Usuario selecciona botón “Borrar Registro”
1.1.1- Se muestra un mensaje de confirmación

testing

para el testeo del programa primero hicimos un uso normal y un uso atípico del mismo
y asi poder ver los errores y diferentes bugs producidos

Página | 18
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Gantt

Página | 19
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Camino Crítico del proyecto (CPM)

ACTIVIDADES PREDECESOR TIEMPO


A ESPECIFICACIONES DE SOFTWARE INICIO 3 SEMANAS
B MER ESPECIFICACIONES DE 2 SEMANAS
SOFTWARE
C BASE DE DATOS SQL SERVER MER 8 SEMANAS
D DISEÑO ESQUEMATICO DEL BASE DE DATOS SQL 3 SEMANAS
SOFTWARE SERVER
E DISEÑO COMPUTARIZADO DEL MER 8 SEMANAS
SOFTWARE
F CODIFICACION DISEÑO 9 SEMANAS
COMPUTARIZADO DEL
SOFTWARE
G TESTING CODIFICACION,DISEÑO 1.5 SEMANAS
ESQUEMATICO DEL
SOFTWARE

CAMINO CRÍTICO

INICIO - A - B - E - F - G - FIN

Página | 20
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Documentación de inicio y planificación:

Los integrantes del proyecto tomaron la decisión de utilizar como nombre de la


empresa “QBrain” debido a que su significado hace referencia a un tema muy discutido
por nuestro grupo, los estados cuánticos.

El cual para nosotros es un tema el cual representa un interés en común para los
integrantes del equipo. Ya que en nuestras noches de debate siempre hablamos sobre
los estados cuánticos, el universo, el cerebro humano, y uno de nuestros debates más
recurrentes y relevantes fue uno en el cual hablamos sobre las creencias y la ciencia,
en la que comparamos la existencia de un Dios con la famosa paradoja del gato
de Schrödinger. Comparamos el procesador cuántico con cerebro humano ya que la
potencia del cerebro humano es tal que crea sus propias “realidades” o ve el mundo
de formas que todo esté relacionado con Dios, y que Dios sea la explicación de la
mayoría de las cosas, de eso pasamos a que al igual que el cerebro, un procesador
cuántico tiene azar y la capacidad de
Procesar una gran cantidad de datos.

El grupo se formó originalmente de siete personas, pero tuvimos que separarnos en


dos grupos y formar un grupo de cuatro. Compartimos el gusto por la informática en
general, debatir y analizar y de no creer en los límites del todo.

Para nosotros lo más importante es el trabajo en equipo, trabajamos mejor si es por


algo que nos motiva y somos unidos la mayoría del tiempo a pesar de los debates.

Reglas del Grupo:

-Acatar las órdenes de los coordinadores.

- Llegar lo más puntual posible a las reuniones.

-Si se falta a una reunión, hacer el trabajo que le corresponda en su casa.

-Sugerir cambios a discutir cuando no se esté de acuerdo con algo o cuando se note
un error.

-Cumplir plazos de trabajos.

- Ayudar siempre que se pueda.

-Dialogar los cambios que se desean efectuar con el resto del grupo, no hacer nada
sin consultarlo con todos.

Página | 21
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Roles de trabajo

Martin Chaine: programador encargado de la base de datos en segundo plano

Nicolás Díaz: animador, diseñador, administrativo y programador en segundo plano

Ángel Márquez: programador diseñador y encargado de la base de datos en segundo


plano

Felipe Viera: encargado de la base de datos y programador en segundo plano

Página | 22
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Gantt

Página | 23
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Acta de Reunión 2018
Escuela Tecnica de Sólymar

18/08
Fecha: 18/08
Horario: 20:00 a 06:00 Lugar: Casa Díaz
hasta 19/8

Temas a tratar: Realizar base de datos en SQL server

25/08
Fecha: 25/08
Horario: 20:00 a 06:00 Lugar: Casa Márquez
hasta 26/08

Temas a tratar: Modificación de animaciones de carga y transición de barra


lateral

01/09
Fecha: 01/09
Horario: 20:00 a 06:00 Lugar: Casa Viera
hasta 02/09

Temas a tratar: Continuar con creación de base de datos en SQL server

08/09
Fecha: 08/09
Horario: 20:00 a 06:00 Lugar: Casa Chaine
hasta 09/09

Página | 24
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Temas a tratar: Continuar con la codificación del programa

15/09
Fecha: 15/09
Horario: 20:00 a 06:00 Lugar: Casa Díaz
hasta 16/09

Temas a tratar: Finalización de codificación básica del programa

17/09
Fecha: 17/09
Horario: 20:00 a 06:00 Lugar: Casa Márquez
hasta 22/08

Temas a tratar: Inicio de relación de base de datos con el programa

29/09
Fecha: 29/09
Horario: 20:00 a 06:00 Lugar: Casa Chaine
hasta 30/09

Temas a tratar: Continuación de relación de base de datos con el programa

06/10
Fecha: 06/10
Horario: 20:00 a 06:00 Lugar: Casa Viera
hasta 07/10

Temas a tratar: Finalización de relación de base de datos con el programa e


inicio de testeo en busca de errores

13/10
Fecha: 13/10
Horario: 20:00 a 06:00 Lugar: Casa Márquez
hasta 14/10

Temas a tratar: Testeo y búsqueda de errores en el programa

Página | 25
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Camino Crítico del proyecto (CPM)

ACTIVIDADES PREDECESOR TIEMPO


A ESPECIFICACIONES DE SOFTWARE INICIO 3 SEMANAS
B MER ESPECIFICACIONES DE 2 SEMANAS
SOFTWARE
C BASE DE DATOS SQL SERVER MER 8 SEMANAS
D DISEÑO ESQUEMATICO DEL BASE DE DATOS SQL 3 SEMANAS
SOFTWARE SERVER
E DISEÑO COMPUTARIZADO DEL MER 8 SEMANAS
SOFTWARE
F CODIFICACION DISEÑO 9 SEMANAS
COMPUTARIZADO DEL
SOFTWARE
G TESTING CODIFICACION,DISEÑO 1.5 SEMANAS
ESQUEMATICO DEL
SOFTWARE

CAMINO CRÍTICO

INICIO - A - B - E - F - G - FIN

Página | 26
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Documentación de inicio y planificación:

Los integrantes del proyecto tomaron la decisión de utilizar como nombre de la


empresa “QBrain” debido a que su significado hace referencia a un tema muy discutido
por nuestro grupo, los estados cuánticos.

El cual para nosotros es un tema el cual representa un interés en común para los
integrantes del equipo. Ya que en nuestras noches de debate siempre hablamos sobre
los estados cuánticos, el universo, el cerebro humano, y uno de nuestros debates más
recurrentes y relevantes fue uno en el cual hablamos sobre las creencias y la ciencia,
en la que comparamos la existencia de un Dios con la famosa paradoja del gato
de Schrödinger. Comparamos el procesador cuántico con cerebro humano ya que la
potencia del cerebro humano es tal que crea sus propias “realidades” o ve el mundo
de formas que todo esté relacionado con Dios, y que Dios sea la explicación de la
mayoría de las cosas, de eso pasamos a que al igual que el cerebro, un procesador
cuántico tiene azar y la capacidad de
Procesar una gran cantidad de datos.

El grupo se formó originalmente de siete personas, pero tuvimos que separarnos en


dos grupos y formar un grupo de cuatro. Compartimos el gusto por la informática en
general, debatir y analizar y de no creer en los límites del todo.

Para nosotros lo más importante es el trabajo en equipo, trabajamos mejor si es por


algo que nos motiva y somos unidos la mayoría del tiempo a pesar de los debates.

Reglas del Grupo:

-Acatar las órdenes de los coordinadores.

- Llegar lo más puntual posible a las reuniones.

-Si se falta a una reunión, hacer el trabajo que le corresponda en su casa.

-Sugerir cambios a discutir cuando no se esté de acuerdo con algo o cuando se note
un error.

-Cumplir plazos de trabajos.

- Ayudar siempre que se pueda.

-Dialogar los cambios que se desean efectuar con el resto del grupo, no hacer nada
sin consultarlo con todos.

Bibliografía:

Página | 27
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Información obtenida de internet mayormente de YouTube y distintos foros destinados
a programación además del instructor y profesor de programación Matías Graña.

Página | 28
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Pantallas del programa comentadas:

Menú principal desde el que podemos acceder a el resto de funcionalidades y


opciones del programa

Pestaña cursos en la que podremos crear modificar y eliminar cursos así como
ver información o contenido de los cursos

Página | 29
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Pantalla de agregar o editar un curso

Desde esta pestaña alumnos agregar modificar eliminar buscar y listar alumnos

Página | 30
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Pestaña profesores agregar modificar eliminar y listar profesores

Login: logueo con diferentes tipos de usuario para acceder al sistema

Página | 31
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Agregar cursos: aquí se agregan cursos

Agregar grupo: aquí se agregan grupos a los cursos

Página | 32
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Aquí se agregan alumnos a distintos cursos

Y aquí se agregan los diferentes alumnos a la base de datos

Tecnologías usadas:
Página | 33
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Tecnologías utilizadas -Photoshop: para la mayoría del diseño del programa y

Animación final de la barra lateral.

-Macromedia flash: para el primer prototipo de animación

De la barra lateral

-visual studio: el IDE utilizado para la realización del proyecto

-SQL server 2014: creación de la base de datos

-Google drive: transmisión de datos y guardar los avances de


cada

Reunión del proyecto

Página | 34
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Documentación de inicio y planificación:

Los integrantes del proyecto tomaron la decisión de utilizar como nombre de la


empresa “QBrain” debido a que su significado hace referencia a un tema muy discutido
por nuestro grupo, los estados cuánticos.

El cual para nosotros es un tema el cual representa un interés en común para los
integrantes del equipo. Ya que en nuestras noches de debate siempre hablamos sobre
los estados cuánticos, el universo, el cerebro humano, y uno de nuestros debates más
recurrentes y relevantes fue uno en el cual hablamos sobre las creencias y la ciencia,
en la que comparamos la existencia de un Dios con la famosa paradoja del gato
de Schrödinger. Comparamos el procesador cuántico con cerebro humano ya que la
potencia del cerebro humano es tal que crea sus propias “realidades” o ve el mundo
de formas que todo esté relacionado con Dios, y que Dios sea la explicación de la
mayoría de las cosas, de eso pasamos a que al igual que el cerebro, un procesador
cuántico tiene azar y la capacidad de
Procesar una gran cantidad de datos.

El grupo se formó originalmente de siete personas, pero tuvimos que separarnos en


dos grupos y formar un grupo de cuatro. Compartimos el gusto por la informática en
general, debatir y analizar y de no creer en los límites del todo.

Para nosotros lo más importante es el trabajo en equipo, trabajamos mejor si es por


algo que nos motiva y somos unidos la mayoría del tiempo a pesar de los debates.

Reglas del Grupo:

-Acatar las órdenes de los coordinadores.

- Llegar lo más puntual posible a las reuniones.

-Si se falta a una reunión, hacer el trabajo que le corresponda en su casa.

-Sugerir cambios a discutir cuando no se esté de acuerdo con algo o cuando se note
un error.

-Cumplir plazos de trabajos.

- Ayudar siempre que se pueda.

-Dialogar los cambios que se desean efectuar con el resto del grupo, no hacer nada
sin consultarlo con todos.

Bibliografía:

Página | 35
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Información obtenida de internet mayormente de YouTube y distintos foros destinados
a programación además del instructor y profesor de programación Matías Graña.

Pasaje a tablas: QAdmin

Alumno(C.I,Nombre,Apellido,Telefono,Direccion,Email,Fecha_nacimiento,Sexo)
Profesor(C.I,Nombre,Apellido,Telefono,Direccion,Email,
Fecha_nacimiento,Hijos ,Estado Civil)
Cursos( id_curso, duración,Descripcion, costo, nombre)
Grupo(id_grupo, nombre, id_curso,C.I_Alumno)
Asignatura( id_asignatura, Nombre, Descripción, C.I_Profesor)
Tutor( C.I,Nombre,Apellido,Email,Direccion , Telefono, rel_estudiante)
Curso_asignatura(id_curso, id_asignatura)
Curso_Alumno( id_curso, C.I_Alumno)
Alumno_Tutor( C.I_Alumno, C.I_Tutor)
Asignatura_grupo( id_asignatura,id_grupo)
Profesor_asignatura_grupo( id_grupo, id_asignatura, C.I_Profesor)

Pasaje a tablas: QLoguin

Rol (nombre_rol)
Login (Username,Password,Rol)

DER: QAdmin

Página | 36
QBrain teamqbrain@gmail.com ETSN-3BH-2018
DER: QLogin

Página | 37
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Consultas B.D segunda y tercera entrega

insert into alumno values


(53045609,'Felipe','Viera',098789897,4343,'Calle
17','Felipeviera56@hotmail.com','2001/05/20','hombre')

update cursos set nombre = 'Electronica', costo = 100 where id_curso =


1

select cursos.nombre from cursos, curso_alumno, alumno where alumno.ci


= 53045434 and curso_alumno.ci_alumno = 53045434 and cursos.id_curso
= curso_alumno.id_curso

select alumno.nombre from alumno, curso_alumno, cursos where


curso_alumno.id_curso = 4 and cursos.id_curso = 4 and alumno.ci =
curso_alumno.ci_alumno

select rol from Login where Username = 'Admin'

Script de creación de tablas


create database QAdmin

create table sexo(


tipo_sexo varchar(50) primary key
)

Página | 38
QBrain teamqbrain@gmail.com ETSN-3BH-2018
create table alumno(

ci int primary key not null,


nombre varchar(50) not null,
apellido varchar(50) not null,
telefono int,
nro_puerta int not null,
calle varchar(100),
email varchar(100) not null,
fecha_nacimiento date not null,
sexo varchar(50) references sexo(tipo_sexo)

);

create table profesor(

ci int primary key not null,


nombre varchar(50) not null,
apellido varchar(50) not null,
telefono int,
nro_puerta int not null,
calle varchar(100),
email varchar(100) not null,
fecha_nacimiento date not null,
hijos varchar(50) not null,
estadocivil varchar(100) not null,

);

create table cursos(

id_curso int identity primary key not null,


duracion int not null,
tipo_duracion varchar(50) not null,
costo int not null,
nombre varchar(100) not null,
descripcion varchar (1000)

);

create table grupo(

id_grupo int identity primary key not null,


nombre varchar(100) not null,
Curso_perteneciente int references cursos(id_curso) not null,
alumno int references alumno(ci)

);

create table asignatura(

id_asignatura int identity primary key not null,


nombre varchar(100) not null,
descripcion varchar(1000) not null,
id_profesor int references profesor(ci) not null,

);

create table tutor(

ci int primary key not null,


nombre varchar(50) not null,
apellido varchar(50) not null,
email varchar(100) not null,
telefono int not null,
direccion varchar(200) not null,
rel_estudiante varchar(100) not null,

);

create table curso_alumno(

Página | 39
QBrain teamqbrain@gmail.com ETSN-3BH-2018
id_curso int references cursos(id_curso),
ci_alumno int references alumno(ci),
primary key(id_curso,ci_alumno)

);

create table asignatura_curso(

id_asignatura int references asignatura(id_asignatura),


id_curso int references cursos(id_curso),
primary key(id_asignatura, id_curso)

);

create table asignatura_grupo(

id_asignatura int references asignatura(id_asignatura),


id_grupo int references grupo(id_grupo),

primary key(id_asignatura, id_grupo)

);

create table alumno_tutor(

ci_alumno int references alumno(ci),


ci_tutor int references tutor(ci),
primary key(ci_alumno,ci_tutor),

create table profesor_asignatura_grupo(

id_grupo int references grupo(id_grupo),


id_asignatura int references asignatura(id_asignatura),
ci_profesor int references profesor(ci),

primary key(id_grupo,id_asignatura,ci_profesor)

insert into cursos

select * from cursos


select * from asignatura
select * from alumno
select * from profesor
select * from asignatura_curso
select * from asignatura_grupo
select * from curso_alumno

Página | 40
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Estudio de roles y creacion de usuarios

useradd -m -p <Contrasenia encriptada> -s /bin/bash MantenimientoQuantum

useradd -m -p <Contrasenia encriptada> -s /bin/bash AdminQuantum

useradd -m -p -s /bin/bash Alumno

Politica de respaldo

Se realiza un respaldo de la base de datos, de


cada usuario y de el sistema
Haciendoce el primer dia de cada semana (cada
domingo)

Auditoria

se hace auditoria de los usuarios logueados,


procesos recientes, intento de logueo
mostrandoce y guardandose en un archivo toda
la informacion

Página | 41
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Script de respaldo y auditoria

#!/bin/bash resize -s 30 82 clear

echo -----------------------------------SCRIPT RESPALDO--------------------------------

echo Este Script utiliza funciones que necesitan root, se recomienda ejecutarlo con un usuario con privilegios root o la
utilizacion se vera limitada, en caso contrario se solicitara contraseña

echo

read -p "Presione enter para continuar... "go

clear

echo instalando programas necesarios...

sleep 1

sudo apt-get install pv

clear

op=1

until [ $op -eq 0 ]

do

clear

echo [////////////////////////////////////////////////////////////////////////////////]

echo [------------------------------Script de respaldo--------------------------------]

echo [////////////////////////////////////////////////////////////////////////////////]

echo 1 Respaldo de B.D----------------------------------------------------------------]

echo 2 Respaldo datos User------------------------------------------------------------]

echo 3 Auditoria----------------------------------------------------------------------]

echo 4 Respaldo de sistema------------------------------------------------------------]

echo 0 Salir--------------------------------------------------------------------------]

echo [////////////////////////////////////////////////////////////////////////////////]

read -p "Ingrese una opción: " op

RespaldoBD(){

clear

echo

echo Creando respaldo de base de datos mediante secure shell...

sleep 1
Página | 42
QBrain teamqbrain@gmail.com ETSN-3BH-2018
echo

ssh nombreusuario@nombreservidor |pscp c:/archivoArespaldar nombreusuario@nombreservidorRespaldo:


/respaldos |exit

mv /respaldos/nombrebasededatos.sql /respaldos/respaldoBD.bak

clear

RespaldoUsuarios(){

sudo tar cvfP /respaldos/respaldoUsers.bak /home --exclude=chrx/.gnupg/S.gpg-agent --


exclude=chrx/.config/deadbeef/socket | (pv -p --timer --rate --bytes > respaldoUsers.bak)

sleep 2

echo Respaldo finalizado.

sleep 2

MkRespaldos(){

echo

clear

echo Creando carpeta de respaldo...

sudo mkdir /respaldos

sudo chmod u+rw /respaldos

sleep 2

clear

Auditoria() {

if [ -d /respaldos/ ];

then

op=1

until [ $op -eq 0 ]

do

clear

echo [////////////////////////////////////////////////////////////////////////////////]

echo 1-Usuarios logeados--------------------------------------------------------------]

echo 2-Procesos recientes-------------------------------------------------------------]

echo 3-Intentos de logueo-------------------------------------------------------------]


Página | 43
QBrain teamqbrain@gmail.com ETSN-3BH-2018
echo 4-Volver al Inicio---------------------------------------------------------------]

echo 0-Salir--------------------------------------------------------------------------]

echo [////////////////////////////////////////////////////////////////////////////////]

read -p "Ingrese una opción: " op

case $op in

1)

clear

echo

echo Usuarios Logeados:

who

date >> /respaldos/Auditoria/Usuarios.log

who >> /respaldos/Auditoria/Usuarios.log

echo >> /respaldos/Auditoria/Usuarios.log

echo

echo Lista de usuarios guardada en Usuarios.log

read -p "Presione enter para continuar... "go

;;

2)

clear

echo Listando procesos recientes.

sleep 1

clear

echo Listando procesos recientes..

sleep 1
Página | 44
QBrain teamqbrain@gmail.com ETSN-3BH-2018
clear

echo Listando procesos recientes...

sleep 1

ps -e

echo

echo guardando...

date >> /respaldos/Auditoria/procesos.list

ps -e >> /respaldos/Auditoria/procesos.list

echo >> /respaldos/Auditoria/procesos.list

read -p "Presione enter para continuar... "go

;;

3)

if [ -f /var/log/btmp ]

then

clear

echo No hay registro de intentos de logueo fallidos

read -p "Presione enter para continuar... "go

else

clear

echo Listando intentos de logueo.

sleep 1

clear

echo Listando intentos de logueo..

sleep 1

clear

echo Listando intentos de logueo...

sleep 1
Página | 45
QBrain teamqbrain@gmail.com ETSN-3BH-2018
sudo lastb

sleep 1

date >> /respaldos/Auditoria/intfallidos.log

echo guardando... | sudo lastb >> /respaldos/Auditoria/intfallidos.log

echo >> /respaldos/Auditoria/intfallidos.log

read -p "Presione enter para continuar... "go

fi

;;

4)

break

;;

0)

clear

echo "Gracias por utilizar nuestro script!"

sleep 2

clear

;;

*)

clear

echo

echo Seleccione una opcion valida entre 0 y 4

read -p "Presione enter para continuar... "go

;;
Página | 46
QBrain teamqbrain@gmail.com ETSN-3BH-2018
esac

done

else

MkRespaldos

fi

MkRespaldoSystem(){

clear

echo Iniciando respaldo del sistema...

sudo tar cvfP /respaldos/RespaldoSistema.bak / --exclude=respaldos --exclude=home | (pv -p --timer --rate --bytes >
respaldoSistema.bak)

sleep 2

echo Respaldo finalizado

read -p "Presione enter para continuar... "go

case $op in

1)

if [ -d /respaldos/ ];

then

if [ -f /respaldos/respaldoBD.bak ];

then

echo

echo Borrando respaldo anterior...

sudo rm respaldoBD.bak

Página | 47
QBrain teamqbrain@gmail.com ETSN-3BH-2018
sleep 4

clear

RespaldoBD

else

RespaldoBD

fi

else

MkRespaldos

RespaldoBD

fi

clear

;;

2)

if [ -d /respaldos/ ];

then

if [ -f /respaldos/respaldoUsers.bak ];

then

clear

echo

echo Borrando respaldo anterior...

rm /respaldos/respaldoUsers.bak

sleep 1
Página | 48
QBrain teamqbrain@gmail.com ETSN-3BH-2018
clear

echo

echo Creando respaldo nuevo...

RespaldoUsuarios

else

clear

echo

echo Creando respaldo nuevo...

RespaldoUsuarios

fi

else

MkRespaldos

echo

echo Iniciando Backup de carpetas de usuario...

RespaldoUsuarios

fi

;;

3)

if [ -d /respaldos/Auditoria ];

then

Auditoria

else
Página | 49
QBrain teamqbrain@gmail.com ETSN-3BH-2018
if [ -d /respaldos/ ];

then

mkdir /respaldos/Auditoria

Auditoria

else

MkRespaldos

Auditoria

fi

fi

;;

4)

if [ -d /respaldos/ ];

then

if [ -f /respaldos/respaldoSistema.bak ];

then

clear

echo

echo Borrando respaldo anterior...

rm /respaldos/respaldoSistema.bak

sleep 1

MkRespaldoSystem

else

MkRespaldoSystem

fi
Página | 50
QBrain teamqbrain@gmail.com ETSN-3BH-2018
else

MkRespaldos

MkRespaldoSystem

fi

;;

0)

clear

echo "Gracias por utilizar nuestro script!"

sleep 2

clear

;;

*)

clear

echo

echo Seleccione una opcion valida entre 0 y 4

read -p "Presione enter para continuar... "go

;;

esac

done

Página | 51
QBrain teamqbrain@gmail.com ETSN-3BH-2018
Script de tareas programadas

RespaldoBD(){

ssh nombreusuario@nombreservidor |pscp /respaldos c:/archivoArespaldar |exit

mv /respaldos/nombrebasededatos.sql /respaldos/respaldoBD.bak

RespaldoUsuarios(){

sudo tar cvfP /respaldos/respaldoUsers.bak /home --exclude=chrx/.gnupg/S.gpg-agent --


exclude=chrx/.config/deadbeef/socket

MkRespaldos(){

sudo mkdir /respaldos

sudo chmod u+rw /respaldos

UsuariosLog(){

date >> respaldos/Auditoria/Usuarios.log

who >> /respaldos/Auditoria/Usuarios.log

echo >> /respaldos/Auditoria/Usuarios.log

ProcesosRec(){

date >> /respaldos/Auditoria/procesos.list

ps -e >> /respaldos/Auditoria/procesos.list

Página | 52
QBrain teamqbrain@gmail.com ETSN-3BH-2018
echo >> /respaldos/Auditoria/procesos.list

IntentosLog(){

date >> /respaldos/Auditoria/intfallidos.log

sudo lastb >> /respaldos/Auditoria/intfallidos.log

echo >> /respaldos/Auditoria/intfallidos.log

MkRespaldoSystem(){

sudo tar cvfP /respaldos/RespaldoSistema.bak / --exclude=respaldos --exclude=home

AllRespaldos(){

RespaldoBD

RespaldoUsuarios

UsuariosLog

ProcesosRec

IntentosLog

MkRespaldoSystem

if [ -d /respaldos/ ];

then

AllRespaldos

Página | 53
QBrain teamqbrain@gmail.com ETSN-3BH-2018
else

MkRespaldos

AllRespaldos

fi

Script con configuraciones de tareas programadas

# /etc/crontab: system-wide crontab

# Unlike any other crontab you don't have to run the `crontab'

# command to install the new version when you edit this file

# and files in /etc/cron.d. These files also have username fields,

# that none of the other crontabs do.

SHELL=/bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command

* * * * 1 root sh /home/chrx/Downloads/Scripts/Respaldos.sh

Página | 54
QBrain teamqbrain@gmail.com ETSN-3BH-2018

Вам также может понравиться