El software es un conocimiento materializado que en un principio es disperso, tacito, latente e incompleto el desarrollo de software es un principio de aprendizaje social. El proceso de construccion de software consiste en un dialogo en el cual el conocimiento que el software debe convertir se conjunta y se materializa en este ultimo. De manera que la construccion de software es un proceso iterativo de aprendizaje es una materializacion del conocimiento recolectado, depurado y organizado de acuredo a un proceso de ejecucion.
El proceso del software puede comapararse a un mapa de carretera el cual nos indica el punto donde nos encontramos y el punto al cual queremos llegar, de manera analoga el proceso de software nos indica una serie de pasos predecibles para llegar a la construccion de un software de calidad.
Definir un proceso en el desarrollo de software nos provee estabilidad, control y organizacion a una actividad que puede volverse caotica si no se se controla. en este punto vemos que un enfoque de ingenieria de software moderno esta orientado a ser "agil" y requiere solo aquellas actividades, controles y documentaicion apropidadas para el equipo y producto que ha de generarse.
Los pasos para lograr un software de calidad varian desde el proyecto que se desarrolla no es lo mismo producir un software que controle las actividades dentro de un satellite espacial que desarrollar una pagina de compras web. El producto obtenido son programas, documentacion y datos que se producen a partir de las tareas y actividades definidas en el proceso.
PROCESO DE SOFTWARE: Es un marco de trabajo para las tareas que se requieren en la construccion de software de alta calidad.
INGENIERIA DEL SOFTWARE: Establecimiento y uso de principios solidos de la ingenieria para obtener economicamente un software confiable y que funcione de modo eficiente en distintas maquinas.
la aplicacion de un enfoque sistematico, disciplinado y cuantificable al desarrollo, operacion y mantenimiento del software es decir la aplicacion de la ingenieria de software.

la imagen anterior nos muestra que la ingenieria de software es estratificada y cualquier enfoque que se le desee dar debe estar relacionado a la calidad.
Y por lo tanto el enfoque de calidad es la base de la ingenieria de software.
Los procesos en la ingenieria de software son los elementos que mantienen unido los estratos de la tecnologia y permite el desarrollo racional y a tiempo del software de computadora estos proveen un marco de trabajo y forma la base de control para la gestino de proyectos. Ademas establece el contexto sobre el cual se aplican los metodos tecnicos, se generan los productos se establecen los fundamentos se asegura la calidad y como se maneja el cambio.
los metodos en la ingenieria de software proporcionan los como tecnicos para construir software los como abarcan tareas que incluyen comunicacion, analisis de requisitos, modelado de diseño, construccion del programa, la realizacion de pruebas y soporte.
Un marco de trabajo para el proceso establece o identifica un numero pequeño de actividades aplicables a todos los proyectos de software sin importar tamaño o complejidad.
un marco de trabajo generico puede tener las siguientes actividades
comunicacion: investigacion de requistios y colaboracion con el cliente
planeacion:tareas, riesgos, recursos, productos y programa de trabajo
modelado: desarrollo de modelos para tanto cliente como desarrollador entiendan los requisitos.
construccion generacion de codigo
Despliegue: evaluacion del producto por parte del cliente
las actividades generales se complementan por actividades sombrilla estas se enfocan en la gestion rastreo y control del proyecto, podemos mencionar.
Seguimiento y control del proyecto de software
Gestion de riesgo
Aseguramiento de la calidad
Revisiones tecnicas formales
mediciones
Gestion de la configuracion
Gestion de la reutilizaicon
Preparacion y produccion de productos de trabajo
Es de vital importancia que cualquier modelo de proceso implica una adaptacion, a la cultura organizacional, al problema, al proyecto para poder aspirar a tener exito.
Los modelos se aplican para lograr tener exito dentro del proyecto pero si estos no se adaptan a las condiciones dadas estos solamente pueden aumentar la burocracia y por ello surgen los metodos aguiles que hacen enfasis en la manejabilidad y adaptabilidad.
CMMI representa un modelo completo de proceso den dos formas diferentes continuo y discreto, el modelo continuo de CMMI describe un proceso en dos dimenciones nivel de capacidad y area de proceso. Cada area de proceso se evalua de manera formal contra metas y practicas especificas y se clasifica de acuerdo a los niveles decapacidad.
Inicial o incompleto el area del proceso aun no se realiza o no se alcancan aun las metas y objetivos para el nivel 1
Realizado o repetible. todas las metas especificas del area de proceso, como han sido definidas por CMMI han sido satisfechas las tareas especificas para reproducir el producto han sido satisfechas.
Administrado. todo el trabajo asociado con el area del proceso se ajusta a una politica organizacional definida.
Definido. el proceso esta adaptado al conjunto de procesos estandar de la organizaicon de acuerdo a las politicas de adaptacion de esta misma y contribuyen a la informacion de los productos de trabajo mediciones y otras mejorias del proceso para los activos del proceso organizaiconal.
Administrado de forma Cuantitativa. el area de proceso se controla y mejora mediante mediciones y evalucacion cuantitativa
Mejorado. el area de proceso se adapta y se mejora mediante el uso de medios cuantitativos estadisticos, para conocer las necesidades del cliente y mejorar de manera continua la eficacia del area de procesos que se esta considerando
El CMMI puede o no ser adoptado por empresas y es recomendable ser adoptado por empresas muy grandes que requieren muchos programadores y generan cientos de miles de lineas de codigo a un que empresas pequeñas no deben desecharla por completo y tomar cuestines del espiritu de la misma que nos instan a generar software de calidad.
Es importante generar patrones o plantillas que nos indiquen como realizar determinada actividad o tarea dentro del proceso estos por lo general pueden tener nombre, proposito, tipo, contexto inicial, el problema que resuelve, la solucion, el contexto resultante y patrones relacionados, usos conocidos.
la utilizacion de procesos por si sola no implica el software sera entregado a tiempo y con calidad, estos procesos deben evaluarse de la siguiente manera

