Tarea Ingenieria de Software (1)

TAREA INGENIERIA DE SOFTWARE: HITOS  ¿Qué es hito? Un hito es una tarea de duración cero que simboliza el haber consegu

Views 96 Downloads 9 File size 218KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

TAREA INGENIERIA DE SOFTWARE: HITOS  ¿Qué es hito? Un hito es una tarea de duración cero que simboliza el haber conseguido un logro importante en el proyecto. Los hitos son una forma de conocer el avance del proyecto sin estar familiarizado con el proyecto y constituyen un trabajo de duración cero porque simbolizan un logro, un punto, un momento en el proyecto.



¿Qué es producto entregable? es cualquier producto medible y verificable que se elabora para completar un proyecto o parte de un proyecto. Si el proyecto fuese una fábrica, los entregables son lo que produce esa fábrica. Existen entregables intermedios (internos), que se utilizan para producir los entegables finales que validará el cliente del proyecto. Los entregables ayudan a definir el alcance del proyecto y el avance del trabajo en el proyecto debe ser medido monitoreando el avance en los entregables.



¿Cuál es la diferencia entre hito y producto entregable? Entregables son el producto mismo que se entrega durante el proyecto o de un cierto período del proyecto. Es tangible y verificable . Se debe cumplir con los requisitos del proyecto original, tales como especificaciones. Los hitos marcan el logro de un objetivo tangible del proyecto , tales como la finalización de la fase de diseño . Los hitos se definen en la estructura de desglose del trabajo (WBS ) . Conceptos Diferentes . Entregables son la prueba que representa la culminación exitosa de un hito , mientras que los hitos se rigen por los resultados finales.



¿Cuál es la importancia de definir hitos y producto entregable en la calendarización?

GESTION DE PROYECTOS  ¿Cómo se organiza el grupo de trabajo en el proceso de desarrollo de SW? determinar el rol funcional del individuo (analista, programador, etc.) es decir, formar el equipo en función de las tareas a desempeñar. También es necesario identificar el estilo de trabajo de cada integrante, y según este estilo definir grupos de trabajo a cargo de cada subproceso de gestión, dentro del equipo de proyecto informático. A partir de una diferenciación entre los conceptos de grupo de trabajo y equipo de proyecto, basados en el enfoque de modelización de las competencias humanas en el proceso software y en el modelo de organización adaptivo, en este artículo se presenta un Procedimiento de Formación de Grupos de Trabajo en el Proceso Software. Este procedimiento tiene como objetivo la organización de grupos de trabajo dentro de un equipo de proyecto ya conformado, y se basa en la identificación del estilo de trabajo que tiene el integrante de un grupo de trabajo, a partir del cual se determinará el modelo ideal de organización grupal. El beneficio de contar con un grupo organizado de trabajo en un equipo de proyecto es importante, puesto que se trata de una estructura que modela el

  

comportamiento de sus integrantes, y hace posible la explicación de su comportamiento no sólo en el grupo, sino también dentro del equipo. De esta manera, se logra optimizar el desempeño de cada uno de los integrantes y de todo el equipo encargado del proceso software. ¿Cuáles las tareas a realizar, cuáles los roles a cumplir por los diferentes miembros del grupo? Haga varios ejemplos organización de equipos de desarrollo. ¿Qué tiene que ver la calendarización con el grupo de trabajo?

PLANIFICACION DE PROYECTOS/ESTUDIO DE FACTIBILIDAD ¿En qué consiste el estudio de factibilidad? El estudio de factibilidad es el análisis que realiza una empresa para determinar si el negocio que se propone será bueno o malo, y cuáles serán las estrategias que se deben desarrollar para que sea exitoso.

¿El estudio de factibilidad se lo debe hacer antes o después de la planificación? ¿En qué consiste el análisis de opciones? Es un método para el análisis de los proyectos y una herramienta gerencial que ayuda a capturar algunas de las ventajas que se deslizan a través de las grietas bajo métodos existentes del análisis. Una vez que se identifica la misión y los objetivos de la compañía se deberá proponer múltiples opciones de como lograrlo. Cada una de estas opciones es un proyecto que deberá ser evaluado. Entre más opciones se generen, la posibilidad de encontrar la más adecuada aumenta El análisis de opciones es un proceso lógico de decisión, que de preferencia, cuantitativamente compara los beneficios y dificultades de diferentes alternativas de solución.

