接前文:http://www.cnblogs.com/Kassadin/p/3975853.html

上次讲了软件需求分析的演化过程,本次进入正题——VDM开发环境的搭建

(自从发现能打游戏以来,居然有将近1个月没有写博客了!真是越来越颓废了。。)

其实VDM++已经学习了很多,近几天应该会逐渐更新。

1.VDM开发环境介绍


需要使用的环境主要有2个:(1)VDMTools (2)Overture Tool

官方网站:【VDMTools】http://www.vdmtools.jp/en/

【Overture】http://overturetool.org/languages/

 

2.安装VDMTools


(1)下载VDMTools首先需要注册账号

(2)账号注册完成后会出现download按钮,点击可以下载

(3)下载完成后,点击安装,一直下一步即可。

(4)安装完成后,如下图所示:

VDMTools的主要功能是对VDM代码进行验证和测试,不能用于编写代码

3.安装Overture Tool


(1)由于Overture Tool是基于Eclipse的,所以运行Overture必须先安装JRE【否则无法运行Eclipse,安装过程略】

(2)在Overture官网下载压缩包

(3)解压,运行Overture.exe即可(其它平台类似)

(4)运行效果如下图:

Overture Tool是VDM++的一个集成开发环境,支持代码编写,代码测试,回归测试,测试分析等一系列功能。主要用于代码编写!

至此,VDM开发环境搭建完成。

4.VDMTools第一步:Hello World程序


安装完了开发环境,想必大家都已经跃跃欲试了,这个VDMTools究竟怎么用呢!?本部分讲解如何使用VDMTools运行第一个程序。

(1)进入VDMTools,点击Interpreter按钮,或者从windows菜单中选择interpreter,进入VDM++解释器。这是VDM++语言的交互式运行环境,类似于python的交互模式,ruby的irb;在该解释器中输入VDM++命令,即可交互式的显示出命令的执行结果,非常适合学习。

(2)如下图,在交互式窗口中输入:p “Hello,world”,点击回车,交互式窗口成功打印出Hello World。至此,HelloWorld程序便开发完成了!怎么样,是不是很简单呢!

至此,VDM++开发环境已经基本入门,或许现在你仍然十分不解:这个VDM++到底可以做些什么!?这个VDM++语言到底又是什么呢!?

VDM++作为一个软件形式化语言,在软件需求分析和软件测试上有着十分强大的功能。在下一篇文章中,我将通过一个实例会为大家展示VDM++的强大功能,敬请期待。

Next:【形式化方法:VDM++系列】3.基于VDM++的图书管理系统需求定义

