Archivo de la etiqueta: Diseño de Software

Fundamentos de la Ingeniería del Software: Proceso, Metodologías y UML

Fundamentos de la Ingeniería del Software

La ingeniería del software aplica los principios de la ciencia de la computación y las matemáticas para lograr soluciones económicas a los problemas de desarrollo del software.

Proceso de la Ingeniería del Software

Conjunto de etapas ordenadas para lograr un producto software de calidad.

Análisis y Diseño Orientado a Objetos (OO)

Método de análisis y diseño que examina los requerimientos desde la perspectiva de las clases y objetos encontrados en el Seguir leyendo “Fundamentos de la Ingeniería del Software: Proceso, Metodologías y UML” »

Ingeniería de Software: Metodologías, Modelado y Desarrollo Iterativo

La ingeniería del software es el estudio de las técnicas y de la teoría que subyacen al desarrollo de software de alta calidad.

Objetivos

  • Resolver el problema correcto
    • Comprender los detalles del problema
    • Analizar el problema y desarrollar un conjunto completo y preciso de requisitos
  • Entregar una solución a tiempo y dentro del presupuesto
  • Entregar una solución de alta calidad que satisfaga a cliente y usuarios

Metodología Software

Soluciones de Software, Diseño y Patrones: Conceptos Clave en Ingeniería Informática

Tipos de Soluciones de Software

Software Genérico

  • Orientado a: Empresas que llevan su trabajo ordenado y con procesos simples.
  • Ventajas:
    • Es un software sofisticado y estable.
    • Su implementación en una empresa es inmediata.
  • Desventajas:
    • Tiene un mayor costo que el software hecho a medida.
    • La empresa debe adaptar sus procesos al sistema.

Software a Medida

Descomposición Modular y Técnicas de Diseño en Ingeniería de Software

Objetivos Inmediatos del Diseño

Los objetivos inmediatos del diseño son la descomposición modular y la decisión sobre algoritmos y estructuras de datos fundamentales.

Descomposición Modular

Dependiendo de lo que se entienda por módulo, tenemos la siguiente clasificación:

Diseño de Software: Principios y Mejores Prácticas

Diseño de Software

Objetivo Fundamental

El objetivo fundamental del diseño de software es conseguir que sea fácil de mantener y, si es posible, reutilizable. El proceso de diseño implica refinamientos sucesivos desde el SRD (Software Requirements Document) hasta las definiciones detalladas.

Actividades Habituales

Desarrollo de Software: Diseño, Arquitectura y Consideraciones Clave

1. Propósito de la Fase de Diseño

La fase de diseño busca incorporar la tecnología a los requisitos esenciales del usuario, proyectando lo que se construirá en la ejecución. Esta fase se centra en buscar la mejor solución entre las distintas alternativas identificadas que cumplen con los requisitos. Mientras que el análisis se centra en identificar el dominio del negocio, el diseño define cómo se construirá una solución específica. En este punto, el análisis de las tecnologías y Seguir leyendo “Desarrollo de Software: Diseño, Arquitectura y Consideraciones Clave” »

Fundamentos de la Ingeniería del Software: Procesos y Metodologías Clave

1. ¿Qué es la ingeniería del software?

La aplicación sistemática de conocimientos científicos y tecnológicos para crear métodos y experiencias para el diseño de un software que responda a las necesidades del usuario y su implementación, así como para realizar pruebas sobre este y su correspondiente documentación. También se trata de la aplicación de un enfoque sistemático y cuantificable del desarrollo y operaciones para el mantenimiento de un software.

2. ¿Qué son los procesos de Seguir leyendo “Fundamentos de la Ingeniería del Software: Procesos y Metodologías Clave” »

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” »

Introducción a la Programación Orientada a Objetos (POO)

Introducción a la Programación

Lenguajes de Programación

Lenguaje de máquina: Compuesto por cadenas binarias que especifican las operaciones y la posición de memoria. También conocido como código binario.

Inconvenientes:

  • Dificultad y lentitud en la codificación.
  • Poca fiabilidad.
  • Dificultad para verificar y poner a punto los programas.
  • Los programas solo se ejecutan en el mismo procesador.

Ventaja: Posibilidad de cargar un programa en memoria sin necesidad de traducción posterior.

Ensamblador

Indican Seguir leyendo “Introducción a la Programación Orientada a Objetos (POO)” »