trabajo investigativo analisis

28
Trabajo Investigativo 02 Análisis de sistemas Presenta David Camilo Sánchez Mora Camilo Andrés Frontado Héctor Felipe Hurtado Acosta Yojhan Rodriguez Docente Juan Carlos Guevara B.

Upload: david-sanchez-mora

Post on 12-Dec-2015

36 views

Category:

Documents


0 download

DESCRIPTION

Trabajo Análisis Sistemas

TRANSCRIPT

Page 1: Trabajo Investigativo Analisis

Trabajo Investigativo 02

Análisis de sistemas

Presenta

David Camilo Sánchez Mora

Camilo Andrés Frontado

Héctor Felipe Hurtado Acosta

Yojhan Rodriguez

Docente

Juan Carlos Guevara B.

Universidad Distrital Francisco José de Caldas

Sistematización de datos

Facultad tecnológica

Bogotá D.C Colombia Agosto 22 de agosto de 2015

Page 2: Trabajo Investigativo Analisis

Tabla de contenido2. Introducción

3. Proyecto de software

3.1. Definición

3.2. Importancia de la gestión de proyectos de software

3.3. Factores críticos de éxito

4. Elementos de un proyecto de software

4.1. Personal

4.2. Producto

4.3. Proceso

4.4. Proyecto

5. Actividades de los proyectos de software

5.1. Estimación

5.2. Administración del riesgo

5.3. Seguimiento y control de actividades

5.4. Cálculo del camino crítico

5.5. Estimación del valor ganado

6. presupuesto de un proyecto de software

6.1. Recursos humanos

6.2. Recursos económicos

6.3. Recursos de cómputo

6.4. Otros recursos

7. Software de gestión de proyectos 01

7.1. Nombre

7.2. Requerimientos tecnológicos

7.3. Funcionalidades

7.4. Ejemplo de aplicación

8. Software de gestión de proyectos 02

8.1. Nombre

8.2. Requerimientos tecnológicos

8.3. Funcionalidades

8.4. Ejemplo de aplicación

9. Software de gestión de proyectos 03

9.1. Nombre

9.2. Requerimientos tecnológicos

9.3. Funcionalidades

Page 3: Trabajo Investigativo Analisis

9.4. Ejemplo de aplicación

10. Software de gestión de proyectos 04

10.1. Nombre

10.2. Requerimientos tecnológicos

10.3. Funcionalidades

10.4. Ejemplo de aplicación

11. Cuadro comparativo de software de gestión de proyectos

12. Conclusiones

13. Bibliografía

Page 4: Trabajo Investigativo Analisis

2. Introducción

La Gestión de Proyectos no es más que la capacidad de reconocer los desafíos que te proporciona el cliente o la Empresa, para a través de ellos encontrar, revisar y evaluar las múltiples soluciones, seleccionando la que más responda a las definiciones de eficiencia y calidad, para después ponerla en práctica, acorde a los objetivos y planificación establecidos.

La gestión de proyectos simplemente en conducir un proyecto desde el comienzo hasta un final satisfactorio, haciendo uso conjunto de procesos, conocimientos, habilidades, herramientas y técnicas que orienten y motiven al personal a realizar satisfactoriamente su trabajo dentro del proyecto.

El objetivo primordial de la gestión de proyectos es canalizar el trabajo de los desarrolladores de forma eficiente y productiva, de manera que conduzca al éxito del proyecto, que demasiadas veces se deja de conseguir. El éxito de los proyectos incluye la gestión activa de los procesos de la gestión de proyectos a fin de cumplir exitosamente con los requisitos del Patrocinador, el Cliente y los demás interesados.

Page 5: Trabajo Investigativo Analisis

3. Proyecto de software

3.1. Definición

La definición de un proyecto de software se hace identificando los requerimientos del software a partir de las necesidades que se deben satisfacer del negocio. La definición cubre aspectos funcionales del proyecto y los atributos de calidad que debe tener en términos de desempeño, facilidad de uso, confiabilidad, seguridad, y facilidad de mantenerlo a lo largo del tiempo. Teniendo claro estos elementos, la definición se complementa con los modelos de arquitectura que garanticen el éxito del proyecto desde el punto de vista técnico.

3.2. Importancia de la gestión de proyectos de software

