自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Software Construction——期末复习

写在前面正值期末考试复习月,在复习软件构造课程的过程中又领悟了许多以前没有理解的东西,搭配使用起来也更有灵感了,可谓温故而知新吧。这期间也对一些没学过的技术(比如一直觉得麻烦而没学的UML图)进行了下学习积累。先说下UML图之前直接去搜索的UML这个语言的学习内容,当时一看那规模我吓的直接躺平…这段时间复习课件,再加上做了做往年的考试题,发现我们这门课程更多的用到的是UML类图,这个内容量就可以接受了,它对于描述你的类关系的设计还是比较有帮助的。我刚看了看,在这里积累一下(仅记录常用到的一些内容):

2020-07-09 12:11:26 214

原创 Software Construction——继续讨论可复用和可维护性软件的设计

写在前面上一篇博客我们主要讨论了为什么要关注软件的可复用性和可维护性,给出了从上述两个方面评价你的软件的一些指标,并介绍了我在完成Lab3的框架设计时所应用的主要的设计思想——CRP原则(利用委托机制增强可复用性以及可维护性)。这一次,我们继续围绕Lab3中涉及的其他一些有关为上述两个性质而应用的设计技术,主要包括以下设计模式:strategy(行为设计模式)、state(行为)以及factory(创建模式)。最后我还要谈一下正则语言的应用,介绍一下我对将其应用到我的Lab作业中的曲折过程~关于可复

2020-06-29 16:06:32 192

原创 Software Construction——Lab3(关于软件可复用性、可维护性的实验)的总结

写在前面:我们在之前lab2的实现中较为仔细的考虑了软件面向对象编程、抽象数据类型的特性,这一方面的内容是的我们在面对实际生活的具体需求的实现时有了相对大一学的C而言更为适用的编程实现思路。但是,除了能够有初步的面向需求的对象的这种思路、实现出具有实际应用价值的软件之外,我们还需要考虑关乎软件质量的另外几项指标,其中就包括软件的可维护性和可复用性(也是我们在lab3中主要需要考虑的部分),这两点是在说什么呢?可维护性是说,我们开发一个软件出来之后,大多数情况下不可能仍那就不管了,而是要不断的修整用户反

2020-05-31 23:19:28 251

原创 Software Construction——关于泛型“擦除”原理的深入探讨

Software Construction——关于泛型有关原理的深入探讨在上周Lab2实现Graph<L>泛型类时,曾被泛型的“擦除”概念搞的有些懵圈,正巧今天软构课上老师再次解释了类型擦除的概念,我决定对其中更加深入的原理进行探究。那么问题来了:首先,为什么要进行类型擦除这一让人觉得难以理解的举措?其次,擦除了我们给定L的具体类型,程序还怎么知道到底是哪种类型呢?1:类...

2020-05-20 08:03:02 238

原创 Software Construction——实验中积累的一些工程技术

这里写目录标题写在前面读取文件的三种技术写在前面这篇博客是对Lab2设计的一些java应用技术进行的汇总,包括:三种读取文件的方法,读取文件的三种技术在完成GraphPoet任务时,文档要求探究三种读取文件方式,我通过阅读官方的API说明以及java书籍对其进行了总结:(假设已经获取File类型对象,命名为file)1.借助 ScannerScanner nameOfScanne...

2020-04-20 17:39:11 182

原创 Software Construction——规约是啥?规约咋写?

写在前面在说规约之前,我们先快速过一遍这两个东西:方法和说明文档。1.方法是啥?方法(method)由规约(specification)以及实现体(implementation)两部分组成的。它被视为程序的“积木”,可以被单独的开发测试和应用,调用者无需了解其内部如何实现,仅仅需要了解其功能以及限制。实际上可以看作我们学c时写的函数。2.那说明文档(document)呢?它用来记述我们对...

2020-04-19 20:50:06 611

原创 Software Construction——Chapter 2

本章综述:第一节为软件构造的流程,主要讲了传统的开发流程模型(两类,线性和迭代),包括瀑布模型,增量模型,V-model,原型模型(迭代),螺旋模型(迭代,重风险评估);随后讲了现在应用的敏捷开发(快速迭代,每次迭代增加一部分内容,注重人的交互)。由于讲授内容只是对模型有一个大体的介绍,大家可以在CSDN或其他博客平台找更多的资料来深入了解。因此对第一节就不再赘述了。第二节则更多的是每个过程相...

2020-03-13 12:24:26 208

原创 Software Construction——Chapter 1

1.Build-time, moment, and code-level view:(1).词汇层面、语法层面、语义层面三个层面的内容形式、作用、面向受众:词汇层面:内容形式主要为代码,更多是是对源代码语句进行分析,面向的更多是程序编写者,语法层面:常常将源码以AST的形式展现出来,使得程序直观、结构化也更及抽象,有利于语法分析者更清晰的分析程序的流程结构。语义层面:通常以uml的形式,描...

2020-02-28 11:01:20 248

空空如也

空空如也

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

TA关注的人

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