miércoles, 26 de enero de 2011

Técnicas del software de administración de proyectos

Técnicas del software de administración de proyectos

Programación

Una de las tareas más comunes en la administración es la de programar y hacer seguimiento a una serie de acontecimientos; la complejidad de esta tarea puede variar considerablemente, dependiendo de las necesidades de la organización de que se trate, de el/los usuario/s y de cómo se utiliza la herramienta. Algunos desafíos comunes incluyen:
  • Acontecimientos que dependen el uno del otro de diversas maneras.
  • Recursos humanos disponibles para trabajar en las diversas tareas.
  • Incertidumbres en las estimaciones de la duración de cada tarea.
  • Ordenación de las tareas para satisfacer los plazos.
  • Interferencia entre múltiples proyectos, para satisfacer distintos requerimientos simultáneos.
  • interferencia de datos bidireccionales.

Software propietario

De Wikipedia, la enciclopedia libre
Saltar a navegación, búsqueda
El software privativo (también llamado propietario, de código cerrado o software no libre) es cualquier programa informático en el que el usuario tiene limitaciones para usarlo, modificarlo o redistribuirlo (esto último con o sin modificaciones).
Para la Fundación para el Software Libre (FSF) este concepto se aplica a cualquier software que no es libre o que sólo lo es parcialmente (semilibre), sea porque su uso, redistribución o modificación está prohibida, o requiere permiso expreso del titular del software.
La persona física o jurídica (compañía, corporación, fundación, etc.) al poseer los derechos de autor sobre un software tiene la posibilidad de controlar y restringir los derechos del usuario sobre su programa, lo que en el software privativo implica por lo general que el usuario sólo tendrá derecho a ejecutar el software bajo ciertas condiciones, comúnmente fijadas por el proveedor, que signifique la restricción de una o varias de las cuatro libertades

Herramientas de uso libre para gestión de proyectos
Algunas herramientas de uso libre para la gestión de proyectos, o para la coordinación de equipos de trabajo que merece la pena conocer:

Gantt PV
Gantt PV es un programa gratuito, de apariencia sencilla y sin grandes complicaciones, para planificación de proyectos, descomposición, representación y seguimiento de tareas sobre diagrama de Gantt.
Descargas disponibles para Windows, MacOS y Linux.
GanttProjectEs una aplicaciónd e escritorio con interfaz similar a MS. Project permite programar y organizar las tareas y asignación de personas y recursos sobre una representación Gantt.
Por supuesto es una herramienta mucho más ligera que MS Project, pero esto en el ámbito y dimensión de muchos proyectos es más una ventaja que un inconveniente.
La exportación de informes en formato HTML está bastante lograda.
Necesita Java Runtime Environment.
Para hacerse una idea se puede echar un vistazo a esta demo.
Dotproject
Algo más veterana esta solución en entorno web ofrece un marco completo para la planificación, gestión y seguimiento de multiples proyectos para clientes diferentes, quienes pueden disponer también de acceso para monitorizar la evolución del desarrollo.
Se puede ver una demo online aquí. Acceso de administrador: usuario: admin, password: admin. Acceso de invitato: usuario: gest, password: guest.



martes, 25 de enero de 2011

DEFINICION DE CONCEPTOS


BASE DE DATOS:

Una base de datos o banco de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. En la actualidad, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al problema de almacenar datos.

Bases de datos estáticas:
Estas son bases de datos de sólo lectura, utilizadas primordialmente para almacenar datos históricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a través del tiempo, realizar proyecciones y tomar decisiones.

Bases de datos dinámicas:
Estas son bases de datos donde la información almacenada se modifica con el tiempo, permitiendo operaciones como actualización, borrado y adición de datos, además de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de información de una tienda de abarrotes, una farmacia, un videoclub.

Según el contenido
Bases de datos bibliográficas:
Solo contienen un subrogante (representante) de la fuente primaria, que permite localizarla. Un registro típico de una base de datos bibliográfica contiene información sobre el autor, fecha de publicación, editorial, título, edición, de una determinada publicación, etc. Puede contener un resumen o extracto de la publicación original, pero nunca el texto completo, porque si no, estaríamos en presencia de una base de datos a texto completo (o de fuentes primarias —ver más abajo). Como su nombre lo indica, el contenido son cifras o números. Por ejemplo, una colección de resultados de análisis de laboratorio, entre otras.

