lunes, 29 de mayo de 2017

COCOMO

COCOMO
En textos anteriores hemos visto algunos puntos que se tocan al desarrollar software, así como metodologías que se pueden utilizar para hacer el mismo, sin embargo una vez que se termina muchos se pueden plantear la pregunta ¿Qué sigue? Como bien sabemos hay que entregar el software al cliente, en la mayoría de los casos este software se tiene que vender, pero aquí viene otra pregunta ¿A qué precio lo vendo? En muchos de los casos un software está por lo cielos, o tiene un precio muy bajo, ya que no cuenta con el análisis necesario para poderle darle el precio que realmente tiene que tener, es por este problema que surgió COCOMO (Constructive Cost Model) el cual fue desarrollado por B.W. Boehm a finales de los 70 e inicios de los 80, el cual fue escrito en su libro "Software Engineering Economics"
En este modelo se ocupa mucho la siguiente ecuación :

Donde  S: número de miles de líneas de código fuente              
                M(X): Es un multiplicador que depende de 15 atributos
                A continuación se muestra una tabla con los coeficientes para los diferentes modos
  
El Modelo COCOMO puede presentarse en 2 submodelos:
·         Básico : Trata de estimar de una manera rápida la mayoría de los proyectos pequeños y medianos, dentro de este modelo se divide en 3 modos de desarrollo:
1.       Modo Orgánico: Proyectos de software relativamente pequeños y sencillos en los que trabajan pequeños equipos, con buena experiencia en la aplicación, sobre el conjunto de requisitos poco rígidos (por ejemplo, un programa de análisis termal desarrollado para un grupo calórico).
2.       Modo Empotrado: Proyectos de software que deben ser desarrollados en un conjunto de hardware, software y restricciones operativas muy restringidas (por ejemplo, software de control de navegación para un avión).
3.       Modo Semiencajado: Proyectos de software intermedios (en tamaño y complejidad) en los que los equipos, con variados niveles de experiencia, deben satisfacer requisitos poco o medio rígidos (por ejemplo, un sistema de procesamiento de transacciones con requisitos fijos para un hardware de terminal o un software de gestión de base de datos).
·         Intermedio: Se introducen 15 atributos de coste para tener en cuenta el entorno de trabajo. Estos atributos se utilizan para ajustar el coste nominal del proyecto al entorno real, incrementando la precisión de la estimación.
El primer paso para estimar los costos es determinar las KLDC que son el número estimado de Líneas de código distribuidas (en miles) para el proyecto.
KDLC = (PF * Líneas de código por cada PF) / 1000

El segundo paso es calcular el coeficiente FAE, para ello se utiliza la siguiente tabla:


Teniendo esto proseguimos al tercer paso, que es estimar los factores de esfuerzo, tiempo, productividad.
Donde E: Esfuerzo
FAE: coeficiente calculado en el paso anterior

T: Tiempo
PR: Productividad


Como podemos observar este modelo nos sirve de mucho ya que puede calcular de manera aproximado cosas importante como el costo, el tiempo, la productividad, además de que tiene diferentes alcances, como pudimos ver no se limita a un solo tipo de proyectos, sirve para proyectos tanto grandes como pequeños, lo cual lo vuelve muy efectivo. Se dice que en la actualidad es uno de los modelos más documentado y ahora podemos ver la razón.

Bibliografía;
-Henry Bautista. (2014). COCOMO Ejemplos. 28/05/2014, de Prezi Sitio web: https://prezi.com/qwvokw05o5qm/cocomo-ejemplos/

-http://www.sc.ehu.es/jiwdocoj/mmis/cocomo.htm

-Emmanuel Macias. (2015). COCOMO I Y II. 28/05/2017, de SCRIBD Sitio web: https://es.scribd.com/doc/54236700/COCOMO-I-Y-II

domingo, 14 de mayo de 2017

Big Data

Ensayo de Big Data
En estos tiempos donde la tecnología crece exponencialmente, el ámbito de la información no se queda atrás y es por eso que hoy veremos un término que se está usando más seguido últimamente debido a su desarrollo y a todo lo que involucra. Estamos hablando del Big Data.
Empecemos diciendo por qué surgió la necesidad de crear esta nueva tecnología.
Como sabemos la información en internet es cada vez más abundante y almacenarla toda puede ser un gran problema, o al menos la mayor parte de la información. Imaginemos a una empresa que tiene miles de usuarios donde cada uno tiene un montón de datos que se necesitan, como historiales, compras, datos personales. ¿Puede ver el lector el problema que se enfrenta el mundo de la información digital?
Esta herramienta innovadora sirve para datos tan grandes que quieren ser analizados y procesados, pero los métodos o herramientas tradicionales o antiguas no pueden con tanta información, de aquí nació el Big Data.
De manera rápida diremos que el Big Data se rige por las 4 V´s:
·         Volumen: Como dijimos el big data maneja una gran cantidad de datos
·         Velocidad: La información tiene que tener una gran velocidad de consulta ya que si no fuera así sería como tener una herramienta convencional o antigua.
·         Variedad: Al ser tanta información es de esperar que maneje gran variedad, se dirá más adelante cuales son los tipos de información que maneja el Big Data.
·         Valor: Las empresas hacen un estudio con toda esta información, para así darle algún valor a la información, ya sea extraer alguna preferencia de los usuarios, ver el historial de los mismos, ofrecer alguna oferta que tenga gran impacto, etc.
Una gran ventaja del Big Data es que además de manejar volúmenes sumamente grandes, lo podemos usar en diferente tipo de datos, como: audio, video, sistemas GPS, etc. Aunado a esto, el tiempo de respuesta es rápido.
Un dato impactante es que se generan alrededor de 2.5 quintillones de bytes diariamente en el mundo, que para el que no sepa, es esta cantidad (2500000000000000000) o 2x10^18.


