自定义博客皮肤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)
  • 收藏
  • 关注

原创 软件构造笔记总结:第七章-并发和分布式编程

本章节是软件构造的最终章节。随着本章节的复习完成,软件构造全部的章节复习都完结了。本章共分成三个部分,依次为并发、线程安全、锁与同步。7-1并发1.并发是为了更好地利用cpu的资源。当一个线程执行到空挡,cpu暂时没有被使用时,由其他线程补上。用多线程的手段来保证最大化资源的利用率。2.进程和线程(1)进程一般的一个程序就对应一个进程。进程是重量级的,私有内存空间并且彼此隔离,故只能使用信息传递方式。(2)线程一个进程可以创建多个线程。线程相对轻量级。能使用共享内存和信息传递两种方式。3.

2020-07-11 22:23:52 126

原创 软件构造笔记总结:第4章-软件的可复用性

本章分为三个部分,分别为变量、语法、外部条件;可复用的构造和基于可复用性的设计模式。一、变量、语法和外部条件1.可复用的原因:很多软件都或多或少地具有共性,要把它们提取出来,重复利用一些共性,可以省去我们大部分的时间。2.可复用的分类:分为面向复用编程(编出可复用的软件)和基于复用编程(利用已经有的可复用软件搭建应用系统)3.复用的层级:从低到高依次是代码层面(复制粘贴)、模块层面(类和接口的重用)、库层面(整个库的复用)、架构层面(框架framework)的复用。(1)代码层面:没什么好说的,复

2020-07-10 22:21:57 215

原创 软件构造3.3笔记(2)

由于3.3讲的ADT是以后所有课程的基础,这节课是重中之重。也分成了11个部分来讲。这次再把剩下的部分用笔记总结出来。最后附带一张整个3.3的笔记内容图。整章内容汇总:

2020-07-08 21:15:29 164 1

原创 软件构造3.3ADT笔记(1)

由于是手写的笔记,并且格式比较零散,所以把截图发上来,就先不打字了。水平有限,望见谅。

2020-07-07 15:31:18 101

原创 软件构造课程总结-第一章:软件构造的多维视图

在结束了算法设计与分析的大作业之后,终于能抽出时间来更新了。接下来的几次更新基本上就是软件构造课程的复习,在复习完每章的内容之后,都会将这一章的内容总结发布,这次就从第一章入手。第一章最重要的内容就是软件的多维视图。具体如下图所示.软件的多维视图从构造-运行、代码层-组件层、时刻-阶段这三对对应的属性来刻画了各种可能出现的状态和过程。下图对这些维度所具有的含义进行了一个初步解释。上图中有很多概念,这里只挑出一些老师重点强调过或者考试出过相关题目的内容进行总结。1.code snapshot:涉及s

2020-07-02 16:58:57 218

原创 软件构造课程回顾-第6章:Robustness(2)

第6章的第二部分主要是对checked和unchecked类型的异常进一步分析。 第6章的第二部分主要是对checked和unchecked类型的异常进一步分析。 二者之间的主要区别如下图。首先,有一部分的异常会被处理(handle),而执行这一步骤的就是编译器,还有程序员。当一个异常产生时,可以有两种方式来处理。第一种就是我们的程序本身能使用try-catch块来捕获并解决异常;而第二种情况,即程序无法独立解决时,我们就要将其抛出,表明我们无法处理,请求调用方来处理这个异..

2020-06-03 17:09:18 143

原创 软件构造课程回顾-第6章:Robustness(1)

临近期末,各学科的学习压力也越来越大,在lab4仍一头雾水的情况下,我回顾了刚讲完不久的第六章-健壮性。为了防止在最后一周冲量,我决定将我刚复习过的内容“趁热”总结一下并且写出来,这样可以做到一举两得第六章主要分成6个部分来讲解,其中6.5是测试,在开学的前几周就已经讲完了,时间太过久远,不在此次讨论范畴,而6-6习题课也先不和其他知识点型课程并列。所以第六章共由4部分组成,其中,6.1就讲的是健壮性与正确性。6.1主要讲了两种性能指标的区别和联系(主要是区别)。我们都知道,凡是有用户输入部分的程序,

2020-06-02 23:18:56 201

原创 lab3可复用性和可维护性(1)

经历了快一整个学期的连环ddl,才想起来博客这件事。为了防止真正意义上的全部堆到期末,还不如从现在开始一边复习,一边把复习得来的总结内容放在这里。这样可以一举两得。 软件构造的lab3已经结束了。对于编码经验不足的自己来说,这次是真正意义上的挑战。前两次我还可以参考老师给出的部分代码,在上面添枝加叶即可,而这次实验需要我们从头开始设计ADT,完成中间的各种操作,一切都是从零开始的,也更贴近将来我们可能遇到的工作条件。 本次实验要求从头对一系列的具体应用(5选3),开发一套可复用的ADT及其实现,..

2020-05-27 11:51:52 233

空空如也

空空如也

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

TA关注的人

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