¿Cuál el objetivo del análisis de opciones? ¿Cuáles los objetivos de un plan de sistemas?

a. La obtenc que respo ión de un m onda a los ob marco de ref bjetivos estr erencia para atégicos de el desarroll la organizaci o de sistema ión. as de información b. La planifi y materia cación, el se ales que inte eguimiento y rvienen en e y control de el desarrollo las actividad de un Sistem des y de los r ma de Inform recursos hum mación. anos . Mantene los sistem c er la integrid mas de inform ad de los pr mación. oductos que se obtienen a lo largo del desarrollo de d. Garantiza desarrollo r que no se o del sistema realizan cam disponen d mbios incontr de la versión rolados y qu adecuada d e todos los p e los produc participantes tos que man s en el nejan. ¿Cuáles son las actividades estructurales de la planificación, dentro de la ingeniería de software y cuáles los productos?

Las actividades estructurales que se identifican en cualquier proceso de desarrollo de software son las siguientes [3]: Comunicación, planificación, modelado, construcción y despliegue. Adicionalmente a las actividades estructurales se deben llevar a cabo las actividades globales que están relacionadas con aspectos como seguimiento y control, administración del riesgo, aseguramiento de la calidad, administración de la configuración del software entre otras. En las actividades de Comunicación, se busca identificar claramente los objetivos de los participantes y tener una idea clara de los requerimientos del software. Las actividades de Planificación tienen por objetivo, diseñar el plan del proyecto de software, en el cual se definen las actividades a desarrollar, los riesgos, los recursos, los productos y un calendario de ejecución de las actividades. En las actividades de Modelado, se realizan modelos a partir de diferentes tipos de diagramas con el fin de entender de una mejor forma los requerimientos y cada una de las especificaciones. En la Construcción, se hace la transición desde los modelos hacia la generación de código y las pruebas. En las actividades de Despliegue, se entrega el software al cliente para que lo pruebe y manifieste los cambios, tomando como punto de partida los criterios formalizados en las pruebas de aceptación. ¿Cuál es el producto de la actividad de planificación en la Ingeniería de Software? GESTION DE RIESGO  ¿Qué es la gestión de riesgo? La gestión del riesgo se define como el proceso de identificar, analizar y cuantificar las probabilidades de pérdidas y efectos secundarios que se desprenden de los desastres, así como de las acciones preventivas, correctivas y reductivas correspondientes que deben emprenderse. El riesgo es una función de dos variables: la amenaza y la vulnerabilidad. Ambas son condiciones necesarias para expresar al rie sgo, el cual se define como la probabilidad de pérdidas, en un punto geográfico definido y dentro de un tiempo específico. Mientras que los sucesos naturales no son siempre controlables, la vulnerabilidad sí lo es 

¿Es necesario realizar la gestión de riesgo? Si/no: ¿por qué? Es necesario gestionar estos riesgos de manera que su efecto sobre el proyecto sea nulo o mínimo. También existe una concepción de riesgo como oportunidad, en cuyo caso se habla de riesgos positivos. En este caso lo que se pretende mediante la gestión de riesgos es incidir sobre los factores que puedan provocar la aparición de estos riesgos. La gestión de los riesgos consta de cuatro procesos (identificación, análisis, planificación de la respuesta y supervisión y control de riesgos) que a continuación pasamos a describir.

 

¿Cuáles los pasos a seguir para realizar la gestión de riesgo de un proyecto de software? (describir en forma detallada cada uno de los pasos para la gestión de riesgo). Haga un ejemplo concreto de un riesgo gestionado.

CALENDARIZACION DE PROYECTOS DE SOFTWARE  ¿Qué es la calendarización? Es crear una red de tareas de ingenieria de software que permitan tener el trabajo justo a tiempo, esta red debe tener responsabilidades asignadas, asegurarse que dichas tareas se realizen y adaptar la red conforme los riesgon se tornen en realidad



¿En qué consiste el proceso de calendarización? De un ejemplo concreto, para un sistema pequeño.

Es seleccionar un modelo de proceso apropiado, identificando tareas de ingeniería del software que es preciso realizar; estimar la cantidad de trabajo y el número de personas , igual se conoce la fecha limite y se consideraron los riesgos . Se crea una red de tareas de ingeniería del software que permiten tener el trabajo listo a tiempo, asignar responsabilidades a cada tarea, asegurarse de de que se realice y adaptar la red conforme los riegos se vuelvan realidad.



¿Qué es el camino crítico?

