miércoles, 15 de febrero de 2012

UN POCO SOBRE LEYES EN LA PROTECCIÓN DE DERECHOS DE AUTOR EN LA INTERNET


LEY SOPA

Stop Online Piracy Act es un proyecto de ley con el objetivo de ampliar las capacidades de los propietarios de derechos intelectuales para combatir el tráfico de contenidos en internet y productos protegidos por derechos de autor o por la propiedad intelectual.
El proyecto de ley tiene repercusiones gravísimas para la estructura actual de internet en todos sus sentidos pues permite al Departamento de Justicia y a los propietarios de derechos intelectuales, obtener órdenes judiciales contra aquellas webs o servicios que permitan o faciliten supuesto el infringimiento de los derechos de autor.
Además las penas propuestas por la ley son desproporcionadas, por ejemplo cinco años de prisión por cada diez canciones o películas descargadas dentro de los seis meses de su estreno.
La aprobación de leyes como SOPA crearía efectos colaterales en todo internet que lo cambiarían de forma negativa para siempre.
  1. Las redes de navegación anónimas se volverían ilegales (la anonimidad en internet es importantísima para millones de personas en situaciones de peligro por parte de gobiernos totalitarios).
  2. Nuestras comunicaciones serían oficialmente espiadas para poder determinar si incumplimos (o no) la ley.
  3. Sitios donde se incentiva el contenido generado por el usuario no podrían operar porque sería sumamente impráctico vigilar cada cosa publicada con el miedo de recibir una demanda desproporcionada pues la ley no distingue entre proveedor o usuario en estos casos.
  4. Uno de los aspectos básicos de la web se vería afectado: enlazar por medio a hacerlo a un sitio que tal vez sea sospechoso de violar la propiedad intelectual de una obra. Al enlazar también se estaría incumpliendo la ley SOPA.
SOPA es un atentado a la libertad de expresión. Al igual que la Ley Sinde, la creación de una “lista negra” de webs no accesibles es un peligroso precedente sobre el cual gobiernos y empresas pueden actuar para censurar y controlar información en base a intereses económicos y políticos.
El problema no es la forma en que la gente accede y comparte información, el problema ahora mismo es la falta de una reestructuración de las leyes internacionales de propiedad intelectual que deben ajustarse a nuestros tiempos, a la forma en que las personas usan la tecnología que nos acerca a la cultura y la manera en que la compartimos.


¿Cómo nos afecta a nosotros?
Más allá de la piratería esto afectara directamente con nuestra “Libertad de expresión en internet” y los sitios se verán obligados a aplicar mecanismos de autocensura y filtrar la actividad online de los usuarios para evitar ser bloqueados.

LEY PIPA

Ley de Protección de IP“, la cual permite a empresas o compañías que tienen patentes registradas debidamente, o son autores de algún producto como por ejemplo software, puedan bloquear el paso de usuarios hacia alguna página web, donde pueda haber el uso de las patentes o de las licencias en uso.
Esta propuesta de ley otorgaría al gobierno de EEUU el poder para apoderarse de los nombres de dominios (www.nombre-de-dominio.com) a su antojo sin supervisión, únicamente por tener links a sitios que según ellos, poseen “regímenes represivos”. Especialmente los registrados fuera de los EE.UU.

LEY SINDE

El objetivo de esta ley es que personas dependientes del Ministerio de Cultura (una comisión cultural o comisión de propiedad intelectual), tengan la potestad de cerrar páginas web que, de acuerdo a su propio criterio, vulnere los derechos propiedad intelectual previa autorización de los Juzgados Centrales de lo Contencioso Administrativo
Para que la Comisión de Propiedad Intelectual actué, debe recibir una denuncia (puede ser de particulares, cantantes, bandas, directores, como de una discográfica, estudio de cine, televisión, o sus respectivos representantes) ellos tendrán la potestad de determinar si hay falta o no
Aquí se afecta Porque se vulnera un derecho y libertad fundamental en España: la libertad de expresión.

martes, 14 de febrero de 2012


CICLO DE VIDA DEL SOFTWARE


Modelo de Ciclo de vida en cascada

Este modelo admite la posibilidad de hacer iteraciones, es decir, durante las modificaciones que se hacen en el mantenimiento se puede ver por ejemplo la necesidad de cambiar algo en el diseño, lo cual significa que se harán los cambios necesarios en la codificación y se tendrán que realizar de nuevo las pruebas, es decir, si se tiene que volver a una de las etapas anteriores al mantenimiento hay que recorrer de nuevo el resto de las etapas.

