- 博客(8)
- 收藏
- 关注
原创 软构LAB3心得
2022年春季学期计算学部《软件构造》课程Lab 3实验报告 姓名曲之晨学号120L020113班号2003003电子邮件fruitcereal.qzc@gmail.com手机号码18057787837目录1 实验目标概述···· 12 实验环境配置···· 13 实验过程···· 13.1 待开发的三个应用场景···· 13.2 ADT识别与设计···· 33.2.1 任务1:投票类型VoteType· 33.2.2 任务2:投票项VoteItem· 33.2.3 任务3:...
2022-06-26 14:54:24
269
原创 软件构造-设计规约说明
回想我们之前讨论过的关于ADT的内容,什么设计会产生好的ADT?其中最重要的一点就是它会保护/保留自己的不变量。 不变量是一种属性,它在程序运行的时候总是一种状态,而不变性就是其中的一种:一旦一个不变类型的对象被创建,它总是代表一个不变的值。当一个ADT能够确保它内部的不变量恒定不变(不受使用者/外部影响),我们就说这个ADT保护/保留自己的不变量.当一个ADT保护/保留自己的不变量时,对代码的分析会变得更简单。例如,你能够依赖字符串不变性的特点,在分析的时候跳过那些关于字符串的代码;或者当你尝试基于字符串
2022-06-14 18:00:24
251
原创 软件构造-相等
严格来说,我们可以从三个角度定义相等:抽象函数:回忆一下抽象函数(AF: R → A ),它将具体的表示数据映射到了抽象的值。如果AF(a)=AF(b),我们就说a和b相等。等价关系:等价是指对于关系E ⊆ T x T ,它满足:我们说a等于b当且仅当E(a,b)。以上两种角度/定义实际上是一样的,通过等价关系我们可以构建一个抽象函数(译者注:就是一个封闭的二元关系运算);而抽象函数也能推出一个等价关系。第三种判定抽象值相等的方法是从使用者/外部的角度去观察。观察:我们说两个对象相等,当且仅当使用者无法观察
2022-06-07 16:40:04
252
原创 软件构造-ADT
抽象数据类型是软件工程中一个普遍原则的实例,从它衍生出很多意思相近的名词。这里列出了几个能够表达其中思想的词:作为一个软件工程师,你应该知道这些名词,因为你会在以后的工作中经常遇到它们。这些思想的本质目的都是为了实现我们这门课的三个目标:远离bug、易于理解、可改动。事实上,我们在之前的课程中已经碰到过这些思想,特别是在设计方法和规格说明的时候:在早期的编程语言中,用户只能自己定义方法,而所有的类型都是规定好的(例如整型、布尔型、字符串等等)。而现代编程语言允许用户自己定义类型对数据进行抽象,这是软件开发中
2022-06-06 20:27:51
304
原创 软件构造-浅拷贝与深拷贝
在JAVA不可见类设计中,我们一个很常见的操作就是在返回值处作拷贝式防御。那我们该作怎样的拷贝操作呢?=还是.clone?这就涉及到浅拷贝和深拷贝。浅拷贝:仅仅拷贝对象的地址,这样虽然快,但是是不安全的,因为拷贝地址就相当于同时返回了一份改变对象的权限,这样子用户就可以通过改变返回的对象来绕过方法改变类中对象。典型的方法有 =深拷贝:完成一份独立的副本,其中除了地址,其他内容完全一样,这样虽然效率低,但是是安全的。典型的方法有.clone()所以我们在返回值处作拷贝式防御必须选择深拷贝。
2022-05-24 21:41:45
128
原创 HIT-ICS2022大作业
计算机系统大作业题 目 程序人生-Hello’s P2P 专 业 计算机类学 号 120L020113班 级 2003003学 生 XXX 指 导 教 师 史先俊计算机科学与技术学院2022年5月摘 要我们搭上以hello.c为骨架的船只,遨游计算机系统的海洋。本文通过gcc、edb、gdb、objdump研究hello.c从生成运行到结束的过程,这
2022-05-18 22:02:41
348
原创 软件构造-等价类划分
1、定义把所有可能输入的数据分为若干个子集,从每个子集中选取少量具有代表性的数据作为测试用例。2、分类划分等价类:有效等价类与无效等价类(1)有效等价类:合理、有意义的输入数据集合(2)无效等价类:不合理,无意义的输入数据集合3、划分方法(1)输入值规定了取值范围或者对输入数据个数有规定,可划分为一个有效等价类和两个无效等价类(2)输入值已规定了“必须如何”条件的情况下,可划分为一个有效等价类和一个无效等价类(3)输入值为布尔条件的情况下,可划分为一个有效等价类和一个无效
2022-05-17 12:24:57
678
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