KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm trying to come up with a checklist or set of questions/criteria to assess and evaluate proposed or emergent architectures (perform architectural reviews). What are the most important questions you ask when trying to plan, assess or review an architecture? I know this is a large topic so I'd like to constrain it to a single end-to-end system and not the architecture for an entire organization. Code Complete provides a decent starting point: Architecture Is the overall organization of the program clear, including a good architectural overview and justification? Are modules well defined, including their functionality and their interfaces to other modules? Are all the functions listed in the requirements covered sensibly, by neither too many or too few modules? Is the architecture designed to accommodate likely changes? Are necessary buy-vs.-build decisions included? Does the architecture describe how reused code will be made to conform to other architectural objectives? Are all the major data structures hidden behind access routines? Is the database organization and content justified? Are all key algorithms described and justified? Are all major objects described and justified? Is a strategy for handling user input described? Is a strategy for handling I/O described and justified? Are key aspects of the user interface defined? Is the user interface modularized so that changes in it won't affect the rest of the program? Are memory-use estimates and a strategy for memory management described and justified? Does the architecture set space and speed budgets for each module? Is a strategy for handling strings described, and are character-string storage estimates provided? Is a coherent error-handli
Tags (comma-separated)
Save Edits
Cancel