domingo, 19 de febrero de 2012
domingo, 5 de febrero de 2012
HISTORIA DEL DESARROLLO DE SOFTWARE
EL PRIMER PROGRAMA DE LA HISTORIA - 1842
Ada Byron, alias Lady Lovelace. Ada fue, ni más ni menos, que la primer programadora de la historia, allá por el siglo 19. Ada, se vería obligada a realizar una serie de algoritmos que la ayudarían a obtener un método ?automático? para resolver números de Bernoulli. Estas notas, que realizó explicando el procedimiento, son consideradas como el primer programa computacional de la historia. De hecho se ha probado que si se transcribe la lógica a un lenguaje de programación moderno este es perfectamente funcional. El primer programa de la historia fue Open Source.
En estos primeros años lo normal era que el hardware fuera de propósito general. Por otra parte, el software se diseña a medida para cada aplicación y tenía una distribución relativamente pequeña. El software como producto estaba en su infancia. La mayoría del software se desarrollaba y era utilizado por la misma persona u organización. La misma persona lo escribía, lo ejecutaba y, si fallaba, lo depuraba. Debido a que la movilidad en el trabajo era baja, los ejecutivos estaban seguros de que esa persona estará allí cuando se encontrara algún error. Debido a este entorno personalizado del software, el diseño era un proceso implícito, realizado en la mente de alguien, y la documentación normalmente no existía.
CUARTA ERA
Diccionario de Computación
Freedman Alan
McGraw-Hill.
Análisis y Diseño de Sistemas
Kendall & Kendall
Pearson Educación
PC Magazine En Español.
http://fresqui.com/tecnologia/software/el-primer-programa-de-la-historia-1842/-1914
Ada Byron, alias Lady Lovelace. Ada fue, ni más ni menos, que la primer programadora de la historia, allá por el siglo 19. Ada, se vería obligada a realizar una serie de algoritmos que la ayudarían a obtener un método ?automático? para resolver números de Bernoulli. Estas notas, que realizó explicando el procedimiento, son consideradas como el primer programa computacional de la historia. De hecho se ha probado que si se transcribe la lógica a un lenguaje de programación moderno este es perfectamente funcional. El primer programa de la historia fue Open Source.
PRIMERA ERA
Existían pocos métodos sistemáticos. El desarrollo del software se realizaba virtualmente sin ninguna planificación, hasta que los planes comenzaron a descalabrarse y los costos a correr. Los programadores trataban de hacer las cosas bien, y con un esfuerzo heroico, a menudo salían con éxito. Los problemas a ser resueltos eran principalmente de una naturaleza técnica, el énfasis estaba en expresar algoritmos conocidos eficazmente en algún lenguaje de programación.
En estos primeros años lo normal era que el hardware fuera de propósito general. Por otra parte, el software se diseña a medida para cada aplicación y tenía una distribución relativamente pequeña. El software como producto estaba en su infancia. La mayoría del software se desarrollaba y era utilizado por la misma persona u organización. La misma persona lo escribía, lo ejecutaba y, si fallaba, lo depuraba. Debido a que la movilidad en el trabajo era baja, los ejecutivos estaban seguros de que esa persona estará allí cuando se encontrara algún error. Debido a este entorno personalizado del software, el diseño era un proceso implícito, realizado en la mente de alguien, y la documentación normalmente no existía.
SEGUNDA ERA
La multiprogramación y los sistemas multiusuario introdujeron nuevos conceptos de interacción hombre - máquina. Las técnicas interactivas abrieron un nuevo mundo de aplicaciones y nuevos niveles de sofisticación del hardware y del software. Los sistemas de tiempo real podían recoger, analizar y transformar datos de múltiples fuentes, controlando así los procesos y produciendo salidas en milisegundos en lugar de en minutos. Los avances en los dispositivos de almacenamiento en línea condujeron a la primera generación de sistemas de gestión de bases de datos.
Los programas se distribuían para computadoras grandes y para minicomputadoras, a cientos e incluso a miles de usuarios. Los patronos de la industria, del gobierno y de la universidad se aprestaban a “desarrollar el mejor paquete de software” y ganar así mucho dinero.
Conforme crecía el número de sistemas informáticos, comenzaron a extenderse las bibliotecas de software de computadora. Las casas desarrollaban proyectos en los que se producían programas de decenas de miles de sentencias fuente. Los productos de software comprados al exterior incorporaban cientos de miles de nuevas sentencias. Una nube negra apareció en el horizonte. Todos esos programas, todas esas sentencias fuente tenían que ser corregidos cuando se detectaban fallos, modificados cuando cambiaban los requisitos de los usuarios o adaptados a nuevos dispositivos hardware que se hubieran adquirido. Esta actividades se llamaron colectivamente mantenimiento del software. El esfuerzo gastado en el mantenimiento del software comenzó a absorber recursos en una medida alarmante.
Aún peor, la naturaleza personalizada de muchos programas los hacía virtualmente imposibles de mantener. Había comenzado una crisis del “software”
TERCERA ERA
La tercera era en la evolución de los sistemas de computadora comenzó a mediados de los años 70 y continuó más allá de una década. El sistema distribuido, múltiples computadoras, cada una ejecutando funciones concurrentemente y comunicándose con alguna otra, incrementó notablemente la complejidad de los sistemas informáticos. Las redes de área local y de área global, las comunicaciones digitales de alto ancho de banda y creciente demanda de acceso “instantáneo” a los datos, supusieron una fuente presión sobre los desarrolladores del software. Aún más, los sistemas y el software que lo permitían continuaron residiendo dentro de la industria y de la academia. El uso personal era extraño.
La conclusión de la tercera era se caracterizó por la llegada y amplio uso de los microprocesadores. El microprocesador ha producido un extenso grupo de productos inteligentes, desde productos inteligentes, desde automóviles hasta hornos microondas, desde robots industriales a equipos de diagnóstico de suero sanguíneo, pero ninguno ha sido más importante que la computadora personal. En menos de una década, las computadoras llegarán a ser fácilmente accesibles al público.
CUARTA ERA
Potentes máquinas personales controladas por sistemas operativos sofisticados, en redes globales y locales, acompañadas por aplicaciones de software avanzadas se han convertido en la norma. Las arquitecturas informáticas están cambiando de entornos centralizados de grandes computadoras a entornos descentralizados cliente/servidor. Las redes de información en todo el mundo proporcionan una infraestructura que iguala a expertos y políticos en pensar sobre una “superautopista de información” y una “conexión del ciberespacio”. De hecho internet se puede observar como un “software” al que pueden acceder usuarios individuales.
La industria del software ya es la cuna de la economía del mundo. Las decisiones tomadas por gigantes de la industria tales como Microsoft arriesgan billones de dólares. A medida que la cuarta generación progresa, han comenzado a surgir nuevas tecnologías. Las tecnologías orientadas a objetos están desplazando rápidamente los enfoques de desarrollo de software más convencionales en muchas áreas de aplicaciones. Aunque las predicciones de las computadoras de “quinta generación”” continúan eludiéndonos, “las técnicas de cuarta generación” para el desarrollo del software están cambiando en forma en que la comunidad del software construye programas informáticos. Los sistemas expertos y el software de inteligencia artificial han salido del laboratorio para entrar en aplicaciones prácticas de una gran variedad de problemas del mundo real. El software de redes neuronales artificiales junto con la aplicación de lógica difusa ha abierto posibilidades excitantes para el reconocimiento de patrones y habilidades de procesamiento de información de carácter humano. La programación de realidad virtual y los sistemas multimedia ofrecen formas radicalmente diferentes de comunicar información al usuario final. “Los algoritmos genéricos” ofrecen el potencial para el software que reside dentro de las computadoras biológicas masivamente en paralelo.
ERA
|
AÑOS
|
CARACTERÍSTICAS
|
1ª
|
1950 – 1965
|
|
2ª
|
1965 – 1972
|
|
3ª
|
1972 – 1989
|
|
4ª
|
1989 - ¿?
|
|
ERA
|
LENGUAJES
|
CARACTERÍSTICAS
|
1ª
|
|
|
2ª
|
|
|
3ª
|
|
|
4ª
|
|
|
- Charles Bachman. Inventó la tecnología del banco de datos en los inicios de los sesentas.
- Bob Bemer. Uno de los diseñadores de COBOL y el ASCII normal para IBM (años sesenta); inventor de la sucesión del Escape, el mecanismo universal para toda la computadora.
- Larry Constantine. Inventa los datos que fluyen en los diagramas, presentan primero en papel, los conceptos de un plan estructurado en 1968.
- Peter Cunningham. Funda una de las primeras empresas de investigación de mercado para enfocar el software y comienza a comercializar los productos del software en 1974.
- Tom DeMarco. El pionero en utilizar una metodología de caso, el autor, y consultor en los años setenta.
- Wilfred J. Dixon. Empezó distribuyendo el software estadístico en 1962.
- Frank Dodge. Co - fundó McCormack & el Regate qué vendió el primer software de contabilidad en 1969.
- Larry Ellison. Dejó camino abierto para los DBMS.
- Dave Ferguson. Logró vender el primer producto de software con éxito contra un programa de IBM.
- Ken Orr. Crea la metodología de caso desarrollada en los años setenta.
Ingeniería de Software
Roger S. Pressman
McGraw-Hill.Diccionario de Computación
Freedman Alan
McGraw-Hill.
Análisis y Diseño de Sistemas
Kendall & Kendall
Pearson Educación
PC Magazine En Español.
http://fresqui.com/tecnologia/software/el-primer-programa-de-la-historia-1842/-1914
domingo, 29 de enero de 2012
DESARROLLO DE SOFTWARE
Es construir o elaborar con un conjunto de herramientas, una solución a un problema específico.
"un problema real". que tiene determinada empresa o individuo.
con un método: especificación de requerimientos, análisis,diseño, implementación, verificación y prueba.
en el cual debemos darle un enfoque individual a cada cliente. no solo crear la solución, también acompañarlo en el proceso, es apoyarlo en el mejoramiento continuo de su empresa, pues más adelante requerirá nuevas soluciones. al poder innovar y ser más productivo. al darle soluciones de alto rendimiento y funcionalidad. por el máximo resultado esperado.
un cliente satisfecho nos traerá nuevos clientes, y nosotros como desarrolladores tendremos una "solución especifica": reconocimiento, calidad, y confianza a nuestra profesión.
"un problema real". que tiene determinada empresa o individuo.
con un método: especificación de requerimientos, análisis,diseño, implementación, verificación y prueba.
en el cual debemos darle un enfoque individual a cada cliente. no solo crear la solución, también acompañarlo en el proceso, es apoyarlo en el mejoramiento continuo de su empresa, pues más adelante requerirá nuevas soluciones. al poder innovar y ser más productivo. al darle soluciones de alto rendimiento y funcionalidad. por el máximo resultado esperado.
un cliente satisfecho nos traerá nuevos clientes, y nosotros como desarrolladores tendremos una "solución especifica": reconocimiento, calidad, y confianza a nuestra profesión.
fases del desarrollo del software
En la ingeniería del software el término fases
de desarrollo expresa cómo ha progresado el desarrollo de un software y
cuánto desarrollo puede requerir. Cada versión importante de un producto pasa
general mente a través de una etapa en la que se agregan las nuevas
características (etapa alfa), después una etapa donde se eliminan errores
activamente (etapa beta), y finalmente una etapa en donde se han quitado todos
los bugs importantes (etapa estable).
Alpha / Alfa
Es la primera versión del programa, la cual es enviada a los
verificadores para probarla.
fase donde un producto todavía es inestable, aguarda todavía a que se
eliminen los errores o a la puesta en práctica completa de toda su
funcionalidad, pero satisface la mayoría de los requisitos.
Beta
Una versión beta o lanzamiento beta representa
general mente la primera versión completa del programa informático o de otro producto, que
es posible que sea inestable pero útil para que las demostraciones internas y
las inspecciones previas seleccionen a clientes. inspección previa Observa
que Gmail, igual
que las noticias
de Google, por ejemplo, estuvieron en beta por un período de tiempo muy
largo (5 años). Esta técnica puede también permitir a un desarrollador retrasar
el ofrecimiento de apoyo total o la responsabilidad de ediciones restantes. Los
receptores de betas altamente propietarias pueden tener que firmar un acuerdo
de no revelación.
Versión candidata a definitiva
(RC)
comprende un producto final, preparado para publicarse como versión
definitiva a menos que aparezcan errores que lo impidan. En esta fase el
producto implementa todas las funciones del diseño y se encuentra libre de
cualquier error que suponga un punto muerto en el desarrollo.
Versión de disponibilidad
general (RTM)
La versión de disponibilidad general (también llamada
"dorada") de un producto es su versión final. Normalmente es casi
idéntica a la versión candidata final, con sólo correcciones de último momento.
Esta versión es considerada muy estable y relativa mente libre de errores con
una calidad adecuada para una distribución amplia y usada por usuarios finales.
Estable/inestable
En la programación de código
abierto los números de las versiones, o los términos estable e inestable,
normalmente distinguen las fases del desarrollo. En el pasado, el núcleo
Linux usaba el número de versión para denotar si una versión era estable o
inestable. En efecto, las versiones estaban formada por cuatro números,
separados por un punto. Una cifra impar en el segundo número de la versión indicaba una versión
inestable. Hoy en día ya no se usa esta convención, y todas las versiones son
estables independientemente del número de versión. En la práctica el uso de
números pares e impares para indicar la estabilidad de un producto ha sido
usado por otros muchos proyectos de software
libre.
evaluaciones
2 parcial 21 abril
final 16 junio
seguimiento y coevaluación 16 junio
objetivos
participación
motivación
asistencia
competencias
sábado, 28 de enero de 2012
Suscribirse a:
Entradas (Atom)














