Bienvenida
Bienvenido(a) a la unidad didáctica Diseño y arquitectura de software, en la cual trabajarás con diferentes actividades que te ayudarán a desarrollar habilidades y concretar los objetivos de aprendizaje propuestos en la unidad didáctica, a través del trabajo individual y colaborativo.

Fuente de consulta: https://www.freepik.com/free-vector/javascript-frameworks-concept-illustration_6184436.htm#query=dise%C3%B1o%20software&position=34
Para construir una aplicación práctica es necesario conocer los requerimientos funcionales y no funcionales del usuario, y seleccionar la mejor opción de arquitectura de software para modelar los elementos.
Por ello, con el estudio de la unidad didáctica, se observará que la arquitectura de software es una etapa fundamental dentro del ciclo de vida del desarrollo de software, ya que a partir de la decisión de qué arquitectura aplicar, el éxito de una plataforma de software se verá reflejado en la agilidad de ésta para adaptarse a los cambios naturales que se dan en cualquier organización en cuanto a sus reglas de negocio, la compatibilidad con tecnologías anteriores, contemporáneas y futuras, así como en la facilidad de uso para el público usuario y la cantidad de esfuerzo/inversión necesarios para el mantenimiento de dicha plataforma.
En la unidad didáctica Diseño y arquitectura de software se abordarán conceptos dirigidos hacia la comprensión de qué es, cómo, cuándo y qué tipo de arquitectura es la adecuada respecto a la necesidad específica sobre la base de los modelos y patrones de diseño de software. Asimismo, observarás lo que abarca la conceptualización y descripción gráfica de los componentes de un sistema de software y la relación entre ellos, por lo cual su desarrollo conlleva el diseño de la estructura que soportará la solución de software.
Esta unidad didáctica está relacionada con la representación y composición de los módulos de un sistema de software, por lo que el diseño se propone como una actividad conciliatoria entre los requerimientos del problema y la factibilidad técnica de una solución en términos de un sistema de software. Al final se tendrá una visión amplia, completa y humana del mismo.
Esta unidad didáctica se encuentra conformada por tres unidades:
- Arquitectura de software
- Elementos de diseño de la arquitectura de software
- Arquitectura de sistemas informáticos
En la primera unidad se analizarán los elementos de la arquitectura de software y su importancia en el diseño del mismo para, posteriormente, aplicar patrones de arquitectura y diseñar vistas mediante el lenguaje descriptor de arquitectura. En la segunda y tercera unidad se diseñará una propuesta de arquitectura para el diagnóstico de información de los usuarios mediante el análisis y uso de herramientas de diseño de la arquitectura en diferentes tipos de sistema.
Da clic en el ícono, para descargar la Información general de la unidad didáctica.
Da clic en Competencias y logros para continuar con la revisión de la información general.
Competencias y logros
Competencia general
Construye una arquitectura de software para establecer las bases del desarrollo de un sistema que cubra las necesidades del usuario mediante el uso de patrones de arquitectura de software.
Da clic en cada pestaña para revisar las competencias y logros que alcanzarás en esta unidad didáctica.
Da clic en Temario para continuar con la revisión de la información general.
Temario
El contenido que estudiarás en cada unidad de este módulo se presenta a continuación.
Da clic en cada unidad para ver los temas y subtemas.
Unidad 1. Arquitectura de software
1.1. Introducción a la arquitectura de software
1.1.1. Origen y objetivo de la arquitectura de software
1.1.2. Lenguajes descriptores
1.1.3. Vistas de la arquitectura
1.1.4. Modelo vistas 4+1
1.2. La arquitectura en la fase de diseño de software
1.2.1. La metodología rup
1.2.2. Propiedades y principios del diseño de software
1.2.3. Proceso de diseño de software
Unidad 2. Elementos de diseño de la arquitectura de software
2.1. Estilos y patrones arquitectónicos
2.1.2 Enfoque
2.2. Categorías de estilos arquitectónicos
2.2.1 Basado en componentes
2.2.2 Capas
2.2.3 Cliente/servidor
2.2.4 Orientado a objetos
2.2.5 Tuberías y filtros
Unidad 3. Arquitectura de sistemas informáticos
3.1. Patrones arquitectonicos en sistemas distribuidos
3.1.1. Ámbito de aplicación
3.1.2. Arquitectura orientada a servicios
3.2. Patrones arquitectonicos en sistemas interactivos
3.2.1. Ámbito de aplicación
3.2.2. Modelo-vista-controlador
3.2.3. Presentación-abstracción-control
3.3. Patrones arquitectonicos en sistemas adaptables
3.3.1. Ámbito de aplicación
3.3.1. Proxy y sistemas adaptables
3.3.2. Microkernel
3.3.3. Reflection
Da clic en Metodología de trabajo para continuar con la revisión de la información general.
Metodología

