自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 软件构造-SpotBugs的安装及使用

SpotBugs的安装及使用安装使用安装首先我们需要打开Eclipse自带的Marketplace,与软件市场进行连接,截图如下:出现之后直接点击Install进行安装,由于我已经进行过安装,这里显示的是Installed。为了验证我们的安装是成功的,我们可以右键观察是否出现spotbugs选项,截图如下:使用spotbugs的使用较为简单,能够进行简单的判断...

2020-06-05 21:21:04 1754

原创 软件构造-Lab3APP的设计

Lab3中APP的设计一致性的设计航班应用设计高铁应用设计课表应用设计一致性的设计这一部分的任务是为了验证前面设计的ADT能够完成我们的需要。因此我们需要使用客户端来进行验证。通过完成实验指导书中要求完成的功能验证设计是可行的。为了实现app的设计,我们建立了一些辅助功能。由于这些辅助功能在很大程度上都是一致的,只是在资源的描述中可能存在差异,因此我们在此处进行统一的描述,并且以课程计划项作为实例进行描述。这3个app都需要完成的功能包括以下部分:用户提供必要信息,管理(增加、删除)可用的资源;用

2020-05-30 23:51:19 225

原创 软件构造-Lab3基本计划项设计

Lab3基本计划项设计面向可复用性和可维护性的设计:PlanningEntryPlanningEntry的共性操作局部共性特征的设计方案面向各应用的PlanningEntry子类型设计(个性化特征的设计方案)飞机计划项火车计划项课程计划项面向可复用性和可维护性的设计:PlanningEntry为了提高软件构造的可复用性和可维护性,需为其设计和构造一套统一的 ADT。以下内容描述的就是如何设计一套统一的ADT。3个计划项都包括了时间对的设计,因此在实现过程中首先应该进行对时间的设计。同时还需要有位置信息,

2020-05-28 23:33:41 187

原创 Lab3-实现计划项app辅助类实现

实现计划项app辅助类设计面向复用的设计:R面向复用的设计:Location面向复用的设计:Timeslot面向复用的设计:R这个任务中我们需要实现不同的资源类型。由于不同的资源之间类型差异比较大,因此我们面向不同的类单独设计资源即可。航班应用中的资源是“飞机”,属性包括飞机编号、机型号(A350、B787、C919 等)、座位数、机龄(例如 2.5 年)。因此这个类需要有4个属性,它们的表示不变性为:private final String flightNum; private final St

2020-05-20 22:25:34 179

原创 软件构造-6.2错误和异常处理

错误和异常处理错误异常异常概念异常的种类checked异常与unchecked异常checked异常处理错误和异常是Java中经常发生的两种现象。可是在处理层次来说,他们却并不是一样的类型。这里可以简要参考一下一下图形的说明:从这个图里,我们可以看到异常和错误之间都是继承自Java中的Throwable接口,其中错误和运行中的异常属于unchecked异常,异常中的其他类型属于checked异常。错误对于错误来说,程序员通常无能为力,一旦发生,尽量想办法让程序优雅的结束。错误还分为用户的输入错误,

2020-05-19 23:24:41 268

原创 软件构造-6.1健壮性与正确性

健壮性与正确性健壮性正确性比较衡量健壮性健壮性:系统在不正常输入或不正常外部环境下仍能够表现正常的程度。面向健壮性的编程主要有以下特点:处理未期望的行为和错误终止即使终止执行,也要准确/无歧义的向用户展示全面的错误信息错误信息有助于进行debug面向健壮性的编程总是假定用户是恶意的,可能对输入的东西进行任意情况的输入,因此可能对程序造成影响,如果健壮性没有做好的话,程序甚至可能会直接崩溃。健壮性的原则是Postel’s Law:对别人宽容点,对自己狠一点。也就是说对自己的代码要保守,对用户的行

2020-05-16 00:57:39 740

原创 软件构造-5.3面向可维护性的构造技术

面向可维护性的两大构造技术基于状态的构造技术状态模式备忘录模式基于语法的构造技术语法的构成操作递归Parse TreeMarkdown和HTML语言正则表达式和正则语法parsers利用parser处理正则表达式基于状态的构造技术状态模式备忘录模式基于语法的构造技术语法的构成操作递归Parse TreeMarkdown和HTML语言正则表达式和正则语法parsers利用pa...

2020-05-07 00:15:03 119

原创 Lab2图形结构及诗歌漫步的实现

Lab2问题1实现Poetic WalksTest Graph Implement Graph Implement ConcreteEdgesGraphImplement ConcreteVerticesGraphImplement generic GraphPoetic walksImplement GraphPoetGraph poetry slamPoetic Walks这个任务总体分成...

2020-05-03 11:29:49 177

原创 软件构造-5.2面向可维护性的设计模式

可维护性的设计模式Creational patterns工厂方法模式(Factory Method pattern)Creational patterns工厂方法模式(Factory Method pattern)工厂方法模式也称为虚拟构造器,创建实例时不使用new方法,而是通过使用接口的方式,让客户端与返回具体实例之间解耦合。它的具体描述是:它有两种实现。设计多个工厂方法...

2020-05-01 01:07:30 154

原创 Lab1Social Network问题求解

Social Network问题说明在这个问题中,我们需要设计两个类。实现并测试一个FriendshipGraph类,该类表示社交网络中的友谊,并且可以计算图中两个人之间的距离。还需要实现一个辅助类Person。同时应该将社交网络建模为一个无向图,其中每个人都连接到零个或多个人,但是底层图的实现应该是有向的。但是这个问题拟刻画的社交网络是无向图,但你的类设计要能够支持未来扩展到有向图。正因为此...

2020-04-29 21:16:05 184

原创 Lab1Magic Square、Turtle Graphics相关思路求解

Magic Square这个任务需要完成两个要求。首先给了我们基本的幻方定义:阶数为n的幻方是一个正方形中n×n个数字(通常是不同的整数)的排列,以使所有行,列和对角线中的n个数字总和为一个常数。然后需要根据这个定义判断给出我们的5个文本文件是否为幻方。在这个判断过程中,主要依据的判断就是是否为矩阵、是否均为整数以及各行各列及对角线的和是否相等。第二个要求是根据题目已经给出的一个生成输入参数为...

2020-04-29 00:01:40 219

原创 实验项目管理工具Git与Github相关使用

【软件构造】Blogs_2_20200308(Week2)软件构造实验课程开始已经一周多了,通过一周多的代码思路设计与实际代码的编写,相信很多人都需要将自己这一阶段的代码进行保存,后续再根据具体的实验要求、注释说明进行进一步的完善。通过第一周课程的学习,我们知道了对代码的保存以及日后修改可以通过一些版本控制工具进行。通过这些工具的处理,能够极大便利增强我们对代码在不同阶段发展的理解,也能够更好地...

2020-03-20 16:07:58 210

原创 软件构造第一章知识小结

【软件构造】Blogs_1_20200229(Week1)第一周课程内容简述软件的多维度视图​软件的多维度视图大致可以从3个方面进行分析:按照阶段划分可以分为:构造时/运行时视图;按照动态性划分可以分为:时刻/阶段视图;按照构造对象的层次划分可以分为:代码/构件视图。​在实际中进行对软件的开发和分析实际上是极其复杂的,这里可以通过课程中介绍的一张图片进行分析:由上面的这张图片,我们...

2020-03-19 00:41:32 142

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除