El camino crítico en un proyecto es la sucesión de actividades que dan lugar al máximo tiempo acumulativo. Determina el tiempo más corto que podemos tardar en hacer el proyecto si se dispone de todos los recursos necesarios. Es necesario conocer la duración de las actividades. Este concepto es utilizado por dos métodos:



Método del tiempo estimado (CPM) La duración de una actividad es la más probable de duración. Tiempo que se emplearía en condiciones normales (m). Situación determinista.



Método del tiempo esperado (PERT) Determinación probabilística de los tiempos esperados (Te)

¿A quién le interesa conocer el camino crítico?





¿Qué información proporciona el camino crítico?

a finalidad del camino crítico es proporcionar un método eficaz para la planificación, programación, coordinación y control de progreso en sistemas complejos”. Para resolver los diferentes casos se emplean métodos gráficos especiales, y frecuentemente ordenadores que, con datos de las tareas a realizar y una matriz de correlación, permiten obtener un proyecto optimizado según distintas condiciones, ejecutable según un diagrama calendario donde se podrá controlar fácilmente y reprogramar las veces que sea necesario   

¿Es lo mismo camino crítico o tarea crítica? ¿Cómo se identifican las tareas a realizar? ¿Las tareas a realizar deben ser generales o específicas?

MÉTRICAS EN EL DESARROLLO DE SOFTWARE  ¿Qué es necesario estimar?  ¿Qué se mide?, ¿con qué se mide?  ¿Qué es una métrica? COSTOS DEL SOFTWARE  ¿Cuáles son los criterios para fijar precios al software? Fijar precios es un problema cuando una empresa debe determinarlos por primera vez. Esto sucede cuando desarrolla o adquiere un producto nuevo, cuando introduce su producto regular en un nuevo mercado o a un nuevo canal de distribución, y cuando participa de una licitación. La empresa debe decidir dónde situar su producto en calidad y precio. Puede colocar su producto en el punto medio del mercado o tres niveles por debajo o por encima del punto medio. Los niveles son los siguientes: 

Supremo.



Lujo.



Necesidades especiales.



Intermedio.



Comodidad / conveniencia.



Yo también, pero más barato.



Sólo el precio.



¿Cuáles son los componentes del costo de un proyecto de software? Entre los componentes del plan de trabajo se encuentran los estimados de costos. Entre las características relacionadas con los estimados de costos se encuentran las siguientes: • Los estimados se necesitan antes

de que comience el desarrollo • Se utiliza para competir en las subastas • Se utiliza para el control del proyecto • La exactitud del estimado aumenta con las fases del proyecto 

¿De los componentes del costo cuál es el más importante? y ¿por qué?

Las siguientes funciones son las más importantes cuando hablamos en términos generales: 

La principal función de los presupuestos se relaciona con el control financiero de la organización.



El control presupuestario es el proceso de descubrir qué es lo que se está haciendo, comparando los resultados con sus datos presupuestados correspondientes para verificar los logros o remediar las diferencias.



Los presupuestos podrán desempeñar tanto roles preventivos como correctivos dentro de la organización.



Los presupuestos son útiles en la mayor parte de las organizaciones como: utilitaristas (compañías de negocios), no-utilitaristas (agencias gubernamentales), grandes (multinacionales, conglomerados) y pequeñas empresas.

ESTIMACIÓN DE RECURSOS: LÍNEAS DE CÓDIGO Y PUNTOS DE FUNCIÓN  ¿En base a qué parámetros se puede calcular el costo de un proyecto y/o su duración?  ¿Cuáles son las métricas que existen para medir el tamaño o complejidad de un software?

En el mundo del software, existen tres categorías de métricas: métricas del producto (es decir, del software en sí mismo), métricas del proceso (de desarrollo) y métricas del proyecto. Las métricas del producto describen características como el tamaño, la complejidad, el rendimiento, etc, etc. La medida que desarrolla ToroMetrics (y que llamaremos LOCE (Equivalencia en Número de Líneas de Código)) relaciona el tamaño del código con su complejidad, de tal forma que intenta asociar al código un número. Este número ayudaría a:  Estimar el número de errores en el código.  El esfuerzo que requiere testearlo y/o mantenerlo.  El tiempo que requiere su desarrollo.



Comparar diferentes trozos de código.



¿Cuáles son las métricas que existen para medir la productividad del software?



