Tipos de Software y sus Funciones

Software de Aplicación

El software de aplicación realiza tareas de procesamiento de información para el usuario final. Se divide en:

  • Programas de propósito general: Realizan tareas comunes de procesamiento de información para una amplia variedad de usuarios.
  • Programas de aplicación específica: Diseñados para realizar tareas específicas de un sector o usuario en particular.

Software de Sistemas

El software de sistemas gestiona y apoya las operaciones de los sistemas de computación en red. Se clasifica en:

  • Programas de gestión de sistemas: Administran el hardware, software, redes y recursos de datos de un sistema informático.
  • Programas de desarrollo de sistemas: Ayudan a los programadores a crear nuevos sistemas y aplicaciones.

Metodologías de Desarrollo de Software

Análisis y Diseño de Software

El análisis de software es un método de investigación del problema, que define qué debe hacer el sistema y cómo definir una solución. El diseño de software se centra en la solución lógica, es decir, cómo el sistema cumple los requisitos.

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

El análisis OO se enfoca en descubrir y describir los objetos o conceptos del dominio del problema. El diseño OO define los elementos de la lógica del software, que se implementará en un lenguaje de programación orientado a objetos.

Estrategias para la Complejidad del Software

Para abordar la complejidad de los proyectos de software, se utiliza la descomposición (división W/win), dividiendo el problema en unidades más manejables.

Herramientas CASE

Las herramientas CASE (Computer-Aided Software Engineering) automatizan las actividades de gestión de proyectos y asisten a los ingenieros en el análisis, diseño, codificación y prueba del software.

Definición del Proceso de Software

El proceso de software consiste en un conjunto de tareas necesarias para construir software de alta calidad. Proporciona estabilidad, control y organización. Los indicadores clave de eficacia de un proceso de software son la puntualidad y la viabilidad a largo plazo del producto de software. Según Sommerville, un proceso de software produce productos de software a partir de una serie de actividades y resultados asociados.

Conceptos Clave en el Desarrollo de Software

  1. Software de Sistemas: Programas que gestionan y ayudan a las operaciones de las computadoras.
  2. Software de Aplicación: Realiza tareas de procesamiento de la información para los usuarios finales.
  3. Sistema Operativo: Programa del sistema que administra las operaciones de la computadora.
  4. Herramientas CASE: Herramientas integradas de software que facilitan el desarrollo de aplicaciones.
  5. Software COTS: Commercial-Off-The-Shelf, software listo para su comercialización.
  6. Multitarea: Capacidad de realizar simultáneamente diferentes tareas de cómputo.
  7. HTML: Hypertext Markup Language, el lenguaje de marcas más común utilizado en la web.
  8. Traductor: Convierte instrucciones de alto nivel en instrucciones en lenguaje máquina.
  9. Programas de Utilidades: Realizan tareas de mantenimiento de equipos.
  10. Software de Aplicación con Funciones Específicas: Software creado internamente para uso por una organización o un grupo específico de usuarios.
  11. Navegador Web: Ayuda a navegar por la web.
  12. E-mail: Usa una computadora en red para enviar o recibir mensajes.
  13. Paquete de Hojas de Cálculo: Crea y muestra una hoja de cálculo para análisis.
  14. Software de Procesamiento de Textos: Permite crear y editar documentos.
  15. Gestor de Información Personal: Ayuda a controlar las citas y tareas.
  16. Lenguaje de Máquina: Instrucciones en forma de secuencias codificadas en ceros y unos.
  17. Lenguaje de Alto Nivel: Instrucciones en forma de frases cortas o notación matemática.
  18. Lenguaje Orientado a Objetos: Combina datos y las acciones a tomar sobre la base de los datos.
  19. Lenguaje Natural: Fácil de usar, similar a la lengua materna.
  20. Ambiente de Programación: Incluye editores, depuradores y generadores de código.
  21. XML: Extensible Markup Language, lenguaje de descripción de contenido para documentos web.
  22. Java: Popular lenguaje orientado a objetos para aplicaciones basadas en web.
  23. Servicios Web: Enlaces dentro de las funciones de las aplicaciones empresariales para el intercambio de datos entre empresas en la web.
  24. UML: Unified Modeling Language, una notación (principalmente diagramas) para modelar sistemas utilizando conceptos orientados a objetos.

Lenguaje de Modelado Unificado (UML)

UML es una familia de notaciones gráficas (principalmente diagramas) que ayuda en el modelado, la descripción y el diseño de sistemas de software, especialmente aquellos construidos con un estilo orientado a objetos.

Tipos de Diagramas UML

Diagramas Estructurales

  • Diagrama de Clases
  • Diagrama de Objetos
  • Diagrama de Componentes
  • Diagrama de Implementación
  • Diagrama de Paquetes

Diagramas de Comportamiento

  • Diagrama de Actividad
  • Diagrama de Casos de Uso
  • Diagramas de Interacción
    • Diagrama de Secuencia
    • Diagrama de Colaboración/Comunicación