Durante el desarrollo de un nuevo sistema, ¿qué función se espera que realice el modelado de datos y también prepare el diccionario de datos?

El arquitecto de información debe realizar este papel. (algunas personas usan el término “arquitecto de datos”, y hay algún desacuerdo sobre el mejor término para usar).

Para sistemas grandes, un arquitecto de información independiente de otros roles de arquitectura tiene sentido, pero a medida que considera proyectos de menor tamaño, puede hacer este trabajo con un Arquitecto de empresa (capaz de desempeñar múltiples roles de arquitectura). Para proyectos un poco más pequeños, un arquitecto de soluciones haría estas tareas.

Yendo aún más pequeño, tiende a haber un cisma. Algunas personas afirman que un analista de negocios posee el 100% de estas tareas, mientras que otros sostienen que un desarrollador de bases de datos está mejor calificado. En este nivel, depende de las personas involucradas.

Prefiero que el analista de negocios se preocupe por el problema y que los desarrolladores se preocupen por la solución. Los modelos son artefactos de solución. Pero un diccionario de datos no es modelo. Puede ser un poco útil de documentación o puede ser una plataforma.

Por lo tanto, antes de crear un diccionario de datos como entregable, considere la madurez de su organización para usarlo en el futuro. Si esa madurez es baja, no la construyas.

Construye algo útil en su lugar. Me gusta el código de trabajo.

La pregunta supone que cualquier sistema nuevo requiere modelado de datos y diccionario de datos. Probablemente sea adecuado para los sistemas de TI típicos, pero el mundo no es solo el típico de TI (comercio electrónico, sitios web y sitios sociales similares a FB).
Hay muchos sistemas en los que usted (como arquitecto de sistemas) comienza con entidades y diseño de procesos, puede que no haya persistencia de datos, que DB se use solo para informes / minería de datos o, si se requiere algún tipo de persistencia , se genera automáticamente para determinadas entidades.
Entonces, todo el proceso de “pensamiento” no se trata de los datos, se trata de objetos (estado + código, se puede omitir cualquier parte), comportamientos, relaciones entre objetos, tiempo de vida de los objetos, interfaces con otros sistemas, restricciones de tiempo real, difusión de cambios de estado, patrones de pub / sub, patrones de subprocesamiento múltiple / concurrencia / distribución, etc.

La mayoría de mis proyectos han sido pequeños. Tenemos equipos de desarrollo, pero generalmente trabajamos en piezas completamente separadas. La mayor parte del trabajo que he realizado últimamente también ha sido en SharePoint, que administra sus propios datos.

En un equipo pequeño, haces todo tú mismo, lo que no tiene que ser una tarea monumental. En general, la forma en que he trabajado es que ayudo a entrevistar a las partes interesadas para obtener la información y trabajo con el analista para ayudar a elaborar el modelo. El diccionario está todo sobre mí.

El administrador de la base de datos asigna el rol de la persona más adecuada; sin embargo, el diseño es una decisión del equipo con todos los interesados.

More Interesting

¿Cuáles son los beneficios de aprender JavaScript como ingeniero de software?

Cómo elegir un lugar de trabajo como desarrollador junior de software

¿En qué nicho de computadoras es mejor especializarse?

¿Cuál fue el aprendizaje más sorprendente de tus primeros seis meses en ingeniería de software?

Cuando la gente dice "se necesita experiencia X" para un ingeniero de software o un trabajo de desarrollador web, ¿qué tipo de experiencia quieren decir?

¿Cuánto le paga Birlasoft a un ingeniero de software senior?

Para un ingeniero de software que es una ubicación ideal: ¿Phoenix / Scottsdale o Austin?

¿Los ingenieros de Amazon, Yahoo, Apple o Facebook usan la búsqueda web de Google para resolver problemas?

¿Cómo recoge Amazon SDE las nuevas habilidades y conocimientos para llevar a cabo un proyecto? ¿Hay algún programa o curso de capacitación interna?

¿Es malo que un ingeniero de software se distraiga durante el trabajo y, por ejemplo, escriba una pregunta o respuesta en Quora y vuelva a trabajar después?

¿Por qué algunos ingenieros de software no están dispuestos a aprender nuevas tecnologías y adaptarse?

¿Hay alguna manera de evitar que alguien elimine una carpeta de un disco duro externo sin autenticación?

¿Qué ventajas tendré si tengo conocimientos de dominio como la gestión de procesos de negocio como ingeniero de software?

¿Es mejor conocer muy bien un lenguaje de programación o ser decente en varios idiomas como ingeniero de software?

¿Por qué no podría obtener una entrevista para trabajos de ingeniero de software?