Quick question that I only ask because of my 30-odd year history as a corporate contractor... Does anyone here really use those UML-based docs to actually learn the systems? Or do they do what I always did and use the trusty step-debugger for a few days and come up with your own mental model of them? Inevitably, unless someone is working full time on them, they are incomplete and several months out-of-date, and that…
Ask HN: Is there a better way to document complex software architectures?
91–100 of 239 posts
Re: Ask HN: Is there a better way to document complex software architectures?
#92I confess I'm fond of Literate Programming for this, though, I have never tried introducing it in a company. My hunch is it would take too long. By far.
Even documented software often takes too long. Same reason you don't plot out how you are going to win a ballgame. Outside of "score more points than you allow", the plans are almost all exploratory and reactive. Solidifying that into a document is dangerously slow.
Re: Ask HN: Is there a better way to document complex software architectures?
#93Re: Ask HN: Is there a better way to document complex software architectures?
#94Wikipedia has page on Architecture Description Languages - https://en.wikipedia.org/wiki/Architecture_description_langu... I've looked at Wright and Acme that are linked from that page. I came away with the conclusion that you need to use a formal language to describe relationships between the entities in your system. The language should be flexible enough to define new entities, and new kinds of relationships. All o…
Re: Ask HN: Is there a better way to document complex software architectures?
#95Re: Ask HN: Is there a better way to document complex software architectures?
#96Quick question that I only ask because of my 30-odd year history as a corporate contractor... Does anyone here really use those UML-based docs to actually learn the systems? Or do they do what I always did and use the trusty step-debugger for a few days and come up with your own mental model of them? Inevitably, unless someone is working full time on them, they are incomplete and several months out-of-date, and that…
Re: Ask HN: Is there a better way to document complex software architectures?
#97Quick question that I only ask because of my 30-odd year history as a corporate contractor... Does anyone here really use those UML-based docs to actually learn the systems? Or do they do what I always did and use the trusty step-debugger for a few days and come up with your own mental model of them? Inevitably, unless someone is working full time on them, they are incomplete and several months out-of-date, and that…
Most of the time, they are accompanied by company (or team) specific TLAs that I do not understand, at the time of starting, anyway.
For instance, 1 year ago I joined NXP, which is a HW oriented company. I tried to study the UMLs, which for instance, described how CMSIS packs are delivered and how they are split into DFPs, BSPs and SWPs. At that time I had no idea what the documentation is about and I've rather started incrementally building my mental image of the whole system. Looking at the UMLs now, I understand them, but I can still clearly see that they will only confuse a newcomer.
Re: Ask HN: Is there a better way to document complex software architectures?
#98Earlier quoted context omitted.
> it's what Amazon and Microsoft uses That's not true. TLA+ is very useful but only few services adopt and benefit from it. Also it's not very readable and cannot document many design aspects e.g. the reasons behind technical decisions.
Ok, some teams at Amazon: https://lamport.azurewebsites.net/tla/formal-methods-amazon.... Also it's not very readable and cannot document many design aspects e.g. the reasons behind technical decisions. Not very readable? How so? I'd rather read a concise mathematical definition rather than three pages of prose and diagrams. It is most definitely readable although it does require some training to understand the mathe…
Re: Ask HN: Is there a better way to document complex software architectures?
#99“Show me your flowcharts (source code), and conceal your tables (domain model), and I shall continue to be mystified; show me your tables (domain model) and I won’t usually need your flowcharts (source code): they’ll be obvious.” ~ Fred Brooks, “The Mythical Man Month” Stuff that has improved or the potential to improve the documentability of modern systems, imo: postgREST, custom types (e.g. domains in postgresql),…
Store
=====
Id int
Col1 varchar
Col2 varchar
Col3 varchar
...
Col134 varchar
foreignKey1 varchar
foreignKey1Type varchar
foreignKey2 varchar
foreignKey2Type varchar
...
foreignKey10 varchar
foreignKey10Type varchar
validFrom varchar
validTo varchar
isActive boolean
deleted booleanRe: Ask HN: Is there a better way to document complex software architectures?
#100“Show me your flowcharts (source code), and conceal your tables (domain model), and I shall continue to be mystified; show me your tables (domain model) and I won’t usually need your flowcharts (source code): they’ll be obvious.” ~ Fred Brooks, “The Mythical Man Month” Stuff that has improved or the potential to improve the documentability of modern systems, imo: postgREST, custom types (e.g. domains in postgresql),…