Bases de datos de texto completo:
Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de una colección de revistas científicas.
Bases de datos o "bibliotecas" de información química o biológica:
Son bases de datos que almacenan diferentes tipos de información proveniente de la química, las ciencias de la vida o médicas. Se pueden considerar en varios subtipos:


INDICE: es una estructura de datos que mejora la velocidad de las operaciones, permitiendo un rápido acceso a los registros de una tabla en una base de datos sencilla. Al aumentar drásticamente la velocidad de acceso, se suelen usar sobre aquellos campos sobre los cuales se hagan frecuentes búsquedas.
Los índices pueden ser creados usando una o más columnas, proporcionando la base tanto para búsquedas rápidas al azar como de un ordenado acceso a registros eficiente.
Los índices son construidos sobre árboles BB+B* o sobre una mezcla de ellos, funciones de cálculo u otros métodos.
El espacio en disco requerido para almacenar el índice es típicamente menor que el espacio de almacenamiento de la tabla (puesto que los índices generalmente contienen solamente los campos clave de acuerdo con los que la tabla será ordenada, y excluyen el resto de los detalles de la tabla), lo que da la posibilidad de almacenar en memoria los índices de tablas que no cabrían en ella. En una base de datos relacional un índice es una copia de parte de una tabla.
. Por ejemplo, un índice puede ser creado sobre la función upper(apellido), que almacenaría en el índice solamente las versiones mayúsculas del campo apellido. Otra opción a veces soportada, es el uso de índices "filtrados", donde las entradas del índice son creadas solamente para los registros que satisfagan una cierta expresión condicional. Un aspecto adicional de flexibilidad es permitir la indexación en funciones definidas por el usuario, también como expresiones formadas de un surtido de funciones incorporadas. Todos estos refinamientos de la indexación son soportados en Visual FoxPro, por ejemplo.

CLAVE:
Una clave primaria es aquella columna (pueden ser también dos columnas o más) que identifica únicamente a esa fila. La clave primaria es un identificador que va a ser único para cada fila. Se acostumbra a poner la clave primaria como la primera columna de la tabla pero esto no tiene que ser necesario, si no es más una conveniencia. Muchas veces la clave primaria es auto numérica.
En una tabla puede que tengamos más de una clave, en tal caso se puede escoger una para ser la clave primaria, las demás claves son las claves candidatas. Además es la posible clave primaria.
Una clave ajena (foreign key o clave foránea) es aquella columna que existiendo como dependiente en una tabla, es a su vez clave primaria en otra tabla.
Una clave alternativa es aquella clave candidata que no ha sido seleccionada como clave primaria, pero que también puede identificar de forma única a una fila dentro de una tabla. Ejemplo: Si en una tabla clientes definimos el número de documento (id_cliente) como clave primaria, el número de seguro social de ese cliente podría ser una clave alternativa. En este caso no se usó como clave primaria porque es posible que no se conozca ese dato en todos los clientes.
Una clave compuesta es una clave que está compuesta por más de una columna.

El  Modelo Entidad-Relación:
1.    Se elabora el diagrama (o diagramas) entidad-relación.
2.    Se completa el modelo con listas de atributos y una descripción de otras restricciones que no se pueden reflejar en el diagrama.
Dado lo rudimentario de esta técnica se necesita cierto entrenamiento y experiencia para lograr buenos modelos de datos.
El modelado de datos no acaba con el uso de esta técnica. Son necesarias otras técnicas para lograr un modelo directamente implementarle en una base de datos. Brevemente:
§  Transformación de relaciones múltiples en binarias.
§  Normalización de una base de datos de relaciones (algunas relaciones pueden transformarse en atributos y viceversa).
§  Conversión en tablas (en caso de utilizar una base de datos relacional).

