![Servicios de Red e Internet](http://jamj2000.github.io/entornosdesarrollo/entornosdesarrollo.png)
[![cc-by-sa](http://jamj2000.github.io/entornosdesarrollo/cc-by-sa.png)](http://creativecommons.org/licenses/by-sa/4.0/)
IES Luis Vélez de Guevara - Écija - Spain
# Índice
#### [Apuntes](#apuntes)
#### [Introducción](#introduccion)
#### [Ciclo de vida del sofware](#ciclovida)
#### [Lenguajes de programación](#lenguajes)
#[Apuntes](#indice)
1. Elabora los apuntes de esta Unidad y guárdalos en GitHub en un repositorio llamado 'Apuntes_ED'.
#[Introducción](#indice)
1. Haz una clasificación del software.
1. Describe la relación que existe entre los componentes hardware principales de un computador y el almacenamiento y ejecución del software.
1. Define los siguientes conceptos:
- Código fuente.
- Código objeto.
- Codigo ejecutable.
#[Ciclo de vida del sofware](#indice)
1. Define "Ciclo de vida del software".
1. Nombra las fases principales del desarrollo de software y explica brevemente que se hace en cada una de ellas.
1. Explica brevemente en qué consiste el modelo en cascada cuando hablamos de desarrollo de software.
1. Ventajas e inconvenientes del modelo en cascada.
1. ¿Qué se entiende por verificación? ¿Y por validación?
1. Explica como funciona el modelo de desarrollo mediante creación de prototipos.
1. Explica como funciona el modelo espiral cuando se aplica al desarrollo orientado a objetos.
1. ¿Qué cuatro principios rigen el desarrollo ágil expresados en el Manifiesto Ágil?
1. ¿Qué es una __historia de usuario__? Consulta el siguiente enlace:
- https://es.wikipedia.org/wiki/Historias_de_usuario
1. Haz un resumen sobre que se entiende por __Lean software__ y qué principios lo rigen. Consulta el siguiente enlace:
- https://es.wikipedia.org/wiki/Lean_software_development
1. KANBAN. Estudia las ventajas e inconvenientes de tener una pizarra web digital para la metodología Kanban.
Puedes consultar los siguientes enlaces:
- https://leankit.com/learn/kanban/kanban-board/
- https://trello.com/es
- https://taiga.io/
- https://kanbantool.com/es/
1. KANBAN. Haz un resumen de la metodología Kanban e indica sus diferencias frente a SCRUM. Puedes consultar el siguiente enlace:
- https://es.atlassian.com/agile/kanban
1. SCRUM. Explica como funciona Scrum. Consulta los siguientes enlaces:
- https://proyectosagiles.org/que-es-scrum/
- https://proyectosagiles.org/como-funciona-scrum/
1. SCRUM. Define los siguientes términos:
- Product backlog.
- Sprint backlog.
1. SCRUM. En la terminología Scrum qué terminos se utilizan como sinónimo de:
- Jefe de proyecto.
- Cliente.
- Equipo de desarrollo.
1. SCRUM. Haz un resumen de los requisitos para poder utilizar Scrum. Consulta el siguiente enlace:
- https://proyectosagiles.org/requisitos-de-scrum/
1. XP. Explica los 5 valores de la Programación Extrema.
1. XP. ¿Cuáles son las características distintivas de XP frente a otras metodologías ágiles? Explícalas. Puedes consultar el siguiente enlace:
- http://www.davidvalverde.com/blog/introduccion-a-la-programacion-extrema-xp/
#[Lenguajes de programación](#indice)
1. ¿Qué diferencia existe entre los lenguajes declarativos y los imperativos?. Nombra al menos 2 de cada tipo.
1. ¿Explica qué es compilar? ¿Explica qué es interpretar?
1. Ventajas de los lenguajes compilados.
1. Ventajas de los lenguajes interpretados.
1. Nombra 2 lenguajes compilados y otros 2 interpretados.
1. ¿Puede considerarse código objeto el __bytecode__ generado en Java tras la compilación? Explica la respuesta.
1. Pon un ejemplo de lenguaje de los siguientes tipos:
- Bajo nivel.
- Nivel medio.
- Alto nivel.
1. ¿Qué paradigma de programación siguen los siguientes lenguajes?
- C
- C++
- SQL
- Java
- Javascript
- Lisp
- Prolog
Puedes consultar el siguiente enlace:
- https://es.wikipedia.org/wiki/Paradigma_de_programaci%C3%B3n
1. Explica qué criterios pueden seguirse a la hora de elegir un lenguade de programación para el desarrollo software.