Espero que el lector viendo este dato, se pregunté ¿Dónde sale tanta información? Esta información se clasifica en diferentes tipos:
·         Web and Social Media: Es información que se obtiene de las redes sociales.
·         Machine-to-Machine (M2M): Tecnologías que se conectan a otros dispositvos.
·         Big Transaction Data: Datos como facturaciones, llamadas son datos transaccionales.
·         Biometrics: Es la información que incluye huellas digitales, retina, reconocimiento facial, etc.
·         Human Generated: Llamadas telefónicas, correos electrónicos, estudios médicos,etc.

Como pudimos ver, el desarrolló del Big Data es sumamente importante ya que abarca el mundo de la información de una manera que no se había hecho, y esto es muy bueno, ya que como pudimos ver, es una necesidad tener control en toda es información que se genera día a día y que nosotros podemos utilizar para nuestro beneficio. No solo basta guardar información hay que saber utilizarla.
Bibliografía:
SAS. (2016). Big Data What it is and why it matters. 13/05/2017, de SAS Sitio web: https://www.sas.com/en_us/insights/big-data/what-is-big-data.html
Ricardo Barranco Fragoso. (2012). ¿Qué es Big Data?. 13/05/2017, de IBM Sitio web: https://www.ibm.com/developerworks/ssa/local/im/que-es-big-data/
Oracle. (2012). La base de la innovación de datos. 13/05/2017, de Oracle Sitio web: https://www.oracle.com/lad/big-data/index.html





domingo, 7 de mayo de 2017

Análisis de páginas web

·         Página oficial de la Universidad Anáhuac: http://www.anahuac.mx/
Diseño de interfaz: El diseño es llamativo, no tiene mucha complejidad, contiene animaciones, fotos y todo está organizado.
Mapa de Navegación: Consta de 3 niveles, sin embargo, no es muy compleja la navegación ya que se puede navegar de manera intuitiva, tienen muy organizados los apartados.
Contenidos: Al ser una página universitaria tiene un buen contenido, ya que cuenta con las carreras que uno puede tomar en dicha institución, contiene las formas de pago, el contenido de becas, los planes de estudio de cada carrera, etc.

·         Google Drive: https://drive.google.com/drive
Diseño de interfaz: Es muy básico, pero desde mi punto de parecer no necesita ser más llamativo o complejo, ya que solo sirve como contenedor de datos, sirve para guardar datos en la nube.
Mapa de Navegación: Al igual que la interfaz, es muy básico, a lo máximo tendrá 2 niveles, y es muy sencilla la navegación, todo está muy bien señalado.
Contenido: Está página es personalizable por lo que el contenido lo aporta uno mismo, aunque hay opciones para descargar, pero se vuelve a lo mismo, uno decide que descargar.
·         Youtube: https://www.youtube.com/
Diseño de Interfaz: La página de youtube tiene una constante actualización y siempre trata de mejorar la parte visual, trata de verse un poco más moderno en cada actualización, además de que tiene un buen diseño.
Mapa de Navegación: Es muy sencillo, es de dos niveles, uno en donde están los canales a los que estas subscrito junto con otros apartados, y la opción de búsqueda en donde buscas un nivel y lo puedes ver.
Contenido: El contenido es muy amplio, de hecho la base de datos de youtube es de las más grandes por lo que hay un gran contenido de videos. Lo que es mejor, hay una gran variedad por lo que puedes encontrar la mayoría de las veces, lo que realmente buscabas.
·         Github: https://github.com/
Diseño de interfaz: Tiene un buen diseño, sencillo, pero no simple, tiene figuras llamativas y colores agradables a la vista.
Mapa de Navegación: El mapa contiene 3 niveles, uno en lo que se cuenta qué es github, los servicios con los que cuenta, etc, un log-in y el sign-in.
Una vez dentro del sistema, puedes crear proyectos, en los que posteriormente en el siguiente nivel, podrás subir los códigos, hacer etiquetas, asignar colaboradores, etc. En el mismo nivel de crear proyectos se pueden buscar otros proyectos de otros usuarios que se pueden descargar.
Contenido: El contenido es muy amplio ya que se cuenta con una gran cantidad de proyectos y códigos, la desventaja es que solo trata de eso, de desarrollo de software.
·         PelisPlus: http://www.pelisplus.tv/
Diseño de interfaz: El diseño es muy básico, lo bueno es que está organizado el contenido, por lo que da el aspecto de que esta ordenado, y no se ve una saturación de contenido.
Mapa de navegación: Es muy sencillo el mapa de navegación, no cuenta con muchos niveles, tiene las categorías de lo que puedes ver y una vez seleccionado lo que se quiere ver el reproductor, por esto mismo no hay gran complejidad.

Contenido: El contenido al igual que youtube es basto, pero solo trata de un solo tema, que son películas y series.