Geeks With Blogs
Geeks with Blogs, the #1 blog community for IT Pros
Start Your Blog
| 25 Comments
My Other Recent Posts
Everything you ever wanted to know about compression, but were afraid to ask...
August 2011 (1)
June 2011 (1)
May 2011 (2)
March 2011 (1)
August 2010 (3)
February 2010 (3)
technological rantings and code samples
<< Executable specifications: pondering BDD tools and automation.
wcf http 504: Working on a mystery >>
Software Architectural Checklist
Is the overall organization of the program clear, including good architectural overview and justification?
Are major building blocks well defined including their area of responsibility and their interface to other building blocks?
Are the functions listed in the requirements covered sensibly by neither too few or two many building blocks?
Are the most crucial classes described and justified?
Is the data design clearly defined and justified?
Is the database organization and content specified?
Are all key business rules identified and their impact on the system described?
Is a strategy for the user interface design described?
Is the user interface modularized so that changes won't affect the rest of the program?
Is the strategy for handling I/O described and justified?
Are resource-use estimates and a strategy for resource management described and justified for scare resources like threads, database connections, handles, network bandwidth and so on?
Are the architectural security requirements described?
Does the architecture describe how scalability will be achieved?
Does the architecture address interoperability?
Is a strategy or internationalization/localization described?
Is a coherent error handling strategy provided?
Is the approach to fault tolerance defined (if any is needed)?
Has the technical feasibility of all parts been established?
Is an approach to over-engineering specified?
Are necessary buy vs. build decisions included?
Does the architecture describe how reused code will be made to conform to other architectural objectives?
Is the architecture designed to accommodate likely changes?
Does the architecture account for all of the requirements?
Is any part over-architected or under architected? Are expectations in this area set out explicitly?
Does the whole architecture come together conceptually?
Is the top-level design independent of the machine and language that will be used to implement it?
Are the motivations for all major decisions provided?
Are the programmers who will be implementing the system comfortable with the architecture?
Have classic design patterns been considered where they might be incorporated into the architecture?
Posted on Saturday, September 18, 2010 2:55 PM |
Back to top
Related Posts on Geeks With Blogs
IODA Architecture by Example
The IODA Architecture
Evolution of a Basic Software Anatomy
Lightweight Software Architecture on Napkins
Comments on this post: Software Architectural Checklist
No comments posted yet.
Email: (never displayed)
(will show your
Allowed tags: blockquote, a, strong, em, p, u, strike, super, sub, code
Copyright © James Fleming | Powered by:
Popular Posts on Geeks with Blogs
NDC 2015 Videos
Announcing DAX Studio 2.2.0
How to collect troubleshooting log in Windows Phone
Using Git for versioning of Word (doc/docx) documents
Configure an HDInsight HBase cluster that doesn't keep going BANG! with 502s
Geeks With Blogs Content Categories
Team Foundation Server
Brand New Posts on Geeks with Blogs
Connect to Salesforce Data as a Linked Server
What’s New in C# 6.0: Auto-Property Initializers
What's Wrong with GWB
Hands-on Labs of Azure Machine Learning
How to programmatically upload a new Azure Management Certificate