jueves, 31 de octubre de 2024

Resumen Sobre la Introducción a la ingeniería del software

 Resumen sobre la Introducción a la  

Ingeniería del software

Presentaré ejemplos de cada una de las aplicaciones del software para tener una idea mas clara:


software de sistemas: 

 

1. Microsoft Windows (Sistema Operativo)

2. Linux (Sistema Operativo)

3. macOS (Sistema Operativo)

4. Android (Sistema Operativo móvil)

5. iOS (Sistema Operativo móvil)

software de computadoras personales:

1. Microsoft Office (Suite de productividad)

2. Adobe Photoshop (Edición de imágenes)

3. Skype (Comunicación en línea)

4. Mozilla Firefox (Navegador web)

5. VLC Media Player (Reproductor de multimedia)

software de tiempo real:

 

1. Sistemas de control de procesos industriales

2. Sistemas de seguridad y vigilancia

3. Software de simulación de vuelo

software basado en web:

 

1. Facebook (Red social)

2. Google Maps (Mapas en línea)

3. Amazon (Comercio electrónico)

4. YouTube (Plataforma de videos)

5. Wikipedia (Enciclopedia en línea)

software de gestión:

 

1. SAP (Gestión de recursos empresariales)

2. Oracle (Gestión de bases de datos)

3. Microsoft Dynamics (Gestión de negocios)

4. Trello (Gestión de proyectos)

5. Asana (Gestión de tareas)

software empotrado:

 

1. Firmware de routers

2. Software de sistemas de navegación GPS

3. Sistemas de control de climatización

 

software de ingeniería y científico:

 

1. Autodesk AutoCAD (Diseño asistido por computadora)

2. SolidWorks (Diseño de ingeniería)

3. GNU Octave (Análisis numérico y científico)

software de inteligencia artificial:

 

1. IBM Watson (Plataforma de IA)

2. Google DeepMind (Investigación en IA)

3. Microsoft Cognitive Services (APIs de IA)

 


¿Qué es la ingeniería del Software?

La ingeniería del software es una diciplina la cual se preocupa y enfoca por el desarrollo rentable de un software desde sus primeras etapas, teorías, métodos, herramientas hasta el mantenimiento del mismo.
Por medio de esta ingeniería también descubrimos que tiene algunos desafíos a los cuales se ha enfrentado y se sigue enfrentando como por ejemplo el construir softwares que sean capaces de poder utilizarse en plataformas y entornos heterogéneos (heterogeneidad), la entrega y la confianza.

En la ingeniería del software podemos encontrar 4 capas importantes

Herramientas: Es el o los instrumentos que ayudan a construir el software eje: DRD, DFD, diagramas.
Método: Son los pasos sistemáticos que se siguen, describen actividades en cada fase eje: Método OO de Booch.
Proceso: Es el conjunto de actividades de una secuencia eje: Modelo Lineal, Modelo DRA, Prototipos.
Enfoque de Calidad: Esta perspectiva desde la cual se aborda el desarrollo del software eje, Orientado a objetos, descomposición funcional.



viernes, 25 de octubre de 2024

Conceptos Básicos de Programación

 Conceptos Básicos de programación

Variables: Es un contenedor que almacena un valor .Es como una caja donde podemos guardar un dato y luego utilizarlo en el código. Cada variable tiene un nombre único, pueden almacenar diferentes tipos de datos como números enteros, fechas, texto, etc.

Tipos de variables:

  1. Variables enteras (int):Almacena números enteros, como 1, 2, 3, etc.
  2. Variables de texto (string): Almacenan texto, como "hola", "mundo", etc.
  3. Variables de punto flotante (float):Almacena números  decimales, como 3.14, -0.5, etc.
  4. Variables booleanas (bool): Almacena datos de verdadero o falso
  5. Variables de fecha y hora (date, time): Almacena datos de fecha y hora.
Función: Es un bloque de código que realiza una tarea específica y puede ser reutilizado varias veces en un programa. es como una receta que sigue pasos para obtener un resultado.

