jueves, 5 de diciembre de 2013

Mejorando calidad del codigo.













Mejorando calidad del código
Lenguaje de programación: C++





Integrantes:
Álvaro Pinilla
Eduardo López
Alexis Miranda

Curso:
Gestión de Calidad de Software

Profesor:
Erwin Fischer

Fecha:
05 de Diciembre del 2013


 

Introducción.


En la siguiente actividad para el laboratorio del curso “Gestión de Calidad de Software” se buscara e investigaran algunas técnicas y/o programas que nos ayudaran a mejorar la calidad del código de programación que debamos desarrollar. Mejorar u optimizar el código es de vital importancia para los desarrolladores, ya que sabemos que contamos con un tiempo limitado para esto, cada hora de trabajo se traduce en dinero, si programamos por ocio cada hora de programación que nos falta puede causar la frustración y el posible abandono del proyecto. Por esta razón debemos estar atentos a lo que estamos programando y a ir mejorándolo constantemente a medida que se avanza.
Veremos algunas metodologías que existen para ir optimizando el código y viendo si cuenta con la calidad que se necesita, además nos centraremos en ver cómo se puede mejorar el código particular del lenguaje de programación C++.




Descargar informe: AQUI!

jueves, 14 de noviembre de 2013

Software de gestion de proyectos








Software de Gestión de Proyectos.
GanttProject


INTEGRANTES:
ALVARO PINILLA
ALEXIS MIRANDA
EDUARDO LOPEZ

PROFESOR:
ERWIN FISCHER

CURSO:
GESTIÓN DE CALIDAD DE SOFTWARE




Objetivo.


En este siguiente trabajo se investigara, evaluara, probara y desarrollara una demo de un software que trabaja la gestión de proyectos, en nuestro caso en particular “GanttProject”.
Luego de estudiar esta herramienta a fondo se realizara una tabla comparativa con otros software que se especializan en lo mismo, privilegiando la evaluación de software open source o gratis.


Gestión de proyectos.


La gestión de proyectos también conocida como gerencia o administración de proyectos es la disciplina que guía e integra los procesos de planificar, captar, dinamizar, organizar talentos y administrar recursos, con el fin de culminar todo el trabajo requerido para desarrollar un proyecto y cumplir con el alcance, dentro de límites de tiempo, y costo definidos: sin estrés y con buen clima interpersonal. Todo lo cual requiere liderar los talentos, evaluar y regular continuamente las acciones necesarias y suficientes.

Otras denominaciones equivalentes según los países: gerencia o gestión de proyectos, gestión integral de proyectos, dirección integrada de proyectos (España), etc. Es una disciplina de gerencia y no una herramienta ingenieril, confusión derivada a su intenso uso en proyectos civiles.



jueves, 7 de noviembre de 2013

Trazabilidad de requerimientos









Trazabilidad de requerimientos
Administración de notas y evaluaciones.






INTEGRANTES:
ALVARO PINILLA
ALEXIS MIRANDA
EDUARDO LOPEZ


CURSO:
GESTIÓN DE CALIDAD DE SOFTWARE


OCTUBRE 2013

Contenidos










Introducción.


En el siguiente trabajo se realizó la trazabilidad del requerimiento de “Administración de notas y evaluaciones” el cual se desarrolló el semestre pasado (01-2013) para el curso de Ingeniería de Software, correspondiente al proyecto de fabricación de una aplicación para la escuela Pedro Aguirre Cerda.

Para realizar esta tarea se solicitaba utilizar la ayuda complementaria de un software especializado en la trazabilidad de los requerimientos, en nuestro caso el software designado fue IRQA 4.0.







Trazabilidad de requerimientos.


Trazabilidad (o Seguimiento) de requerimientos es la habilidad de describir y seguir el ciclo de vida de un requerimiento. Desde su origen, su desarrollo y especificación, hasta su desarrollo sub recuente y uso, y través de los periodos de refinamiento e interacción.
La trazabilidad es vital para el éxito del proyecto.

Trazabilidad es la clave para la cobertura, derivación y el análisis de impacto. Un requerimiento es trazable si y solamente si el origen de cada de sus requerimientos componentes son claros. Y si hay un mecanismo que lo hace posible para referirse que el requerimiento requiere en el futuro un esfuerzo de desarrollo.

Un enfoque sugerido para definir una estrategia de trazabilidad es buscar los roles en roles en el proyecto y sus necesidades, implementando mecanismos de rastreo solamente donde sean necesarios. Varias categorías diferentes de stakeholders son listadas en la tabla7.3, con sus actuales necesidades de trazabilidad. Porque las necesidades actuales difieren dependiendo de la clase de organización. Las necesidades de trazabilidad son definidas por la organización y por role.







Requerimiento a utilizar (Caso de uso).


El requerimiento bajo el cual se trabajara es el siguiente:
Administración de evaluaciones y notas.

El caso de uso desarrollado se muestra a continuación.

