Anda di halaman 1dari 72

PONTIFICIA UNIVERSIDAD CATLICA DE VALPARASO

FACULTAD DE INGENIERA
ESCUELA DE INGENIERA INFORMTICA

Proyecto de Modelamiento de Software


Anlisis del funcionamiento de GitHub

Mauricio Esteban Rivera Garca


Mara Jos Rivas Concha

Modelamiento de sistemas de software INF 3242


Septiembre 2017
ndice

Resumen ............................................................................................................................................ iii


Lista de Figuras ................................................................................................................................ iv
Lista de Tablas................................................................................................................................... v
1 Introduccin.................................................................................................................................... 1
2 Objetivos del trabajos .................................................................................................................... 2
2.1 Objetivos Generales ................................................................................................................ 2
2.2 Objetivos Especficos............................................................................................................... 2
3 Planificacin.................................................................................................................................... 3
3.1 Modelo de Proceso.................................................................................................................... 3
3.2 Equipo de Trabajo ................................................................................................................... 3
3.3 Carta Gantt ............................................................................................................................... 3
3.4 Evaluacin de riesgos y propuestas ........................................................................................ 3
4 Descripcin del problema .............................................................................................................. 5
4.1 Origen de la problemtica ....................................................................................................... 5
4.2 Justificacin .............................................................................................................................. 5
4.3 Implementacin ........................................................................................................................ 5
4.3.1 Diagrama de Flujo de Datos ............................................................................................ 6
4.3.2 Especificacin de Procesos............................................................................................. 12
4.3.3 Diccionario de Flujo de Datos ....................................................................................... 16
4.3.4 Modelo Entidad-Relacin .............................................................................................. 19
4.3.5 Diccionario de Datos Entidad-Relacin ....................................................................... 20
5 Especificacin de requerimientos ............................................................................................... 25
5.1 Mdulos y Requerimientos .................................................................................................... 25
5.1.1 Sistema de Registro ........................................................................................................ 25
5.1.1.1 Requerimientos ........................................................................................................ 25
5.1.1.2 Prototipos Desechables ........................................................................................... 25
5.1.2 Especificacin de requerimientos.................................................................................. 28
5.1.2.1 Requerimientos ........................................................................................................ 28
5.1.2.2 Prototipos Desechables ........................................................................................... 32
5.1.3 Administracin de repositorio....................................................................................... 33
5.1.3.1 Requerimientos ........................................................................................................ 34
5.1.3.2 Prototipos Desechables ........................................................................................... 36

i
6 Diseo del Sistema ........................................................................................................................ 39
6.1 Diagramas de Casos de Uso y Casos de Usos Narrativos ............................................... 39
6.2 Diagramas de Actividad..................................................................................................... 49
6.3 Diagramas de interaccin .................................................................................................. 39
6.4 Diagramas de clases ........................................................................................................... 39
6.5 Diagramas de objetos ......................................................................................................... 39
6.6 Diagramas de secuencia ..................................................................................................... 39
6.7 Diagramas de procesos....................................................................................................... 39
8 Anexos ........................................................................................................................................... 40

ii
Resumen
GitHub es una de las plataformas virtuales ms populares y utilizadas en la actualidad
centrada en el desarrollo de software en modo individual como cooperativo. En el presente
informe se centrara en explicar el anlisis realizado en los procesos Registro de Usuario,
Ajustes de Usuario y Administracin de Repositorio, analizndolos de forma funcional,
desglosando cada proceso elegido. Adems de que esto vendr acompaado con diagramas
de flujo de datos, modelos de entidad-relacin, prototipos de las ventanas y diccionario de
datos.

iii
Lista de Figuras

Figura 3.1: Detalles de Carta Gantt Grupal ................................................................................... 3


Figura 4.1: Diagrama de contexto .................................................................................................. 6
Figura 4.2: Diagrama nivel 0............................................................................................................ 7
Figura 4.3: DFD primer nivel, GitHub ....................................................................................... 8
Figura 4.4: DFD primer nivel, Sistema de sesin ....................................................................... 8
Figura 4.5: DFD primer nivel, Subir contenido ......................................................................... 9
Figura 4.6: DFD segundo nivel, Administrar repositorio ........................................................ 10
Figura 4.7: DFD tercer nivel, Listar contenido ....................................................................... 11
Figura 4.8: DFD cuarto nivel, Configurar cuenta .................................................................... 11
Figura 4.9: Modelo Entidad-Relacin ........................................................................................... 19
Figura 5.1: Prototipo 1, Modulo Sistema de registro ............................................................... 27
Figura 5.2: Prototipo 2, Modulo Sistema de registro ............................................................... 27
Figura 5.3: Prototipo 3, Modulo Sistema de registro ............................................................... 28
Figura 5.4: Prototipo 1, Modulo Ajuste de Usuario ................................................................. 32
Figura 5.5: Prototipo 2, Modulo Ajuste de Usuario ................................................................. 32
Figura 5.6: Prototipo 3, Modulo Ajuste de Usuario ................................................................. 33
Figura 5.7: Prototipo 1, Modulo Administracin de repositorio ............................................ 36
Figura 5.8: Prototipo 2, Modulo Administracin de repositorio ............................................ 36
Figura 5.9: Prototipo 3, Modulo Administracin de repositorio ............................................ 37
Figura 5.10: Prototipo 4, Modulo Administracin de repositorio ......................................... 38
Figura 6.1: GitHub .......................................................................................................................... 39
Figura 6.2: Registrar Cuenta ......................................................................................................... 40
Figura 6.3: Datos de Ingreso .......................................................................................................... 40
Figura 6.4: Ajustes de Usuario ....................................................................................................... 41
Figura 6.5: Ajustes de Perfil .......................................................................................................... 41
Figura 6.6: Administracin de Repositorio................................................................................... 42
Figura 6.7: Subir Archivos pertenecientes al Repositorio ........................................................... 42
Figura 6.8: Diagrama de Actividad Mdulo Registrar Cuenta .................................................. 49
Figura 6.9: Diagrama de Actividad Mdulo Ajustes de Usuario ................................................ 49
Figura 6.10: Diagrama de Actividad Mdulo Administracin de Repositorio .......................... 50
Figura 6.11: Diagrama de Interaccin Modulo de Sistema de Registro .................................... 51

iv
Figura 6.12: Diagrama de Interaccin de Modulo de Ajustes de Usuario ................................. 51
Figura 6.13: Diagrama de Interaccin de Modulo de Administracin de Repositorio ............. 52
Figura 6.14: Diagrama de Clases ................................................................................................... 53
Figura 6.15: Diagrama de Objetos................................................................................................. 54
Figura 6.16: Diagrama secuencia SistemaSesion-Cuenta ............................................................ 55
Figura 6.17: Diagrama secuencia Cuenta-ListarContenido ........................................................ 56
Figura 6.18: Diagrama secuencia Cuenta-Repositorio ................................................................ 57
Figura 6.19: Diagrama secuencia Cuenta-SubirContenido ........................................................ 58
Figura 6.20: Diagrama secuencia Cuenta-ConfigCuenta ............................................................ 59
Figura 6.21: Diagrama secuencia Repositorio-AdmninRepo ...................................................... 60

v
Lista de Tablas

Tabla 4.1: Diccionario de Diagrama de Flujos ............................................................................. 16


