martes, 17 de junio de 2014

Diseño de software



Diseño de software
-El diseño es el primer paso de la fase de desarrollo de cualquier producto o sistema de ingeniería. 

-El diseño de software es la actividad de ciclo de vida de ingeniería de software en la que los requerimientos de software son analizados para causar una descripción de la estructura interna del software que servirá como base para su construcción. Más precisamente, un diseño de software (el resultado) debe describir la arquitectura de software - es decir cómo el software está en estado de descomposición y organizado en los componentes - y las interfaces entre esos componentes. También debe describir los componentes en un nivel del detalle que permiten su construcción. 

Conceptos Básicos del Diseño
v  -Proceso de aplicar distintas técnicas y principios con el propósito de definir un dispositivo, proceso o sistema con los suficientes detalles como para permitir su realización física

v  -El diseño de software, al igual que los métodos de diseño de todas las ingenierías, cambian continuamente al aparecer nuevos métodos, mejores análisis y ampliar los conocimientos. El problema es que el diseño de software se encuentra en una etapa relativamente temprana en su evolución. La idea de realizar diseño de software en lugar de “programar”, surgió a principios de los años 60, por lo que a las metodologías de diseño les falta la profundidad y la flexibilidad que tiene el diseño en otras ingenierías. Pero, ya existen técnicas de diseño de software para poder evaluar la calidad del software. 
v  El diseño del software se encuentra en el núcleo técnico de la ingeniería del software y se aplica independientemente del modelo de diseño de software que se utilice. Una vez que se analizan y especifican los requisitos del software, el diseño del software es la primera de las tres actividades técnicas - diseño, generación de código y pruebas- que se requieren para construir y verificar el software.
v  Es una descripción de la estructura del software que se va a implementar, los datos que son parte del sistema, las interfaces entre los componentes del sistema, y algunas veces, los algoritmos utilizados.

v  Los diseñadores no obtienen inmediatamente un diseño detallado, sino que lo desarrollan de manera iterativa a través de diversas versiones.

v  El proceso de diseño incluye agregar formalidad y detalles durante el desarrollo del diseño, y regresar a los diseños anteriores y corregirlos

v  Diseño de datos: transforma el modelo de dominio de la información, creado durante el análisis, en las estructuras de datos necesarias para implementar el software.

v  Diseño arquitectónico: define la relación entre los principales elementos estructurales del programa.

v  Diseño de interfaz: describe cómo se comunica el software consigo mismo, con los sistemas que operan con él y con los operadores que lo emplean.

v  Diseño procedimental: transforma elementos estructurales de la arquitectura del programa en una descripción procedimental de los componentes de software.

A continuación, se listan una serie de criterios para determinar la calidad del software.

1) Un diseño debe tener una organización jerárquica.

2) Un diseño debe ser modular, es decir, el software debe estar dividido en elementos que realicen funciones específicas.

3) Un diseño debe tener representaciones distintas y separadas de los datos y de los procedimientos.

4) Un diseño debe llevar a módulos que exhiban características funcionales independientes.

5) Un diseño debe conducir a interfaces que reduzcan la complejidad de las conexiones entre los módulos y el exterior.

6) Un diseño debe obtenerse mediante un método que sea reproducible y que esté dirigido por la información obtenida durante el análisis de requerimientos. 

Importancia del diseño del Software
El diseño de software tiene un papel importante en el desarrollo de software, ya que permite que ingenieros de software produzcan modelos distintos que moldean una clase de plano de la solución a ser implementado. Podemos analizar y valorar a estos modelos para determinar cual de estos permitirá o no, cumplir con una gama de requerimientos
El diseño arquitectónico puede representarse al usar uno o más de muchos modelos diferentes. Los modelos estructurales representan la arquitectura como una colección organizada de componentes del programa. Los modelos del marco de trabajo repetible incrementan el grado de abstracción del diseño al intentar identificar marcos de trabajo repetibles del diseño arquitectónico que se encuentran en tipos de aplicaciones similares.

El diseño es técnicamente la parte central de la ingeniería del software. Durante el diseño se desarrollan, revisan y se documentan los refinamientos progresivos de las estructuras de datos, dela estructura del programa y de los detalles procedimentales. El diseño da como resultado representaciones cuya calidad puede ser evaluada.

El diseño es la única forma mediante la que podemos traducir con precisión los requisitos del cliente en un producto o sistema acabado. El diseño de software es la base de todas las partes posteriores del desarrollo y de la fase de prueba