existen distintas formas de evaluar procesos entre ellas
el metodo de CMMI llamado MEIEMP
ABC MPI
SPICE (ISO/IEC5504)
ISO 9001:2000 para software
Un buen modelo de proceso es aquel que esta cerca de la gente que realizara el trabajo y es importante que cada ingeniero de software pueda crear procesos que puedan satisfacer necesidades personales como necesidades de equipo lo cual segun algunos autores puede lograrse con dedicacion.
El modelo PSP proceso de software personal resalta la medida personal del trabajo que se produce y la calidad resultante del producto este modelo define 5 actividades marco.
Planeacion
Diseño a alto nivel
Revision del diseño a alto nivel
Desarrollo
Analisis de resultados
PSP destaca la necesidad de registrar y analizar los tipos de errores que se cometen para desarrollar estrategias encaminadas o eliminarlas, nos presenta un enfoque disciplinado basado en mediciones, la industria no ha adoptado PSP debido a la naturaleza humana e inercia institucional y aun que no sea adoptado al 100% es importante tomar conceptos pra mejorar la caliad de productos desarrollados.
PSE proceso de software de equipo, la meta de este es formar equipos autodirigidos que se organice para producir software de alta calidad. los objetivos son los siguientes.
construir equipos autodirigidos que planeen y tengan seguimiento de su trabajo establescan sus metas y posean sus procesos y planes.
mostrar a los jefes como preparar y motivar a sus equipos y como ayudarlos a sostener un alto desempeño.
acelerar el mejoramiento del proceso de software al realizar el comportamiento normal y esperado de un nivel 5 CMMI
ofrecer una guia de mejoramiento de alta madurez
facilitar la enseñanza universitaria de habilidades industriales de equipo de alta calidad.
PSE define las siguientes actividades dentro de un marco de trabajo
lanzamiento
diseño de alto nivel
implementacion
integracion y pruebas
analisis de resultados
PSE utiliza tambien una gran variedad de estandares y escritos para guiar a los miembros del equipo los escritos definen actividades especificas del proceso y otras funciones mas detalladas del trabajo que son parte del proceso de equipo.
Existen diferentes tecnologias que sin duda apoyaran a la implementacion de procesos para su seguimiento revision llamadas herramientas de gestion de proceso y ayudan a entender los procesos con mayor claridad.
con un proceso debil el producto sufrira las consecuencias por otra parte tampoco se debe confiar de manera exesiva en el proceso
El desarrollo de software de calidad debe ser acompañado de un proceso definido este puede cambiar dependiendo del contexto para empresas grandes o pequeñas, software critico o trivial, etc. pero se debe tener planteado hacia donde se quiere llegar y que pasos se deben cubrir tener metas intermendias establecidas de manera que se puedan estimar costos asi como tiempos promedios de desarrollo.
El proceso del software puede comapararse a un mapa de carretera el cual nos indica el punto donde nos encontramos y el punto al cual queremos llegar, de manera analoga el proceso de software nos indica una serie de pasos predecibles para llegar a la construccion de un software de calidad.
Definir un proceso en el desarrollo de software nos provee estabilidad, control y organizacion a una actividad que puede volverse caotica si no se se controla. en este punto vemos que un enfoque de ingenieria de software moderno esta orientado a ser "agil" y requiere solo aquellas actividades, controles y documentaicion apropidadas para el equipo y producto que ha de generarse.
Los pasos para lograr un software de calidad varian desde el proyecto que se desarrolla no es lo mismo producir un software que controle las actividades dentro de un satellite espacial que desarrollar una pagina de compras web. El producto obtenido son programas, documentacion y datos que se producen a partir de las tareas y actividades definidas en el proceso.
PROCESO DE SOFTWARE: Es un marco de trabajo para las tareas que se requieren en la construccion de software de alta calidad.
INGENIERIA DEL SOFTWARE: Establecimiento y uso de principios solidos de la ingenieria para obtener economicamente un software confiable y que funcione de modo eficiente en distintas maquinas.
la aplicacion de un enfoque sistematico, disciplinado y cuantificable al desarrollo, operacion y mantenimiento del software es decir la aplicacion de la ingenieria de software.
la imagen anterior nos muestra que la ingenieria de software es estratificada y cualquier enfoque que se le desee dar debe estar relacionado a la calidad.
Y por lo tanto el enfoque de calidad es la base de la ingenieria de software.
Los procesos en la ingenieria de software son los elementos que mantienen unido los estratos de la tecnologia y permite el desarrollo racional y a tiempo del software de computadora estos proveen un marco de trabajo y forma la base de control para la gestino de proyectos. Ademas establece el contexto sobre el cual se aplican los metodos tecnicos, se generan los productos se establecen los fundamentos se asegura la calidad y como se maneja el cambio.
los metodos en la ingenieria de software proporcionan los como tecnicos para construir software los como abarcan tareas que incluyen comunicacion, analisis de requisitos, modelado de diseño, construccion del programa, la realizacion de pruebas y soporte.
Un marco de trabajo para el proceso establece o identifica un numero pequeño de actividades aplicables a todos los proyectos de software sin importar tamaño o complejidad.
un marco de trabajo generico puede tener las siguientes actividades
comunicacion: investigacion de requistios y colaboracion con el cliente
planeacion:tareas, riesgos, recursos, productos y programa de trabajo
modelado: desarrollo de modelos para tanto cliente como desarrollador entiendan los requisitos.
construccion generacion de codigo
Despliegue: evaluacion del producto por parte del cliente
las actividades generales se complementan por actividades sombrilla estas se enfocan en la gestion rastreo y control del proyecto, podemos mencionar.
Seguimiento y control del proyecto de software
Gestion de riesgo
Aseguramiento de la calidad
Revisiones tecnicas formales
mediciones
Gestion de la configuracion
Gestion de la reutilizaicon
Preparacion y produccion de productos de trabajo
Es de vital importancia que cualquier modelo de proceso implica una adaptacion, a la cultura organizacional, al problema, al proyecto para poder aspirar a tener exito.
Los modelos se aplican para lograr tener exito dentro del proyecto pero si estos no se adaptan a las condiciones dadas estos solamente pueden aumentar la burocracia y por ello surgen los metodos aguiles que hacen enfasis en la manejabilidad y adaptabilidad.
CMMI representa un modelo completo de proceso den dos formas diferentes continuo y discreto, el modelo continuo de CMMI describe un proceso en dos dimenciones nivel de capacidad y area de proceso. Cada area de proceso se evalua de manera formal contra metas y practicas especificas y se clasifica de acuerdo a los niveles decapacidad.
Inicial o incompleto el area del proceso aun no se realiza o no se alcancan aun las metas y objetivos para el nivel 1
Realizado o repetible. todas las metas especificas del area de proceso, como han sido definidas por CMMI han sido satisfechas las tareas especificas para reproducir el producto han sido satisfechas.
Administrado. todo el trabajo asociado con el area del proceso se ajusta a una politica organizacional definida.
Definido. el proceso esta adaptado al conjunto de procesos estandar de la organizaicon de acuerdo a las politicas de adaptacion de esta misma y contribuyen a la informacion de los productos de trabajo mediciones y otras mejorias del proceso para los activos del proceso organizaiconal.
Administrado de forma Cuantitativa. el area de proceso se controla y mejora mediante mediciones y evalucacion cuantitativa
Mejorado. el area de proceso se adapta y se mejora mediante el uso de medios cuantitativos estadisticos, para conocer las necesidades del cliente y mejorar de manera continua la eficacia del area de procesos que se esta considerando
El CMMI puede o no ser adoptado por empresas y es recomendable ser adoptado por empresas muy grandes que requieren muchos programadores y generan cientos de miles de lineas de codigo a un que empresas pequeñas no deben desecharla por completo y tomar cuestines del espiritu de la misma que nos instan a generar software de calidad.
Es importante generar patrones o plantillas que nos indiquen como realizar determinada actividad o tarea dentro del proceso estos por lo general pueden tener nombre, proposito, tipo, contexto inicial, el problema que resuelve, la solucion, el contexto resultante y patrones relacionados, usos conocidos.
la utilizacion de procesos por si sola no implica el software sera entregado a tiempo y con calidad, estos procesos deben evaluarse de la siguiente manera