Tabla 4.2: Diccionario de Diagrama de Flujos ............................................................................. 17
Tabla 4.3: Diccionario de Diagrama de Flujos ............................................................................. 17
Tabla 4.4: Diccionario de Diagrama de Flujos ............................................................................. 17
Tabla 4.5: Diccionario de Diagrama de Flujos ............................................................................. 17
Tabla 4.6: Diccionario de Diagrama de Flujos ............................................................................. 18
Tabla 4.7: Diccionario de Diagrama de Flujos ............................................................................. 18
Tabla 4.8: Diccionario de Diagrama de Flujos ............................................................................. 18
Tabla 4.9: Diccionario de Diagrama de Flujos ............................................................................. 18
Tabla 4.10: Diccionario de Modelo Entidad-Relacin ................................................................. 20
Tabla 4.11: Diccionario de Modelo Entidad-Relacin ................................................................. 20
Tabla 4.12: Diccionario de Modelo Entidad-Relacin ................................................................. 21
Tabla 4.13: Diccionario de Modelo Entidad-Relacin ................................................................. 21
Tabla 4.14: Diccionario de Modelo Entidad-Relacin ................................................................. 21
Tabla 4.15: Diccionario de Modelo Entidad-Relacin ................................................................. 21
Tabla 4.16: Diccionario de Modelo Entidad-Relacin ................................................................. 21
Tabla 4.17: Diccionario de Modelo Entidad-Relacin ................................................................. 22
Tabla 4.18: Diccionario de Modelo Entidad-Relacin ................................................................. 22
Tabla 4.19: Diccionario de Modelo Entidad-Relacin ................................................................. 22
Tabla 4.20: Diccionario de Modelo Entidad-Relacin ................................................................. 22
Tabla 4.21: Diccionario de Modelo Entidad-Relacin ................................................................. 23
Tabla 4.22: Diccionario de Modelo Entidad-Relacin ................................................................. 23
Tabla 4.23: Diccionario de Modelo Entidad-Relacin ................................................................. 23
Tabla 4.24: Diccionario de Modelo Entidad-Relacin ................................................................. 23
Tabla 4.25: Diccionario de Modelo Entidad-Relacin ................................................................. 24

vi
Tabla 4.26: Diccionario de Modelo Entidad-Relacin ................................................................. 24
Tabla 4.29: Diccionario de Modelo Entidad-Relacin ................................................................. 24
Tabla 4.30: Diccionario de Modelo Entidad-Relacin ................................................................. 24
Tabla 6.1: Casos de Usos Narrativos ............................................................................................. 43

vii
Tabla 6.2: Casos de Usos Narrativos ............................................................................................. 43
Tabla 6.3: Casos de Usos Narrativos ............................................................................................. 43
Tabla 6.4: Casos de Usos Narrativos ............................................................................................. 43
Tabla 6.5: Casos de Usos Narrativos ............................................................................................. 43
Tabla 6.6: Casos de Usos Narrativos ............................................................................................. 43
Tabla 6.7: Casos de Usos Narrativos ............................................................................................. 44
Tabla 6.8: Casos de Usos Narrativos ............................................................................................. 44
Tabla 6.9: Casos de Usos Narrativos ............................................................................................. 44
Tabla 6.10: Casos de Usos Narrativos ........................................................................................... 44
Tabla 6.11: Casos de Usos Narrativos ........................................................................................... 45
Tabla 6.12: Casos de Usos Narrativos ........................................................................................... 45
Tabla 6.13: Casos de Usos Narrativos ........................................................................................... 45
Tabla 6.14: Casos de Usos Narrativos ........................................................................................... 45
Tabla 6.15: Casos de Usos Narrativos ........................................................................................... 45
Tabla 6.16: Casos de Usos Narrativos ........................................................................................... 46
Tabla 6.17: Casos de Usos Narrativos ........................................................................................... 46
Tabla 6.18: Casos de Usos Narrativos ........................................................................................... 46
Tabla 6.19: Casos de Usos Narrativos ........................................................................................... 46
Tabla 6.20: Casos de Usos Narrativos ........................................................................................... 46
Tabla 6.21: Casos de Usos Narrativos ........................................................................................... 46
Tabla 6.22: Casos de Usos Narrativos ........................................................................................... 47
Tabla 6.23: Casos de Usos Narrativos ........................................................................................... 47
Tabla 6.24: Casos de Usos Narrativos ........................................................................................... 47
Tabla 6.25: Casos de Usos Narrativos ........................................................................................... 47
Tabla 6.26: Casos de Usos Narrativos ........................................................................................... 47
Tabla 6.27: Casos de Usos Narrativos ........................................................................................... 48
Tabla 6.28: Casos de Usos Narrativos ........................................................................................... 48
Tabla 6.29: Casos de Usos Narrativos ........................................................................................... 48
Tabla 6.30: Casos de Usos Narrativos ........................................................................................... 48
Tabla 6.31: Casos de Usos Narrativos ........................................................................................... 48

i
1 Introduccin
GitHub es una plataforma virtual de desarrollo de software de manera cooperativa
fundada el 8 de febrero del 2008 y lanzada el 10 de abril del mismo ao por Tom Preston-
Wermer y Chris Wanstrah, PJ Hytte. Mediante el sistema el sistema de control Git, permite
albergar proyectos, revisar cdigo, administrarlos y crear software. Adems, brinda el control
de versiones distribuidas y la funcionalidad de gestin de cdigo fuente (SCM o Source Code
Management) de Git, tanto la suma de sus propias propiedades. Por otra parte, provee control
de acceso y varias funciones de colaboracin como seguimiento de errores, solicitudes de
caractersticas, administracin de tareas y wikis. Tambin, permite la posibilidad de utilizar
repositorios privados como gratuitos en una misma cuenta (utilizados comnmente para
alojar proyectos de software de cdigo abierto). Su objetivo es permitir al usuario desarrollar
software en forma individual y abierta, al igual que en grupos y tambin privada.

Esta plataforma est orientada a desarrolladores de software facilitando el trabajo en


equipo y sumando fiabilidad a sus proyectos. A lo largo del informe se usarn metodologas
y herramientas de modelado de sistemas de informacin tales como Desarrollo Basados en
Componentes, identificando el funcionamiento interno a travs de requerimientos que se irn
alcanzando a medida se avance en este. El procedimiento escogida es crucial para este tipo
de pgina, permitiendo que el usuario que utilice en forma constante la plataforma, sin tener
que parar el sistema, siendo relevante para una aplicacin web.
El objetivo es el modelamiento de la aplicacin web GitHub para la generacin de
proyectos que necesitan el uso de repositorio. Para efecto de este proceso se describir en
este informe, el modelamiento de algunos mdulos del sistema escogido (GitHub) que sern
registro de usuario, ajustes de cuenta y administracin de repositorios, de los cuales
identificaran requerimientos funcionales y no funcionales. Se crearn prototipos desechables
del sistema vinculados a los requerimientos identificados. Se usarn diagramas de flujo de
datos (DFD) para representar los mdulos escogidos, y adems modelos de entidad-relacin
para representar la base de datos.

1
2 Objetivos del Trabajo:
El desarrollo de un informe en cualquier rea, es necesario reconocer los objetivos
que le darn forma y guiaran al equipo, para cumplir ciertas metas, tanto generales como
especficas.

2.1 Objetivos Generales:


Disear el modelamiento de la plataforma GitHub para el desarrollo de proyectos
que requieran el uso de repositorio.

2.2 Objetivos Especficos:

Analizar las caractersticas de los mdulos de sistema de registro, administracin de


repositorio y ajuste de usuario de la plataforma GitHub.
Identificar requerimientos funcionales y no funcionales del sistema de los mdulos.
Desarrollar modelo mediante el uso de los flujos DFD y Entidad Relacin.
Analizar diagramas especificando procesos del sistema.