Trazabilidad de los requisitos en el diseño
La trazabilidad es la medida en la cual se puede establecer una relación entre dos productos o más del proceso de desarrollo.
Permite ver donde se originó un requerimiento. En otras palabras, todos los documentos de requerimientos, documentos de diseño, código y guiones de prueba deberán apuntar a su fuente de origen.
La trazabilidad software es una antigua práctica, recomendada para medianos o grandes desarrollos de software, que trata sobre cómo enlazar o relacionar los requisitos con otros elementos del ciclo de vida, principalmente, casos de prueba y código.
Por otro lado, estando en etapa de implementación y en caso de que haya un cambio en los requerimientos, la trazabilidad permitirá hacer una evaluación en el diseño y en la implementación. Si el cambio se da cuando el sistema está implementado, la trazabilidad permitirá hacer una evaluación de cómo serán afectados los involucrados. 

Atributos de calidad
Son las cualidades o propiedades de calidad que la aplicación debe satisfacer. La calidad de una aplicación se mide en función de sus atributos de calidad.  Para facilitar su medición durante la verificación, deben expresarse cuantitativa o cualitativamente.
Entre los atributos de calidad más relevantes están los siguientes:
 Seguridad: Se refiere a los permisos de acceder a ciertos procesos de la aplicación y para eso requiere autenticación, autorización y algún nivel de encriptación. 
Performance: Generalmente este atributo se puede medir en unidades de rendimiento de procesos (Throughput), tiempo de respuesta y retardos. 
Modificable: Se refiere a que tan fácil es modificar la aplicación y con ello cambiar el comportamiento del software.
 Disponibilidad: Está relacionada con la confiabilidad por ejemplo cuando una aplicación no está disponible cuando se necesita no cumple con las expectativas ni los requerimientos funcionales de la misma.
Integración: Está relacionado a como se puede comunicar y trabajar en conjunto la aplicación nueva a las aplicaciones que ya se tienen oa nuevas aplicaciones.
 Escalabilidad: Como se comporta la aplicación al momento de aumentar el ambiente de trabajo, por ejemplo más usuarios más proceso, más carga, etc

Estándares de Calidad
Son normas y protocolos internacionales que deben cumplir productos de cualquier indole para su distribución y consumo por el cliente final.
Los estándares no son más que los niveles mínimo y máximo deseados, o aceptables de calidad que debe tener el resultado de una acción, una actividad, un programa, o un servicio. En otras palabras, el estándar es la norma técnica que se utilizará como parámetro de evaluación de la calidad.
Una vez programadas las actividades de solución al problema de gestión, los círculos de calidad deberán definir los estándares de calidad del resultado, o los resultados esperados.

miércoles, 2 de abril de 2014

SOBERANIA TECNOLOGICA CON SENTIDO SOCIAL



SOBERANIA TECNOLOGICA CON SENTIDO SOCIAL:
La soberanía tecnológica se puede definir como el derecho y el deber de una nación de dominar sus medios tecnológicos a tal punto que no puedan ser controlados de manera injerencista por otros intereses ajenos al bienestar de su desarrollo y con el mismo adelanto de la ciencia y la innovación, los procesos de avance de una sociedad que una vez dependieron en gran parte del capital humano y el trabajo manual, hoy en día se asocian cada vez más a una cultura tecnológica capaz de abarcar cualquiera de sus esferas. Es un fenómeno que cruza fronteras y por el carácter tan variado que posee, engloba a personas de distintas profesiones.

En Venezuela, Hoy día, el desarrollo tecnológico es una realidad en el país, vinculado a un elemento importante que se beneficia, participa y apropia de los conocimientos: el pueblo. La política de Estado en materia tecnológica está estrechamente ligada al Poder Popular, y a la necesidad de dar acceso a oportunidades que en otras épocas estaban disponibles para un grupo reducido.

Tenemos una política dirigida a que la tecnología le llegue al pueblo y está en la voluntad de este Gobierno, impulsado por nuestra Constitución, que todo lo que se haga esté encaminado y potenciado por nuestras comunidades, la participación de venezolanos y venezolanas en todo el proceso, conduce a la consecución de la independencia y soberanía tecnológica, tema de vital importancia que aún se está concretando y para el cual se han abonado logros significativos en distintas áreas.
La soberanía va muy ligada a la independencia tecnológica también. El MCTI en conjunto con sus entes adscritos ejecuta una ardua labor dedicada a lograr la plena soberanía tecnológica.