Ventajas:
  • La planificación es sencilla.
  • La calidad del producto resultante es alta.
  • Permite trabajar con personal poco cualificado.
Desventajas:

·         la necesidad de tener todos los requisitos al principio.
·         Si se han cometido errores en una fase es difícil volver atrás.
·         No se tiene el producto hasta el final, esto quiere decir que:
1. Si se comete un error en la fase de análisis no lo descubrimos hasta la entrega, con el consiguiente gasto inútil de recursos.
2. El cliente no verá resultados hasta el final, con lo que puede impacientarse.
·       Es comparativamente más lento que los demás y el coste es mayor también.

Tipos de proyectos para los que son adecuados:
  • Aquellos para los que se dispone de todas las especificaciones desde el principio, por ejemplo, los de reingeniería.
  • Se está desarrollando un tipo de producto que no es novedoso.
  • Proyectos complejos que se entienden bien desde el principio.



Modelo de ciclo de vida en espiral

Consiste en una serie de ciclos que se repiten. Cada uno tiene las mismas fases y cuando termina da un producto ampliado con respecto al ciclo anterior. En este sentido es parecido al modelo incremental, la diferencia importante es que tiene en cuenta el concepto de riesgo. Un riesgo puede ser muchas cosas: requisitos no comprendidos, mal diseño, errores en la implementación, etc.

Ventajas:
  • No necesita una definición completa de los requisitos para empezar a funcionar.
  • Al entregar productos desde el final de la primera iteración es más fácil validar los requisitos.
  • El riesgo en general es menor, porque si todo se hace mal, solo se ha perdido el tiempo y recursos invertidos en una iteración (las anteriores iteraciones están bien).
  • El riesgo de sufrir retrasos es menor, ya que al identificar los problemas en etapas tempranas hay tiempo de subsanarlos.
Desventajas:
  • Es difícil evaluar los riesgos.
  • Necesita de la participación continua por parte del cliente.
  • Cuando se subcontrata hay que producir previamente una especificación completa de lo que se necesita, y esto lleva tiempo.
Tipos de proyectos para los que son adecuados:
  • Sistemas de gran tamaño.
  • Proyectos donde sea importante el factor riesgo.
  • Cuando no sea posible definir al principio todos los requisitos.



Modelo de ciclo de vida Incremental

Es una aproximación muy parecida a la evolutiva. En este modelo se desarrolla el sistema para satisfacer un subconjunto de los requisitos especificados y en posteriores versiones se incrementa el programa con nuevas funcionalidades que satisfagan más requisitos.
En el caso del modelo evolutivo se desarrollaría una nueva versión de todo el sistema, en el incremental se parte de la versión anterior sin cambios y le añadimos las nuevas funciones.

Ventajas:

·         El usuario se involucra más
·         El resultado puede ser muy positivo
·         Se evitan proyectos largos y entrega algo de valor a los usuarios con cierta frecuencia

Desventajas:

·         Difícil de evaluar el coste total
·         Requiere gestores experimentados
·         Los errores en los requisitos se detectan tarde

Tipos de proyectos para los que son adecuados:

Este modelo de ciclo de vida no está pensado para cierto tipo de aplicaciones, sino que está orientado a cierto tipo de usuarios o clientes. Podemos utilizar este modelo para casi cualquier proyecto, pero será verdaderamente útil cuando el usuario necesite entregas rápidas, aunque no sean parciales.





Modelo de ciclo de vida evolutivo

En el modelo evolutivo se asume que los requisitos pueden cambiar en cualquier momento del ciclo de vida y no solo en la etapa de análisis. Se diferencia del modelo por prototipos en que en prototipos se da por hecho que aunque se necesiten varias iteraciones para lograrlo al final se llegará a tener una serie de requisitos completos y sin errores, que no vayan a cambiar más.

Ventajas:

·         Reduce el riesgo y aumenta la probabilidad de éxito
·         Construcción de una implementación parcial que cubre los requisitos conocidos, para ir aprendiendo el
resto y, paulatinamente, incorporarlos al sistema.

Desventajas:

·         No se conocen los niveles apropiados de calidad y documentación
·         Problemas de gestión de configuración
*    Los sistemas tienen una estructura deficiente, tendiendo a dañar la estructura del software
*    El proceso no es visible. Se tienen que hacer entregas regulares para medir el progreso

  
Tipos de proyectos para los que son adecuados:

Se utiliza especialmente cuando los requerimientos cambian con rapidez, cuando el usuario es reacio a especificar el conjunto de los requerimientos, o cuando ni usted ni el usuario identifican de forma apropiada el área de aplicación.  También es útil cuando los desarrolladores no están seguros de la arquitectura o los algoritmos adecuados a utilizar.



