viernes, 3 de marzo de 2017

Investigación cualitativa y cuantitativa

La investigación cualitativa es mejor usarla cuando se usa para explorar, entender y descubrir, mientras que la investigación cuantitativa es generalmente mejor para confirmar y aclarar.

INVESTIGACIÓN CUALITATIVA
Los investigadores buscan lograr una comprensión nueva de una situación, experiencia o proceso. Los objetivos varían desde la total comprensión de un proceso a lo largo del tiempo hasta el descubrimiento e ilustración rápida de los temas.

Estos métodos se utilizan en las ciencias sociales y de la salud, educación, investigación de mercados y negocios, evaluación de programas, estudios legales, políticos e históricos, historias biográficas y evaluación de políticas. Diferentes metodologías requieren diferentes formas de manejo e interpretación de datos.
Para la investigación cualitativa son necesarias tanto la creatividad como la administración de datos, la interpretación sensible de datos complejos, el acceso preciso a la información y formas de explorar rigurosamente los temas y descubrir patrones y someterlos a pruebas.

INVESTIGACIÓN CUANTITATIVA
La investigación cuantitativa se dedica a recoger, procesar y analizar datos cuantitativos o numéricos sobre variables previamente determinadas, estudia la asociación o relación entre las variables que han sido cuantificadas, lo que ayuda aún más en la interpretación de los resultados.
  
Caracteristicas:

Basada en la inducción probabilística del positivismo lógico
Medición penetrante y controlada
Objetiva
Inferencias más allá de los datos
Confirmatoria, inferencial, deductiva
Orientada al resultado
Datos "sólidos y repetibles"
Generalizable
Particularista
Realidad estática



Protocolos utilizados en las redes de computadoras


TPC/IP: este es definido como el conjunto de protocolos básicos para la comunicación de redes y es por medio de él que se logra la transmisión de información entre computadoras pertenecientes a una red.
IP: Protocolo de Internet. Es la base para todo el direccionamiento que se produce en las redes TCP/IP y proporciona un protocolo orientado a la capa de red sin conexión.
TCP (Transmision Control Protocol): este es un protocolo orientado a las comunicaciones y ofrece una transmisión de datos confiable. El TCP es el encargado del ensamble de datos provenientes de las capas superiores hacia paquetes estándares, asegurándose que la transferencia de datos se realice correctamente.
HTTP (Hypertext Transfer Protocol): este protocolo permite la recuperación de información y realizar búsquedas indexadas que permiten saltos intertextuales de manera eficiente. Por otro lado, permiten la transferencia de textos de los más variados formatos, no sólo HTML.
DPP (Protocolo de Entrega de Datagramas): Proporciona el sistema de direccionamiento para la red AppleTalk, así como el transporte sin conexión de los datagramas entre las distintas computadoras.
FTP (File Transfer Protocol): este es utilizado a la hora de realizar transferencias remotas de archivos. Lo que permite es enviar archivos digitales de un lugar local a otro que sea remoto o al revés. Generalmente, el lugar local es la PC mientras que el remoto el servidor.
SSH (Secure Shell): este fue desarrollado con el fin de mejorar la seguridad en las comunicaciones de internet. Para lograr esto el SSH elimina el envío de aquellas contraseñas que no son cifradas y codificando toda la información transferida.
UDP (User Datagram Protocol): el protocolo de datagrama de usuario está destinado a aquellas comunicaciones que se realizan sin conexión y que no cuentan con mecanismos para transmitir datagramas. Esto se contrapone con el TCP que está destinado a comunicaciones con conexión.
SNMP (Simple Network Management Protocol): este usa el Protocolo de Datagrama del Usuario (PDU) como mecanismo para el transporte. Por otro lado, utiliza distintos términos de TCP/IP como agentes y administradores en lugar de servidores y clientes. El administrador se comunica por medio de la red, mientras que el agente aporta la información sobre un determinado dispositivo.
SPX (Protocolo de Intercambio Secuenciado de Paquetes): Es un protocolo de transporte orientado a la conexión.
ZIP (Protocolo de Información de Zona): Controla las zonas AppleTalk y hace corresponder los nombres de zonas con las direcciones de red.
TFTP (Trivial File Transfer Protocol): este protocolo de transferencia se caracteriza por sencillez y  falta de complicaciones. No cuenta con seguridad alguna y también utiliza el Protocolo de Datagrama del Usuario como mecanismo de transporte.
SMTP (Simple Mail Transfer Protocol): este protocolo está compuesto por una serie de reglas que rige la transferencia y el formato de datos en los envíos de correos electrónicos. SMTP suele ser muy utilizado por clientes locales de correo que necesiten recibir mensajes de e-mail almacenados en un servidor cuya ubicación sea remota.
AppleShare: Proporciona servicios en la capa de aplicación.
ARP (Address Resolution Protocol): por medio de este protocolo se logran aquellas tareas que buscan asociar a un dispositivo IP, el cual está identificado con una dirección IP, con un dispositivo de red, que cuenta con una dirección de red física. ARP es muy usado para los dispositivos de redes locales Ethernet.
SAP: Protocolo de Anuncio de Servicio. Lo utilizan los servidores de archivo y los servidores de impresora de NetWare para anunciar la dirección del servidor.
NCP (Protocolo de Núcleo NetWare): Gestiona las funciones de red en las capas de aplicación, presentación y sesión. Gestiona además la creación de paquetes y se encarga de proporcionar servicios de conexión entre los clientes y servidores.
IPX (Protocolo de Intercambio de Paquetes entre Redes): Es un protocolo de transporte sin conexión que gestiona el direccionamiento y encaminamiento de los datos en la red.
AFP (Protocolo de Archivo AppleTalk): Proporciona y gestiona la compartición de archivos entre nodos de una red.
ATP (Protocolo de Transacción AppleTalk): Proporciona la conexión de capa de transporte entre Computadoras.
NBP (Protocolo de Enlace de Nombre): Hace corresponder los nombres de servidores de red con las direcciones de la capa de red.

