@zhongjianxin
2019-11-04T20:51:07.000000Z
字数 1418
阅读 930
AFS-HW-Java
任务:我们需要完成的“事”,例如:洗碗、大扫除等
当你接收到一个任务,你会怎么做?
例如:
洗碗:
那么回到我们软件开发来,软件开发中的任务是指什么?
软件开发中的任务即我们的需求,需求又可分为业务需求和技术需求
例如:找出集合中的”善良数“并判断是否大于十
你会怎么做?
我们重新定义需求:找出集合中的偶数最大值并判断是否大于十
需求明确了,那么这个需求怎么完成?
刚才我们进行的,就是任务分解,那么我们总结一下,任务分解有哪几步?
那么我们现在对任务分解下一个定义,我的定义是:
任务分解是什么:
将复杂问题拆解为可验证的、相互独立的、简单任务;当所有简单任务都完成时,复杂问题也就解决了。
以上有五个要点:
让我们回到这道题:
找出集合中的偶数最大值并判断是否大于十
由上面的五个要点可知,输入输出对于小任务而言很重要。
程序设计有两类要素:一是数据,二是过程。非形式的讲,数据是我们希望操作的“东西”,而过程则是操作数据的规则描述。
当我们在软件开发领域内进行任务拆分时,我们需要明确指出每个小任务的输入和输出。
请写出每个小任务的输入和输出:
从文字描述上我们可以看到,输入/输出的描述需要包含两个东西:
通常,我们会通过变量名来表达业务含义。那么我们换一个描述输入/输出的方式:
冒号的左边为变量名,冒号的右边为数据类型,方括号代表数组,int 表示数组元素类型
请同学们尝试写出其他小任务的输入和输出
参考下面链接中的脑图 第一周 第一天下午 任务分解导入 naming 部分
https://drive.google.com/open?id=1rUciowRiIkpnLNttUte3Rv69NNRWB7Gy&authuser=jialiu@thoughtworks.com&usp=drive_fs
参考脑图 第一周 第二天下午 回顾文章逻辑 & 介绍上下文图的画法
材料:ppt https://drive.google.com/open?id=11qJaWc1ZDbLm6wvzj-TJ15IRLfxYt_Lu&authuser=jialiu@thoughtworks.com&usp=drive_fs