VISION del proyecto.

Definición precisa del proyecto antes de contratar su implementación con un tercero.

Dimensionamiento y costeo objetivo del proyecto.

Herramientas para medir y controlar el avance de la implementación del proyecto de una forma clara y orientada al negocio.

3.3. Factores críticos de éxito

Ámbito del Software: En esta etapa se deben evaluar la función y el rendimiento que se asignaron al software. El ámbito se define como un pre-requisito para la estimación. 

Recursos: Es la segunda tarea de la planificación del desarrollo de Software es la estimación de los recursos requeridos para acometer el esfuerzo de desarrollo de Software. 

Cada recurso queda especificado mediante cuatro características: Descripción del recurso 

Page 6: Trabajo Investigativo Analisis

Informes de disponibilidad

Fecha cronológica en la que se requiere el recurso 

Tiempo durante el que será aplicado el recurso 

4. Elementos de un proyecto de software

4.1. Personal

Los ingenieros de software y sus jefes adaptan el proceso a sus necesidades y después lo siguen. Además, la gente que ha solicitado el software tiene una función que desempeñar en el proceso de definirlo, construirlo y probarlo.

4.2. Producto

Desde el punto de vista del ingeniero de software, los productos obtenidos son los programas, documentos y datos que se producen como consecuencia de las actividades y tareas definidas por el proceso.

4.3. Proceso

Existen muchos mecanismos de evaluación del proceso de software que permiten a las organizaciones determinar la “madurez” del proceso de software. No obstante, la calidad, el tiempo requerido, la viabilidad a largo plazo del producto que se construye son los mejores indicadores de la eficacia del proceso que se utiliza.

4.4. Proyecto

Es importante porque ofrece estabilidad, control y organización a una actividad que puede volverse caótica si no se controla. Sin embargo, un enfoque de ingeniería del software moderno debe ser “ágil”. Debe requerir solo aquellas actividades, controles y documentaciones apropiadas para el equipo del proyecto y el producto que ha de producirse.

5. Actividades de los proyectos de software

Page 7: Trabajo Investigativo Analisis

Para gestionar un proyecto de software con éxito, debemos comprender qué puede ir mal (para evitar esos problemas) y cómo hacerlo bien.

5.1. Estimación

Al principio, el coste del software constituía un pequeño porcentaje del coste total de los sistemas basados en computadora. Un error considerable en las estimaciones del coste del software tenía relativamente poco impacto. Hoy en día, el software es el elemento más caro de la mayoría de los sistemas informáticos. Para sistemas complejos, personalizados, un gran error en la estimación del coste puede ser lo que marque la diferencia entre beneficios y pérdidas. Sobrepasarse en el coste puede ser desastroso para el desarrollador.

La estimación del coste y del esfuerzo del software nunca será una ciencia exacta. Son demasiadas las variables humanas, técnicas, de entorno, políticas- que pueden afectar al coste final del software y al esfuerzo aplicado para desarrollarlo. Sin embargo, la estimación del proyecto de software puede dejar de ser un oscuro arte para convertirse en una serie de pasos sistemáticos que proporcionen estimaciones con un grado de riesgo aceptable.

Para realizar estimaciones seguras de costes y esfuerzos tenemos varias opciones posibles:

1. Dejar la estimación para más adelante (obviamente, si podemos realizar una estimación al cien por cien fiable tras haber terminado el proyecto).

2. Basar las estimaciones en proyectos similares ya terminados.

3. Utilizar «técnicas de descomposición» relativamente sencillas para generar las estimaciones de coste y de esfuerzo del proyecto.

4. Utilizar uno o más modelos empíricos para la estimación del coste y esfuerzo del software.

Desgraciadamente, la primera opción, aunque atractiva, no es práctica. Las estimaciones de costes han de ser proporcionadas a priori. Sin embargo, hay que reconocer que cuanto más tiempo esperemos, más cosas sabremos, y cuanto más sepamos, menor será la probabilidad de cometer serios errores en nuestras estimaciones.

Page 8: Trabajo Investigativo Analisis

