To create the best solutions, you should follow a detailed ________ process for determining your project’s ________ (i.s., defining what the system is supposed to do) and developing a ________ that satisfies them (i.e., specifying how the system should do it).