luis palacio

luis palacio

martes, 8 de marzo de 2011

consulta poo 8 mar

Que es poo?
La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, abstracción, polimorfismo y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe variedad de lenguajes de programación que soportan la orientación a objetos.

Que es clase?
En la programación orientada a objetos, una clase es una construcción que se utiliza como un modelo (o plantilla) para crear objetos de ese tipo. El modelo describe el estado y el comportamiento que todos los objetos de la clase comparten. Un objeto de una determinada clase se denomina una instancia de la clase. La clase que contiene (y se utilizó para crear) esa instancia se puede considerar como del tipo de ese objeto, por ejemplo, una instancia del objeto de la clase "Personas" sería del tipo "Personas".
Una clase por lo general representa un sustantivo, como una persona, lugar o (posiblemente bastante abstracta) cosa - es el modelo de un concepto dentro de un programa de computadora. Fundamentalmente, encapsula el estado y el comportamiento del concepto que representa. Encapsula el estado a través de marcadores de datos llamados atributos (o variables miembro o variables de instancia), encapsula el comportamiento a través de secciones de código reutilizables llamados métodos.
Más técnicamente, una clase es un conjunto coherente que consiste en un tipo particular de metadatos. Una clase tiene tanto una interfaz y una estructura. La interfaz describe cómo interactuar con la clase y sus instancias con métodos, mientras que la estructura describe cómo los datos se dividen en atributos dentro de una instancia. Una clase también puede tener una representación (metaobjeto) en tiempo de ejecución, que proporciona apoyo en tiempo de ejecución para la manipulación de los metadatos relacionados con la clase. En el diseño orientado a objetos, una clase es el tipo más específico de un objeto en relación con una capa específica.
Los lenguajes de programación que soportan clases difieren sutilmente en su soporte para diversas características relacionadas con clases. La mayoría soportan diversas formas de herencia. Muchos lenguajes también soportan características para proporcionar encapsulación, como especificadores de acceso.

Que es instancia?
La palabra Instancia significa: Solicitud o Insistencia.
Una instancia de un programa es una copia de una versión ejecutable del programa que ha sido escrito en la memoria del computador.
Una instancia de un programa es creada típicamente por el click de usuario en un icono de una interfaz Gráfica para usuarios GUI o por la entrada de un comando en una interfaz de línea de comandos CLI y presionando la tecla ENTER. Instancias de programas pueden ser creadas por otros programas.
Un programa es una secuencia de instrucciones que indica cuales operaciones se deben realizar sobre un conjunto de datos. Una versión ejecutable de un programa, también llamado un programa ejecutable, es una versión de un programa que es entendible para el CPU del computador y está listo para funcionar tan pronto como se copia en memoria. Esto contrasta con la versión de código fuente de un programa, el cual es la versión originalmente escrita por lenguaje de alto nivel, y luego es traducido a lenguaje de máquinas por otro programa especializado llamado compilador.
Un ejemplo de instancia en un lenguaje de programación visual, sería tomar o arrastrar un objeto de la barra de herramientas o de la lista de librerías y colocarlo en el escritorio o escenario de trabajo (estamos creando una instancia de ese objeto, una copia). Si arrastramos 10 botones al entorno visual de trabajo, estamos creando una instancia del botón original, si a cada botón le cambiamos el nombre, tendremos 10 botones que heredan las mismas propiedades y métodos del objeto original. Tenemos como resultado que con un solo botón hicimos 10 y nuestro archivo pesara como si tuviese uno solo.
De esta forma, partiendo de lo que conforma a un objeto original (propiedades y métodos) se reutilizan sus funciones creando una instancia del mismo en distintas partes del programa donde se necesite. Si el objeto original cambia o le es agregado algún nuevo atributo, las instancias lo heredaran puesto que son una copia del objeto original.
La multitarea permite a múltiples programas ejecutarse simultáneamente en el mismo computador. De igual modo también permite que múltiples instancias de un mismo programa se ejecuten simultáneamente, si el programa lo permite. Hay ocasiones en que se desea que sólo pueda existir una única instancia del programa en el computador; los lenguajes de programación incorporan técnicas para implementar esta restricción.
En programación, una instancia se produce con la creación de un objeto perteneciente a una clase (se dice que se instancia la clase). El objeto que se crea tiene los atributos, propiedades y métodos de la clase a la que pertenece. Los objetos y sus características se usan en la construcción de programas, ya sea como contenedores de datos o como partes funcionales del programa.

