• No se han encontrado resultados

ARQUITECTURA DE SOFTWARE CURRÍCULO

N/A
N/A
Protected

Academic year: 2018

Share "ARQUITECTURA DE SOFTWARE CURRÍCULO"

Copied!
15
0
0

Texto completo

(1)

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

(2)

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.

(3)

 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:

(4)

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

(5)

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

(6)

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

(7)

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

.

(8)

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

(9)

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.

(10)

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

(11)

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

(12)

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.

(13)

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,

(14)

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

(15)

Referencias

Documento similar

Como idea a defender se tiene: Si se diseña una Arquitectura de Software, que cumpla con los requerimientos y atributos de calidad establecidos para el Sistema de

Diseño de Software: está dividido en 6 temas: Fundamentos del Diseño, Elementos Claves, Estructura y arquitectura del software, Análisis de la calidad y evaluación, Notaciones

En este capítulo de describió la necesidad de evaluar la arquitectura de software, los momentos en que se debe evaluar, las personas que están involucradas en

Este documento contiene un estudio de los fundamentales elementos que constituyen la Arquitectura de Software, partiendo de sus principales conceptos, tendencias de los

El presente trabajo de diploma contiene un estudio de los principales elementos que constituyen la Arquitectura de Software, durante su desarrollo se realiza un análisis de

Las TAAC son programas de computadora que el auditor usa como parte de los procedimientos de auditoría para procesar datos importantes, contenidos en los sistemas de

La arquitectura involucra los elementos más significativos del sistema y está influenciada entre otros por las plataformas de software, sistemas operativos,

El trabajo en esta área está caracterizada por el desarrollo de lenguajes de descripción arquitectónica (ADLs). 2) Modelos de framework: Son similares a la vista estructural, pero