Pregunta

He estado creando más y más sistemas recientemente y encuentro cada vez más planificación y preparación que hago antes de comenzar el proyecto.

Determino qué bibliotecas o marcos usaré, qué idiomas, la arquitectura básica de cómo fluirá el sitio, etc.

También he oído hablar de otros procesos de diseño, como colgar bolas de espuma de poliestireno para mostrar dónde están las clases y cómo se relacionan, que es un proceso del que nunca he oído hablar ni sé cómo funciona.

¿Hay algún software que ayude con este proceso? ¿Hay alguna directrices o pasos o tiene un conjunto recomendado de pasos o pautas que siga al diseñar un nuevo proyecto?

¿Fue útil?

Solución

Entonces estás haciendo arquitectura de solución. No hay metodologías de las que conozca, al menos ninguna que se describa sucintamente en cuatro páginas o menos (algo que me interesa encontrar).

Para responder tu pregunta:

1 - Comprender las limitaciones

Lo obvio es comprender el problema que está tratando de resolver y el contexto.
Es posible que tenga una mano libre o puede estar limitado por los estándares existentes, donde trabajo (en un gobierno agency) tenemos muchas tecnologías y sistemas diferentes, y hay un orden jerárquico cuando miramos otra cosa; Tecnología que preferimos y la tecnología de la que estamos tratando de crecer.

Zachman es un marco de arquitectura empresarial; Es posible que lo resulte interesante, pero dudo que tenga mucha relevancia en el nivel de solución, específicamente. Togaf es otro.

2 - Vistas

Lo que pasa con Togaf (y Zachman) es que tiene el concepto de diferentes "vistas", por ejemplo::

  • vista de seguridad
  • vista de datos
  • vista tecnológica
  • vista de aplicación
  • vista de proceso
  • Vista de soporte
  • visión operativa
  • vista de facturación
  • vista de usuario
  • rendimiento, etc ...

Justo al frente, desea pensar cuidadosamente sobre qué vistas son relevantes para el sistema que está planeando / arquitectando. A medida que se desarrolla el proyecto / sistema, debe tenerlos en cuenta; Ayudarán a guiar las decisiones importantes. También me gusta este apupo / forma de pensar porque funciona en la línea de "dividir una conquista": divida un gran rompecabezas en los más pequeños.

3 - Modelado

No he oído hablar de usar bolas de espuma de poliestireno antes, pero la idea de modelar las relaciones de una manera táctil suena muy atractiva, aunque si es un sistema grande, es posible que necesite una habitación realmente grande :)

La pizarra es mi forma favorita de explorar cómo se relacionan las clases (y cualquier cosa, realmente). Aconsejo tener una cámara digital con usted, o un teléfono con una cámara incorporada; Uso este último, tomo fotos de la pizarra según sea necesario y luego las sincronito con mi computadora después de la reunión y envíe copias por correo electrónico a los asistentes. Es muy fácil capturar la información y también te hace ver bastante profesional.

UML es muy útil, pero es posible que deba elegir qué bits de él usa según su audiencia; depende de la forma formalmente que desee ver las cosas.

Los sistemas de modelado formalmente en una herramienta de modelado (y el uso de UML formal, en lugar de solo diagramación, en general, Visio) es muy útil. Si no está familiarizado con hacer esto, encontrará que hay un umbral de dolor por el que tiene que pasar, pero generalmente vale la pena cuando:

  • El sistema está por encima de cierto tamaño / complejidad, o
  • Tienes muchos sistemas más pequeños para trabajar.

4 - Metodología del proyecto

Soy un gran fanático de Agile / Scrum. Estoy buscando formas de aplicar principios ágiles a la arquitectura SLN, pero todavía no tengo nada.

Asistí a una buena sesión en Tech -Ed el año pasado (ARC202 desafiando el papel del arquitecto con Kevin Francis). Tengo un escrito aquí.

Esta fue una excelente sesión: es la primera vez que he visto a alguien explicar cómo una (¿una solución?) El arquitecto debería participar en un proyecto, independientemente de la metodología. Kevins, un defensor ágil, y su charla se centró en eso, lo que lo hizo el doble de bueno: cómo ajustar la arquitectura y el ágil.

Otros consejos

A algunas personas les gusta Kanbano.

Otros encuentran Uml ser útil.

Arquitectura winks usa el Marco de Zachmann.

Creo que la mayoría de la gente usa una combinación de estas técnicas. Es importante ser flexible: cada proyecto es diferente. Sigue agudizando sus habilidades y procesos de gestión y encontrará un flujo de trabajo que funcione mejor para la mayoría de sus proyectos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top