Tipos de funciones:

  1. Funciones sin parámetros:  No reciben datos.
  2. Funciones con parámetros: Reciben datos para realizar su tarea.
  3. Funciones con retorno: Devuelve un valor.
  4. Funciones con void: No devuelve nada.
Las funciones se utilizan para: reutilizar el código, organizar el código, reducir la complejidad, Mejora la legibilidad, las funciones varian dependiendo el lenguaje de programación.

Ejemplo:

En JavaScript:

function saludar(nombre) {

  console.log("Hola, " + nombre + "!");

}

saludar("Juan"); // Salida: "Hola, Juan!"

En este ejemplo, la función saludar recibe un parámetro nombre y muestra un mensaje de saludo.

Tipos de datos: Son las categorías  que se utilizan para clasificar y almacenar los valores que se utilizan en un programa. Es como etiquetar una caja  para saber que objetos contiene.

Tipos de datos: 

  1. Enteros (Int): 1,2, 3, etc.
  2. Caracteres (char): "a", "B", etc.
  3. Cadenas de texto (String): "hola", "mundo", etc
  4. Números decimales (Float): Números decimales.
  5. Booleanos (bool): True or false
  6. Fecha y Hora (Date, Time): Fecha , Hora.
Estructuras de control: son instrucciones que permiten controlar el flujo de ejecución de un programa. Es como dar direcciones a un GPS para llegar a un destino.

Tipos de estructuras de control:

1. Condicionales (If-Else)

- If (Si): Ejecuta un bloque de código si se cumple una condición.
- Else (Sino): Ejecuta un bloque de código si no se cumple la condición.
- Ejemplo: "Si es mayor de edad, puede entrar al cine."

2. Ciclos (Loops)

- For (Para): Repite un bloque de código un número determinado de veces.
- While (Mientras): Repite un bloque de código mientras se cumple una condición.
- Do-While (Hacer-Mientras): Repite un bloque de código al menos una vez y luego mientras se cumple una condición.
- Ejemplo: "Imprimir los números del 1 al 10."

3. Saltos (Jump)

- Break (Romper): Sale de un ciclo o estructura de control.
- Continue (Continuar): Salta a la siguiente iteración de un ciclo.
- Return (Retornar): Sale de una función y devuelve un valor.
- Ejemplo: "Salir del programa si se presiona la tecla 'Escape'."

4. Excepciones (Try-Catch)

- Try (Intentar): Ejecuta un bloque de código que puede generar una excepción.
- Catch (Capturar): Maneja la excepción y ejecuta un bloque de código.
- Ejemplo: "Intentar abrir un archivo que no existe."



HTML

 Lenguaje de marcas de Hipertexto (HTML)

Este lenguaje de etiquetas es utilizado para crear una pagina web. Es como un conjunto de instrucciones que le dice al navegador cómo mostrar el contenido.HTML logra crear la estructura de la página web, define algunos elementos de la página tales como títulos, párrafos, imágenes, enlaces. Este lenguaje también establece la relación entre los elementos y permite incluir  otro lenguaje como CSS y JavaScript.

Algunos de los elementos básicos de un documento HTML son:

  1. Etiquetas(tags): <p>, <img>, <a>, <h1>, <table>, etc.
  2. Atributos:  src, href, alt, title, etc.
  3. Contenido: texto, imágenes, videos, etc.
A continuación presento la estructura básica de HTML:

























jueves, 24 de octubre de 2024

Modelo Scrum

 Modelo Scrum

Este modelo es una forma de trabajar en equipo para proyectos complejos, especialmente en desarrollo de software. Es un enfoque ágil que se centra en la colaboración, flexibilidad y entrega de valor.

Orígenes

Según lo consultado se dice que este modelo fue creado en la década de 1990 por Jeff Sutherland y Ken Schwaber , inspirados en el Rugby(scrum es un término del rugby que significa "formación compacta")

