Marzo del 2024
DIGITALIZANDO
EL FUTURO
Una mirada desde la creación de
nuevas herramientas.
EL SOFTWARE
Es un conjunto de programas,
instrucciones y datos que
permiten a una computadora
realizar tareas específicas.
Puede ser de varios tipos,
como sistemas operativos,
aplicaciones, herramientas de
programación, entre otros. El
software es una parte
fundamental en el
funcionamiento de cualquier
dispositivo informático.
TIPOS DE SOFTWARE
Software de programación: Son herramientas que se utilizan para
1. desarrollar otros programas, como compiladores, editores de
código e IDE (entornos de desarrollo integrado).
Software de gestión: Son programas que se utilizan para organizar
2. y almacenar información, como software de gestión de bases de
datos, sistemas de gestión de contenidos, etc.
Software de aplicación: Son programas diseñados para realizar
3. tareas específicas, como procesadores de texto, hojas de cálculo,
software de diseño gráfico, navegadores web, etc.
Software de sistema: Son programas que permiten que el hardware
4. y otros programas funcionen correctamente. Algunos ejemplos son
el sistema operativo, los controladores de dispositivos y los
sistemas de gestión de bases de datos.
VENTAJAS Y DESVENTAJAS
Definiciones
Software propietario Software libre
Software propietario VENTAJAS
VENTAJAS DESVENTAJAS
DESVENTAJAS
Es aquel cuyo código 1. Libertad para
1. Menor soporte
fuente es de 1. No se puede modificar y
técnico y tiempo
propiedad privada y 1. Suelen contar acceder al código adaptar el
de respuesta en
no puede ser con un soporte fuente, lo que software a las
comparación con
modificado, copiado técnico más limita las necesidades
el software
o distribuido sin la especializado y posibilidades de individuales.
personalización y propietario.
autorización del rápido. 2. Costo cero o
adaptación a las 2. Puede
titular de los 2. Tiene una muy bajo, lo que
necesidades presentar
derechos de autor mayor lo hace accesible
específicas del problemas de
consistencia en para una amplia
usuario. compatibilidad
la calidad del 2. Mayor costo, ya
variedad de
con otros
Software libre producto final. que en general usuarios.
programas o
3. Mayor este tipo de 3. Mayor
sistemas
seguridad, ya que software suele ser transparencia y
operativos.
Es aquel cuyo las más caro que el seguridad, ya que
3. Puede requerir
código fuente es actualizaciones software libre. al ser de código
3. Dependencia del un mayor
público y puede ser son abierto,
fabricante, lo que conocimiento
modificado, copiado responsabilidad cualquier
puede limitar la técnico por parte
y distribuido del fabricante. persona puede
libertad del del usuario para
libremente. revisarlo y
usuario en el caso su instalación y
de querer cambiar
detectar posibles
uso adecuado.
de proveedor. vulnerabilidades.
ETAPAS DEL DESARROLLO
DE SOFTWARE
Análisis Diseño
En esta etapa, se identifican los Una vez que se han recopilado
requisitos del software, es decir, los requisitos del software, se
las funciones que debe cumplir el procede al diseño de la
software, las necesidades de los arquitectura del software, es
usuarios y los objetivos que se decir, a la planificación de la
quieren alcanzar con él. Para estructura del software, las
llevar a cabo esta etapa, se interfaces de usuario, las bases
suelen realizar reuniones con los de datos, las conexiones entre
clientes y usuarios, así como la los diferentes módulos, etc. En
documentación de los requisitos esta etapa, también se definen
en un documento que servirá de los algoritmos y las estructuras
guía para el resto del proceso de de datos que se emplearán en el
desarrollo. desarrollo del software.
Implementación Pruebas:
En esta etapa, se procede a la Una vez que el software ha sido
codificación del software, es implementado, se procede a las
decir, a la escritura del código pruebas del software para
fuente del software en el garantizar que cumple con los
lenguaje de programación requisitos especificados en la
elegido. Durante esta etapa, se etapa de análisis. Durante esta
deben seguir las buenas etapa, se realizan pruebas
prácticas de programación y se funcionales, de rendimiento, de
pueden emplear herramientas seguridad, etc., con el fin de
de desarrollo que faciliten la detectar posibles errores y
codificación del software. corregirlos antes de que el
software sea puesto en
producción.
Mantenimiento
Una vez que el software ha sido
implementado y puesto en
producción, es necesario realizar
tareas de mantenimiento para
corregir posibles errores, actualizar
el software, añadir nuevas
funcionalidades, etc. El
mantenimiento del software es una
etapa importante, ya que permite
que el software se adapte a las
necesidades cambiantes de los
usuarios y del entorno en el que se
encuentra.
METODOLOGÍAS DE DESARROLLO DE SOFTWARE
SCRUM Cascada Modelo en Kanban Lean
Es una metodología La metodología en
espiral:
ágil de desarrollo de cascada es un enfoque Kanban es una La metodología
software que se basa tradicional y lineal de El modelo en espiral metodología ágil que Lean se centra en
en la iteración y la desarrollo de software combina elementos se basa en el uso de la eliminación de
colaboración de en el que cada fase del de la metodología en tableros visuales desperdicios y la
equipos auto- proyecto se completa cascada con el para gestionar el optimización de
organizados. En antes de pasar a la enfoque iterativo de flujo de trabajo. En procesos para
SCRUM, los siguiente. Las fases las metodologías Kanban, las tareas se maximizar el valor
proyectos se dividen típicas incluyen ágiles. En este dividen en tarjetas para el cliente. En
en sprints cortos análisis, diseño, modelo, el proyecto que se mueven a el desarrollo de
(generalmente de 2 a implementación, se divide en través de diferentes software, Lean se
4 semanas) y se pruebas y pequeñas etapas del proceso enfoca en la
priorizan las tareas mantenimiento. iteraciones que se de desarrollo, desde entrega rápida y
en función de su Aunque la van repitiendo en un el inicio hasta la continua de
valor para el metodología en ciclo continuo. El finalización. Este funcionalidades,
negocio. Los equipos cascada es fácil de modelo en espiral es enfoque ayuda a la mejora
se reúnen entender y seguir, útil para proyectos identificar cuellos de continua y la
regularmente para puede ser inflexible y complejos y de largo botella y a mejorar la reducción de los
revisar el progreso, no permite cambios plazo, ya que permite eficiencia del equipo. tiempos de
adaptar el plan y una vez que se ha la incorporación de espera.
planificar el completado una fase. nuevos requisitos y
siguiente sprint. cambios a lo largo
del tiempo.
HERRAMIENTAS Y
TECNOLOGÍAS UTILIZADAS
EN EL DESARROLLO DE
SOFTWARE
IDEs (Entornos de Lenguajes de
Desarrollo Integrados) programación:
Herramientas que El lenguaje en el que se
permiten a los escribe el código del
programadores escribir, software. Algunos
depurar y ejecutar código lenguajes populares
de manera más eficiente. incluyen Java, Python,
Algunos IDEs populares JavaScript, C++, C# y
son Visual Studio Code, Ruby.
IntelliJ IDEA, Eclipse y
Xcode.
Bases de datos Frameworks
sistemas de Conjuntos de librerías y
almacenamiento de datos herramientas que facilitan
que permiten a las el desarrollo de
aplicaciones acceder y aplicaciones en un
gestionar la información determinado lenguaje de
de manera eficiente. programación. Algunos
Algunas bases de datos ejemplos son Spring
comunes son MySQL, (Java), Django (Python),
PostgreSQL, MongoDB y Angular (JavaScript) y
SQLite. Laravel (PHP).
Control de versiones CI/CD (Integración
Continua/Despliegue
Sistemas que permiten a Continuo
los desarrolladores
rastrear y gestionar los
cambios en el código Herramientas practica que
fuente a lo largo del automatizan la
tiempo. Git es el control de compilación, pruebas y
versiones más utilizado en despliegue de aplicaciones
la actualidad. de software. Jenkins,
GitLab CI y Travis CI son
ejemplos de herramientas
CI/CD.
Contenedores Servicios en la nube
Teccnología que permite Plataformas que permiten
empaquetar y desplegar a los desarrolladores
aplicaciones y sus alojar, gestionar y escalar
dependencias de forma aplicaciones en servidores
más rápida y eficiente. remotos. Algunos
Docker es el contenedor proveedores de servicios
más popular en la en la nube son Amazon
actualidad. Web Services (AWS),
Microsoft Azure y Google
Cloud Platform.
LA SEGURIDAD INFORMÁTICA
La seguridad informática en el desarrollo de software es crucial para
proteger los datos sensibles de los usuarios, garantizar la integridad
y disponibilidad de la información, así como mantener la confianza
de los clientes en la empresa. Además, un software seguro ayuda a
cumplir con normativas y regulaciones de protección de datos,
evitando posibles sanciones y pérdida de reputación.
En el proceso de desarrollo de software, es importante incorporar
medidas de seguridad desde el inicio del proyecto para evitar
posibles vulnerabilidades que puedan ser explotadas por
ciberdelincuentes. Esto implica realizar pruebas de seguridad en
cada etapa del desarrollo, implementar buenas prácticas de
codificación segura, utilizar herramientas de análisis estático y
dinámico, entre otras medidas preventivas.
EL IMPACTO DEL
SOFTWARE EN 3 ÁREAS
IMPORTANTES
EDUCACIÓN
El software educativo ha revolucionado la forma en que se
imparte y se recibe la enseñanza. Ha facilitado el acceso a
la información y el conocimiento, permitiendo a los
estudiantes aprender de manera interactiva y
personalizada. Además, ha mejorado la comunicación
entre profesores y alumnos, facilitando la colaboración y
el aprendizaje a distancia.
SALUD
En el sector de la salud, el software ha contribuido a mejorar
la eficiencia y la precisión en el diagnóstico y tratamiento de
enfermedades. Los sistemas de gestión de registros médicos
electrónicos permiten a los profesionales de la salud acceder
a la información de los pacientes de forma rápida y segura,
mejorando la calidad de la atención. Asimismo, el uso de
software en dispositivos médicos y aplicaciones de
telemedicina ha facilitado el monitoreo y seguimiento de la
salud de los pacientes.
INDUSTRIAL
En el ámbito industrial, el software ha optimizado
los procesos de producción y ha permitido la
automatización de tareas repetitivas. Los sistemas
de gestión empresarial (ERP) y de planificación de
recursos (MRP) han facilitado la administración de
los recursos y han mejorado la toma de decisiones.
Además, el uso de software de diseño asistido por
computadora (CAD) y de fabricación asistida por
computadora (CAM) ha permitido el diseño y la
producción de productos más eficientes y
rentables.
3 EJEMPLOS DE SOFWARE
EXITOSOS
MICROSOFT OFFICE
Este paquete de software de productividad incluye
programas como Word, Excel y PowerPoint, que se utilizan en
todo el mundo para realizar tareas de oficina, crear
presentaciones y analizar datos. Microsoft Office ha tenido
un gran impacto en la sociedad al facilitar la colaboración en
el trabajo, mejorar la eficiencia y permitir a las personas
comunicarse de manera más efectiva.
FACEBOOK
Esta red social ha revolucionado la forma en que las
personas se comunican y comparten información en línea.
Facebook ha tenido un impacto significativo en la sociedad
al permitir a las personas conectarse con amigos y
familiares, compartir noticias y eventos importantes, y crear
comunidades en línea.
NETFLIX
Esta plataforma de streaming de video ha cambiado la forma
en que las personas consumen contenido audiovisual,
permitiéndoles ver películas y series de televisión en
cualquier momento y en cualquier lugar. Netflix ha tenido un
impacto importante en la sociedad al transformar la
industria del entretenimiento y ofrecer a los espectadores
una mayor variedad de opciones de programación.
¡GRACIAS POR
TU ATENCIÓN!