sábado, 4 de mayo de 2013

PROCESOS DEL SOFTWARE


QUE ES UN PROCESO SOFTWARE

Es un conjunto estructurado de actividades para:
  • Especificar
  • Diseñar
  • Implementar
  • Probar sistema de software

QUE ES UN MODELO DE PROCESO DE SOFTWARE

Es una representación abstracta de un proceso.Representa una descripción de un proceso desde una perspectiva particular. 


   

EL MARCO DE TRABAJO GENERICO


COMUNICACION







Combina la interacción con el cliente y de estar manera obtener información valiosa y detallada de lo que se podría crear y generar como resultado final.








PLANEACION



Permite la determinación del plan de actividades entre ellas está la determinación de diversas técnicas que utilizamos, riesgos probables, recursos que podríamos necesita los resultados  que esperamos a obtener y el programa de trabajo. 





MODELADO



  Permite determinar un modelo o esquema compartido entre desarrollador y cliente permite tener una orientación de lo que se nos mostrara al crear,










CONSTRUCCIÓN 

Permite la creación del código del manual o digital lo cual nos permite la revisión del mismo para poder depurar lo y encontrar los posibles errores. 






DESPLIEGUE


Nos otorgar la entrega al cliente de la prueba con el fin de obtener la información que nos permite mejorar el producto. 


LA ELABORACIÓN DEL MODELO ESTA COMPUESTO POR 2 ACTIVIADES


MODELOS DEL PROCESO DEL SOFTWARE


Es una representación abstracta de un proceso del software que pueden utilizar para explicar diferentes enfoques para el desarrollo del software.

  Los modelos del proceso son:  

  • Modelo cascada
  • Modelo Evolutivo o Espiral
  • Modelo Incremental
  • Desarrollo Iteractivo

MODELO CASCADA

CARACTERÍSTICAS

  • Es el más utilizado.
  • Es una visión del proceso de desarrollo de software como una sucesión de etapas que producen productos intermedios.
  • Para que el proyecto tenga éxito deben desarrollarse todas las fases.
  • Las fases continúan hasta que los objetivos se han cumplido.
  • Si se cambia el orden de las fases, el producto final será de inferior calidad,


EJEMPLOS DE MODELO CASCADA



CARACTERISTICAS

  • Se tarda mucho tiempo en pasar por todo el ciclo
  • El mantenimiento se realiza en el código fuente
  • Las revisiones de proyectos de gran complejidad son muy difíciles

LIMITACIONES

No se permiten las iteraciones.
Los requisitos se congelan al principio del proyecto.

No existe un proyecto “enseñable” hasta el final del proyecto.

MODELO ESPIRAL


CARACTERISTICAS


  • Incorpora objetivos de calidad y gestión de riesgos

  • Elimina errores y alternativas
  • Permite iteraciones, vuelta atrás y finalizaciones rápidas

  • Cada ciclo empieza identificando:
    • Los objetivos de la porción correspondiente
    • Las alternativas
    • Restricciones

  • Cada ciclo se completa con una revisión que incluye todo el ciclo anterior y el plan para el siguiente

VENTAJAS 

  • Utiliza las fases de modelo tradicionales. Se centra en la eliminación de errores y alternativos poco atractivas.
  • Su orientación a detectar y prevenir el riesgo evita muchas dificultades.

DESVENTAJAS

  • Complicado consume muchos recursos.
  • Las etapas y sus E/S no están claramente dfinidas

MODELO INCREMENTAL


  • Es una repetición de varios ciclos de vida en cascada.
  • Al final de cada ciclo se entrega una versión parcial del software incrementada con cierta funcionalidad nueva     respecto a las entregas anteriores.
  • Los ciclos se repiten hasta obtener un producto completo.
  • Los usuarios disponen antes del software, aunque no sea completo, por lo que pueden sugerir mejoras.
  • Se suele aplicar a desarrollos de gran tamaño.














MODELO ITERACTIVO


  • Es también una repetición de varios ciclos de vida en cascada.
  • Al final de cada ciclo se entrega una versión completa del software mejorada respecto a la anterior.
  • Los ciclos se repiten hasta obtener un producto satisfactorio.Los usuarios deben evaluar el producto en cada iteración y proponer mejoras.
  • Se suele aplicar en desarrollos en los que los requisitos no están claros, las primeras versiones pueden ser prototipos que se desechan posteriormente.e


  • nte.

viernes, 3 de mayo de 2013

PROCESOS DEL SOFTWARE

QUE ES UN PROCESO SOFTWARE

Es un conjunto estructurado de actividades para:
  • Especificar
  • Diseñar
  • Implementar
  • Probar sistema de software

QUE ES UN MODELO DE PROCESO DE SOFTWARE

Es una representación abstracta de un proceso.Representa una descripción de un proceso desde una perspectiva particular. 


    

miércoles, 24 de abril de 2013

ENGENIERIA DE SISTEMAS VS INGENIERIA DE SOFTWARE

