Análisis y diseño de productos de software

Análisis y diseño de productos de software

Análisis y diseño de productos de software

Podemos dividir el análisis y diseño de productos de software en dos disciplinas:

Arquitectura y Diseño

En las primeras fases del ciclo de vida del software mediante esta disciplina se llevan los requisitos solicitados a la arquitectura que soportará el futuro sistema. Mediante un diseño de componentes se tiene la idea de cómo funcionará el sistema, su composición y diseño visual. Luego por cada componente en la etapa de Desarrollo de Requisitos se refina la arquitectura y el diseño. Ya en la Construcción del Software se completan los mismos a partir de cambios que surgen de necesidades de implementación para que la arquitectura soporte todos los requisitos especificados.

En resumen se modela el sistema y se define la estructura (incluida la arquitectura) para que soporte todos los requisitos, incluyendo los requisitos no funcionales y otras restricciones. En concreto, los propósitos de esta disciplina son:

Objetivos de la disciplina
  • Adquirir una comprensión en profundidad de los aspectos relacionados con los requisitos no funcionales y restricciones relacionadas con los lenguajes de programación, componentes reutilizables, sistemas operativos, tecnologías de distribución y concurrencia, tecnologías de interfaz de usuario, tecnologías de gestión de transacciones, etc.
  • Crear una entrada apropiada y un punto de partida para actividades de implementación subsiguientes capturando los requisitos o subsistemas individuales, interfaces y clases.
  • Ser capaces de descomponer los trabajos de implementación en partes más manejables que puedan ser llevadas a cabo por diferentes equipos de desarrollo, teniendo en cuenta la posible concurrencia.
  • Capturar las interfaces entre los subsistemas antes en el ciclo de vida del software. Esto ayuda cuando se reflexiona sobre la arquitectura y cuando se utilizan interfaces como elementos de sincronización entre diferentes equipos de desarrollo.
  • Ser capaces de visualizar y reflexionar sobre el diseño utilizando una notación común.
  • Crear una abstracción sin costuras de la implementación del sistema, en el sentido de que la implementación es un refinamiento directo del diseño que rellena lo existente sin cambiar la estructura. Esto permite la utilización de tecnologías como la generación de código y la ingeniería de ida y vuelta entre el diseño y la implementación.
  • Definir las pautas de diseño para las interfaces de usuario y la arquitectura de información.
  • Proporcionar la organización de la información y los requisitos en el sistema potenciando la usabilidad del mismo.
Productos de trabajo:
  • Arquitectura de Software Guía Base
  • Arquitectura de Sistema
  • Vista de Arquitectura de Datos
  • Vista de Arquitectura de Presentación
  • Arquitectura de Tecnología e Infraestructura
  • Modelo de diseño

Especificación de Requisitos

Define qué es lo que el sistema debe hacer a partir del listado original de requisitos levantado con el cliente en el inicio del proyecto, durante el modelado de negocio y la arquitectura y diseño. Para esto:

  • Identificar requisitos derivados
  • Determinar todos los requisitos no funcionales a partir de la arquitectura definida
  • Validar, priorizar y evaluar los requisitos
  • Especificar mediante escenarios, prototipos y storyboard.
Objetivos de la disciplina
  • Definir los límites (alcance) del sistema.
  • Proporcionar al cliente un entendimiento común de los requisitos del software mediante descripciones en lenguaje natural y prototipos.
  • Brindar a los desarrolladores del sistema una descripción detallada de los requisitos del sistema. Para esto se utilizan escenarios, prototipos, storyboarding y otras técnicas de especificación.
  • Definir para los probadores un conjunto de casos de prueba basados en las especificaciones de requisitos para obtener la mayor cantidad de defectos posibles en el software y poder solventarlos correctamente en la disciplina de pruebas.

Los requisitos son la pieza fundamental en un proyecto de desarrollo de software. En ellos se basan los participantes del proyecto para:

  • Planear el proyecto y los recursos que se emplearán en él
  • Especificar los tipos de pruebas que se habrán de realizar al sistema.
  • Son el fundamento del ciclo de vida del proyecto.
Productos de trabajo:

El servicio de análisis y diseño de productos de software

Abarca actividades, generación de productos de trabajo descritos para estas disciplinas. Si usted tiene un equipo de desarrolladores pero le falta un analista o tiene planes para hacer un producto y aun no ha conformado el equipo, solo tiene que Contactarnos y lo ayudaremos a concebir y especificar su producto de software.