Que es objeto?
En el paradigma de programación orientada a objetos (POO, o bien OOP en inglés), un objeto se define como la unidad que en tiempo de ejecución realiza las tareas de un programa. También a un nivel más básico se define como la instancia de una clase.
Estos objetos interactúan unos con otros, en contraposición a la visión tradicional en la cual un programa es una colección de subrutinas (funciones o procedimientos), o simplemente una lista de instrucciones para el computador. Cada objeto es capaz de recibir mensajes, procesar datos y enviar mensajes a otros objetos de manera similar a un servicio.
En el mundo de la programación orientada a objetos (POO), un objeto es el resultado de la instanciación de una clase. Una clase es el anteproyecto que ofrece la funcionalidad en ella definida, pero ésta queda implementada sólo al crear una instancia de la clase, en la forma de un objeto. Por ejemplo: dado un plano para construir sillas (una clase de nombre clase_silla), entonces una silla concreta, en la que podemos sentarnos, construida a partir de este plano, sería un objeto de clase_silla. Es posible crear (construir) múltiples objetos (sillas) utilizando la definición de la clase (plano) anterior. Los conceptos de clase y objetos son análogos a los de tipo de  datos y variable, es decir, definida una clase podemos crear objetos de esa clase, igual que disponiendo de un determinado tipo de dato (por ejemplo el tipo entero), podemos definir variables de dicho tipo.

Que es herencia?
En orientación a objetos la herencia es el mecanismo fundamental para implementar la reutilización y extensibilidad del software. A través de ella los diseñadores pueden construir nuevas clases partiendo de una jerarquía de clases ya existente (comprobadas y verificadas) evitando con ello el rediseño, la modificación y verificación de la parte ya implementada. La herencia facilita la creación de objetos a partir de otros ya existentes, obteniendo características (métodos y atributos) similares a los ya existentes.
Es la relación entre una clase general y otra clase más específica. Por ejemplo: Si declaramos una clase párrafo derivada de una clase texto, todos los métodos y variables asociadas con la clase texto, son automáticamente heredados por la subclase párrafo.
La herencia es uno de los mecanismos de la programación orientada a objetos, por medio del cual una clase se deriva de otra, llamada entonces clase base o clase padre,(a veces se le denomina superclase pero no es muy común), de manera que extiende su funcionalidad. Una de sus funciones más importantes es la de proveer Polimorfismo y late binding.

Que es polimorfismo?
En programación orientada a objetos el polimorfismo se refiere a la capacidad para que varias clases derivadas de una antecesora utilicen un mismo método de forma diferente.
Por ejemplo, podemos crear dos clases distintas: Pez y Ave que heredan de la superclase Animal. La clase Animal tiene el método abstracto mover que se implementa de forma distinta en cada una de las subclases (peces y aves se mueven de forma distinta).
Como se mencionó anteriormente, el concepto de polimorfismo se puede aplicar tanto a funciones como a tipos de datos. Así nacen los conceptos de funciones polimórficas y tipos polimórficos. Las primeras son aquellas funciones que pueden evaluarse o ser aplicadas a diferentes tipos de datos de forma indistinta; los tipos polimórficos, por su parte, son aquellos tipos de datos que contienen al menos un elemento cuyo tipo no está especificado.
Se puede clasificar el polimorfismo en dos grandes clases:
  • Polimorfismo dinámico (o polimorfismo paramétrico) es aquél en el que el código no incluye ningún tipo de especificación sobre el tipo de datos sobre el que se trabaja. Así, puede ser utilizado a todo tipo de datos compatible.
  • Polimorfismo estático (o polimorfismo ad hoc) es aquél en el que los tipos a los que se aplica el polimorfismo deben ser explicitados y declarados uno por uno antes de poder ser utilizados.