CONSTRAINTS
Las constraints son las encargadas de asegurar la integridad
referencial en la base de datos. Tipos de constraints:
• CHECK
• NOT NULL
• UNIQUE KEY
• PRIMARY KEY
• FOREIGN KEY
Las constraints existen sólo en el diccionario de datos y son aplicadas
(o comprobadas) durante la ejecución del SQL o PL/SQL. Cuando
Están  habilitadas, las constraints  están aseguradas. Si no están
Habilitadas , no tienen porque cumplirse, pero siguen en el diccionario
de datos.
ALTER TABLE table_name ENABLE CONSTRAINT const_name;
ALTER TABLE table_name DISABLE CONSTRAINT const_name;
Para eliminar una constraint, utilizamos el ALTER TABLE:
ALTER TABLE table_name DROP CONSTRAINT const_name;
ALTER TABLE table_name DROP PRIMARY KEY;
Tabla :
Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de Hoja de cálculo.
Las tablas se componen de dos estructuras:
Registro: es cada una de las filas en que se divide la tabla. Cada registro contiene datos de los mismos tipos que los demás registros. Ejemplo: en una tabla de nombres y direcciones, cada fila contendrá un nombre y una dirección.
Campo: es cada una de las columnas que forman la tabla. Contienen datos de tipo diferente a los de otros campos. En el ejemplo anterior, un campo contendrá un tipo de datos único, como una dirección, o un número de teléfono, un nombre, etc.
A los campos se les puede asignar, además, propiedades especiales que afectan a los registros insertados. El campo puede ser definido como índice o autoincrementable, lo cual permite que los datos de ese campo cambien solos o sean el principal indicar a la hora de ordenar los datos contenidos.
Cada tabla creada debe tener un nombre único en la cada Base de Datos, haciéndola accesible mediante su nombre o su seudónimo (Alias) (dependiendo del tipo de base de datos elegida).

La estructura de las tablas viene dado por la forma de un archivo plano, los cuales en un inicio se componían de un modo similar.
Registro:
En informática, y concretamente en el contexto de una base de datos relacional, un registro (también llamado fila o tupla) representa un objeto único de datos implícitamente estructurados en una tabla. En términos simples, una tabla de una base de datos puede imaginarse formada de filas y columnas campos. Cada fila de una tabla representa un conjunto de datos relacionados, y todas las filas de la misma tabla tienen la misma estructura.
Tupla::
 Conjunto de elementos de distinto tipo que se guardan de forma consecutiva en memoria. En los lenguajes de programación las tuplas se suelen usar para formar estructuras de datos.
select (ejemplos):
Palabra clave que indica que la sentencia de SQL que queremos ejecutar es de selección.

USE AdventureWorks2008R2;
GO
SELECT *
FROM Production.Product
ORDER BY Name ASC;
-- Alternate way.
USE AdventureWorks2008R2;
GO
SELECT p.*
FROM Production.Product AS p
ORDER BY Name ASC;
GO
UPDATE: es una operación de actualización. Ejemplo: update se utiliza para cambiar un valor dentro de una tupla, sin cambiar todos los valores de la misma. Por ejemplo, para pagar un interés de 5% a las cuentas con saldo menor que 2000000 pts
               update cuenta
               set saldo = saldo * 1.05
               where saldo <= 2000000
DELETE:
 Borrado: se expresa igual que una consulta, pudiéndose borrar solamente tuplas enteras. Su forma es
               delete from r
               where P
donde P representa una condición y r una relación. Una orden delete opera sobre una única relación, aunque puede contener un select anidado que use una relación de la cual se van a borrar las tuplas.

DROP (EJEMPLOS):
Quita una o varias definiciones de tabla y todos los datos, índices, desencadenadores, restricciones y especificaciones de permisos de esas tablas.

DROP TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name [ ,...n ] [ ; ]

