Consolidated Guidance: Establishing Global System Properties
| Establishing Architecture Properties |
| Design Issues |
Synopsis
Overarching characteristics of the automated systems and their constituent elements are established early in the design process. These properties help establish design strategies. This document provides some guidelines to consider when establishing these properties and identifying nontechnical design issues that may impact design approaches.
Establishing Architecture Properties
Some considerations for identifying and describing the overarching properties are:
-
The Strategic Plan may indicate some overall principles to guide the design process. For example, it may say that all solutions are scalable . The properties put those principles into engineering terms, such as expectations on how the user community will grow (or shrink) over time. Properties established for the technical architecture elements therefore must be consistent with strategic technology principles.
-
Each property should have a unique identifier, a short description, and be specified in some measurable terms. Provide the means by which the property can be verified and the assumptions surrounding the values. Assumptions will originate from analysis of the operational environment(s), such as when users will most likely access the systems. Usage scenarios from the Technology Boundary analysis should provide the basis for establishing the properties and values, for example, determining an appropriate level of availability needed to support daytime (business hour) operations.
-
Establish values for only those properties critical to the design process. Sample quality characteristics and their use can be found in ( ISO/IEC-9126 1991 ).
-
The properties are written for the architects and designers to guide design decisions. This implies that quality assurance staff can check the resultant designs (separately or together) to determine whether they conform. For example, if a reliability property is described, someone must be able to verify, within some level of confidence, that this can be achieved with the design approach taken. This necessitates that properties be stated in a way that allows evaluation. Architectural studies can be performed to help establish realistic properties or to evaluate how proposed goals can be met. Provide a description of the approaches that will be used to verify the existence of a property, such as:
- Analysis
- Test
- Simulation/modeling
- Prototype/demonstration
-
Inspection (e.g., peer reviews)
-
The properties should reflect the most acceptable values given the operational circumstances, resisting the tendency to over specify. For example, requiring a minimum availability of 99.9% may be costly to design when 95% is acceptable given assumptions about the typical usage patterns, preventive maintenance practices, the software development process, vendor products used, and so forth. In the descriptions, state ranges and circumstances for what is satisfactory. Analysis of the existing technology inventory can be a starting point to establish initial values.
-
Describe properties that affect the complete life cycle and the different usage environments. See the background information for some possible environments to consider.
Design Issues
Some environmental issues that may impact the design approaches within the State HS domain follow. The are intended to help stimulate thought on nontechnical issues that may have significant influence over the design approaches chosen.
-
An Agency-wide, multi HS program scope, combined with a multitier distributed computing model, introduces issues on how to charge for the development, deployment, and operation of the shared elements. It is possible to have a platform or part of an application provide services to one or more HS programs. For example, a Web server may provide an application front end across many programs. Likewise, a data server may provide integrated data access and storage. Individuals may design, fabricate, deploy, and support business logic that is used across many programs.
This implies that some mechanism be considered to allow for the appropriate life-cycle costs to be calculated and charged back to individual programs. Those programs may get funding from multiple sources, some may be via block grants, some may be using the APD process. Techniques, such as random moment sampling, prorating costs across programs, or computing actual cost based on network packet sniffing, may be necessary. The design and support process may be affected, such as whether technical resources will be dedicated to a program and who supports what application or infrastructure part. Strategies for charging back costs may impact design decisions, organizational structures, and how State or Federal funds are used to create and operate the technology elements. The architects should take these issues into consideration and design the system and support processes to operate within these constraints, for example, specifying network designs or equipment to calculate and charge back usage.
-
When consolidating data elements that were previously redundant across separate data stores, issues as to who can create, read, update, or delete the data elements may arise. Demographic information is one example, where individual caseworkers may have access to their own unique records across separate programs, freely updating their data as necessary (e.g., a client change of address). If redundant data is consolidated, access control issues or notifications may be required to control changes to shared data. This may also impact the work processes.
-
Acquisition policies and procedures or vendor purchasing agreements, such as preferential purchasing requirements or buy American regulations, may affect design decisions. You should identify and reference such policies or other constraints.
-
For applications that must be certified by the sponsor, assumptions about the interpretation of the requirements may be needed. Use of precertified elements or complete solutions may affect design decisions. The design may organize the system to allow for it to be readily certified and maintain that certification as it evolves.
