1. Proceso para el desarrollo de un proyecto de software
1.1. analisis
1.1.1. comprender las necesidades del cliente, identificar la idea principal e identificar el objetivo del proyecto
1.2. diseño
1.2.1. creacion de la arquitectura del software, definiendo las caracteristicas, especificaciones y se crea el diseño de las interfases de usuario
1.3. codificacion
1.3.1. basandonos en las interfases de diseño, se procede a escribir el codigo fuente utilizando lenguajes de programacion.
1.4. prueba
1.4.1. identificar cualquier falencia, ver que el software cumpla con los requerimientos asignados y verificando su funcionalidad
1.5. mantenimiento
1.5.1. el software requiere continuo mantenimiento para poder solucionar errores, actualizaciones y mejoras a tiempo.
1.5.1.1. mantenimiento correctivo( solucionar errores)
1.5.1.2. mantenimiento adaptativo(ajustarse a cambios y mejoras externas)
1.5.1.3. mantenimiento perfectivo(perfecionar las funcionalidades)
1.6. evaluacion y mejora del proceso
1.6.1. se analiza el cumplimiento de los objetivos, la calidad con la que trabaja el software y su eficiencia a la hora de ponerlo a prueba.
2. Lenguajes de programacion con POO
2.1. java
2.1.1. facilita la escritura y lectura de cdigo
2.1.2. cuenta con una ejecucion en cualquier tipo de sistema operativo.
2.1.3. verifica los tipos de datos en tiempo de compilacion.
2.1.4. utiliza un recolector de basura para liberar memoria no utlizada.
2.1.4.1. FUNCIONALIDADES
2.1.4.1.1. Crea jerarquias de clases y reutiliza el codigo
2.1.4.1.2. proporciona estructura de datos como listas, conjuntos y mapas
2.1.4.1.3. creacion de clases y objetos para modelar el mundo real
2.1.4.1.4. verificacion de bytecode
2.1.5. Con lenguaje POO facilita la creacion de modular y reutilizable
2.1.6. Biblioteca estandar amplia lo que acelera el desarrollo de aplicaciones
2.1.7. gracias a su multihilo permite la ejecucion de multiples tareas simultaneamente
2.2. Python
2.2.1. amplia biblioteca estandar
2.2.2. No se necesita declarar tipos de variables.
2.2.3. Se destaca por su minimalismo y legibilidad
2.2.3.1. FUNCIONALIDADES
2.2.3.1.1. Permite definir clases y crear objetos
2.2.3.1.2. evalua los metodos y atributos disponibles en tiempo de ejecucion
2.2.3.1.3. admite herencia y polimorfismo
2.2.3.1.4. nos permite modificar o extender funciones y metodos
2.2.4. interpretado y multiplataforma
2.2.5. compatible con sistemas operativos como Window, maCOS y Linux
2.3. C#(C Sharp)
2.3.1. C# es parte de .NET
2.3.2. orientada a objetos
2.3.3. interactua con otros lenguajes de programacion.
2.3.4. tipado estatico
2.3.4.1. FUNCIONALIDADES
2.3.4.1.1. igual que otros lenguajes de programacion se basa en clases y objetos
2.3.4.1.2. facilita la encapsulacion y la notificacion de cambios en el codigo.
2.3.4.1.3. permite consultas sobre colecciones de datos.
2.3.4.1.4. utiliza ASP.NET para desarrollo web
2.3.5. amplia comunidad y de recursos
2.3.6. multiplataforma
2.3.7. Combina POO con componentes reutilizables
2.4. Ruby
2.4.1. la sintaxis es elegante, expresiva, legible y simple.
2.4.2. modifica su estructura en tiempo de su ejecucion.
2.4.3. dinamico y muy flexible
2.4.3.1. FUNCIONALIDADES
2.4.3.1.1. puramente orientada a objetos
2.4.3.1.2. framework para desarrollo web
2.4.3.1.3. comparte funcionalidad entre clases sin herencia directa
2.4.3.1.4. Marco Ruby on Rails facilita el desarrollo de aplicaciones web robustas y escalables.
2.4.3.1.5. lenguaje con codigo abierto
2.4.4. orientado a objetos
2.4.5. permite la descarga y ejecucion de diferentes sistemas operativos.
2.4.6. amplia gama de bibliotecas y framework disponibles como Ruby on Rails.