第一章 概论
1.1软件=程序+软件工程
软件架构(Software Architecture)、软件设计与实现(Software Design,Implementation and Debug )
源代码管理(Source Code Control)、配置管理(Software Configuration Management)
质量保障(Quality Assurance)、软件测试(Test)、需求分析(Require Analysis)
程序理解(Program Comprehension)、软件维护(Software Maintenance)
服务运营(Service Operation)、软件的生命周期(Software Life Cycle, SLC)
软件项目的管理(Project Management)、用户体验(User Experience)
国际化与本地化(Globalization & Localization)
1.2.1软件的特殊性
复杂性、不可见性、易变性、服从性、非连续性
1.2.2软件工程与计算机科学的关系
1.偏理论的领域
计算理论(Theoretical Computing)
信息和编码理论(Information and Coding Theory)
算法和数据结构(Algorithm and Data Structure)
形式化方法(Formal Methods)
程序设计语言(Programming Language)
2.偏实践的领域
计算机体系结构(Computer Architecture)
并行计算和分布式系统(Concurrent,Parallel and Distributed System)
实时系统和嵌入式系统(Real Time and Embedded System)
操作系统(Operating System)
计算机网络(Networking)
科学计算(Scientific Computing)
安全和密码学(Security and Cryptography)
人工智能(Artificial Intelligence)
万维网(World Wide Web)
软件工程(Software Engineering)
P18-2
1.第二章的单元测试,在单元测试上花多长时间合适?我们在做一个软件的同时还要兼顾写代码,做单元测试,整理文档等等,那么大部分时间用来做什么比较合适?
2.第三章的软件工程师的思维误区,和以前的认知大部分相反,在学习软件工程这门课之前大部分都是自己完成软件代码,觉得依赖问题都要提前想好,好知道下一步怎么做,但书中说过于积极不对,还有过早优化问题,以前觉得发现问题要及时解决,但书中说到过早优化可能会花大量时间,现在对这些有了新的认知,并在以后的学习中可以避免掉这些错误。
3.第四章的代码复审,不太懂为什么我们在已经按照编码规范敲代码的前提下还要进行代码复审,按照代码规范就是为了代码的可读性,这样在时间上花费的要多一些。
4.第九章项目经理,迷惑项目经理是需要具备所需技能后才能成为项目经理还是从团队里的成员选出来培养成项目经理的?
5.第十三章软件测试,之前对软件测试有误解,觉得是针对用户的,看完本书知道是为了更好的为用户服务的。
P18-3
软件分类
1.学习软件:,程序员学习助手,运动世界
使用原因:因为要学习知识恰巧这些软件有我要学的东西。
2.视频软件:腾讯视频,优酷视频,爱奇艺,
使用原因:,看视频方便。