Grado 11°1

Tendencias actuales del desarrollo de software

             Ing. Victor Albinagorta Ordoñez. Ingeniería de Software
  1. 2. Situación actual de Software La industria del desarrollo del software se encuentra muy adelantada comparándola con su estado hace unos pocos años. Las herramientas CASE son cada vez más poderosas y permiten analizar, diseñar, generar, probar y mantener los productos de software de una manera integrada y controlada.
  2. 3. El World Wide Web se ha popularizado tanto en los últimos cinco años que se ha convertido en la interfaz de usuario de facto para los productos de software y ha obligado al uso de tecnologías nuevas. Las bases de datos son cada vez más sofisticadas y soportan des- de un usuario en computadoras de bolsillo a miles de usuarios en mainframes. Poco a poco, el desarrollo hecho a medida se va abandonando y los negocios compran productos de software muy probado, genérico y con una buena base instalada de clientes. Situación actual de Software
  3. 4. ¿Cómo hemos llegado hasta aquí? El estado actual del desarrollo del software ha sido alcanzado después de cuatro décadas de trabajo en las siguientes áreas: v Lenguajes de programación v Interfaz de usuario v Entornos de programación v Software de base v Visión del desarrollo v Ingeniería de software v Métodos de análisis y diseño v Equipos de desarrollo
  4. 5. Evolución de los lenguajes de programación Los lenguajes han evolucionado mucho desde los primeros lenguajes procedimentales como Basic, C, Fortran, RPG, Cobol y Pascal, pasando por los lenguajes orientados a las bases de datos (Xba-se, SQL, 4GL), los lenguajes orientados a objeto (Ada, Smalltalk, C++, Modula) y terminando en un lenguaje estándar orientado a objeto como Java.
  5. 6. Evolución de la interfaz de usuario En un principio, la interfaz de usuario era muy rudimentaria al ser impresa en papel. Recién en los años 80, empezaron a utilizarse monitores, lo que permitió tener mayor facilidad en la navegación por los datos de la pantalla. Desde principios de los años 90 aparecen los sistemas de ventanas con objetos gráficos que realizan funciones disparadas por eventos del teclado y de otros dispositivos como el ratón.
  6. 7. Evolución de los entornos de programación En un principio los compi- ladores, depuradores y editores no estaban integrados, haciendo la tarea de programación muy morosa. Poco a poco, el editor, compilador y depurador fueron integrados en el mismo entorno. Actualmente estos entornos integrados cuentan con ayuda inte- ractiva y en línea, editores inteligentes sensibles al contexto y control multiusuario de versiones.
  7. 8. Software de base Los sistemas operativos actuales soportan desde computación en casa hasta redes corporativas de computadoras con procesamiento paralelo. Las bases de datos se pueden escalar desde un usuario hasta miles de usuarios y manejar datos hasta el orden de los terabytes. Las aplicaciones de oficina han evolucionado hasta quedar completamente integradas
  8. 9. Evolución en la visión del desarrollo Se comenzó con centros de cómputo en cada empresa que desarrollaba su software a medida; sin embargo, esto obligó a tener un ejército de profesionales trabajando en el mantenimiento de estas aplicaciones. Las empresas cambiaron su enfoque y comenzaron a buscar software genérico bien probado y desarrollado por empresas especializadas. Aquí la industria del software empezó a desarrollarse brindando sistemas genéricos para su comercialización. Por otro lado, las empresas contratan el desarrollo de sus sistemas a medida con empresas de software (out-sourcing) para evitar los problemas del desarrollo en casa. Actualmente las empresas de software comercializan el servicio completo de sistemas (software, hardware y operación) a cambio de un precio por transacción.
  9. 10. Evolución en la ingeniería de software Los entornos de ingeniería de software comenzaron con la generación de aplicaciones; luego, evolucionaron para dar soporte al análisis y diseño y posteriormente integraron ambas. En los entornos de ingeniería de software actuales se han integrado el manejo de requerimientos, análisis, diseño, generación, pruebas y manejo de cambios para dar soporte a todas las etapas del proceso de desarrollo de software.
  10. 11. Evolución en los métodos de análisis y diseño Ha habido una evolución larga en los métodos de desarrollo. Primero los métodos se centraron sólo en el análisis y luego sólo en el diseño, pa- ra posteriormente integrarse. Actualmente se contemplan también la construcción, pruebas e implementación. Se han utilizado cuatro enfoques principales a través de los años: las funciones, los datos, transformaciones matemáticas y los objetos. Los métodos funcionales y de datos han sido muy populares especialmente para sistemas de información
  11. 12. Evolución en los equipos de desarrollo De los equipos de programadores dedicados al diseño, codificación y pruebas se pasó a equipos con especializaciones: analistas, diseñadores, programadores, probadores. Poco a poco se evolucionó hasta los equipos que usan "marcos de trabajo de mejoramiento continuo" bajo modelos de calidad para el proceso y el producto de software. Los estándares más conocidos son CMM- SW (Software Capability Maturity Model) e ISO 9000-3. Actualmente existen muchos centros de desarrollo de software certificados con ISO 9000 y/o CMM que han conseguido la optimización de sus procesos industriales de software.
  12. 13. La industria del software debe ser competitiva en estos tiempos de globalización y para ello debe alcanzar las siguientes metas:
  13. 14. Mayor productividad Mediante herramientas de programación con soporte de asistentes y componentes de software reusables, como MS Visual Studio y Oracle Portal. Interoperabilidad Las aplicaciones de diversas empresas deben operar entre sí. Para ello se han desarrollado estándares como CORBA y DCOM+.
  14. 15. Interfaz de usuario única El futuro tiene computadoras personales, agendas electrónicas, teléfonos móviles y televisores conectados a Internet usando páginas Web como interfaz de usuario. Lenguajes de programación estándar Java como el lenguaje estándar de programación de todo propósito y XML como el lenguaje estándar para interfaces de usuario.
  15. 16. Métodos de desarrollo orientados a objeto afianzados Al ser Java un lenguaje estándar orientado a objeto y UML el lenguaje estándar de los diagramas orientados a objeto, se puede afirmar que los métodos de desarrollo orientados a objeto como Rational Unified Process se han afianzado.
  16. 17. Software eficiente, usable y mantenible Se imponen "marcos de trabajo de mejoramiento continuo". CMM e ISO 9000 son los estándares que los negocios exigen que la industria del software cumpla.
  17. 18. Herramientas de ingeniería de software integradas Las herramientas integradas de programación, control de versiones, manejo de la configuración, modelamiento y manejo del proceso de software ya son una realidad, teniendo como ejemplos al conjunto de herramientas integradas por Rational Unified Process, Requisite Pro, Rational Rose, SoDA, Clear CASE, Test Studio y Clear Quest.
  18. 19. El futuro del desarrollo de software El desarrollo de software será simplificado en el futuro por el uso de herramientas más poderosas de programación integradas a otras herramientas de software que soporten las demás actividades. Las actividades del proceso del software serán guiadas por "marcos de trabajo", basados en el mejoramiento continuo que engloban diferentes métodos especializados en cada actividad. El desarrollo de software se centrará en organizaciones especializadas en desarrollo de software con certificaciones ISO 9000, CMM o equivalentes. Los sistemas heredados basados en viejas tecnologías deben ser integrados a los nuevos sistemas y una especialización requerida será la del integrador de sistemas. En cambio, cada vez menos desarrolladores de software serán necesarios, dando lugar a más especialistas en administración de sistemas. Esto se puede comprobar en la tabla 1 y la tabla 2, donde el 34% de los empleos de computación están en la industria del software y el 66% está empleado en otros tipos de industrias según datos de la oficina federal de empleo de USA.
  19. 20. ¿Cómo nos afecta en el contexto nacional? Muchos productos de la tecnología de punta que se mencionan en este artículo han bajado sus precios en los últimos años, de manera que ya es accesible para el desarrollo de software para todo tipo de presupuestos. Es una necesidad mejorar la educación superior sobre "marcos de trabajo de mejoramiento continuo" ya que tienen un mayor espectro que los métodos de desarrollo tradicionales, debido a su enfoque en el proceso y el producto de software. Por otra parte, hay cada vez más espacio para profesionales especializados en la administración de sistemas y se reduce el espacio para profesionales de desarrollo de software. Es por eso que la educación debería bifurcarse en dos especialidades principales: el desarrollo de software y la administración de sistemas de software Finalmente, aunque los "centros de desarrollo de software certificados" están todavía lejanos a nuestra realidad, deberíamos empezar ahora con el proceso de certificación en organizaciones de desarrollo de software para tener un mercado asegurado en el futuro.
 Actividad:
  • Haga la lectura del siguiente texto y  de su propio punto de vista sobre el tema.