FUNCIONES DE GRUPO (TODAS):
AVG([DISTINCT|ALL] n) Promedia el valor de n, ignorando valores nulos
COUNT({* | [DISTINCT | ALL] expr}) Número de filas, donde expr es evaluado sin
considerar nulos (Cuenta todas las filas usando *,
incluyendo duplicadas y con valores nulos)
MAX([DISTINCT | ALL] expr) Máximo valor de expr,  ignorando valores nulos 
MIN([DISTINCT | ALL] expr) Mínimo valor de expr,  ignorando valores nulos 
STDDEV([DISTINCT | ALL] n) Desviación estándar de n, ignorando valores nulos
SUM([DISTINCT | ALL] n) Suma los valores de n, ignorando valores nulos
VARIANCE([DISTINCT | ALL] n) Varianza de n, ignorando valores nulos
• DISTINCT hace que la función solo considere los valores no duplicados;
ALL hace considera todos los valores incluyendo los duplicados. Por
defecto es ALL y por consiguiente no necesita ser especificado.
• Los tipos de datos para  las funciones con argumento expr pueden ser
CHAR, VARCHAR2, NUMBER o DATE.
• Todas las funciones de grupo ignoran los valores nulos. Para sustituir un
valor de un valor nulo utilice las funciones NVL, NVL2 o COALESCE.
• El servidor Oracle implícitamente ordena el resultado ascendentemente
cuando se utiliza la cláusula GROUP BY. Para el ordenamiento por
defecto, DESC puede ser usado en la cláusula ORDER BY.
MYISAN:
 es la tecnología de almacenamiento de datos usada por defecto por el sistema administrador de bases de datos relacionales MySQL. Este tipo de tablas están basadas en el formato ISAM pero con nuevas extensiones. En las últimas versiones de Mysql, el motor InnoDB está empezando a reemplazar a este tipo de tablas por su capacidad de ejecutar transacciones de tipo ACID y bloqueo de registros e integridad referencial.
INNODB:
es una tecnología de almacenamiento de datos de fuente abierta para MySQL, incluido como formato de tabla estándar en todas las distribuciones de MySQL AB a partir de las versiones 4.0. Su característica principal es que soporta transacciones de tipo ACID y bloqueo de registros e integridad referencial. InnoDB ofrece una fiabilidad y consistencia muy superior a MyISAM, la anterior tecnología de tablas de MySQL, si bien el mejor rendimiento de uno u otro formato dependerá de la aplicación específica.
INSERT:
 

INSERT INTO <nombre_tabla> 

[(<campo1>[,<campo2>,...])]

values 

(<valor1>,<valor2>,...);

WHERE:
Especifica una condición que debe cumplirse para que los datos sean devueltos por la consulta.Es la instrucción que nos permite filtrar el resultado de una sentencia SELECT 
SELECT matricula,
                marca, 
                modelo, 
                color, 
                numero_kilometros, 
                num_plazas
FROM tCoches
WHERE matricula = 'M-1525-ZA';
             Cuando en una cláusula where queremos incluir un tipo texto, debemos incluir el valor entre comillas simples.
PARA QUE SIRVEN LAS BASES DE DATOS:
 una base de datos es un sistemade informacion que permite realizar los siguientes procesos:

1:creacion de las estructuras de informacion:TABLAS
2:busqueda de informacion en las tablas:CONSULTAS
3:captura de datos para las tablas:FORMULARIOS:resumen de informacion :INFORMES
4:ejecucion de lista de acciones:MACROS:y descripcion de procesos complejos:MODULOS

BASES DE DATOS RELACIONALES:
CUAL ES EL MODELO MAS UTILIZADO EN LA ACTUALIDAD PARA IMPLEMENTAR BASES DE DATOS YA PLANIFICADAS. PERMITEN ESTABLECER INTERCONEXIONES ENTERE LOS DATOS Y A TRAVEZ DE DICHAS CONEXIONES RELACIONAR LOS DATOS DE AMBAS TABLAS,DE AHÍ PROVIENE SU NOMBRE ,MODELO RELACIONAL.
BACKUP:
Una  base de datos :es una copia de seguridad o el proceso de copia de seguridad con el fin de que estas copias adicionales  puedan utilizarse para restaurar el original después de una eventual pérdida de datos.
TIPOS DE DATOS DE MYSQL:

