Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
UNICAH
En la actualidad una enorme industria del software se ha convertido en un factor dominante en la economa del mundo industrializado. El programador solitario de la era inicial ha sido sustituido por equipos de especialistas en software, en los que cada uno se enfoca en una parte de la tecnologa requerida para desarrollar una aplicacin compleja.
Por que es imposible encontrar todos los errores en el software antes de entregarlo a los clientes?
Por qu se gastan tanto tiempo y esfuerzo en el mantenimiento de los programas existentes? Por qu es difcil medir el progreso al desarrollar y darle mantenimiento al software?
El Software
El software se forma con
1. Las instrucciones(Programa de Computadora) que al ejecutar se proporcionan las caractersticas, funciones y el grado de desempeo deseados
2. Las estructuras de datos que permiten que los programas manipulen informacin de manera adecuada
3. Los documentos que describen la operacin y el uso de los programas.
Software emportado
Software de lnea de producto Aplicaciones basadas en web
3. El software debe extenderse para hacerlo operable con sistemas y base de datos mas modernas 4. El software debe redisearse para hacerlos viable dentro de un ambiente de red
Mitos de la Administracin
Los administradores con responsabilidades sobre el software , al igual que sus pares en las mayoras disciplinas, a menudo esta bajo presin por mantener los presupuestos, evitar que los itinerarios se extiendan y mejorar la calidad. De la misma forma que una persona se aferra a un tronco, con frecuencia el administrador del software se aferra a un mito si siente que esta creencia reducir la presin.
Mitos de la Administracin
Ya se tiene un libro lleno de estndares y procedimientos para construccin de software Esto proporcionara a mi gente todo el conocimiento necesario?
Si se esta atrasado en el itinerario es posible contratar a mas programadores para as terminar tiempo. Si decido subcontratar el proyecto de software a un tercero, puedo relajarme y dejar que esa compaa la construya
El nico producto del trabajo que puede entregarse para tener un proyecto exitoso es el programa en funcionamiento.
La ingeniera del software obligara a emprender la creacin de una documentacin voluminosa innecesaria y de manera invariable tornara mas lento el proceso
Los mtodos abarcan un amplio espectro de tareas que incluyen la comunicacin, el anlisis de requisitos, el modelo de diseo, la construccin, las pruebas y el soporte.
Las herramientas de la ingeniera del software proporcionan el soporte automatizado para el proceso y los mtodos.
Marco de Trabajo
Despliegue: el software completo o ya sea un incremento completado de manera parcial se debe entregar al cliente, quien evala el producto recibido y proporcin informacin basada en su evaluacin
Actividades Sombrilla
Seguimiento y control del proyecto de software: permite que el equipo de software evalu el progreso comparndolo con el plan del proyecto y as tomar las acciones necesarias para mantener el programa. Gestin de riesgo: Evala los riesgos que pudieran afectar los resultados del proyecto o la calidad del producto. Aseguramiento de la calidad del software: define las actividades requeridas para asegurar la calidad del software Revisiones tcnicas formales: Evala los productos del trabajo de la ingeniera de software en un esfuerzo encaminado a descubrir y eliminar los errores antes de que estos se propaguen hacia la siguiente accin o actividad.
Actividades Sombrilla
Medicin: Define y recolecta mediciones del proceso, el proyecto y el producto para ayudar al equipo a entregar software que satisfaga la necesidades del cliente. Gestin de la configuracin del software: Maneja los efectos del cambio a travs del proceso del software. Gestin de la reutilizacin: Define los criterios para la reutilizacin de productos del trabajo. Preparacin y produccin del producto de trabajo: Abarca las actividades requeridas para crear productos del trabajo como modelos, documentos, registros, formatos y listas.
1. El modelo continuo
2. El modelo discreto
Modelo Continuo
Cada rea del proceso se evala de manera formal contra las metas y practicas especificas y se clasifican de acuerdo con los siguientes niveles de capacidad:
Nivel 0: Incompleto
Nivel 1: Realizado
Nivel 2: Administrado Nivel 3: Definido
Prueba # 1
En el tema El Papel evolutivo del Software Explique lo concerniente a El Papel que tiene el Software en la Actualidad
Del tema El Software Describa los elementos con los que se forma el Software Cual es la realidad del mito del cliente Los requerimientos del proyecto cambian de manera continua, pero el cambio puede ajustarse con facilidad por que el software es flexible
4. Desarrollo
5. Anlisis del resultado
El PSP destaca la necesidad que tiene cada ingeniero de identificar los errores desde el principio y la importancia de entender los tipos de errores que suele cometer.
Acelerar el mejoramiento del proceso de software al realizar, con el comportamiento normal esperado, el nivel 5 del MCM
Ofrecer una gua de mejoramiento a organizaciones de alta madurez. Facilitar la enseanza universitaria de habilidades de equipo industrial de calidad.
Escrito de Lanzamiento
Revisar los objetivos del proyecto con la gestin y acordar documentar las metas del equipo
Establecer las funciones del equipo Definir el proceso del desarrollo del equipo Elaborar un plan de calidad y los objetivos de calidad Preparar un plan para las necesidades de soporte necesarias Producir una estrategia de desarrollo general
Escrito de Lanzamiento
Elaborar un plan de desarrollo para el proyecto en su totalidad
Hacer planes detallados para cada ingeniero en la siguiente fase
Producto y Proceso
Si el proceso es dbil, sin duda el producto final sufrir las consecuencias. Asimismo una confianza excesiva en el proceso es peligrosa.
Sin duda, el sistema ideal, si se pudiera obtener, seria un cdigo tan flexible y diminuto como para proveer por anticipado en cada situacin concebible una regla exacta. Pero la vida es demasiado compleja para obtener esta idea incluso con todo el poder humano
Producto y Proceso
El trabajo que realiza la gente de software cambiara en los aos que siguen. La dualidad del producto y el proceso es un elemento importante para mantener a la gente creativa comprometida mientras finaliza la transicin desde la programacin hasta la ingeniera del software.
MODELOS PRESCRIPTIVOS
Cualquier organizacin de ingeniera del software debe describir un conjunto nico de actividades dentro del maco de trabajo para los procesos de software que adopten. Cada accin de ingeniera debe definirse como un conjunto de tares que definen el trabajo y el producto de trabajo que se necesitan para alcanzar las metas de desarrollo.
Prueba # 2
Explique los Estratos de la ingeniera del Software
Puesto que ninguna parte de quiere hacer la planificacin, con frecuencia no se realiza.
Las fallas para planificar es uno de los mayores errores que un proyecto pueda cometer. Se necesita la planificacin eficaz para resolver problemas a bajo costo. Un proyecto en promedio gasta 80% de su tiempo en reelaboracin; corrigiendo errores que se cometieron ene etapas tempranas del proyecto
Que Es?
Cuando ya se ha establecido una necesidad real para el software; cuando ya estn listos todos los participantes; los ingenieros ya estn listos para comenzar y el proyecto ya esta a punto de comenzar Como Proceder?
Estimacin Programa de trabajo Anlisis de riesgos Planificacin de la gestin de la calidad Planificacin de la gestin del cambio
Quien lo hace?
Los gestores de proyecto de software, con base a la informacin solicitada de los participantes e ingenieros de software y los datos de las mtricas recopiladas en proyectos anteriores
El grado de la estimacin se mide por el grado de incertidumbre en las estimaciones cuantitativas establecidas para recursos, costos y programa de trabajo.
En los enfoques modernos de la ingeniera del software como el modelo incremental se asume una visin iterativa del desarrollo.
El Proceso de Planificacin
El objetivo de planificacin del proyecto de software es proporcionar un marco de trabajo que permita la gestor estimar razonablemente recursos, costos y programa de trabajo.
El plan se debe adaptar y actualizar conforme avance el proyecto
El Proceso de Planificacin
Consejo
La factibilidad del proyecto es importante, pero una consideracin de las necesidades del negocio es incluso mas importante. No es bueno construir un sistema o producto de alta tecnologa que nadie quiere
Recursos
La segunda tarea de la planificacin es la estimacin de los recursos necesarios para completar el esfuerzo de desarrollo de software:
Personal
Recursos Humanos
El planificador comienza evaluando el mbito del software y seleccionando las habilidades requeridas para completar el desarrollo.
Se especifican la posicin organizacional (gestor, ingeniero de software ejecutivo), la especialidad (telecomunicaciones, BD) El numero de personas que requiere un proyecto de software solo se determina despus de que se ha hecho la estimacin del esfuerzo por ejemplo: Personas - Mes
Para lograr una estimacin confiable de costo y esfuerzo se deben considerar estas opciones:
1. Demorar la estimacin hasta mas tarde en el proyecto 2. Basar las estimaciones en proyectos similares que hayan sido completados 3. Emplear tcnicas de descomposicin relativamente simples para generar estimaciones de costo y esfuerzo del proyecto 4. Utilizar uno o mas modelos empricos en la estimacin de costo y esfuerzo
Tcnicas de Descomposicin
Tamao del Software
Puesto que la estimacin de un proyecto solo es tan buena como la estimacin del tamao del trabajo para realizarlo, el tamao representa el primer gran desafo del planificador del proyecto. Como se mide el tamao del software que se planea construir? Tamao de lgica difusa Tamao de punto de funcin Tamao de componentes estndar
2. Como mtricas de lnea base de recolectadas de proyectos previos y utilizarlos para desarrollar proyecciones de costo y esfuerzo.
Al estimar los datos de LDC y PF se podrn aplicar las mtricas de la lnea base de productividad a la variable de estimacin por ejemplo LDC/pm o PF/pm. Las estimaciones de funcin se combinan para producir una estimacin global de proyecto completo. Sin embargo, es importante notar que con frecuencia existe una dispersin sustancial en las mtricas de productividad de una organizacin, lo que hace sospechoso el uso de una sola mtrica de lnea base de productividad
Prueba
Explique la Tarea de Definir los Recursos Requeridos
Para lograr una estimacin confiable de costo y esfuerzo se deben considerar estas opciones:
Los casos de uso se describen empleando muchos formatos y estilos diferentes; no existe un formato estndar
Los casos de uso representan una visin externa del software y con frecuencia estn escritos con diferentes grados de abstraccin
Los casos de uso no abordan la complejidad de las funciones ni de las caractersticas que se describen
Los casos de uso no describen el comportamiento complejo que involucran muchas funciones y caractersticas
A diferencia de las LDC y PF, el caso de uso de una persona tal vez requiera meses de esfuerzo mientras que el de otra quiz se implemente en un da o dos por lo que al da de hoy no existe un mtodo de estimacin probado
Reconciliacin de Estimaciones
Cuando la concordancia entre las estimaciones es insuficiente se requiere reevaluar la informacin con que se hicieron las estimaciones.
Causas
PF Modelo de Albrecht y Gaffney Modelo de Kemerer Modelo de regresin para proyecto pequeo
Modelo COCOMO II
COnstructive COst MOdel (Modelo Constructivo de Costos)
El Modelo COCOMO original se volvi uno de los mas ampliamente utilizados y estudiados de modelos de estimacin de costo de software en la industria.
COCOMO II es en realidad una jerarqua de modelo de estimacin que aborda las reas siguientes:
Modelo de Composicin de la Aplicacin: se emplea durante las primeras etapas de la ingeniera de software
Modelo de Etapa de Diseo Temprano: se utiliza una vez que se han establecido los requisitos y la arquitectura bsica del software.
Modelo de Etapa Posterior a la Arquitectura: se emplea durante la construccin del software
Al igual que los modelos de estimacin de software, los modelos COCOMO II requieren informacin del tamao. (Puntos objeto, PF y LDC)
El punto de objeto es una medida indirecta de software que se calcula mediante conteos de numero de:
Pantallas (Interfaz de Usuario) Reportes Componentes que probablemente se requieran para construir una aplicacin Cada instancia de objeto se clasifica en uno de tres niveles (Simple, Medio o Dificil
5. Multiplicar el numero total de clases por el promedio de unidades de trabajo por clase (sugerencia de 15 a 20 personas)
6. Comprobar de manera cruzada la estimacin basada en clase al multiplicar el numero promedio de unidades de trabajo por caso de uso
2. El escenario se descompone en el conjunto de funciones y tareas de ingeniera del software que se requieran para desarrollarlo
3. A. Cada tarea se estima por separado (Datos histricos, modelo emprico o experiencia) B. Alternativamente el tamao del escenario se puede estimar en LDC, PF y PO 4. A. La estimacin de cada tarea se suman para tener la estimacin del escenario
B. Alternativamente, el volumen estimado para el escenario se traduce en esfuerzo 5. Las estimaciones de esfuerzo acerca de todos los escenarios se suman para tenerla estimacin de esfuerzo por incremento