El polimorfismo dinámico unido a la herencia es lo que en ocasiones se conoce como programación genérica.
También se clasifica en herencia por redefinición de métodos abstractos y por método sobrecargado. El segundo hace referencia al mismo método con diferentes parámetros.
Otra clasificación agrupa los polimorfismo en dos tipos: Ad-Hoc que incluye a su vez sobrecarga de operadores y coerción, Universal (inclusión o controlado por la herencia, paramétrico o genericidad).

Que es atributo?
Un atributo es una especificación que define una propiedad de un Objeto, elemento o archivo. También puede referirse o establecer el valor específico para una instancia determinada de los mismos.
Sin embargo, actualmente, el término atributo puede y con frecuencia se considera como si fuera una propiedad dependiendo de la tecnología que se use.
Para mayor claridad, los atributos deben ser considerados más correctamente como metadatos. Un atributo es con frecuencia y en general una característica de una propiedad.
Un buen ejemplo es el proceso de asignación de valores XML a las propiedades (elementos). Tenga en cuenta que el valor del elemento se encuentra antes de la etiqueta de cierre (por separado), no en el propio elemento. El mismo elemento puede tener una serie de atributos establecidos (Nombre = "estoesunapropiedad").
Si el elemento en cuestión puede ser considerado una propiedad (Nombre_Cliente) de otra entidad (digamos "cliente"), el elemento puede tener cero o más atributos (propiedades) de su propio (Nombre_Cliente es de Tipo = "tipotexto").
Un atributo de un objeto por lo general consiste de un nombre y un valor; de un elemento, un tipo o nombre de clase; de un archivo, un nombre y extensión.
  • Cada atributo nombrado tiene asociado un conjunto de reglas denominadas operaciones: uno no agrega caracteres o manipula y procesa una matriz de enteros como una imagen ni procesa texto como tipo de coma flotante (números decimales).
  • Por tanto, una definición de objeto se puede ampliar mediante la imposición de tipos de datos: un formato de representación, un valor por defecto, y las operaciones legales (normas) y restricciones ("¡División por cero no está permitida!") Son todos los que podrían participar en la definición un atributo, o por el contrario, se puede decir que son atributos de ese tipo de objeto. Un archivo JPEG no es decodificado por las mismas operaciones (por muy similares que sean, estos son todos formatos de datos de gráficos) como un archivo BMP o PNG, ni es un número de coma flotante operado por las normas aplicadas al los enteros largos.
Por ejemplo, en computación gráfica los objetos de planos pueden tener atributos tales como espesor (con valores reales), color (con valores descriptivos como el marrón o verde o los valores definidos en un cierto modelo de color, como RGB), etc. Un objeto círculo se puede definir con atributos similares, como un origen y radio.
Lenguajes de marca, como HTML y XML, utilizan los atributos para describir los datos y el formato de los datos.

Que es método?
En la programación orientada a objetos, un método es una subrutina asociada exclusivamente a una clase (llamados métodos de clase o métodos estáticos) o a un objeto (llamados métodos de instancia). Análogamente a los procedimientos en los lenguajes imperativos, un método consiste generalmente de una serie de sentencias para llevar a cabo una acción, un juego de parámetros de entrada que regularán dicha acción y, posiblemente, un valor de salida (o valor de retorno) de algún tipo.
Algunos lenguajes de programación asumen que un método debe de mantener el invariante del objeto al que está asociado asumiendo también que éste es válido cuando el método es invocado. En lenguajes compilados dinámicamente, los métodos pueden ser objetos de primera clase, y en este caso se puede compilar un método sin asociarse a ninguna clase en particular, y luego asociar el vínculo o contrato entre el objeto y el método en tiempo de ejecución. En cambio en lenguajes no compilados dinámicamente o tipados estáticamente, se acude a precondiciones para regular los parámetros del método y postcondiciones para regular su salida (en caso de tenerla). Si alguna de las precondiciones o postcondiciones es falsa el método genera una excepción. Si el estado del objeto no satisface la invariante de su clase al comenzar o finalizar un método, se considera que el programa tiene un error de programación.
La diferencia entre un procedimiento (generalmente llamado función si devuelve un valor) y un método es que éste último, al estar asociado con un objeto o clase en particular, puede acceder y modificar los datos privados del objeto correspondiente de forma tal que sea consistente con el comportamiento deseado para el mismo. Así, es recomendable entender a un método no como una secuencia de instrucciones sino como la forma en que el objeto es útil (el método para hacer su trabajo). Por lo tanto, podemos considerar al método como el pedido a un objeto para que realice una tarea determinada o como la vía para enviar un mensaje al objeto y que éste reaccione acorde a dicho mensaje.

