软件构造
曙光Daylight
c++: error trying to exec 'cc1plus': execvp: No such file or directory
ninja: build stopped: subcommand failed.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Lab4-异常与错误处理、防御式编程、测试和调试
本博客为哈工大计算机科学与技术学院大二软件构造课程的Lab4实验报告。 该PDF28页左右,主题为异常与错误处理、防御式编程、测试和调试, 该博客不作为课程要求的博客记录数量,仅仅是个人的分享,为在Lab4已经结束后进行上传的。 由于水平有限,实验报告可能不是特别流畅、通顺,并且存在一定错误和不一定完全正确,敬请各位批评指正! ...原创 2020-07-09 16:48:38 · 268 阅读 · 0 评论 -
7-3锁与同步
锁与同步翻译 2020-07-08 00:13:33 · 730 阅读 · 0 评论 -
1-2软件构造的质量目标(待完善)
外部和内部质量因素 外部质量因素:质量,如速度或易用性,它们在软件产品中的存在或缺失可以被用户检测到。 外部质量因素 影响 用户 其他适用于软件产品的品质,如模块化或可读性,都是内部因素,只有能够访问实际软件文本的开发人员才能察觉。 最后,只有外部因素起作用。 内部质量因素 影响 软件本身和它的开发者 但实现这些外部因素的关键在于内部因素:为了让用户享受可见的品质,设计者和实施者必须运用内部技术来确保隐藏的品质。 外部质量取决于内部质量 (1)外部质量因素 外部1:正确性 正确性是翻译 2020-07-01 08:58:16 · 183 阅读 · 0 评论 -
随记:软件构造的三维视图
软件构造的三维视图 Build-time Views Build-time: idea →requirement → design →code→ installable / executable package Code-level view:源代码——源代码是如何按照基本的程序块(如函数、类、方法、接口等)以及它们之间的依赖关系进行逻辑组织的 Component-level view架构——源代码是如何按照文件、目录、包、库以及它们之间的依赖关系进行物理组织的 Moment view: 源代码和组件在特定翻译 2020-06-27 15:16:58 · 240 阅读 · 0 评论 -
7-2线程安全
1什么是线程安全 线程安全 竞争条件:多个线程共享同一个可变变量,但不协调它们正在做的事情。 这是不安全的,因为程序的正确性可能依赖于低级操作的定时事故。 线程之间的“竞争条件”:作用于同一个mutable数据上的多个线程, 彼此之间存在对该数据的访问竞争并导致interleaving(交错),导致postcondition可能被违反,这是不安全的。 线程安全意味着什么 无论线程是如何执行的,如果数据类型或静态方法在多个线程中使用时行为正确,并且不需要调用代码的额外协调,则该方法是线程安全的。 如何理翻译 2020-06-26 20:36:02 · 263 阅读 · 0 评论 -
7-1并发
大纲 什么是并发编程 进程、线程和时间切片 (1)进程 (2)线程 (3)在Java中启动线程 交错和竞争条件 (1)时间切片 (2)线程间共享内存 (3)竞争条件 (4)消息传递示例 (5)并发很难测试和debug (6) 总结 阅读材料 1 什么是并发编程 并发 并发:在同一时间进行多个计算 并发在现代编程中无处不在 网络上的多台计算机 一台计算机上运行的多个应用 计算机中的多个处理器(现在通常是单个芯片上的多核处理器) 并发在现代编程中是必不可少的: 网站必须同时处理多个用户翻译 2020-06-26 19:09:23 · 956 阅读 · 0 评论 -
6-2 错误与异常处理
大纲 1、错误和Java中的异常 2、异常处理 什么是异常 异常的分类 受查异常和非受查异常 如何抛出一个异常 创建异常类 捕获异常 重新抛出和链接异常 finally语句 Try-with-Resources 声明 分析堆栈痕迹元素 3、总结 阅读材料 1、错误和Java中的异常 Java中的Abnormals 所有异常对象的基类是java.lang.Throwable,以及它的两个子类java.lang.Exeception和java.lang.Error。 Error和Execeptio翻译 2020-05-22 20:52:55 · 1408 阅读 · 0 评论 -
6-1健壮性与正确性
健壮性和正确性翻译 2020-05-19 14:05:37 · 390 阅读 · 0 评论 -
Lab3-面向复用和可维护性的软件构造
面向复用和可维护性的软件构造原创 2020-05-11 16:47:11 · 657 阅读 · 0 评论 -
Lab2-抽象数据类型ADT与面向对象编程OOP
- 本博客为哈工大计算机科学与技术学院大二**软件构造**课程的**Lab2实验报告**。 - 该PDF28页左右,主题为**抽象数据类型ADT与面向对象编程OOP**, - 该博客**不作为课程要求的博客记录数量**,仅仅是个人的分享,为**在Lab2已经结束后进行上传**的。 - 由于水平有限,实验报告可能**不是特别流畅、通顺**,并且**存在一定错误**和**不一定完全正确**,敬请各位批评指正!原创 2020-05-11 16:46:03 · 210 阅读 · 0 评论 -
Lab1-Java基础编程与测试
本博客为哈工大计算机科学与技术学院大二软件构造课程的课件翻译。课程要求书写博客记录学习感悟。这一版本基本上为机器翻译,还存在很多错误,请谨慎参考原创 2020-05-11 16:35:36 · 189 阅读 · 0 评论 -
4-3面向复用的设计模式
面向复用的设计模式 目录面向复用的设计模式1、结构型模式(1)适配器模式Adapter(2)装饰器模式Decorator(3)外观模式Facade2、Behavioral patterns行为型模式(1)Strategy策略模式 结构型模式: Adapter通过将自己的interface封装在已经存在的class的接口周围,允许具有不兼容interface的class一起工作。 Decorato...翻译 2020-05-11 16:29:58 · 268 阅读 · 0 评论 -
5-2面向可维护性的设计模式
目录 创建者模式 工厂方法模式创建对象而不指定要创建的确切类。 抽象工厂模式将具有共同主题的对象工厂分组。 结构型模式 代理为另一个对象提供了一个占位符来控制访问、降低成本和降低复杂性。 行为型模式 观察者模式是一种发布/订阅模式,允许多个观察者对象查看一个事件。 访问者模式通过将方法的层次结构移动到一个对象中来将算法与对象结构分离。 设计模式的共性和差异 阅读材料 CMU...翻译 2020-05-11 16:28:48 · 334 阅读 · 0 评论 -
4-2 面向复用的软件构造技术
这里写目录标题目录阅读材料1、设计可复用的类在OOP中设计可复用的类(1)行为子类型与Liskov替换原则行为子类型Example 1 for Behavioral subtyping (LSP)Example 2 for Behavioral subtyping (LSP)Liskov Substitution Principle (LSP)Covariance (协变)Contravarian...翻译 2020-04-30 20:29:42 · 1676 阅读 · 0 评论 -
4-1可复用性的度量、形态和外部表现
可复用性的度量形态和外部表现 课程目标: 软件复用的优点和缺点 面向可复用性的构造 一般的可重用模块的特征 开发便携式应用系统的方法 第3章介绍了软件构造的核心理论(ADT)与技术(OOP),其核心是保证代码质量、提高代码安全性。 本章面向一个重要的外部质量指标:可复用性——如何构造出可在不同应用中重复使用的软件模块/API? 4-1节探讨可复用的软件应该“长什么样”,下一节学习“如何构造...翻译 2020-04-25 18:37:58 · 1436 阅读 · 0 评论
分享