(1)第一章 计算机专业术语总结:
软件=程序+软件工程、程序=数据结构+算法、软件、程序、用户、需求、应用程序、软件服务、源程序、软件架构(Software Architecture)、软件设计与实现(Software Design Implementation and Debug)、源代码管理(Source Code Control)、配置管理(Software Configuration Managment)、质量保障(Quality Assurance)、软件测试(Test)、需求分析(Requirement Analysis)、程序理(Program Comprehension)、软件维护(Software Maintenance)、服务运营(Service Operation)、软件的生命周期(Software Life Cycle,SLC)、软件项目的管理(Project Mangement)、用户体验(User Experience)、国际化和本地化(Globalization & Localization)、系统软件、应用软件、恶意软件、计算理论、信息编码理论、算法和数据结构、形式化方式、程序设计语言、计算机体系结构、并行计算和分布式系统、实时系统和嵌入式系统、操作系统、计算机网络、科学计算、安全和密码学、人工智能、(模式识别、机器学习、数据挖掘、信息提取、)计算机图形学、计算机视觉、数据库和大规模数据处理、万维网、自然语言处理和语音、人机交互、软件工程、Person*Month=2.4*KLoC、BUG(缺陷)、用户满意度、软件流程的质量。
(2)通读教材后所产生的问题
- goto语句到底应不应该使用?
书中第四章4.3.2关于goto语句的说明中作者说了这样一句话
函数最好由单一的出口,为了达到这一目的可以使用goto语句,只要有助于程序逻辑的清晰体现什么方法都可以使用,包括goto。
我查阅了一些资料。在60年代末和70年代初这争论便已存在,有一些人认为:“goto语句使程序的静态结构和动态结构不一致,从而使程序难以理解,难以查错。去掉goto语句后,可直接从程序结构上反映程序运行的过程。这样,不仅使程序结构清晰,便于理解,便于查错,而且也有利于程序的正确性证明。”而有的人确认为:“goto语句使用起来比较灵活,而且有些情形能提高程序的效率。若完全删去goto语句,有些情形反而会使程序过于复杂,增加一些不必要的计算量。”而最后在C/C++等高级编程语言中保留了goto语句,但被建议不用或少用。在一些更新的高级编程语言,如Java不提供goto语句,它虽然指定goto作为关键字,但不支持它的使 用,使程序简洁易读;尽管如此后来的c#还是支持goto语句的,goto语句一个好处就是可以保证程序存在唯一的出口,避免了过于庞大的if嵌套。
我的困惑是goto语句到底应不应该被使用,究竟他是降低了程序的清晰性还是使程序变得更加简洁了?
- 结对编程选择同伴的第一要求是什么?
书中4.5提到了结对编程以及结对编程的好处,那么如何才能选择好适合自己的同伴呢?
人的性格总是不同的,有的人事无巨细有的人不拘小节,并且阅读他人的代码往往是困难的事,对于结对编程,性格也会起到很大的影响,我看了一些资料,有的单位因为最开始大家会比较害羞,所以会选择随机抽取的方式进行结对,但是我觉得这种方式会降低两个人的工作效率,会经历一定时间的磨合阶段。
我的困惑时若果结对编程什么是选择同伴的第一要求呢?
- MSF会不会一定程度上降低了团队的执行效率?
书中7.3中作者提到了这样一句话
在MSF团队模型中任何技术项目都必须达到特定的关键质量目标才能够被认为是成功的项目。任何一个角色无法实现其目标,都将危及整个项目。
因为在MSF中小组成员都会被赋予自己的角色和相应的职责,在大多数人的素质和能力不尽相同是会不会出现一种情况,某个人进度缓慢,进而耽误团队的效率呢?
这种情况是否有解决的办法呢?如果有该如何实施呢?
- 如何能够锻炼自己,将来成为一名合格的PM?
书中第9章提到的PM对于一个优秀的开发团队还是非常重要的。
那么对于我们大学生如何才能在校期间锻炼自己,将来成为一名合格的PM呢?
- 如何衡量软件工程的质量?
书中第14章
作者将 软件=程序+软件工程 的公式拓展为 软件质量=程序质量+软件工程质量
程序的质量体现在软件外在功能的质量,软件工程有一套别叫成熟的理论是CMMI(Capacity Maturity Model Integrate),细化后究竟需要怎样衡量软件工程的质量呢?
(3)手机中的软件
Web APP:QQ浏览器
分析:作为腾讯开发的一款浏览器,个人还是比较喜欢的,支持多引擎搜索,对文件的下载及空间管理也做得很好,是通过下载到手机中的,主要通过大流量的用户来吸引广告商投放广告来盈利。有定期的版本更新来解决BUG和增强用户体验。
Games: 炉石传说
分析:网易代理的一款暴雪游戏,作为最经典的卡牌类游戏,一直有着数量庞大的玩家,游戏体验非常好,通过商城售卖游戏道具来获得盈利,通过的定期的版本更新进行游戏优化。
Music APP:网易云音乐
分析:当下年轻人最流行的一款音乐APP,拥有最完美的美工设计,美观的界面设计是成为年轻人追捧的首要原因,通过会员制度及广告获得盈利,也有定期的版本更新来优化用户体验。