LA IMPORTANCIA DE LA TECNOLOGÍA LA INFORMÁTICA Y SUS APLICACIONES.

LA IMPORTANCIA DE LA TECNOLOGÍA LA  INFORMÁTICA Y SUS APLICACIONES.

Grado : sexto

OBJETIVO DE GRADO: Adquirir los conocimientos básicos de la informática, así como los procedimientos que definen las estructuras lógicas del PC. Y los conceptos de la evolución histórica de este  a lo largo de la historia, empleando  la exploración y  la  interpretación  del computador a través de su uso básico.
PENSAMIENTOS: Pensamiento informático y computacional.
ESTANDAR: 
Reconozco principios y conceptos  propios de la tecnología. Identifico los primeros inventos del hombre y las características de la evolución histórica de las computadoras.

Clase #1
Desarrollo del tema 

Qué es Informática:
Informática es  el tratamiento automático de la información. Como tal, designa a un conjunto de conocimientos teóricos y prácticos, relativos al ámbito de la ciencia de la tecnología, que se combinan para posibilitar el tratamiento racional y automático de la información mediante sistemas informáticos o computadoras, cuyas tareas principales son almacenar, procesar y transmitir la información.

Qué es Tecnología:
Se conoce a la tecnología como un producto de la ciencia y la ingeniería que envuelve un conjunto de instrumentos, métodos, y técnicas que se encargan de la resolución del conflicto.  
Como tal, la tecnología designamos al conjunto de conocimientos de orden práctico y científico que, articulados bajo una serie de procedimientos y métodos de rigor técnico, son aplicados para la obtención de bienes de utilidad práctica que puedan satisfacer las necesidades y deseos de los seres humanos.

