前言
在最近的项目开发中,一直被提到的一个概念是开放性问题。
比如,实现一个功能怎么用第三库更好,怎么完成一个功能。
定义
开放性问题和封闭性问题
开放性问题和封闭性问题是相对的。
这个概念并不是出现在软件开发行业,而是在社工学上。
开放性问题
- 什么”、“如何”、“为什么”、“能不能”、“愿不愿意”
- 答案不唯一
由于开放性问题的答案不确定,所以我们的关注点是在为什么会提出这个问题,以及要解决这个问题需要具备的条件。
封闭性问题
- “是不是”、“对不对”、“要不要”、“有没有”
- 答案唯一
一旦提出了封闭性的问题,那么就是存在唯一解的。
对应在软件开发流程中,就是对应实际模块功能开发中的某些具体的操作和数据处理。
跟踪
- 尽可能减少项目进行中的出现开放性问题
- 对开放性问题敏感,并尽快解决
- 通过提出『为什么会有这个问题』,以及找出这个问题相关的条件,将开放性问题转化若干个封闭性问题
- 分治法几乎适用于软件开发的所有阶段
参考资料
- http://wenku.baidu.com/link?url=8Vzrgq0JDhq0wUKs8wtoxo_gQhFjKn5pCEG0MS9DFcQEdVxNLs5iSqw_WCzsE-wq2YwT5udLl5hQU9ayMIiY4fVXweDDauGb19RvhQa8Dwa
- http://www.szpsdtsw.org/List.asp?ID=203
- http://baike.baidu.com/link?url=EAfqz1S3hcEnHTAPVy1owxzwzOEBqKmPK0wBahI0XwE4YZHU7m6enV8EdVueAIXVsQ0OPkQCtyxywNYNO8MkFyzdntecAVi9xw–V-lTUeGP5htH9bHl-LtZxFbMUN2RRGNsU1d2NTBhv11-Xri6u_