AARP (Protocolo de Resolución de Direcciones AppleTalk): Hace corresponder las direcciones de la capa de red con las direcciones del hardware de enlace de datos.

Conjunto de instrucciones de programación



1)    TRANSFERENCIA DE DATOS.
A)    DE PROPOSITO GENERAL
1.-   MOV   destino, Fuente          ; Mueve datos
2.-   PUSH   fuente                                   ; Mete datos a la Pila
3.-   POP     destino                       ; Saca datos de la Pila
4.-   XCHG  destino, fuente         ; Intercambia contenidos
5.-   XLAT                                        ; Traduce (Uso para tablas)
      
B)    GRUPO DE ENTRADA-SALIDA.
1.-   IN        acumulador, puerto   ; Lee un dato del Puerto
2.-   OUT    puerto, acumulador   ; Saca un dato por el puerto
                  
C)    DE OPERANDO DE DIRECCION.
1.-    LEA    destino, fuente          ; Carga una dirección efectiva
2.-    LDS    destino, fuente          ; Carga el reg. De segmento datos
3.-    LES    destino,  fuente         ; Carga el reg. De segmento extra
                 
D)    TRANSFERENCIA DE BANDERAS.
1.-    LAHF                                      ; Carga al reg. AH con las banderas
2.-    SAHF                                   ; Envía el reg AH al reg. De Banderas
3.-    PUSHF                                   ; Guarda las banderas en el stack
4.-    POPF                                      ; Lo que saca del stack lo pone en el reg. De banderas
        
2)    INSTRUCCIONES  ARITMETICAS

A)    DE SUMA

1.-    ADD    destino, fuente         ; Suma de números binarios
2.-    ADC    destino, fuente         ; Suma con carry
3.-    INC     destino                        ; Incrementos de 1
4.-    DAA                                        ; Ajuste decimal después de sumar
5.-    AAA                                         ; Ajuste ASCII después de sumar

B)    DE RESTA

