By modeling the system this way, we can ensure that the significant use cases and requirements of the system are properly realized in the design model. In turn , this helps ensure that the software design conforms to the requirements. Thus we can achieve a major step in the process of design verification .
The next step follows quite logically, although admittedly not easily. The classes and the objects defined in the design model are further refined in the iterative design process and eventually implemented in terms of the physical software components ”source files, binaries, executables, and others ”that will be used to create the executable software. Unfortunately, even this mapping has its complications. For example, the decisions that lead you to a certain componentization of the logical models will often be driven by such requirements as the need for resilience, constraints on the system's deployment, and so on. So, while the work is not easy and cannot be dictated directly by the form of requirements, it should now be clear that every view of a system's architecture is, or should be, influenced by the system's requirements. If we keep these factors in mind, we should be able to complete the transition from requirements to design to implementation in a more predictable and reliable manner.