软件工程第一章精读——刘天乐 20194597
第一章 概论
1.1软件=程序+软件工程
“程序=数据结构+算法”——c语言实现二叉树遍历算法
程序对用户的需求
程序对数据进行操作——静态、动态
软件的构建的过程——合理的软件架构(Software Architecture)、软件设计与实现(Software Design,Implementation and Debug)
软件企业=软件+商业模式
1.2软件工程是什么
1.2.1软件的特殊性:复杂性、不可见性、易变性、服从性、非连续性
1.2.2软件工程与计算机科学的关系
(1)计算机科学偏理论领域
计算机理论、信息和编码理论、算法和数据结构、形式化方法、程序设计语言
(2)计算机科学偏实践领域
计算机体系结构、并行计算和分布式系统、实时系统和嵌入式系统、操作系统、计算机网络、科学计算、安全密码学、人工智能、计算机图形学、计算机视觉、多媒体、数据库和大规模数据处理、万维网、自然语言处理和语言、人机交互、软件工程
1.2.3软件工程的知识领域
(1)软件工程的三大类基础知识领域:计算机基础、数学基础、工程基础
(2)软件工程的生命周期:软件需求、软件设计、软件构建、软件测试、软件维护
(3)软件工程的专业领域:软件配置管理、软件工程管理、软件工程过程、软件工程模型和方法、软件质量
1.2.4软件工程的目标——创造“足够好”的软件
Bug直接衡量一个软件的开发效率、用户满意度、可靠性、可维护性
1.3练习和讨论
问题:
1.我在第二章中如何算做好的单元测试有说到单元测试必须和产品代码一起保护和维护,而上一叙述中也提到测试可以自动化,所以对于程序员不就可以减少一些工作吗?
2.我在第三章中有了解团队,我有一点疑问是开发和测试为什么要分工合作?一个人承担一个项目不应该更加省时省力吗?
3.手动测试和自动测试的差异有哪些?
软件分类:
学习软件:学习通、百词斩、腾讯课堂、流利说
学习通是当时大二时老师在上面上传课件供学生观看时让我们下载的,里面有的好的课程是需要花钱的,消费群体也是各高校的老师和学生;百词斩和流利说就是自己为了英语单词和加强口语练习用的,盈利方向也是通过购买课程赚得,偶尔会赠送一些免费课程还是比较喜欢的,隔段时间就会更新,在英语学习上的软件有很多主要是根据个人的先了解了哪个就不太会换了;腾讯课堂是有课程在上面推荐是下载的,通过买课盈利。
消费软件:淘宝、支付宝、美团
这三类都是在大一时经济独立后下载的,淘宝多用于衣服、鞋子等用品,支付宝用于手机线上支付,美团多用于订餐,同类会根据消费者心理利用各种优惠来吸引眼球。
打车软件:高德地图、嘀嘀打车
高德是手机买时自带的,经常使用导航路线和打车,滴滴打车在不好新闻出来后会用的比较少,不过它有一个分享路线是个很好的功能。