Ir al contenido principal

SOFTWARE E INGENIERIA DE SOFTWARE II

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.

Comentarios

Entradas populares de este blog

DISEÑO AL NIVEL DE COMPONENTES

El diseño a nivel de componentes se presenta a menudo despues que se ha terminado la primera iteracion del diseño arquitectonico. y  el objetivo de esta fase es traducir el diseño en software operaciona. El diseño a nivel de componentes define las estructuras de datos, los algoritmos, las caracteristicas de la interfaz  y los mecanismos de comunicacion asignados a cada componente de software. esta fase permite revisar si los detalles de diseño son correctos y consistentes con las representaciones iniciales de diseño ¿QUE ES UN COMPONENTE? Es un bloque de construccion modular par el software de computo. una parte modular desplegable y reemplazable de un sistema que encapsula implementacion y expone un conjunto de interfaces. desde el punto de vista orientado a objetos un componente es un conjunto de clases ques se interrelacionan entre si. en el contexto convencional de ingenieria de software  un componente es un elemento funcional que incorpora  la logica del procesamiento y

ESTRATEGIAS DE PRUEBAS DE SOFTWARE

La estrategia de pruebas de software proporciona un mapa que describe los pasos que se daran como parte de la prueba indica cuando se planea y cuando se daran dichos pasos ademas cuanto tiempo, esfuerzo y recursos consumiran. un software se prueba para descubrir los errores cometidos, si se realiza sin ningun plan seguramente se desperdiciara tiempo, se dedicara un esfuerzo innecesario y lo que es peor puede que no se detecten los errores. Las pruebas se deben planificar con anticipacion y realizarlas de manera sistematica por lo que es importante tener una plantilla existen diferentes y en general tienen los siguientes pasos. 1. Revisiones tecnicas formales y efectivas 2. Se inicia a nivel de componentes y se trabaja hacia afuera hacia la integracion del sistema 3. Diferentes tecnicas en diferentes momentos 4. las pruebas las dirige el desarrollador 5. la prueba y la depuracion son actividades diferentes, pero la segunda debe incluirse en cualquier estrategia de pruebas. l

AGE OF EMPIRES ERROR INICIALIZAR DIRECT 3D

Instale age of empires 3 pero no me corria me salia un mensaje de error al inicializar posibles causas direct 3d y otras que no me acuerdo la solucion luego de buscar: abrir el archivo mis documentos\my games\Age of empires 3\users\NewProfile.xml en block de notas setting name="optiongrfxres">etting Name="optiongrfxres">1280 x 720 colocar los parametros en la configuarcion que tiene el ordenador en mi caso es wide screen 1280 X 720 Setting Name="optionrefreshrate">75 esta configuracion se mira en inicio > panel de control > apariencia y temas >pantalla lengeta configuarcion > boton opciones avanzadas lengueta adaptador > boton listar modos alli colocas el modo que queres y lo pones en el archivo newProfile.xml