La segunda opción puede funcionar razonablemente bien, si el proyecto actual es bastante similar a los esfuerzos pasados y si otras influencias del proyecto (por ejemplo: el cliente, las condiciones de gestión, el EIS [Entorno de Ingeniería del software], las fechas límites) son similares. Por desgracia, la experiencia anterior no ha sido siempre un buen indicador de futuros resultados.

Las opciones restantes son métodos viables para la estimación del proyecto de software. Desde un punto de vista ideal, se deben aplicar conjuntamente las técnicas indicadas; usando cada una de ellas como comprobación de las otras. Las técnicas de descomposición utilizan un enfoque de (divide y vencerás) para la estimación del proyecto de software. Mediante la descomposición del proyecto en sus funciones principales y en las tareas de ingeniería del software correspondiente, la estimación del coste y del esfuerzo puede realizarse de una forma escalonada idónea. Se pueden utilizar los modelos empíricos de estimación como complemento de las técnicas de descomposición, ofreciendo un enfoque de estimación potencialmente valioso por derecho propio. Cada modelo se basa en la experiencia (datos históricos) y toma como base:

d=f (Vi)

Donde d es uno de los valores estimados (por ejemplo, esfuerzo, coste, duración del proyecto) y los vi, son determinados parámetros independientes (por ejemplo, LDC o PF estimados).

Las herramientas automáticas de estimación implementan una o varias técnicas de descomposición o modelos empíricos. Cuando se combinan con una interfaz gráfica de usuario, las herramientas automáticas son una opción atractiva para la estimación. En sistemas de este tipo, se describen las características de la organización de desarrollo (por ejemplo, la experiencia, el entorno) y el software a desarrollar. De estos datos se obtienen las estimaciones de coste y de esfuerzo.

Herramientas CASE.

Cada una de las opciones viables para la estimación de costes del software, sólo será buena si los datos históricos que se utilizan como base de la estimación son buenos. Si no existen datos históricos, la estimación del coste descansará sobre una base muy inestable.

Page 9: Trabajo Investigativo Analisis

5.2. Administración del riesgo

¿Cuáles son los diez riesgos principales para este proyecto? Para cada uno de los riesgos ¿cuál es la oportunidad de que el riesgo se convierta en un problema y cuál es el impacto si lo hace?

5.3. Seguimiento y control de actividades

Seguimiento de defectos frente a objetivos de calidad.

¿Realiza el seguimiento e informa periódicamente del número de defectos encontrados en cada prueba de inspección [revisión técnica formal] y ejecución desde el principio del programa y del número de defectos que se corrigen y se producen en la actualidad?

Gestión de proyectos basada en métricas.

¿Dispone de un programa de métricas para dar una primera indicación de los problemas del desarrollo? Si es así, ¿cuál es la volatilidad de los requisitos actualmente?

Seguimiento de defectos frente a objetivos de calidad.

¿Realiza el seguimiento e informa periódicamente del número de defectos encontrados en cada prueba de inspección [revisión técnica formal] y ejecución desde el principio del programa y del número de defectos que se corrigen y se producen en la actualidad?

Gestión del programa del personal.

¿Cuál es la media de rotación de la plantilla en los tres Últimos meses por cada uno de los distribuidores/desarrolladores involucrados en el desarrollo del software para este sistema?

Page 10: Trabajo Investigativo Analisis

5.4. Cálculo del camino crítico

Este método, es un proceso administrativo de planeación, programación, ejecución y control de todas y cada una de las actividades componentes de un proyecto que debe desarrollarse dentro de un tiempo crítico y al costo óptimo.

El campo de acción de este método es muy amplio, dada su gran flexibilidad y adaptabilidad a cualquier proyecto grande o pequeño. Para obtener los mejores resultados debe aplicarse a los proyectos que posean las siguientes características:

Que el proyecto sea único, no repetitivo, en algunas partes o en su totalidad.

Que se deba ejecutar todo el proyecto o parte de él, en un tiempo mínimo, sin variaciones, es decir, en tiempo crítico.

Que se desee el costo de operación más bajo posible dentro de un tiempo disponible.

Dentro del ámbito aplicación, el método se ha estado usando para la planeación y control de diversas actividades, tales como construcción de presas, apertura de caminos, pavimentación, construcción de casas y edificios, reparación de barcos, investigación de mercados, movimientos de colonización, estudios económicos regionales, auditorías, planeación de carreras universitarias, distribución de tiempos de salas de operaciones, ampliaciones de fábrica, planeación de itinerarios para cobranzas, planes de venta, censos de población, etc.

