软件工程第一次作业
花20分钟写一个能自动生成小学四则运算题目的“软件”
code地址:https://coding.net/u/T_joker/p/test-one/git/blob/master/四则运算.cpp
看完《构建之法》后的几个问题
1.在阅读第二章实践这一节中,书中建议代码的基本功联系使用最基本的编辑器而不是VS,但是通常情况下都是通过遇到一个陌生问题下,一面学习一面解决问题,使用更高级的编译程序可以简化程序,可以提高程序的可读性和以后的软件熟悉度,真的需要从基本开始打下代码基础和代码的风格吗?我们从最基本的学习中能收获到很多吗?
2.在第三章的学习中,以篮球运动员为一个例子,他们这个职业有着自我的数据,同样程序员也有着自我的代码风格,对于团队里的成员来说,或者对于不同的人来说,一个人代码风格的好坏有着基本定义,但是在细节方面可能因人而异,在学习过程中就存在这样的问题,阅读第五章在团队工作中一定也有着差异,在同一队中一个人说好,一个人可能会认为不好,真的需要为了团队中个别几个成员的交流来编写二种不同样子的代码吗?
3.阅读第八章在用户需求方面,除了我们对于用户的基本需求满足,我们也要对大众用户进行问卷调查或者是面对面的讨论软件的差异,在软件的需求方面,双方会有着一些歧义,但是又不想要失去任意一个潜在的用户,是否需要去考虑个别用户的特殊需求?
4.在用户功能定位时,如何定义用户的不合理的需求以及是否可以将他人需要收费的项目免费?
5.第十二章用户体验,用户体验应该在最初设计时全面考虑还是通过用户使用软件进行反馈后修改,不用的用户有不一样的感觉该怎么处理?
自己挑选3个软件继续分析
第一种软件:菜鸟教程
1)这是一个学习的网页,有着各种关于计算机专业的知识学习,同时可以边学习边实践,如同书本一般详细。
2)这个网页是通过老师介绍使用的。
3)bug的修复和网站的更新都是后台自己更新的
4) 同一类型的软件之间是通过比较提供的信息的详细度和软件使用的简便性来竞争的。
第二种软件:QQ音乐
1)音乐信息的丰富,以及广告成为了他的用户,通过开通特权以及购买专辑赚钱。
2)通过下载入手软件
3)用户遇到BUG会进行反馈,运行者会实时进行修补。
4) 同一类型的软件之间通过音乐信息的丰富度和音乐的音质来竞争
第三种软件:搜狗输入法
1)软件通过丰富的词库和使用的简便以及外观的多样吸引用户。通过广告收入。
2)软件通过下载获得
3)幕后团队自己发现bug自己修复,软件的更新也是增加功能或者完善功能
4) 同一类型的软件通过词库的大小,输入的简易,对于输入的错误更正和输入时附带的搜索功能竞争
使用软件时的认识:
计算机软件的产生与硬件不同。计算机软件开发没有明显的制造过程,也不象硬件那样,一旦研制成功,可以重复制造,并在制造过程中进行质量控制。软件是通过人的智力活动,把知识与技术转化成信息产品。一旦某一软件项目研制成功,即可大量复制,所以对软件的质量控制,必须着重在软件开发方面先工夫。计算机软件的开发和运行常常受到计算机系统的限制,很多软件对计算机系统都有着不同程度的依赖性。软件不能完全摆脱硬件而单独活动。有些软件依赖性大,常常为某个型号的计算机所专用,有些软件依赖于某个操作系统。软件本身是非常复杂的。软件的复杂性可能来自它所反映的实际问题的复杂性应用软件主要是用于解决某些特定问题,种类和用途年繁多。