【形式化方法:VDM++系列】1.前言】的更多相关文章

接前文:http://www.cnblogs.com/Kassadin/p/4091040.html 1.Before We Start: 在开始图书管理系统需求定义之前,需要先进行一些说明. 1.1 输入,输出定义 输入:用户需求文字说明 输出:基于VDM++的需求规格说明文档 任何问题只有明确它的输入和输出,才会有一个明确的预期,才有可能获得预期的结果.在这里明确问题的输入输出更加重要.特别需要指出的是,VDM++作为一种形式化方法语言,它主要用于需求分析,而不是代码实现.虽然它的产出是一段…
1.前言 今天开始上课学习软件需求分析与VDM++,经过一节课的学习,我又增长了见识. 软件需求工程在软件工程中处于十分核心的地位:需求分析的好坏直接决定软件工程的成败.这一点是我之前对需求工程的理解和认识,然而今天的学习又进一步扩展了我的认识. 2.需求分析的发展阶段 说起需求分析,首先想到的是用例,然后就是各种各样的用例图,功能描述:接下来我会想到产品原型,业务流程描述等等:然而这些其实都只是需求工程的某一阶段的一小部分.实际上,需求分析大致可划分为以下3个阶段: (1)上世纪70年代兴起的…
接前文: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/ [O…
又有将近2个月没更新博客了啊!winter holiday简直玩儿疯了的说!结果假期前学习的形式化方法已经忘了大半!面对期末作业,大脑一片空白.于是,赶快复习了一下之前学习的姿势! 这次的主要任务是完成一个费用计算程序. 1.问题 Make a model to calculate train fare from a station to another station by using functions and the following table. 使用函数计算两个车站之前的铁路费用.基…
开源技术专家章宇同学(@一棹凌烟)在C3沙龙分享过Ceph之后,最近来了劲头,一口气写了一系列<Ceph浅析>的博文,共8篇: "Ceph浅析"系列之一--前言 "Ceph浅析"系列之二--Ceph概况 "Ceph浅析"系列之三--Ceph的设计思想 "Ceph浅析"系列之四--Ceph的结构 "Ceph浅析"系列之五--Ceph的工作原理及流程 "Ceph浅析"系列之六--…
直接给出原文链接吧: C#中基于GDI+(Graphics)图像处理系列之前言 链接:https://pan.baidu.com/s/1zm5TCOHqkqEfiLZuqO0UMA 提取码:qz0h…
1. 什么是webpack? 前端目前最主流的javascript打包工具,在它的帮助下,开发者可以轻松地实现加密代码.多平台兼容.而最重要的是,它为前端工程化提供了最好支持.vue.react等大型项目的脚手架都是利用 webpack 搭建. 所以,学习webpack可以帮助开发者更好的进行基于javascript语言的开发工作. 2. 怎么学习webpack? 如果一个新手不幸打开vue-cli中关于webpack的配置,乱起八糟的配置就像看天书一样(我就是这样). 所以,学习的时候还是要从…
从广义上讲,形式化方法是指将离散数学的方法用于解决软件工程领域的问题,主要包括建立精确的数学模型以及对模型的分析活动.狭义的讲,形式化方法是运用形式化语言,进行形式化的规格描述.模型推理和验证的方法.软件规格说明是软件对软件系统对象,对象的操作方法,以及对象行为的描述.软件的设计过程就是一个建立形式规约的过程.当规格说明用非形式化方法描述时可称之为“规格说明”:规格说明用形式化方法描述时可称之为“形式规格”.形式证明与验证技术主要包括模型测试和定理证明.程序求精是将自动推理和形式化方法相结合,从…
前言 分析网络流量总是绕不开HTTPS,因其广泛使用甚至是强制使用逐渐被大众熟知,在保证其安全的同时也提高了对流量进行研究的难度.目前解析HTTPS协议的文章很多,有很多不错的文章可以带着入门,老实说,HTTPS协议还是挺复杂的,尤其是握手交换密钥的过程:虽然大部分的文章只是对协议握手的过程做了详细的解析,却很少涉及HTTPS网络数据包解密的部分,因此,本文即是从数据包层面,在知道私钥的情况下,来一步一步看如何对HTTPS的内容进行解密. 正文 要对HTTPS网络数据包进行解密,其实是有一些工具…
前言 与时俱进是每一个程序员都应该有的意识,当一个Java程序员在当代步遍布的时候,你就行该想到我能多学点什么.可观的是后端的框架是稳定的,它们能够维持更久的时间在应用中,而不用担心技术的更新换代.但是类似SSH,SSM这些框架已经太久了,人们迫不及待地想使用更为优雅而又简便的框架来代替,所以SpringBoot运用而生. 学习条件 SpringBoot框架是应用在Spring Framework框架的基础上,对Spring Framework框架的进行优化和升级成为了新的框架.既SpringB…
系列前言 Java工程师之Redis实战系列教程,同其他教程一样,均是在下学习笔记,本系列主要参考自<Redis-in-action>,将书本中的有趣的例子转化为能解决特定问题的示例程序,所有的核心章节均提供示例源码在javacourse-redis-in-action.希望能和大家一块学习探讨. 关于本系列 当您看到Java工程师之Redis实战系列教程的时候应该是博客开的第三系列教程,分别是Java开发之上帝之眼系列教程,SSH系列教程之从零打造在线网盘系统,可能当您看到此的时候发现前两个…
前言 如果您正在为Java后端庞大的体系所困扰,如果您正在为各种繁出不穷的技术和各种框架所迷茫,那么本系列文章将带您窥探Java庞大的体系.本系列教程希望您能站在上帝的角度去观察(了解)Java体系.使Java的各种后端技术在你心中模块化:让你在工作中能将Java各个技术了然于心:能够即插即用. 我希望 本系列文章言简意赅的方式列出技术的核心要点以及常用用法,其基本安装或使用将不会出现在本系列教程中,但会提供相应链接.我希望大家能在每一篇文章中了解到这是什么(what)?核心使用(how)?其他…
注:学习参考朱毅编著的进入IT名企必读200题. 内容重在自我学习与巩固. 前言: 章节划分 01应聘须知 02基础知识(重点) 03进阶知识 04重点应用(aspnet第一部分) 04重点应用(aspnet第二部分) 05.网络通讯 06.代码与算法 07 增强知识 01应聘须知 -1.了解软件开发大环境. -2.准备简历:不宜超过一页,永远准备中文,模板. -3.渠道:3大网站,中华英才,前程无忧(51job最给力),智联招聘. -4.面试禁忌:不重考官,不注礼节,夸夸其谈,急问待遇. 总得…
什么是Advanced 在网络上,你能找到大量关于Puppet的安装,配置以及基础用法的文章和博客.你在通过一段时间的实战后,熟练掌握了Puppet基础用法,随着你管理的集群日益扩大,你的部署逻辑越来越复杂,当你打算使用到一些Puppet高级用法时,当你想要对puppet代码写测试用例时,当你希望对Puppet进行性能调优时,当你想构建中心化的Puppet集群时,当你计划使用puppet构建完整的开发时,测试和线上环境,当你思考Puppet能否实现线上服务的灰度发布时...却发现几乎找不到这样的…
第1章Java的起源 对于计算机语言的发展史,业界一般认为:B语言导致了C语言的诞生,C语言演变出了C++语言,而C++语言将让位于Java语言.要想更好地了解Java语言,就必须了解它产生的原因.推动它发展的动力,以及它对其他语言的继承.像以前其他成功的计算机语言一样,Java继承了其他语言的先进原理,同时又因其独特的环境要求而提出了一些创新性的概念.在这本书的其他各章中,将从实用的角度,对Java语言.库及应用程序进行包括语法在内的详细介绍.在本章里,我们将介绍Java语言产生的背景.发展过…
目录(后期持续更新) 一.前言  1.为什么选择Appnium 最近这些年APP保持着持续的火热,对应的APP测试行业也是跟着水涨船高.由于市场的需求,APP测试平台也涌出大量的自动化测试工具. 在对MonkeyRunner.Monkey.Appnium和instrumentation进行比较分析后,我选择了Appnium这个工具.该工具最大的特点就是支持多平 台多语言,而且竟然同时支持JS这种脚本语言和C#.java编译型语言.跨平台的话,同时支持IOS和Android,只需要安装对应Appn…
我觉得程序员进步的理由:多看->多写->多总结 我自我介绍下,我不是程序员,但是我爱编程,作为业余程序员自己写框架让人感到兴奋的,目前有很多框架(js有jQuery.Express.socket.io.js等:PHP有phpword.Yii.laravel:html里面有bootstrap.bootcss.normal).为了让别人称我为“大师”,我写框架来试试. 框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问题.这个广泛的定义使用的十分流行,尤其在软件概念,框架…
第一章 前言 QQ交流群:585499566 一.Testlink主要功能: 测试项目管理 测试需求管理 测试用例管理 测试计划的制定 测试用例对测试需求的覆盖管理 测试用例的执行 大量测试数据的度量和统计功能 二.Testlink特色点: 支持多产品(项目),按产品(项目)来管理测试需求.计划.用例和执行等,项目之间保持独立性: 测试用例,不仅可以创建模块或测试套件,而且可以进行多层次分类,形成树状管理结构: 可以自定义字段和关键字,极大地提高了系统的适应性,可满足不同用户的需求: 同一项目可…
------SLAM+语音机器人DIY系列[目录]快速导览------ 第1章:Linux基础 1.Linux简介 2.安装Linux发行版ubuntu系统 3.Linux命令行基础操作 第2章:ROS入门 1.ROS是什么 2.ROS系统整体架构 3.在ubuntu16.04中安装ROS kinetic 4.如何编写ROS的第一个程序hello_world 5.编写简单的消息发布器和订阅器 6.编写简单的service和client 7.理解tf的原理 8.理解roslaunch在大型项目中的…
准备写springcloud系列了,先吐槽下自己,之前准备把学到的东西写下来,都因为工作或自己太懒(主要还是懒),写了个开篇就GG了,这次springcloud一定会坚持写完.加油! 这里先说下我搭建spring cloud的环境版本,以及后面要写spring coud的模块: 一:spring cloud的环境版本如下: spring boot :2.0.4.RELEASE spring cloud:Finchley.SR1 Finchley 是 cloud的大版本号  SR1 是小版本号 ,…
写在前面 目录 写在前面 这个系列是什么 为什么要做这篇博客 我是谁(其实不重要) 其他 这个系列是什么 这是关于学堂在线<Java程序设计(2021春)>(清华大学-郑莉教授)的个人同步学习反思博客. 为什么要做这篇博客 上个寒假试图自学点python,但是由于太摸所以学到一半就鸽了,这次打算用边学边整理笔记的方式和思路重新实践一下:另外,网络上关于这门课程(特指学堂在线<Java程序设计(2021春)>)没有比较完整详实准确的博客,所以我顺便在这造一个轮子,欢迎大家讨论批评与指…
上次使用SharpMap还是在0.9版本阶段,那个时候主要是为了将SharpMap移植到Windows Mobile环境中,具体可参见原先的文章.互联网真的是风云变幻啊,才短短几年,Windows Mobile这个玩意估计现在的年轻仔都没见过了吧. 现在是个互联网时代,随着硬件设备的改进.机器性能的提高.浏览器的升级,越来越多的应用可以利用浏览器来实现,因此SharpMap这一原本设计为桌面GIS的地图渲染引擎也提供了Web地图的功能. 已经好几年没研究和关注过SharpMap了,只是中间定期看…
cocos2d-x游戏开发前景: 最近企业对于Cocos2D-X开发人才的用人需求很大,而且所提供的薪资相当可观. 为满足广大向往游戏开发行业同学的需求,特推出适合新手的Cocos2D-X手游开发教程. Cocos2d-X是一个技持多平台的2D游戏引擎,使用C++开发,基于OpenGL ES, 支持WoPhone.iOS.Android.Windows等操作系统.Cocos2d-X主要是围绕跨平台, 快捷便携地开发移动端游戏.在平板及智能手机日趋成熟与充斥我们日常娱乐时间的趋势下, 移动端的游戏…
今天上午的时候,看到大神在用vim编程,画面直观,速度很快,操作只需要用命令符就可以实施. 所以可以推断vim的命令符是复杂的,那么学习过程中记忆会很漫长,很痛苦,但是如果记住了这些命令符,并可以熟练的使用,那么便可以放弃鼠标的使用,从而提高了效率. 一般人一直是用的比较直接的Eclipse Xcode之类的软件,习惯了,就觉得在编辑的过程中还要输入新的command,觉得是很麻烦的,所以一旦遇到这种情况,就皱了眉头了. 所以,我想把我学习时的笔记,分享给大家, vim笔记会在vim栏目一一列举…
https://bindog.github.io/blog/2015/03/30/use-formal-method-to-find-the-bug-in-timsort-and-lunar-rover/ http://www.eecs.ucf.edu/~leavens/JML//index.shtml…
纠结了许久,要不要写这篇文章,然而最终还是写了.就权当总结与呻吟吧..当然,呻吟最开始还是发在自己的站点的,忍不住手贱,还是想发博客园. 1 剧透 人算不如天算:时隔多年,我竟然搞起了前端. 2 发端 7年前,它进入SYSU学习档案管理. 2.1 UG1 大学一年级,上学期,完全是小白!没有任何的计算机专业知识.没有任何相关课程学习.只记得专业课叫机关文件管理,还有高数.前半年过的各种悠闲. 下学期,初识IT:第一门课是4个学分的大学计算机公共基础. 这门课只有第一章配得上基础..第二章数字编码…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP [第一篇]EXCEL连接SAP HANA的方法(ODBC)   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 事前工作准备如下[office2016]: 1.Power Query在Excel 2016中称为Get&Transform.此处提供的信息适用于两者. 要了解更多信息,请参阅Exc…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP [第二篇]EXCEL连接SAP HANA的方法(ODBC)   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 前言介绍[office2010]: SAP HANA的最主要功能就是建模,建模后给BW或BO来展现结果. SAP HANA中的报表可以在SAP的BusinessObjects应用程序…
JAVA反射系列之Field,java.lang.reflect.Field使用获取方法.   转载https://my.oschina.net/u/1407116/blog/209383 摘要 java.lang.reflect.Field使用 Field. 首先必须明一点 Field类主要是用来辅助获取和操作类的属性的! 1.怎么通过反射获取类的属性 先来看JDK提供的方法有如下几种: a)Class.getDeclaredField(String name);      返回一个 Fiel…
前文回顾:<用CIL写程序系列> 前言: 最近的时间都奉献给了加班,距离上一篇文章也有半个多月了.不过在上一篇文章<用CIL写程序:定义一个叫“慕容小匹夫”的类>中,匹夫和各位看官一起用CIL语言定义了一个类,并且在实例化之后给各位拜了大年.但是那篇文章中,匹夫还是留下了一个小坑,那就是关于调用方法时,CIL究竟应该使用call呢还是应该使用callvirt呢?看上去是一个很肤浅的问题,哪个能让程序跑起来哪个就是好的嘛.不是有一句话:白猫黑猫,抓到耗子就是好猫嘛.不过其实这并不是一…