問43
頻出度★★★
ある企業でスマートフォン向けのアプリケーションソフトウェアの開発を計画しており, 2週間ごとに新機能や不具合の修正を含めた新しいバージョンを繰り返しリリースすることにした。新機能の候補や不具合は一覧表で管理し, 優先順位をつけて開発し, 逐次リリースする方針にした。この開発に採用するソフトウェア開発モデルとして, 最も適切なものはどれか。
这道题的解析和你的作答记录。
ある企業でスマートフォン向けのアプリケーションソフトウェアの開発を計画しており, 2週間ごとに新機能や不具合の修正を含めた新しいバージョンを繰り返しリリースすることにした。新機能の候補や不具合は一覧表で管理し, 優先順位をつけて開発し, 逐次リリースする方針にした。この開発に採用するソフトウェア開発モデルとして, 最も適切なものはどれか。
DevOps 是指开发(Development)部门与运维(Operations)部门紧密协作,利用自动化来迅速、持续地进行发布和运维的理念、文化与方法,而并不是指「以短迭代按优先级进行开发」这种开发模型本身的术语。本题询问的是迭代型的开发模型,因此它算不上最合适。
正解 正确答案是イ的敏捷。敏捷开发是一种反复进行数周左右的短迭代(迭代/冲刺),每次迭代都发布可运行软件的开发模型。本题中「每两周反复发布包含新功能和缺陷修复的新版本」「将新功能候选项和缺陷用一览表(待办事项列表 backlog)管理,并按优先级依次开发、发布」的做法,与以按优先级排序的待办列表和短期反复发布为特征的敏捷完全吻合。由于其方针是在灵活应对需求变化的同时小步开发、快速交付,因此最为合适。
瀑布模型是按需求定义→设计→实现→测试的工序,由上游到下游单向、依次推进的方式,每个工序完成后才进入下一个,因此不适合每两周反复发布、或一边重新审视优先级一边依次交付的做法。它与以反复、渐进式发布为前提的本题正好相反。
逆向工程是一种解析既有产品或程序、弄清其结构、规格与设计的方法,并不是用于开发新软件的开发模型。它不能作为询问新开发做法的本题的答案。