Completeness
As an initial check, the architecture diagram can be examined for general completeness. Some considerations that may be visible include whether there is sufficient hardware provided to handle the external users and peripherals, and whether all the connections that cross the boundary are accounted for. When there are multiple users, we should see that there is a representative of each of the major user types. In the diagram, the paths from external users through the dialogue components seems to be clear. Another aspect of completeness that can be easily evaluated is whether all that the system manipulates have been accounted for. Here, there may be some problems. For example, the existence of some components may be implied by the names of the components that are supposed to manipulate them. If those components do not appear in the set of components, it may be advisable to add them as data components. Now the question here is if these new data components need to be separated from the functional components that manipulate them. There are two criteria for separating a functional component from a data component. One is if there is more than one functionality that accesses the data and the other is if the functionality and data might change at different times. Evaluating on the first criteria requires a more detailed behaviour description than we have right now, so to be safe, let us keep the functionality components separate from the data components. Later, we can merge them if evaluation shows that they are tightly coupled.
Jorge Luis Ortega Arjona.