El Método del Camino Critico consta de dos ciclos:

Planeación y Programación

1.1.- Definición del proyecto

1.2.- Lista de Actividades

Page 11: Trabajo Investigativo Analisis

1.3.- Matriz de Secuencias

1.4.- Matriz de Tiempos

1.5.- Red de Actividades

1.6.- Costos y pendientes

1.7.- Compresión de la red

1.8.- Limitaciones de tiempo, de recursos y económicos

1.9.- Matriz de elasticidad

1.10.- Probabilidad de retraso

Ejecución y Control.

2.1.- Aprobación del proyecto

2.2.- Ordenes de trabajo

2.3.- Gráficas de control

2.4.- Reportes y análisis de los avances

5.5. Estimación del valor ganado

¿Informa mensualmente de las métricas del valor ganado ... ? Si es así, ¿están calculadas estas métricas desde una red de actividades de tareas para el esfuerzo total a la próxima entrega?

6. presupuesto de un proyecto de software

Page 12: Trabajo Investigativo Analisis

6.1. Recursos humanos

El Presupuesto constituye una de las herramientas fundamentales de las que dispone un profesional que se dedique al Desarrollo de Software. En muchos casos constituye nuestra primera toma de contacto y nuestra carta de presentación de cara al cliente.

6.2. Recursos económicos

El encargado de la planificación comienza elevando el ámbito y seleccionando las habilidades que se requieren para llevar a cabo el desarrollo. Hay que especificar tanto la posición dentro de la organización (por ejemplo: gestor, ingeniero de software experimentado, etc.) como la especialidad (por ejemplo: telecomunicaciones, bases de datos, cliente/servidor). Para proyectos relativamente pequeños (una persona-año o menos) una sola persona puede llevar a cabo todos los pasos de ingeniería del software, consultando con especialistas siempre que sea necesario.

El número de personas requerido para un proyecto de software sólo puede ser determinado después de hacer una estimación del esfuerzo de desarrollo (por ejemplo, personas-mes).

Page 13: Trabajo Investigativo Analisis

6.3. Recursos de cómputo

El entorno es donde se apoya el proyecto de software, llamado a menudo entorno de ingeniería del software (ElS), incorpora hardware y software. El hardware proporciona una plataforma con las herramientas (software) requeridas para producir los productos que son el resultado de una buena práctica de la ingeniería del software7. Como la mayoría de las organizaciones de software tienen muchos aspectos que requieren acceso a EIS, un planificador de proyecto debe determinar la ventana temporal requerida para el hardware y el software, y verificar que estos recursos estarán disponibles.

Cuando se va a desarrollar un sistema basado en computadora (que incorpora hardware y software especializado), el equipo de software puede requerir acceso a los elementos en desarrollo por otros equipos de ingeniería. Por ejemplo, el software para un control numérico (CN) utilizado en una clase de máquina herramienta puede requerir una máquina herramienta específica (por ejemplo, el CN de un torno) como parte del paso de prueba de validación; un proyecto de software para el diseco de páginas avanzado puede necesitar un sistema de composición fotográfica o escritura digital en alguna fase durante el desarrollo. Cada elemento de hardware debe ser especificado por el planificador del proyecto de software.

6.4. Otros recursos

Recursos de software reutilizables

La ingeniería del software basada en componentes (ISBC) destaca la reutilización esto es, la creación y la reutilización de bloques de construcción de software. Dichos bloques de construcción, llamados componentes, deben establecerse en catálogos para una consulta más fácil, estandarizarse para una fácil aplicación y validarse para una fácil integración. Bennatan sugiere cuatro categorías de recursos de software que se deberían tener en cuenta a medida que se avanza con la planificación:

Componentes ya desarrollados. El software existente se puede adquirir de una tercera parte o provenir de uno desarrollado internamente para un proyecto anterior. Llamados componentes CCYD (componentes comercialmente ya desarrollados), estos componentes están listos para utilizarse en el proyecto actual y se han validado totalmente.

Page 14: Trabajo Investigativo Analisis

Componentes ya experimentados. Especificaciones, diseños, código o datos de prueba existentes desarrollados para proyectos anteriores que son similares al software que se va a construir para el proyecto actual. Los miembros del equipo de software actual ya han tenido la experiencia completa en el área de la aplicación representada para estos componentes. Las modificaciones, por tanto, requeridas para componentes de total experiencia, tendrán un riesgo relativamente bajo.

Componentes con experiencia parcial. Especificaciones, diseños, código o datos de prueba existentes desarrollados para proyectos anteriores que se relacionan con el software que se va a construir para el proyecto actual, pero que requerirán una modificación sustancial. Los miembros del equipo de software actual han limitado su experiencia sólo al área de aplicación representada por estos componentes. Las modificaciones, por tanto, requeridas para componentes de experiencia parcial tendrán bastante grado de riesgo.

Componentes nuevos. Los componentes de software que el equipo de software debe construir específicamente para las necesidades del proyecto actual.

7. Software de gestión de proyectos 01

7.1. Nombre

TUTOS

7.2. Requerimientos tecnológicos

PHP, MySQL, Apache

7.3. Funcionalidades

Calendario

Grupos

Agenda

Page 15: Trabajo Investigativo Analisis

Gestión de errores

Gestión de proyectos (tareas, documentos, diversos roles, relación entre proyectos)

Buzones de correo

Gestión de tiempo

Inventario

7.4. Ejemplo de aplicación

Cuando pequeños grupos, equipos, departamentos necesiten de una herramienta para manejar las necesidades organizacionales.

8. Software de gestión de proyectos 02

8.1. Nombre

Project Pier

8.2. Requerimientos tecnológicos

PHP, MySQL, Apache

8.3. Funcionalidades

Gestión de usuarios

Page 16: Trabajo Investigativo Analisis

Gestión de clientes

Gestión de proyectos:

Notas

Tareas

Ficheros

Calendario no editable (solo para tareas)

Gestión de contactos

8.4. Ejemplo de aplicación

Ayudar a su organización a comunicarse, colaborar y hacer las cosas Su función es similar a groupware comercial / productos de gestión de proyectos , sino que permite la libertad y la capacidad de ampliación de la auto -hosting

9. Software de gestión de proyectos 03

9.1. Nombre

Project Open: es una herramienta para gestionar y dar seguimiento a cada una de las áreas relacionadas a un proyecto como las finanzas, recursos humanos, servicios, relaciones públicas, entre otras. Es open source, su descarga es gratuita y es compatible con diversos sistemas operativos.

9.2. Requerimientos tecnológicos

AOL Server, Open ACS, TCL

Page 17: Trabajo Investigativo Analisis

9.3. Funcionalidades

Registro de tiempo

Gestión de errores/problemas

Diagrama de Gantt

Informes

Control de tiempo en función de variables

Control horario

WorkFlow

Gestión de ficheros

Administración de recursos

Plantillas

Calendario

Contactos

9.4. Ejemplo de aplicación

Empresa productora de fármacos desea sistematizar el control de ventas y de pedidos, organizar calendarios para mayor rendimiento y desea conocer su productividad.

Page 18: Trabajo Investigativo Analisis

10. Software de gestión de proyectos 04

10.1. Nombre

Achievo: es una aplicación basada en web que permite la gestión de recursos en la empresa, tales como: administrar sus proyectos, clientes, proveedores, o planificar las actividades diarias, entre otras funciones.

10.2. Requerimientos tecnológicos

Apache, PHP, MySQL

10.3. Funcionalidades

Registro de tiempo

Administración de proyectos (proyectos, fases, tareas, notas, estadísticas, planning, miembros, plantillas)

Gestión de contactos

Gestión de personal

Agenda

Informes

Flexible y configurable

10.4. Ejemplo de aplicación

Page 19: Trabajo Investigativo Analisis

Seguimiento de proyectos de obras civiles: informes, inspección de obra, estadísticas de construcción, informes financieros, materiales, etc…

11. Cuadro comparativo de software de gestión de proyectos

APLICACIÓN

VERSIÓN WEB ARQUITECTURA

LICENCIA

FUNCIONALIDADES

1.4.527/09/10

Web Demo

Apache, PHP, MySQL

GPL Registro de tiempo Administración de proyectos

