Desarrollo De Software Basado En Arquitectura
Enviado por aquisisese • 11 de Abril de 2013 • 1.266 Palabras (6 Páginas) • 1.846 Visitas
Desarrollo de Software Basado en Arquitectura
Historia
Secomenzóausardesde1990debidoaltamañoycomplejidaddelossistemasquecomenzaronasurgir.
Razones:
• Comunicación entre stakeholders
• Decisiones de diseño
• Abstracción transferible de un sistema
¿Qué es la arquitectura de software?
La arquitectura de software de un programa o sistema de computación es la(s) estructura(s) del sistema que compren de los componentes del software, las propiedades visibles de esos componentes y las relaciones entre ellos.
Arquitectura y sus efectos en los Stakeholders
La arquitectura afecta a todos los relacionados con el proyecto, afecta a los clientes, al gerente, al equipo de desarrollo, al equipo de pruebas, etc. Cada stakeholder se preocupa por partes específicas del sistema, y esto se ve reflejado en la arquitectura del sistema. La arquitectura provee un lenguaje mediante el cual los stakeholders comprenden el sistema y se comunican para tomar decisiones importantes.
Estructuras arquitectónicas
Existen diferentes tipos de vistas que permiten ver la arquitectura de un sistema más en detalle:
• Vista lógica
• Vista de código
• Vista de desarrollo
• Vista de coincidencia
• Vista física
Vista lógica
Abstracción de las funciones el sistema y sus relaciones.
Vista de código
Esta vista es la que ve el programador, los elementos que tiene este tipo de vista son clases, objetos, métodos y funciones y su composición para formar subsistemas, capas y módulos.
Vista de desarrollo
La vista de desarrollo la usan los desarrolladores, pero es diferente a la vista de código, esta es una vista de la estructura del código fuente, como un repositorio el cual varios usuarios (programadores de mantenimiento) crean, modifican y administran.
Atributos Funcionales
El termino requerimiento no se utiliza de forma consistente en la industria del software. En algunos casos, un requerimiento se visualiza como una declaración abstracta de alto nivel de un servicio que debe proveer el sistema o como una restricción de éste. Por otro lado, es una definición matemática detallada y formal de una función del sistema.
Los requerimientos funcionales de un sistema describen la funcionalidad o los servicios que se espera que éste provea. Estos dependen del tipo de software y del sistema que se desarrolle y de los posibles usuarios del software. Cuando se expresan como requerimientos del usuario, habitualmente se describen de forma general mientras que los requerimientos funcionales del sistema describen con detalle la función de éste, sus entradas y salidas, excepciones, etc.
Muchos de los problemas de la ingeniería de software provienen de la imprecisión en la especificación de requerimientos. Para un desarrollador de sistemas es natural dar interpretaciones de un requerimiento ambiguo con el fin de simplificar su implementación. Sin embargo, a menudo no es lo que el cliente desea. Se tienen que estipular nuevos requerimientos y se deben hacer cambios al sistema, retrasando la entrega de éste e incrementando el costo.
En principio, la especificación de requerimientos funcionales de un sistema debe estar completa y ser consistente. La compleción significa que todos los servicios solicitados por el usuario están definidos. La consistencia significa que los requerimientos no tienen definiciones contradictorias. En la práctica, para sistemas grandes y complejos, es imposible cumplir los requerimientos de consistencia y compleción. La razón de esto se debe parcialmente a la complejidad inherente del sistema y parcialmente a que los diferentes puntos de vista tienen necesidades inconsistentes. Estas inconsistencias son obvias cuando los requerimientos se especifican por primera vez. Los problemas emergen después de un análisis profundo. Una vez que éstos se hayan descubierto en las diferentes revisiones o en las fases posteriores del ciclo de vida, se deben corregir en el documento de requerimientos.
Atributos de Calidad
La construcción de Software se ha convertido en una disciplina de mucho auge en los últimos años. Para nadie es un misterio que
...