【形式化方法:VDM++系列】2.VDMTools环境的搭建的更多相关文章

  1. Intellij Idea系列之Tomcat环境的搭建(三)

    Intellij Idea系列之Tomcat环境的搭建(三) 一. 编写背景 Intellij Idea在刚上手的时候很多人吐槽,"god, 这么难用的IDE有谁用呀?",的确,I ...

  2. 【Xamarin开发 Android 系列 1】环境部署搭建

    原文:[Xamarin开发 Android 系列 1]环境部署搭建 开篇自然先扯一段,近几年移动互联网如果熊猫零食一样,蔓延迅速.楼主身为一个微软忠实的粉丝,无奈,老爹不给力.Silverlight开 ...

  3. php从入门到放弃系列-01.php环境的搭建

    php从入门到放弃系列-01.php环境的搭建 一.为什么要学习php 1.php语言适用于中小型网站的快速开发: 2.并且有非常成熟的开源框架,例如yii,thinkphp等: 3.几乎全部的CMS ...

  4. 【大数据系列】windows环境下搭建hadoop开发环境使用api进行基本操作

    前言 搭建完hadoop集群之后在windows环境下搭建java项目进行测试 操作hdfs中的文件 版本一 package com.slp.hadoop274.hdfs; import java.i ...

  5. 02LaTeX学习系列之---TeX环境的搭建

    目录 02Latex的下载与安装及其编译IDE 目录 前言 (一)Tex Live的下载 1. Tex Live官方下载网站: (二)TeXStudio 1.TeXStudio官网下载 2.TeXSt ...

  6. 【形式化方法:VDM++系列】1.前言

    1.前言 今天开始上课学习软件需求分析与VDM++,经过一节课的学习,我又增长了见识. 软件需求工程在软件工程中处于十分核心的地位:需求分析的好坏直接决定软件工程的成败.这一点是我之前对需求工程的理解 ...

  7. 【形式化方法:VDM++系列】3.基于VDM++的图书管理系统需求定义

    接前文:http://www.cnblogs.com/Kassadin/p/4091040.html 1.Before We Start: 在开始图书管理系统需求定义之前,需要先进行一些说明. 1.1 ...

  8. win 7 下Maven环境的搭建

    Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具. Maven是什么? 比较正式的定义:Maven是一个项目管理工具,它包含了: 一个项目对象模型 (Project O ...

  9. 【形式化方法:VDM++系列】4.VDM实战1——铁路费用计算

    又有将近2个月没更新博客了啊!winter holiday简直玩儿疯了的说!结果假期前学习的形式化方法已经忘了大半!面对期末作业,大脑一片空白.于是,赶快复习了一下之前学习的姿势! 这次的主要任务是完 ...

随机推荐

  1. Entity Framework问题:ReferentialConstraint 中的依赖属性映射由存储生成的列

    原文:Entity Framework问题:ReferentialConstraint 中的依赖属性映射由存储生成的列 今天在采用Entity Framework 的Database First反向以 ...

  2. C#中实现抽象类里建立静态方法

    这篇文章主要介绍了C#中实现抽象类里建立静态方法,需要的朋友可以参考下   本文简述了C#中实现抽象类里建立静态方法的解决办法,示例程序如下: 1 2 3 4 5 6 public class Tes ...

  3. Excel 数据分析技巧

    分享一个小技巧,Excel中,统计数据后,根据数据点之间的趋势,描绘出大致的曲线图,并且得到对于的公式. 1. 给出示例数据 2. 插入->散点图,右键点,选择添加趋势线,可以根据点数的走向,来 ...

  4. 关于fputs和fgets的几个细节

    C语言中两个标准IO fputs和fgets都是针对行来进行数据的读取的!这里关于这两个IO函数我有几个小细节想在这里和大家分享一下,希望能够对大家产生帮助! 首先贴上这两个函数的函数声明,下面以这两 ...

  5. GSM嗅探

    GSM初探 大家应该都听说过HTTP协议,又听说WEB服务,每一个服务的背后都有一个协议在工作着.所谓的没有规矩不成方圆,说的就是这个道理,每一个细小的部分,都已经规定好,只要按照协议执行,就不会出现 ...

  6. Android 源码VecotorDrawable

    1 R.styleable.VectorDrawable_viewportWidth 该资源的名字并非VectorDrawable_viewportWidth 而是 attrs.xml 下的声明 &l ...

  7. 【转】给Winform的button等控件添加快捷键

    ref: http://blog.sina.com.cn/s/blog_4cb9953f0100cy4z.html 第一种:Alt + *(按钮快捷键) 在大家给button.label.menuSt ...

  8. Qt 日志宏

    随便写了一个日志帮助的宏,既可以如同qDebug()一般在调试时输出信息,也可以在输出文本文件 #ifndef LOG_H #define LOG_H #include <QDir> #i ...

  9. 关于html的下载功能

    新项目基本告一段落,第一次完成前后端分离的集成,遇到的坑自然不少. 来说说第一天遇到的其中一个坑吧. ——关于下载的问题... 以前的做法,大家都喜爱用<a></a>标签吧.而 ...

  10. canvas主要属性和方法

    canvas主要属性和方法 方法                                   描述 save()                           保存当前环境的状态 res ...