Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Existe una gran diferencia entre ser programador e ingeniero de software ya que como
en cuenta el presupuesto y los requerimientos del proyecto. Es por eso que cuando un
programador hace las veces de ingeniero del software los proyectos se exceden del
un software y aunque existen muchas definiciones quizá la más acertada es: “estructuras
de datos que permiten que los programas manipulen de forma adecuada la información”-
libro de ensayos sobre el negocio del software, Tom DeMarco-1995, existen varios tipos
de software, por eso es necesario clasificarlos: tenemos los software genéricos que son
sistemas que se producen y comercializan de manera general por una organización y que
cualquier empresa o persona puede adquirirlos y están los software personalizados que
son sistemas más específicos en cuanto a requerimientos del cliente y que no están a
disposición del público. Según su aplicación tenemos el software de sistemas que son
software que nos permite controlar e interactuar con el sistema operativo, software de
tiempo real que son sistemas que interactúan con su entorno físico, software de gestión
personal y oficina, software de ingeniería y científico que suelen manejar algoritmos
matemáticos, software empotrado que son sistemas que se diseñan para cubrir
necesidades específicas, software basado en web que son herramientas que se pueden
económicamente software que sea fiable funcione eficientemente sobre maquinas reales.-
F.L. Bauer. Software engineering. Information processing 71., 1972, en otras palabras, la
del software quien realmente está al frente de todo lo que tiene que ver con el proyecto
para que este se pueda desarrollar con el presupuesto previsto y en el plazo estipulado.
En los años 60’s, exactamente en 1968 el término de ingeniería del software surgió en
una conferencia en Garmish (Alemania) que tenía como objetivo resolver los problemas
de la llamada “crisis del software”, este término se usó para describir los frecuentes
aplicaciones que fueron más complejos que muchas veces no se podían construir porque
además, muchas veces el software no daba respuesta real a las necesidades del cliente o
tenían que ser muchas veces un usuario experto para poder usarlo, además de que el
Como el software no tenía un proceso definido como si lo tenía el hardware, los resultado
en los software eran productos de pésima calidad. Se dieron cuenta de que los métodos
de desarrollo de software que hasta ese entonces existían, no eran suficientes para los
Por mucho tiempo, resolver la crisis del software hizo que muchas compañías produjeran
muchas herramientas de software, cada nueva práctica que aparecía se le conocía como
“silver bullet”. Pero fue en 1986 que Fred Brooks público un artículo titulado NO
SILVER BULLET en el cual afirmaba que ninguna tecnología por si misma podría
El mundo de la ingeniería del software es demasiado complejo y diverso para que una
única solución resuelva todos los problemas, pero el conjunto de todas las prácticas que
surgieron y de las que hoy en día surgen, permiten que la ingeniería del software
histinf.blogs.upv.es/2010/12/28/ingenieria-del-software/
El proceso de desarrollo de software que también se denomina ciclo de vida del software
que es en cierta manera una forma de dividir el trabajo en distintas actividades o fases
con el fin de lograr la mejor gestión y resultado del proyecto, el ciclo de vida del software
Por lo general incluye una fase de requisitos, una fase de diseño, una fase de pruebas, una
una fase de retirada, aunque pueden variar de un modelo a otro, sus principales fases son:
Fase de definición:
Fase de desarrollo:
o Pruebas de software
Fase de mantenimiento:
https://es.wikiversity.org/wiki/Procesos_de_desarrollo_software
Algunos de los propósitos de los modelos de software es que nos ayuda a comprender un
universal que sea efectivo para cada proyecto, si podemos describir las actividades
especificación.
Validación: este debe validarse para asegurarnos de que cumple con lo que el
cliente desea.
cliente.
usuarios no autorizados.
función.
Desarrollar software puede ser muy difícil ya que representa un gran desafío intelectual
a quien se aventura en este complejo mundo; por lo general, entre más grande sea el
proyecto, más complejo y variado se torna, existe una gran diferencia entre la práctica y
o tal vez por falta de experiencia en el desarrollo de proyectos, muchas veces no se obtiene
http://www.sc.ehu.es/jiwdocoj/mmis/externas.htm
dentro de la organización y una guía para avanzar hacia una cultura de calidad; esta no es
Nivel 1. Inicial: es el punto base, una empresa está ubicada en este nivel si su
proceso es caótico, esto quiere decir no hay un ambiente estable en el cual se pueda
Nivel 2. Repetible: para poder dejar atrás el nivel 1 la organización debe empezar
a documentar su proceso, así, el cliente puede saber acerca del avance del
pueden repetirse.
Nivel 3. Definido: en este nivel, contamos con un proceso de software estándar
Nivel 4. Gestionado: en este nivel hacemos uso de todos los datos que hemos
para así poder identificar lo que está mal, se cumple con los planes y programas
de mejora y se hace una distinción entre los procesos principales y los de apoyo.
http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/garcia_r_ci/capitulo5.pdf
MODELO CASCADA
También conocido como ciclo de vida del software es un enfoque metodológico que
ordena rigurosamente las etapas del proceso para el desarrollo del software, esto
quiere decir que, hasta que no finalice una etapa no puede iniciar la siguiente. Al final
de cada etapa se lleva a cabo una revisión final para determinar si el proyecto pude
avanzar a la siguiente fase, este es la base de todos los modelos de ciclo de vida
1. Planificación: estudio de factibilidad del software y de los costos que puedan
requerimientos y características.
de ese punto, ya que, se pueden aparecer nuevas características que no han sido
Una de sus desventajas es que, cualquier error de diseño detectado en una de sus
aumentando los costos del desarrollo, otra seria que el proceso de creación del
software tarda mucho tiempo, ya que, debe pasar por el proceso de prueba pues esta
http://ingenexescom.blogspot.com.co/2012/02/modelo-en-cascada.html
Estos son modelos iterativos que permiten desarrollar versiones cada vez más
desarrollo del sistema inicial y junto con el usuario probarla cuantas veces sea
necesario hasta que se desarrolle el sistema adecuado. Una ventaja de este modelo es
que es de rápida realimentación del usuario, es decir, que este está en constante
a un sistema final.