Que es accesores?
Del buen uso de la visibilidad de los atributos en una clase depende el respetar o no el principio de ocultación, característica de la POO, la cual nos dice que solamente los propios métodos internos del objeto pueden acceder a las propiedades del mismo.
Supongamos que tenemos una clase llamada Persona, con los atributos Nombre, Edad y Nacimiento, donde el Nacimiento es la fecha de nacimiento y la edad se obtiene a partir de esta. Dado que los atributos son privados no se tiene acceso a ellos desde fuera del objeto, lo cual representa un problema ya que necesitamos poder “ver” y modificar el atributo Nombre, modificar el Nacimiento y ver la Edad.
Para resolver el problema necesitamos implementar métodos accesores y modificadores los cuales nos van a permitir el acceso a los atributos de la clase, la idea consiste en implementar un método accesor por cada atributo que necesitemos “ver”, y un método modificador por cada atributo que necesitemos modificar.

Que es parámetros?
En programación de la computadora, a parámetro es una variable que adquiere el significado de corresponder discusión pasado en una llamada a  subprograma. En el caso más común, llamar-por-valor, un parámetro actúa dentro del subprograma como a local copia (aislada) de la discusión, pero en otros casos, e.g. llamar-por-referencia, la discusión proveída por el llamador se puede afectar por acciones dentro del subprograma llamado (según lo discutido adentro estrategia de la evaluación).
Casi todos lenguajes de programación parámetros del subprograma de la ayuda. La semántica para cómo los parámetros pueden ser declarados y cómo las discusiones consiguen pasadas a los parámetros de subprogramas son definidas por la lengua, solamente los detalles de cómo esto se representa en cualquier sistema informático particular depende de llamar a convenciones de ese sistema.

Que es encapsulación?
La encapsulación es un mecanismo que consiste en organizar datos y métodos de una estructura, conciliando el modo en que el objeto se implementa, es decir, evitando el acceso a datos por cualquier otro medio distinto a los especificados. Por lo tanto, la encapsulación garantiza la integridad de los datos que contiene un objeto.

viernes, 25 de febrero de 2011

consulta sobre gestion de requisitos


Introduccion
Los mejores productos, desde el punto de vista del usuario, son aquellos creados por
desarrolladores que tienen muy claro lo que se pretende conseguir con el producto y cómo
obtenerlo. Para llegar a este punto, se debe entender el trabajo del usuario, cómo afectará el
producto a su trabajo y cómo se adecuará a los objetivos de la organización.
Lo que hace el producto y las condiciones que debe satisfacer en este contexto son los
requisitos del producto.

¿Qué es un requisito?
Un requisito es algo que el producto debe hacer o una característica que debe tener. Un
requisito existe por el tipo de demanda que tiene el producto o porque el cliente quiere que
el requisito sea parte del producto entregado. La tarea de todo analista de requisitos es
hablar con la gente, entenderla, escuchar lo que dicen y también lo que no dicen, para
entender lo que necesitan.

Requisitos del sistema/software
Definen las funcionalidades y características que debe tener el sistema para
satisfacer tanto los requisitos de negocio como los de usuario.
Van a servir como base para llevar a cabo la arquitectura, diseño y planes de
pruebas del sistema.

OBTENCIÓN DE REQUISITOS
La obtención de requisitos se define como el proceso de identificar las necesidades del
negocio, solucionando las posibles disparidades entre las personas involucradas en el
mismo, con el propósito de definir y destilar los requisitos para cumplir las restricciones
impuestas por las distintas partes.
Un buen proceso de obtención de requisitos soporta el desarrollo de la especificación de los
requisitos, de tal forma que tengan los siguientes atributos:
Deben ser completos, consistentes y han de estar dentro del alcance del proyecto
Deben tener un único identificador
Cumplen con los objetivos de los clientes
Son viables y apropiados para el desarrollo
Los requisitos han de ser “testeables” (deben tener capacidad de prueba).

