estimación de requerimientos_de_tiempo

21
PROGRAMACIÓN ORIENTADA A OBJETOS

Upload: jorge-garcia

Post on 12-Jul-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Estimación de requerimientos_de_tiempo

PROGRAMACIÓN ORIENTADA A OBJETOS

Page 2: Estimación de requerimientos_de_tiempo

Uno de los aspectos más dif íci les del manejo del proyecto es la formulación de las nociones del t iempo necesario para desarrollar un sistema. Como lo propone el nombre, las estimaciones son aproximaciones de las horas, días o meses de esfuerzo necesario para producir el sistema deseado. Su precisión depende en gran medida de la habil idad, conocimiento y experiencia de la persona que prepara las estimaciones, usualmente es el coordinador del proyecto.

Page 3: Estimación de requerimientos_de_tiempo

Los proyectos de sistemas mal planeados no cumplen con lo programado y desaniman a los usuarios entusiastas. Aquellos proyectos que se desarrollan a tiempo tienen estas características en común: Una estimación cuidadosamente formulada de los requerimientos de tiempoUn medio para monitorear el avanceUn medio para comparar el desempeño planeado con el real La información suficiente para enfrentarse a problemas cuando estos surjan.

Page 4: Estimación de requerimientos_de_tiempo

Existen tres métodos comunes para estimar el tiempo de desarrollo del proyecto.

1.1. Método HistóricoMétodo Histórico2.2. Método Intuitivo Método Intuitivo 3.3. Método De La Forma Estándar Método De La Forma Estándar

Page 5: Estimación de requerimientos_de_tiempo

• Se basa en registros cuidadosos que se han mantenido con respecto a proyectos de desarrollo anteriores. Los registros indican las características del programa o proyecto, asignación de tareas, requerimientos del tiempo del personal y los problemas o hechos no usuales. Cuando se proponen nuevos proyectos, se comparan con los registros en archivos de proyectos anteriores para dar una estimación del tiempo esperado de desarrollo. El mantenimiento de registros es un proceso muy laborioso y que muchas organizaciones prefieren evitar. El método histórico sólo es tan bueno como los registros, aún entonces es útil únicamente si el proyecto propuesto es similar a un desarrollo anterior.

Page 6: Estimación de requerimientos_de_tiempo

Se basa en la experiencia del personal más antiguo, el cual estima, por medio de sus experiencias personales, el tiempo de desarrollo esperado. Este método se describe a menudo como una corazonada educada, donde la porción de educación se refiere a la experiencia anterior de la persona que hace la estimación. El enfoque intuitivo difiere del histórico en que no se usan casos documentados y registros detallados.

Page 7: Estimación de requerimientos_de_tiempo

Ofrece un enfoque más concreto a la estimación. Se identifican y cuantifican (con pesos individuales) los factores que afectan más drásticamente al tiempo de desarrollo, tales como las características del personal, los detalles del sistema y la complejidad del proyecto.

Page 8: Estimación de requerimientos_de_tiempo

• Las estimaciones del tiempo del proyecto son necesarias para informar a la gerencia de cuando es probable que se termine un proyecto y se implemente el sistema. Además, se necesitan las estimaciones para ayudar al coordinador del proyecto en la programación del personal para desarrollar varias tareas o hacer ajustes posteriores del equipo, en caso de ser necesario. Las estimaciones del tiempo del proyecto incluyen dos tipos de requerimientos: requerimientos de tiempo del proyecto y requerimientos de tiempo calendario.

Page 9: Estimación de requerimientos_de_tiempo

Los requerimientos de tiempo del proyecto se refieren al tiempo necesario para llevar a cabo una fase de investigación del sistema, cada actividad asociada con el desarrollo de un sistema de información requiere de cierta cantidad de tiempo que debe estimarse e incorporarse al calendario del proyecto.

Page 10: Estimación de requerimientos_de_tiempo

El tiempo de la fase de investigación del sistema se determina a partir del número de personas a entrevistar y la cantidad de tiempo necesaria para desarrollar, circular y analizar los cuestionarios, dirigir observaciones e inspeccionar registros.

Esta estimación depende de tres grandes componentes:1. Nivel de aptitud del programador2. Nivel de complejidad del programa3. Nivel de comprensión del programador en el programa

específico

Page 11: Estimación de requerimientos_de_tiempo

• Algunos coordinadores de proyectos usan un sistema de pesos para evaluar las habilidades de un individuo y asociarlas con los requerimientos de tiempo del proyecto. Entre los criterios que se usan están los siguientes:

1. Conocimiento del lenguaje de programación a usarse en el proyecto

2. Experiencia con el sistema de computadora en el que se procesará el sistema

3. Experiencia en programación4. Habilidad lógica5. Creatividad e imaginación6. Paciencia7. Madurez8. Persistencia9. Educación

Page 12: Estimación de requerimientos_de_tiempo

A cada individuo se le asigna un peso, usualmente entre 1 y 5, basado en sus atributos para cada una de las categorías anteriores.

