【形式化方法:VDM++系列】2.VDMTools环境的搭建
接前文: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环境的搭建的更多相关文章
- Intellij Idea系列之Tomcat环境的搭建(三)
Intellij Idea系列之Tomcat环境的搭建(三) 一. 编写背景 Intellij Idea在刚上手的时候很多人吐槽,"god, 这么难用的IDE有谁用呀?",的确,I ...
- 【Xamarin开发 Android 系列 1】环境部署搭建
原文:[Xamarin开发 Android 系列 1]环境部署搭建 开篇自然先扯一段,近几年移动互联网如果熊猫零食一样,蔓延迅速.楼主身为一个微软忠实的粉丝,无奈,老爹不给力.Silverlight开 ...
- php从入门到放弃系列-01.php环境的搭建
php从入门到放弃系列-01.php环境的搭建 一.为什么要学习php 1.php语言适用于中小型网站的快速开发: 2.并且有非常成熟的开源框架,例如yii,thinkphp等: 3.几乎全部的CMS ...
- 【大数据系列】windows环境下搭建hadoop开发环境使用api进行基本操作
前言 搭建完hadoop集群之后在windows环境下搭建java项目进行测试 操作hdfs中的文件 版本一 package com.slp.hadoop274.hdfs; import java.i ...
- 02LaTeX学习系列之---TeX环境的搭建
目录 02Latex的下载与安装及其编译IDE 目录 前言 (一)Tex Live的下载 1. Tex Live官方下载网站: (二)TeXStudio 1.TeXStudio官网下载 2.TeXSt ...
- 【形式化方法:VDM++系列】1.前言
1.前言 今天开始上课学习软件需求分析与VDM++,经过一节课的学习,我又增长了见识. 软件需求工程在软件工程中处于十分核心的地位:需求分析的好坏直接决定软件工程的成败.这一点是我之前对需求工程的理解 ...
- 【形式化方法:VDM++系列】3.基于VDM++的图书管理系统需求定义
接前文:http://www.cnblogs.com/Kassadin/p/4091040.html 1.Before We Start: 在开始图书管理系统需求定义之前,需要先进行一些说明. 1.1 ...
- win 7 下Maven环境的搭建
Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具. Maven是什么? 比较正式的定义:Maven是一个项目管理工具,它包含了: 一个项目对象模型 (Project O ...
- 【形式化方法:VDM++系列】4.VDM实战1——铁路费用计算
又有将近2个月没更新博客了啊!winter holiday简直玩儿疯了的说!结果假期前学习的形式化方法已经忘了大半!面对期末作业,大脑一片空白.于是,赶快复习了一下之前学习的姿势! 这次的主要任务是完 ...
随机推荐
- Android系统中提供的原子操作
代码的实现位于文件system/core/include/cutils中 http://androidxref.com/4.4.3_r1.1/xref/system/core/include/cuti ...
- 解释清楚c++的重载操作符【用自己的话,解释清楚】
C++中对于内置的变量及标准库中常见的类定义类常见的操作符含义,对于自定义的类也可以通过关键字operate 重载操作符的含义. C++中支持重载的目的 诚然操作符的重载可以通过使用函数实现同样的功能 ...
- Js跳出循环
break和 continue break 中断整个循环 continue 跳出当前循环,进入下一次循环 break示例: 例1: 例2: Continue:跳出当前循环,进入下一次循环 Break与 ...
- 线程间操作无效: 从不是创建控件“label4”的线程访问它。
//主线程 public delegate void UpdateMessage(string mes); public void UpdatePortMessage(string mes) { th ...
- 利用多核来加速Linux命令行
本文转载自 多核CPU来加速 awk, sed, bzip2, grep, wc等,如需查看原文,请点此链接进入. -------------------------------我是分割线 开始 -- ...
- [转]主键冲突的话就更新否则插入 (ON DUPLICATE KEY UPDATE )
mysql "ON DUPLICATE KEY UPDATE" 语法如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQ ...
- 判断IE版本的语句 [if lte IE 6]...[endif]
<!–[if lte IE 6]>……<![endif]–>Ite:less than or equal to意思是小于或等于IE6浏览器,用于IE浏览器的条件注释,常用于CS ...
- js分割文件快速上传
<?php header('Content-type:text/html;charset=UTF-8'); ?> <?php if ($_FILES) { if(!file_exis ...
- Dapper.ColumnMapper 的使用
using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; usin ...
- TDBAdvGrid 只读状态下复制功能
DataSource1.AutoEdit := false;