De allí que la puesta en órbita del satélite Simón Bolívar no se limita a la compra del artefacto a la República Popular China, sino que implicó transferencia tecnológica y de conocimiento que precisa las herramientas para la futura construcción de otros satélites en suelo venezolano, el Simón Bolívar resta elementos a la dependencia, ya que hasta hace poco las comunicaciones satelitales estaban en manos de empresas extranjeras, así como la Compañía Anónima Nacional Teléfonos de Venezuela (Cantv), que pasó nuevamente al Estado y sus dividendos se pueden aprovechar de forma directa, los venezolanos tengamos acceso a las telecomunicaciones y a las Tecnologías de Información, y el satélite permite complementar el acceso en zonas donde, por razones naturales y de tiempo, no se ha podido llegar.
 Otro de los resultados de este adelanto científico-tecnológico ha sido el enlace con lo industrial. De la mano con los procesos de investigación surgen respuestas en el área de las industrias, creando relaciones fundamentales y exitosas en cuanto a avances y logros. Ejemplo de ello, es la construcción de antenas para la recepción satelital con sello venezolano, considerando que no basta con tener un satélite, es necesario todo el acompañamiento tecnológico que se requiere para formar parte de una red de telecomunicaciones, MCTI venimos impulsando, no solamente la investigación y desarrollo en esa materia, sino también la parte industrial, allí es donde radica verdaderamente el concepto de independencia, cuando uno es capaz de hacerlo.

Venezuela dejó de ser un simple depósito de tecnologías foráneas, hoy somos capaces de investigar, desarrollar y producir, gracias también a la ayuda de países aliados que nos han ofrecido más que la venta de un artefacto, nos han transferido conocimiento que, unido al talento local, ha dado frutos y se prevé que genere aún más, en pro de la definitiva independencia tecnológica.

La formulación de Políticas Públicas que promuevan la democratización y apropiación social de las tecnologías de información y de esta manera ayudar al pueblo a cubrir muchas de sus necesidades tales como educación, salud, información, entre otros.

En Venezuela la creación y apoyo a proyectos sociales con software libre ha ido en aumento también. Hay planes de informatización de comunidades con el uso de las redes inalámbricas para donde es casi inaccesible la red telefónica. Se persigue también crear una red nacional de servicios públicos donde se puedan consultar y brindar información a quien la requiera. 
La industria petrolera y sus sucursales han sido las principales promotoras de esta idea. El desarrollo del SCADA Nacional así como la migración progresiva de sus entidades son líderes en el desarrollo informático, y dicen que el tema espacial es complejo, más para quienes nunca han incursionado en la materia. Venezuela no se intimidó por este supuesto, y de la mano con la República China, puso en marcha el primero de muchos proyectos que irán llenando su currículo espacial: la creación del Satélite Simón Bolívar.

La iniciativa responde a la necesidad de alcanzar una verdadera independencia y soberanía tecnológica que garantice a Venezuela la posibilidad de contar con un dispositivo satelital eficiente y totalmente propio.

En función del grado de complejidad de los proyectos a ejecutar vía satélite, variarán los niveles de interacción que ofrece esta herramienta tecnológica. La plataforma estará en unos meses disponible, y los sistemas más sofisticados en materia de telecomunicaciones estarán al alcance de todos los venezolanos, sin distingo social ni impedimento geográfico.

Conectividad que acortará distancias en territorio nacional, soberanía que dará mejor presencia al Estado en cada rincón del país. Un total de 241 millones de dólares invertidos y la determinante cooperación china harán posible este escenario.

lunes, 9 de septiembre de 2013

PHP y MySQL desde cero PARTE 1

EL VIDEO QUE NO QUIEREN QUE MIREMOS !!!

martes, 30 de julio de 2013

PROYECTO TECNOLOGICO

El Proyecto Tecnológico como contenido de aprendizaje específico y como plataforma metodológica para el desarrollo curricular de la Tecnología permite instalar en el ámbito de la escuela una herramienta de anticipación muy valiosa.
Concepto
Para delimitar las diferentes interpretaciones a que da lugar esta idea, es necesario clarificar que cuando hacemos referencia a un proyecto estamos hablando de:
  • Designio o pensamiento de ejecutar algo.
  • Plan y disposición que se forma para un tratado o para la ejecución de una cosa de importancia.
  • Conjunto de diseños, planos y cálculos, plantas, alzados, perspectivas, y la de documentación técnica de distinta índole que determinan todo lo necesario para la construcción de una obra arquitectónica.
