- 博客(8)
- 收藏
- 关注
原创 软件构造lesson11
read11 抽象函数与表示不变量1.不变量好的ADT的最重要一点就是他会保护/保留自己的不变量。不变量是一种属性,他在程序运行的时候总是一种状态。2.不变性不变性:一旦一个不变类型的对象被创建,它总是代表一个不变的值。当一个ADT能够确保它内部的不变量恒定不变,我们就说这个ADT保护/保留自己的不变量。例:/*** This immutable data type represents a tweet from Twitter.*/public class Tweet { pu
2021-06-28 14:24:15
127
原创 软件构造Lab2
实验二实验目标概述本次实验训练抽象数据类型(ADT)的设计、规约、测试,并使用面向对象编程(OOP)技术实现ADT。具体来说:针对给定的应用问题,从问题描述中识别所需的ADT;设计ADT规约(pre-condition、post-condition)并评估规约的质量;根据ADT的规约设计测试用例;ADT的泛型化;根据规约设计ADT的多种不同的实现;针对每种实现,设计其表示(representation)、表示不变性(rep invariant)、抽象过程(abstraction functi
2021-06-28 14:08:03
230
1
原创 HIT计算机系统大作业-程序人生-Hello’s P2P
计算机系统大作业** 由于采用静态部署,需要看图片详细分析的小伙伴请移步个人博客网站:**个人博客题目:程序人生-Hello’s P2P学号:姓名:熊峰摘要:hello程序作为最简单的、最经典的程序,在实现上非常简单,但即使是最简单的hello.c程序,也经历了复杂的一生,它需要计算机上的几乎所有的硬件设备与操作系统等协同工作,才能运行起来。本文将结合《深入理解计算机系统》,深入分析Linux环境下,hello的P2P,020的整个过程,进而将理论知识与实践紧密结合。关键词:预处理、编
2021-06-24 01:44:06
825
原创 软件构造Lesson3
课程与思考3read3 测试1.课程目标理解测试的意义,并了解”测试有限编程“的过程能够使用”分区“的方法选择合适的输入输出测试用例能够通过代码覆盖率来评价一个测试的好坏能够理解黑盒/白盒测试、单元/综合测试、自动化回归测试2.验证”测试“是”验证“的一种例子,而验证的目的就是发现程序中的问题,以此提升你对程序正确性的信心。验证包括:形式推理,即通过理论推到证明程序的正确性。代码审查,即让别人仔细的阅读、审校、评价你的代码,这也是发现bug的一个常见方法。测试,即选择合适的输入
2021-06-08 01:54:02
107
原创 软件构造Lesson4
课程与思考4read4 代码评审1.代码评审代码评审是一种系统的对别人代码的研究。代码评审有两个主要目的:提升代码质量,找出存在及潜在的bug,分析代码的清晰度以及代码是否严格遵循当前工程标准。提升程序员水平,代码评审是提升程序员水平的一个重要方法,通过它可以学习到语言的特性、工程上新的设计以及一些新的实现方法。2.风格标准大多数公司或者大的项目都会要求代码风格具有同一标准。Google Java Style:if (isOdd(n)) { n = 3*n + 1;}
2021-06-08 01:53:21
80
原创 软件构造Lesson2
课程与思考2read2 java基础1.课程目标学习java的基本语法2.快照图为了弄清楚一些隐秘的问题,我们会画一些图来进行结束i。快照图能代表程序运行时的各种状态–它的栈(即方法和局部变量)和它的堆(即现在存在的对象)。快照图有如下优点:在课堂、会议上交流解释一些概念解释工程的设计思想一个对象用一个圆圈表示,对象内部会有很多区域,这些区域又指向他们对应的值,同时这些区域也是又他们的类型的,例如int x.3.可更改的值、可被重新赋值的改变通过快照图,我们可以视图化可更改
2021-06-06 12:27:06
75
原创 软件构造Lesson1
课程与思考1read1 静态检查1.课程目标学习静态类型了解好的软件应该具有的三个属性2.类型java有五种原始类型:int、long、boolean、double、char.java也有对象类型,例如:String、BigInteger.从java的传统来说,原始类型一般采用小写字母,对象类型的起始字母用大写.java中有一些操作符可以对不同类型的对象进行操作,这是我们就称之为可重载(overloaded),例如java中算数运算符+、-、*、/ 都是可重载的。一些函数也是可重
2021-06-06 11:37:35
182
2
原创 软件构造Lab1
实验一一、实验目标概述本次实验通过求解三个问题,训练基本 Java 编程技能,能够利用 Java OO 开发基本的功能模块,能够阅读理解已有代码框架并根据功能需求补全代码,能够为所开发的代码编写基本的测试程序并完成测试,初步保证所开发代码的正确性。另一方面,利用 Git 作为代码配置管理的工具,学会 Git 的基本使用方法。基本的 Java OO 编程基于 Eclipse IDE 进行 Java 编程基于 JUnit 的测试基于 Git 的代码配置管理二、
2021-06-03 13:32:57
244
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人