Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ingeniería de Sistemas
• C: Diseño de Software (T)
Resultados de Aprendizaje • F: Ética (T)
relacionados con el
Programa • H: Impacto de las Soluciones de Ingeniería (T)
• K: Herramientas de Ingeniería (T)
Resultados
Fuente de Valoración ABET NO de N/A
Aprendizaje
DESCRIPCION
En este curso se estudian los elementos que definen la estructura y el comportamiento de la arquitectura de
software, las relaciones que se pueden dar entre estos elementos, y cómo se especifican en una notación
estandarizada como UML. Se tendrán en cuenta, de manera general, los tres componentes que involucra la
arquitectura de todo sistema informático o computacional considerable: el software, el hardware, y la interconexión
entre sus componentes respectivos.
OBJETIVOS DE APRENDIZAJE
General
Al finalizar el curso, en un entorno productivo cualquiera (empresarial, industrial, propio, o como empleado),
el estudiante estará en capacidad de diseñar arquitecturas de software, de complejidad de su nivel de
formación, que respondan a los requerimientos funcionales y no funcionales arquitectónicamente
significativos de sistemas. Como es natural, la arquitectura de software diseñada debe evaluarse y
considerarse en su relación con la arquitectura del sistema computacional de la que es parte, y teniendo en
cuenta tanto las restricciones del contexto como su función e impacto en la sociedad. Este ejercicio, además,
debe hacerse con todo el sentido de la ética y responsabilidad profesional.
Terminales
Durante el curso cada estudiante reflexionará y pondrá en práctica los siguientes valores:
La autonomía y la responsabilidad, dado que en el curso estudiará y diseñará con autonomía arquitecturas
de software como elemento fundamental del ciclo de vida de desarrollo de software, teniendo en cuenta la
responsabilidad social que este diseño implica.
La tolerancia, la autoestima y la integridad ética, fomentando el respeto por las posiciones y opiniones de
los demás, pero a la vez reconociendo el valor de la opinión propia sin perder el sentido de la objetividad y
la razón. Además, manteniendo la coherencia entre el deber ser, y el hacer, teniendo en cuenta la ética
profesional.
La curiosidad intelectual, al confrontarse con diversas fuentes de información que constituyen los
principales referentes mundiales en el área. A partir de esta confrontación, se le invita a reflexionar
críticamente sobre sus posiciones y convicciones, las de sus compañeros, y en general, sobre las de todas
las fuentes de información, hasta satisfacer el origen de su curiosidad respondiendo las preguntas que esta
confrontación haya suscitado.
La disciplina y la perseverancia, al motivarlo para aplicar técnicas y metodologías útiles para diseñar una
arquitectura de software.
METODOLOGÍA
El curso se desarrollará por unidades, de acuerdo al contenido presentado, con espacios de discusión reflexiva y
(auto)crítica, análisis y aplicación de los conceptos, y la participación activa de los estudiantes. A lo largo de todo
el semestre, en grupos de máximo cuatro personas, los estudiantes aplicarán los temas vistos en el desarrollo de
trabajos prácticos.
Los estudiantes deberán preparar, antes de la clase, los temas que asigne el profesor. Bajo el esquema de
trabajo de este curso, preparar un tema significa ESTUDIARLO, es decir hacer una lectura crítica (análisis y
síntesis en forma de mapa conceptual y llevarlo a clase en forma digital) del tema asignado, indagar sobre los
aspectos desconocidos, resolver las preguntas y los ejercicios planteados. Durante la clase, el estudiante deberá
participar en las discusiones del tema y en la formulación de preguntas orientadas a resolver las dudas que hayan
surgido al realizar las actividades mencionadas y las propuestas por el profesor; para esto, el estudiante deberá
llevar a clase en formato digital, los mapas conceptuales y soluciones planteadas a los ejercicios propuestos como
preparación del tema con el fin de discutir estas propuestas con todo el grupo. Después de cada clase, además
de realizar los trabajos asignados por el profesor para poner en práctica y afianzar conceptos, el estudiante deberá
reflexionar sobre la relación del tema con temas anteriores de este y otros cursos y con su futuro desempeño
profesional como Ingeniero de Sistemas.
EVALUACIÓN
Los exámenes del curso comprenden los temas en sus aspectos tanto teóricos como prácticos, y el profesor
eventualmente realizará evaluaciones cortas con o sin previo aviso, orales o escritas. En el caso de las
sustentaciones de trabajos grupales, serán tanto individuales como grupales.
La nota definitiva corresponderá al cálculo de las notas con la ponderación del cuadro anterior.
La herramienta de E-learning (Moodle) es el medio oficial para comunicar, publicar y entregar los
ejercicios y tareas del curso. Es responsabilidad del estudiante asegurar que su correo electrónico esté
registrado correctamente pues las comunicaciones se harán a través de Moodle.
Las tareas y trabajos desarrollados por los estudiantes deberán ser entregados en las fechas, horas, y
enlaces establecidos en Moodle. Lo que no se entregue en la fecha, hora, y enlace indicadas tendrán
una nota de cero (0.0). Los quices, tareas y demás pruebas y trabajos que no se presenten por falta de
asistencia o cualquier otro motivo también tendrán una nota de cero (0.0).
Para la entrega de trabajos grupales UN SOLO miembro del grupo debe hacer la entrega a través de
Moodle. DEBEN incluir un archivo de texto donde incluya los nombres de los demás miembros de
grupo y las instrucciones de compilación o de interpretación, si es del caso.
BIBLIOGRAFÍA
Este curso usa significativamente el primer libro de la lista abajo relacionada, aunque tiene material
complementario de otras fuentes. Todo el material del curso está disponible a través de la plataforma de
aprendizaje virtual, Moodle.
Material complementario: Estos recursos ayudarán al estudiante a complementar su trabajo académico en cada
uno de los temas durante el desarrollo del curso. Las recomendaciones sobre su consulta se irán realizando a
medida que se aborda cada tema.
1. Bass, Len, Paul Clements, Rick Kazman. Software Architecture in Practice, 3rd Ed. Addison Wesley, 2012.
2. Nick Rozansky, Eoin Woods. Software Systems Architecture. Pearson Education, 2008.
3. Buschmann, Frank, Regine Meunier, Hans Rohnert, Meter Sommerland, Michael Stal. Pattern
Oriented Software Architecture. John Wiley & Sons, 2001.
4. SWEBOK: Guide to the Software Engineering Body of Knowledge. http://www.swebok.org/
5. Garlan, David, Mary Shaw. An Introduction to Software Architecture.
http://www-2.cs.cmu.edu/afs/cs/project/able/ftp/intro_softarch/intro_softarch.pdf
6. Gamma, Erich, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable
Object-Oriented Software. Addison Wesley.
7. Jacobson, Ivar, Grady Booch, James Rumbaugh. El proceso unificado de desarrollo de software. Prentice
Hall.
8. Jacobson, Ivar, Grady Booch, James Rumbaugh. The Unified Modeling Language User Guide. Addison
Wesley.
9. MacCabe, Arthur. Sistemas Computacionales: arquitectura y organización. IRWIN, 1995.
10. Pressman, Roger. Ingeniería del Software: Un Enfoque Práctico. 8 Ed. Prentice Hall, 2006.
11. Sommerville, Ian. Software Engineering. 8 Ed. Addison Wesley, 2006.
12. Thayer, Richard, Merlin Dorfman. Software Requirements Engineering. IEEE.