La complejidad del programa es una medida del nivel de las características del sistema, tales como los métodos de entrada y salida y la dificultad de la lógica del programa que quedará inmerso en el software. Si se incluyen varios archivos o se usa el procesamiento distribuido, se puede considerar todavía mayor la complejidad del programa.

Page 13: Estimación de requerimientos_de_tiempo

Cada programa debe evaluarse independientemente de los otros. Para determinar el número de días por cada programa, el coordinador del proyecto tiene que combinar los datos identificados anteriormente. Si se sigue con cuidado un enfoque cuantitativo, complejidad del programa se multiplica por la suma de la experiencia y comprensión del programador.

Page 14: Estimación de requerimientos_de_tiempo

La identificación de los requerimientos de tiempo solo es un factor que incluye el tiempo de programación, en los proyectos de sistemas se usa un tiempo adicional para las actividades que no están involucradas en la programación del sistema extendiendo el tiempo del proyecto de un 50 a un 100%.

Se puede definir un día de proyecto para medir el avance de una persona en el proyecto durante un día; el numero de personas que trabajen en el proyecto afecta el tiempo de calendario aunque no de manera proporcional, entre mas personas trabajen menos tiempo llevara realizar el proyecto. Se usan tres métodos para planear los requerimientos de tiempo de calendario:

Diagrama de barras Eventos crít icos PERT

Page 15: Estimación de requerimientos_de_tiempo

El desarrollo de programas de trabajo confiables no garantiza el éxito del proyecto, el cual aún debe ser administrado.

El personal debe ser asignado y utilizado adecuadamente.

Es necesario que el desarrollo cumpla especificaciones y siga lineamientos para asegurar la calidad. Ésta estudia la utilización del personal y el uso de recorridos estructurados durante el proceso de desarrollo.

Page 16: Estimación de requerimientos_de_tiempo

• El desarrollo de sistemas y la programación de computadoras en particular se consideran típicamente como actividades individuales, sin embargo, desde el punto de vista del coordinador, es esencial estar prevenido ante la salida de personal clave, capacitar a nuevo personal y a aquel que eleva su responsabilidad, y finalmente asegurarse que el personal adecuado se emplee para trabajos específicos.

Se tratan 3 variantes de equipo:

• Equipos responsables de la programaciónEquipos responsables de la programación• Equipos de especialistasEquipos de especialistas• Equipos sin liderazgo.Equipos sin liderazgo.

Page 17: Estimación de requerimientos_de_tiempo

• En estos equipos hay un programador principal, este debe de ser hábil y tener gran experiencia, se encarga del diseño del proyecto y de la programación de los módulos críticos del sistema también integra y prueba el código; en los proyectos grandes la comunicación entre los miembros del equipo suele llegar a consumir tiempo y ser confusa.

• El programador de respaldo que tiene menos experiencia que el programador en jefe realiza actividades como investigación de alternativas de diseño y desarrollo y también participa en la programación, diseño y en la planificación prueba.

Page 18: Estimación de requerimientos_de_tiempo

• El personal de apoyo con menos experiencia mantiene una biblioteca de los programas y documentos.

• La biblioteca externa de programas contiene códigos fuente, módulos objeto y directivos temporales al igual que datos de prueba y procedimientos de lenguaje de control de procesos.

• La biblioteca interna sirve como un archivo de información en caso de que la externa se destruya

Page 19: Estimación de requerimientos_de_tiempo

• El equipo de especialistas incluye el uso de especialistas conforme surja la necesidad, un núcleo común de miembros del equipo permanece unido durante todo el proyecto, cada miembro tiene una asignación especial que aprovecha su talento, el equipo incluye un administrado responsable de los presupuestos, que organiza el espacio físico y el tiempo de máquina y que trata con los asuntos personales.

• El equipo de especialistas ofrece ventajas semejantes a las de equipo con programador en jefe, pero involucra individuos con una habilidad específica lo cual beneficia al equipo, al individuo y al proyecto.

• Los especialistas son, por lo general, miembros de varios equipos de trabajo al mismo tiempo.

Page 20: Estimación de requerimientos_de_tiempo

• Algunas organizaciones han modificado el concepto de programador en jefe, estableciendo equipos que no tienen un líder permanente, algunos miembros particulares del equipo toman el liderazgo sobre una base informal para distintos proyectos, dependiendo de la naturaleza de la tarea y de sus propias habilidades.

• Los miembros del equipo distribuyen la asignación del trabajo entre ellos mismos, con base a sus habilidades.

• Los equipos sin liderazgo no tienen una amplia aceptación, aunque en el concepto existen algunas ventajas. Sin embargo, muchas organizaciones sienten que a cada persona se le debe asignar una responsabilidad gerencial específica para el proyecto un aspecto que se excluye explícitamente en los equipos sin liderazgo.

Page 21: Estimación de requerimientos_de_tiempo

• El primer paso en el desarrollo de una aplicación es planificar lo que el usuario verá, en otras palabras, diseñar las pantallas.

 • El segundo paso en la organización es la escritura del

código para activar la interfaz visual construida en el primer paso.

• El tercero y cuarto paso son la búsqueda de errores en el código (depuración en la jerga) y su posterior corrección.