A practical method for documenting software architectures
Documenting software architectures: views and beyond