1.-    SUB      destino, fuente       ; resta valores binarios
2.-    SBB      destino, fuente        ; resta con borrow
3.-    CMP     destino, fuente        ; compara datos
4.-    DAS                                        ; Ajuste decimal después de restar
5.-   AAS                                          ; Ajuste ASCII después de restar


C)    DE MULTIPLICACION.

1.-   MUL      fuente (sin signo)               ; Multiplica sin signo
2.-   IMUL     fuente  (con signo)             ; Multiplica con signo (enteros)
3.-   AAM                                                     ; Ajuste ASCII para la multiplicación

D)    DIVISION
      1.-   DIV      fuente (sin signo)                  ; Divide sin signo
2.-   IDIV     fuente  (con signo)               ; Divide con signo
3.-   AAD                                         ; Ajuste ASCII para la división

3)    INSTRUCCIONES DE MANIPULACION DE BITS

A)    LOGICAS

       1.-   NOT     destino                       ; Negación lógica (No)
2.-   AND      destino, fuente        ; Conjunción lógica (y)
3.-   OR        destino, fuente         ; Disyunción lógica (o)
4.-   XOR      destino, fuente        ; OR Exclusiva
5.-   TEST     destino, fuente        ; Prueba bits
6.-    NEG     destino                      ; Negación

B)    DE DESPLAZAMIENTO

 1.-  SHL      destino, contador      ; Corrimiento lógico a la izquierda
2.-   SAL      destino, contador     ; Corrimiento algebraico a la izq.
3.-   SHR     destino, contador     ; Corrimiento lógico a la Derecha
4.-   SAR     destino, contador     ; Corrimiento algebraico a la Der.

C)    GIROS

      1.-   ROL      destino, contador      ; Rotación a la izquierda
2.-   ROR      destino, contador    ; Rotación a la derecha
3.-   RCL       destino, contador    ; Rotación a la izquierda con carry
4.-   RCR      destino, contador    ; Rotación a la iderecha con carry

4)    INSTRUCCIONES DE CADENA

      1.-   MOVS      cadena-destino, cadena-fuente             ; Mueve cadenas
             MOVSB  ----- MOVSW

      2.-  LODS        cadena-fuente                                          ; Carga cadena
      3.-  STOS         cadena-destino, cadena-fuente           ; Almacena una cadena
            STOSB -----STOSW

      4.-  CMPS       cadena-destino, cadena-fuente            ; Compara cadenas
             CMPSB ------CMPSW

      5.-   SCAS        cadena-destino                                       ; Explora una cadena
             SCASB ------SCASW

5)  INSTRUCCIONES DE TRANSFERENCIA DE PROGRAMA
    
A)     TRANSFERENCIA INCONDICIONAL

1.-  CALL    destino                              ; llama a un procedimiento
2.-   RET      (RETN, RETF)                 ; regresa de un procedimiento
3.-   JMP      destino                             ; Salto incondicional

B)     TRANSFERENCIA CONDICIONAL

1.-  JB/JNAE      (Salta si es bajo / no arriba ni igual)  CF=1
2.-  JAE/JNB      (Salta si está arriba o igual / no está bajo)  CF=0
3.-  JBE/JNA      (Salta si es bajo o igual / no está arriba)  CF=1 o ZF=1
4.-  JA/JNBE      (Salta si está arriba / no bajo ni igual)  CF=0 y ZF=0
5.-  JE/JZ            (Salta si fueron iguales)  ZF=1
6.-  JNE/JNZ       (Salta si no es igual a)  ZF=0
7.-  JL/JNGE       (menor/no más grande ni igual) SF diferente de OF
8.-  JGE/JNL       (más grande o igual /no menor)  SF=OF
9.-   JLE/JNG      (menor o igual/no más grande)  ZF=1 o SF diferente  de 0F.
                10.- JG/JNLE       (más grande/no menos ni igual)  ZF=0 o SF=OF
                11.- JP/JPE         (paridad puesto/si hay paridad par)  PF=1
                12.- JNP/JPO      (paridad no puesta/ paridad impar)  PF=0
                13.- JS                 (bit de signo  puesto)  S=1
                14.- JNS               (bit de signo no puesto)  SF=0
                15.- JC                 (carry puesto)  CF=1
