martes, 13 de octubre de 2009

BIBLIOGRAFIA (LENGUAJES DE PROGRAMACION)

BIBLIOGRAFIA

http://sunsite.dcc.uchile.cl/webmastercl/mirrors/javatutor/

http://highland.dit.upm.es:8000/UNIX/movs1/2dirsist.html

http://docs.inf.utfsm.cl/pub/DI/labsw/manual_c/node1.html

http://docs.inf.utfsm.cl/pub/DI/labsw/manual_c/node2.html

http://docs.inf.utfsm.cl/pub/DI/labsw/manual_c/node3.html

http://www.fing.edu.uy/~yemurenk/indexsort.html

http://www.cs.us.es/archive/LinuxFocus/Castellano/May1998/article11.html


CONCLUCIONES(LENGUAJES DE PROGRAMACION)

CONCLUSION

Para concluir podemos decir que los lenguajes de programacion, intervienen en todo lo relacionado con la interaccion de el ser humano con la computadora y para que un computador interprete una secuencia u ordenes emitidas por una terminal ya sea en tiempo real o preprogramado.

APLICACIONES (LENGUAJES DE PROGAMACION)

APLICACIONES

Los lenguajes de programación permiten comunicarse con los ordenadores o computadoras. Una vez identificada una tarea, el programador debe traducirla o codificarla a una lista de instrucciones que la computadora entienda. Un programa informático para determinada tarea puede escribirse en varios lenguajes. Según la función, el programador puede optar por el lenguaje que implique el programa menos complicado. También es importante que el programador elija el lenguaje más flexible y más ampliamente compatible para el caso de que el programa tenga varias aplicaciones. Los ejemplos que se ven en la ilustración son programas escritos para calcular el promedio de una serie de números. C y BASIC son los lenguajes de computadora más utilizados. En el recuadro inferior de la ilustración se muestra cómo una computadora procesará y ejecutará los comandos de los programas.

VIDEO(LENGUAJES DE PROGRAMACION)

FALTAAAAAAA

VENTAJAS(LENGUAJES DE PROGRAMACION)

VENTAJAS

Las ventajas del lenguaje permite un desarrollo eficaz.
posibilidad de desarrollar y ejecutar aplicaciones

TIPOS (LENGUAJE DE PROGRAMACION)

TIPOS

Existen dos tipos de lenguajes claramente diferenciados; los lenguajes de bajo nivel y los de alto nivel.

Lenguajes de bajo nivel

Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras maquinas.
Este lenguaje ordena a la máquina las operaciones fundamentales para su funcionamiento. Consiste en la combinación de 0's y 1's para formar las ordenes entendibles por el hardware de la maquina.
El lenguaje ensamblador es un derivado del lenguaje maquina y esta formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, ñadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener.


Lenguajes de alto nivel

Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina.
Están dirigidos a solucionar problemas mediante el uso de EDD's.

Nota: EDD's son las abreviaturas de Estructuras Dinamicas de Datos, algo muy utilizado en todos los lenguajes de programación. Son estructuras que pueden cambiar de tamaño durante la ejecución del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa.


Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo que, en principio, un programa escrito en un lenguaje de alto nivel, lo puedes migrar de una máquina a otra sin ningún tipo de problema.

Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina/s para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la maquina.

Suelen usar tipos de datos para la programación y hay lenguajes de propósito general (cualquier tipo de aplicación) y de propósito especifico (como FORTRAN para trabajos científicos).

Lenguajes de Medio nivel

Se trata de un termino no aceptado por todos, pero q seguramente habrás oído. Estos lenguajes se encuentran en un punto medio entre los dos anteriores. Dentro de estos lenguajes podría situarse C ya que puede acceder a los registros del sistema, trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a la vez realizar operaciones de alto nivel.


CARACTERISTICAS (LENGUAJE DE PROGRAMACION)

CARACTERISTICAS


• Transportabilidad :un programa escrito en un lenguaje de alto nivel se puede escribir con poca o ninguna modificación en distintos tipos de computadora.


• Independencia : Los lenguajes deben ser independientes de la máquina o sea una sentencia no depende del diseño de hardware de una computadora en particular.

PALABRAS CLAVE (LENGUAJE DE PROGRAMACION)

  • c++

  • Java

  • Pascal

  • Qbasic

  • Transportabilidad

  • Independencia

  • Programador

  • Desarrollador

  • Diseño

  • Computadoras

  • Programa

  • Lenguaje

  • Interpretes

  • Compilador

  • Paradigma

  • Implementacion

  • Php

  • Html

  • ActioScript

  • Informacion

DEFINICION (LENGUAJE DE PROGRAMACION)

LENGUAJE DE PROGRAMACION


Lenguaje artificial que puede ser usado para controlar el comportamiento de una máquina, especialmente una computadora. Estos se componen de un conjunto de reglas sintácticas y semánticas que permiten expresar instrucciones que luego serán interpretadas.

Debe distinguirse de “lenguaje informático”, que es una definición más amplia, puesto estos incluyen otros lenguajes como son el HTML o PDF que dan formato a un texto y no es programación en sí misma.



PAPER (LENGUAJES DE PROGARMACION)


INTRODUCCION

En este paper veremos con una vision muy clara y especifica, las diferencias y las funcionalidades de los lenguajes de programacion, sus ventajas y sus desventajas;
tambien la forma de aplicar estos tipos de lenguajes; esto con el fin de ayudar a identificar y aplicar estos lenguajes.

miércoles, 7 de octubre de 2009

FLUJOS DE TRABAJO (METODOLOGIA RUP)

Un flujo de trabajo es una relación de actividades que nos producen unos resultados observables. A continuación se dará una explicación de cada flujo de trabajo.

Modelado del negocio

Con este flujo de trabajo pretendemos llegar a un mejor entendimiento de la organización donde se va a implantar el producto.

Los objetivos del modelado de negocio son [RSC02]:

· Entender la estructura y la dinámica de la organización para la cual el sistema va ser desarrollado (organización objetivo).

· Entender el problema actual en la organización objetivo e identificar potenciales mejoras.

· Asegurar que clientes, usuarios finales y desarrolladores tengan un entendimiento común de la organización objetivo.

· Derivar los requisitos del sistema necesarios para apoyar a la organización objetivo.

Para lograr estos objetivos, el modelo de negocio describe como desarrollar una visión de la nueva organización, basado en esta visión se definen procesos, roles y responsabilidades de la organización por medio de un modelo de Casos de Uso del negocio y un Modelo de Objetos del Negocio. Complementario a estos modelos, se desarrollan otras especificaciones tales como un Glosario.

Requisitos

Este es uno de los flujos de trabajo más importantes, porque en él se establece qué tiene que hacer exactamente el sistema que construyamos. En esta línea los requisitos son el contrato que se debe cumplir, de modo que los usuarios finales tienen que comprender y aceptar los requisitos que especifiquemos.

Los objetivos del flujo de datos Requisitos es [RSC02]:

· Establecer y mantener un acuerdo entre clientes y otros stakeholders sobre lo que el sistema podría hacer.

· Proveer a los desarrolladores un mejor entendimiento de los requisitos del sistema.

· Definir el ámbito del sistema.

· Proveer una base para la planeación de los contenidos técnicos de las iteraciones.

· Proveer una base para estimar costos y tiempo de desarrollo del sistema.

· Definir una interfaz de usuarios para el sistema, enfocada a las necesidades y metas del usuario.

Los requisitos se dividen en dos grupos. Los requisitos funcionales representan la funcionalidad del sistema. Se modelan mediante diagramas de Casos de Uso. Los requisitos no funcionales representan aquellos atributos que debe exhibir el sistema, pero que no son una funcionalidad específica. Por ejemplo requisitos de facilidad de uso, fiabilidad, eficiencia, portabilidad, etc.

Para capturar los requisitos es preciso entrevistar a todos los interesados en el proyecto, no sólo a los usuarios finales, y anotar todas sus peticiones. A partir de ellas hay que descubrir lo que necesitan y expresarlo en forma de requisitos.

En este flujo de trabajo, y como parte de los requisitos de facilidad de uso, se diseña la interfaz gráfica de usuario. Para ello habitualmente se construyen prototipos de la interfaz gráfica de usuario que se contrastan con el usuario final.

Análisis y Diseño

El objetivo de este flujo de trabajo es traducir los requisitos a una especificación que describe cómo implementar el sistema.

Los objetivos del análisis y diseño son [RSC02]:

· Transformar los requisitos al diseño del futuro sistema.

· Desarrollar una arquitectura para el sistema.

· Adaptar el diseño para que sea consistente con el entorno de implementación, diseñando para el rendimiento.

El análisis consiste en obtener una visión del sistema que se preocupa de ver qué hace, de modo que sólo se interesa por los requisitos funcionales. Por otro lado el diseño es un refinamiento del análisis que tiene en cuenta los requisitos no funcionales, en definitiva cómo cumple el sistema sus objetivos.

Al principio de la fase de elaboración hay que definir una arquitectura candidata: crear un esquema inicial de la arquitectura del sistema, identificar clases de análisis y actualizar las realizaciones de los Casos de Uso con las interacciones de las clases de análisis. Durante la fase de elaboración se va refinando esta arquitectura hasta llegar a su forma definitiva. En cada iteración hay que analizar el comportamiento para diseñar componentes. Además si el sistema usará una base de datos, habrá que diseñarla también, obteniendo un modelo de datos.

El resultado final más importante de este flujo de trabajo será el modelo de diseño. Consiste en colaboraciones de clases, que pueden ser agregadas en paquetes y subsistemas.

Otro producto importante de este flujo es la documentación de la arquitectura de software, que captura varias vistas arquitectónicas del sistema.

Implementación

En este flujo de trabajo se implementan las clases y objetos en ficheros fuente, binarios, ejecutables y demás. Además se deben hacer las pruebas de unidad: cada implementador es responsable de probar las unidades que produzca. El resultado final de este flujo de trabajo es un sistema ejecutable.

En cada iteración habrá que hacer lo siguiente:

· Planificar qué subsistemas deben ser implementados y en que orden deben ser integrados, formando el Plan de Integración.

· Cada implementador decide en que orden implementa los elementos del subsistema.

· Si encuentra errores de diseño, los notifica.

· Se prueban los subsistemas individualmente.

· Se integra el sistema siguiendo el plan.

La estructura de todos los elementos implementados forma el modelo de implementación. La integración debe ser incremental, es decir, en cada momento sólo se añade un elemento. De este modo es más fácil localizar fallos y los componentes se prueban más a fondo. En fases tempranas del proceso se pueden implementar prototipos para reducir el riesgo. Su utilidad puede ir desde ver si el sistema es viable desde el principio, probar tecnologías o diseñar la interfaz de usuario. Los prototipos pueden ser exploratorios (desechables) o evolutivos. Estos últimos llegan a transformarse en el sistema final.

Pruebas

Este flujo de trabajo es el encargado de evaluar la calidad del producto que estamos desarrollando, pero no para aceptar o rechazar el producto al final del proceso de desarrollo, sino que debe ir integrado en todo el ciclo de vida.

Esta disciplina brinda soporte a las otras disciplinas. Sus objetivos son [RSC02]:

· Encontrar y documentar defectos en la calidad del software.

· Generalmente asesora sobre la calidad del software percibida.

· Provee la validación de los supuestos realizados en el diseño y especificación de requisitos por medio de demostraciones concretas.

· Verificar las funciones del producto de software según lo diseñado.

· Verificar que los requisitos tengan su apropiada implementación.

Las actividades de este flujo comienzan pronto en el proyecto con el plan de prueba (el cual contiene información sobre los objetivos generales y específicos de las prueba en el proyecto, así como las estrategias y recursos con que se dotará a esta tarea), o incluso antes con alguna evaluación durante la fase de inicio, y continuará durante todo el proyecto.

El desarrollo del flujo de trabajo consistirá en planificar que es lo que hay que probar, diseñar cómo se va a hacer, implementar lo necesario para llevarlos a cabo, ejecutarlos en los niveles necesarios y obtener los resultados, de forma que la información obtenida nos sirva para ir refinando el producto a desarrollar.

Despliegue

El objetivo de este flujo de trabajo es producir con éxito distribuciones del producto y distribuirlo a los usuarios. Las actividades implicadas incluyen:

· Probar el producto en su entorno de ejecución final.

· Empaquetar el software para su distribución.

· Distribuir el software.

· Instalar el software.

· Proveer asistencia y ayuda a los usuarios.

· Formar a los usuarios y al cuerpo de ventas.

· Migrar el software existente o convertir bases de datos.

Este flujo de trabajo se desarrolla con mayor intensidad en la fase de transición, ya que el propósito del flujo es asegurar una aceptación y adaptación sin complicaciones del software por parte de los usuarios. Su ejecución inicia en fases anteriores, para preparar el camino, sobre todo con actividades de planificación, en la elaboración del manual de usuario y tutoriales.

Gestión del proyecto

La Gestión del proyecto es el arte de lograr un balance al gestionar objetivos, riesgos y restricciones para desarrollar un producto que sea acorde a los requisitos de los clientes y los usuarios.

Los objetivos de este flujo de trabajo son:

· Proveer un marco de trabajo para la gestión de proyectos de software intensivos.

· Proveer guías prácticas realizar planeación, contratar personal, ejecutar y monitorear el proyecto.

· Proveer un marco de trabajo para gestionar riesgos.

La planeación de un proyecto posee dos niveles de abstracción: un plan para las fases y un plan para cada iteración.

Configuración y control de cambios

La finalidad de este flujo de trabajo es mantener la integridad de todos los artefactos que se crean en el proceso, así como de mantener información del proceso evolutivo que han seguido.

Entorno

La finalidad de este flujo de trabajo es dar soporte al proyecto con las adecuadas herramientas, procesos y métodos. Brinda una especificación de las herramientas que se van a necesitar en cada momento, así como definir la instancia concreta del proceso que se va a seguir.

En concreto las responsabilidades de este flujo de trabajo incluyen:

· Selección y adquisición de herramientas

· Establecer y configurar las herramientas para que se ajusten a la organización.

· Configuración del proceso.

· Mejora del proceso.

· Servicios técnicos.

El principal artefacto que se usa en este flujo de trabajo es el caso de desarrollo que especifica para el proyecto actual en concreto, como se aplicará el proceso, que productos se van a utilizar y como van a ser utilizados. Además se tendrán que definir las guías para los distintos aspectos del proceso, como pueden ser el modelado del negocio y los Casos de Uso, para la interfaz de usuario, el diseño, la programación, el manual de usuario.

FASES METODOLOGIA

  • Establece oportunidad y alcance
  • Identifica las entidades externas o actores con las que se trata
  • Identifica los casos de uso
  • Proceso: Las etapas de esta sección son: (Revise nuevamente la gráfica)

  • Modelado de negocio
  • Requisitos
  • Análisis y Diseño
  • Implementación
  • Pruebas
  • Despliegue

Soporte: En esta parte nos encontramos con las siguientes etapas:

  • Gestión del cambio y configuraciones
  • Gestión del proyecto
  • Entorno
  • La estructura dinámica de RUP es la que permite que éste sea un proceso de desarrollo fundamentalmente iterativo, y en esta parte se ven inmersas las 4 fases descritas anteriormente:

  • Inicio(También llamado Incepción)
  • Elaboración
  • Desarrollo(También llamado Implementación,Construcción)
  • Cierre (También llamado Transición)

METODOLOGIA RUP

El Proceso Unificado Racional es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado uml, constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos.

METODOLOGIA

METODOLOGIA

Una metodologia es el estudio del metodo que se va a utilizar para desarrollar los objetivos propuestos, o el problema a solucionar.

JAVIER ENRIQUE JOYA AROCA

programador:
Trabaja en uno o mas procesos para el desarrollo de el software


analista:
Analiza las necesidades que tiene que suplir el software, aunque el analista tambien escribe codigo


desarrollador:
contribuye al desarrollo con una vision mas general que el programador, mas a nivel de aplicacion y NO de componentes.