Active3 years, 10 months ago

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?

This Document has been generated directly from the C-Registration Analysis & Design Model implemented in Rose. The majority of the sections have been extracted from the Rose Model using SoDA and the Software Architecture Document template. 1.3 Definitions, Acronyms and Abbreviations. See the Glossary 4. 1.4 References. Applicable references are.

For the application. This document contains technical information that will help the technical team (including application architects and developers) understand the application architecture and design. The aim is to facilitate a common understanding of the application architecture, the quality and reliability of the system, and insure its. The Software Architecture Document (SAD) contains the description of the system in terms of its various architectural views, in order to highlight the different aspects of it. The description makes use of the well-known 4+1 view model. ARCHITECTURE DOCUMENT TEMPLATE Application services: Owning module Name name 4.4 Description Required/Offered Applications flows and interactions Identify and describe the sent and received application flows between the logical modules of the solution and with other logical modules of the IT systems. What should be included in an Application Architecture checklist? Ask Question. This assumes that the application is well-known otherwise you may not have these questions answered. For example, if you are with a company that is moving out of their comfort zone, or exploring a new concept, then you may not have it fleshed out, but there are.

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-handling strategy provided?
  • Are error messages managed as a set to present a clean user interface?
  • Is a level of robustness specified?
  • Is any part over- or under-architected? Are expectations in this area set out explicitly?
  • Are the major system goals clearly stated?
  • Does the whole architecture hang 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 you, as a programmer who will implement the system, comfortable with the architecture?

I'm looking for practical knowledge with examples, e.g., what were the most painful points in an architecture you've created?


6 Answers

Based on my research, here are some architectural review checklists I've found that do this question a little more justice, and provide some background on what an architecture review is. (Seems to be a bit of confusion about it here.)

Each of these potential candidates include a number of different categories. The overall importance of these categories will vary somewhat depending on business needs. IMHO, that's OK. It's much less costly to ask another question when going through a checklist for a review and rule it out than it is to miss a question or category entirely because it didn't seem important enough to include on a checklist initially.

  • 'Software architecture review guidelines' by Alexander Nowak
  • 'Review Checklist for Architectural Design Document[s]' by Tom Verhoeff
  • 'Checklist: Architecture and Design Review' from Microsoft patterns & practices Developer Center
  • 'Conceptual Architecture Checklist' by Craig Borysowich
  • 'App Arch Guide 2.0 Knowledge Base: Checklist - Architecture and Design' by J.D. Meier, Alex Homer, et al. (found via Peter Stuer's link)
  • 'TOGAF Architecture Compliance Review Checklists' from the Open Group
  • 'Architecture Review Process' by Ricky Ho

There also appears to be a white-paper written on this topic, although I have not read it. It attempts to answer this question over the course of about 11 pages.

Word Art Generator is, as its name suggests, a utility that lets you create WordArt object. WordArt editing tool integrated with Microsoft Word is now available in the downloadable application. You can customize the subject, that is to say, change the font size, format, and color. It allows the user to create as many WordArt as required by the user. Word art generator without downloading.

  • Architecture reviews: practice and experience by Maranzano, Rozsypal, et al.

Mobile Application Architecture Document Template

Additionally a colleague recommended a set of books from Springer, though I have not checked any of these out myself:

  • The Enterprise Engineering Series from Springer

Some other points to consider:

  • Are all stakeholders identified? (Examples: Customer, end users, business analysts, user interface designers, developers, testers, maintainers.) Is the architecture verified with the stakeholders?
  • How does the architecture address security?
  • Are the requirements to availability and reliability specified? How does the architecture address these? (Examples: mean time between failures, mean time to repair.)
  • How is disaster recovery handled?

Two good books for more ideas:

  • Software Systems Architecture by Nick Rozanski and Eóin Woods
  • Software Architecture in Practice by Len Bass, Paul Clements, and Rick Kazman

Software Application Architecture Document Template



Is the architecture in line with the technology vendors' guidance and roadmap?

You want to get support from your chosen platform, not fight it.

e.g. For Microsoft centric solutions this means documenting where and why your choices deviate from the Microsoft Architecture guidance.


Is there a single person who can be responsible for the architecture with enough (1) technical knowledge of proposed architecture, (2) experience managing things, (3) standing in the company so that his decisions cannot be overridden by a management who doesn't know a thing.

Since (2) and (3) don't really depend on the architecture, I would find the person and ask him what he'd like to do.

Now assuming you're that person (and that's not obvious from your question -- that applies only if you think you'll still with being a chief architect of this thing for a while), I'd take an advice of Joel On Software blog and write a design specification, with the plans, goals, customers, explaining design choices, everything. That should clear the view.

Later thoughts

I tried to think a little as for what exact questions you might ask yourself after you've written the specification, like 'Is it easy to update your project', 'Does it allow flexibility in end goals', 'Will it make things easy to support', 'Are there any security problems' etc., but, while it's worthwhile to ask questions like these, I simply don't see any way they could be used for any 'evaluation' because other than with filtering out clear mistakes I don't think any specific question would help much to 'evaluate the architecture'. Perhaps your question would benefit from rephrasing?

Starting step, the printer is on and the usb link is introduced effectively, then my companion first Download Resetter Epson L120 system and when going to run the project first resetter handicap against infection pal's PC. Download Epson L120 Driver Epson L120 Driver For Windows 32 Bit - Epson L120 Driver For Windows XP 32 Bit: Download - Epson L120 Driver For Windows 7 32 Bit. Download Epson L120 Driver & Resetter. Written by dangmien on December 24th. Can the Reset Key be used more than once, or do I need to buy a new Reset Key each time I need to reset. Download resetter printer epson l120. Aug 31, 2019  Download Resetter For Epson L120 / L220 / L310 / L311 For Windows - Blink Ink is a term used on printers that print experiencing maximum limit, marked by a red indicator light turns on and the condition of the stationary head without moving at all at the time after the power button in the On the right. On this occasion, Resetter Printer will discuss How to Reset Printer Epson L120, L220, L310.

Application Architecture Document


Application Architecture Document Template Download

Not the answer you're looking for? Browse other questions tagged architecturereview or ask your own question.

Coments are closed
Scroll to top