existen distintas formas de evaluar procesos entre ellas
el metodo de CMMI llamado MEIEMP
ABC MPI
SPICE (ISO/IEC5504)
ISO 9001:2000 para software
Un buen modelo de proceso es aquel que esta cerca de la gente que realizara el trabajo y es importante que cada ingeniero de software pueda crear procesos que puedan satisfacer necesidades personales como necesidades de equipo lo cual segun algunos autores puede lograrse con dedicacion.
El modelo PSP proceso de software personal resalta la medida personal del trabajo que se produce y la calidad resultante del producto este modelo define 5 actividades marco.
Planeacion
Diseño a alto nivel
Revision del diseño a alto nivel
Desarrollo
Analisis de resultados
PSP destaca la necesidad de registrar y analizar los tipos de errores que se cometen para desarrollar estrategias encaminadas o eliminarlas, nos presenta un enfoque disciplinado basado en mediciones, la industria no ha adoptado PSP debido a la naturaleza humana e inercia institucional y aun que no sea adoptado al 100% es importante tomar conceptos pra mejorar la caliad de productos desarrollados.
PSE proceso de software de equipo, la meta de este es formar equipos autodirigidos que se organice para producir software de alta calidad. los objetivos son los siguientes.
construir equipos autodirigidos que planeen y tengan seguimiento de su trabajo establescan sus metas y posean sus procesos y planes.
mostrar a los jefes como preparar y motivar a sus equipos y como ayudarlos a sostener un alto desempeño.
acelerar el mejoramiento del proceso de software al realizar el comportamiento normal y esperado de un nivel 5 CMMI
ofrecer una guia de mejoramiento de alta madurez
facilitar la enseñanza universitaria de habilidades industriales de equipo de alta calidad.
PSE define las siguientes actividades dentro de un marco de trabajo
lanzamiento
diseño de alto nivel
implementacion
integracion y pruebas
analisis de resultados
PSE utiliza tambien una gran variedad de estandares y escritos para guiar a los miembros del equipo los escritos definen actividades especificas del proceso y otras funciones mas detalladas del trabajo que son parte del proceso de equipo.
Existen diferentes tecnologias que sin duda apoyaran a la implementacion de procesos para su seguimiento revision llamadas herramientas de gestion de proceso y ayudan a entender los procesos con mayor claridad.
con un proceso debil el producto sufrira las consecuencias por otra parte tampoco se debe confiar de manera exesiva en el proceso
El desarrollo de software de calidad debe ser acompañado de un proceso definido este puede cambiar dependiendo del contexto para empresas grandes o pequeñas, software critico o trivial, etc. pero se debe tener planteado hacia donde se quiere llegar y que pasos se deben cubrir tener metas intermendias establecidas de manera que se puedan estimar costos asi como tiempos promedios de desarrollo.
Comentarios