16.- JNC              (carry no puesto)  CF=0
17.- JO                 (sobre flujo puesto)  OF=1
18.- JNO              (sobre flujo no puesto)  OF=1 

C)    CONTROL DE ITERACIONES
             
                   1.-    LOOP                    ETIQ   ; Repetir hasta que CX=0
                   2.-    LOOPE/LOOPZ    ETIQ  ; Repetir hasta que CX=0 o Z=1
                   3.-    LOOPNE/LOOPNZ   ETIQ         ; Rep. Hasta que CX=0 o Z=0
                   4.-    JCXZ                     ETIQ   ; Salta si CX=0



6)    INSTRUCCIONES DE INTERRUPCION

       1.-    INT   vector                       ; petición de Interrupción
       2.-    IRET                                  ; Regreso de una interrupción    

7)    INSTRUCCIONES DE CONTROL DEL PROCESADOR

a.    OPERACIONES CON BANDERAS

1.-   STC   Pone la bandera de carry   C=1
2.-   CLC   Limpia la bandera de carry  C=0
3.-   CMC  Complementa  la bandera de carry
4.-   STD   Pone la bandera de dirección  D=1
5.-   CLD   Limpia la bandera de dirección D=0
6.-    STI     Pone la bandera de interrupción habilitada   IF=1
7.-   CLI   Limpia la bandera de interrupción habilitada    IF=0

b.   instrucciones de control del procesador
                   
                    1.-    HLT        Pone al micro en estado estático.
                    2.-    WAIT     Entra en edo. De espera hasta que se active la línea 
                                           TEST.
            
8)    INSTRUCCIONES DE CONVERSIÓN
                
                         1.- CBW      Conversión de Byte a palabra                 
                         2.- CWD      Conversión de palabra a doble palabra
                        

          9)    de uso general

                        AX: Acumulador (AL: AH)
                        BX: Registro base (BL: BH)
                        CX: Registro contador (CL: CH)
                        DX: Registro de datos (DL: DH)

       10) Registros de segmento (Solo se pueden usar para los usos           mencionados a excepción de ES)

                       DS: Registro del segmento de datos
                       ES: Registro del segmento extra
                       SS: Registro del segmento de pila
                       CS: Registro del segmento de código



  
      11) Registros punteros (También pueden tener uso general)

                     BP: Registro de apuntadores base
                      SI: Registro índice fuente
                      DI: Registro ìndice destino

  12) Registros especiales (Solo se pueden usar para los usos mencionados)

                    SP: Registro apuntador de la pila
                     IP: Registro apuntador de la siguiente instrucción
                      F: Registro de banderas (8 bits)




1.1 Importancia de la programación en Lenguaje Ensamblador


Definición: El lenguaje ensamblador es un tipo de lenguaje de bajo nivel utilizado para escribir programas informáticos, y constituye la representación más directa del código máquina específico para cada arquitectura de microprocesador.

La importancia del lenguaje ensamblador es principalmente que se trabaja directamente con el microprocesador; por lo cual se debe de conocer el funcionamiento interno de este, tiene la ventaja de que en él se puede realizar cualquier tipo de programas que en los lenguajes de alto nivel no lo pueden realizar. Otro punto sería que los programas en ensamblador ocupan menos espacio en memoria.

Unidad 2: Metodologías de desarrollo.



Introducción
Metodología de desarrollo de software

