形式化方法英文的名称是formal methods。用于开发计算机系统的形式化方法是描述系统性质的基于数学的技术,这样的形式化方法提供了一个框架,可以在框架中以系统的而不是特别的方式刻划、开发和验 证系统。 如果一个方法有良好的数学基础,那么它就是形式化的,典型地以形式化规约语言给出。这个基础提供一系列精确定义的概念,如:一致性和完整性,以及定义规范 的实现和正确性。 形式化方法的本质是基于数学的方法来描述目标软件系统属性的一种技术。不同的形式化方法的数学基础是不同的,有的以集合论和一阶谓词演算为基础(如Z和 VDM),有的则以时态逻辑为基础。形式化方法需要形式化规约说明语言的支持。 研究内容
2.《大象-think in UML》 面向对象和面向过程是两种不同描述世界的方法。
面向过程:世界视为过程,世界由一个个相互关联的小程序构建来的。但是构成一个系统的因素太多,要把所有可能的因素都考虑到,把所有因素的因果分析都分析清楚,再把这个过程模拟出来实在是太困难了。
面向对象:世界视为对象,世界由一个个相互独立、相互之间没有因果关系的对象构成。但是难点在于为什么这样抽象对象?怎样组合对象?对象的组合表达了怎样的含义?
以知乎上的一个例子来区分面向过程和面向对象:
面向过程: 为了把大象装进冰箱,需要3个过程。 1) 把冰箱门打开(得到打开门的冰箱) 2) 把大象装进去(打开门后,得到里面装着大象的冰箱) 3) 把冰箱门关上(打开门、装好大象后,获得关好门的冰箱)
每个过程有一个阶段性的目标,依次完成这些过程,就能把大象装进冰箱: 冰箱开门(冰箱) 冰箱装进(冰箱, 大象) 冰箱关门(冰箱)面向对象: 为了把大象装进冰箱,需要做三个动作(或者叫行为)。 每个动作有一个执行者,它就是对象。 1) 冰箱,你给我把门打开 2) 冰箱,你给我把大象装进去(或者说,大象,你给我钻到冰箱里去) 3) 冰箱,你给我把门关上
依次做这些动作,就能把大象装进冰箱: 冰箱.开门() 冰箱.装进(大象) 冰箱.关门()