说点什么吧~
笔记自豪地采用 Markdown 编写。
.md 格式的笔记同步在 Github 上,传送门 https://github.com/dearsq/Note_SoftwareEngineering
整理笔记的软件为 OneNote。强力推荐!
———
在分享笔记前谈谈自己对这个活动的看法。
我觉得这个活动与其说是整理笔记为大家提供干货来学习,更重要的应该是学习别人的优秀的学习方法。
因为知识是永远学习不完的,但是学习方法却是可以get到自己最受用的。
在笔记讨论区看了不少帖子,收获颇丰。
分享一下一些经典的笔记中的学习方法:
【学堂笔记】中国建筑史 这个笔记是我最喜欢的一个,应该算是笔记届的模版。虽然我不是建筑专业的,但是我确实从他的笔记中学到了许多 整理笔记 的方法。包括 按照章节来分类、图文并茂、列序号整理重点、善用加粗、总结归纳。这些与其说是好笔记的要素,不如说是好的学习方法。如果在脑海中将知识点全部像这样来整理,似乎想不记住都有点难。
【学堂笔记】清华财务分析笔记 和 【学堂笔记】清华营销笔记 这两个的作者都是 Sheldon,从他的笔记中我学到了 善于利用表格。这是自己原来从来没有注意到的地方。他利用表格把一些重点表述的很清晰。但是我觉得他笔记也有一些可以改进的地方。比如东西太杂太多了,没有详略,查阅起来确实不方便。但是虽说有一种说法是记笔记重要的是整理的过程,但是我想,如果做笔记的时候不仅整理了思路,同时也让以后查阅更加方便,不更是一件好事么。
『 资产负债表 』 之 [ 负债 & 股东权益 ] iFantastic 的笔记简直棒呆了。通过思维导图的方式将知识点串联起来,也是一种很棒的方法。我看到这个后,马上去试了一下利用这个思维导图的方法(XMind软件)整理一个最近移植的闪光灯驱动代码。用思维导图整理完后思路非常清晰明了。(似乎 UML 也是不错的选择,但是原谅我暂时还不会用它来处理面向过程的语言..)
除了找到适合自己记笔记的方法外,好的工具可以更加大大的提升学习效率。
下面推荐两款自己在用的好用的笔记工具:
1. MarkDown 编辑工具:记笔记我用 https://www.zybuluo.com/mdeditor 可以在线编辑也可以下载客户端来进行编辑。CSDN 的博客编辑也自带有 MarkDown 编辑器。 MarkDown 是一门编辑文本的语言,大家可自行百度。好处是让大家更少的关注排版等需求,更多的关注文字的内容。只要按照特定的语法完成文本的编辑,就可以自动生成排版好的文本,也可以导出生成 PDF、Word、等格式的文件,如下图。而成本在于需要学习 MarkDown 语言,大概需要两个小时。
2. OneNote 。简直是做笔记的不二选啊。先来张图片
这是我的笔记本,用 OneNote 已经一年多了,周围的人已经被我安利得全部转入 OneNote 阵营了。它最大的好处有三点:
章节式整理知识点,这也是它比 EverNote(印象笔记)、有道云笔记更适合我的原因,后者更趋向于碎片化的知识点。OneNote更趋向于网络化知识点。
查阅非常迅速,搜索所有笔记本 Ctrl+E,所有当前笔记页 Ctrl+F。几乎秒查。比如我忘记了一个函数的用法,不用在网上重新查找,直接 Ctrl+E 就够了。
多终端无缝衔接,我一般在三个设备上用,电脑、ipad、手机。电脑上多为学习的时候整理知识点,手机上多为查阅知识点,ipad 上多为开会去听讲座的时候做笔记。别人讲 PPT 的时候你只需要端起 ipad 拍一张照片,然后用手写笔做批注就够了。
希望对大家有所帮助,最后附上自己 软件工程 学习第一章的笔记,后面的章节也会在 github 上更新。如果是同专业的欢迎关注哟。
MarkDown 版笔记:
# 初识软件工程
标签(空格分隔): 软件工程 python
---
## 软件的本质特性
### 软件的定义
在用户看来,**软件**就是实现一系列功能的图形化界面。
在计算机中,**软件**是由**程序**、**数据**和**文档**组成的。
> 软件 = 程序 + 数据 + 文档
**程序**:计算机可以接受的一系列指令,运行时可以提供所要求的功能和性能。
**数据**:使得程序能够适当的操作数据结构。
**文档**:描述程序的研制过程、方法和使用的图文资料。
### 软件的特性
**开发软件和建造客机有什么本质区别?** **(软件有哪些特性?)**
软件具有**复杂性、一致性、可变性和不可见性**等固有的内在特性。这是造成软件开发困难的根本原因。
**复杂性**是指软件不能独立存在,需要依附一定的环境(硬件、网络、其他软件)。
**一致性**是人为所带来的复杂性,软件必须遵从人为的惯例并适应已有的技术和系统。
**可变性**是指软件需要随接口的不同而改变,随时间推移而变化,而这些变化是不同人设计的结果。
软件的修改也是会带来副作用的:

**不可见性**是指
1. 软件是“看不见、摸不着”的逻辑实体,不具有空间的形体特征。
2. 软件开发人员可以看到程序代码,但是源码并不是软件本身。
3. 软件是以机器代码的形式运行,但是开发人员无法看到源码是如何执行的。
自动排版后的笔记:
因为学堂发帖需要手动编辑,所以偷懒我就直接贴图了:
如果你 get 到了一个对你有用的地方就麻烦点个赞吧!谢谢!
说点什么吧~
欢迎来到学堂在线广场~
在这里你可以玩活动,看资讯,晒笔记。
还可以交学友、发心情、聊人生。
在学堂的每一天,就从这里开始吧!
点击 广场指南 了解更多