2
3 Planificacin:
Una planificacin es necesaria de hacer, antes del anlisis, para poder lograr los
objetivos propuestos.

3.1 Modelo de proceso:


El modelo que se considera ms adecuado para esta aplicacin y se ha optado por
utilizar es del tipo Basado en componentes, el cual est enfocado en integrar componentes
reutilizables y agilizar las etapas asociadas a la implementacin. Siendo un modelo que
contiene varias propiedades del modelo espiral, es tambin de enfoque interactivo y
evolutivo.

GitHub al ser una plataforma virtual, est en constante cambio, evolucionando y


creciendo a grandes velocidades, volvindose ms grande y complejo. El desarrollo basado
en componentes permite la evolucin del software mientras que este sigue funcionando,
esencial para productos orientados a servicios que necesitan estar 24/7 operativos. Adems
permite la integracin de componentes de terceros, como lo que puede ser el registro por
Google, Facebook, etc.

3.2 Equipo de trabajo:


El equipo de trabajo est compuesto por dos estudiantes de Ingeniera de Ejecucin
en Informtica, cuyos roles de diseadores, documentadores, analistas y analistas de prueba
y riesgo, fueron ocupados por los dos, exceptuando el jefe de proyecto el cual no poda ser
ocupado por los dos integrantes, dejando como jefe a Mauricio Estaban Rivera.

3.3 Carta Gantt:


En el desarrollo de un proyecto es importante la organizacin y planificar las
actividades para as fijar objetivos en designados periodos de tiempo y avanzar de forma
controlada (vase Anexo 1).

3.4 Evaluacin de riesgos y propuestas:


Los riesgos asociados al desarrollo de este software pueden ser divididos en tres
partes, los riesgos del proyecto, riesgos tcnicos y riesgos del negocio. Por el lado del
proyecto, est el presupuesto, el tamao de la inversin, la planificacin, cunto tiempo se
necesitara para su desarrollo, recursos, si los instrumentos utilizados para su creacin sern
suficiente, personal, la cantidad de personas a cargo sern suficientes, y requisitos, las
condiciones dadas son suficientes o ser necesario agregar ms. En el lado tcnico tenemos
el diseo, la arquitectura es favorable, cumple con lo esperado por la empresa y los usuarios

3
o ser necesario una mejor arquitectura, implementacin, al igual que la planificacin este
viene conectada al tiempo de realizacin, interfaz, la usabilidad e interaccin y si ser
necesario un mayor estudio. Por ltimo en el lado del negocio, la estrategia, que no llegue a
cumplir con la idea de la compaa y la mantencin de los recursos asignados.

Se propone un estudio a profundidad de los riesgos ya existentes y bsqueda de


posibles, para una mayor seguridad en el desarrollo, tambin se realizara un plan de gestin
que permita cumplir con todo los plazos establecidos y llegar a conseguir reducir costos de
produccin. Adems de proponer una interfaz que sea amigable, que permita una buena
usabilidad.

4 Descripcin del problema


En el momento que diversas personas cooperan en un proyecto, es complicado hacer
un seguimiento de las revisiones, quin cambi qu, cundo y dnde son almacenados esos
archivos. GitHub se ocupa de este problema haciendo un seguimiento de todos los cambios
que se han enviado al repositorio. En la descripcin del problema, se explicara el origen de
la problemtica, se justifica y como se implementa una solucin a travs del anlisis de la
plataforma GitHub.

4.1 Origen de la problemtica:


En la actualidad, las herramientas digitales son parte del proceso de aprendizaje,
siendo utilizadas por profesionales del rea de la educacin tales como profesores y
estudiantes. El desarrollo de nuevos software est destinado a cubrir las necesidades de sus
usuarios, siendo demandadas nuevas funcionalidades. En consecuencia, deben actualizarse
continuamente, por lo mismo el desarrollo de software se ha convertido en algo de gran
importancia, en especial por el aumento de la demanda de servicios cada vez de mejor
calidad. Esto ha ido afectando en las necesidades del desarrollador y siendo necesario la
existencia de plataformas que ayuden a los desarrolladores, como grupos o empresas, donde
estos puedan trabajar cooperativamente con mayor facilidad, incluso pudiendo pedir ayuda
o consejos de otros usuarios.

4.2 Justificacin:
La inexistencia de una plataforma que ofrezca el servicio de desarrollo de software
en lnea que permita la interaccin entre los desarrolladores. Adems de la necesidad de
servicios que permitan pedir ayuda a otros usuarios, hasta desarrollar proyecto en grupos o

4
en empresas. Facilitando la interaccin y actualizacin del programa a medida que se va
trabajando.

4.3 Implementacin:
Se realizar el modelado de un sistema que aporte a la solucin de esta problemtica,
para el cual se basar ser GitHub, analizando la plataforma existente, obteniendo un modelo
con el cual se pretende acercar al desarrollador a crear un sistema con similares
caractersticas. Para la primera etapa, se obtendrn los requerimientos para conocer lo que
ser necesario realizar. Adems, se generarn diagramas (DFD) que permitan al desarrollador
del sistema tener una idea de cmo se mueven los datos dentro del sistema teniendo nociones
generales de cmo funcionan sus procesos, a travs de las especificaciones de estos.

4.3.1 Diagrama de Flujo de Datos:


Un diagrama de flujo de datos (DFD) es un modelo funcional que representa
grficamente el flujo de datos de un sistema de informacin. En la presente seccin se
exhibir los DFD de la plataforma GitHub, representando sus funciones e interacciones entre
ellas, recorridos de datos, identificacin de orgenes y destinos, adems de las
trasformaciones de datos (entrada y salida).

5
Diagrama de contexto:

Figura 4.1: Diagrama de contexto

6
DFD0:

Figura 4.2: Diagrama nivel 0

7
DFD1 GitHub:

Figura 4.3: DFD nivel 1, GitHub

8
DFD1 Sistemas de sesin:

Figura 4.4: DFD primer nivel, Sistema de sesin

DFD1 Subir contenido:

Figura 4.5: DFD primer nivel, Subir contenido

9
DFD2 Administrar repositorio:

Figura 4.6: DFD segundo nivel, Administrar repositorio

10
DFD3 Listar contenido:

Figura 4.7: DFD tercer nivel, Listar contenido

DFD4 Configurar contenido:

Figura 4.8: DFD cuarto nivel, Configurar contenido

11
4.3.2 Especificacin de Procesos:

Nivel: Contexto
Nombre: GitHub

PRE-CONDICIN 1:
Ocurre Datos sesin tras el usuario haya ingresado a cuenta GitHub por
medio de su contrasea o alguna de las propiedades de ella, ya estando en
ingresado.
POST-CONDICIN 1:
Se presenta los datos seleccionados por el usuario.
PRE-CONDICIN 2:
Ocurre Proyecto va git despus que el usuario ingreso un proyecto por
medio de Git a GitHub.
POST-CONDICIN 2:
Se genera el proyecto.
PRE-CONDICIN 3:
Ocurre Datos Nueva sesin si el usuario haya creado una nueva cuenta en
Github, ingresando una nueva contrasea, su email y nuevo nombre de
usuario.
POST-CONDICIN 3:
Se genera una nueva cuenta de GitHub.
PRE-CONDICIN 4:
Ocurre Parmetros de ajuste de usuario tras se haya ingresado a ajustes
de usuario.
POST-CONDICIN 4:
Se emiten las Opciones para ajuste de usuario al usuario.
PRE- CONDICIN 5:
Ocurre Parmetros de bsqueda tras haberse realizados alguna bsqueda
en GitHub.
POST-CONDICIN 5:
Se emiten los Listar resultados de bsqueda.
PRE-CONDICIN 6:
Ocurre Parmetros de administracin de repositorios despus que se haya
ingresado en administracin de repositorios.
POST-CONDICIN 6:
Se emiten las Opciones de administracin de repositorios al usuario.
PRE-CONDICIN 7:
Ocurre el listar el contenido.

