miércoles, 10 de octubre de 2012

Requerimientos funcionales y no funcionales para una herramienta CASE


Requerimientos funcionales.

La aplicación permitirá:

-Registrar cada uno de los requerimientos de la aplicación.
-Administrar cada uno de los requerimientos ingresados (nombre, prioridad).
-Registrar cada miembro del equipo de trabajo que desarrollara la aplicación.
-Asignar a un grupo de trabajo cada miembro registrado.
-Registrar y administrar los recursos tecnicos (hardware) que se utilizaran para el desarrollo.
-Calcular costos de cada tarea según los recursos asignados (Humanos, hardware).
-Proveer posibles mejoras en la asignación de tareas.
-Proveer distintos tipos de metodologías para el desarrollo del proyecto.
-Mostrar sugerencias sobre utilización de tecnologías mas optimas para una tarea especifica.

Requerimientos No funcionales.

La aplicación:

-Debe tener una extensión web.
-Debe soportar procesamiento multinucleo.
-Debe trabajar con un SGBD (sistema de gestión de base de datos) ORACLE debido al tamaño de
 los proyectos que se pueden manejar.


Técnicas para la recopilación de información


Tecnicas para la recopilación de información para la captura de requerimientos.

Entrevista: Es una conversación dirigida con el cliente, con un propósito especifico que usa un formato de preguntas y respuestas. Con esta técnica se busca obtener la opinión y la visión del cliente acerca de lo que espera sea su producto final.

Observacion: Es una técnica utilizada para poder entender como funciona un proceso o como puede trabajar una unidad de trabajo del cual se desea obtener información. Su ventaja es que se pueden analizar mejor los procesos que se desean actualizar.

Cuestionario: Son útiles para indagar a fondo los requerimientos del software a desarrollar. Las preguntas deben ser muy claras, de tal modo que el cliente pueda comprender y responder adecuadamente a la solicitud del interrogante.

Sesion de grupos: Esta técnica es utili cuando se quiere evaluar los potenciales usuarios para aclarar ideas y construir posibles requerimientos, ya que no posee preguntas estructuradas.

Lluvia de ideas: Es utilizada cuando el o los clientes no tienen claros los requerimientos de su aplicación, con esta técnica se proponen requerimientos basados en unas reglas que permiten que estos sean posibles de cumplir. Una vez recolectadas las ideas de los clientes se estudian si pueden ser o no requerimientos del proyecto.

Proceso de planificación de un proyecto de software


El proceso de planificacion de un proyecto de software se refiere a todos los pasos que se realizan previamente al desarrollo de una aplicación para que esta cumpla con los requerimientos y especificaciones del usuario.

La planificación de un proyecto abarca ciertas grandes actividades que se describirán a continuación:

Establecer el ámbito del proyecto: Se explicara que hara y que no hara la aplicación al igual sus beneficios, objetivos y metas. De igual manera describe sus características, entradas y salidas.

Determinar su factibilidad: Se estudia si el desarrollo del proyecto es factible en varias áreas; personal (si es necesario de personal altamente calificado para desarrollar el proyecto, o el personal puede estar disperso), tecnología (es necesario contar con tecnología fuera del alcance?), Entorno (Hardware y software)

Estimacion de costos: aquí se detallara minuciosamente cada costo que implicaría desarrollar la aplicación, sin contar con posibles cambios sobre la marcha por parte del cliente. Esto esta muy ligado a muchas variables (Humanas, técnicas, políticas etc)

Calendarizacion: aquí se crean tareas de ingeniería que permitirán terminar a tiempo el proyecto. Esto se logra asignando tareas especificas a grupos de trabajo ya que las tareas se llevan a cabo en paralelo.

Una buena calendarización del proyecto evita retrasos en las entregas acordadas con el cliente, por ende se evitan perdidas en cuanto a la estimación.

Definicion de los recursos requeridos: Aquí se detallan los recursos que requiere el desarrollo del proyecto (humanos, software).

Desarrollo de un plan de proyecto: En este paso se establecen las tareas que realizaran los equipos ya conformados y el cronograma que deberán seguir.