2019软件工程第一次作业
程序=数据结构+算法
软件团队的人员也会流动,新的成员要尽快读懂已有的程序,了解程序的设计,这叫程序理解。
软件在运行的过程中还会出现这样那样的问题,例如打补丁,维护众多的服务,修复各种各样的问题,这叫程序维护,或者服务运营。
软件还要处理不同语言,不同地区的用户对界面和功能的不同需求,这叫做软件的国际化和本地化。
软件=程序+软件工程
软件企业=软件+商业模式
软件的不同发展阶段
1.玩具阶段
2.业余爱好阶段
3.探索阶段
4.成熟的产业阶段
复杂性
软件可以说是人类创造的最复杂的系统类型。
不可见性
软件工程
能直接看见源代码,但是源代码不是软件本身。
易变性
软件看上去很容易修改,修改软件比修改硬件容易多了。
服从性
软件不能独立存在,要服从用户的要求,行业系统的要求。
非连续性
输入上很小的变化,会引起输出上很大的变化。
霍夫斯塔特定律:实际时间总是比预期要长,即使你考虑到了霍夫斯塔特定律。
Bug的多少可以直接衡量一个软件的开发效率,用户满意度,可靠性和可维护性:
用户满意度:用户在使用时发现了软件的很多问题,影响了用户使用软件的效率。
可靠性:某个软件经常会崩溃,某个操作系统会时不时死机,某个网站往往在最需要的时候登不上去。
软件流程的质量:软件团队和开发流程的问题太多,导致团队成员无法
互相协作,按时交付软件,这也可以说是软件团队的bug。
可维护性:需要更多的资金和时间来维护这个软件,甚至推倒重写。
part2:
我已快速看完整部教材,提出以下疑问。
1.一个复杂的软件是如何构建起来的。
2.软件开发经历了哪些阶段
3.随着软件行业的发展,未来软件可能对航空业,制造业等行业产生
4.软件行业的发展是否会推动人工智能的发展
5.既然提高软件的生产率会导致软件危机,那么随着时代的发展,是否会再次爆发。
part3
1.适应了用户需求,如:微信,支付宝支付方便快捷,目标是盈利,一方面赚取用户现金,另一方面对社会发展也做出了不可忽视的贡献。
2.通过同学,老师推荐或是网上搜索,当时在上初中,感觉十分满足用户需要,成就了中国互联网建设的新时代。
3.通过不断更新,升级,算法优化。
4.软件性能,舒适度,价格都会产生影响。