12
POST-CONDICIN 7:
Se emite el Repositorio completo.

PRE-CONDICIN 8:
Ocurre el listar el contenido.
POST-CONDICIN 8:
Se emiten Lista de Repositorios.
PRE-CONDICIN 9:
Ocurre el listar el contenido.
POST-CONDICIN 9:
Se emiten Lista de elementos de repositorio.

Nivel: 0
Nombre: GitHub

PRE-CONDICIN 1:
Ocurre Parmetros de peticin de contenido tras que se haya solicitado el
contenido de GitHub.
POST-CONDICIN 1:
Se emite Contenido requerido.
PRE-CONDICIN 2:
Ocurre Direccin de que cuenta mostrar tras haberse emitido del proceso
Sistema de sesin.
POST-CONDICIN 2:
Se emite Contenido de la cuenta.

Nivel: 0
Nombre: Sistema de sesin

PRE-CONDICIN 1:
Ocurre Datos de registro tras haberse ingresado los datos necesarios para el
registro de usuario.
POST-CONDICIN 1:
Se genera Direccin de que cuenta mostrar.
PRE-CONDICIN 2:
Ocurre Datos de sesin tras haberse ingresado los datos para iniciar la
sesin de la cuenta.
POST-CONDICIN 2:
Se emite Direccin de que cuenta mostrar.

13
Nivel: 1 (GitHub)
Nombre: Subir contenido
Numero: 1

PRE-CONDICIN 1:
Ocurre Contenido repositorio tras ingresarse la informacin de del
repositorio.
POST-CONDICIN 1:
Se emite Contenido repositorio y se almacena en Almacn de
repositorios.

Nivel: 1 (GitHub)
Nombre: Administrar repositorio
Numero: 2

PRE-CONDICIN 1:
Ocurre Instrucciones de administracin despus darse la instrucciones de
administracin por parte del usuario.
POST-CONDICIN 1:
Se almacena Contenido de repositorio en el Almacn de repositorios.
PRE-CONDICIN 2:
Ocurre Contenido de repositorio tras generarse las Instrucciones de
administracin.
POST-CONDICIN 2:
Se almacena Contenido de repositorio en el Almacn de repositorios.

Nivel: 1 (GitHub)
Nombre: Listar contenido
Numero: 3

PRE-CONDICIN 1:
Ocurre Direccin de repositorios del usuario tras haberse emitido del
Almacn de cuentas.
POST-CONDICIN 1:
Se alista el contenido.
PRE-CONDICIN 2:
Ocurre Repositorios del usuario tras emitirse del Almacn de repositorios.
POST-CONDICIN 2:
Se alista el contenido.

14
Nivel: 1 (GitHub)
Nombre: Configurar cuenta
Numero: 4

PRE-CONDICIN 1:
Ocurre Parmetros de configuracin tras ingresar a configuraciones de
cuenta.
POST-CONDICIN 1:
Se emite Lista configuracin.
PRE-CONDICIN 2:
Ocurre Parmetros aceptados tras haberse aceptado los parmetros.
POST-CONDICIN 2:
Se emite Lista configuracin actual despus de haber pasado Parmetros
aceptados por Almacn de cuentas.

Nivel: 1 (Sistema de sesin)


Nombre: Validar caracteres

PRE-CONDICIN 1:
Ocurre Datos de inicio de sesin tras ingresarse los parmetros especficos
para el inicio de sesin.
POST-CONDICIN 1:
Se genera Datos de sesin validados despus de ser validados los
parmetros ingresados.
PRE-CONDICIN 2:
Ocurre Datos de registro de nueva sesin tras ingresarse los parmetros
especficos para registrar una nueva cuenta.
POST-CONDICIN 2:
Se genera Datos de registro validados despus de ser validados los
parmetros ingresados.

Nivel: 1 (Sistema de sesin)


Nombre: Validador existencia

PRE-CONDICIN 1:
Ocurre Datos de registro validados despus de ser validados en Validador
de caracteres.
POST-CONDICIN 1:
Se genera Datos de cuenta vlidos.

15
PRE-CONDICIN 2:
. Ocurre Datos de inicio de sesin despus de ser validados en Validador
de caracteres.

POST-CONDICIN 2:
Se genera Datos vlidos.

Nivel: 1 (Sistema de sesin)


Nombre: Validar credenciales

PRE-CONDICIN 1:
Ocurre Datos de cuenta vlidos despus de ser validados en Validador
existencia.
POST-CONDICIN 1:
Se genera Direccin de cuenta mostrar.

Nivel: 1 (Sistema de sesin)


Nombre: Registro

PRE-CONDICIN 1:
Ocurre Datos validados despus de ser validados en Validador existencia.
POST-CONDICIN 1:
Se genera Direccin de cuenta mostrar.

4.3.3 Diccionario de Flujo de Datos:


Tabla 4.1: Diccionario de Flujo de Datos
Diccionario de Datos
Nombre del flujo: Proyectos va Git
Alias: Contenido repositorio
Composicin:
-
Notas:
Conjunto de 1 o ms archivos

16
Tabla 4.2: Diccionario de Flujo de Datos
Diccionario de Datos
Nombre de Campo: Datos Nueva sesin
Alias: Datos de registro
Composicin:
Usuario + Contrasea + Email
Notas:
Datos necesarios para registrarse

Tabla 4.3: Diccionario de Flujo de Datos


Diccionario de Datos
Nombre de Entidad: Parmetros de ajuste de usuario
Alias: Parmetros de configuracin
Composicin:
[A-Z | a-z | 0-9 ]
Notas:
Serie de binarios y textos que indican configuraciones

Tabla 4.4: Diccionario de Flujo de Datos


Diccionario de Datos
Nombre de Campo: Parmetros de administracin de repositorios.
Alias: Instrucciones de administracin
Composicin:
[ A-Z | a-z | 0-9 | | - ]
Notas:
Serie de binarios y textos correspondientes a la configuracin y edicin de elementos de los
repositorios.

Tabla 4.5: Diccionario de Flujo de Datos


Diccionario de Datos
Nombre de Campo: Parmetros de bsqueda
Alias: Ninguno
Composicin:
[ A-Z | a-z | 0-9 | - ]
Notas:
Serie de binarios y texto correspondiente a filtros de bsqueda