Modelo de ciclo de vida concurrente

Como el modelo espiral, el modelo concurrente provee una meta-descripción del proceso software. Mientras que la contribución primaria del modelo espiral es en realidad que esas actividades del software ocurran repetidamente, la contribución del modelo concurrente es su capacidad de describir las múltiples actividades del software ocurriendo simultáneamente.

Ventajas:

·         Excelente para proyectos en los que se conforman grupos de trabajo independientes.
·         Proporciona una imagen exacta del estado actual de un proyecto.

Desventajas:

·         Si no se dan las condiciones señaladas no es aplicable
·         Si no existen grupos de trabajo no se puede trabajar en este método.

Tipos de proyectos para los que son adecuados:
Es aplicable a todo tipo de proyectos



CICLO DE VIDA EN CASCADA

El ciclo de vida fue propuesto inicialmente por ROYCE en 1970, es el primero de los propuestos y el más ampliamente seguido, se estima que el 90% de los sistemas han sido desarrollados así.

Está compuesto por las siguientes fases:

ANALISIS:
Toma como entrada una descripción en el lenguaje natural de lo que quiere el cliente, produce el S.R.D

DISEÑO:
su entrada es el S.R.D, produce el S.D.D

CODIFICACION:
A partir del S.D.D. se produce módulos, en esta fase se hacen también pruebas de unidad.

PRUEBAS:
 A partir de los módulos aprobados se realiza la integración y pruebas de todo el sistema, el resultado de las pruebas es el producto final listo para entregar.

MANTENIMIENTO:
En esta fase, que tiene lugar después de la entrega se asegura que el sistema siga funcionando y adaptándose a nuevos requisitos.


VENTAJAS: 

·         La planificación es sencilla
·         La calidad del producto es alta
·         Permite trabajar con personal poco cualificado.


DESVENTAJAS:

·         Surge la necesidad de tener todos los requisitos al principio (No pueden aparecer necesidades imprevistas)
·         Si se cometen errores en una fase, es difícil volver a tras
·         No se tiene el producto hasta el final (si se comete un error en la fase de análisis solo se descubre hasta la entrega
·         Comparativamente más lento y costoso


TIPOS DE PROYECTO PARA EL QUE ES ADECUADO

·         Puede desarrollar productos no novedosos
·         Proyectos complejos que se entienden bien  desde el principio


Del  modelo en cascada se ha derivado algunas variantes.


CICLO DE VIDA EN V:
Propuesto por Alan Davis tiene las mismas fases que la anterior pero se considera el nivel de abstracción de cada una. Una fase además de utilizarse como entrada para la siguiente, sirve para validar o verificar otras fases posteriores.



CICLO DE VIDA TIPO SASHIMI:
Según el modelo en cascada puro, una fase solo puede empezar cuando ha terminado la anterior; en este caso sin embargo se permite un solapamiento (traslado) entre fases, por ejemplo sin tener terminado el DISEÑO se puede comenzar a implementar la CODIFICACION, una ventaja de este modelo es que no necesita generar tanta documentación como el ciclo de vida en cascada puro.
Inconveniente: Es difícil controlar el progreso del proyecto debido a que los finales de fase ya no son un punto de referencia claro.



CICLO DE VIDA EN CASCADA CON SUBPROYECTOS:
Una vez llegado al diseño arquitectónico, se comprueba que el sistema se divide en varios subsistemas independientes entre sí; sería razonable suponer que a partir  de ese punto cada uno se pueda desarrollar por separado y en consecuencia en paralelo con los demás. Una vez terminados se integran y se prueba el sistema en su conjunto.



CICLO DE VIDA EN CASCADA INCREMENTAL
En este caso se va creando el sistema añadiendo pequeñas funcionalidades, cada uno de los pequeños incrementos es parecido a lo que ocurre dentro de la fase de mantenimiento.
Ventaja: no es necesario tener toso los requisitos en un principio
inconveniente: los errores se encuentran tarde.



CICLO DE VIDA EN CASCADA CON REDUCCIÓN DE RIESGOS:
En este método se hace un desarrollo interactivo durante las fases de análisis y diseño global.
Esto consiste en:
1.    Preguntar al usuario
2.    Hacer el diseño global que desprende del punto 1
3.    Hacer un prototipo de interfaz de usuario, entrevistas con los usuarios etc. Y volver al punto 1 para identificar más requisitos o corregir malentendidos.
El resto es igual al ciclo de vida en cascada.