Archivo de la categoría: Ingeniería del software

Metodologías de Desarrollo de Software: Guía Completa

PROYECTO DE DESARROLLO DE SOFTWARE

ANÁLISIS DE REQUISITOS

Levantar los requisitos para un producto de software es la primera etapa para crearlo. A menudo, los clientes piensan que saben lo que el software tiene que hacer, pero se requiere de habilidad y experiencia en la ingeniería de software para reconocer requisitos incompletos, ambiguos o contradictorios.

DISEÑO Y ARQUITECTURA

Se refiere a determinar cómo funcionará el software de forma general y planificar su desarrollo. Consiste en incorporar Seguir leyendo “Metodologías de Desarrollo de Software: Guía Completa” »

Encapsulamiento, Cohesión y Acoplamiento en el Diseño de Software

Encapsulamiento y Ocultación de la Información

La ocultación de información aporta las siguientes ventajas a un proyecto de software:

Desarrollo Independiente

Supongamos un sistema implementado mediante las clases C1, C2, …, Cn. Si estas clases ocultan sus decisiones internas de diseño, es más fácil asignar su implementación a diferentes desarrolladores. En consecuencia, se reducirá el tiempo de implementación del sistema.

Modificabilidad

Supongamos que descubrimos que la clase Ci tiene problemas Seguir leyendo “Encapsulamiento, Cohesión y Acoplamiento en el Diseño de Software” »

Interacción Humano-Computadora: Diseño de Interfaces Usables

INTERACCIÓN HUMANO-COMPUTADORA

Definición

La Interacción Humano-Computadora (HCI) se ocupa del diseño, evaluación e implementación de sistemas informáticos interactivos, junto con el estudio de los fenómenos relacionados.

Ejemplos de HCI

  • Interfaces gráficas de usuario (GUI)
  • Sistemas operativos
  • Lenguajes de programación
  • Diseño gráfico e industrial
  • Lingüística
  • Ciencias cognitivas

La HCI abarca diversas disciplinas, como el diseño de GUI, psicología, ergonomía y organización.

Orígenes de los Seguir leyendo “Interacción Humano-Computadora: Diseño de Interfaces Usables” »

Experiencia de Usuario: Definición y Conceptos Clave

Qué es experiencia de usuario?

Por experiencia entendemos la vivencia, sensación, respuesta emocional, satisfacción de las personas, respecto a un producto o servicio; resultado del fenómeno de interacción con las personas y puntos de contacto que configuran dicho servicio o las partes que configuran el producto.

La UX puede ser tanto física como digital, nos centraremos en las digitales.

Experiencia de usuario digital – ux

UX es un conjunto de elementos que generan una percepción positiva o Seguir leyendo “Experiencia de Usuario: Definición y Conceptos Clave” »

Ingeniería de Software y Gestión de Calidad

Ingeniería de Software

Consiste en conocer y aplicar herramientas para solucionar sistemas de información a través de software aplicando métodos y técnicas.

Características

Es una aplicación multicapa

El fundamento de la ingeniería de software es el proceso del software.

Capas de la Ingeniería de Software

Herramientas

Métodos

Proceso

Calidad

Proceso del software:

Marco de Trabajo de las tareas que se requieren para construir software de alta calidad.

Fases de la Ingeniería de Software

  1. Definición

Interfaces Seguir leyendo “Ingeniería de Software y Gestión de Calidad” »

Importancia de la Arquitectura de Software

Una Arquitectura Software

es un conjunto de patrones y abstracciones coherentes que proporcionan el marco de referencia necesario para guiar la construcción del software para un sistema de información. Se refiere a la estructuración del sistema que, idealmente, se crea en etapas tempranas del desarrollo.

Los requisitos determinan el modelo

Variadas formas de requisitos -> Conocimiento disponible-> Arquitecto-> Arquitectura-> Sistema.

Arquitectura y Funcionalidad

La funcionalidad es en Seguir leyendo “Importancia de la Arquitectura de Software” »

Verificación y Validación de Software

Verificación: Proceso para evaluar si el software o sistema cumple con las especificaciones y requisitos previamente establecidos. Se centra en asegurarse de que el producto se está construyendo correctamente, verificando si el software sigue sus especificaciones. Validación: Proceso para asegurar que el software cumple con las necesidades del usuario y se adapta a su propósito. Se trata de verificar si el software creado es el correcto, si cumple con las expectativas del cliente y satisface Seguir leyendo “Verificación y Validación de Software” »

Enrutamiento y Control de Flujo

Parte I: Enrutamiento

1. Describa el concepto de flujo y describa su uso en la transmisión de datos

Es la transferencia física de datos (un flujo digital de bits) por un canal de comunicación punto a punto o punto a multipunto.

2. Explique el concepto de Enrutamiento y su impacto en el control de flujos

Es el proceso que emplea un router para reenviar paquetes hacia la red destino tomando las decisiones en base a la IP de destino del paquete.

Este puede impactar en el control de flujos dependiendo Seguir leyendo “Enrutamiento y Control de Flujo” »

Interrupciones en sistemas informáticos

Interrupción

Se genera cuando se quiere que la CPU deje de ejecutar el proceso en curso el proceso en curso y ejecute una función específica de quien produce la la interrupción. Cuando se ejecuta esta función específica decimos que la CPU está atendiendo interrupción.

Las interrupciones surgen de la necesidad que tienen los dispositivos periféricos de enviar información al procesador principal de un sistema informático.

Tipos de interrupción

Problemas y deficiencias comunes en el desarrollo de software

Problemas de software

  • Los sistemas no responden a las expectativas de los usuarios.
  • Los programas “fallan” con cierta frecuencia.
  • Los costos del software son difíciles de prever y normalmente superan las estimaciones.
  • La modificación del software es una tarea difícil y costosa.
  • El software se suele presentar fuera del plazo establecido y con menos prestaciones de las consideradas inicialmente.
  • Normalmente, es difícil cambiar de entorno hardware usando el mismo software.
  • El aprovechamiento óptimo Seguir leyendo “Problemas y deficiencias comunes en el desarrollo de software” »