Metodología de desarrollo de software en ingeniería de software es un marco de trabajo usado para estructurar, planificar y controlar el proceso de desarrollo en sistemas de información.
A lo largo del tiempo, una gran cantidad de métodos han sido desarrollados diferenciándose por su fortaleza y debilidad.
El framework para metodología de desarrollo de software consiste en:
·         Una filosofía de desarrollo de programas de computación con el enfoque del proceso de desarrollo de software.
·         Herramientas, modelos y métodos para asistir al proceso de desarrollo de software.
Estos frameworks son a menudo vinculados a algún tipo de organización, que además desarrolla, apoya el uso y promueve la metodología. La metodología es a menudo documentada en algún tipo de documentación formal.
Historia
El desarrollo de los sistemas tradicionales de ciclo de vida se originó en la década de 1960 para desarrollar a gran escala funcional de sistemas de negocio en una época de grandes conglomerados empresariales. La idea principal era continuar el desarrollo de los sistemas de información en una muy deliberada, estructurada y metódica, reiterando cada una de las etapas del ciclo de vida. Los sistemas de información en torno a las actividades resueltas pesadas para el procesamiento de datos y rutinas de cálculo.
Metodologías de Desarrollo de Software tiene como objetivo presentar un conjunto de técnicas tradicionales y modernas de modelado de sistemas que permitan desarrollar software de calidad, incluyendo heurísticas de construcción y criterios de comparación de modelos de sistemas.
Para tal fin se describen, fundamentalmente, herramientas de Análisis y Diseño Orientado a Objetos (UML), sus diagramas, especificación, y criterios de aplicación de las mismas. Como complemento se describirán las metodologías de desarrollo de software que utilizan dichas herramientas, ciclos de vida asociados y discusión sobre el proceso de desarrollo de software más adecuado para las diferentes aplicaciones ejemplos que se presentarán. Principalmente, se presentará el Proceso Unificado el cual utiliza un ciclo de vida iterativo e incremental.
Metodologías de desarrollo de software
1970
Programación estructurada sol desde 1969
Programación estructurada Jackson desde 1975
1980
Structured Systems Analysis and Design Methodology (SSADM) desde 1980
Structured Analysis and Design Technique (SADT) desde 1980
Ingeniería de la información (IE/IEM) desde 1981
1990
Rapid application development (RAD) desde 1991.
Programación orientada a objetos (OOP) a lo largo de la década de los 90's
Virtual finite state machine (VFSM) desde 1990s
Dynamic Systems Development Method desarrollado en UK desde 1995.
Scrum (desarrollo), en la última parte de los 90's
Rational Unified Process (RUP) desde 1999.
Extreme Programming(XP) desde 1999
Nuevo milenio
Enterprise Unified Process (EUP) extensiones RUP desde 2002
Constructionist design methodology (CDM) desde 2004 por Kristinn R. Thórisson
Agile Unified Process (AUP) desde 2005 por Scott Ambler
Enfoques de desarrollo de software
Cada metodología de desarrollo de software tiene más o menos su propio enfoque para el desarrollo de software. Estos son los enfoqu

Construyendo mi modelo de negocio



La perspectiva del emprendedor no es el único abordaje para valorar la utilidad de un modelo de negocios, de hecho la comprensión de esta técnica es un punto obligatorio en la agenda de los directivos e inversores interesados en una oportunidad de negocios, y no menos podemos decir de un Director Ejecutivo.

Información que recoge cualquier modelo de negocios:

1.  Lo primero es conocer la Proposición de Valor que lo sustenta ¿Por qué nuestros clientes compran o comprarían mis productos? ¿Cómo satisfago la necesidad o deseo de mis clientes? ¿Qué tiene valor para quien está dispuesto a pagarnos por nuestros productos o servicios? ¿Cómo “conceptualizamos” el valor para que sea fácilmente transmisible?

2.  La Cadena de Valor representa los componentes empresariales que contribuyen a generar una  posición  competitiva  determinada,  cómo  cada  actividad  que  realiza  la  institución colabora para armar el valor que comercializa. Cómo la organización estructura sus actividades para generar valor en cada uno de sus eslabones.

El modelo de negocios, debe transmitir sintéticamente las contribuciones de los principales eslabones de la cadena, resaltando lo que es necesario comprender.

3.   Captura de Valor: ¿Cómo la organización es remunerada por el valor creado, modalidad de ventas y demás detalles que hacen al precio y oportunidad de pago del cliente? En definitiva cómo hace para capturar el valor.

Así por ejemplo, si el valor es capturado a través del producto, de la logística, del servicio postventa, si tiene asociados productos o servicios adicionales, etc.