GESTIÓN DE LOS REQUISITOS
La gestión de requisitos es el conjunto de actividades que ayudan al equipo de trabajo a
identificar, controlar y seguir los requisitos y sus cambios en cualquier momento. Es decir, la
gestión de requisitos consiste en gestionar los cambios de los requisitos, las relaciones entre
ellos, las dependencias entre la especificación de requisitos y otros documentos producidos
por el proceso de desarrollo de software. De esta forma se asegura la consistencia entre los
requisitos y el sistema construido.
Por lo tanto, los objetivos principales del proceso de gestión de requisitos serán:
Gestionar la recogida de requisitos
Obtener la aprobación de los participantes del proyecto
Gestionar los cambios (trazabilidad)
La gestión de requisitos es un proceso que se desarrolla a lo largo de toda la vida del
producto.

GESTIÓN DE CAMBIOS
Los requisitos cambian durante todo el ciclo de vida de desarrollo del producto como se vio
en apartados anteriores. Los cambios deben controlarse y documentarse, es decir, hay que
convivir con ellos y por ello la gestión de cambios es esencial para tratar dichos cambios.
Cuando, durante el proyecto y una vez aceptada la línea base de requisitos, se solicita un
cambio sobre esta línea base, estos cambios no se pueden aceptar sin más ya que
podrían afectar al desarrollo de todo el sistema, o alguna parte esencial del mismo.
El siguiente gráfico muestra el proceso de gestión de cambios con las actividades a llevar a
cabo durante el desarrollo del mismo:

La primera tarea a realizar tras recibir una petición de cambio es valorar el impacto del
mismo. Para ello se deberá ir recorriendo todo el árbol de requisitos viendo como les afecta
el cambio, y aquí es donde entra la trazabilidad de los requisitos.

Una vez analizado el impacto del cambio, se debe tomar una decisión. Si se acepta el
cambio, tras negociarlo con el cliente, se continuará con la actividad de implementar el
cambio. En caso contrario, se deberá negociar con el cliente el siguiente paso a realizar.

Si se ha aceptado el cambio, hay que reflejar ese cambio en todos los productos que
resulten afectados por dicho cambio (si el cambio es mínimo algunos productos como el plan del proyecto, puede que no sea necesario modificar). Además se deberá generar un
nuevo punto de partida (línea base) de requisitos.
Trazabilidad
Un concepto clave en el proceso de gestión de cambios es la Trazabilidad. Los requisitos
deben ser trazables, es decir, “rastreables”. Se podría decir que un requisito es trazable si
se pueden identificar todas las partes del producto existente relacionadas con ese requisito.
Todos los requisitos deberían ser trazables para mantener consistencia entre los distintos
documentos de un proyecto.
Es importante conocer aspectos de los requisitos tales como:
-
Su origen (Quién los propuso)
-
Necesidad (Por qué existe)
-
Relación con otros requisitos (Dependencias)
-
Relación con otros elementos (Dependencias)
El uso de matrices de trazabilidad es una buena técnica para llevar a cabo esta actividad de
forma eficiente. A continuación se propone una posible matriz de trazabilidad:

MEJORES PRÁCTICAS
En el desarrollo de software, una mejor práctica es un método bien definido que contribuye
a una implementación exitosa del proyecto software. Las organizaciones crean mejores
prácticas para que les ayuden a resolver problemas pudiendo disminuir la tasa de fallo de
sus proyectos.

MEJORES PRÁCTICAS EN EL DESARROLLO DE REQUISITOS
A continuación se describen una serie de mejores prácticas orientadas al desarrollo de
requisitos:
Documentar el alcance y visión del proyecto: permitirá tener un mejor
entendimiento de los requisitos y asegurará que todas las personas involucradas en
el proyecto trabajen hacia la misma meta.
Mantener un glosario del proyecto: facilitará una comunicación efectiva
asegurando un entendimiento unánime.
Uso de técnicas de obtención de requisitos de usuario: para facilitar esta tarea.
Involucrar a toda la gente implicada: asegura una validación temprana del
entendimiento de los requisitos.
Desarrollo incremental de requisitos: puede minimizar la cantidad de re-trabajo del
proyecto.
Captura de requisitos usando casos de uso: será más fácil gestionar los
requisitos y hacer un seguimiento de los mismos.
Validar requisitos: para mejorar el éxito de los proyectos es crítico que se validen
los requisitos de forma adecuada.
Verificar requisitos: para asegurar que los requisitos proporcionan una base
adecuada para llevar a cabo el diseño, la construcción y las pruebas.