Cuando hablamos de Proyecto Tecnológico, estamos considerando todo lo anterior, pero aludiendo a un campo de contenidos mucho más amplio, inserto en el campo social–productivo.
Si a su vez lo planteamos en términos educativos, estamos agregando a ese campo los componentes del aprendizaje sistematizado que supone la actividad escolar.
Según los CBC para la EGB, el Proyecto Tecnológico constituye uno de los “Procedimientos Generales de la Tecnología” lo que puede llevar a suponer que, en términos educativos, sólo se aborda como contenido procedimental.
El Proyecto Tecnológico, sin embargo, no sólo es la base del planteamiento curricular que permite articular el conjunto de los conocimientos del área; posee, además, una fuerte carga conceptual que involucra aspectos técnicos, sociales, económicos, etc.
La primera diferenciación clara respecto de otros contenidos que se trabajan en el marco escolar en el nivel de la EGB, es que involucra aspectos muy definidos de interacción social en términos económicos, de medición de resultados, cumplimiento de plazos, evaluación de consecuencias, etc., que están en la esencia misma de un proyecto tecnológico tal como se presenta en términos reales.
La palabra tecnología (creada por Johann Beckmann en 1777) designa a la técnica industrial, que ya no es empírica: se apoya en el conocimiento científico y se elabora según métodos análogos a los de la ciencia. También se denomina Know How (saber cómo en inglés): es un conocimiento pragmático obtenido por métodos racionales y experimentales.
Puede decirse que la concepción actual de la tecnología nació con Edison, quien en su laboratorio de Menlo Park, se propuso por primera vez producir sistemáticamente conocimiento técnico para la industria. También creó el mercado de patentes y marcas.
Los grandes avances del siglo XX no se debieron ya a inventores empíricos sino a laboratorios de investigación y desarrollo sostenidos por el estado y la empresa privada, que funcionan como verdaderas fábricas de tecnología. En todos los casos, hay una estrecha colaboración entre ciencia y técnica.
De tal modo, los primeros aviones (diseñados por empíricos como los hermanos Wright) dieron lugar a estudios teóricos de aerodinámica, que inmediatamente se aplicaron a mejorarlos.
Frank Whittle desarrolló el primer motor jet apoyándose en conocimientos de termodinámica, aerodinámica y metalurgia física: recibió apoyo del gobierno británico en vísperas de la segunda guerra mundial y logró hacer volar el primer prototipo en 1941.
Los orígenes de la computación también pueden encontrarse en otro proyecto militar inglés (destinado a descifrar los códigos del espionaje enemigo), que fue puesto bajo la dirección del matemático Alan Turing.
La energía nuclear, cuyo estudio teórico se remonta a Mendeleyev (1869) y a Einstein, fue desarrollada por Enrico Fermi, un físico italiano exiliado del fascismo, en el marco del Proyecto Manhattan del gobierno norteamericano que culminaría con la bomba atómica en 1945.
El desarrollo de todas las tecnologías vinculadas con la astronáutica, desde las computadoras y los combustibles hasta el disco compacto, fue parte de los proyectos de Investigación y desarrollo de la NASA en el marco de la carrera espacial entre USA y URSS y del envío de sondas interestelares en la década del 70”.
Si bien el punto de vista expuesto puede ser ampliado con muchas consideraciones, muestra claramente que la finalidad del conocimiento vinculado a la tecnología está orientada al logro de metas específicas, en las cuales, el valor del resultado no es un dato más. El Pensamiento Tecnológico tiene finalidades prácticas orientadas en un contexto necesidad–demanda y los proyectos vinculados deben cumplir esa premisa.

Por Luis Doval
Profesor en Disciplinas Industriales

lunes, 22 de julio de 2013

REDES SOCIALES E IMPACTO DE LAS REDES SOCIALES EN EL PROCESO DE COMUNICACION



¿Qué son las redes sociales?
Son sitios web que ofrecen servicios y funcionalidades de comunicación diversos para mantener en contacto a los usuarios de la red. Se basan en un software especial que integra numerosas funciones individuales: blogs, wikis, foros, chat, mensajería, etc. en una misma interfaz y que proporciona la conectividad entre los diversos  usuarios de la red.
•Son redes de relaciones personales, también llamadas comunidades, que proporcionan sociabilidad, apoyo, información y un sentido de pertenencia e identidad social.
•Son grupos de personas con algunos intereses similares, que se comunican a través de proyectos.
•Existe un cierto sentido de pertenencia a un grupo con una cultura común: se comparten unos valores, unas normas y un lenguaje en un clima de confianza.
•Se utilizan las mismas infraestructuras telemáticas, generalmente basadas en los servicios de software social, que permite comunicaciones de uno a todos y de uno a uno.
•Algunos de sus miembros realizan actividades para el mantenimiento del grupo.
•Se realizan actividades que propician interacciones entre los integrantes que proporcionan ayuda emotiva y cognitiva.

Tipos de redes sociales
Existen muchos tipos clasificadas según su propósito y ámbito. Sin embargo, podemos hablar de tres grandes categorías:
1. Redes personales. Se componen de cientos o miles de usuarios en los que cada uno tiene su pequeño “espacio” con su información, sus fotos, su música, etc. Y cada uno se puede relacionar con los demás de múltiples maneras, aunque todas ellas involucran el uso de Internet de una u otra forma. Facebook es una red personal.
2. Redes temáticas. Son similares a las anteriores aunque se diferencian por el hecho de que suelen centrarse en un tema en concreto y proporcionan las funcionalidades necesarias para el mismo. Por ejemplo, una red de cine, una de informática, de algún tipo de deporte, etc.
3. Redes profesionales. Son una variedad especial de las anteriores, dedicadas exclusivamente al ámbito laboral, en todas sus vertientes. Pueden poner en contacto a aquellos que ofrecen trabajo con los que lo buscan, crear grupos de investigación, etc

Características redes sociales
v  Área de Participación Ciudadana.
v  Medio de comunicación cada vez más utilizado en detrimento del correo electrónico.
v  Comunidad o punto de encuentro en el que los usuarios construyen, comparten y desarrollan conocimientos.
v  Se puede hacer uso de Sindicación de Contenidos (RSS), proporcionando notificaciones automáticas de nuevos contenidos.
v  Suscripciones a eventos, noticias y boletines. Zona personal, para acceder a servicios personalizados.
v   Existencia de Alertas. Apartado de Encuestas / Votaciones para participar.
v  Fácil acceso a las mismas a través del ordenador, móviles, PDA, TDT, etc.
v  La red opera en un mismo plano de igualdad: HETERARQUÍA (circulación del poder), no niega la JERARQUÍA, pero esta se da en momentos determinados y entre los diferentes actores de la red, según los roles a desempeñar Tienen un papel facilitador para el logro de resultados

Impacto de las redes sociales en el proceso de comunicación.
Las Redes Sociales están cambiando nuestra realidad social y económica, más de lo que internet lo hizo, las redes sociales son una forma de interactuar en manera dinámica con una persona o un grupo de amigos, es un sistema abierto para todo el público y todas las edades.
Han ganado un lugar muy importante en nuestra actualidad, primero, por el gran negocio que representan y segundo porque por medio de ellas también se dan los encuentros entre personas; todo comienza con el deseo de encontrar a alguien con sus mismas inquietudes, y con quien compartir sus pensamientos y necesidades.
En el caso de las redes sociales de mayor éxito, como Facebook,  la necesidad que nutre su éxito deriva, en gran medida, del desarrollo tecnológico. Por una parte, estas herramientas están dirigidas a una generación que ha crecido entre ordenadores y que considera internet como un canal comunicativo, dando lugar a nuevas formas de expresión.
Por otra parte, si los foros virtuales facilitan la formación de comunidades, las redes sociales les aportan un toque humano, dando lugar a fenómenos como los flashmobs: reuniones breves de un gran número de personas, en muchos casos desconocidas, para realizar una acción determinada. La mayoría de los flashmobs tienen fines lúdicos o de mero entretenimiento, pero las posibilidades no tienen límites temáticos y tienen cabida desde los objetivos sociales y políticos a las expresiones artísticas, sirve para conectar a las personas con sus amigos y hacer nuevos amigos en el proceso. Las redes sociales aprovechan vínculos existentes entre personas para hacerse interesantes. Así por ejemplo tienen sentido que existan redes sociales relacionadas con un hobby o actividad, ya que los aficionados a un determinado tema tienden a querer hablar sobre su hobby con otras personas interesadas.