(proyectos, fases, tareas, notas, estadísticas, planning, miembros, plantillas)

Gestión de contactos Gestión de personal Agenda Informes Flexible y configurable

4.0.3.1.029/03/12

Web Demo

AOL Server, Open ACS, TCL

CPOL Registro de tiempo Gestión de errores/problemas Diagrama de Gantt Informes Control de tiempo en función

de variables Control horario WorkFlow Gestión de ficheros Administración de recursos Plantillas Calendario Contactos

1.8.201123/12/11

Web Demo

PHP, MySQL, Apache

GPL Calendario Grupos Agenda Gestión de errores Gestión de proyectos (tareas,

documentos, diversos roles, relación entre proyectos)

Buzones de correo Gestión de tiempo Inventario

Page 20: Trabajo Investigativo Analisis

APLICACIÓN

VERSIÓN WEB ARQUITECTURA

LICENCIA

FUNCIONALIDADES

0.8.8 01/09/12

Web PHP, MySQL, Apache

AGPL Gestión de usuarios Gestión de clientes Gestión de proyectos: Notas Tareas Ficheros Calendario no editable (solo

para tareas) Gestión de contactos

6.1.015/05/12

Web Demo

PHP, MySQL, Apache, WebDAV

LGPLv3 Administración de ficheros Diagrama de Gantt Seguimiento de errores o

problemas Actas de reuniones (personal,

correo, archivos, etc.) Notas Estadística Gestión de tareas pendientes Calendario Contactos Tarjeta de tiempo

2.2.0 04/05/12

Web PHP, MySQL, Apache

BSD Gestión de proyectos:o Tareas

(Posibilidad de comentarios)

o Ficheros Calendario Gestión de contactos

2.0.0 21/03/12

Web Demo

PHP, MySQL, Apache

AGPLv3 Gestión de usuarios Gestión de correo Gestión de espacios de

trabajo:o Notaso Tareaso Documentos

1.2.301/06/12

Web Demo

Java, Tomcat y PostgreSQL,

LDAP

AGPL Gestión de recursos (empleados, máquinas)

Calendarios Habilidades del recurso Actividades y tiempo Diagrama de Gantt Asignación de recursos Simulaciones Plantillas Asignación avanzada de

tareas Vistas y seguimiento

Page 21: Trabajo Investigativo Analisis

APLICACIÓN

VERSIÓN WEB ARQUITECTURA

LICENCIA

FUNCIONALIDADES

2.0.206/05/12

Web Demo

Ruby, MySQL, Apache

GNUv2 Múltiples proyectos Roles flexibles Seguimiento de tareas Diagrama de Gantt Calendario Gestión de noticias,

documentos y archivos Feeds Wiki Foro Seguimiento de tiempo Campos personalizados Múltiple LDAP autenticación

1.8.004 Web Demo

Apache, PHP, MySQL

GPL Calendario Libreta de direcciones Gestión de tareas Administración de archivos Sistema de seguimiento Administrador de proyectos Administrador de sitios Gestión de recursos Wiki Base de conocimientos

0.14.4 Web Escritorio GPLv2 Gestión de calendarios Gestión de recursos Seguimiento del avance del

proyecto Enlazar tareas Diagramas de Gantt Exportación a diferentes

formatos2.5.5 Web Escritorio GPLv2 Diagramas de Gantt

Gestión de recursos Diagramas de PERT Exporta en PNG y PDF Genera informes en HTML Interopera con Microsoft

Project Comparte proyectos con

WebDAV

Page 22: Trabajo Investigativo Analisis

12. Conclusiones

La ingeniera de software es una disciplina que integra el proceso, los métodos y las herramientas para el desarrollo de software de computadora.

La construcción de software de computadora es un proceso iterativo de aprendizaje, y el resultado es una materialización del conocimiento recolectado, depurado y organizado conforme el proceso estuvo en ejecución.

13. Bibliografía

http://recursostic.educacion.es/observatorio/web/en/software/software-general/1057-aprendizaje-por-proyectos-y-tic?start=2

PRESSMAN ROGER S. Ingeniería de Software. Un enfoque práctico 5ta Edición.

http://www.taqtica.com/index.php?option=com_content&view=category&layout=blog&id=12&Itemid=12