MEJORES PRÁCTICAS EN LA GESTIÓN DE REQUISITOS
A continuación se muestran una serie de mejores prácticas relacionadas con la gestión de
requisitos:
Priorizar requisitos: para determinar aquellos que se deberían cumplir en la primera
versión o producto y aquellos que pueden llevarse a cabo en sucesivas versiones.
Establecer líneas base de los requisitos: para asegurar que cualquier modificación
en los requisitos que cambie la línea base se trata como cambios de alcance.
Comunicación abierta: para asegurar que la información relacionada con los
requisitos se comunica de forma consistente. Una comunicación abierta también
implica comunicar a la gente correcta y al conjunto mínimo de personas.

-Gestión de cambios de los requisitos: es esencial gestionar estos cambios de
forma efectiva y eficiente.
-Uso de herramientas para la gestión de requisitos: para facilitar la gestión de
requisitos.
-
Mantener trazabilidad de requisitos: para llevar un seguimiento de la vida de un
requisito.
-Establecer un plan de mejora de procesos para la ingeniería de requisitos: para
cumplir con las necesidades actuales y futuras de forma más eficiente y con mayor
calidad.
-Formar a los analistas de requisitos: para asegurar que los analistas de requisitos
tienen el conocimiento, entre otros aspectos, de cómo escribir buenos requisitos, etc.


Requisitos comunes de los interfaces: 
Están relacionadas con las pantallas, ventanas (formularios) que debe manipular el usuario para realizar una operación determinada. Dicha manipulación el usuario la realizará por medio del teclado y el Mouse (ratón).  Especificación de requisitos de software. 

Interfaces de usuario :
Las interfaces de usuario están relacionadas con las pantallas, ventanas
(formularios) que debe manipular el usuario para realizar una operación
determinada. Dicha manipulación el usuario la realizará por medio del teclado y el
Mouse (ratón).  Especificación de requisitos de software

Es importante mencionar que las interfaces de usuario también abarcan las
ayudas correspondientes en cada uno de los procesos que realice el sistema.
Las interfaces de usuario ayudaran al usuario final trabajando en un ambiente
Form, por lo que se dichas interfaces incluirán:
• Botones
• Menús despegables
• Mensajes informativos
• Mensajes de error
• Cuadros de diálogo
• Formularios para el ingreso, modificación, actualización y eliminación de
datos. Así como para las operaciones y las ayudas que se mencionó
anteriormente.
• Otros
A continuación se muestra una previa de lo que será las interfaces de usuario:
En caso de que no ingrese correctamente el USUARIO  o el PASSWORD se
desplegara un mensaje de  datos incorrectos.


 
Interfaces de hardware: 


La pantalla del monitor.- el software deberá mostrar información al usuario a
través de la pantalla del monitor.
Ratón.- el software debe interactuar con el movimiento del ratón y los botones del
ratón. El ratón se activan las zonas de entrada de datos, botones de comando y
seleccione las opciones de los menús.
Teclado.- el software deberán interactuar con las pulsaciones del teclado. El
teclado de entrada de datos en el área activa de la base de datos.
Impresora.- el software impimira los reportes en la impresora instalada.

 Interfaces de comunicación:
La interfaz de comunicación entre el servidor de base de datos y la
aplicación desarrollada en un lenguaje de programación.

requisito funcional:
Un requisito funcional define el comportamiento interno del software: cálculos, detalles técnicos, manipulación de datos y otras funcionalidades específicas que muestran cómo los casos de uso serán llevados a la práctica. Son complementados por los requisitos no funcionales, que se enfocan en cambio en el diseño o la cimentación.


requisitos no funcionales:
Un requisito que especifica criterios que pueden usarse para juzgar la operación de un sistema en lugar de sus comportamientos específicos, ya que éstos corresponden a los 
requisitos funcionales. Por tanto, se refieren a todos los requisitos que ni describen información a guardar, ni funciones a realizar.Los requisitos no funcionales más habituales son la estabilidad, la portabilidad y el costo.