Historia de la computadora: La computadora tiene su origen en dispositivos que permiten realizar cálculos de forma mecánica como el ábaco y la pascalina. Charles Babbage inventa en 1882 la llamada 'máquina diferencial' y posteriormente diseña la 'máquina analítica' cuyos elementos como la memoria, el flujo de entrada y el procesador influyeron en posteriores computadoras más avanzadas. La MARK I, basada en dispositivos electromagnéticos, supuso también un hito en este campo.
Durante la segunda mitad del siglo XX se produjeron grandes avances en el desarrollo de las computadoras llegando a un público masivo y con la capacidad de realizar múltiples operaciones.


INFORMÁTICA
La palabra informática se creó en Francia en 1962 y es el resultado de las palabras:
INFORmación y autoMATICA.
Informática es el conjunto de conocimientos científicos y técnicos que hacen posible el tratamiento automático de la información por medio de computadores. Pero la informática no se limita solamente al uso del computador pues también se nutre de las siguientes disciplinas:
·         Electrónica
·         Lógica.
·         Matemáticas.
·         Teoría de la información.
·         Comportamiento humano.
SISTEMA INFORMÁTICO
Un sistema informático es un conjunto de componentes que se relacionan entre sí. Cuyo objetivo es el procesamiento de los datos para obtener información útil para el ser humano. Sus componentes son:
·         Personas.
·         Equipos.