En este modelo se debe tener en cuenta seis componentes claves que son los siguientes:

  1. Equipo scrum: 3 roles principales: Product Owner(PO): Responsable del producto y prioriza las tareas. Scrum Master (SM): facilitador de proceso y elimina obstáculos. Desarrolladores: equipo que realiza el trabajo.
  2. Sprint: Ciclo de trabajo de 2-4 semanas, con objetivos claros.
  3. Backloug: Lista  de tareas priorizadas por el PO.
  4. Daily Scrum: Reunión diaria de 15 minutos para:
  • compartir progreso
  • discutir obstáculos.
  • establecer objetivos.
       5. Review: Revisión del trabajo realizado al final del sprint.

       6. Retrospectiva: Análisis del proceso para mejorar.

En el modelo Scrum debemos tener en cuenta unos principios Básicos que son:

  • Colaboración: Trabajo en equipo y comunicación abierta.
  • Flexibilidad: adaptabilidad a cambios y requisitos
  • Entrega de valor: Prioriza tareas que agreguen valor.
  • Iteración: Ciclos de trabajo cortos y frecuentes.
De todo esto que hemos mirado podemos deducir que al realizar este método en un proyecto amplio y complejo  se requiere diciplina, compromiso, buen enfoque mental, resolver problemas, habilidad de escucha, para trabajar de la mejor manera en equipo y de esa manera lograr una mejora productiva, tener innovación y con todos elementos reunidos lograr la satisfacción de nuestro cliente.

martes, 22 de octubre de 2024

UML

 UML(Lenguaje unificado de modelado)

Es una herramienta de modelado de software que nos ayuda a visualizar y diseñar sistemas complejos. Es como un lenguaje común para describir la estructura y comportamiento de un sistema.

por medio de UML podemos hacer o realizar lo siguiente:

  1. Modelar la estructura de un sistema.
  2. Describir el comportamiento de un sistema.
  3. Ayuda a comunicar ideas entre equipo y clientes.
  4. Facilitar la planificación y diseño de un sistema.



 

 

Diagrama de flujo

 Diagrama de Flujo 

Un diagrama de flujo es la representación gráfica de un algoritmo o de un proceso. Es una forma visual de mostrar los pasos que se deben seguir para resolver un problema o realizar una tarea. En  un diagrama de flujo, se utilizan símbolos y flechas para representar.

  • inicio y fin 
  • pasos o instrucciones
  • decisiones o condiciones
  • datos
  • salidas o resultados
A continuación podemos observar algunos símbolos de un diagrama de flujo:




Ejemplo de un diagrama de flujo realizado a una entidad dedicada a la venta de carnes en el sector de Puerto Asís- Putumayo.

























lunes, 21 de octubre de 2024

Algoritmo y Diagrama de Flujo

  Algoritmos

Un algoritmo es como una receta para resolver un problema. Es un conjunto de pasos que se siguen con el fin de obtener un resultado. Algunas de sus características son las siguientes:

  • Tiene Entradas(Datos)
  • Tiene Procesamientos(hace cosas con los datos)
  • Tiene Salidas( Resultados)
  • Es finito (posee un final)
  • No es aleatorio
  • Posee Lógica
Podemos encontrar algoritmos en todas partes, en cualquier entorno o actividad, por ejemplo:

Preparar un sándwich:

  1. Ingredientes
  2. Rebanadas de Pan
  3. queso
  4. jamón 
  5. lechuga
Pasos a realizar: 

a) Colocar una rebanada de pan en un recipiente plano.

b) Agregar queso, jamón, y lechuga al gusto sobre la rebanada de pan.

c) colocar la segunda rebanada de pan   encima.

d) realizar un corte por la mitad al sándwich.

Salida: Un delicioso sándwich listo para comer.

Algoritmo de la suma de dos números:

Entrada: (datos)

- N1 (número 1)

- N2 (número 2)

Segundo paso

1. Leer N1 y N2

2. Sumar N1 y N2 (Resultado = N1 + N2)

3. Almacenar el Resultado

Salida:

- Resultado (suma de N1 y N2)

Diagrama de flujo de las 4 operaciones básicas de la matemática.


 Tabulación de Datos