Especificación Caso de Uso
Administrar Notas y Evaluaciones
Autor
Eduardo López, Alexis Miranda y Álvaro Pinilla
Fecha
22-05-2013

Descripción Breve
Este caso de uso permite al profesor administrar las calificaciones de los alumnos como también la calendarización de las evaluaciones que estos deberán rendir. El apoderado a la vez contará con acceso a las notas de su pupilo.

Actores
1.- Actor Primario – Profesor y/o Apoderado
2.- Actor Secundario – Sistema











Flujo de eventos
1.    Flujo Básico
1.1.    Iniciar Sesión


Este caso de uso inicia cuando un profesor o apoderado accede al Sistema. El profesor o apoderado ingresa su ID y contraseña, el sistema valida al profesor o apoderado, y da los permisos correspondientes dependiendo del tipo de usuario que ingreso.


1.2.    Asignar fecha de evaluación


El sistema despliega un calendario donde el profesor (solo la cuenta tipo profesor posee acceso a esta opción) al seleccionar un día el sistema le pedirá que ingrese la siguiente información: Hora y Asignatura. Luego cierra esta ventana y la información queda guardada automáticamente.



1.3.    Modificar información de evaluación


El profesor debe acceder al calendario y seleccionar el día en el que asignó alguna evaluación. Aquí el deberá elegir entre las opciones: “Modificar día”, “Modificar Hora”, “Modificar Asignatura”, “Borrar evaluación. Cualquiera de las 3 opciones abrirá una pestaña en donde se le mostrará la información antigua y el deberá colocar la nueva información que desea guardar. En el caso de elegir “Borrar evaluación” se borra todo la información, pero antes una alerta pregunta si el profesor está seguro de realizar esta acción.

1.4.    Buscar alumno

El sistema despliega 3 opciones para el profesor: “Buscar por número de matrícula”, “Buscar por nombre”, “Buscar por Rut”. Al seleccionar una de estas el profesor deberá rellenar el campo con la información necesario y aceptar. Lo cual abrirá como resultado una ventana con los datos del alumno y las opciones: “Ingresar calificación”, “Modificar calificación”, “Emitir Certificado de notas”.

1.5.    Asignar nota

Al seleccionar esta opción se abrirá una pestaña en donde se deberán rellenar los campos “asignatura”, que posee una lista predeterminada con las asignaturas que imparte el colegio, y “calificación”. Al seleccionar guardar para salir los datos quedan guardados y se cierra la pestaña.

1.6.    Modificar nota

Si el profesor selecciona esta opción se abrirá una ventana con las notas del alumno, agrupadas por asignatura, donde se deberá seleccionar que calificación se desea modificar, una vez seleccionada se abrirá una pestaña que contiene la nota “antigua” y un campo para poner la nueva nota que se desea guardar ahí. Una vez realizado esto el profesor pulsa guardar y la información es guardada automáticamente. También aquí se cuenta con la opción de “Borrar calificación” una vez dentro de las calificaciones del alumno, lo cual genera que se borra del sistema dicha calificación seleccionada. Al seleccionar esto antes de salir el sistema pregunta si se está seguro de realizar esta acción.

1.7.    Emitir certificado de notas

El sistema emite todas las calificaciones guardadas del alumno hasta ese momento, en un formato predeterminado por el establecimiento, en el cual van los datos del alumno, la fecha de emisión, las calificaciones del alumno por asignatura con sus respectivos promedios y el promedio final.

1.8.    Seleccionar Alumno

En el caso de ingresar con una cuenta del tipo apoderado, se le mostrará una lista con los alumnos que tenga matriculados en el establecimiento. Se deberá escoger a uno, donde se abrirá una ventana con los datos del alumno y las opciones “Ver calendario de pruebas” y “Ver calificaciones”.

1.9.    Ver calendario

Al seleccionar esta opción el sistema despliega un calendario mostrando con color “rojo” los días en que el alumno tiene evaluaciones, al seleccionar ese día se despliega la información guardada, mostrando la hora, asignatura y profesor que tomara esa evaluación.

1.10.Ver calificaciones

El sistema, una vez seleccionada esta opción, abrirá una ventana en donde se mostrara la información del alumno y sus calificaciones, hasta la fecha, agrupadas por asignaturas.

2.    Flujos Alternativos

2.1.    Salir y Guardar


El profesor elige salir y si no ha guardado los cambios que ha realizado en el sistema, este le informara con una alerta que está saliendo sin guardar. Aquí el podrá seleccionar “cancelar” y volver a la ventana anterior o “guardar y salir” donde se guardarían los cambios efectuados y terminaría el caso de uso.


2.2.    Fecha no disponible


En el caso de uso básico, en el paso “Asignar fecha de evaluación”, el sistema determina que los prerrequisitos para asignar dicha evaluación no se cumplen o que la fecha y/o hora seleccionadas no están disponibles, el sistema no guardara la información y desplegará un mensaje al profesor informándole que no se puede asignar la evaluación.






IRQA 4.0.