La Ingeniería de software es la rama de la ingeniería que crea y
mantiene las aplicaciones de software aplicando tecnologías y prácticas de las ciencias
computacionales, manejo de proyectos, ingeniería, el ámbito de la aplicación, y otros campos.
La ingeniería de software incluye :
  • Análisis de requisitos
  • Especificación
  • Diseño y arquitectura
  • Programación
  • Prueba
  • Documentación
  • Mantenimiento
No aplica para lo relacionado con redes y otro tipo temas que un "Ingeniero de Sistemas" toca en la Universidad es uno de los posibles caminos que un Ing de sistemas puede elegir


La Ingeniería de Sistemas realmente no bebería llevar ese nombre ya que un sistema no necesariamente es computacional en el ambito que se ve en este país según mi punto de vista debe tener un nombre como Ing Informatica o de sistemas Informaticos o sistemas computacionales.
la Ingeniería informática(supongamos que es lo mismo, solo cambia el nombre) es Rama de la ingeniería que consiste en la aplicación de los fundamentos de las ciencias computacionales, la electrónica y la ingeniería de software, para el desarrollo de soluciones integrales de cómputo y comunicaciones, capaces de procesar información de manera automática.

OBJETIVOS DE ENGENIERIA DE SOFTWARE
  • Diseñar aplicaciones informáticas que se ajusten a las necesidades de las organizaciones.
  • Dirigir y coordinar el desarrollo de aplicaciones complejas.
  • Intervenir en todas las fases del ciclo de vida de un producto.
  • Estimar los costes de un proyecto y determinar los tiempos de desarrollo.
  • Hacer el seguimiento de costes y plazos.
  • Dirigir equipos de trabajo de desarrollo software.
  • Organizar la realización de pruebas que verifiquen el correcto funcionamiento de los programas y que se ajustan a los requisitos de análisis y diseño.
  • Diseñar, construir y administrar bases de datos.
  • Dirigir y asesorar a los programadores durante el desarrollo de aplicaciones.
  • Introducir procedimientos de calidad en los sistemas, evaluando métricas e indicadores y controlando la calidad del software producido.
  • Organizar y supervisar el trabajo de su equipo de los técnicos de mantenimiento y los ingenieros de sistemas y redes.

ENGENIERIA DE SOFTWARE

Desarrollar y mantener software de calidad que resuelven problemas de todo tipo. Hoy dia es cada vez mas frecuente la consideracion de la Ingenieria del Software como un nueva area de la ingenieria, y el Ingeniero del Software comienza a ser una profesion implantada en el mundo laboral internacional, con derechos, deberes y responsabilidades que cumplir, junto a una, y reconocida consideracion social en el mundo empresarial y, por suerte, para esas personas con brillante futuro.

 Ingenieria del Software es el estudio de los principios y metodologias para desarrollo y mantenimiento de sistemas de software.

Es la aplicacion practica del conocimiento cientifico en el diseño y construccion de programas de computadora y la documentacion asociada requerida para desarrollar y operar (funcionar) y mantenerlos. Asi como tambien desarrollo de software o produccion de software.

Es el establecimiento y uso de principios solidos de la ingenieria para obtener economicamente un software confiable y que funcione de modo eficiente en maquinas reales.

 

CRISIS DEL SOFTWARE




Básicamente, la crisis del software se refiere a la dificultad en escribir programas libres de defectos, fácilmente comprensibles, y que sean verificables. Las causas son, entre otras, la complejidad que supone la tarea de programar, y los cambios a los que se tiene que ver sometido un programa para ser continuamente adaptado a las necesidades de los usuarios.
Además, no existen todavía herramientas que permitan estimar de una manera exacta, antes de comenzar el proyecto, cuál es el esfuerzo que se necesitará para desarrollar un programa. Este hecho provoca que la mayoría de las veces no sea posible estimar cuánto tiempo llevará un proyecto, ni cuánto personal será necesario. Cuando se fijan plazos normalmente no se cumplen por este hecho.
En este trabajo abordaremos porque se produjo esta crisis,  y cuál fue el camino adoptado para resolverla, o minimizar sus efectos de algún modo.

La crisis del software
Síntomas:
  •    El software no es fiable y necesita de un mantenimiento permanente
  •   El software se entrega muy a menudo con retrasos y con unos costes superiores a los presupuestados
  •    A menudo el software es imposible de mantener, carece de trasparencia y no se puede modificar ni mejorar.
CAUSAS DE LA CRISIS DE SOFTAWARE

      Se empezaron a desarrollar algunos proyectos para que funcionaran en las máquinas de la época. Pero aparecieron importantes problemas: los productos excedían la estimación de costes, había retrasos en las entregas, las prestaciones no eran las solicitadas, el mantenimiento se hacía extremadamente complicado y a veces imposible, las modificaciones tenían un coste prohibitivo se desarrollaba software de mala calidad, ya que la técnica utilizada para desarrollar pequeños programas para maquinas con mucho menos potencial se quedaba desfasada, y muchas veces este software acababa en el olvido.