Workshop-Desarrollo de Software (JuanJoseTovarFlorez)
Workshop-Desarrollo de Software (JuanJoseTovarFlorez)
Workshop-Desarrollo de Software (JuanJoseTovarFlorez)
Por:
Garzón
Diciembre 14 de 2023
2
Por:
Instructor
Garzón
Diciembre 14 de 2023
3
Tabla de contenido
Contenido
Introducción................................................................................................................................9
Temas........................................................................................................................................10
1. Sistemas de información...................................................................................................10
3. Datos e Información..........................................................................................................14
5. Metodologías de Desarrollo..............................................................................................18
5.1 definicion....................................................................................................................18
6. Programación....................................................................................................................20
6.1 Definición....................................................................................................................20
7. Front-end...........................................................................................................................24
8. Back-end...........................................................................................................................25
9. Aplicaciones Moviles........................................................................................................26
13.1 Definicion..................................................................................................................30
13.2 Tecnicas.....................................................................................................................31
15.1 Definición..................................................................................................................33
15.4 Importancia...............................................................................................................34
16.1 Definicion..................................................................................................................35
17.1 Definicion..................................................................................................................37
17.4 Aplicaciones..............................................................................................................39
Conclusión................................................................................................................................41
Bibliografía...............................................................................................................................42
8
Introducción
esta disciplina en constante evolución. Cada faceta, desde la arquitectura de sistemas hasta las
intricadas fases del ciclo de vida del software, desempeña un papel crucial en la creación y
de estas dimensiones con minuciosidad, proporcionando una visión integral del desarrollo de
software.
en la esfera más contemporánea con un análisis de las aplicaciones web y el impacto de las
aspectos que se relacionan unos con otros, todo esto para desarrollar de una manera más eficiente
y eficaz del código. Este escrito lo ayudara a usted a tener una visión más clara y comprensible
buscando ofrecer una perspectiva que no solo informe, sino que también guíe a profesionales y
entusiastas del desarrollo de software. Cada página se erige como una exploración resumida,
9
Temas
1. Sistemas de información
1.1 Definición de Sistema de Información.
recopilan, procesan, almacenan y distribuyen datos para facilitar la toma de decisiones, el control
entidad.
(Laudon, 2016)
(O'Brien, 2010)
de datos precisos y oportunos, permitiendo que los tomadores de decisiones fundamenten sus
(Laudon, 2016)
11
La Teoría General de Sistemas (TGS) fue propuesta por Ludwig von Bertalanffy y se define
como un enfoque interdisciplinario que busca describir, analizar y modelar sistemas en términos
de interrelaciones y procesos.
Entradas, insumos o inputs. Que son aquellos procesos que incorporan información,
Medio ambiente. Todo lo que rodea al sistema y existe fuera de él, lo cual a su vez
elementos en distintos niveles o estratos, donde cada nivel es un sistema en sí mismo. Esto
incluye:
Sistema:
Subsistema:
Supersistema:
interconectados.
sistema integrado.
(Bertalanffy, 1968)
3. Datos e Información
3.1 Definición de Datos e Información
Los datos son hechos crudos y sin procesar, mientras que la información es el resultado de
organizar, interpretar y dar sentido a esos datos. Esta distinción es clave en el campo de la
de datos crudos para proporcionar significado y contexto. Este proceso generalmente incluye:
comprensión.
temporal.
5. Consistencia: La coherencia de los datos dentro del sistema y con otras fuentes.
informes y análisis.
Salud: Asegura registros precisos del paciente y facilita la toma de decisiones clínicas
informadas.
servicios.
(Redman, 1996)
El ciclo de vida del software se refiere al proceso que sigue un programa desde su concepción
Existen varios modelos de ciclo de vida del software, cada uno con sus propias características
anterior.
ciclo.
y desarrollo rápido.
16
funcionalidad.
adaptabilidad a cambios.
funcionamiento.
Estas fases pueden variar según el modelo de ciclo de vida específico que se utilice, ya que
algunos modelos introducen iteraciones y enfoques más flexibles. La comprensión de estas fases
6. Soporte Técnico: Proporciona asistencia técnica continua para los usuarios y asegura
(Pressman, 2014)
5. Metodologías de Desarrollo
5.1 Definición.
1. Metodología Ágil:
adaptabilidad a cambios.
3. Modelo en Espiral:
- Características: Relaciona las fases de desarrollo con sus correspondientes fases de prueba.
6. Modelo Incremental:
(GPT-3.5, 2022)
6. Programación
6.1 Definición
computadora cómo realizar una tarea específica. Estas instrucciones, escritas en un lenguaje de
programación, forman un programa que puede ser ejecutado por un ordenador para realizar
1. Java:
2. Python:
3. C++:
juegos.
4. JavaScript:
1. Programación Imperativa:
- Se centra en indicar "cómo" realizar una tarea mediante una secuencia de declaraciones y
cambios de estado.
- Ejemplos: C, Fortran
3. Programación Funcional:
datos.
21
4. Programación Lógica:
- Ejemplos: Prolog.
- Ejemplos: JavaScript.
6. Programación Declarativa:
- Ejemplos: SQL.
problemas de programación.
El ciclo de desarrollo, también conocido como ciclo de vida del desarrollo de software,
describe las fases que sigue un proyecto de software desde la concepción hasta su despliegue y
1. Concepción:
2. Planificación:
22
3. Diseño:
4. Implementación:
5. Pruebas:
6. Despliegue:
7. Mantenimiento:
funcionalidades.
constante.
valor al cliente.
Metodologías ágiles populares incluyen Scrum y Kanban. Esta aproximación busca mejorar la
(Beck, 2001)
7. Front-end
7.1 Definición del Desarrollo Frontend.
aplicación o sitio web. Involucra la implementación de tecnologías clave como HTML, CSS y
JavaScript para proporcionar una experiencia visualmente atractiva e interactiva a los usuarios
finales.
8. Back-end
8.1 Definición del Desarrollo Backend.
base de datos. Este componente esencial de la ingeniería de software asegura que las
final.
Lenguajes comunes como Java, Python, PHP y Ruby. Frameworks backend como Django
MongoDB.
(GPT-3.5, 2022)
9. Aplicaciones Móviles
9.1 Definición del Desarrollo de Aplicaciones Móviles.
para ejecutarse en dispositivos móviles como smartphones y tabletas. Estas aplicaciones abarcan
una amplia variedad de funciones, desde juegos y redes sociales hasta herramientas
empresariales y de productividad.
Desarrollo nativo para iOS y Android, frameworks multiplataforma como React Native y
pantalla y orientaciones, navegación intuitiva y eficiente para la mejor experiencia del usuario.
26
dispositivos con recursos limitados, pruebas exhaustivas para identificar y solucionar posibles
vulnerabilidades.
aumentada y 5G.
(Wikipedia, 2023)
los recursos del sistema. Estas aplicaciones abarcan desde herramientas de productividad hasta
Lenguajes como Java, C#, y frameworks como Electrón para desarrollo multiplataforma.
Herramientas de desarrollo como Visual Studio y Eclipse son fundamentales en este proceso.
27
El diseño de la interfaz de usuario (UI) es clave, adaptándose a las convenciones del sistema
entornos de escritorio.
efectivo.
Aprovechar las capacidades del hardware local, como el acceso a archivos y periféricos, es
una característica distintiva. La integración con software local también es crucial para la
funcionalidad fluida.
(Bertalanffy, 1968)
navegadores web. Estas aplicaciones pueden abarcar desde plataformas de comercio electrónico
El desarrollo web utiliza tecnologías como HTML, CSS y JavaScript. Frameworks como
React, Angular y Vue.js son comunes, mientras que el backend puede ser desarrollado con
experiencia del usuario (UX) se centra en la interactividad y la respuesta rápida en entornos web.
(GPT-3.5, 2022)
documentación y gestión de los requisitos del sistema. Estos requisitos actúan como la base para
el diseño y desarrollo de software, asegurando que el producto final cumpla con las necesidades
técnicas. La documentación precisa y detallada garantiza una comprensión clara de los requisitos
La validación asegura que los requisitos capturados representen de manera precisa las
necesidades del usuario, mientras que la verificación confirma que estos requisitos son
Uso de herramientas como casos de uso, diagramas de clases y prototipos para visualizar y
comprender los requisitos. Métodos ágiles también se aplican para adaptarse a cambios en los
La ingeniería de requisitos es fundamental en todas las etapas del ciclo de vida del software.
(Bertalanffy, 1968)
estudio o análisis. Estas técnicas son fundamentales para obtener datos de manera sistemática y
confiable.
13.2 Técnicas.
1. Entrevistas.
Las entrevistas son una técnica directa donde el analista interactúa con stakeholders clave para
obtener información detallada sobre requerimientos. Este método permite aclarar dudas y obtener
perspectivas valiosas.
2. Observación.
técnica proporciona información real sobre cómo se llevan a cabo las tareas y cómo interactúan
3. Cuestionarios y Encuestas.
más amplio de personas de manera eficiente. Es útil para obtener datos cuantitativos y evaluar
tendencias.
4. Talleres de Trabajo.
Los talleres implican sesiones interactivas con stakeholders donde se fomenta la discusión y el
conflictos.
5. Prototipado.
31
La creación de prototipos proporciona una representación visual temprana del sistema. Los
usuarios pueden interactuar con el prototipo, lo que ayuda a identificar y refinar requisitos de
manera iterativa.
Una historia de usuario es una técnica ágil que describe una funcionalidad del software desde
la perspectiva del usuario final. Generalmente se presenta en forma de breve narrativa para
Las historias de usuario se crean en colaboración con el equipo y los stakeholders. Se refinan
Las historias de usuario son una parte integral de metodologías ágiles como Scrum y Kanban.
Se utilizan para estructurar el trabajo y asegurar que las nuevas funcionalidades satisfagan las
establecer una base clara y comprensible para el diseño y desarrollo, proporcionando una guía
1. Requisitos Funcionales.
- Describen las funciones y capacidades específicas que debe tener el sistema. Ejemplos
2. Requisitos No Funcionales.
3. Requisitos de Usuario.
4. Requisitos Técnicos.
1. Elicitación de Requisitos.
otras técnicas.
2. Análisis y Documentación.
3. Validación.
- Confirmación de que los requisitos reflejan con precisión las necesidades y expectativas
del usuario.
4. Aprobación.
desarrollo.
15.4 Importancia.
(GPT-3.5, 2022)
34
Sistemas, incluyen:
sistema.
3. Jerarquía: Organizar los elementos del sistema en niveles jerárquicos, desde subsistemas
de ajustes internos.
enfrentando.
problema.
eficiencia.
consideraciones.
sea necesario.
36
Este enfoque se puede aplicar en diversos contextos, desde problemas cotidianos hasta
(Bertalanffy, 1968)
mejorar los procesos internos de una empresa para lograr eficiencia y eficacia en la consecución
procesos considera la secuencia de actividades que agregan valor para el cliente y busca
2. Establecimiento de Objetivos.
- Definición de metas específicas para cada proceso que contribuyan a los objetivos
organizacionales.
3. Medición y Evaluación.
37
los procesos.
4. Mejora Continua.
constante.
5. Enfoque en el Cliente:
2. Mapas de Procesos.
estratégicas.
8. Matriz RACI:
17.4 Aplicaciones
1. Industria Manufacturera.
y reducir costos.
2. Servicios Financieros.
3. Sector de la Salud.
39
4. Telecomunicaciones.
5. Sector Público.
6. Educación.
7. Sector Minorista.
8. Desarrollo de Software.
términos de eficiencia operativa, calidad del producto o servicio y satisfacción del cliente.
(Polya, 2004)
40
Conclusión
En conclusión, hemos explorado una variedad de temas relacionados con el mundo del
importancia de una planificación efectiva, mientras que la calidad y la mejora continua son
de escritorio y móviles resalta la diversidad de plataformas, cada una con sus desafíos y ventajas.
esenciales para el éxito en este campo. A medida que avanzamos, la comprensión integral de
estos conceptos nos proporciona las herramientas necesarias para enfrentar los desafíos y
Bibliografía
Pearson Educación.
Redman, T. C. (1996). Data Quality for the Information Age. Artech House.
https://es.wikipedia.org/wiki/Aplicaci%C3%B3n_m%C3%B3vil