El documento trata sobre la arquitectura de software. Explica que la arquitectura define la división y estructura de un sistema en subsistemas y establece un marco de control, comunicación y cooperación entre ellos. También describe que la arquitectura de software se refiere a la organización fundamental de un sistema encarnada en sus componentes y las relaciones entre ellos. Finalmente, señala que la arquitectura afecta propiedades como la confiabilidad, rendimiento, escalabilidad y mantenibilidad de un sistema.
Esta presentación fue realizada con multiples fuentes de internet, si alguno de los autores tiene problema con su publicación por favor me informa, espero les resulte de utlidad.
U.T.N. - F.R.T. Cátedra de Diseño de Sistemas. 3K1. 2011. Unidad V. Diseño de Interfaces. El Proceso de Diseño de Interfaces del Usuario. Roger Pressman
El modelamiento de software es una técnica con la complejidad inherente a los sistemas. El uso de modelos ayuda al equipo de trabajo de desarrollo de software a visualizar el sistema de información a construir. Además, los modelos de un nivel de abstracción mayor pueden utilizarse para la comunicación con el cliente.
El análisis y diseño orientado a objetos (ADOO) es un enfoque de la ingeniería del software, la cuál permite modelar un sistema como un grupo de objetos que interactúan entre sí
Taller de Modelamiento y Diagramación de Sistemas Automatizados con la utilización de las herramientas CASE Rational Rose Actividad N.- 1
www.modelado.pnfi.org
Evaluación a interfaces - Test de usuarios,evaluación heurística y eye-trackingPercy Negrete
Debemos prestar atención en lo que el usuario hace más de lo que dice. Aquí se da respuesta a las principales preguntas relacionadas con las más conocidas evaluaciones de interfaces como son la heurística, eye-tracking y el famoso test de usuarios.
- ¿En qué consiste la evaluación heurística y como se desarrolla?.
- Criterios básicos para un test heurístico.
- ¿En qué consiste el Eye-Tracking?
- ¿En qué consiste un test de usuarios?
- ¿Cuándo se realiza un test de usuarios?
- Tipos de test de usuarios
- ¿Cómo se lleva a cabo un test de usuarios?
- Test de pensamiento manifiesto o Think Aloud
- Parte del cómic de Userfocus sobre el test de usuarios.
- Otros test de usuarios.
Fuente: www.blog.pucp.edu.pe/ux
Esta presentación fue realizada con multiples fuentes de internet, si alguno de los autores tiene problema con su publicación por favor me informa, espero les resulte de utlidad.
U.T.N. - F.R.T. Cátedra de Diseño de Sistemas. 3K1. 2011. Unidad V. Diseño de Interfaces. El Proceso de Diseño de Interfaces del Usuario. Roger Pressman
El modelamiento de software es una técnica con la complejidad inherente a los sistemas. El uso de modelos ayuda al equipo de trabajo de desarrollo de software a visualizar el sistema de información a construir. Además, los modelos de un nivel de abstracción mayor pueden utilizarse para la comunicación con el cliente.
El análisis y diseño orientado a objetos (ADOO) es un enfoque de la ingeniería del software, la cuál permite modelar un sistema como un grupo de objetos que interactúan entre sí
Taller de Modelamiento y Diagramación de Sistemas Automatizados con la utilización de las herramientas CASE Rational Rose Actividad N.- 1
www.modelado.pnfi.org
Evaluación a interfaces - Test de usuarios,evaluación heurística y eye-trackingPercy Negrete
Debemos prestar atención en lo que el usuario hace más de lo que dice. Aquí se da respuesta a las principales preguntas relacionadas con las más conocidas evaluaciones de interfaces como son la heurística, eye-tracking y el famoso test de usuarios.
- ¿En qué consiste la evaluación heurística y como se desarrolla?.
- Criterios básicos para un test heurístico.
- ¿En qué consiste el Eye-Tracking?
- ¿En qué consiste un test de usuarios?
- ¿Cuándo se realiza un test de usuarios?
- Tipos de test de usuarios
- ¿Cómo se lleva a cabo un test de usuarios?
- Test de pensamiento manifiesto o Think Aloud
- Parte del cómic de Userfocus sobre el test de usuarios.
- Otros test de usuarios.
Fuente: www.blog.pucp.edu.pe/ux
Universidad Técnica Particular de Loja
Ciencias de la Computación
Metodología y Tecnología de Programación
I Bimestre
Abril - Agosto 2007
Ponente: Ing. Patricio Abad
Presentación sobre el patrón arquitectural de software "Pipes & Filters" realizado para la materia Ingeniería de Software de la Universidad Nacional de Rio Cuarto, Cordoba, Argentina (Año 2015)
Transparencias del Tema 4 (Diseño del Software) de la asignatura Ingeniería del Software de Gestión de la Escuela Superior de Ingeniería Informática de la Universidad de Vigo
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.
Estructuras de Datos Espaciales (Topico Especial)Demián Gutierrez
Esta fue la presentación final de mi tópico especial en estructuras de datos espaciales.
Antes de que alguién lo mencione: Si, el ejemplo del B+ Tree tienen un error.
El código está en:
https://bitbucket.org/demiangutierrez/space
Advertencia: No es una librería de estructuras de datos, no es estable, no tienen una buena API, tiene bugs, hay repetición, inconsistencias, etc. Es código que se escribió con fines académicos, no para producción. Algún día pretendo transformarlo en una librería (se acepta ayuda), pero es sucederá (si sucede) en un futuro muy lejano.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
Inteligencia Artificial y Ciberseguridad.pdfEmilio Casbas
Recopilación de los puntos más interesantes de diversas presentaciones, desde los visionarios conceptos de Alan Turing, pasando por la paradoja de Hans Moravec y la descripcion de Singularidad de Max Tegmark, hasta los innovadores avances de ChatGPT, y de cómo la IA está transformando la seguridad digital y protegiendo nuestras vidas.
3Redu: Responsabilidad, Resiliencia y Respetocdraco
¡Hola! Somos 3Redu, conformados por Juan Camilo y Cristian. Entendemos las dificultades que enfrentan muchos estudiantes al tratar de comprender conceptos matemáticos. Nuestro objetivo es brindar una solución inclusiva y accesible para todos.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Telefónica
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0xWord escrito por Ibón Reinoso ( https://mypublicinbox.com/IBhone ) con Prólogo de Chema Alonso ( https://mypublicinbox.com/ChemaAlonso ). Puedes comprarlo aquí: https://0xword.com/es/libros/233-big-data-tecnologias-para-arquitecturas-data-centric.html
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Clase 06 diseno_arquitectura
1. Arquitectura de Software
(Arquitectura de Software para Practicantes)
Universidad de los Andes
Demián Gutierrez
Marzo 2013
1
2. ¿Qué es Diseño de Software?
Diseño es el proceso creativo de
transformar un problema en una solución.
La descripción de esa solución
también es llamada diseño. *
El diseño de software es el proceso de
concebir (modelar) y especificar los detalles
de como el sistema cumplirá
las especificaciones de requerimientos
establecidas en el análisis
*Pfleeger, 1998 2
3. ¿Qué es Diseño de Software?
Diseño = Proceso Creativo
Diseño = Solución
No hay UNA única solución
No existe una solución completamente óptima
Sólo hay soluciones buenas, mediocres, malas...
La evaluación y elección depende del cliente, de los
requerimientos, del criterio del diseñador, del
contexto, etcétera
3
4. ¿Qué es Diseño de Software?
(Son muchas las cosas que se pueden diseñar)
Diseño de
Procesos /
Interacción,
etcétera
Diseño de los
Diseño de la
modelos de
Interfaz H/M
datos
Requerimientos
del Sistema
(¿qué?)
Diseño de las ¿cómo?
Diseño de la
Interfaces con
Arquitectura
otros
El objetivo del diseño es del Software
Sistemas
“implementar”
los requerimientos del usuario 4
6. ¿Arquitectura?
La Arquitectura de un Sistema define
la división y estructura de un sistema
en subsistemas y establece un
marco de control, comunicación y
cooperación entre los distintos
subsistemas
6
7. ¿Arquitectura?
La Arquitectura de Software es la
organización fundamental de un
sistema encarnada en sus
componentes, las relaciones entre
ellos y el ambiente y los principios
que orientan su diseño y evolución
*IEEE 7
8. ¿Arquitectura?
Una Arquitectura de Software describe:
Un conjunto de elementos / componentes que
conforman un sistema
(con sus responsabilidades)
Un conjunto de conectores entre componentes
(comunicación, coordinación, control, cooperación)
Restricciones que definen cómo se integran los
componentes para formar el sistema
Adaptado de: Shaw M., Garland D., Software Architecture 8
9. ¿En que afecta una buena / mala
Arquitectura de Software?
¿cuál es el impacto
de la arquitectura
en un sistema?
9
10. ¿En que afecta una buena / mala
Arquitectura de Software?
¿propiedades
emergentes
de un sistema?
10
11. ¿En que afecta una buena / mala
Arquitectura de Software?
Confiabilidad Rendimiento Extensibilidad
Eficiencia
Seguridad Escalabilidad
Memoria/Ejecución
Portabilidad Disponibilidad Reusabilidad
¿qué falta aquí?
11
12. ¿En que afecta una buena / mala
Arquitectura de Software?
Facilidad de
Mantenibilidad
Prueba
Estos dos aspectos están relacionados
con un concepto que es muy importante
12
13. ¿En que afecta una buena / mala
Arquitectura de Software?
¿Calidad Interna?
Fácil de Entender
Fácil de Cambiar
Barato de Desarrollar
Barato de Mantener
13
14. ¿En que afecta una buena / mala
Arquitectura de Software?
¿Calidad Interna?
Son buenos para comer, pero nadie quiere
que su aplicación se transforme en esto 14
16. Diagramas de Bloques
Una herramienta simple para modelar Arquitectura de Software
Bloque / Bloque /
Componente Componente
1 3
Conexiones:
Bloques: partes, Bloque / relaciones
módulos, Componente estructurales,
componentes, 4 dependencias,
subsistemas, etc comunicaciones,
flujos de datos, etc
Bloque / Bloque /
Componente Componente
2 n
16
17. Arquitectura de Software
(Un Ejemplo)
Sistema de
Visión Controlador de
Controlador del
la Mano
Brazo
Articulada
Sistema de
Identificación Sistema de
de Objetos Selección de
Empaquetado
Controlador de
Sistema robótico de control Sistema de
la Cinta
de empaquetado Empaquetado
Transportadora
Fuente: Sommerville /
Ingeniería del Software 17
18. Arquitectura de Software
(Un Ejemplo)
Nos ayuda a pensar en términos abstractos
sin preocuparse mucho por la notación 18
19. Componentes / Partes de un Sistema
¿cohesión?
¿responsabilidades?
¿acoplamiento?
19
20. Distintos Niveles de Abstracción
¿en qué distintos niveles de
abstracción se puede pensar
en términos de
arquitectura / ingeniería
de software?
20
21. Distintos Niveles de Abstracción
Objetivos de Negocio,
Más cerca de la implementación
Objetivos de la Organización
Propuesta de Valor
B D
A C
21
22. Distintos Niveles de Abstracción
B D
Más cerca de la implementación
A C
C
C.1 C.2
C.3 C.4
22
23. Distintos Niveles de Abstracción
C.1 C.2
Más cerca de la implementación
C.3 C.4
23
24. ¿Arquitectura?
--INTERMEDIO: Otra Definición ---
Estructura y Componentes* del sistema
desde el punto de vista del programador
Jerarquía y funciones de cada componente* de software
Estructuras de datos empleadas por cada componente*
Flujos de datos entre los componentes*
* También se puede ver desde el punto de vista de Clases / Objetos 24
25. Distintos Niveles de Abstracción
Más cerca de la implementación
public class Producto {
private String codigo;
private String nombre;
private Money precio;
public Producto(String codigo, String nombre, Money precio) {
this.codigo = codigo;
this.nombre = nombre;
this.precio = precio;
}
// ... más código ...
}
25
26. Distintos Niveles de Abstracción
En todos los niveles
hay aspectos y decisiones
importantes de
Arquitectura de Software
¿decisiones? 26
27. Distintos Niveles de Abstracción
Un Arquitecto / Ingeniero
de Software debería
sentirse cómodo
trabajando a cualquier nivel
de abstracción, desde el
más alto, entendiéndose
con el negocio hasta el nivel
más bajo, es decir, codificando
¿por qué? 27
28. Distintos Niveles de Abstracción
¿Puede existir un cargo de
Arquitecto Junior?
¿por qué? 28
29. Diseño Arquitectónico
¿la arquitectura es una fase
de un proyecto?
...
¿tiene un comienzo y
un fin claramente definido?
29
30. ¿Qué es Diseño de Software?
Definición de
Requerimientos
Diseño de Sistema
y de Software ¿?
Implementación
y Pruebas de
Unidades
Integración y
Prueba del
¿esto tiene Sistema
NECESARIAMENTE
que ser en cascada?
;-)
Operación y
Mantenimiento
30
31. ¿Qué es Diseño de Software?
Definición de La Arquitectura de Software
Requerimientos
es algo que se trabaja y refina
continuamente a lo largo de
Diseño de Sistema todo el ciclo de vida
y de Software de un sistema de software
Implementación
y Pruebas de
Unidades
Integración y
Prueba del
¿esto tiene Sistema
NECESARIAMENTE
que ser en cascada?
;-)
Operación y
Mantenimiento
31
33. Diseño Arquitectónico
Arquitectura
del Software
Diseño
Arquitectónico
Estilos Frameworks
Arquitectónicos (Marcos)
Patrones de Bibliotecas /
Diseño Componentes
Clases /
Funciones
En general, estos elementos se (SOLID)
verán mas adelante 33