lunes, 11 de julio de 2011

PORTAFOLIO DIGITAL


PORTAFOLIO DIGITAL

INTRODUCCION A LA INGENIERIA

LOS 500 DE CILANTRO




PARADIGMAS

PARADIGMAS





ENSAYO - PARADIGMAS


Los paradigmas son patrones o modelos que  desde sus inicios el hombre ha creado como guía para el desarrollo de  una ciencia o creencia, y están presentes en nuestras vidas de manera constante, ya que forman parte de nosotros mismos y nos permiten  determinar nuestras expectativas, frente a un producto, servicio, lugar, tiempo, las personas que nos rodean y las decisiones que tomemos respecto a estos temas.
Sin embargo estos modelos en ocasiones han provocado resistencia ante nuevas ideas o tendencias, dificultando la  capacidad del ser humano de adaptarse al cambio, y modificar su visión del mundo; por tal razón es importante flexibilizar nuestro pensamiento y abrirnos a los adelantos tecnológicos y científicos que nacen de las necesidades de la humanidad, romper los antiguos paradigmas y crear nuevos que se ajusten a estas nuevas tendencias.
Durante los próximos 5 años nos enfrentaremos a numerosos cambios, debido a la implementación de nuevas tecnologías en áreas tan importantes como medicina, la arquitectura, la ingeniería de sistemas, entre otras, además del nacimiento de nuevas ideologías culturales y políticas, que transformaran el mundo.
Por lo anterior el éxito de nuestra vida personal y profesional dependerá de la capacidad de romper antiguos paradigmas, de la  flexibilidad frente al cambio, de la reflexión de las implicaciones del mismo y de la responsabilidad con la que le hagamos  frente, para adaptarnos y ser parte del movimiento transformador de nuestro futuro.

Sistema de información - grupo LOS 500 DE CILANTRO






Tecnologías de información y comunicación - grupo LOS 500 DE CILANTRO






La ingenieria en Colombia - grupo LOS 500 DE CILANTRO


Proceso de diseño y competencias - grupo EL COCODRILO







Proyecto educativo Universidad del Tolima - grupo EL COCODRILO






La ingeniería, una profesión: sobre los conocimientos, las prácticas y los valores - grupo EL COCODRILO







Ciencia Tecnología e Ingeniería del grupo EL COCODRILO





Tutoria CINCO - Telecomunicaciones e Ingenieria de Software

TELECOMUNICACIONES

La telecomunicación («comunicación a distancia», del prefijo griego tele, "distancia" y del latín communicare) es una técnica consistente en transmitir un mensaje desde un punto a otro, normalmente con el atributo típico adicional de ser bidireccional.

El término telecomunicación cubre todas las formas de comunicación a distancia, incluyendo radio, telegrafía, televisión, telefonía, transmisión de datos e interconexión de computadoras a nivel de enlace. El Día Mundial de la Telecomunicación se celebra el 17 de mayo. Telecomunicaciones, es toda transmisión, emisión o recepción de signos, señales, datos, imágenes, voz, sonidos o información de cualquier naturaleza que se efectúa a través de cables, medios ópticos, físicos u otros sistemas electromagnéticos.













INGENIERÍA DEL SOFTWARE

Ingeniería de software es la disciplina o área de la Ingeniería que ofrece métodos y técnicas para desarrollar y mantener software. La creación del software es un proceso intrínsecamente creativo y la Ingeniería del Software trata de sistematizar este proceso con el fin de acotar el riesgo del fracaso en la consecución del objetivo creativo por medio de diversas técnicas que se han demostrado adecuadas en base a la experiencia previa. Esta ingeniería trata con áreas muy diversas de la informática y de las ciencias de la computación, tales como construcción de compiladores, sistemas operativos, o desarrollos Intranet/Internet, abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de sistemas de información y aplicables a infinidad de áreas: negocios, investigación científica, medicina, producción, logística, banca, control de tráfico, meteorología, derecho, Internet, Intranet, etc.


ECONÓMICAMENTE
En los EEUU, el software contribuyó a 1/8 de todo el incremento del PIB durante los 90's (alrededor de 90,000 millones de dólares por año), y 1/9 de todo el crecimiento de productividad durante los últimos años de la década (alrededor de 33,000 millones de dólares por año). La ingeniería de software contribuyó a $1 billón de crecimiento económico y productividad en esa década. Alrededor del globo, el software contribuye al crecimiento económico en formas similares, aunque es difícil de encontrar estadísticas fiables.
Además, con la industria del lenguaje está hallando cada vez más campos de aplicación a escala global.

SOCIALMENTE
La ingeniería de software cambia la cultura del mundo debido al extendido uso de la computadora. El correo electrónico (E-mail), la WWW y la mensajería instantánea permiten a la gente interactuar en nuevas formas. El software baja el costo y mejora la calidad de los servicios de salud, los departamentos de bomberos, las dependencias gubernamentales y otros servicios sociales. Los proyectos exitosos donde se han usado métodos de ingeniería de software incluyen a GNU/Linux, el software del transbordador espacial, los cajeros automáticos y muchos otros.

La IS se puede considerar como la ingeniería aplicada al software, esto es, por medios sistematizados y con herramientas preestablecidas, la aplicación de ellos de la forma más eficiente para la obtención de resultados óptimos; objetivos que siempre busca la ingeniería.
 No es sólo de la resolución de problemas, sino más bien teniendo en cuenta las diferentes soluciones, elegir la más apropiada.

METODOLOGÍA

Un objetivo de décadas ha sido el encontrar procesos y metodologías, que sean sistemáticas, predecibles y repetibles, a fin de mejorar la productividad en el desarrollo y la calidad del producto software.

