当前位置: 首页 > news >正文

OO第四次博客

• 1. 论述测试与正确性论证的效果差异,比较其优缺点

测试就是通过大量的数据对程序进行检测,论证主要是理论上的东西,就是说给别人为什么我的程序是对的。测试能够保证在你的测试集下你的程序是没问题的,而论证能做到对可能出错情况的总结和概括。所以两者搭配使用效果最好,这样可以在两个方向上保证程序的正确。

• 2. 调研OCL语言,并比较其与课程所介绍的JSF规格之间的相似和不同 之处

OCL语言是约束(Constraint)语言和查询(Query)语言。一个约束就是对一个(或部分)面向对象模型或者系统的一个或者一些值的限制。这一点与JSF类似,JSF中requires必须要有一定的限制才行。UML类图中的所有值都可以被约束,而表达这些约束的方法就是 OCL。在UML2标准中,OCL不仅用来写约束,还能够用来对UML图中的任何元素写表达式。在JSF中就是对每个方法中的过程写表达式,然后每个OCL表达式都能指出系统中的一个值或者对象。因为 OCL表达式能够求出一个系统中的任何值或者值的集合,因此它具有了和SQL同样的能力,也就是说OCL也是一种查询语言。这一点是JSF所不具有的。

OCL的基础是数学中的集合论和谓词逻辑,并且它有一个形式化的数学语义,但是它并没有使用某种数学符号。因为虽然数学符号能够清晰的、无歧义的表达事物,但是只有极少的专家可以看懂。所以数学符号并不适合用于一个广泛应用的标准语言。自然语言是最易懂的,但是它是含混不清晰的。OCL取了自然语言和数学符号的折中方案,使用普通的ASCII字符来表达数学中同样的概念。如果你不喜欢当前的OCL表达方法,OCL规范还允许你定义自己的OCL符号集,这点是可以理解的,因为OCL有一个清晰的数学语义。这与JSF中的表述方法一致。

• 3. 根据第十四次作业的单电梯系统,针对调度器、电梯、请求队列和 请求,至少整理出 一幅UML类图、一幅顺序图和一幅状态图,并使用 图(graph)来表示出模型

 

4. 整理总结一个学期所学所练

这个学期只要学习了面向对象的语言,重中之重是多线程方面的内容,一开始是学习简单的面向对象的思想,之后是多线程的内容,再往后是工程化的处理问题,学会JSF,学会测试自己的程序。

我在设计上的进步应该就是类的划分越来越精细,写多一些类,每个类有一些方法。并且在测试自己程序这个问题上,学会了自己构造测试数据,知道了哪些地方容易出错,知道了该用什么样的办法去避免他们。

我觉得OO这门课还不错,没什么建设性的意见,继续保持吧。

转载于:https://www.cnblogs.com/wzybuaa/p/9225694.html

相关文章:

  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • Spring Boot模板引擎 (三)
  • js上传
  • Quagga 配置笔记
  • libstdc++.so.6: version `GLIBCXX_3.4.21'
  • JSR-303 Bean Validation 介绍及 Spring MVC 服务端验证最佳实践
  • 阿里云服务提供商分享CDN访问异常该如何排查
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • 各种品牌进入Bios方式
  • WIFI搜索的到别人,却找不到自己家的wifi
  • Go第三方库
  • http和https和ssl和tcp/ip之间的关系和区别
  • 人工智能20年内取代近半职业?
  • bzoj 1009 [HNOI2008]GT考试——kmp+矩阵优化dp
  • HyperLedger Fabric(超级账本) 入门实战
  • .pyc 想到的一些问题
  • 2017届校招提前批面试回顾
  • Android交互
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • Consul Config 使用Git做版本控制的实现
  • Druid 在有赞的实践
  • java8 Stream Pipelines 浅析
  • js面向对象
  • JS实现简单的MVC模式开发小游戏
  • KMP算法及优化
  • Laravel 实践之路: 数据库迁移与数据填充
  • mac修复ab及siege安装
  • node入门
  • spring security oauth2 password授权模式
  • supervisor 永不挂掉的进程 安装以及使用
  • TCP拥塞控制
  • Unix命令
  • webgl (原生)基础入门指南【一】
  • yii2中session跨域名的问题
  • 闭包--闭包作用之保存(一)
  • 机器学习 vs. 深度学习
  • 老板让我十分钟上手nx-admin
  • 山寨一个 Promise
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 微信小程序设置上一页数据
  • 小程序开发中的那些坑
  • 扩展资源服务器解决oauth2 性能瓶颈
  • 移动端高清、多屏适配方案
  • #LLM入门|Prompt#3.3_存储_Memory
  • (ZT)一个美国文科博士的YardLife
  • (待修改)PyG安装步骤
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (规划)24届春招和25届暑假实习路线准备规划
  • (接口封装)
  • (七)理解angular中的module和injector,即依赖注入
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (四)c52学习之旅-流水LED灯
  • (五)网络优化与超参数选择--九五小庞
  • (转)编辑寄语:因为爱心,所以美丽
  • .net core 连接数据库,通过数据库生成Modell