需求定义与设计
頻出约 33 分钟5 个术语过去问 19 题
本单元目标
- 能够区分功能性需求和非功能性需求,并说明两者都要在系统需求定义阶段明确。
- 能够了解各项质量特性分别从什么角度考察,并判断某个具体描述属于哪一项特性。
- 能够说明在从需求定义经过设计走向编程的流程中,功能设计和详细设计各自决定什么。
术语总表(5 个)
术语
功能性需求(機能要件)是规定系统做什么的需求,也就是为了业务要提供哪些处理和功能。
需求定义阶段要分析业务流程和使用方式,梳理出要交给系统完成的处理。以图书借阅系统为例,「用会员号登记借书」「列出超过归还期限的书」就属于功能性需求。在把工序划分得更细的叫法中,有决定整个系统需求的系统需求定义(システム要件定義),以及决定其中软件部分的软件需求定义(ソフトウェア要件定義)等工序。
类比就像餐厅菜单上列出的菜品。它决定了这家店能上哪些菜,但还没写怎么做。
考点
- 常考在系统需求定义(システム要件定義)中,要明确系统应具备的功能和性能,系统化的对象范围也在这一阶段确定。
- 常考软件需求定义(ソフトウェア要件定義)要明确软件所处理的数据项目及其定义。构思处理的动作逻辑并编写代码,是之后设计和编程工序的工作。
- 常考订购方确认交付物是否具备规格书中写明的功能,使用部门确认系统是否满足业务需求。确认各个程序是否按设计运行,是开发方的职责。
该术语的过去问 3 题 機能要件 →
非功能性需求(非機能要件)规定以何种水平和条件提供功能,例如响应速度、不易中断、安全性、便于运维等。
非功能性需求也和功能性需求一样,在需求定义阶段确定目标。目标尽量写成数值等可以检验的形式,之后就容易判定是否达成。
类比相当于店家「接单后 10 分钟内上菜」这样的承诺。它规定的不是菜的种类,而是上菜的水平。
记法「非」不是否定功能,而是指「功能以外」的条件。可以理解为在功能齐备之后再附加上的条件。
考点
- 常考像应答时间目标值这样的性能目标,要在系统需求定义(システム要件定義)中确定。它不会推迟到设计阶段再决定。
- 常考在检验整个已开发系统的系统测试(システムテスト)中,除了确认功能能否正确运行,还要确认是否满足性能等非功能性需求。
- 易混功能性需求(機能要件)规定业务所需的处理本身,非功能性需求则规定对这些处理所要求的性能、可靠性、安全性、运维等水平和条件。
该术语的过去问 2 题 非機能要件 →
质量特性(品質特性)是把软件质量按「是否好用」「是否不易出故障」等角度分类而成的。
JIS X 25010:2013 标准把质量分为 8 项特性,更早的标准则分为 6 项。旧标准中的功能性,大致相当于 JIS X 25010 的功能适合性。把笼统的「质量好」拆成多个角度后,确定需求时更容易设定目标,成品也能按角度逐项评价。
类比就像给汽车按油耗、乘坐舒适度、故障少、保养方便等项目分别打分的评价表。
考点
- 常考易用性(使用性)是指用户是否容易学会、能否少费功夫就运用自如的特性。它关系到用户与画面等系统操作部分之间的接点。
- 常考功能性(機能性)是按规格给出正确结果的性质,可靠性(信頼性)是即使遇到错误输入或故障也能保持正常运行的性质。
该术语的过去问 3 题 品質特性 →
功能设计(機能設計)是根据需求定义的结果,决定画面、报表等用户可见规格的设计工序,也称为外部设计。
功能设计要决定用户操作的画面项目和布局、输出报表的格式以及用户的操作流程等。这里决定的规格用户能亲眼确认,所以容易在这个阶段发现与要求之间的偏差。
类比相当于盖房子时,根据业主的要求画出平面图和外观图的阶段。这些是住户一看就能确认是否好用的图纸。
考点
- 常考决定画面和报表上要放哪些项目,以及它们的布局和格式的,是外部设计(外部設計),也就是功能设计。
- 常考系统方式设计(システム方式設計)是细分叫法中的工序,它把需求分配给硬件、软件和人工作业,并决定设备和网络的构成。它不决定用户可见的规格,也不是功能设计的别名。
该术语的过去问 3 题 機能設計 →
详细设计(詳細設計)是把此前设计中决定的规格,具体化到可以编写程序的内部规格的设计工序。
在细分工序的叫法中,到了软件详细设计(ソフトウェア詳細設計)阶段,要为每一个需要编码的程序决定处理步骤和数据的处理方式。决定的内容整理成设计书,作为编程的依据。
类比就像在平面图的基础上,连柱子位置和电线、管道走向都画进去的施工图。细到工匠拿到后就能直接开工。
考点
- 常考软件详细设计(ソフトウェア詳細設計)中首次决定的,是每一个程序的规格。程序员在下一道工序中依据这份设计书进行编程。
- 常考构思程序在不同条件下如何分支处理,并用流程图(流れ図)表示出来,这项工作在软件详细设计阶段进行。
- 易混功能设计(機能設計)决定画面、报表等用户看得到的外侧,详细设计则决定程序处理步骤等由开发者构建的内侧。
该术语的过去问 3 题 詳細設計 →
要点
- 开发时,先在需求定义中决定「做什么」,再在设计中把「怎么做」逐步细化,然后进入编程。
- 判断质量特性时,要看描述所表达的性质(好用、耐故障、能在其他环境运行等),由此找出对应的特性。
- 工序的叫法有两种:一种像本单元的图那样,粗分为需求定义、功能设计(外部设计)、详细设计;另一种像系统需求定义、系统方式设计那样细分。两者的分界并不一一对应,所以考虑工序顺序时,要在其中一种叫法之内进行。
查看这个领域的全部过去问 →