17
Tabla 4.6: Diccionario de Flujo de Datos
Diccionario de Datos
Nombre de Campo: Contrasea
Alias: Ninguno
Composicin:
[ A-Z | a-z | 0-9 | | - |
Notas:
Almacena la contrasea del usuario

Tabla 4.7: Diccionario de Flujo de Datos


Diccionario de Datos
Nombre de Campo: Email
Alias: Ninguno
Composicin:
[ A-Z | a-z | 0-9 | @| _ ]
Notas:
Almacena el email del usuario

Tabla 4.8: Diccionario de Flujo de Datos


Diccionario de Datos
Nombre de Campo: Repositorio completo
Alias: Contenido repositorio
Composicin:
-
Notas:
Serie de archivos correspondiente al repositorio.

Tabla 4.9: Diccionario de Flujo de Datos


Diccionario de Datos
Nombre de Campo: Lista elementos repositorio
Alias: Lista repositorios
Composicin:
[ A-Z | a-z | 0-9 | | - ]
Notas:
Lista de links con nombres de repositorios

18
4.3.4 Modelo Entidad-Relacin:
A continuacin se presenta el modelo entidad relacin de la plataforma GitHub,
representando entidades del sistema, al igual interrelaciones y propiedades.

Figura 4.9: Modelo Entidad-Relacin

4.3.5 Diccionario de Datos Entidad-Relacin:

19
Tabla 4.10: Diccionario de Modelo Entidad-Relacin
Diccionario de Datos
Nombre de Entidad: Usuario
Alias: Ninguno
Composicin:
idUsuario
Notas:
Es el usuario o cliente

Tabla 4.11: Diccionario de Modelo Entidad-Relacin


Diccionario de Datos
Nombre de Campo: idUsuario
Alias: Ninguno
Composicin:
[ A-Z | a-z | 0-9 |
Notas:
Contiene identificador nico del usuario en la base de datos

Tabla 4.12: Diccionario de Modelo Entidad-Relacin


Diccionario de Datos
Nombre de Entidad: Perfil
Alias: Ninguno
Composicin:
URL + NickName + Contrasea + Nombre + Email + Ubicacin + Bio
Notas:
Propiedades del usuario

Tabla 4.13: Diccionario de Modelo Entidad-Relacin


Diccionario de Datos
Nombre de Campo: URL
Alias: Ninguno
Composicin:
[ A-Z | a-z | 0-9 | | - |
Notas:
Almacena direccin de una pgina web

Tabla 4.14: Diccionario de Modelo Entidad-Relacin


Diccionario de Datos
Nombre de Campo: NickName
Alias: Ninguno
Composicin:
[ A-Z | a-z | 0-9 | | - |
Notas:
Almacena un nick o mote nico del usuario

20
Tabla 4.15: Diccionario de Modelo Entidad-Relacin
Diccionario de Datos
Nombre de Campo: Contrasea
Alias: Ninguno
Composicin:
[ A-Z | a-z | 0-9 | | - |
Notas:
Almacena la contrasea del usuario

Tabla 4.16: Diccionario de Modelo Entidad-Relacin


Diccionario de Datos
Nombre de Campo: Email
Alias: Ninguno
Composicin:
[ A-Z | a-z | 0-9 | | - |
Notas:
Almacena el email del usuario

Tabla 4.17: Diccionario de Modelo Entidad-Relacin


Diccionario de Datos
Nombre de Campo: Ubicacin
Alias: Ninguno
Composicin:
[ A-Z | a-z | 0-9 | | - |
Notas:
Almacena la ubicacin del usuario

Tabla 4.18: Diccionario de Modelo Entidad-Relacin


Diccionario de Datos
Nombre de Campo: Bio
Alias: Ninguno
Composicin:
[ A-Z | a-z | 0-9 | | - |
Notas:
Almacena la descripcin del usuario

Tabla 4.19: Diccionario de Modelo Entidad-Relacin


Diccionario de Datos

21
Nombre de Entidad: Repositorio
Alias: Ninguno
Composicin:
RepositoryName + Descripcin
Notas:
Los repositorios que el usuario crea

Tabla 4.20: Diccionario de Modelo Entidad-Relacin


Diccionario de Datos
Nombre de Campo: RepositoryName
Alias: Ninguno
Composicin:
[ A-Z | a-z | 0-9 | | - |
Notas:
Contiene el nombre identificador del repositorio

Tabla 4.21: Diccionario de Modelo Entidad-Relacin


Diccionario de Datos
Nombre de Campo: Descripcin
Alias: Ninguno
Composicin:
[ A-Z | a-z | 0-9 | | - |
Notas:
Almacena la descripcin del repositorio

Tabla 4.22: Diccionario de Modelo Entidad-Relacin


Diccionario de Datos
Nombre de Flujo de Entidad: Rama
Alias: Ninguno
Composicin:
BranchName
Notas:

Tabla 4.23: Diccionario de Modelo Entidad-Relacin


Diccionario de Datos

22
Nombre de Campo: BranchName
Alias: Ninguno
Composicin:
[ A-Z | a-z | 0-9 | | - |
Notas:
Contiene el nombre identificador de la rama

Tabla 4.24: Diccionario de Modelo Entidad-Relacin


Diccionario de Datos
Nombre de Entidad: Cdigo
Alias: Ninguno
Composicin:
IdCode + Archivo
Notas:

Tabla 4.25: Diccionario de Modelo Entidad-Relacin


Diccionario de Datos
Nombre de Campo: CodeName
Alias: Ninguno
Composicin:
[ A-Z | a-z | 0-9|
Notas:
Contiene el cdigo identificador nico del archivo (programa)

Tabla 4.26: Diccionario de Modelo Entidad-Relacin


Diccionario de Datos
Nombre de Campo: Estructura
Alias: Ninguno
Composicin:
[ A-Z | a-z | 0-9 | | - |
Notas:
Almacena el archivo (programa)

Tabla 4.27: Diccionario de Modelo Entidad-Relacin


Diccionario de Datos
Nombre de Entidad: Pregunta
Alias: Ninguno
Composicin:
IdPregunta + NombreP + Mensaje
Notas:

Tabla 4.28: Diccionario de Modelo Entidad-Relacin


Diccionario de Datos

23
Nombre de Campo: IdPregunta
Alias: Ninguno
Composicin:
[ A-Z | a-z | 0-9|
Notas:
Contiene cdigo identificador nico de la pregunta

Tabla 4.29: Diccionario de Modelo Entidad-Relacin


Diccionario de Datos
Nombre de Campo: NombreP
Alias: Ninguno
Composicin:
[ A-Z | a-z | 0-9 | | - |
Notas:
Almacena el

Tabla 4.30: Diccionario de Modelo Entidad-Relacin


Diccionario de Datos
Nombre de Campo: Mensaje
Alias: Ninguno
Composicin:
[ A-Z | a-z | 0-9 | | - |
Notas:
Almacena el texto ingresado en la casilla de la pregunta

5 Especificacin de requerimientos:
En cualquier sistema es necesario definir sus requerimientos funcionales, los cuales
son necesarios para que el programa consiga sus objetivos y no funcionales refirindose a
todo aquel que complementa y restringe la aplicacin, en los tres mdulos escogidos.

5.1 Sistema de registro:


Un usuario antes poder empezar a utilizar GitHub, es necesario crearse una cuenta, a
travs del sistema registro. El registro consta de tres etapas, la primera se ingresa el nombre
de usuario, el mail y la contrasea, la segunda se maneja el sistema de pago (si el repositorio
es privado o no) y la tercera opera la experiencias e intereses del cliente.

24
5.1.1 Requerimientos:
Se definen los requerimientos funcionales y no funcionales del mdulo Sistema de
registro, enumerndolos, explicando sus requerimientos y describindolos.

Mdulo: Sistema de registro


Nmero Requerimiento Descripcin
RNF-1 El registro debe estar Paso 1 Datos de usuario, paso 2
separado en 3 pasos. Plan de la cuenta, paso 3
Encuesta de usuario.
RF-1 El usuario deber ingresar
los datos que usar para
iniciar sesin (Etapa 1).
RF-1.1 El usuario deber ingresar
un Username.
RNF-2 El Username no debe ser
igual a ningn Username de
otro usuario.
RNF-3 El Username slo puede
contener caracteres
alfanumricos y guiones
simples, pero no puede
comenzar ni terminar con
guiones.
RF-1.3 El usuario deber ingresar
un correo electrnico.
RNF-4 El correo debe ser verdico. Se debe validar su existencia.

RF-1.4 El usuario deber ingresar


una contrasea.
RNF-5 La contrasea debe contener
al menos una letra en
minscula, una numrica y 7
caracteres.
RF-1.5 Debe haber un botn
Create an account cuya
funcin ser proseguir el
registro.
RF-2 El usuario deber elegir su
plan de cuenta (Etapa 2).
RNF-6 Debe haber un plan gratuito.

RNF-7 Debe haber un plan pagado El plan pagado provee la


de $7/mes. posibilidad de tener repositorios
privados.

25
RF-2.1 El usuario tendr 2 opciones
de plan a elegir.
RF-2.2 Si el usuario elige el plan
pagado se desplegar el
mtodo de pago.
RNF-8 Se podr pagar con tarjeta de
crdito y cuenta PayPal
RF-2.2.1 Se podr elegir entre 2
mtodos de paga.
RF-2.2.2 Se podrn ingresar los datos N tarjeta, expiracin, CVV, pas
de la tarjeta de crdito. y cdigo postal.

RF-2.2.3 Si se selecciona PyPal se


proporcionar un link con la
transaccin adecuada.
RF-3 El usuario tendr la opcin
de dar informacin personal
apuntando al uso de GitHub.
RF-3.1 Deber haber 3 preguntas de
seleccin y una pregunta
abierta.
RNF-9 La primera pregunta de la
encuesta debe ser sobre su
experiencia programando, la
segunda sobre qu planea
hacer con GitHub, la tercera
pregunta sobre el perfil del
usuario y la pregunta abierta
debe ser sobre los intereses
del usuario.
RF-3.2 Para finalizar el registro
debe haber un botn
Submit

5.1.2 Prototipos Desechables:


Se presentan ventanas prototipos desechables vinculadas a las especificaciones de
requerimientos del mdulo Sistema de registro.

26
Figura 5.1: Prototipo 1, Modulo Sistema de registro

Figura 5.2: Prototipo 2, Modulo Sistema de registro.

27
Figura 5.1: Prototipo 3, Modulo Sistema de registro

5.2 Ajustes de Usuario:


Una cuenta tienes varias caractersticas que la componen aparte de las mismas que
permitieron sus creacin, estas pueden ser una imagen, descripcin, facturacin, etc, por lo
que es necesario la posibilidad de modificarlas o eliminarlas como el usuario as lo desee.
Los Ajustes de Usuario tienen como funcin, permitir a usuario modificar, eliminar y
agregar caractersticas su cuenta.

5.2.1 Requerimientos:
Se definen los requerimientos funcionales y no funcionales del mdulo Ajustes de
Usuario, enumerndolos, explicando sus requerimientos y describindolos.

Nmero Requerimiento Descripcin


RF0: Ajustes de cuenta de usuario El usuario ingresa a Settings
para poder configurar los ajustes
personales, Perfil (Profile),
Cuenta (Account), Mail (Email),
Notificaciones (Notifications),

28
Facturacin (Billing), Seguridad
(Security), Usuarios bloqueados
(Blocked user), Repositorios
(Repositories), Organizaciones
(Organizations), Respuestas
guardadas (Saved replies), OAuth
Apps autorizados (Authorized
OAuth Apps), GitHub Apps
autorizados (Authorized GitHub
Apps), GitHub Apps instalados
(Installed OAuth Apps), SSH and
GPG keys, y configuraciones de
desarrollador, Aplicaciones
OAuth (AOuth applications),
GitHub Apps y Accesos a fichas
personales (Personal acces token).

RF0.1: Configuracin de perfil a Tras ingresar a ajustes,


travs de ajustes de cuenta inmediatamente aparecer
configuracin de perfil, donde se
podr editar, eliminar o agregar
un Nombre (Name), Imagen
(Profile picture), Email pblico
(Public email), Descripcin del
usuario (Bio), Pgina Web
(URL), Compaa (Company),
Localizacin (Location),
presionando un botn Update
Profile para realizar el o los
cambios. Adems de incluir
Contribuciones privadas (Include
private contributions on my
profile) y Disponibilidad para
contratacin (Available to hire),
respectivamente oprimiendo los
pulsadores, Update
contributions y Save jobs
profile, para activar los cambios.

RF1 Agregar, modificar o Tras ingresar en configuracin de


eliminar el nombre del perfil a travs de ajustes, el

29
usuario a travs de usuario puede ingresar, eliminar
configuraciones de perfil, el (si este ya existe) o editar su
cual se hace en ajustes de nombre, en un casilla bajo de un
cuenta.
subttulo Name.

RNF1 Ingreso de nombre, a travs El usuario ingresa el nombre en


de configuracin de perfil en un formato alfanumrico.
ajustes es de formato
alfanumrico.
RF2 Agregar, modificar o Despus de ingresar en
eliminar la imagen (avatar) configuracin de perfil por medio
de usuario a travs de de ajustes, el usuario puede
configuraciones de perfil, el
ingresar, eliminar (si este ya
cual se hace en ajustes de
cuenta. existe) o editar su avatar, tras
presionar Upload new picture
abajo la imagen que est bajo
Profile picture.

RNF2 Aadir de imagen, por a La imagen aadida por el usuario


travs de Configuracin de tiene que ser de formato JPG, GIF
perfil por medio de Ajustes, o PNG.
debe ser de formato JPG,
GIF o PNG.

RF0.2 Configuracin de cuenta a Despus de ingresar a Ajustes, el


travs de ajuste de usuario. usuario cliquea Account
ubicado a lado izquierdo de la
pantalla, ingresando a
configuracin de cuenta. Tras
ingresar el cliente podr cambiar
la contrasea (Chanage
password), recuperar la
contrasea (I forgot my
password), cambiar el nombre de
usuario (Change username) y
eliminar la cuenta (Delete
account).
RF3 Cambiar contrasea, a El usuario tras ingresar a
travs de configuraciones de configuracin de cuenta en
cuenta, en ajustes. ajustes, para cambiar su
contrasea deber llenar tres
casillas, la primera con la antigua

30
contrasea y las ltimas dos con la
nueva.

RNF3 Cambio de contrasea, por La nueva contrasea tiene que ser


medio de configuracin de de formato alfanumrico, con un
cuenta, a travs de ajustes, mnimo de un nmero, siete
debe ser de formato caracteres y una letra en
alfanumrico, con mnimo minscula.
un nmero, siete caracteres
y una letra en minscula.

RF4 Eliminar cuenta, a travs El usuario despus de haber


configuracin de cuenta, en ingresado en configuracin de
ajustes. cuenta en los ajustes, tendr que
presionar un botn Delete your
accout que abrir otra ventana
donde se pedir rellenar dos
casillas, la primera el nombre de
usuario o email y la segunda con
el mensaje delete my account.
RNF4 Suprimir la cuenta, a travs Se debe rellenar dos casillas, la
configuracin de cuenta, en primera el nombre de usuario o
ajustes. email en formato alfanumrico y
la segunda con el mensaje delete
my account.

5.2.2 Prototipos Desechables:


Se presentan ventanas prototipos desechables vinculadas a las especificaciones de
requerimientos del mdulo Ajustes de Usuario.

31
Figura 5.4: Prototipo 1, Modulo Ajuste de Usuario

Figura 5.5.: Prototipo 2, Modulo Ajuste de Usuario

32
Figura 5.6: Prototipo 3, Modulo Ajuste de Usuario

5.3 Administracin de repositorio:


La Administracin de repositorio se encarga agregar, eliminar e editar los repositorios.

5.3.1 Requerimientos:
Se definen los requerimientos funcionales y no funcionales del mdulo
Administracin de repositorio, enumerndolos, explicando sus requerimientos y
describindolos.

Mdulo: Administracin de repositorio


Nmero Requerimiento Descripcin
RNF-10 El contenido debe estar Deber haber 6 pestaas.
ordenado y categorizado por
medio de pestaas que se
presentarn en fila bajo el
nombre del repositorio.
RNF-11 La primera pestaa ser
<>Code
RF-4 En la primera pestaa se
mostrarn los archivos
pertenecientes al repositorio

33
RF-4.2 Cada archivo ser mostrado
en forma de link, este al ser
pulsado podr ser
visualizado.
RNF-12 Debe mostrarse la carpeta en
que se encuentra mientras se
navega por los archivos del
repositorio.
RNF-13 La segunda pestaa debe ser
Issues
RF-5 La segunda pestaa ser un
foro donde los usuarios que
han interactuado con el
repositorio del usuario
podrn manifestar
inquietudes y reporte de
errores para que el usuario
tenga conocimiento de
estos.
RF-5.1 El usuario y otros usuarios
podrn crear hilos o
publicaciones donde
planteen sus
preocupaciones.
RF-5.1.1 Debe haber un editor de
texto donde se crear la
publicacin.
RF-5.1.2 Para hacer una publicacin
se deber poner un ttulo y el
texto correspondiente al
comentario.
RF-5.2 El usuario y otros usuarios
podrn responder a
cualquier publicacin que
desee a travs de un editor
de texto.
RNF-15 Se deber responder bajo el
comentario anterior o
comentario inicial.
RF-6 El usuario podr subir
archivos al repositorio.
RF-6.1 El usuario podr adicionar
comentarios al commit
RF-6.1.1 El usuario podr hacer un
comentario corto y adems

34
podr aadir una
descripcin ms extensa.
RF-6.2 El usuario podr elegir subir
el archivo a la rama actual o
crear una nueva.
RF-6.2.1 Si el usuario quiere subir el
archivo a una rama nueva
debe colocar el nombre de
esta.
RF-6.3 Habr un botn para
finalizar la operacin, luego
de presionado el usuario ser
redirigido a una pantalla que
mostrar los cambios
realizados.
RNF-16 El usuario podr subir el o
los archivos arrastrndolos
directamente de la carpeta a
la zona marcada en la
pgina.
RNF-17 El usuario podr elegir el o
los archivos presionando un
link que lo llevar a un
explorador donde los podr
seleccionar.
RNF-18 El botn para confirmar la
subida ser verde haciendo
alusin a un proceso
constructivo.
RNF-19 El botn cancelar ser rojo,
que indica que tenga
cuidado al presionarlo ya
que descarta cambios.

5.3.2 Prototipos Desechables:


Se presentan ventanas prototipos desechables vinculadas a las especificaciones de
requerimientos del mdulo Administracin de repositorio.

35
Figura 5.7: Prototipo 1, Modulo Administracin de repositorio

Figura 5.8: Prototipo 2, Modulo Administracin de repositorio

36
Figura 5.9: Prototipo 3, Modulo Administracin de repositorio

37
Figura 5.10: Prototipo 4, Modulo Administracin de repositorio

38
6 Diseo del sistema:

6.1 Diagramas de Casos de Uso y Casos de Uso Narrativos:


Los Diagramas de Casos de Uso son exposiciones de la funcionalidad del sistema
independientes de la implementacin, que son utilizados para describir un grupo de acciones
y reacciones, que algn sistema debe o puede realizar, con uno o ms usuarios externos del
sistema (actores), del el punto de vista del usuario.

GitHub Nivel 0:

En este Diagrama de Caso de Uso se presenta el nivel ms general, mostrando a un


Usuario que puede Registrarse, creando una cuenta la plataforma GitHub por medio del
sistema de registro, ajustar propiedades del usuario a travs de los Ajustes de Usuario y
administrar el repositorio, utilizando la Administracin de Repositorio.

Figura 6.1: GitHub

39
Registrar Cuenta Nivel 1:

Un Usuario se registra a travs del sistema de registro, rellenando los campos


necesarios, los obligatorios, los datos de ingreso a la cuenta, y los opcionales como el pago
de repositorios privados y las experiencias e inters que este tenga. Campos que tienen
despus que ser validados y autorizados para terminar de realizarse el registro.

Figura 6.2: Registrar Cuenta

Datos de ingreso Nivel 2:


Un Usuario rellena los campos, ms especficos los datos de ingreso, creando un
nombre de usuario, ingresado su email y generando una contrasea.

Figura 6.3: Datos de Ingreso

40
Ajustes de Usuario Nivel 1:
Un Usuario ingresa a los ajustes de usuario, donde puede modificar las distintas
propiedades de su perfil o su cuenta. Ajustes que despus tienen que ser validados y
autorizados.

Figura 6.4: Ajustes de Usuario

Ajustes de Perfil Nivel 2:


Un Usuario al entrar en los ajustes de perfil, puede agregar, editar o eliminar su
nombre, o editar agregar o eliminar la imagen que aparece en el avatar.

Figura 6.5: Ajustes de Perfil

41
Administracin de Repositorio Nivel 1:
Un Usuario al administra su repositorio, puede administrar los archivos
pertenecientes a este, ingresar al foro para interactuar con otros usuarios, para responder
preguntas, hacer preguntas o corregir errores, y subir archivos al repositorio.

Figura 6.6: Administracin de Repositorio

Subir Archivos al Repositorio Nivel 2:


Un Usuario tras subir un archivo, tiene que agregar comentarios al commit y
seleccionar la rama la cual desea que pertenezca. Despus de haber hecho eso, se validan las
propiedades del archivo, se autorizan tras haber sido validadas y finalmente se sube.

Figura 6.7: Subir Archivos al Repositorio

42
GitHub Nivel 0:
Tabla 6.1: Casos de Uso Narrativos 1
Caso de Uso Registrar Cuenta
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un Usuario registra o crea una cuenta en la
aplicacin GitHub.

Tabla 6.2: Casos de Uso Narrativos 2


Caso de Uso Ajustes de Usuario
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un Usuario ajusta propiedades de su cuenta.

Tabla 6.3: Casos de Uso Narrativos 3


Caso de Uso Administracin de repositorio
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un Usuario administra sus repositorio/s.

Registrar Cuenta Nivel 1:


Tabla 6.4: Casos de Uso Narrativos 4
Caso de Uso Registro
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un Usuario inicia registro.

Tabla 6.5: Casos de Uso Narrativos 5


Caso de Uso Rellenar Campos
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un Usuario rellena campos del registro.

Tabla 6.6: Casos de Uso Narrativos 6


Caso de Uso Pago de repositorios privados
Actores Usuario (iniciador)
Tipo Principal

43
Descripcin Un Usuario puede escoger o no tener un
repositorio privado a travs del pago de una
suma de dinero.

Tabla 6.7: Casos de Uso Narrativos 7


Caso de Uso Experiencias e intereses
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un Usuario puede escoger o no aadir alguna
de sus intereses y experiencias en ciertas reas
que tenga.

Tabla 6.8: Casos de Uso Narrativos 8


Caso de Uso Datos de ingreso
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un Usuario ingresa o rellena con los datos
necesarios e obligatorios para la creacin de la
cuenta, estos siendo nombre, contrasea y email.

Tabla 6.9: Casos de Uso Narrativos 9


Caso de Uso Validar Campos
Actores Usuario (iniciador)
Tipo Principal
Descripcin Los campos rellenados anteriormente por un
Usuario son comprobados y validados.

Tabla 6.10: Casos de Uso Narrativos 10


Caso de Uso Autorizar cuenta
Actores Usuario (iniciador)
Tipo Principal
Tras ser validado los campos, se autoriza la
Descripcin nueva cuenta de un Usuario.

44
Ingresar Campos Nivel 2:
Tabla 6.11: Casos de Uso Narrativos 11
Caso de Uso Datos
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un usuario inicia el ingreso de los datos para el
registro.

Tabla 6.12: Casos de Uso Narrativos 12


Caso de Uso Nombre de Usuario
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un Usuario ingresa el nombre o nombre de
usuario, que utilizara en su nueva cuenta.

Tabla 6.13: Casos de Uso Narrativos 13


Caso de Uso Email
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un Usuario ingresa su email para registrarse y
crear su nueva cuenta.

Tabla 6.14 Casos de Uso Narrativos 14


Caso de Uso Contrasea
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un Usuario ingresa o crea una contrasea para
poder registrarse, crear su nueva cuenta.

Ajustes de Usuario Nivel 1:

Tabla 6.15: Casos de Uso Narrativos 15


Caso de Uso Ajustes
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un Usuario ingresa a los ajustes o settings

45
Tabla 6.16: Casos de Uso Narrativos 16
Caso de Uso Ajustes de Perfil
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un Usuario ajusta o cambia propiedades o
caractersticas del perfil de usuario.

Tabla 6.17: Casos de Uso Narrativos 17


Caso de Uso Ajustes de Cuenta
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un Usuario ajusta o cambia propiedades o
caractersticas de cuenta.

Tabla 6.18: Casos de Uso Narrativos 18


Caso de Uso Validar Cambios
Actores Usuario (iniciador)
Tipo Principal
Descripcin Los cambios realizados son validados.

Tabla 6.19: Casos de Uso Narrativos 19


Caso de Uso Autorizar Ajustes
Actores Usuario (iniciador)
Tipo Principal
Descripcin Tras haber validado, se aprueba los ajustes.

Ajustes de Perfil Nivel 2:


Tabla 6.20: Casos de Uso Narrativos 20
Caso de Uso Ajustar Perfil
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un Usuario ingresa a los ajuste de perfil

Tabla 6.21: Casos de Uso Narrativos 21


Caso de Uso Nombre de Usuario
Actores Usuario (iniciador)
Tipo Principal

46
Descripcin Un Usuario agrega o cambia, el nombre del
usuario.

Tabla 6.22: Casos de Uso Narrativos 22


Caso de Uso Imagen
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un Usuario cambia o agrega una imagen en el
avatar.

Administracin de Repositorio Nivel 1:


Tabla 6.23: Casos de Uso Narrativos 23
Caso de Uso Administrar
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un Usuario ingresa a la administracin de
repositorio.

Tabla 6.24: Casos de Uso Narrativos 24


Caso de Uso Archivos pertenecientes al Repositorio
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un Usuario abrir una pestaa que mostrara los
archivos del repositorio.

Tabla 6.25: Casos de Uso Narrativos 25


Caso de Uso Foro
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un Usuario puede interactuar con repositorios
de otros usuarios, resolver inquietudes y reportar
errores.

Tabla 6.26: Casos de Uso Narrativos 26


Caso de Uso Subir Archivos al Repositorio
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un Usuario puede subir archivos al repositorio.

47
Subir Archivos al Repositorio Nivel 2:
Tabla 6.27: Casos de Uso Narrativos 27
Caso de Uso Archivo
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un Usuario sube un archivo al repositorio.

Tabla 6.28: Casos de Uso Narrativos 28


Caso de Uso Comentarios al commit
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un Usuario puede adicionar un comentario al
commit.

Tabla 6.29: Casos de Uso Narrativos 29


Caso de Uso Rama
Actores Usuario (iniciador)
Tipo Principal
Descripcin Un Usuario decide si quiere subir el archivo a
una rama actual o nueva.

Tabla 6.30: Casos de Uso Narrativos 30


Caso de Uso Validar Propiedades
Actores Usuario (iniciador)
Tipo Principal
Descripcin Se validan las propiedades del archivo subido al
repositorio.

Tabla 6.31: Casos de Uso Narrativos 31


Caso de Uso Autorizar Archivo
Actores Usuario (iniciador)
Tipo Principal
Descripcin Se autoriza el archivo subido.

48
6.2 Diagramas de Actividad:
Los diagramas de actividades muestran el flujo de trabajo desde el punto de inicio
hasta el punto final detallando muchas de las rutas de decisiones que existen en el progreso
de eventos contenidos en la actividad.

Sistema de Registro:

Figura 6.8: Diagrama de Actividad Mdulo Sistema de Registro

Ajustes de Usuario:

Figura 6.9: Diagrama Actividad Mdulo Ajustes de Usuario

49
Administracin de Repositorio:

Figura 6.10: Diagrama de Actividad Mdulo Administracin de Repositorio

6.5 Diagramas de interaccin:

Figura 6.10: Diagrama de Interaccin Modulo Sistema de Registro

50
Figura 6.11: Diagrama de Interaccin Modulo Ajustes de Usuario

Figura 6.12: Diagrama de Interaccin de Modulo Administracin de Repositorio 1

51
Figura 6.13: Diagrama de Interaccin Modulo Administracin de Repositorio 2

52
6.4 Diagramas de clases:

Figura 6.14: Diagrama de Clases

53
6.5 Diagramas de objetos:

Figura 6.15: Diagrama de Objetos

54
6.6 Diagramas de secuencia:

Figura 6.16: Diagrama secuencia SistemaSesion-Cuenta

55
Figura 6.17: Diagrama secuencia Cuenta-ListarContenido

56
Figura 6.18: Diagrama secuencia Cuenta-Repositorio

57
Figura 6.19: Diagrama secuencia Cuenta-SubirContenido

58
Figura 6.20: Diagrama secuencia Cuenta-ConfigCuenta

59
Figura 6.21: Diagrama secuencia Repositorio-AdmninRepo

60
6.7 Diagramas de procesos:

61
7 Conclusin:
En este proyecto se present el modelamiento, la aplicacin web GitHub, una
plataforma centrada en el desarrollo de software, que puede usarse de forma cooperativa,
posibilita gestionar el avance de proyectos gracias a la utilizacin del sistema de control de
versiones Git. Adems de administrar tales proyectos permite visualizar, editar y crear
archivos. Tambin otorga la posibilidad de emplear repositorios privados como gratuitos y
pblicos en una misma cuenta (utilizados comnmente para alojar proyectos de software de
cdigo abierto). Su objetivo es permitir al usuario desarrollar software en forma individual,
grupal y abierta.

En el modelamiento de la plataforma GitHub se presentaron requerimientos


obtenidos, prototipos basados en estos requerimientos, modelos representados la plataforma
(DFD y Entidad Relacin), diccionarios de datos de los diagramas explicando cmo funciona
de manera abstracta GitHub, Diagramas de Casos de Uso (DCU) de actividad, de clases, de
secuencia y procesos.

En base a esto podemos concluir que a pesar de ser un sistema complicado de modelar
si es que se hace ordenadamente, priorizando los mdulos ms importantes se puede llegar a
obtener resultados que consideramos satisfactorios para una plataforma de esta envergadura.

8 Anexos:
Anexo 1 Carta Gantt Actualizada

62
1