单项选择题
Ravi, like many project (1) , had studied the waterfall model of software development as the primary software life-cycle (2) . He has all set to use it for an upcoming project, his first assignment. However, Ravi found that the waterfall model could not be used because the customer wanted the software delivered in stages, something that implied that the system had to be delivered and built in (3) and not as (4) . The situation in many other projects is not very different. The real world rarely presents a problem in which a standard process, or the process used in a previous project, is the best choice. To be the most situation, an existing process must be (5) to the new problem. A development process, even after tailoring, generally cannot handle change requests. To accommodate change requests without losing control of the project, you must supplement the development process with a requirement change management process.
问答题
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
说明:某大型商场内安装了多个简易的纸巾售卖机,自动售出2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态如图10.35所示。采用状态(State)模式来实现该纸巾售卖机,得到如图10.36所示的类图。其中类State为抽象类,定义了投币、退币、出纸巾等方法接口。类SoldState、SoldOutState、NoQuarterState和HasQuarterState分别对应图10.35中纸巾售卖机的4种状态:售出纸巾、纸巾售完、没有投币、有2元钱。