Las métricas de software se refieren aun amplio rango de medidas para el software de computadoras dentro del contexto de la planificación del proyecto de software, las métricas de calidad pueden ser aplicadas a organizaciones, procesos y productos los cuales directamente afectan a la estimación de costos.



Las mediciones en el mundo físico pueden ser catalogadas en dos campos: medidas directas (por ej. La longitud de un tornillo), y medidas indirectas (por ej. Calidad de tornillos producidos, medida por la cuenta de los tornillos rechazados). Las métricas de software pueden ser catalogadas de forma parecida.



Se puede clasificar en:



Métricas de productividad, se centran en el rendimiento del proceso de la ingeniería de software. Métricas de Calidad, proporcionan una indicación de cómo se ajusta el software, a los requerimientos implícitos y explícitos del cliente. Métricas Técnicas, se centran en el carácter del software mas que en el proceso, a través del cual el software a sido desarrollado. Métricas Orientadas al tamaño, son utilizadas para obtener medidas directas del resultado y la calidad de la ingeniería del software. Métricas Orientadas a la Función, son medidas indirectas del software y del proceso por el cual se desarrollará; se centran en la funcionalidad o utilidad del programa (Puntos de Función) Métricas Orientadas a la persona, consiguen información sobre la forma en que la gente desarrolla software de computadora y sobre el punto de vista humano de la efectividad de las herramientas y métodos.

 

Haga un ejemplo concreto de estimación de costos utilizando líneas de código ¿Qué son los puntos de función?

ESTIMACIÓN DE RECURSOS: MODELOS DE ESTIMACIÓN DE COSTOS  ¿Qué son los modelos de estimación de costos? Y ¿ qué métricas utilizan la mayoría de estos modelos? Y ¿por qué?  ¿Por qué existen muchos modelos de estimación de costos?  ¿Todos los modelos de estimación son adecuados para estimar cualquier proyecto de software? Si/no, ¿por qué?  Explica en qué consiste el modelo de estimación de recursos COCOMO 81 y COCOMO II.  Haga un ejemplo concreto de estimación de costos utilizando COCOMO 81 y COCOMO II. EJERCICIO 1: Dada la siguiente tabla para un sistema CAD, que muestra las funciones identificadas para elsistema y sus correspondientes estimados del tamaño de cada función de software:

Función Interfaz de usuario y facilidades de control Análisis geométrico de dos dimensiones Análisis geométrico de tres dimensiones Gestión de BD Facilidades de presentación gráfica Control de periféricos Módulos de análisis de diseño

LDC optimist a

LDC Probabl e

LDC pesimist a

1800

2100

3000

4000

5100

7000

5200 1160

6600 2400

8100 4500

3300 1100 7800

4750 1900 8200

7345 4200 9700

Estimar:  El tamaño del proyecto en líneas de código Dado que un ingeniero de sistemas gana $1.800.000, i. Cuál el costo del proyecto estimado si la productividad esperada es de 620 LDC/mes? ii. En cuantos meses se acabará el proyecto si el número de ingenieros de la empresa es de 4?  ¿Cuál el tamaño (complejidad) en puntos de función dado que el cálculo de tamaño en LDC se realizó para VISUAL BASIC? ¿Cuál es el costo del proyecto, si la productividad que se tiene en la empresa es de 6.5 PF/mes?  ¿Cuántas líneas de código tendríael sistema si el proyecto se realiza en ENSAMBLADOR?  ¿Cuántas líneas de código tendríael sistema si el proyecto se realiza en PASCAL?

EJERCICIO 2: 1. De acuerdo al tamaño de proyecto estimado en el anterior ejercicio estimar el esfuerzo, costo, el tiempo y el número de ingenieros mes (para esto asumir que un ingeniero gana $1.800.000/mes) en base a los modelos de: a. ¿COCOMO'81 para M=1, para un proyecto simple? b. ¿COCOMO'81 para M=1, para un proyecto incrustado? 1. Calcular con COCOMO II, a. Nivel inicial: para el anterior proyecto M = 1, conociendo que la productividad de mis ingenieros es MUY BAJA y que la relación de líneas de código por puntos de objeto es: 85 LDC/PON (1.25 PON/PF), y que el nivel de reutilización es del 10%. b.

Nivel de diseño: para un nuevo proyecto para el cual se tiene 340 PF, (asumir que el proyecto se realizará en Pascal) , para a. para un proyecto conocido con M=1 b. para un proyecto novedoso con M=1, con M=1,4