·         Datos de información.
·         Programas.
PROCESAMIENTO DE DATOS

DEFINICIÓN DE DATOS: Los datos son símbolos que describen condiciones, hechos, situaciones o valores. Los datos se caracterizan por no contener ninguna información. Un dato puede significar un número, una letra, un signo ortográfico o cualquier símbolo que represente una cantidad, una medida, una palabra o una descripción.

La importancia de los datos está en su capacidad de asociarse dentro de un contexto para convertirse en información. Por si mismos los datos no tienen capacidad de comunicar un significado y por tanto no pueden afectar el comportamiento de quien los recibe. Para ser útiles, los datos deben convertirse en información para ofrecer un significado, conocimiento, ideas o conclusiones.

DEFINICIÓN DE INFORMACIÓN: La información es, el conjunto de datos a los cuales, mediante un procesamiento, se les ha dado significado, propósito y utilidad.

Los datos no son lo mismo que la información. Procesar datos significa: Ordenar e interpretar un conjunto de datos en un contexto dado para obtener información útil. Las tres operaciones necesarias para procesar datos son:
El ingreso de datos.
El Procesamiento de dichos datos
La producción de un resultado (Información)



DATOS
INFORMACIÓN
EL COMPUTADOR

El computador es una máquina electrónica rápida y exacta que es capaz de aceptar datos a través de un medio de entrada, procesarlos automáticamente bajo el control de un programa previamente almacenado, y proporcionar la información resultante a un medio de salida. En otras palabras, el computador es una máquina electrónica usada para procesar todo tipo de información.

Aunque es un invento que no ha cumplido los 100 años de existencia, ha venido a revolucionar la forma en la que trabajamos y nos entretenemos y se ha convertido en un aparato esencial en nuestra vida diaria.
La información está constituida por los datos procesados; la información tiene significado, los datos no. En el nivel más elemental, una computadora procesa datos.
Los datos generalmente se introducen por medio de algún dispositivo de entrada, como un teclado. La información generalmente se envía a un dispositivo de salida, como una pantalla, una impresora o un archivo en disco. La entrada y la salida de la computadora pueden provenir de dispositivos y dirigirse a muchos otros tipos de dispositivos distintos. Los computadores se dividen en:
·         Microcomputadoras Son los ya conocidos PC que se utilizan en los hogares y las pequeñas  empresas ya que son de bajo costo.  Son los dispositivos más pequeños que pueden programarse.

·         Minicomputadoras (Mini) Son de tamaño medio, y más costosas que una PC

·         Macrocomputadora (mainframe) Pueden controlar muchos dispositivos de E/S. Son más grandes y más costosos y se utilizan en grandes empresas.

·         Supercomputadora Son las más rápidas y costosas. Poseen gran capacidad de cálculo y los posee solamente la NASA, megaempresas  y algunas universidades de Estados Unidos.


TALLER PARA DESARROLLAR EN EL CUADERNO DE INFORMÁTICA
1. Según este documento defina que es INFORMÁTICA y de que disciplinas se compone y escriba el concepto de tecnología.
2.  ¿A partir de que palabras se forma la palabra “Informática”? Comente en tres renglones a que se refiere cada una.
3.    ¿Qué es un sistema informático y de que se compone?
4.    Defina que son los datos.
5.    ¿En dónde está la importancia de los datos?
6.   Defina que es la información.
7. La siguiente imagen puede definir gráficamente el significado de datos, de acuerdo a ella defina “Datos” usando sus propias palabras.
8.    ¿Cuáles son las tres operaciones necesarias para procesar los datos?
9.       Defina que es un computador.
10.    ¿Para qué sirve un computador?
11.      ¿Cómo se clasifican los computadores?

12.       ¿Qué tipo de computador cree usted que usan los dueños de Facebook, teniendo en cuenta que almacenan millones y millones de información en fotos, vídeos y texto?