NOMBRE
APELLIDO
TELEFONO
DIRECCION
FECHA DE NACIMINETO
ANDREA
LONDOÑO
2845729
CALLE 69#36 B69
25-feb-90
CARLOS
MUÑOS
2544469
DIAG 56 66
15-mar-91
CAMILO
MONTOYA
3329814
TRANS 25 SUR
16-sep-90
VALENTINA
VELEZ
2545753
CALLE 12 55
20-feb-92
JULIANA
GALLEGO
2916444
CALLE55 88
08-dic-96
SARA
CIFUENTES
2923271
CARRERA 25 45
03-dic-96
LAURA
DUQUE
2646965
CARRERA55 44
01-ene-92

ENTIDAD RELACION:



BASE DE DATOS (1FN, 2FN, 3FN):

Primera Forma Normal (1FN)

Artículo principal: Primera forma normal
Una tabla está en Primera Forma Normal si:
§  Todos los atributos son atómicos. Un atributo es atómico si los elementos del dominio son indivisibles, mínimos.
§  La tabla contiene una clave primaria.
§  La clave primaria no contiene atributos nulos.
§  No debe de existir variación en el número de columnas.
§  Los Campos no clave deben identificarse por la clave (Dependencia Funcional)
Una tupla no puede tener múltiples valores en cada columna. Los datos son atómicos. (Si a cada valor de X le pertenece un valor de Y y viceversa)

Esta forma normal elimina los valores repetidos dentro de una BDSegunda Forma Normal (2FN)

Artículo principalSegunda forma normal
Dependencia Funcional. Una relación está en 2FN si está en 1FN y si los atributos que no forman parte de ninguna clave dependen de forma completa de la clave principal. Es decir que no existen dependencias parciales. (Todos los atributos que no son clave principal deben depender únicamente de la clave principal).
En otras palabras podríamos decir que la segunda forma normal está basada en el concepto de dependencia completamente funcional. Una dependencia funcional   es completamente funcional si al eliminar los atributos A de X significa que la dependencia no es mantenida, esto es que  . Una dependencia funcional   es una dependencia parcial si hay algunos atributos   que pueden ser eliminados de X y la dependencia todavía se mantiene, esto es  .
Por ejemplo {DNI, ID_PROYECTO}   HORAS_TRABAJO (con el DNI de un empleado y el ID de un proyecto sabemos cuántas horas de trabajo por semana trabaja un empleado en dicho proyecto) es completamente dependiente dado que ni DNI   HORAS_TRABAJO ni ID_PROYECTO   HORAS_TRABAJO mantienen la dependencia. Sin embargo {DNI, ID_PROYECTO}   NOMBRE_EMPLEADO es parcialmente dependiente dado que DNI   NOMBRE_EMPLEADO mantiene la dependencia
.

Tercera Forma Normal (3FN)

Artículo principal: Tercera forma normal
La tabla se encuentra en 3FN si es 2FN y si no existe ninguna dependencia funcional transitiva entre los atributos que no son clave.
Un ejemplo de este concepto sería que, una dependencia funcional X->Y en un esquema de relación R es una dependencia transitiva si hay un conjunto de atributos Z que no es un subconjunto de alguna clave de R, donde se mantiene X->Z y Z->Y.
Por ejemplo, la dependencia SSN->DMGRSSN es una dependencia transitiva en EMP_DEPT de la siguiente figura. Decimos que la dependencia de DMGRSSN el atributo clave SSN es transitiva vía DNUMBER porque las dependencias SSN→DNUMBER y DNUMBER→DMGRSSN son mantenidas, y DNUMBER no es un subconjunto de la clave de EMP_DEPT. Intuitivamente, podemos ver que la dependencia de DMGRSSN sobre DNUMBER es indeseable en EMP_DEPT dado que DNUMBER no es una clave de EMP_DEPT.
Formalmente, un esquema de relacion R está en 3 Forma Normal Elmasri-Navathe, si para toda dependencia funcional  , se cumple al menos una de las siguientes condiciones:
1.    X es superllave o clave.
2.    A es atributo primo de R; esto es, si es miembro de alguna clave en R.
Además el esquema debe cumplir necesariamente, con las condiciones de segunda forma normal.