1.1软件=程序+软件工程
程序=数据结构+算法
软件架构(Software Architecture)
软件设计与实现(Software Design,Implementation and Debug)
源代码guanli(Source Code Control)
配置管理(SoftWare Configuration Management)
质量保障(Quality Assurance)
需求分析(Requirement Analysis)
程序理解(Program Comprehension)
软件维护:(Software Maintenance)
服务运营(Service Opertion)
生命周期(SoftWare Life Cycle SLC)
软件项目的管理(Project Management)
用户体验(User Exception)
国际化和本地化(Globalization &Localization)
1.2软件的特殊性
(1)复杂性:软件可以说是人类创造的最复杂的系统类型。
(2)不可见性:软件工程师能直接看见源代码,但是源代码不是软件本身。
(3)易变性:软件看上去很容易修改,修改软件比修改硬件容易多了。
(4)服从性:软件不能独立存在,它总要运行在硬件上面,他要服从系统中其他组成部分的要求,它还要服从用户的要求、行业系统的要求。
(5)非连续性:人们比较容易理解连续的系统:增加输入,就能看到相应输出的增加。
1.3计算机科学偏理论的领域:
计算理论(Theoretical Computing)
信息和编码理论(Infornation and Coding Theory)
算法和数据结构(Algorithm and Data Structure)
形式化方法(Formal Methods)
程序设计语言(Programming Language)
偏实践的领域
计算机体系结构(Computer Architecture)
并行计算好分布式系统(Concurrent,Parallel and Distributed System)
实时系统和嵌入式系统(Real Time and Embedded System)
操作系统(Operating System)
计算机网络(Networking)
科学计算(Scientific Computing)
安全和密码学(Security and Cryptography)
人工智能(Artificial Intelligence)
数据库和大规模数据处理(Database and Large Scale Date Processing)
万维网(Wrold Wide Web)
自然语言处理和语言(Natural Language Proccessing and Speech)
人机交互(Human Computer Interaction)
p18 2
(1)我看了第三章软件工程师的思维误区的过早优化,书中说“过早的优化是一切罪恶的根源”,我不明白为什么这么说,要是在最初的模块中 做到最优化岂不是更好吗?
(2)我看了第六章的有关敏捷的介绍,这一章的内容使我很困惑,我不知道敏捷的具体的定义是什么,什么时候适合用到敏捷?用敏捷和不用敏捷有什么样的区别或者影响?
(3)我看了第十三章的“探索式”的测试:就是为了某一特定目的而进行的测试,且就一次,以后一般也不会重复测试。有些缺陷 如果么有被测试到怎么办?
(4)软件测试有很多种,在做一个软件的过程中,每一种测试都要必须做到吗?还是说可以省去一些?
(5)怎么样成为一个好的PM,需要怎么样的能力和经验?
p18 3软件分类
(1)视频软件:腾讯视频、优酷视频
原因:都是盈利软件,优酷视频是手机自带的,感觉腾讯视频的画质比较好,就在应用商城下载了。
(2)社交软件:QQ、微信
原因:都是盈利软件,手机自带的,当代年轻人必备的2个人软件。
(3)购物软件:淘宝、阿里巴巴、闲鱼
原因:盈利软件。阿里巴巴购物可以批量购物还比淘宝便宜。闲鱼可以使自己 闲置的东西出售给别人。
(4)学习软件:星火英语、百词斩、运动世界校园
原因:星火英语、百词斩都是用来学习英语的。
(5)音乐软件:酷狗音乐、qq音乐
原因:都是盈利软件。qq音乐手机自带的,酷狗的歌曲比较多,心情不太好的时候,通过音乐来缓解自己的心情。