1. VISIÓN GENERAL
1.1 DATOS GENERALES
Programa: Ingeniería de Sistemas.
Asignatura: Arquitectura de Software.
Semestre o
nivel créditos No. de Tutoría Horas independientes Horas horas Total
07 3 30 114 144
1.2 INTRODUCCIÓN
La necesidad del diseño y el análisis de las arquitecturas de software, ha llevado al deseo de la creación de herramientas que deben permitir documentar la arquitectura, hacer uso de artefactos previos, servir de ayuda en la exploración de arquitecturas alternativas, y soportar métricas arquitectónicas. La arquitectura de software es una forma de representar sistemas complejos mediante el uso de la abstracción. Deberá además garantizar que el sistema construido si corresponda con la arquitectura planteada, mediante un proceso de análisis arquitectónico sistemático.
La arquitectura de software es importante como disciplina debido a que los sistemas de software crecen de forma tal que resulta muy complicado que sean diseñados, especificados y entendidos por un solo individuo. El proceso de recolección, mantenimiento y validación de la información arquitectónica es tedioso y altamente propenso a errores. El control de revisión, análisis de dependencias y proceso de pruebas son sólo algunos ejemplos de herramientas que automatizan exitosamente las tareas que se repiten constantemente
durante el desarrollo.
1.3 IMPORTANCIA
sociedad informatizada de hoy, La calidad del software permite elaborar actividades sistemáticas que se necesitan para lograr software con calidad, la Calidad involucra actividades de evaluaciones, auditorias y revisiones, estándares que se aplicarían al proyecto, mecanismos de medida (métricas), métodos y herramientas de análisis, diseño, programación y prueba, documentación y control.
1.4 COMPETENCIAS (de egreso)
Se apropia y aplica adecuadamente los procesos de modelamientos UML. Plantea y propone metodologías para la documentación de las prácticas productivas de desarrollo de software.
Desarrolla criterios de aplicación en contextos diversos, de los patrones de elementos reusables en la arquitectura del desarrollo.
Propone solución a necesidades reales en contextos diversos del desarrollo de software.
Determina con claridad situaciones pertinentes a la aplicación de programación orientada a aspectos, dada las características del negocio.
Visiona esquemas y estructuras sistémicas viables para el desarrollo de software según las necesidades o circunstancias expuestas.
Propone soluciones eficientes, eficaces, óptimas y pertinentes al momento de realizar un pre análisis de la necesidad de desarrollo.
1.5 OBJETIVOS
1.5.1 OBJETIVO GENERAL
Apropiar en el estudiante conceptos y prácticas de Arquitectura y Diseño de Software aplicables a escenarios de la vida real.
Conocer las generalidades y conceptos básicos de UML y el desarrollo de aplicaciones para la infraestructura de un proyecto web.
Presentar de manera práctica las diferentes metodologías y buenas
prácticas para documentación y evaluación de arquitecturas de software
Apropiar el uso de catálogos de elementos reusables en el diseño de
sistemas software
Identificar las características de un framework para Web y apropiarse
del modelado bajo el enfoque MDA.
Aprender a definir los conceptos entre Aspectos y un lenguaje orientado
por objetos.
1.6 REQUISITOS (de ingreso)
Para la comprensión, aplicación, apropiación adecuada y contextualización de los términos, conceptos, estructuras y procedimientos manejados en esta asignatura, es considerado como prerrequisito de ingreso en el estudiante el conocimiento claro sobre ingeniería del software en todos sus niveles y dimensiones. Los términos propios de la programación desde la lógica procedimental hasta la lógica orientada a objetos y eventos, además del conocimiento y manejo con cierta destreza de lenguajes de programación orientada a objetos. De otro lado es necesario que tenga un manejo demostrable de los conceptos y aplicación sobre la arquitectura y funcionamiento estructural del sistema operativo, su sistema de enlace con aplicaciones y software de desarrollo, sus eventos programables y sus librerías de interacción. Fundamentando en todo lo anterior las temáticas a tratar en la asignatura arquitectura del software. Además el manejo de las siguientes competencias básicas:
o Comprender los textos escritos, dando cuenta del tema global y de los
subtemas, identificando y jerarquizando las unidades de información semántica que los estructuran, interpretando la información explícita e infiriendo la información implícita, atribuyendo valores y reflexionando a partir del significado de lo que lee en una amplia gama de textos.
o Seleccionar, jerarquizar, analizar y relacionar la información.
o Comunicar las ideas en forma oral y escrita, sabiendo estructurar y
presentar el trabajo académico, habiendo alcanzado un nivel ortográfico aceptable, manejando adecuadamente la puntuación, haciendo uso de una importante disponibilidad léxica, usando correctamente las estructuras gramaticales-oracionales.
Compromiso con su proceso educativo.
o Tener conciencia de que su rol como estudiante no se reduce a recibir
pasivamente la información y demostrar poseerla en una prueba, sino que debe ser parte activa del continuo proceso de enseñanza y aprendizaje.
o Comprender que el conocimiento no es una colección de hechos ni tiene
un carácter meramente cuantitativo.
o Considerar al docente o tutor como facilitador del proceso de
o Reflexionar acerca de su actitud frente a la adquisición del conocimiento
y adecuar sus tácticas y estrategias de estudio a los requerimientos universitarios, mostrando autonomía a la hora de organizar su dedicación al proceso de aprendizaje.
o Tener autonomía y criterio propio para obtener, procesar e integrar
información proveniente de fuentes diversas, entendiéndolo como un enriquecimiento del proceso de enseñanza y aprendizaje.
Capacidad de integrar diferentes enfoques.
o Considerar las diferentes opiniones (incluso, sobre un mismo tema)
como fuente de enriquecimiento intelectual propio del conocimiento universal y de la enseñanza universitaria y no como una falla del sistema educativo que denunciaría incoherencias y debilidades.
o Saber trabajar en equipo, siendo parte activa del mismo, propiciando el
diálogo, el acuerdo y la cooperación.
o Reconocer el carácter dinámico de los saberes, relativizando algunas
1.7 ESQUEMA
Área Nivel de
Formación
Objetivos
Global Específica General Específicos
A p ro p iaci ó n A p ro p iaci ó n y apl icac ió n d e sabe re
s X Perceptual x Apropiar x conocer
Describir x Aprender Aprehensivo Comparar x Apropiar
Analizar x Identificar Comprensivo Explicar Explicar
Predecir x Presentar Proponer Proponer
Integrativo Modificar Modificar Utilizar Confirmar Evaluar Evaluar
Indicadores Metodológicos
Propósito de Formación
x Fundamentación conceptual x Fundamentación procedimental x Aplicación en el saber específico
Competencias a Desarrollar
Interpretativas Argumentativas x Propositivas
Uso del Conocimiento
x Capacidad para representar
Capacidad para reconocer equivalencias
x Capacidad para recordar objetos y sus propiedades
Uso de Procedimientos
x Habilidad y destreza para usar equipos
2 UNIDADES
2.1 UNIDAD 1 EL MODELAMIENTO UNIFICADO UML
UML es un lenguaje estándar que sirve para escribir los planos del software,
puede utilizarse para visualizar, especificar, construir y documentar todos los artefactos que componen un sistema con gran cantidad de software. UML puede usarse para modelar desde sistemas de información hasta aplicaciones distribuidas basadas en Web, pasando por sistemas empotrados de tiempo real.
Tema 1 Técnicas comunes y Avanzadas de modelado con UML
Este tema deberá iniciar con una definición clara de lo que es UML dentro de su contexto unificado, denotando a su vez las étnicas comunes o básica como son las notas, estereotipos, el valor de etiquetado y las restricciones aplicables a este tipo de objetos y procesos. Desde las técnicas avanzadas es necesario para un modelamiento adecuado, tener claro los términos de metodología modelo y sus tipos cualitativo y cuantitativo, la división de los bloques de construcción, se deben plantear características, diferenciación y correlación entre los elementos estructurales, comportamentales, de agrupación y anotación.
Tema 2 Reglas del Negocio
Siendo los servicios del negocio el puente entre los usuarios y los servicios de datos establecidos, es necesario dentro de este tema involucrar y clarificar las tareas y reglas del negocio, a si como las funciones y responsabilidades de este nivel en el proceso de modelamiento.
Tema 3 Principios de desarrollo de aplicaciones Web
Bajo este temática el estudiante deberá comprender y aplicar conceptos y características relacionados con los principios como tal del desarrollo para la web a saber: orientación al usuario, contenido ético, simplicidad, sencillez y minimalismo, forma estética y atractiva del proyecto, efectos de transmisión de emociones, contenido y herramientas actuales, permisión de la
interactividad y enfoque global y escalable de la aplicación en desarrollo
.
Se espera prevea dominio y apropiación de los conceptos inmersos en las diferentes fases de proceso unificado de desarrollo, etapas, hitos, iteraciones y ciclos abordables en las fases de iniciación, Elaboración, Construcción, Transición. Las formas de organización del proceso bien sea: por casos de uso, según su arquitectura o por ciclo de vida. Los flujos de trabajo, actividades, roles y artefactos y las fases de iniciación, elaboración, Construcción y
transición
.
2.2 UNIDAD 2 LA ARQUITECTURA DE SOFTWARE
Es necesario que cualquier arquitectura de software describa los múltiples aspectos del software, cada uno de estos aspectos se describir de forma clara y sencilla en cada modelo o vista. Cada modelo es una descripción parcial de una misma arquitectura y es benéfica la existencia de solapamiento entre ellos, debido a que todas las vistas deben ser coherentes entre sí, dado que describen la misma cosa.
Tema 1 Modelos de arquitectura de software
En esta parte es necesario que el estudiante comprenda y aplique las propiedades estructurales y extra funcionales, los modelos estructúrales, Framework, dinámicos, de procesos y funcionales, los estilos arquitectónicos según los modelos de descomposición del sistema y modular, de control y de dominio.
Tema 2 Criterios de definición de un ADL
Dentro de estos criterios deberá abordarse y estructurar estrategias de aplicación a las conceptos de Propósito, Contexto, escenarios, Roles, Método de análisis, fortalezas y Debilidades del proceso, sus métodos de análisis, fortalezas y debilidades del mismo.
Tema 3 Modelado Arquitectónico en UML 2.0
2.3 UNIDAD 3 DEFINICIONES Y PATRONES DE SOFTWARE
Un patrón es el denominador común, una estructura común que tiene aplicaciones semejantes, como en la vida cotidiana aplicamos a menudo el esquema saludo-presentación-mensaje-despedida en ocasiones diversas, que van desde un intento de ligar hasta dar una conferencia (si todavía no cree que existan patrones o que no son útiles intente ligar con el esquema despedida-mensaje-presentación-saludo, a ver qué ocurre).
Tema 1 Definiciones Básicas
Abordando los patrones de diseño desde su definición hasta su clasificación según su clase y objeto, denotando sus propósitos y ámbitos.
Tema 2 Catálogos de Patrones
Según sus características y formas de aplicación los patrones pueden definirse dentro de algunos catálogos agrupadores, por ello debe trabajarse desde su concepto e implementación patrones como el delegado, compuesto, decorador, intermediario, iterador, observador, vista controlador y Data Access Object,
2.4 UNIDAD 4 FRAMEWORKS Y EL MÓDELO MDA (Model Driven Architecture)
El FrameWork es un concepto genérico, referido a ambiente de trabajo, y ejecución, es el caso de .Net un framework para desarrollar aplicaciones sobre Windows. En general los framework son soluciones completas que contemplan herramientas de apoyo a la construcción y ejecución. Los frameworks de Java son librerías (API’s) para desarrollar aplicaciones Web.
MDA será abordado como el estilo de desarrollo del software donde el artefacto primario son los modelos a partir de los cuales se obtiene el código y otros artefactos. Estos modelos se usan para pensar en el modelo del problema y el modelo de la solución según un conjunto de reglas abordadas.
Tema 1 Definición y Estructura del Frameworks
Temática para clarificar y apropiarse de conceptos que permitan definir un Framework, el patrón MVC y model 2, los tipos de framework para Web, sus características y el concepto de URLs.
Tema en el cual se pretende clarificar el conceptos como MDA, CIM, PIM, PSM, los procesos tradicionales de programación en su esquema fundamentado en el proceso interactivo teórico y el atrajo de los programadores, el ciclo de vida de la forma tradicional y la el esquema del modelo MDA. Además del proceso unificado de desarrollo (PIM) y su estructura de niveles de transformación, la infraestructura y papel del núcleo común, los meta modelos y el papel de UML y sus perfiles.
2.5 UNIDAD 5 LOS ASPECTOS
Se ha demostrado que el enfoque orientado a aspectos es una tecnología potente que permite separar las propiedades en un proceso de felicitando la construcción de software con una mayor modularidad, su reusabilidad, fiabilidad, mantenimiento y evolución. Aunque la aplicación de estas técnicas en proyectos de gran escala se dificulta por falta de un proceso claro de desarrollo orientado a aspectos. Hasta ahora la identificación, especificación e implementación de los aspectos la realizaban los programadores, ad-hoc, en la fase de implementación, viéndose obligados a rediseñar el sistema. Al no disponer de metodologías de desarrollo suficientemente.
Pero aunque no existe una definición consensuada de aspecto que sirva para los diferentes Niveles de desarrollo si existen aspectos a nivel de ingeniería de requisitos y diseño.
Tema 1 Definiciones Básicas
Como definiciones básicas para el manejo de los la programación orientada a aspectos, debemos abordar el POA, su esquema de implementación, sus fundamentos la estructura general de aplicación del mismo y sus lineamientos de desarrollo.
Tema 2 Lenguajes Orientados a aspectos
Se deben caracterizar y mostrar la estructura funcional de algunos lenguajes orientados a aspectos disponibles actualmente como son: el JPAL, D, COOL, y RIDL.
3 RESUMEN
La arquitectura de software como asignatura que define la estructura y fundamentación y funcionalidad sistémica de un software desarrollado, tiene relación con temas que de alguna manera aportan a la construcción de dicha estructura a saber, estructura de datos desde los cuales se analiza, dispone y diseña y valida la eficiencia y pertinencia en el almacenamiento y forma de operación de los datos en proceso, tiene relación directa con la arquitectura y lineamientos funcionales del sistema operativo dado que desde la arquitectura del software en desarrollo convergen enlaces y librerías que alimentan o demandan información común, los lenguajes de programación orientados a objetos deben tributar de igual manera los razonamientos lógicos y formas de escritura y estructuración del código escrito o procedimientos utilizados para redundar en una plataforma sistémica que permita la funcionalidad, escalabilidad, compatibilidad y eficiencia del proyecto en desarrollo. De hecho la ingeniería del software también deberá aportarle directamente lineamientos de construcción de objetos, estándares de manejo de memorias y comunicación de librerías inter-sistémicas usables en la arquitectura del mismo.
3.2 FUENTES
3.2.1 Fuentes bibliográficas
SÁNCHEZ PÉREZ Javier, Metodologías de Desarrollo Software Facultad
de Informática, 1998,
GARCÍA MOLINA Jesús Ignacio, Departamento de Informática y
Sistemas, 2004, Univ. De Murcia.
REYNOSO Billy, Arquitectura para distribución y agregación: Services
Oriented Architecture (SOA) 2006, U. Buenos Aires
CARMONA VANEGAS Juan de Dios, Web Services en paralelo con SOA,
implementaciones, 2010 CESDE,
CARMONA VANEGAS Juan de Dios, Diagramas de casos de uso de los
ejercicios que realizados para proyectos de producción, 2011, CESDE.
3.2.2 Fuentes digitales o electrónicas
www.monografías.com, Arquitectura de Desarrollo de Software, tomado
el 4 de Noviembre 2011
www.wikipedia.com
4 METODOLOGÍA
4.1 PRESENCIAL Y DISTANCIA
Como estudiante del programa de educación a distancia de la Corporación Universitaria Remington, usted es el centro del modelo educativo y puede controlar el proceso de aprendizaje mediante la organización del tiempo alrededor de sus intereses. La autonomía, disciplina, creatividad y el trabajo en equipo son características que el ayudarán en su formación para solucionar problemas reales de la sociedad, recurriendo al método de la ingeniería.
Para fortalecer el desarrollo del curso se realizarán diferentes actividades:
Estudios individuales apoyados en diferentes medios (impresos, internet,
entre otros), previos a cada encuentro presencial.
Estudios en grupo y acompañamiento del profesor a través de herramientas
que ofrece internet, redes sociales y demás formas de interacción virtual.
Tutorías presenciales cuya finalidad es apoyar el aprendizaje, afianzar los
temas estudiados y mediante puestas en común de criterios construir conceptos y saberes significativos.
Los medios
Textos: que se encuentran bien definidos en la bibliografía sugerida por el curso y algunos módulos que serán elaborados por los docentes de cada curso. Enlaces Bibliográficos: En los módulos normalmente aparecen varios nombres de textos, con sus correspondientes autores, mediante los cuales se puede complementar la información. Adicionalmente existen unas referencias bibliográficas extraídas de internet.
Guías de actividades: Cada profesor diseña el plan de la signatura, mediante el cual se articulan las temáticas y los tiempos, de tal forma que se dé respuesta al proceso de formación con base en créditos académicos.
Tecnológicos: se utilizan los recursos audiovisuales que posea el Centro de Atención Tutorial para ver información en video, audio o virtual.
Salas de computador: de acuerdo a la asignatura.
Las mediaciones establecidas en La Corporación Universitaria Remington, para el desarrollo de los procesos de aprendizaje a distancia son las siguientes:
Tutoría Presencial: Es la mediación más importante en el proceso dadas varias razones entre ellas lo significativos que esta es para los alumnos y profesores sin pretender conservar la naturaleza de programa presencial ni semi-escolarizado, dado que los tiempos de todas maneras se reducen comparativamente.
Tutoría Virtual: Esta mediación articula medios como el computador y la plataforma, de tal manera que esta herramienta sea funcional y efectiva. Para la aplicación de esta mediación se pone a disposición de los tutores las salas de cómputo para su comunicación en estudiantes, orientando y controlando la dirección académica y administrativa de la escuela de educación a distancia. Este tipo de tutoría será puntual y pactada entre estudiantes y tutor, dado que nuestra modalidad es a distancia y no virtual, esto será solo una herramienta de apoyo.
5 EVALUACIÓN
El proceso de evaluación, tiene como propósito principal la aprehensión del conocimiento, por esto es relevante el concepto previo con que llegan nuestros aprendices, para al finalizar la asignatura poder medir los conocimientos con los que han logrado culminar y las competencias que desarrolló que le permitirán ser aplicadas en su vida laboral y personal.
Se evaluarán las tanto las competencias como las habilidades que se producen en el desarrollo de la asignatura y que tiene que ver con el dominio de concepto, destrezas y actitudes que el estudiante demuestra en forma integral y que puede ser identificado y evaluado mediante instrumentos previamente establecidos por el programa académico.
Cumpliendo con los parámetros de evaluación de la Corporación Universitaria Remington, debemos tener muy en cuenta la autoevaluación y coevaluación, es por esto que del 100% de la evaluación esta corresponde al 10%.
MOMENTO EVALUATIVO PORCENTAJE TIPO DE EVALUACIÓN
Primer parcial: 20% Evaluación escrita
Segundo parcial: 20% Evaluación escrita
Seguimiento: 30% Se realizarán trabajos,
dando cumplimiento con lo establecido con el estudiante, se evaluarán los trabajos escritos con el aporte metodológico y analítico del dicente, desarrollos asesorados en el tiempo de clase y en forma independiente o dependiente soportado por los conceptos teóricos y prácticos de los temas vistos en la
asignatura. Los exámenes
cortos se harán en mutuo acuerdo con los estudiantes evaluando los temas tratados anteriormente.
Los trabajos, talleres,
desarrollos y exámenes se harán durante todo el periodo académico.
Co evaluación: 10% Se le realizará un seguimiento
al estudiante durante todo el periodo académico, teniendo en cuenta la realización de trabajos escritos, desarrollos en clase y
extra clase, evaluaciones,
asistencia, participación y
entrega con la asignatura. Llegando a un mutuo acuerdo entre el estudiante y el docente se le asignará una nota.
Final: 20% Será un examen tipo solución
de problemas mediante