Pteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del softwaresara272016
La ingeniería de software es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software,1 y el estudio de estos enfoques, es decir, la aplicación de la ingeniería al software.2 Integra matemáticas, ciencias de la computación y prácticas cuyos orígenes se encuentran en la ingeniería.
Pteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del softwaresara272016
La ingeniería de software es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software,1 y el estudio de estos enfoques, es decir, la aplicación de la ingeniería al software.2 Integra matemáticas, ciencias de la computación y prácticas cuyos orígenes se encuentran en la ingeniería.
Los desafíos de calidad de software que nos trae la IA y los LLMsFederico Toledo
En esta charla, nos sumergiremos en los desafíos emergentes que la inteligencia artificial (IA) y los Large Language Models (LLMs) traen al mundo de la calidad del software y el testing. Exploraremos cómo la integración, uso o diseño de modelos de IA plantean nuevos retos, incluyendo la calidad de datos y detección de sesgos, sumando la complejidad de probar algo no determinístico. Revisaremos algunas propuestas que se están llevando adelante para ajustar nuestras tareas de testing al desarrollo de este tipo de sistemas, incluyendo enfoques de pruebas automatizadas y observabilidad.
Escaneo y eliminación de malware en el equiponicromante2000
El malware tiene muchas caras, y es que los programas maliciosos se reproducen en los ordenadores de diferentes formas. Ya se trate de virus, de programas espía o de troyanos, la presencia de software malicioso en los sistemas informáticos siempre debería evitarse. Aquí te muestro como trabaja un anti malware a la hora de analizar tu equipo
Si bien los hospitales conjuntan a profesionales de salud que atienden a la población, existe un equipo de organización, coordinación y administración que permite que los cuidados clínicos se otorguen de manera constante y sin obstáculos.
Mario García Baltazar, director del área de Tecnología (TI) del Hospital Victoria La Salle, relató la manera en la que el departamento que él lidera, apoyado en Cirrus y Estela, brinda servicio a los clientes internos de la institución e impulsa una experiencia positiva en el paciente.
Conoce el Hospital Victoria La Salle
Ubicado en Ciudad Victoria, Tamaulipas, México
Inició operaciones en el 2016
Forma parte del Consorcio Mexicanos de Hospitales
Hospital de segundo nivel
21 habitaciones para estancia
31 camas censables
13 camillas
2 quirófanos
+174 integrantes en su plantilla
+120 equipos médicos de alta tecnología
+900 pacientes atendidos
Servicios de +20 especialidades
Módulos utilizados de Cirrus
HIS
EHR
ERP
Estela - Business Intelligence
2. El diseño de Software es un proceso que
transforma los requisitos del usuario de
una manera conveniente, lo que ayuda al
programador a en la codificación e
implementación del software. El diseño
de Software es el primer paso en el
SFDLC(Software Design Life Cycle, en
español ciclo de vida del diseño de
software)
3. Diseño de niveles o entornos
de Software:
El diseño de Software produce 3
niveles de resultados
Diseño arquitectónico : es la versión
más abstracta del sistema. Identifica el
software como un sistema con distintos
componentes que interactúan entre
ellos. En este momento es cuando los
diseñadores conciben la idea de
posibles soluciones de dominio.
Diseño de alto nivel: se centra en
cómo el sistema junto con todos sus
componentes se puede implementar
en forma de módulos. Reconoce
estructuras modulares de cada sub
sistema y su relación e interacción
entre las mismas.
Diseño detallado: diseña
acuerdos con la parte de
implementación de lo que se ve
como sistema y sus sub sistemas
con los dos tipos de diseño
mencionados con anterioridad.
4. Modularización:
La Modularización es una técnica para dividir sistemas de Software en
múltiples separados e independientes módulos, los cuales se espera que sean
capaces de llevar a cabo tareas de forma independiente. Estos módulos pueden
funcionar como creaciones básicas para la totalidad del software. Los diseñadores
tienden a diseñar módulos que se pueden ejecutar y/o almacenar por separado y
de manera independiente.
Ventajas de la modularización
El programa se puede clasificar
según los aspectos funcionales
El nivel deseado de abstracción se
puede aplicar al programa
La ejecución simultánea es
posible
Los componentes más pequeños
son más fáciles de mantener
Es apropiado des del punto de
vista de la seguridad
Los componentes con gran cohesión
pueden reutilizarse de nuevo
5. Concurrencia informática
En Diseño de software, la concurrencia se implementa dividiendo el
software en varias unidades de ejecución independientes, como si fueran
módulos ejecutándolos en paralelo. En otras palabras, la concurrencia aporta
capacidad al software para poder ejecutar más de una parte del código de
forma paralela a a las otras.
Es necesario para programadores y diseñadores poder reconocer
estos módulos, los cuales se pueden crear de forma paralela a la ejecución.
Ejemplo El corrector ortográfico del procesador de textos Word es un
módulo de software, que funciona de forma independiente al
procesador de textos mismo
6. Cohesión
La Cohesión es una medida que define el grado de interdependencia entre los
elementos que conforman los módulos. A mejor cohesión, mejor diseño de
programa obtenemos.
Cohesión coincidente: puede romper el programa en pequeños
módulos por el bien de la modularización. Como no tiene una
planificación, puede confundir a los programadores. no está
generalmente aceptado
Cohesión lógica: La categorización de manera lógica
en la que los elementos se colocan juntos en un
mismo módulo, se denomina Cohesión lógica.
Cohesión comunicativa: los elementos del módulo se
agrupan juntos, y se ejecutan y funcionan en los
mismos datos de forma secuencial
Cohesión secuencial: los elementos del módulo se
agrupan porque el resultado de un elemento sirve de
entrada a otro y así sucesivamente
Cohesión funcional: Se considera la mejor en cuanto a mayor
grado de cohesión. Los elementos del módulo se agrupan
porque todos ellos contribuyen a conseguir una función única
y bien definida. También se puede reutilizar.
Cohesión temporal: los elementos del módulo se organizan de
manera que se procesan en un momento similar en el tiempo
Cohesión procedimental : los elementos del módulo se
agrupan juntos, y se ejecutan de forma secuencial para poder
llevar a cabo una tarea.
7. Acoplamiento
El acoplamiento es una medida que define el nivel de
interdependencia entre los módulos del programa. Nos muestra el
nivel en que los módulos interfieren e interactúan entre ellos. A menor
acoplamiento, mejor programa se obtiene.
Acoplamiento de contenido: Cuando un módulo
puede acceder, modificar o consultar directamente el
contenido de otro módulo hablamos de acoplamiento
del nivel de contenido.
Acoplamiento 'stamp‘: Cuando múltiples módulos
comparten la misma estructura de datos y funcionan
en diferentes partes de la misma, hablamos de
acoplamiento 'stamp'.
Acoplamiento de datos- Se da cuando dos módulos
interactúan entre ellos con la finalidad de pasarse
información (como parámetro). Si un módulo pasa
una estructura de datos como parámetro, el módulo
receptor debe usar todos sus componentes.
Acoplamiento común: Cuando múltiples módulos han leído y
escrito el acceso a algún dato global, hablamos de
acoplamiento global o común.
Acoplamiento de Control: Dos módulos se denominan
acoplados de control si uno de ellos decide la función del otro o
cambia su flujo de ejecución.
8. Verificación del Diseño
El resultado del proceso de diseño de Sofware es diseñar documentación,
pseudocódigos, diagramas lógicos y detallados, diagramas de proceso, y descripción
detallada de todos los requisitos funcionales y no funcionales.
La siguiente fase, la implementación del software, depende de los
resultados mencionados con anterioridad.
En este momento es cuando se necesita verificar los resultados antes de
proceder con la siguiente fase. Cuanto antes de detecte un error mejor, ya que
puede que no se detecte hasta que se realicen las pruebas de software del
producto al final del proceso. Si los resultados de la fase de diseño son anotaciones
formales, sus herramientas asociadas para la verificación deben ser usadas, en caso
contrario se puede usar una revisión del diseño para la verificación y la validación.
En la aproximación de verificación estructurada, los evaluadores pueden detectar
defectos que se han ocasionado por haber omitido algunas condiciones.