Etapas del proceso

La ingeniería de software requiere llevar a cabo numerosas tareas, dentro de etapas como las siguientes:

ANÁLISIS DE REQUERIMIENTOS

Extraer los requisitos y requerimientos de un producto de software es la primera etapa para crearlo. Mientras que los clientes piensan que ellos saben lo que el software tiene que hacer, se requiere de habilidad y experiencia en la ingeniería de software para reconocer requerimientos incompletos, ambiguos o contradictorios. El resultado del análisis de requerimientos con el cliente se plasma en el documento ERS, Especificación de Requerimientos del Sistema, cuya estructura puede venir definida por varios estándares, tales como CMMI. Asimismo, se define un diagrama de Entidad/Relación, en el que se plasman las principales entidades que participarán en el desarrollo del software.
La captura, análisis y especificación de requerimientos (incluso pruebas de ellos), es una parte crucial; de esta etapa depende en gran medida el logro de los objetivos finales. Se han ideado modelos y diversos procesos de trabajo para estos fines. Aunque aún no está formalizada, ya se habla de la Ingeniería de requerimientos, por ejemplo en dos capítulos del libro de Sommerville "Ingeniería del Software" titulados "Requerimientos del software" y "Procesos de la Ingeniería de Requerimientos".

La IEEE Std. 830-1998 normaliza la creación de las Especificaciones de Requerimientos de Software (Software Requirements Specification).

ESPECIFICACIÓN

La Especificación de Requisitos describe el comportamiento esperado en el software una vez desarrollado. Gran parte del éxito de un proyecto de software radicará en la identificación de las necesidades del negocio (definidas por la alta dirección), así como la interacción con los usuarios funcionales para la recolección, clasificación, identificación, priorización y especificación de los requisitos del software.

Entre las técnicas utilizadas para la especificación de requisitos se encuentran:
  • Casos de uso.
  • Historias de usuario.
Siendo los primeros más rigurosos y formales, los segundos más ágiles e informales.

ARQUITECTURA

La integración de infraestructura, desarrollo de aplicaciones, bases de datos y herramientas gerenciales, requieren de capacidad y liderazgo para poder ser conceptualizados y proyectados a futuro, solucionando los problemas de hoy. El rol en el cual se delegan todas estas actividades es el del Arquitecto. El Arquitecto de Software es la persona que añade valor a los procesos de negocios gracias a su valioso aporte de soluciones tecnológicas. La Arquitectura de Sistemas en general, es una actividad de planeación, ya sea a nivel de infraestructura de red y hardware, o de Software. La Arquitectura de Software consiste en el diseño de componentes de una aplicación (entidades del negocio), generalmente utilizando patrones de arquitectura. El diseño arquitectónico debe permitir visualizar la interacción entre las entidades del negocio y además poder ser validado, por ejemplo por medio de diagramas de secuencia. Un diseño arquitectónico describe en general el cómo se construirá una aplicación de software. Para ello se documenta utilizando diagramas, por ejemplo:
  • Diagramas de clases
  • Diagramas de base de datos
  • Diagramas de despliegue plegados
  • Diagramas de secuencia multidireccional
Siendo los dos primeros los mínimos necesarios para describir la arquitectura de un proyecto que iniciará a ser codificado. Depende del alcance del proyecto, complejidad y necesidades, el arquitecto elige qué diagramas elaborar. Entre las herramientas para diseñar arquitecturas de software se encuentran:
  • Enterprise Architect
  • Microsoft Visio for Enterprise Architects

PROGRAMACIÓN

Reducir un diseño a código puede ser la parte más obvia del trabajo de ingeniería de software, pero no necesariamente es la que demanda mayor trabajo y ni la más complicada. La complejidad y la duración de esta etapa está íntimamente relacionada al o a los lenguajes de programación utilizados, así como al diseño previamente realizado.

PRUEBA
Consiste en comprobar que el software realice correctamente las tareas indicadas en la especificación del problema. Una técnica de prueba es probar por separado cada módulo del software, y luego probarlo de forma integral, para así llegar al objetivo. Se considera una buena práctica el que las pruebas sean efectuadas por alguien distinto al desarrollador que la programó, idealmente un área de pruebas; sin perjuicio de lo anterior el programador debe hacer sus propias pruebas. En general hay dos grandes formas de organizar un área de pruebas, la primera es que esté compuesta por personal inexperto y que desconozca el tema de pruebas, de esta forma se evalúa que la documentación entregada sea de calidad, que los procesos descritos son tan claros que cualquiera puede entenderlos y el software hace las cosas tal y como están descritas. El segundo enfoque es tener un área de pruebas conformada por programadores con experiencia, personas que saben sin mayores indicaciones en qué condiciones puede fallar una aplicación y que pueden poner atención en detalles que personal inexperto no consideraría.

DOCUMENTACIÓN 

Todo lo concerniente a la documentación del propio desarrollo del software y de la gestión del proyecto, pasando por modelaciones (UML),casos de uso diagramas, pruebas, manuales de usuario, manuales técnicos, etc; todo con el propósito de eventuales correcciones, usabilidad, mantenimiento futuro y ampliaciones al sistema.

MANTENIMIENTO

Mantener y mejorar el software para enfrentar errores descubiertos y nuevos requisitos. Esto puede llevar más tiempo incluso que el desarrollo inicial del software. Alrededor de 2/3 de toda la ingeniería de software tiene que ver con dar mantenimiento. Una pequeña parte de este trabajo consiste en arreglar errores, o bugs. La mayor parte consiste en extender el sistema para hacer nuevas cosas. De manera similar, alrededor de 2/3 de toda la ingeniería civil, arquitectura y trabajo de construcción es dar mantenimiento.