E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
软件构造
HIT哈工大2019春
软件构造
笔记Week1
软件构造
笔记Week1课程简介个人看法课程目标与要求GoalsofthisCousreGradingpolicyReadingmaterialsChapter1:ViewsandQualityObjectivesofSoftwareConstruction1
Raymond_MY
·
2020-07-10 16:18
软件构造SC笔记
软件构造
心得(14):从两道期末考试题看待并发的一些思路与技巧(附答案参考)
前言哈工大的
软件构造
期末考试题中,最有难度的往往就是多线程了。而很多同学包括我在内,也是上课听的很懂,但是实际操作中出现了很多问题。这篇博文就和大家一起捋捋期末考试题,看看技巧和入手的点在哪里。
良夜星光
·
2020-07-10 15:09
笔记
java
软件构造
软件构造
学习笔记-第十四周、十五周
课程进入了尾声。本周内容主要是线程安全相关。线程错误比一般的错误更加难以发现和修改,甚至加入一条print语句就能改变时间分片,从而导致错误消失。重点介绍了“锁”的机制,在使用时避免对整个方法进行lock,而是对可能发生线程不安全的指令进行lock操作,以免程序性能受到明显影响。同时避免“死锁”现象发生,在使用多个lock时注意顺序。并发1.并行:将程序布置在多个CPU上执行。并发:将任务拆分为多
DiscoElysium
·
2020-07-10 10:37
软件构造
软件体系结构14问?
连接件是一类特殊的构件,是将构件连接在一起的
软件构造
体。而约束是指按照什么标准或要求将构件连接起来。三者的关系可以表述为:按照系统的性能约束或者功能约束,用连接件将构件组装成软件系统。
随风飘飘天地任我逍遥
·
2020-07-10 00:39
软件体系结构
3D扫描技术
过年时在整理技术文档时,发现之前做过的有关3D扫描的技术总结,大家可以看一看,总结的不是很好1.获取物体三维模型的方式一般有三种:第一种方式利用建模
软件构造
三维模型;第二种方式利用图像或者视频来重建三维模型
指针hobby
·
2020-07-09 21:00
3D
软件构造
复习(3)——OO Design Principles(OO设计原则):SOLID
今天主要看看OO设计原则:SOLID1.SingleResponsibilityPrinciple(单一责任原则)通俗来讲,单一责任原则,就是将类的功能单一。一个类不能太“累”,在软件系统中,一个类(大到模块,小到方法)承担的职责越多,它被复用的可能性就越小。一个类承担的职责过多,就相当于将这些职责耦合在一起,当其中一个职责变化时,可能影响到其他职责的运作。SRP:不应有多于1个的原因使得一个类发
zrhhhhh123
·
2020-07-08 23:06
软件构造
软件构造2020
面向可维护性设计
【
软件构造
】第六章第一节 可维护性的度量与构造原则
第六章第一节可维护性的度量与构造原则本章面向另一个质量指标:可维护性——软件发生变化时,是否可以以很小的代价适应变化?本节是宏观介绍:(1)什么是软件维护;(2)可维护性如何度量;(3)实现高可维护性的设计原则——很抽象。Outline软件的维护和演化可维护性的常见度量指标聚合度与耦合度面向对象五大原则SOLID单一职责原则SRP(SingleResponsibilityPrinciple)开放封
weixin_30444105
·
2020-07-08 13:25
设计模式--设计原则
1开闭原则(OpenClosedPrinciple,OCP)由勃兰特·梅耶(BertrandMeyer)提出,他在1988年的著作《面向对象
软件构造
》(ObjectOrientedSoftwareConstruction
热之决斗者
·
2020-07-08 04:04
Java编程思想
软件构造
实验五
实验目标概述本次实验通过对Lab4的代码进行静态和动态分析,发现代码中存在的不符合代码规范的地方、具有潜在bug的地方、性能存在缺陷的地方(执行时间热点、内存消耗大的语句、函数、类),进而使用第4、7、8章所学的知识对这些问题加以改进,掌握代码持续优化的方法,让代码既“看起来很美”,又“运行起来很美”。具体训练的技术包括:⚫静态代码分析(CheckStyle和SpotBugs)⚫动态代码分析(Ja
wh莫名
·
2020-07-08 02:08
软件构造
实验二
实验目标概述本次实验训练抽象数据类型(ADT)的设计、规约、测试,并使用面向对象编程(OOP)技术实现ADT。具体来说针对给定的应用问题,从问题描述中识别所需的ADT;设计ADT规约(pre-condition、post-condition)并评估规约的质量;根据ADT的规约设计测试用例;ADT的泛型化根据规约设计ADT的多种不同的实现;针对每种实现,设计其表示(representation)、表
wh莫名
·
2020-07-08 02:37
软件构造
实验六
实验目标概述本次实验训练学生的并行编程的基本能力,特别是Java多线程编程的能力。根据一个具体需求,开发两个版本的模拟器,仔细选择保证线程安全(threadsafe)的构造策略并在代码中加以实现,通过实际数据模拟,测试程序是否是线程安全的。另外,训练学生如何在threadsafe和性能之间寻求较优的折中,为此计算吞吐率和公平性等性能指标,并做仿真实验。⚫Java多线程编程⚫面向线程安全的ADT设计
wh莫名
·
2020-07-08 02:37
二客读书瘾勤 第1集
Ark'sRead-Engine#01:OOSC(2/e)(Part0)二客读书瘾勤第1集:面向对象
软件构造
(第二版)(其之零)书名:Object-OrientedSoftwareConstructionSecondEdition
kingofark
·
2020-07-07 12:03
原创文档
软件构造
复习中关于不变性的一个疑问以及代码验证
在查看MIT的
软件构造
讲义时,我发现有一个练习如下:/**Representsanimmutablerighttriangle.
何莫道
·
2020-07-07 01:00
【
软件构造
】实验笔记(一)Lab1-Fundamental Java Programming and Testing
一、前言《
软件构造
》课程是我校根据MIT、CMU等计算机领域名校的相关课程近年来开展的软件开发相关的课程。课程的实验和课件都很大程度上参考了上述学校。
Swocky
·
2020-07-07 00:54
软件构造
软件构造
Lab2踩坑:ArrayList报错-UnsupportedOperationException的解决办法
ArrayList报错:UnsupportedOperationException的解决办法在
软件构造
Lab2实验时遇到一个问题:使用list.add()函数报出如下错误:首先查看简化后的报错部分的代码
HelloTheWholeWorld
·
2020-07-06 22:47
软件构造
软件构造
一二章的一些总结
软件系统的质量特性。外部和内部质量因素。重要的外部质量因素。质量因素之间的权衡。五个关键质量目标的软件建设容易理解的:优雅和漂亮的代码/可理解性准备改变:可维护性和适应性开发廉价:设计/重用:可重用性安全缺陷:鲁棒性高效运行OOP如何提高质量正确性:封装、分散健壮性:封装、错误处理可扩展性:封装,信息隐藏可重用性:模块性、组件、模型、模式兼容性:标准化模块和接口可移植性:信息隐藏、抽象易用性:GU
选择了就不后悔
·
2020-07-05 09:01
软件构造
关于java中的容器
软件构造
中学到的小知识刚开始使用java中的集合类List使用小技巧Set相关覆盖hashCode刚开始使用java中的集合类相关内容:java编程思想的11章和17章,本文也大多是从这两章摘要总结的。
qq_41512063
·
2020-07-05 08:35
软件构造
Java
软件构造
软件构造
期末查漏补缺 2019(一)
一、(一)盲点:Momentview:whatdosourcecodeandcomponentlooklikeinaspecifictime——某一时刻Periodview:howdotheyevolve/changealongwithtime——系列变化(二)实验中用到的工具:常用组:gitcommiteclemmaJunittest望文生义组:CheckStyle:静态检查代码规范SpotBu
wechat aheavener
·
2020-07-04 20:53
软件构造
实验六-多线程 lab6 猴子模拟器
实验简介利用多线程开发一个用于模拟猴子过河的程序需求描述有一条河,河面上有?架同样的梯子,每个梯子长度为ℎ,意即有ℎ条均匀分布的踏板。河的左岸有一群猴子,右岸也有一群猴子。左岸的猴子想到右岸,右岸的猴子想到左岸。一只猴子在某时刻选择并爬上某个梯子,意味着它从其“出生地”跳到了该梯子在猴子所在一侧的第1个踏板上。猴子一旦上了某个梯子,就不能在中途跳到别的梯子上。梯子太窄,一只猴子无法越过在其前方同向
i4594099
·
2020-07-04 18:28
lab3可复用性和可维护性(1)
软件构造
的lab3已经结束了。对于编码经验不足的自己来说,这次是真正意义上的挑战。
from0toinf
·
2020-07-04 16:16
Go语言开发实战——第01天 环境搭建和第一个程序
Go为
软件构造
提供了一种模型,它使依赖分析更加容易,且避免了大部分C风格include文件与库的开头。Go是静态类型的语言,它的类型系统没有层级。
寒冰锁链
·
2020-07-02 07:38
Go
哈工大2020
软件构造
Lab4实验报告
本项目于5.19日实验课完成(该更新的)更新完成如果有所参考请点点关注点点赞GitHubFollow一下谢谢2020春计算机学院《
软件构造
》课程Lab4实验报告SoftwareConstruction2020SpringLab
頔潇
·
2020-07-02 01:46
课程作业
Java
软件构造
第六章复习心得
第六章主要讲解了如何增强程序的健壮性,即使在用户不遵守规约时,即输入不满住前置条件时,我们程序员也要保证程序不崩溃,能够继续运行。本章主要利用的工具即是,异常和断言,需要掌握的思想是防御式编程。先来看一下异常:错误与异常分类如下:Error:内部错误:程序员通常无能为力,一旦发生,想办法让程序优雅的结束用户输入错误(有争议),设备错误,物理限制Exception:异常:你自己程序导致的问题,可以捕
z小逸
·
2020-07-01 15:30
抽象数据类型(ADT)
@[TOC]抽象数据类型抽象数据类型(ADT)本文基于徐汉川老师的2020年
软件构造
课程撰写抽象数据类型与表示独立性:能够分离程序中数据结构的形式和对其使用的方式,如何设计良好的抽象数据结构,通过封装来避免客户端获取数据的内部表示
以正合,以奇胜
·
2020-06-29 16:03
关于java编程中一些编程安全问题的总结
前导:最近一直在上《
软件构造
》这门课,通过这门课,了解许多以前不知道的编程思想。
weixin_38946532
·
2020-06-28 21:33
QT3D场景快速绘制入门学习
QEntity等)3)使用QT3DQML类(Entity等)QT3D场景提供了一种快速设置3D场景的一种方式,用户凭借着封装好的实体可以快速的在顶层实体(画布)当中增加各种各样的实体,并且通过3DMax
软件构造
的
weixin_30555515
·
2020-06-27 21:20
代码大全(1)
今天我阅读了代码大全前两章,第一章欢迎来到
软件构造
的世界,它分为两部分什么是
软件构造
,软件构建为何如此重要。
weixin_30387799
·
2020-06-27 19:37
设计模式——面向对象设计原则
一、开闭原则 1、定义 开闭原则(OpenClosedPrinciple,OCP)由勃兰特·梅耶(BertrandMeyer)提出,他在1988年的著作《面向对象
软件构造
》(ObjectOrientedSoftwareConstr
如不來
·
2020-06-26 06:45
设计模式
HIT2020春
软件构造
Git&Github学习笔记
HIT2020春
软件构造
->Git&Github学习笔记由于
软件构造
课程需要,学习使用git,以下作为学习笔记.一、Git初始化及仓库创建和操作二.分支三.git远程仓库管理四.SSH免密登录五.githubpages
靠谱的成年夜斗
·
2020-06-26 03:01
大一程序设计笔记(C语言入门)
程序设计及程序设计语言1.1.1程序与程序设计程序:能够实现特定功能的指令序列的集合,这些指令序列描述了计算机求解某一问题的工作步骤指令:计算机可以识别的命令程序设计:给出解决特定问题的程序的过程,是
软件构造
活动中的重要组成部分
greedy-hat
·
2020-06-25 21:22
C/C++笔记
哈工大
软件构造
U2 Chapter 2: Process and Tools of Software Construction
软件构造
的过程和工具
Chapter2:ProcessandToolsofSoftwareConstruction
软件构造
的过程和工具Objectivesofthislecture课程目标-软件开发的基本过程-传统的软件开发过程模型
天才_hhhhhh
·
2020-06-25 20:10
哈尔滨工业大学
QT3D场景的快速绘制
QT3D场景提供了一种快速设置3D场景的一种方式,用户凭借着封装好的实体可以快速的在顶层实体(画布)当中增加各种各样的实体,并且通过3DMax
软件构造
的OBJ文件与QT3D实现信息交互可以的帮助用户摆脱
Clayton_Zhang
·
2020-06-25 19:05
Qt
【Java设计模式】创建型模式-工厂模式
2)这个原则由勃兰特-梅耶在1988年出版的《面向对象
软件构造
》一书中提出。这一原则认为,软件中的对
四方城外
·
2020-06-25 17:44
《
软件构造
》课程感悟、收获及建议
在学习《
软件构造
》这门课程之前,我对编程的理解还只停留在写程序、改Bug的阶段,学完了这门课程之后,我对编程以及软件工程的思想有了更加深刻的认识。
HIT-LSQ
·
2020-06-25 10:46
软件构造
【
软件构造
】8.5 面向性能优化的代码调优
1.代码调优的策略与过程代码调优不是为了修复bug,而是对正确的代码进行修改,以提高其性能。代码调优通常是针对小规模的变化,比如针对类,某条代码执行的路径,或者更简单的,几行代码的变化。代码调优是最后做的工作,其他方面都无法再优化时,再考虑代码调优。1.调优不会减少代码行数代码行数与性能之间没有必然的联系2.调优时不应猜测怎样会提高性能,而应该有明确的目标并衡量结果通过度量发现热点和瓶颈,代码调优
fndfnd
·
2020-06-23 08:10
软件构造
2、红帽性能调优——火焰图使用perf生成火焰图
因为大部分程序其实是编写良好的,也就是说它往往在
软件构造
的时候就使用
abeb6ca9bb86
·
2020-06-22 12:39
java GUI程序的编写入门
前些日子应着我们
软件构造
课程的实验要求,写一个java程序用以进行四种类图的文件读取和增删操作,可以命令行也可以GUI。
Gininch
·
2020-06-22 00:55
java
Java中空正则表达式""的匹配问题
这几天在做《
软件构造
》这门课的实验时,需要用到正则表达式。具体操作是从一个文件中逐行读取数据,然后用正则表达式来匹配判断并提取数据。
L1n_CY
·
2020-06-21 23:18
(2019春)
软件构造
:雨课堂试卷(三)(第5章)
目录5-1可复用性单选题第1题1分单选题第2题1分单选题第3题1分单选题第4题1分多选题第5题2分单选题第6题1分5-2(1)Subtyping单选题第1题1分多选题第2题2分多选题第3题2分单选题第4题1分单选题第5题1分多选题第6题2分(错1)多选题第7题2分(错1)5-2(2)组合与委派、框架复用单选题第1题1分单选题第2题1分多选题第3题2分单选题第4题1分单选题第5题1分多选题第6题2分
天才程序YUAN
·
2020-06-21 22:23
其他
(2019春)
软件构造
:雨课堂试卷(第十章)
目录多选题第1题2分多选题第2题2分多选题第3题2分多选题第4题2分多选题第5题2分多选题第6题2分填空题第7题3分多选题第1题2分多选题第2题2分多选题第3题2分单选题第4题2分单选题第5题1分多选题第6题2分多选题第7题2分多选题第1题2分以下__是计算机系统中的concurrency现象?A手机上的一个App通过5G网络访问云端数据B四核CPU,执行多道程序C使用Observer设计模式的J
天才程序YUAN
·
2020-06-21 22:52
其他
由
软件构造
引申的OOP与POP的心得体会
在大一初学C语言的时候,所解决的问题都是一些轻量级的简单问题,当时写过一个教学管理系统。这个教学管理系统的功能很简单,思想就是“流水线”:按部就班的实现所有流程。要完成整个教学管理系统,实际上就是完成一些函数,这些函数之间的逻辑组织结构就是人所认知的逻辑结构,要完成一个教学管理系统,首先要实现一些功能:比如1.录入学生信息2.为每个学生分配课程3.为每个学生分配老师4.为每个学生录入成绩5.进行成
何莫道
·
2020-06-09 14:00
开闭原则
开闭原则的定义开闭原则(OpenClosedPrinciple,OCP)由勃兰特·梅耶(BertrandMeyer)提出,他在1988年的著作《面向对象
软件构造
》(ObjectOrientedSoftwareConstruction
carrykai
·
2020-05-31 22:00
HIT
软件构造
lab2
目录1实验目标概述12实验环境配置13实验过程13.1PoeticWalks13.1.1GetthecodeandprepareGitrepository13.1.2Problem1:TestGraph13.1.3Problem2:ImplementGraph13.1.3.1ImplementConcreteEdgesGraph23.1.3.2ImplementConcreteVerticesGr
何莫道
·
2020-04-13 00:00
关于设计模式及其在iOS中的实践(一)
基本原则一、开闭原则开闭原则的定义开闭原则(OpenClosedPrinciple,OCP)由勃兰特·梅耶(BertrandMeyer)提出,他在1988年的著作《面向对象
软件构造
》(ObjectOrientedSoftwareConstruction
夜雪天南
·
2020-04-10 16:44
面向对象六大原则之开闭原则
所以开发的时候也要尽量多多考虑程序的扩展性,我们尽量把一些改变控制到我们可预见的范围内,这在后续的开发中会减少很多不必要的麻烦,那就要求我们在设计功能代码的时候遵守开闭原则,这个原则在勃兰特.梅耶的《面向对象
软件构造
一天到晚被猫吃的鱼
·
2020-04-09 16:30
HIT
软件构造
课程3.5总结(Equality in ADT and OOP)
1.等价性关系等价关系自反、对称、传递2.评价等价性的三种方法ADT的等价操作抽象函数AF:内部表示->抽象表示基于抽象函数AF定义ADT的等价操作。使用AF定义等价性如果AF映射到相同的结果,则等价。使用操作定义等价性站在外部观察者角度,对两个对象调用任何相同的操作,都会得到相同的结果则说明等价。3.==和equals()==:引用等价性,equals():对象等价性自定义ADT时,需要根据对等
何莫道
·
2020-04-08 22:00
HIT
软件构造
课程3.4总结(Object-Oriented Programming )
上一节学习了ADT理论,这一节学习ADT的具体实现:OOP1.基本概念:对象,类,属性,方法对象对象是状态和行为的捆绑。java中,状态=成员变量,行为=方法。类每个对象都定义了一个类,类定义了成员变量和方法.类的方法就是他的applicationProgramminginterface(API)API定义了怎样和实例交互。类中的静态和实例变量/方法静态方法就是类方法,静态方法无法直接调用非静态成
何莫道
·
2020-04-07 23:00
HIT
软件构造
课程3.3总结(Abstract Data Type)
1.抽象性和用户定义类型用户定义类型除了编程语言所提供的基本数据类型和对象数据类型,程序员可以定义自己的数据类型。数据抽象性数据抽象:由一组操作所刻画的数据类型。(不关心数据的具体表示)。只需设计/使用操作。抽象类型是被他的操作所定义的和内部如何实现操作无关2.数据类型分类和运算可变和不可变类型可变类型的对象:提供了可以改变其内部数据值的操作。不可变类型:其操作不可改变内部值,而是构造新的对象。有
何莫道
·
2020-04-06 14:00
HIT
软件构造
课程3.2总结(Designing Specificaton)
本节转向“方法/函数/操作”如何定义上一节是名词这一节是动词1.编程语言中的函数和方法方法使用者不需要知道方法内部如何实现,这叫做“抽象”。参数参数类型是否匹配,在静态检查时完成。返回值2.规约:程序用于沟通(1)程序中的文档javaAPI类的层次,类接口的实现列表直接的子类,对于一个接口的实现类类的描述构造方法能调用的所有方法对于每个构造器和方法的详细说明,方法签名:返回类型,方法名,参数,例外
何莫道
·
2020-04-05 20:00
HIT
软件构造
课程3.1总结(data type and type checking)
软件构造
的理论基础-ADT
软件构造
的技术基础-OOP1.编程语言中的数据类型类型和变量类型是变量的集合,在这些变量集合上我们可以定义运算(类似于代数系统?)。
何莫道
·
2020-04-04 23:00
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他