Instalacion y uso Flashcards
Tipos de software
Sistema operativo, Software de programación, Aplicaciones
¿Que es el Sistema operativo?
Programa basico que funciona de interfaz para funcionamiento resto de software
¿Que es el Software de programación?
Conjunto de herramientas que nos permiten desarrollar aplicaciones
¿Qué son las Aplicaciones?
Conjunto de programas con una finalidad concreta
¿Qué es el Desarrollo de Software?
Proceso desde que se concibe la idea de un programa hasta que se implementa y funciona
¿Qué es el Ciclo de Vida del Software?
Las fases típicas del desarrollo de un software
¿Qué es el Modelo en cascada?
Modelo de desarrollo. Salto de una etapa a otra sin vuelta atras. Requiere conocer de antemano todos los requisitos.
¿Que es el Modelo en cascada con retroalimentación?
Modelo de desarrollo. Retroalimentacion entre etapas. Para proyecto rigido con requisitos claros
¿Que son los Modelos evolutivos?
Modelos de desarrollo. Tienen en cuenta la naturaleza cambiante del software
¿Que es el Modelo Iterativo Incremental?
Modelo de desarrollo evolutivo. Fases se repiten, refinan y mejoran
¿Que es el Modelo Espiral?
Modelo de desarrollo evolutivo. Software se va construyendo con diferentes versiones, incrementando funcionalidad cada vez
¿Que son las Herramientas CASE?
Conjunto de aplicaciones con el objetivo de reducir costes y tiempo del proceso, mejorando por tanto la productividad
Clasificacion de Herramientas CASE según fase del ciclo de vida
U-CASE: Planificación y análisis de requisitos.
M-CASE: Análisis y diseño.
L-CASE: Programación del software, detección de errores del código, depuración de programas y pruebas, y generación de la documentación
¿Que es RAD (desarrollo rapido de aplicaciones)?
Proceso de desarrollo de software que comprende desarrollo iterativo, construcción de prototipos y uso de utilidades CASE
¿Que es un Lenguaje de Programacion?
Idioma artificial, formado por un conjunto de símbolos y normas para obtener un código que el hardware de la computadora pueda entender y ejecutar
Tipos de Lenguajes de Programación según su nivel
Lenguaje máquina, Lenguaje ensamblador, Lenguaje alto nivel, Lenguaje visual
Codificación del Lenguaje máquina
Binario
Codificación del Lenguaje ensamblador
Mnemotécnicos
Codificación del Lenguaje alto nivel
Sentencias y ordenes
Codificacion del Lenguaje visual
Interfaz visual
Composicion estructural logica de un Lenguaje de Programacion
Alfabeto: Conjunto de símbolos permitidos
Sintaxis: Normas de construcción de simbolos permitidas
Semantica: Significados validos de las construcciones
Tipos de lenguaje de programación segun tecnica de programacion
Estructurados, Orientados a Objetos, Visuales
¿Cómo funcionan los Lenguajes de programacion estructurados?
Conjunto ordenado de instrucciones
¿Cómo funcionan los Lenguajes de programacion orientados a objetos?
Objetos que colaboran entre si
Fases del desarrollo de software
Analisis de requisitos, Diseño, Codificacion, Pruebas, Documentacion, Explotacion, Mantenimiento
Fase de Analisis de Requisitos
Se especifican los requisitos funcionales y no funcionales del sistema. Documento ERS.
Fase de Diseño
Se divide el sistema en partes y se determina la función de cada una
Fase de Codificacion
Se elige un Lenguaje de Programación y se codifican los programas
Fase de Pruebas
Se prueban los programas para detectar errores y se depuran
Fase de Documentacion
De todas las etapas, se documenta y guarda toda la información
Fase de Explotacion
Instalamos, configuramos y probamos la aplicación en los equipos del cliente
Fase de Mantenimiento
Se mantiene el contacto con el cliente para actualizar y modificar la aplicación el futuro
¿Que es el Codigo fuente?
El codigo escrito por los programadores en un lenguaje de programacion de alto nivel
¿Que es el Codigo objeto?
Codigo binario generado tras compilacion de codigo fuente
¿Que es el Codigo ejecutable?
Codigo binario resultante de enlazar los archivos de código objeto con ciertas rutinas y bibliotecas necesarias
¿Que es una Maquina virtual?
Software que separa el funcionamiento del ordenador de los componentes hardware instalados
Ventajas de una Maquina virtual
Desarrollar y ejecutar una aplicacion sobre cualquier equipo. Portabilidad, gestion de memoria, cumplimiento de seguridad, hardware virtual
¿Que es un Framework?
Estructura de ayuda al programador para desarrollar proyectos sin partir de cero
¿Que es un Entorno de ejecucion?
Servicio de maquina virtual, base software para ejecucion de programas. Maquina virtual + APIs
¿Que es el Java runtime environment (JRE)?
Conjunto de utilidades que permitirá la ejecución de programas java sobre cualquier tipo de plataforma
¿Cómo está compuesto Java runtime enviroment (JRE)?
VM - Maquina virtual de Java + API de Java - Bibliotecas de clase estandar
Tipos de pruebas en desarrollo de aplicaciones y descripción
Pruebas unitarias: Probar una a una diferentes partes del software.
Pruebas de integracion: Probar funcionamiento de sistema completo.
¿Que es un Beta test?
Periodo de prueba de una aplicación en el entorno del cliente
¿Para que sirve la Documentacion?
Dar informacion a usuarios. Futuras revisiones del proyecto.
Tipos de Documentacion y descripcion
Guía técnica: Para personal tecnico. Correcto desarrollo, corrección y mantenimiento.
Guía de uso: Para usuarios. Información necesaria para usar aplicación.
Guía de instalación: Para usuarios. Información para garantizar implementación.
Tipos de Mantenimiento de software y descripcion
Correctivos: Solucionar errores
Perfectivo: Mejorar funcionalidad del software
Adaptativos: Modificaciones, actualizaciones
Evolutivos: Nuevas necesidades
¿Cómo está compuesto un IDE?
Editor de codigo Compilador y/o interprete Depurador Generación automática de herramientas Interfaz Grafica
Funciones de un IDE
Escribir código Compilar y depurar código Ensamblar componentes Desplegar aplicaciones Dar soporte a varios lenguajes
¿Que es un modulo?
Software que contiene clases de Java que pueden interactuar con las APIs del entorno de desarrollo
¿Que son las Metodologías ágiles?
Metodologias que permiten adaptar la forma de trabajo a las condiciones del proyecto, consiguiendo flexibilidad e inmediatez en la respuesta
Ventajas de las metodologias agiles
Rentabilizar inversiones
Ahorrar tiempo y costes
Mayor velocidad y eficiencia
Mejora de la motivación e implicación del equipo de desarrollo
Alertar de forma rápida tanto de errores o problemas
Mejorar la calidad del producto
Eliminar cualquier característica innecesaria del producto
Mejoran la satisfacción del cliente
Metodologia agil XP
Potenciar relaciones personales Fases: Planificación del proyecto con el cliente Diseño del proyecto Codificación por parejas Pruebas sobre el codigo
Metodologia agil Scrum
Diseño Incremental
Reuniones regulares clave.
Sprint: Entregas regulares.
Metodología agil Kanban
Tres columnas de tareas: Pendientes, En proceso, Terminadas.
Planificación de tareas, mejor trabajo en equipo, métricas visuales, plazos continuos
Metodologia agil Agile Interception
Objetivos generales, clarificar cuestiones, intervenciones de menos de 5min
Metodologia agil Design Sprint
5 días para planear diseño, prototipado, testeo.
Planear en sprints, lanzar prototipo cuanto antes