Proceso de Arquitectura de Software
Proceso de Arquitectura de Software
Proceso de Arquitectura de Software
__________________________________________________________________________
Se pretende desarrollar un Sistema de Gestión para la Evaluación Continua, que facilite, a los docentes, sus
actividades de evaluación. El sistema permitirá la generación de los reportes finales, de forma que el docente
se preocupe menos por las actividades de registro de evaluaciones y más por incrementar su esfuerzo en el
adecuado aprendizaje de sus alumnos.
Objetivo
● Desarrollar un sistema que permita la correcta administración de las diferentes evaluaciones, que
se toman en cuenta para obtener una evaluación final de cada alumno.
Objetivos Especificos
● crear una interfaz gráfica donde el docente pueda gestionar las evaluaciones de sus alumnos
● asegurar la integridad y accesibilidad a la información
● permitir la generación de reportes parciales y finales
En el ejercicio docente una de las principales tareas es evaluar a los alumnos, y cada profesor define su
método de evaluación o incluso es definida por la institución, el problema consiste en llevar el correcto
registro de las calificaciones. Se implementa el uso de libretas, hojas sueltas con cuadrículas o programas
de computadora como word o excel.
La intención es crear un sistema diseñado específicamente para realizar esta tarea, que permita generar
evaluaciones desde un inicio o bien durante el transcurso del curso, que permita agregar alumnos y su
información, y sobre todo que realice los cálculos de manera automática.
Se asignará SGD10 (Sistema de Gestión Docente 10) como nombre del producto
1.2.3. Quien será el cliente y/o usuarios
Debido a la flexibilidad que se implementará en el programa, éste podrá ser utilizado por cualquier profesor,
desde nivel básico a posgrado.
Se tienen contempladas diversas características para este sistema, sin embargo se considera conveniente
tener una primera versión funcional del sistema, lanzarlo al mercado y dependiendo de su respuesta,
continuar implementando mejoras.
Siguiendo esta política se identifican los elementos con los cuales se entregará esta primera versión:
● Sistema web que permite el acceso a cualquier usuario con una conexión a internet
● El sistema se visualizará correctamente en cualquier dispositivo.
● El acceso se realizará por medio de una autentificación
● El docente podrá crear un máximo de 1,000,000 listas (cursos)
● El docente podrá agregar un máximo de 1,000,000 alumnos a cada curso
● El docente podrá agregar un máximo de 1,000,000 evaluaciones en cada curso
● Cada curso podrá ser evaluado de forma diferente
● El docente podrá generar reportes parciales y finales de sus alumnos
● Los reportes se podrán exportar a excel
● Los alumnos no tendrán acceso a esta información
● El sistema trabajará con dos idiomas (Español e Inglés)
1.3. Charter
1.4 Estimación de tiempo y costo
Para estimar el tiempo que se requiere para desarrollar el Software y determinar el costo del
proyecto se realizó el cálculo basado en el Modelo Constructivo de Costos Intermedio
(COCOMO).
En este modelo se introducen 15 atributos de coste para tener en cuenta el entorno de trabajo.
Estos atributos se utilizan para ajustar el coste nominal del proyecto al entorno real,
incrementando la precisión de la estimación.
Para cada modo de desarrollo, los 15 atributos del coste intervienen como multiplicadores en el
coste nominal (Kn), para producir el coste ajustado.
Figura 1.1. Tabla de atributos para la estimación de tiempo de desarrollo del proyecto.
Figura 1.2 Resultados de Estimación de Tiempo para el desarrollo del Proyecto
Después de definir la problemática presente y establecer las causas que ameritan de un nuevo sistema, es
pertinente realizar un estudio de factibilidad para determinar la infraestructura tecnológica y la capacidad
técnica que implica la implantación del sistema en cuestión, el grado de aceptación que la propuesta genera
a el usuario. Este análisis permitió determinar las posibilidades de diseñar el sistema propuesto y su puesta
en marcha, los aspectos tomados en cuenta
para este estudio fueron clasificados en tres áreas, las cuales se describen a continuación:
Hardware.
En cuanto a Hardware, específicamente cada terminal que va acceder a el sistema debe cubrir con los
siguientes requerimientos mínimos:
● Procesador Pentium 4 o superior.
● 512 MB de Memoria RAM
● Disco Duro de 60 GB
● Tarjeta de Red.
● Tarjeta de Vídeo.
● Teclado.
● Mouse.
Evaluando el hardware existente y tomando en cuenta la configuración mínima necesaria, ningún usuario
requiere realizar inversión inicial para la adquisición de nuevos equipos, ni tampoco para repotenciar o
actualizar los equipos existentes, ya que los mismos satisfacen los requerimientos establecidos tanto para
el desarrollo y puesta en funcionamiento del sistema propuesto, además hay que agregar que estos
componentes se encuentran en el mercado actualmente a unos precios bajos.
Factibilidad Económica.
No existe ninguna presupuesto a que se deba ajustar el proyecto así que en realidad no se considera como
un factor que influya en el resultado.
De esta manera como el usuario no tiene que hacer ninguna inversión inicial y los costos de desarrollo no
son ningún factor. se asume como completamente factible el proyecto.
2. Recursos del proyecto
2.1. Diseño de las Instalaciones donde se desarrolla
Se ha encontrado una oficina que cumple con las características que satisface las necesidades del equipo:
● Sala de espera
● Sala de reuniones Comentado [1]: Agregar medidas en metros de ancho
● Baños y largo
● Sala de desarrollo, donde el equipo puede trabajar comodamente, ademas de contar con espacio
suficiente para realizar las reuniones diarias
● Sala de descanso, espacio con acceso directo desde la sala de desarrollo, que cuenta con una
pequeña cocina y una sala
● Despacho, donde se puede atender al cliente
2.2. Ubicación de las instalaciones de desarrollo
Se establecerán las oficinas de IndeSoft S.A. de C.V. en la Colonia Lomas de Cristo perteneciente al
municipio de Texcoco Estado de México por los siguientes motivos:
● El equipo de desarrolladores vive en los alrededores a esta localidad lo que nos brinda un ahorro
de tiempo, dinero y esfuerzo para poder arribar a las instalaciones
● El cliente tiene su empresa y domicilio cerca de dichas oficinas, esto nos brinda una posibilidad de
tener una mejor comunicación con el cliente y los posibles sprints en los que el cliente deba estar
presente serán más constructivos
● La zona tiene bajos índices de delincuencia
● El costo de la renta del inmueble se adecua al presupuesto
Para este proyecto se considera que debido al corto tiempo de desarrollo (tres meses), y para
reducir costos, también porque los riesgos de la propiedad del equipo los asume la arrendadora,
también la arrendadora se compromete a renovar el equipo obsoleto, ya que al estar rentando
los bienes, contará siempre con equipo nuevo y tecnología de punta.
Con esta medida también se evita los problemas que pudieran presentarse en cuanto a la
propiedad y comercialización de los bienes muebles. El registro contable es simple, las rentas
van directamente al rubro de gastos y es deducible 100% ya que se maneja directamente como
un gasto.
Con todas las consideraciones anteriores hemos elegido a la empresa “KC Renta$” 1 es una
empresa mexicana dedicada a la renta de equipo de cómputo y audiovisual cuenta con equipos
seminuevos y nuevos.
1
http://www.kcrentas.com.mx/
Equipo Descripción imagen
Memoria 16 MB
stándar
Memoria 144 MB
máxima
Capacidad de 26 integradas
tipos de letra
Compatibilidad Sí
con Mac
Software inst./desinst.,
incluido controladores, Caja de
herramientas para
diagnóstico de status y
configuración, simulador
de panel de control,
ayuda y documentación
Mercado Profesionales
Cable en caja No
Rango de 20 a 80% RH
humedad
operacional
Rango de 10 a 32,5°C
temperatura
operacional
Peso 11,2 kg
Servidor en rack
PowerEdge R630 • Procesador Intel®
Xeon® E5-2403
• Memoria de 8GB
• PERC H310 Costo por mes de renta: $245.50 M/N.
• Dos discos duros Costo total por tres meses de renta: $ 736.50
de 1TB SATA M/N.
• Windows Server®
2012 Essentials
• iDRAC7 Express
Tp-link – Router El amplificador de alta potencia y las
antenas de 5dBi proporcionan 4
(Tl-wr841hp) veces el rango inalámbrico de un
router normal
La velocidad inalámbrica de
300Mbps es ideal para el streaming
de video, juegos en línea y VoIP
REGULADOR ELECTRÓNICO
Sola Basic No INTEGRADO
Break 800va, El MICRO SR INET entrega una
tensión de salida regulada en todo
Entrada 95-140v momento (con batería y con línea
comercial)
En condiciones normales de
operación, la salida del equipo se
encuentra protegida totalmente
contra ruido de alta frecuencia y
transitorios de alta tensión, evitando
que la carga sufra algún daño
ocasionado por éstos
PROTECCIÓN DE LÍNEA
TELEFÓNICA Costo por mes de renta: $153.13 M/N.
El MICRO SR INET proporciona Costo total por tres meses de renta: $ 459.39
protección contra transitorios en la
línea telefónica, ocasionados por M/N.
descargas eléctricas o instalaciones
defectuosas.
ALARMA AUDIBLE
Si la línea comercial falla, se produce
un tono audible intermitente para
indicar que la unidad está operando
con batería. Para indicar el apagado
inminente del inversor por haberse
agotado la reserva de batería, el tono
audible se volverá continuo durante
los últimos minutos de la descarga.
SISTEMA INTELIGENTE
PUERTO DE COMUNICACIÓN
COMPATIBLE CON USB
El MICRO SR INET cuenta con una
interfase de comunicación con la cual
se puede monitorear los parámetros
de: Porcentaje de batería disponible,
frecuencia, voltaje y falla de línea.
El costo total por los tres meses que se contempla usar mientras dura el proyecto suma en total
$ 6122.58 M/N. es monto total incluye IVA.
2.4 Recursos Humanos
Para el desarrollo del proyecto SGD10 de InDeSoft, se requieren 4 personas; cuyas hojas de
evaluación de puestos se incluyen a continuación:
2.5 Organización Comentado [2]: agregar descansos y hora de comida
2.6 Tabla de Asignación de Tareas
Consideremos que para los casos en que exista una actividad fuera de todo control humano
como incendios, robos, inundaciones, terremotos, etc. y que nadie ni nada está exento de estas
catástrofes. Es muy aconsejable considerar la adquisición de un seguro contra siniestros y robo.
De tal manera que estas pérdidas sean rápidamente cubiertas.
En caso de una enfermedad grave de un empleado que le incapacite continuar con sus
actividades, se cubrirá sus actividades con los empleados de roles afines. De tal manera que el
proyecto de software se puede cubrir en tiempo y en forma.
No se recomienda contratar a una nueva persona para el puesto que ha quedado vacante,
significa tener que capacitar al nuevo miembro y se traduce en tiempo y más dinero.
Cortes energía.
En caso de sufrir de cortes de energía prolongados (más de 2 horas por día) es necesario contar
con una “planta eléctrica de emergencia” esta puede ser rentada o también adquirida para que
en futuros proyectos no se tenga la necesidad de volver a invertir en el mismo rubro otra vez.
Riesgos Costo
la empresa “KC rentas$” tiene un seguro por
renta de sus productos con un costo de 10% de $6120 M/N
deducible.
Pérdida de datos por robo o por catástrofe: $2,000 M/N por dia
puede ir desde un dia de trabajo a pérdida total
Actividad 1: Registro
Prioridad: B
Tiempo: 1 Semana
Actividad 2: Autenticación
Prioridad: B
Tiempo: 1 Semana
Actividad 3: Cursos
Prioridad: 1A
· Lista de cursos
Tiempo: 2 Semanas
· Crear curso
· Editar curso
· Eliminar curso
· Ver lista de alumnos por grupo
Actividad 4: Evaluación
Prioridad: 3A
· Lista de evaluaciones por alumno
Tiempo: 4 Semanas
· Lista de evaluaciones por grupo
· Agregar evaluación
· Editar evaluación
· Eliminar evaluación
Actividad 5: Alumnos
Prioridad: 2A
· Crear alumno
Tiempo: 2 semanas
· Editar alumno
· Eliminar alumno
· Asignar alumno a grupo
Actividad 6: Generar Reportes
Prioridad: M
Tiempo: 2 semanas
4.5. Entregables
A continuación se detalla la lista de los elementos que se entregarán como resultado de cada
etapa:
5. Técnicas y herramientas
5.1 Metodología de desarrollo
5.1.1 Elección de metodología de desarrollo
Para desarrollar este proyecto se tienen contemplados los tiempos y los requerimientos,
esto nos permite visualizar cada uno de los elementos que lo han de componer, sin
embargo, sería preferible ir teniendo elementos funcionales, y también sería conveniente
poder tomar decisiones, como omitir ciertos elementos extra, si el tiempo se agota, estas
son ventajas propias de la metodología SCRUM.
Otra de las razones por las cuales se utilizará, es para asegurar la correcta participación
de cada uno de los integrantes del equipo, durante la creación del software, mediante las
reuniones diarias de 15 minutos, así como el uso de sprints para la visualización del
avance del proyecto.
5.2 Herramientas de software
XAMPP Servidor Web Local, permite tener 1.8.3 GNU Sin Costo
una instalación funcional de un
servidor en el cpu de cada
programador, incluye Apache,
MySQL, PHP y Pearl
6.5.1 Alumnos
6.5.2 Cursos
6.5.3 Evaluación
6.5.4 Reportes
6.6.1 Alumnos
Eliminar Alumno
6.6.1.4
6.6.2 Cursos
6.6.2.1
6.6.2.2
6.6.2.3
6.6.2.4
6.6.3 Evaluación
6.6.3.1 Agregar valuación
6.6.3.2 Agregar alumno
6.6.3.3 Editar Evaluación
6. 7. 0 Login
6.7.1 Alumnos
6.7.1.1. Crear Alumno
6.7.2.1
6.7.2.2
6.7.2.3
6.7.2.4
6.7.2.4
6.7.3 Evaluación
6.7.3.1 Agregar Evaluación
6.7.3.2 Agregar alumno
6.7.3.3 Editar Evaluación
6.7.3.4 Eliminar Evaluación
6.7.4 Reportes
6.8. Diagramas de actividades
6.8.0 Login
6.8.1 Alumnos
6.8.1.1. Crear Alumno
6.8.2.2
6.8.2.3
6.8.2.4
6.8.2.5
6.8.3 Evaluación
6.8.3.1 Egregar Evaluación
6.8.3.2 Agregar Alumno
6.8.3.3 Editar Evaluación
6.8.3.4 Eliminar Evaluación
6.8.4 Reportes
6.9. Diseño de la base de datos
pantalla de evaluaciones de un curso, debajo de nombre del alumno, encontramos un +, sirve para
agregar alumnos al curso
pantalla con formulario para agregar alumno
6.14 Implementación
Además se tendrán en cuenta los dos elementos que involucran el desarrollo del proyecto: el
equipo y el cliente; por lo cual se implementarán los siguientes test:
7.2 Métodos de Verificación
Para verificar las características de calidad mencionadas en la sección anterior, se emplearán las
siguientes pruebas:
● Pruebas Unitarias, para realizar las pruebas unitarias se empleará el software de Toast
CodeIgniter. Dicho software realiza las pruebas unitarias de forma automática, generando un
reporte que tiene la apariencia siguiente:
Para validar que el sistema se desarrolla de acuerdo con los requerimientos del cliente y con la calidad
esperada, se realizarán:
● Pruebas de aceptación, que consisten en acordar con el cliente al inicio de cada Sprint,
la forma de operación del sistema, las cuales se registrarán en el documento
correspondiente, el cual empleará el templete mostrado a continuación:
7.4 Responsable de calidad
La calidad del proyecto estará a cargo del Ingeniero de Implementación, quien tendrá las
funciones siguientes:
1. Al inicio de cada Sprint, el Ingeniero de Implementación en conjunto con el Ingeniero de
Requerimientos, solicitará las pruebas de aceptación establecidas con el cliente.
2. Una vez terminado el diseño y codificación, se iniciará con el período de pruebas unitarias
mediante el empleo del software Toast CodeIgniter, del que se extraerán los datos para
llenar el templete de pruebas unitarias.
3. Una vez realizadas las pruebas unitarias, se realizarán las pruebas de integración; para
ello se requerirá de las pruebas de aceptación generadas al inicio del sprint, las cuales
serán probadas ahora a nivel funcional, y cuya realización será anotada en el registro de
pruebas unitarias, el cual contempla el posible hallazgo de fallos o inestabilidad en el
sistema. Las pruebas unitarias serán evolutivas, es decir, que conforme se vayan
terminando los módulos, éstos se irán agregando a las pruebas de tal manera que se
realice una visión integral del sistema.
8 GESTIÓN DE LA CONFIGURACIÓN
8.1.Nombre Tecnico del Proyecto
La necesidad de tener un control sobre los cambios y modificaciones dentro de los archivos y el
desarrollo en general del software se ha convertido en parte fundamente de la ingeniería de
software.
Se llama control de versiones a la gestión de los diversos cambios que se realizan sobre los
elementos de algún producto o una configuración del mismo. Una versión, revisión o edición de
un producto, es el estado en el que se encuentra el mismo en un momento dado de su desarrollo
o modificación.
El equipo de desarrollo es consciente de su trabajo y todos los aspectos que esto conlleva
implicitamente. Hablando de control de versionamientos es necesario que todos los días al iniciar
las actividades dentro de la empresa cada desarrollador deberá realizar un pull (descargar la
última versión que se encuentra en el servidor) y al terminar las actividades diarias deberán hacer
un push (generar una nueva versión). El push y pull son elementos que se tienen en el IDE
Netbeans, el cual es utilizado para desarrollar SGD10 dentro del módulo de PHP.Es necesario
decir que Netbeans esta configurado con Bibucket que es nuestro servidor de versiones.
El repositorio con el cliente consta de una carpeta compartida dentro de la plataforma DropBox
donde se depositaran todos los documentos terminados y que servirán para presentarlos con el
cliente.
El repositorio con los desarrolladores consta de una carpeta compartida dentro de la plataforma
Google Drive donde se depositaran todos los documentos no terminados que servirán para los
documentos creados y sobre los cuales se va a trabajar.
CAPÍTULO 9
CONTROL DEL PROYECTO
Las minutas de trabajo pueden ser tan extensas o tan breves como sea necesario, de la
misma manera pueden ser tan detalladas, haciendo literalmente una transcripción, o
tan sencillas y generales, como una lista de resoluciones y decisiones tomadas en la
reunión. aqui el formato:
9.2 Control del proyecto.
9.2.1. Procedimiento de entrega
9.2.2. Responsable de entregables
Para efecto de formalizar todo el trato con los clientes ,e llresponsable de vigilar el contenido
de los entregables el encargado será directamente el director de la organización, quien estara a
cargo de todas las actividades y responsabilidades derivadas de esta actividad.
Los modulos de programación se guardarán al final de las sesiones de trabajo en “google drive”
bajo la cuenta y administración del Ing. López Razo Benito Samuel, encargado de los reportes.
También habrá un respaldo físico en unidades de CD por cada sprint y/o modulo creado.
Este proceso se hace con el cliente y con director de “InDeSoft”. este proceso se tiene como
evidencia los documentos que más adelante se muestra para dejar evidencia de los avances
del proyecto y también para la entrega final del software, el lugar serán las instalaciones de la
compañía y las fechas serán las que estan planeadas en el calendario de entregas.
La estrategia de entrega para el proyecto de software será a través de los entregables que se
encuentran calendarizados, las reuniones del director general con el cliente y de los documentos
que avalan el avance de los módulos entregados. Toda la documentación será archivada para
un registro para posibles seguimientos.
9.3.2. Evidencia de entrega
A continuación se muestran los formularios para la entrega y validación de evidencia:
Acta de entrega.
Acta de aceptación
9.3.2. Cierre del proyecto
1. Portada
2. Introducción
3. Situación Actual
4. Administración de Proyectos
5. Recursos Humanos
6. Evaluación Requerimientos Funcionales y Técnicos
7. Presupuesto
8. Infraestructura
9. Plan de Implementación
10. Problemas Post Producción
11. Logros / Problemas
12. Recomendaciones
Funcionalidades del sistema, así como aprobación del plan de trabajo e impactos de algunos
puntos sobre el mismo, resultaron no ser confiables.