La metodología se denomina Aprendizaje basado en la resolución de problemas; es decir, el estudiante parte del planteamiento de un problema susceptible de ser resuelto mediante el desarrollo de un sistema de software, desarrolla las competencias esperadas a partir de la identificación y la correcta aplicación de los diversos patrones, y genera la arquitectura de software para resolver de forma integral los requerimientos planteados.
El procedimiento a seguir en la metodología seleccionada es el siguiente:
- Presentación de un problema: Definición del mismo con la posibilidad de integrar uno por unidad temática, estableciendo las condiciones de trabajo con base en las indicaciones de la figura académica.
- Identificación de las necesidades: Determinación del patrón de arquitectura de software aplicable para su resolución con base en los requerimientos derivados del problema planteado,
- Obtención de la información: Investigación y recopilación en fuentes confiables la información adicional requerida para el correcto desarrollo de la arquitectura de software.
- Resolución del problema: Presentación de la propuesta de arquitectura de software.
Además, se utilizarán recursos de organización de información y análisis de conceptos y se promoverá el trabajo colaborativo en los foros de discusión para favorecer la comunicación e integración entre estudiantes.
Da clic en Evaluación para continuar con la revisión de la información general.
Evaluación
La evaluación del aprendizaje es un proceso, a través del cual se observa, recoge y analiza información relevante del proceso de aprendizaje de los estudiantes, con la finalidad de reflexionar, emitir juicios de valor, así como tomar decisiones pertinentes y oportunas para optimizarlo (Díaz Barriga A.F. & Hernández R.G., 2005). Orienta la toma de decisiones, da pauta a determinar acciones en términos de valoración de conocimientos, nivel del desempeño, reorientaciones de aprendizaje, mejora del proceso educativo y adecuación de actividades, entre otras acciones.
De acuerdo con lo anterior, mediante la evaluación te brindaremos apoyo y seguimiento para identificar las dificultades en el desarrollo de conocimientos, habilidades y actitudes del proceso integral de aprendizaje.
En el marco del Modelo educativo de la UnADM, la evaluación de la unidad didáctica se realiza en los siguientes momentos:1) formativa y 2) sumativa.
Evaluación formativa
Se realiza en paralelo al desarrollo del proceso de enseñanza-aprendizaje de cada unidad, y sirve para localizar dificultades cuando aún estás en posibilidad de remediarlas.
En este primer momento de evaluación, se aplican estrategias asociadas a las:
- Actividades individuales (tareas). Se trata de un primer momento de aprendizaje, en el cual se consideran tus perspectivas, experiencias, intereses, capacidades y necesidades.
- Actividades colaborativas (foros). El trabajo colaborativo fomenta y promueve el aprendizaje en contribución con otros compañeros, ya que eres responsable no sólo de tu aprendizaje, sino de contribuir a que los demás aprendan en equipo y se fomente un ambiente de confianza; por ende, que se logren las metas de aprendizaje.
Evaluación sumativa
Se aplica al final del proceso de tu experiencia de aprendizaje, su propósito es verificar los resultados alcanzados y el grado de aprendizaje o nivel de conocimientos, habilidades y actitudes que hayas adquirido.
Este segundo y último momento de evaluación, se mide y valora a través de las siguientes actividades:
- Evidencias de aprendizaje. Son actividades que tienen como objetivo integrar el proceso de construcción de tu aprendizaje, la evaluación, la retroalimentación y la planeación de la nueva ruta de aprendizaje que seguirás de acuerdo con los resultados individuales obtenidos.
- Actividad complementaria. Esta actividad es planeada por la figura académica considerando las competencias y logros de la unidad didáctica, toda vez que identifica los conocimientos, habilidades y actitudes que te hizo falta desarrollar o potenciar (se realiza en una ocasión al finalizar la última unidad).
- Actividad de reflexión. Es un ejercicio de metacognición que permite que tomes conciencia de tu proceso de aprendizaje,el puntode partida son las experiencias del contexto académico y la reflexión sobre tu desempeño. Se trata de una acción formativa que parte de tu persona y no del saber teórico, que considera tu experiencia de aprendizaje (se realiza en una ocasión al finalizar la última unidad).
A continuación, se presenta el esquema general de evaluación correspondiente a esta unidad didáctica:
Actividad | Porcentaje | |
Formativa | Actividades individuales | 30 |
Actividades colaborativas | 10 | |
Sumativa | Evidencias de aprendizaje | 40 |
Actividad complementaria | 10 | |
Actividad de reflexión | 10 | |
Total | 100 |
Recuerda que la calificación final que te permitirá acreditar, se asigna de acuerdo con los criterios e instrumentos de evaluación establecidos para cada actividad, los cuales son diseñados con base en las competencias y logros de esta unidad didáctica.
Da clic en Fuentes de consulta para continuar con la revisión de la información general.
Fuentes de consulta
Básica
- Bass, L., Clemens, P. y Kazman, R. (2003). Software Architecture in Practice. 2a Ed. Massachusetts: Addison Wesley.
- De la Torre, C., Zorrilla, U., Calvarro, J. y Ramos, M. A. (2010). Guía de arquitectura n-capas orientada al dominio con .NET 4.0. España: Krasis Press.
- F. Bushmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal (1996). Pattern-Oriented Software Architecture. Alemania: Wiley.
- Kruchten, P. (1995). Architectural Blueprints – The “4+1” View Model of software architecture. Paper published in IEEE Software, pp. 42-50.
- Qin, Z., Xing, J. y Zheng, X. (2008). Software Architecture. Zhejiang: Zhenjiang University Press, Hangzhou, Springer –Verlag GmbH Berlin Heidelberg.
- Reynoso, C. y Kicillog, N. (2004). Estilos y patrones en la estrategia de arquitectura de Microsoft. Buenos Aires: Universidad de Buenos Aires.
- Reynoso, C. y Kicillof, N. (2004). Lenguajes de descripción de arquitectura. Buenos Aires: Universidad de Buenos Aires.
- Summerville Ian, (2005). Ingeniería del Software. 7ª Ed. Madrid: Pearson Education.
- Tanenbaum, A. (2006). Distributed Systems: Principles and Paradigms. 2a Ed. New Jersey: Prentice Hall.
- Taylor, R. N., Medvidovic, N. y Dashofy (2009). Software Architecture: Foundations, Theory and Practice. New Jersey: Jhon Wiley.
Bibliografía complementaria
- C. A, B., Barai, M. y Caselli, V. (2008). Service Oriented Architecture with Java. Birmingham. UK: Packt Publishing.
- Lauriat, S. M. (2007). Advanced Ajax: Architecture and Best Practices. Boston: Pearson Education.
- Marino, J. y Rowley, M. (2010). Understanding SCA (Service Component Architecture). Boston: Pearson Education.
- Reese G. (2009). Cloud Application Architectures. Estados Unidos de América: O’Reilly.
- Schmutz G., Liebhart, D. y Welkenbach, P. (2010). Service-Oriented Architecture: an Integration Blueprint a Real-World SOA Strategy for the Integration of Heterogeneous Enterprise System. Birmingham: Packt Publishing.
- Wodtke, C. y Govella, A. (2009). Information Architecture: Blueprints for the Web (2a. Ed.). Berkeley: New Riders.
Muy bien, has concluido la revisión de la Información general, ahora inicia el estudio de la unidad 1.