一、用3天左右时间精读教材《现代软件工程—构建之法》第一章,整理本章中出现的计算机专业术语
1.1 软件=程序+软件工程
1、程序,在这里指的就是源程序,就是一行行的代码,构建不仅仅是cc和link命令。一个复杂的软件不但要有合理的软件架构,软件设计与实现,还要有各种的文件和数据来描述各个程序文件之间的依赖关系,编译参数等,这些都是软件软件构建的过程,有些程序还有32位系统,64位版本等,这是源代码管理,也叫配置管理。具体的验证过程叫做软件测试。
2、软件团队要从需求分析开始,把合适的需求梳理出来,然后逐步展开后续工作。
3、软件团队要从需求分析开始,把合适的需求梳理出来,然后逐步开展后续工作,如设计软件架构,实现算法,测试,到最后发布软件尽快读懂已有程序,了解程序的设计,这叫程序理解。
4、质量保证和软件测试:
源代码管理,也称配置管理;
质量保障:用一系列的工具、流程和文档来保证程序的正确性。这些工具、流程应达到很高的质量;
软件测试:软件具体的验证过程;
需求分析;程序理解;软件维护;服务运营;软件的生命周期;软件项目的管理;用户体验;国际化与本地化
给软件打补丁,维护众多的服务,团队的新老成员一起修复各种问题,这叫软件维护或者服务运营,这一过程就是软件的生命周期,在这一周期中,有人得负责软件项目的管理。
5、一个好的软件,即使功能和同类软件区别不大,但却会让人感觉到非常好用,这就是软件的用户体验。软件还要处理不同语言、不同地区的用户对界面和功能的不同需求,这叫做软件的国际化和本地化。
6、广义上的软件工程也包括用户体验、用户界面设计等。所以,一个推论是:软件=程序+软件工程。
7、软件开发的不同阶段
(一)玩具阶段(二)业余爱好阶段(三)探索阶段(四)成熟的产业阶段
1.2 软件工程是什么
软件工程包括下列领域:软件需求分析、软件设计、软件构建、软件测试和软件维护。
1.2.1 软件的特殊性
1、复杂性 ;2、不可见性; 3、易变性; 4、服从性 ;5、非连续性
1.2.3 软件工程的知识领域
软件工程的三大类基础知识领域:计算基础、数学基础和工程基础。
1.偏理论的领域
计算理论;信息和编码理论;算法和数据结构;形式化方法;程序设计语言
2.偏实践的领域
计算机体系结构;并行计算和分布式系统;实时系统和嵌入式系统;操作系统;计算机网络;科学计算;安全和密码学;人工智能;万维网;软件工程
1.2.4 软件工程的目标———创造“足够好”的软件
1、好软件并不是指软件没有Bug,所谓软件工程就是把软件中的Bug都消灭掉的过程
2、用户满意度:用户在使用时发现了软件的很多问题,影响了用户使用软件的效率。
3、可靠性:某个软件经常会崩溃,某个操作系统会时不时死机,某个网站往往最需要的时候登不上去。
4、软件里程的质量:软件团队和开发流程的问题太多,导致团队成员无法互相协作,按时交付软件。
5、可维护性:某个软件太难维护了,按下葫芦起了瓢,修复了一个问题,另一个问题又出来了。
课后习题:
P18-2
提出5个问题:
一、在章节5中我发现,现实的开发过程中往往会比理论中多出很多问题,比如需要如何能够将需求细化到任务,然后在细化到设计,最终使得能够在规定的时间内有条不紊的完成目标?
二、章节6提到了长期任务,这种任务比较艰难且对项目又很重要,完成的时间超过Sprint的计划时间,邹老师对此只提到往往开发人员对此并不重视,并没提到如何较好的解决这类问题。我认为最难的那部分应该尽早去做,是不是对这“长期任务”也应该尽早安排人来承担这部分责任?
三、章节7提到成员授权和信任问题。如果在实际开发中,当项目开始前所信任的有能力干活的人中途离开了或者在开发过程中这个人遇到技术难题,长时间未解决,其他成员对这个人产生能力质疑时,如何解决这个问题?
四、在第9章中,提到了这样一句“没有风险,就是最大的风险。” 这句话该如何理解呢?而在本段之前刚刚对于风险管理水平进行了分层,那这句话是否是可以理解为:风险会从多方向来袭,企图缩短软件的生命周期,而所谓“没有风险”只是没有预见风险,并且没有对其未来的风险情况进行评估呢?
五、章节16中谈到了创新,包括创新的迷思,时机和招数等。那么软件工程的创新是什么类型的呢?工程领域的创新包括新的模式设计吗?
P18-3
(1)手机应用软件:支付宝
支付宝是一种支付软件, 它作为移动支付的先行者,支付方式更加便捷。支付宝可以直接和银行卡、信用卡绑定,一键支付,简单方便。并且在首付款时也不用找零,省时省力。它具有高度融合性,能融合到各个行业中,只要能涉及到支付的场景都能够使用。不论是线上还是线下、餐饮还是医疗、出行还是娱乐,都能轻松付融合。此外,我们还可以在支付宝的蚂蚁森林中获得能量来种植树木。
支付宝的盈利模式:
1、首先是收取用户的手续费。支付宝对个人用户超出免费额度部分的体现会收取0.1%的手续费。
2、第二个就是靠花呗和借呗盈利。花呗只是在那些开通了花呗付款的商家中使用,并且当这些商家开通了花呗收款之后,消费者在商家那边每消费一笔钱,支付宝平台就会按固定的比例收取商家费用。并且用户在使用花呗逾期或者使用借呗的时候,支付宝是会收取利息的,这部分利息也是支付宝的一种盈利方式。
3、一些金融性的投资。当用户把钱存在了余额宝这些支付宝理财的时候,在我们余额里能看到一个数字,但实际上投入的这些资金会被支付宝重新拿去投资,支付宝靠这种投资收益来盈利。
4、收取一些广告费用和平台服务费。支付宝作为一个拥有着过亿用户的软件,很多第三方服务都看中支付宝巨大的用户流量,所以很多第三方服务都会跟支付宝合作,这些第三方服务在进入支付宝平台的时候支付宝会收取一些服务费用。而且,我们在登陆支付宝平台的时候经常会看到一些广告,支付宝也会收取这些广告方的广告代理费用。
5、最后就是大数据收入。大数据具有很大的价值,支付宝可以从用户的消费中得到用户数据,这些数据用来分析用户,然后利用大数据精准营销。
(2)工具软件:WPS
WPS Office是一款办公软件套装,由金山公司所开发的,可以实现办公软件中常用的文字、表格、演示等多种功能。这款这几个功能是跟Microsoft Office办公软件的Word、Excel、Powerpoint这几个功能是对应的。相较于Word,它的内存占用低,下载下来不过四五十兆。并且具有强大的平台支持,不但可以在windows系统下运行,也可以在移动端运行,比如安卓手机、苹果手机,都可以安装WPS办公软件。并且WPS Office免费提供海量在线储蓄空间以及文档模板,任君选择。它还支持阅读和输出PDF文件,还有很多应用展示的功能,有基础、绘图、函数、透视表、图表等。功能不可谓不强大。
盈利模式:
1、WPS 办公软件分为个人版和专业版。WPS 个人版对个人用户完全免费使用,同时推出DOCER和轻办公等功能方面的增值服务。而WPS 专业版是针对企事业单位使用的版本,需要付费购买使用。
2、WPS还通过广告进行盈利。互联网广告推广服务占总收入的比例逐渐上升,已经成为营收支柱。
(3)操作系统:安卓
手机操作系统的主流现在主要有安卓和IOS系统,但是相比较于IOS,它的市场份额大,超80%,iOS不到13%。Android应用商店的应用程序发展迅速,不对应用程序进行严格。在这一点上优于苹果。世界很多智能手机厂家几乎都加入了安卓阵营,并推出了一系列安卓智能机。终端越多,其市场潜力大。虽然安卓平台的手机价廉,但是其性能却一点也不低廉。Android平台简单实用,无论是功能还是外观设计。
安卓的盈利模式:
1、原生安卓系统有不可卸载的谷歌应用商店,作为平台的提供者,谷歌对于收费的APP会收取一定的手续费。
2、原生安卓系统内嵌了谷歌浏览器,该浏览器会有大量的广告,作为当下全球市场占有率最高的浏览器,广告费数量惊人。