A local company needs an order-entry system to be developed so that it can effectively manage the increasing growth in customer base and related orders. In a recent discussion with a consultant, the company was told about two-tier and n-tier architectures, but it is unsure what the best option for its system is. The company knows that it needs to be able to support code reusability, and it seeks to be able to eventually use the database in a data warehouse.