接前文: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. Android系统中提供的原子操作

    代码的实现位于文件system/core/include/cutils中 http://androidxref.com/4.4.3_r1.1/xref/system/core/include/cuti ...

  2. 解释清楚c++的重载操作符【用自己的话,解释清楚】

    C++中对于内置的变量及标准库中常见的类定义类常见的操作符含义,对于自定义的类也可以通过关键字operate 重载操作符的含义. C++中支持重载的目的 诚然操作符的重载可以通过使用函数实现同样的功能 ...

  3. Js跳出循环

    break和 continue break 中断整个循环 continue 跳出当前循环,进入下一次循环 break示例: 例1: 例2: Continue:跳出当前循环,进入下一次循环 Break与 ...

  4. 线程间操作无效: 从不是创建控件“label4”的线程访问它。

    //主线程 public delegate void UpdateMessage(string mes); public void UpdatePortMessage(string mes) { th ...

  5. 利用多核来加速Linux命令行

    本文转载自 多核CPU来加速 awk, sed, bzip2, grep, wc等,如需查看原文,请点此链接进入. -------------------------------我是分割线 开始 -- ...

  6. [转]主键冲突的话就更新否则插入 (ON DUPLICATE KEY UPDATE )

    mysql "ON DUPLICATE KEY UPDATE" 语法如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQ ...

  7. 判断IE版本的语句 [if lte IE 6]...[endif]

    <!–[if lte IE 6]>……<![endif]–>Ite:less than or equal to意思是小于或等于IE6浏览器,用于IE浏览器的条件注释,常用于CS ...

  8. js分割文件快速上传

    <?php header('Content-type:text/html;charset=UTF-8'); ?> <?php if ($_FILES) { if(!file_exis ...

  9. Dapper.ColumnMapper 的使用

    using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; usin ...

  10. TDBAdvGrid 只读状态下复制功能

    DataSource1.AutoEdit := false;