序
终于等到国庆了,有时间来写点自己的想法。这学期我们新开设了《软件工程》这门课,通过前两次的学习,再结合自己暑期实习的一些经历,我认为这门课就是教我们如何组织、配合完成一项工程。老师要求我们写一些思维导图,博客等内容,我个人觉得这是十分有用的,当我能够通过观看网课等资源,写下一些学习笔记,这样才能使我更好地掌握这些内容。
第一周的学习成果,我一开始使用的是思维导图的方式,但我发现有些内容并不是一个个的知识点,有许多用于解释性的话放在思维导图里显得十分繁琐,反而用博客的方式更能方便的记录自己的学习心得体会。这也是为什么第一章的博客来的那么晚..
课程资源
1. 清华大学国家级精品课程《软件工程》网课
① 学堂在线课程网址:
软件工程 - 清华大学 - 学堂在线
② B站备份网址:
【软件工程】清华大学_哔哩哔哩_bilibili
本文所做的所有笔记、学习心得均来自该网课
1.1 软件无处不在
软件工程涵盖软件和工程两个部分
软件是软件工程的研究对象,也是软件工程的产品形态与客观存在
工程是将理论和知识应用于实践的科学,目的是经济有效地解决实际问题。
软件工程:为了解决开发成本效益和软件质量的问题而产生的,倡导以工程的原理原则和方法进行软件开发,用系统的、可控的和有效的方式构建高质量的软件产品。
软件工程是一种支持专业化软件开发的方法
1.2 软件的本质特性
对于用户:一系列实现各种功能的图形化界面
计算机内部:实际运行这一些程序代码
软件 = 程序 + 数据 + 文档
程序:计算机可以接受的一系列指令,运行时可以提供所要求的功能和性能
数据:使得程序能够适当地操作信息的数据结构
文档:描述程序的研制过程、方法和使用的图文资料
软件的行为只有通过运行才能呈现出来
程序运行才能观察到软件的功能和性能
软件更像是嵌入式的数字化知识、知识载体
软件的本质特性:复杂性、一致性、可变性和不可见性等固有的内在特性
造成软件开发困难的根本原因,使软件开发变得难以控制
复杂性
Google搜索引擎全球30多个站点,超100万台服务器的云计算设施
Amazon拥有28个云计算中心,超150万服务器
阿里云:国内最大的云计算平台