Comienza Contenido

Necesidades y Desarrollo de Nuevas Funcionalidades

Este curso trabaja sobre aspectos generales del desarrollo software fijándose en el ciclo de vida de un producto software y la explicación breve de algunos conceptos de Ingeniería del Software. Lo más importante es entender los requisitos del sistema

Objetivos

  • Ver la necesidad de las tareas de Análisis y Diseño
  • Educar en el pensar antes de hacer para obtener productos de calidad
  • Comenzar a Programar

Clases

  1. Ingeniería del Software
    1. ¿Qué es? ¿Para qué sirve?
    2. Arquitectura Hardware: requisitos hardware
    3. Arquitectura Software (p.ej. Modelo de Tres Capas)
      1. Presentación (Diseño)
      2. Programación (Lógica del Negocio)
      3. Datos (Modelo de Datos)
    4. Arquitectura Usuarios: ¿quien? ¿cómo? ¿cuando? La formación
    5. Modelos de Ciclo de Vida: Secuencial, Prototipos y Espiral
    6. Licitaciones Públicas y Privadas (fase de oferta y/o comercial). Aspectos Comerciales.
    7. Ciclo de Vida
      1. Requisitos del Cliente: Toma de Contacto, Reuniones y Actas
      2. Análisis de qué quiere: Enunciado, Funcionalidades y Especificaciones
      3. Diseño del programa o alternativas: Diagramas y propuestas
      4. Programación e Implementación: planificación y seguimiento. Entorno de Desarrollo. Diagramas de Gantt y Recursos
      5. Puesta en Marcha y Documentación. Entorno de Producción
    8. Ciclo de Vida del Proyecto (secuencial): Análisis, Diseño, Implantación, Pruebas y Operación. En la práctica profesional este ciclo se repite varias veces
    9. Planificación y Programación: Estimaciones de Recursos y Plazos
  2. Herramientas de Análisis y Diseño
    1. Qué son y para qué sirven
    2. Definir Requisitos: Reuniones de Usuarios. Hacer Reuniones Eficientes.
    3. Diagramas de Flujo de Datos (Data Flow Diagram)
      1. Sirve para representar redes de procesos (sistemas)
      2. Componentes: Proceso (círculo), Flujo (flecha), Almacén (líneas paralelas) y Terminador (Cuadrado)
      3. Niveles: más o menos profundización en el detalle
    4. Diagramas de Flujo de Programa. Ordinogramas. (FlowChart)
    5. Interfaz de Usuario.
      1. Tipos
        1. Interfaces Hardware: dispositivos de Entrada y/o Interactivos
        2. Interfaces Software : Texto (Command Line Interface) y Gráficos GUI
      2. Mejorar la experiencia del usuario: Usabilidad
      3. Diseño de Formularios:
        1. Elementos: botón, botón radio, botón checkbox, lista desplegable, etc
        2. Eventos: al pulsar (onclick), al tener el foco (onblur), al soltar (onrelease), etc
    6. Herramientas Software para el Diseño
      1. Para dibujar: objetos y conectores. Uso de librerías de objetos
      2. Dibujar Bloques y Diagramas: Microsoft Visio, Dia, OpenOffice Draw
      3. Para formularios: Paper Prototyping (sobre papel)

Actividades Prácticas

  1. Hacer una oferta escrita
    1. Estimar cada parte del ciclo de vida. Describir.
    2. Criterios para obtener las necesidades del cliente
    3. Estimación de una oferta: recursos y plazos
    4. Planificar el Trabajo: usuarios, tiempo de desarrollo y división de tareas
  2. Herramientas de Análisis y Diseño
    1. Repaso de Ordinogramas: Matrícula en el Ciclo
    2. Utilizar bloques de dibujo, para separar el programa en bloques
    3. Utilizar diagramas de control de flujo
    4. Pasarlo a archivo digital: JPG o SVG
    5. Prototipos en Papel, de formularios: (Datos de Alumno y Datos de Matrícula)
  3. Manejo del Editor de Texto
    1. Soporte para: HTML, CSS, Lenguaje Escogido, SQL, Bash
    2. Plataformas: Linux y Windows
    3. Gestión de un Archivo de texto
      1. Instalación y Puesta en Marcha
      2. Gestión de varios archivos de texto en una sola consola
      3. Insertar texto (copiar/cortar/pegar)
      4. Realizar búsquedas y reemplazos
    4. Generación de un informe texto con el editor (pasar un archivo de word a texto)
    5. Gestión de programas con editor de texto
      1. Revisar si tiene soporte para el lenguaje escogido
      2. Revisar la personalización para el lenguaje: resaltado y control de sintaxis
      3. Revisar si puede trabajar con el lenguaje C
  4. Comenzar a Programar en un lenguaje nuevo
    1. Preparar Entorno de Desarrollo
    2. Hacer el Programa "Hola Mundo"
    3. Hacer un programa que: tome un dato de entrada (numérico) y que imprima en forma descendente y en líneas nuevas la cadena "Quedan ... X" donde X es el número. Cuando sea el número 1, l cadena tiene que decir: "Este es el último".

Duración del Curso

El esfuerzo estimado del curso es de 1 crédito ECTS. Unas 30 horas de dedicación.