4.   Selección de clientes (presentes y futuros): Los clientes son nuestra razón de existir, sólo a través de ellos podemos mantenernos rentables, y por aquí es dónde comenzamos entender nuestro modelo de negocio, para lo cual necesitaremos una descripción de los clientes a quienes la organización atiende o intentará atender en el futuro. Si hablamos de una organización existente, entonces debemos referirnos en qué segmentos estamos presentes, qué caracteriza tal segmento, qué ventajas tenemos al participar en tal segmento.

5.   Factores  clave  de  éxito:  ¿Qué  aspectos  hay  que  enumerar,  que  por  cuya  criticidad condicionan la viabilidad del modelo? ¿Cuáles son los condicionantes que existen y pueden afectar la rentabilidad del negocio?

Cuál  es  la  relación  causa-efecto  y  cómo  ellos  deben  ser  expresados  en  una  manera comprensible.

6.   Indicadores clave de desempeño: ¿Cuáles son los referentes de la realidad del negocio que son necesarios monitorear para determinar la marcha del modelo y qué debe ser importante que un directivo supervise?

7.   Factores   ambientales clave: ¿Cuál es la información esencial que se debe tener para comprender la viabilidad del negocio? Por ejemplo: ¿Quiénes son nuestros clientes clave?,
¿Quiénes son nuestros proveedores más importantes?, ¿Quién es la competencia?, ¿Qué regulaciones nos afectan?, ¿Hacia dónde va el sector?, ¿Cuál es el modelo de negocios dominante (o concepto de negocio) en los mercados donde operamos?

8. Grandes números: Todo negocio tiene asociadas escalas que hacen comprensible los números, así por ejemplo un directivo debe manejar qué es una “gran venta”, la cual puede significar cosas diferentes en un mercado atomizado, o en un mercado industrial. Volúmenes de  ventas,  proporción  de  costos  fijos,  costos  variables,  series  históricas  de  índices financieros entre otras informaciones son frecuentemente incluidas.

El modelo que resulte, debe entusiasmar al lector, romper su escepticismo e invitarlo a la lectura y comprensión de lo que presenta; es deseable que el modelo no pierda de vista su valor sintético.



Algunas contribuciones

Dos autores de la Escuela de Economía y Administración de la Universidad sueca de Lund (Jonas Hedman y Thomas Kalling), introdujeron los elementos que deberían ser incluidos en un modelo de negocios teórico siguiendo diferentes perspectivas:

1.  Mercado: Que representa el afuera de la organización e incluye una definición de los clientes y de los competidores.

2.  Oferta: Que se presenta nuestro menú al mercado, y se centra en el producto o servicio ofrecido.

3.  Organizacional: Que describe por un lado la cadena de valor y su disposición, y por el otro la organización de la estructura organizacional.

4.  Recursos: En esta perspectiva se describen los factores de producción y los recursos físicos y humanos.

El trabajo de los investigadores suecos, presenta algunas diferencias con el esquema por nosotros sugerido, veamos:

En primer lugar está la inclusión de los recursos humanos; en nuestra opinión esto debe ser incluido  dentro  de  la  “habilidad  gerencial”  necesaria  para  implementar  el  modelo  de negocios.
Para nosotros no es posible transmitir lo esencial de un negocio sino puntualizo qué es crítico, es pertinente saber cómo llego a saber si voy por el camino correcto.

Los modelos de negocio se encuentran en una relación simbiótica con los elementos cuantitativos que va alterando. Esto le da un aspecto más dinámico y pragmático a nuestra definición de modelo de negocio.

Una reflexión muy interesante de Hedman y Kalling, es que variaciones en los componentes producen diferentes modelos. En verdad sería más preciso hablar de variaciones de modelos más  que  de  modelos  diferentes,  aunque  decididamente  coincidimos  que  una  organización puede tener varios modelos de negocio.

Recientemente el Profesor George Giaglis, repasando contribuciones y advirtiendo sobre el cambio del eje temático de las definiciones al estudio de los componentes de los modelos de negocios; allí él junto con el Profesor Pateli, proponen un esquema, el cual hemos adaptado: