Entradas

COCOMO

¿Qué es COCOMO? (Constructive Cost Model) surge como una alternativa para incluir componentes de incerteza en las estimacións conforme al nivel de información disponible. Este es un modelo paramétrico que establece ecuaciones matemáticas para describir las relaciones entre el tamaño del software - factor primario de costo usualmente representado en términos de puntos de función - y otros factores secundarios que buscan capturar particularidades de producto, proceso, personas y plataforma. Submodelos El modelo básico estima el coste del proyecto –pequeño o mediano- en función de número de líneas de código estimadas. En este modelo, el algoritmo COCOMO establece varios criterios de desarrollo, dependiendo el nivel de dificultar no del nivel de experiencia de los desarrolladores –que se supone- sino de posibles dificultades que se pueden encontrar en el desarrollo o limitaciones del hardware usado en el desarrollo del software. El modelo intermedio se utiliza para estimaciones m...

Big Data

¿Qué es Big Data?  El concepto de Big Data aplica para toda aquella información que no puede ser procesada o analizada utilizando procesos o herramientas tradicionales. Sin embargo, Big Data no se refiere a alguna cantidad en específico, ya que es usualmente utilizado cuando se habla en términos de petabytes y exabytes de datos. Entonces ¿Cuánto es demasiada información de manera que sea elegible para ser procesada y analizada utilizando Big Data? Analicemos primeramente en términos de bytes: Gigabyte = 109 = 1,000,000,000 Terabyte = 1012 = 1,000,000,000,000 Petabyte = 1015 = 1,000,000,000,000,000 Exabyte = 1018 = 1,000,000,000,000,000,000 Big data, macrodatos, datos masivos, inteligencia de datos o datos a gran escala es un concepto que hace referencia a conjuntos de datos tan grandes que aplicaciones informáticas tradicionales del procesamiento de datos no son suficientes para tratar con ellos y a los procedimientos usados para encontrar patrones repetitivos dentro de es...

Calidad de una aplicación web

Imagen
Introducción Es común que al momento de realizar el desarrollo de una aplicación, se pase por alto algo tan importante como la calidad que tendrá la aplicación, esto es un error gravísimo en cualquier nivel de desarrollo. Sin dudas es una tarea complicada pero existen una serie de herramientas para ayudarnos en este proceso. Nos basaremos en un diagrama que representa los requisitos de calidad para aplicaciones web. Usabilidad  Se define como "la disciplina que estudia la forma de diseñar Sitios Web para que los usuarios puedan interactuar con ellos de la forma más fácil, cómoda e intuitiva posible". Esto quiere decir que la usabilidad es el requisito para que cualquier persona pueda utilizar la aplicación, entonces tenemos que basarnos en la simpleza y en diseños intuitivos. Como indica el diagrama la usabilidad también incluye la parte relacionada con el diseño y soporte, estas características son importantes para brindarle una experiencia completa al usuario y po...

Tarea de Ingeniería Web

Análisis de requisitos La ingeniería de requisitos del software es un proceso de descubrimiento, refinamiento, modelado y especificación. Se refinan en detalle los requisitos del sistema y el papel asignado al software. Podría hablarse de ellos como el análisis de los objetivos globales de una aplicación, así como la recopilación de información sobre los mismos. Dichos objetivos se convierten a: Identificar requisitos de contenido. Identificar requisitos funcionales. Definir escenarios de interacción para diferentes clases de usuarios. Preguntas de formulación Normalmente se sugieren una serie de preguntas para tenerlas como base, que deberán formularse y responderse de forma objetiva. ¿Quién va a utilizar la Web app? ¿Cuál es la motivación principal para la Web app? ¿Por qué es necesaria la Web app? Definición de las categorías de usuarios Las categorías de usuarios finales se identifican como parte de las tareas de formulación y de recopilación de requis...

Buenas Practicas del Desarrollo de Software

Buenas Prácticas aplicables al proceso de desarrollo  Participación activa de los clientes . Los clientes deben proveer información de manera regular, tomar decisiones de manera constante e involucrarse activamente en el proceso de desarrollo a través de herramientas y técnicas que faciliten su inclusión. Visualización de los requerimientos . Al principio de un proyecto ágil es necesario invertir algún tiempo para identificar el alcance del proyecto y crear la pila inicial de requerimientos organizados por prioridad. Información de una única fuente . Se obtiene al capturar la información en un lugar únicamente. Visualización de la arquitectura . Al principio de un proyecto ágil es necesario un modelado inicial de la arquitectura desde un nivel de abstracción alto para identificar una estrategia que permita la implementación de la solución. Documentar continuamente . Elaborar documentación entregable a través del ciclo de vida del producto de forma paralela a la creación ...

Web Apps

Atributos de las Web apps Inmediatez : debido a su plataforma de residencia (comunmente el Internet), una aplicación web es una de las versiones más rápidas de ejecutar software, ya que en cuestión de segundos puedes disponer del contenido y funciones de una aplicación de este estilo. Intensivas de red: una web app debe residir en la red (para ser considerada como una aplicación web), esta red puede ser una Intranet, Extranet, o incluso el mismo Internet que le permite ser utilizada desde cualquier parte del mundo. Controlada por el contenido: se presentan los contenidos a través de distintos contenidos multimedia como lo son gráficos, sonido y vídeo. Evolución continua : una aplicación web está totalmente abierta al cambio, de hecho se le planifican comúnmente actualizaciones para adaptarse a las necesidades del usuario. También se le considera incremental pues esta lista para crecer en cualquier momento. Seguridad : la seguridad es una parte esencial de estas aplica...

Proceso de SCRUM

Imagen
En general, el proceso de SCRUM se divide en distintas actividades.  1. Planificación de la iteración En el primer día de la iteración debe realizarse una reunión previa para planear en qué consistirá la misma. Selección de requisitos (4 hrs max) Para esta parte es necesario que el cliente presente al equipo la lista de requisitos priorizada del producto proyecto, el equipo cuestiona al cliente en caso de tener alguna dudna y finalmente seleccionan algunos de los requisitos que se completarán en la iteración. Planificación de la iteración (4 hrs max) El equipo deberá realizar la lista de tareas de iteración, la estimación del esfuerzo se debe realizar de forma conjunta. 2. Ejecución de la iteración Todos los días el equipo deberá reunirse como máximo por 15 minutos, y en este tiempo deberá revisarse los avances de cada integrante del equipo, esta también es llamada reunión de sincronización. En esta parte el Scrum Master se hará cargo de que el equip...