JUSTIFICACIÓN Y ESPECIFICACIONES: 


DE LOS REQUERIMIENTOS  DEL SOFTWARE
  
Elemento clave para la aclaración de cada una de las dudas referentes al software  teniendo como base los requerimientos establecidos inicialmente por el cliente,llevando a cabo el proceso paso a paso sin dejar de lado pequeños aspectos que rodearon su elaboración, de igual manera establecer cada una de las figuras que hicieron parte de el proceso como son :
los programas utilizados
herramientas didácticas
ejemplos existentes
cronograma de tiempo y  actividades
 

martes, 1 de febrero de 2011

fotos diagrama de gantt


herramientas para administracion de datos

Herramientas para la administración de proyectos
El software de administración de proyectos

Es un concepto que describe varios tipos de software, incluyendo programación, asignación de recursos, software de colaboración, comunicación y sistemas de documentación, utilizados para ayudar a organizar un proyecto complejo en diferentes tareas y en un tiempo determinado.

Estas son algunas herramientas para la gestión y administración de proyectos;

1.         ActiveCollab: Quizás sea la mejor opción de gestor de proyectos con herramientas de colaboración para un buen trabajo en equipo y muchas funcionalidades, para trabajar con ilimitados proyectos, equipos de trabajo y clientes. Prueba usarlo con el tema Colab. Disponible en castellano gracias a Minizen, hemos puesto una copia aquí. Actualización 19-09-2007: Han lanzado la versión 1.0 con edición gratis hasta 5 proyectos y después unos precios desorbitados.

2.   PHPCollab: Es ya un veterano de los gestores de proyectos y colaboración para grupos de trabajo, con posibilidad de gestión de permisos, mapas gráficos de progreso de tareas, reportes en pdf, … Llevan años sin actualizar.

3.  DotProject: Esta bastante bien, dispone de soporte para foros, calendarios, seguimiento de proyectos y tareas. Disponible también en castellano. Un gran proyecto que de momento parece descontinuado.

4.  PHProjekt: Dispone de una gran comunidad que programa módulos para aumentar sus funciones, con soporte para wikis, facturas, … Actualización 23-01-2008 (v.Beta 5.3.)

5.  Egroupware: Es una herramienta completa, no me acaba de convencer, pero incluye wiki, calendario, gestión de usuarios, entre otras funciones.

6.  Tuttos: Lo conocía pero nunca llegue a probarlo, parece muy completo y con soporte multilenguaje.

7.  Mantis: Una completa solución para la gestión de grupos de trabajo en proyectos, que también es OpenSource para PHP+Mysql. Actualizado 19-01-2008 (v.1.1.1).

8.  MindQuarry: es otra herramienta de gestión de proyectos totalmente OpenSource y que tiene muy buena pinta. Además dispone de amplia documentación y versiones de pago con soporte. Actualizado 24-10-2007.

9.   Gantt Project: es una aplicación de código libre para la gestión y seguimiento de proyectos bajo Windows, la nueva competencia de productos como Microsoft Project. (Actualizado 13-07-2007).

10.  Project Pier: es un fork de ActiveCollab 0.7.1 que es 100% gratis y open source. (Actualizado 18-02-2008).

11.  TaskDriver: es una solución php para gestion de proyectos y seguimiento de grupos de trabajo. Disponible la versión 1.3 y la 2.0 beta privada.

12.  Thetis: es un gestor de proyectos y grupos hecho en Ruby on Rails, disponible en inglés y chino.

13.  Redmine: es un gestor de proyectos flexible basado en web y desarrollado en Ruby on Rails, que dispone de muchas funcionalidades y no tiene nada que envidiar a otros desarrollados en php. Disponible en castellano. Última versión de 18-12-2007 (v.0.6.3).

14.  Zimbra: es un paquete de colaboración que dispone de una versión de código abierto, soporta correo, calendarios, y funciones de arrastrar y soltar, entre otras muchas. Además está disponible en múltiples idiomas y es compatible con Outlook, Evolution, Apple y dispositivos móviles.