¿Porque cree usted que es importante la arquitectura de software del sistema
de información? R/ La arquitectura de software, en un sentido estricto, se define como el conjunto de estructuras que componen el sistema, lo que incluye elementos de software, las relaciones entre los mismos, y las propiedades tanto de los elementos como de sus relaciones, En otras palabras, la arquitectura de software define el conjunto de componentes de un sistema, las interfaces de comunicación de los mismos, y la manera como estos componentes se comunican entre ellos usando estas interfaces, La arquitectura de un sistema de software se diseña para satisfacer los requerimientos funcionales y no funcionales establecidos por los interesados en el sistema (ej.: usuarios, clientes, proveedores).
b. ¿Cómo elaborar el diseño arquitectónico de un sistema de información?
R/ es la primera etapa técnica del proceso de ingeniería del software, consiste en producir un modelo o representación técnica del software que se va a desarrollar. La arquitectura nos identifica los elementos más importantes de un sistema así como sus relaciones, es decir nos da una visión global del sistema. COMO SE INICIA: el diseño arquitectónico comienza con el diseño de datos y después procede a la derivación de una o más representaciones de la estructura arquitectónica del sistema tres variables principales tiempo, satisfacción del cliente, costos de los desarrollos. - El diseño de datos: nos facilita la representación de los componentes de datos de la arquitectura. - Diseño arquitectónico: se centra en la representación de la estructura de los componentes del software, sus propiedades e interacciones.
c. ¿Qué debe tener en cuenta para elaborar el informe de diseño de un sistema
de información? R/ El diseño de sistemas tiene tres objetivos. Primero, el diseñador de sistemas es responsable de la consideración de otras configuraciones de tecnología para llevar a cabo y desarrollar el sistema tal y como fue descrito por el análisis. Esto puede implicar análisis del desempeño de diferentes elementos de hardware y software capacidades de los sistemas, alternativas de redes y la transpirabilidad del hardware de los sistemas. Segunda, los diseñadores son responsables por la administración y el control de la realización técnica de los sistemas. Las especificaciones detalladas de programación, la codificación de los datos, la documentación, pruebas y la capacitación, son todos responsabilidad del equipo de diseño. Además, los diseñadores son responsables del abastecimiento actual del hardware y el software que se necesita para el sistema. Tercero, el diseñador de sistemas detalla las especificaciones del sistema que darán las funciones identificadas durante el análisis de sistemas. Estas especificaciones deben tocar todos los componentes administrativos, organizacionales y tecnológicos de la solución de sistemas. Especificar los elementos de diseño lógico d. ¿Cómo aplicar el modelo de capas en la determinación de la arquitectura de software del sistema de información? R/ La arquitectura basada en capas se enfoca en la distribución de roles y responsabilidades de forma jerárquica proveyendo una forma muy efectiva de separación de responsabilidades. El rol indica el modo y tipo de interacción con otras capas, y la responsabilidad indica la funcionalidad que está siendo desarrollada. El estilo de arquitectura basado en capas se identifica por las siguientes características: • Describe la descomposición de servicios de forma que la mayoría de la interacción ocurre solamente entre capas vecinas. • Las capas de una aplicación pueden residir en la misma maquina física (misma capa) o puede estar distribuido sobre diferentes computadores (n-capas). • Los componentes de cada capa se comunican con otros componentes en otras capas a través de interfaces muy bien definidas. • Este modelo ha sido descrito como una “pirámide invertida de re-uso” donde cada capa agrega responsabilidad y abstracción a la capa directamente sobre ella. BENEFICIOS Los principales beneficios del estilo de arquitectura basado en capas son: • Abstracción. Las capas permiten cambios que se realicen en un nivel abstracto. Usted puede incrementar o disminuir el nivel de abstracción usado en cada capa de la “pila” jerárquica. • Aislamiento. El estilo de arquitectura de capas permite asilar los cambios en tecnologías a ciertas capas para reducir el impacto en el sistema total. • Rendimiento. Distribuir las capas entre múltiples sistemas (físicos) puede incrementar la escalabilidad, la tolerancia a fallos y el rendimiento. • Mejoras en Pruebas. La capacidad de realizar pruebas se beneficia de tener una interfaces bien definidas para cada capa así como de la habilidad para cambiar a diferentes implementaciones de las interfaces de cada capa. • Independencia. El estilo de arquitectura basado en capas el requerimiento de considerar el hardware y los problemas de instalación así como las dependencias de interfaces externas.
e. ¿Cómo aplicar los diagramas de despliegue en la determinación de la
arquitectura de hardware del sistema de información? R/ En estos diagramas se representan dos tipos de elementos, nodos y conexiones, así́ como la distribución de componentes del sistema de información con respecto a la partición física del sistema. En MÉTRICA Versión 3 se propone una definición concreta de nodo, prescindiendo de determinados detalles, pero permitiendo una continuidad tanto en el diseño como en la construcción del sistema de información. Con este fin, se utiliza el nodo como partición física o funcional real, pero sin descender a detalles de infraestructura o dimensionamiento; por ejemplo, interesa si el nodo procesador es arquitectura Intel, pero no tanto si tiene dos o cuatro procesadores. Las conexiones representan las formas de comunicación entre nodos. Además, a cada nodo se le asocia un subsistema de construcción que agrupa componentes software, permitiendo de este modo, determinar la distribución de estos componentes. Por lo tanto, un diagrama de despliegue puede incluir, dependiendo del nivel de detalle, todos los elementos descritos en la técnica de diagrama de componentes, además los nodos y las conexiones propios de esta técnica. Nodo Se representa con la figura de un cubo. El nodo se etiqueta con un nombre representativo de la partición física que simboliza. Se pueden asociar a los nodos subsistemas de construcción. Conexión Las conexiones se representan con una línea continua que une ambos nodos y pueden tener una etiqueta que indique el tipo de conexión. (Ejemplo: canal, red, protocolo, etc.)
f. ¿Cuál es el rol del analista al momento de elaborar el diseño se considerará
como arquitecto de software? R/ si por que El Arquitecto de Software debe ser una persona con amplios conocimientos técnicos, gran experiencia en programación, liderazgo y que ejerza las siguientes funciones: Gestión de los requisitos no funcionales y definición de la Arquitectura de Software Selección de la Tecnología Mejora continua de la Arquitectura Facilitador Líder y Formador Aseguramiento de la Calidad En muchos proyectos de software se suele preguntar a los usuarios qué características desean en el producto a desarrollar, pero muchas veces se pasan por alto los requisitos no funcionales, o cualidades del sistema, que se necesitan.
Los requerimientos no funcionales tienen que ser específicos, medibles, alcanzables y
comprobables, para poder satisfacerlos (no basta con algo subjetivo como: “el sistema debe ser rápido”), y además hay que saber priorizarlos de manera que todos sean tomados en cuenta.
Características como el rendimiento, la escalabilidad, la disponibilidad, auditoría, etc., son
requisitos no funcionales que deben ser definidos e incluso cuestionados cuando se considere oportuno y es el Arquitecto de Software quien debe asumir estas funciones.
g. ¿Es importante la aplicación de las plantillas para la determinación de los
elementos del sistema de información, así como sus costos? R/ si es importante porque La estimación de costos en el desarrollo de software es un factor realmente importante para el análisis de los proyectos, constituye un tema estratégico contar con métricas para medir el costo de un proyecto de software garantizando la eficiencia, competitividad, eficacia y excelencia. Un elemento indispensable en cualquier sistema económico constituye el asegurar el papel del costo en la planificación del país y fundamentalmente en la correcta dirección de la empresa mediante mecanismos ágiles que permitan un elevado grado de confiabilidad. Actualmente, aquellas empresas que pretendan alcanzar un nivel competitivo, necesitan de un buen sistema de costos que les sirva de base para la toma de decisiones. La definición de los diferentes tipos de costos por áreas de responsabilidad y centros de costos es una gran ventaja para cualquier organización.