- 花20分钟写一个能自动生成小学四则运算题目的“软件”,要求:除了整数以外,还要支持真分数的四则运算。将代码上传至coding.net,并将地址发布至自己的博客。
https://coding.net/u/dkpp/p/homework/git/commit/bbf2b1eaa1ffc532037a0c3516a08d92ef55b4d8
- 在一周之内快速看完《构建之法》,列出你不懂的5-10个问题,发布在自己的博客。
1.在进行软件开发时,是否需要重复的修改软件的功能,从而修改方案(基于我们自身的软件开发过程思考)?在团队配合时,很难一次就做好软件功能的需求分析。如果发现新的需求分析,是否需要重新修改软件功能的需求分析。
2.对于敏捷开发(书本的第六章第五节敏捷的问答以及第六章的第四点二节)的缺点有哪一些?这些缺点是否可以通过优化而解决?如何通过团队的协作最大化来避免敏捷开发的缺点,让自己的团队有更好的协作能力,在最短的时间内,开发出最优秀的产品。这一段的问答介绍了敏捷开发。但是没有提到敏捷开发的缺点如何解决。
3.一款优秀的软件是否是拥有一份优秀的需求分析(书本的第八章第三小节)?用户调研是否是必须的,而用户调研的范围是否取决于开发者软件使用范围。通过调研,如果调研过小是否存在错误的认识。书中介绍了多种调研模型。但是确实部分实例,很难有对调研的深刻认识。
4.在进行软件的开发时,我们如何才能得到软件产品的规模(基于我们自身的软件开发过程思考)?用户的规模对于软件产品有着重要的影响,如何得到正确的规模。通过正确的规模。我们可以帮助我们的团队开发出更好的软件产品。
5.代码能力的提升需要的是什么?多打打代码?还是学习更多更优秀的算法?
- 软件有很多种:包装在盒子里的软件、基于网页的软件、企业或学校或某组织内部的软件、游戏、手机应用、操作系统、工具软件,选取三种软件,请分析它们各自的特点。
- 1)这些软件开发者是怎么说服你(陌生人)成为他们的用户的?他们的目标都是盈利么?他们的目标都是赚取用户现金么么?还是别的?
- 2)这些软件是如何到你手里的(邮购,下载,互相拷贝)
- 3)这些软件是如何处理Bug的?又是如何更新新的版本的?
- 4) 同一类型的软件之间是如何竞争的?
基于网页的软件:
1.学堂在线、慕课、淘宝网页版、这些都是基于网页的软件。这些软件通过强大的功能。在线学习能力。以及购物能力。保证同学们的自学需求,和购物的需求。
2.通过在线访问网页获取。
3.一旦网站管理员发现bug,便会修改代码。重新发布后。我们登录网页时就会发现这些bug都已经被修复了。
4.像一些慕课软件。通过名师名校。优秀的师源力量来吸引用户。而购物软件,用各种活动来吸引用户。
手机应用:
1.QQ、微信、高德地图、支付宝、微博、滴滴打车、等等。这些软件基本是九城手机用户里必备的软件。他们具有着各种不同的强大功能。在使用他们之后,会使用户者得到一定的便利。所以许多的用户,在买到新手机后,就会自觉的装好这些软件。
2.通过各大应用商店下载即可。
3.当软件出现bug时。发现后。软件会在下一个版本更新处理这些bug问题。重新下载安装软件即可。
4.通过各软件支持更为强大的功能,或者更加便捷的操作,减少使用者的时间。来获取更多的用户的。
操作系统:
1.Windows、Ios、Linux、Android。用户在购买产品是就已经预付了操作系统的费用。
2.操作系统也分为pc端和移动设备端两种。主要通过官网下载。拷贝的方式获得。
3.在操作系统发现bug是。一般会在下一个版本进行修复。直接通过联网更新即可。
4.对于操作系统的移动设备端。iOS、Android。也就成了2大主要的竞争商。iOS,拥有更为简便的操作流程,而且,对用户信息资源是无法通过,资源管理器查看的,更加保护了用户的隐私。
- 列举你在使用上述软件时观察到的“特殊”现象,它们和硬件有什么不同?这些能说明软件的某些本质特性么?
1.软件是一种通过编程实现硬件功能的产品。
2.硬件可以成批量的生产。每个产品中。通过软件和硬件的配合,从而达到产品的目的。
3.一种硬件设备。只能搭配固定的软件,从而实现它的功能。