Develop a design from a product or product component.
Product design consists of two broad phases that can overlap in execution: preliminary and detailed design. Preliminary design establishes product capabilities and the product architecture, including architectural styles and
patterns, product partitions, product component identifications, system states and modes, major intercomponent interfaces, and external product interfaces. Detailed design fully defines the structure and capabilities of the
Architecture definition is driven from a set of architectural requirements developed during the requirements development processes. These requirements identify the quality attributes that are critical to the success of the product. The architecture defines structural elements and coordination mechanisms that either directly satisfy requirements or support the achievement of the requirements as the details of the product design are established. Architectures can include standards and design rules governing development of product components and their interfaces as well as guidance to aid product developers. Specific practices in the Select Product Component Solutions specific goal contain more information about using product architectures as a basis for alternative solutions.
Architects postulate and develop a model of the product, making judgments about allocation of functional and quality attribute requirements to product components including hardware and software. Multiple architectures, supporting alternative solutions, can be developed and analyzed to determine the advantages and disadvantages in the context of the architectural requirements.
Operational concepts and operational, sustainment, and development scenarios are used to generate use cases and quality attribute related scenarios that are used to refine the architecture. They are also used as a means to evaluate the suitability of the architecture for its intended purpose during architecture evaluations, which are conducted periodically throughout product design.
Examples of architecture definition tasks include the following:
- Establishing the structural relations of partitions and rules regarding interfaces between elements within partitions, and between partitions
- Selecting architectural patterns that support the functional and quality attribute requirements, and instantiating or composing those patterns to create the product architecture
- Identifying major internal interfaces and all external interfaces
- Identifying product components and interfaces between them
- Formally defining component behavior and interaction using an architecture description language
- Defining coordination mechanisms (e.g., for software, hardware)
- Establishing infrastructure capabilities and services
- Developing product component templates or classes and frameworks
- Establishing design rules and authority for making decisions
- Defining a process/thread model
- Defining physical deployment of software to hardware
- Identifying major reuse approaches and sources
During detailed design, the product architecture details are finalized, product components are completely defined, and interfaces are fully characterized. Product component designs can be optimized for certain quality attributes. Designers can evaluate the use of legacy or COTS products for the product components. As the design matures, the requirements assigned to lower level product components are tracked to ensure that those requirements are satisfied.
For software engineering, detailed design is focused on software product component development. The internal structure of product components is defined, data schemas are generated, algorithms are developed, and heuristics are established to provide product component capabilities that satisfy allocated requirements.
For hardware engineering, detailed design is focused on product development of electronic, mechanical, electro-optical, and other hardware products and their components. Electrical schematics and interconnection diagrams are developed, mechanical and optical assembly models are generated, and fabrication and assembly processes are developed.
- Architecture Design Document Template
- Design Analysis and Resolutions Process
Design System Architecture
- Using the Architecture Design Document Template, [the Project Architect] with support from [The Business Analyst] is responsible for Developing the high level architecture.
- Using the Decision Analysis and Resolutions Process, [the Project Architect] is responsible for planning plan out the formal evaluation steps in making the decisions to choose the best possible solution. using the system views that are developed as specified below.
Develop Logical Data Model
- [the Project Architect] is responsible for Creating a logical data model for the system based on the architectural design decisions made thus far in the project.
- Using the Customer and Product Requirements Document, [the Data Architect] with support from [?] is responsible for facilitating and capturing the data requirements from the Customer and Product Requirements to develop the Logical Data Model.
- Using the Project Configuration Management, [the Data Architect] is responsible for checking in the system’s Logical Data Model into the Project Configuration Management repository.
- Using the Logical Data Model and Global Data Standards Documents [the Data Architect] is responsible for Checking in the logical data model into the corporate model.
Present to Architectural Review Committee
- Using the Architectural Design Document and the Logical Data Model, [the Project Architect] with support from the [Data Architect] is responsible for presenting the Architectural Design including the Logical Data Model to the Architectural Review Committee.
- Using the meeting minutes, [the Project architect] with support from the data architect is responsible for ensuring that the review feedback is captured in the meeting minutes.
- Using the Project Meeting Minutes, [the Project Manager] is responsible for ensuring that the issues identified are addressed effectively and resolved quickly.
Update Architecture Design Document
- Using the Architectural Design Document, [the Project Architect] is responsible for updating the Architectural Design Document based on the feedback received from the Architectural Review Committee.
- Using the Architectural Design Checklist, [the Project Architect] is responsible for completing all the sections of the Architectural Design Document and conduct a validation, and the Logical Data Model shall be attached to the Architectural Design Document in any inconsistency between the Design and Data Models shall be resolved.
Create IT Standards Bill of Material (BoM)
- Using the IT Standards Catalog and IT Standards Bill of Material (BoM), [the Project Manager], with support from IT Procurement, Business Analyst, and Project Architect is responsible for creating the IT Standards Bill of Material.
- Using the IT Standards Catalog, [the Project Manager], with support from IT Procurement, Business Analyst, and Project Architect, is responsible for documenting hardware and software products to be used by the system.
- Using the IT Standards Change Request Form, [the Project Manager] is responsible for initiating a request for approval of the new components when existing IT Standards are not applicable as soon as they are identified to avoid schedule lags in obtaining approvals.
- Using the IT Standards Change Request Form, [the Project Manager] is responsible for requesting a deviation from IT Standards when potential non-standard products are identified.
- Using the Draft IT Standards Bill of Material, [the Project Manager] is responsible for updating the IT Standards Bill of Material after selecting to buy a component.
- Using the IT Standards Change Request Form, [the Project Manager] is responsible after obtaining approval from the Senior Manager to request deviation from IT Standards.
- Using the Standards Change Request Number, [the Project Manager] is responsible updating the project’s IT Standards Bill of Material with the Standards Change Request number.