Herramienta desarrollada por Visure y que tiene la meta de servir como aplicación para proporcionar un soporte integral en la ingeniería de requisitos de un proyecto de informática. A parte de incluir las tareas más básicas de la ingeniería de requisitos (captura, análisis, modelado, organización y seguimiento), esta aplicación dispones de las siguientes características:
Reutilización de requisitos: Permite que los requisitos definidos en un proyecto puedan ser utilizados en otros proyectos realizados por la organización, a través del uso de librerías. De esta manera se consigue ofertar una pequeña ventaja a la hora de realizar líneas de productos.
Vista documental: Esta nueva opción ofrece un agrupamiento de los requisitos que permite al usuario observar una diferenciación clara entre los mismos así como facilitar toda labor relacionada con estos.
Ingeniería de requisitos: Además de la gestión de los requisitos, esta aplicación proporciona funcionalidades relacionadas con la ingeniería de requisitos, lo que permite centralizar en una sola herramienta todas las actividades relacionadas con los requisitos (incluyendo las pruebas de validación y aceptación).
IRQA Trazabilidad: Entre otros métodos, los usuarios pueden navegar a través de las relaciones definidas en el diagrama de bloques para establecer o validar los restos entre los elementos, siendo capaz de filtrar las filas o columnas para mostrar los elementos no relacionados. Esta matriz de trazabilidad se puede combinar con la estructura Diagrama de bloques para representar la trazabilidad entre los dos bloques indirectamente relacionados.
Al ser esta una herramienta integrada, se ofrece al usuario la libertad de seleccionar aquellas otras aplicaciones más adecuadas para la realización de otras tareas relacionadas con el ciclo de vida de un proyecto, lo que hace que no se dependa de un solo proveedor de aplicaciones.
Se buscó poder descargar esta aplicación, para trabajar con él, pero nos encontramos con una serie de problemas al momento de hacerlo, uno de ellos es que el software al parecer le ha cambiado el nombre a este, llamando ahora “Visure Requirements” el cual cuanto con una versión de prueba que se puede descargar, pero que para hacerlo es necesario llenar una serie de datos, estos son evaluados y se le da una respuesta al solicitante para ver si se le permitirá descargar el software. Por motivos de tiempo nos fue imposible esperar a que se nos dieran esos permisos.




La siguiente imagen muestra la interfaz de cómo trabaja IRQA con su herramienta de trazabilidad.






Matriz de trazabilidad.


Código
Descripción
Fecha Inclusión
Prioridad
Fecha Cumplimiento
R01
Realizar la toma del requerimiento
17/04/2013
Muy alto
20/04/2013
R02
Etapa de validación, se establece prioridad y dificultad del requerimiento
20/04/2013
Medio
22/04/2013
R03
Se documenta el requerimiento (Caso de Uso)
22/04/2013
Muy alto
24/04/2013
R04
Análisis de dependencia con otros requerimientos
28/04/2013
Alto
1/05/2013
R05
Recaudar los datos que el requerimiento necesitara
6/05/2013
Alto
10/05/2013
R06
Diseñar Modelo de clases
10/05/2013
Muy alto
15/05/2013
R07
Diseñar la API del requerimiento, basándose en el caso de uso
15/05/2013
Alto
17/05/2013
R08
Diseñar modelo de datos entidad-relación
20/05/2013
Muy alto
25/05/2013
R09
Crear las historias de Usuario a partir de los casos de uso
25/05/2013
Muy alto
29/05/2013
R10
Diseñar las interfaces
1/06/2013
Alto
5/06/2013
R11
Crear código para realizar los componentes del requerimiento
4/06/2013
Muy Alto
7/06/2013
R12
Por cada historia de usuario crear un test unitario
5/06/2013
Alto
9/06/2013
R13
Verificar que el código generado se integra de forma correcta en la aplicación final
10/06/2013
Alto
12/06/2013
R14
Se hace una validación, la cual garantiza que se cumple con lo establecido por el requerimiento
13/06/2013
Medio
16/06/2013
R15
Agregar lo realizado en la aplicación total
18/06/2013
Muy alto
20/06/2013
R16
Implementar, poner en disposición del cliente la aplicación final
20/06/2013
Bajo
----
R17
Realizar procedimientos correctivos para ir solucionando posibles errores que pudieran aparecer
----
Bajo
----
R18
Generar las respectivas actualizaciones de software y al requerimiento cuando este lo requiera
----
Bajo
----



Conclusión.


Gracias a las nuevas técnicas, metodologías, software, etc. Que nos ha facilitado los grandes estudios de la Ingeniería de requerimientos, nosotros los futuros ingenieros nos es de gran utilidad poder obtener estas grandes herramientas que nos ayudan mucho la facilitación y apoyo para todas las etapas del desarrollo de software, tanto de la toma de requerimientos hasta que se comienza a implementar, esto nos es muy útil para poder encaminar un seguimiento constante de algún requerimiento, ya que nos permite de ver sus distintos módulos de manera más organizada.  





DESCARGAR INFORME WORD

DESCARGAR PPT