软件构造4

1.参数类型是否匹配,在静态类型检查阶段完成。返回值类型是否匹配,也在静态类型检查阶段完成。

2.精确的规约有助于划分责任,规约可以扮演防火墙的角色。只讲能做什么,不讲怎么实现。可以通过规约判断方法的等价性。

3. 静态类型声明是一种规约,可据此进行静态类型检查static checking。

4. spec变强:更放松的前置条件+更严格的后置条件。在比较后置条件时,应该在满足对方的前置条件的情况下进行判断。一旦规约1比规约2强,那么可以用规约1替换规约2。
5.抽象数据型由操作定义,与内部实现无关。

6.可变与不可变数据类型。可变数据类型:提供了可改变其内部数据的值的操作。不可变数据类型: 其操作不改变内部值,而是构造新的对象。

7. 构造器:可能实现为构造函数或静态函数。构造器被实现为静态函数,通常被称为工厂方法。工厂方法用于创建对象,属于静态方法;实例方法在创建对象后才能调用函数并且工作。

生产器:新产生的数据与旧的数据类型一致。

观察器:数据类型不一致。

变值器:改变函数内部对象属性的方法。变值器通常返回void则必然意味着它改变了对象的某些内部状态。也可能返回非空类型。

8. 抽象空间A:抽象值构成的空间,即client看到和使用的值。表示空间R:内部表示的值构成的空间,其中既有非法的表示值,也有合法的表示值。AF:表示空间R与抽象空间A的映射关系。一定是满射,但未必是单射,也未必是双射。即R中的非法值没有映射对象,R中的多个合法值可能映射到A中相同的值。AF应当显示的以注释的形式写在代码中,以便于理解。

9.表示独立性:不暴露内部属性与实现方法。

10.RI:一种要求,说明R中的值哪些是合法的,哪些是非法的。RI也应该显示的以注释的形式写在代码中,用于时刻提醒自己。

11.在所有可能改变rep的方法内都应该调用checkRep来检查。checkRep只是自己用于在编程时防止出错或产生非法的表示值所定义的方法。这是一个良好的编程习惯。

12.设计ADT方法:(1) 选择R和A;(2) RI :合法的表示值;(3) AF:如何解释合法的表示值 。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip
毕设新项目基于python3.7+django+sqlite开发的学生就业管理系统源码+使用说明(含vue前端源码).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 学生就业管理系统(前端) ## 项目开发环境 - IDE: vscode - node版本: v12.14.1 - npm版本: 6.13.4 - vue版本: @vue/cli 4.1.2 - 操作系统: UOS 20 ## 1.进入项目目录安装依赖 ``` npm install ``` ## 2.命令行执行进入UI界面进行项目管理 ``` vue ui ``` ## 3.编译发布包(请注意编译后存储路径) #### PS:需要将编译后的包复制到后端项目的根目录下并命名为'static' 学生就业管理系统(后端) ## 1.项目开发环境 - IDE: vscode - Django版本: 3.0.3 - Python版本: python3.7.3 - 数据库 : sqlite3(测试专用) - 操作系统 : UOS 20 ## 2.csdn下载本项目并生成/安装依赖 ``` pip freeze > requirements.txt pip install -r requirements.txt ``` ## 3.项目MySQL数据库链接错误 [点击查看解决方法](https://www.cnblogs.com/izbw/p/11279237.html)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值