摘要: 知识点概要: 软件维护和演化 可维护性指标 模块化设计和模块化原则 面向对象设计原则:SOLID 语法驱动的构造 ——语法和解析器 ——正则表达式(regexp) 一、软件维护和演化 软件维护指修复错误、改善性能。在设计与开发阶段就要考虑将来的可维护性。 软件演化指对软件进行持续的更新,软件的大部分 阅读全文
posted @ 2023-05-21 15:52 Jayhawk 阅读(39) 评论(0) 推荐(0)
摘要: 知识点概要: 什么是软件复用? 如何衡量“可复用性”? 可复用组件的级别和形态——源代码级别的复用——模块级别的复用:类/抽象类/接口——库级别的复用:API/包——系统级别的复用:框架 设计可复用的类——继承与重写——重载——参数多态与泛型编程——行为子类型和 Liskov 替换原则 (LSP)— 阅读全文
posted @ 2023-05-20 22:18 Jayhawk 阅读(95) 评论(0) 推荐(0)
摘要: 知识点概要: 等价关系 不可变类型的等价性 == 与 equals() 实现equals() 对象合同 可变类型的等价性 自动装箱和等价 一、等价关系 ADT的等价关系是基于AF来定义的 等价关系:自反、对称、传递 二、不可变类型的等价性 不可变类型的等价性还是依据与AF,AF映射到同样的结果,则等 阅读全文
posted @ 2023-05-19 19:42 Jayhawk 阅读(46) 评论(0) 推荐(0)
摘要: 软件构造期末考试将近,在此我将从OOP这一章节开始复习,记录下该章节中的重点内容。 知识点概要: OOP基本概念:对象、类、属性、方法、接口和枚举 OOP 的独特特征: ——封装与信息隐藏 ——继承与重写 ——多态、子类型、重载 ——静态与动态分派 Java 中一些重要的 Object 方法 设计好 阅读全文
posted @ 2023-05-18 20:55 Jayhawk 阅读(121) 评论(0) 推荐(0)
摘要: 软件构造的课程和实验已经结束一段时间了,如今回顾起来,收获颇丰,在此我将回忆总结一下在实验中出现的问题,总结一下从中得到的教训,进行一个盘的复,避免以后再出现这些问题。 首先,最重要的一点就是不要拖延!不要拖延!不要拖延! 在前两次实验中,我的时间把控还做的不错,两次实验也都提前几天完成了,完成的效 阅读全文
posted @ 2023-05-17 23:08 Jayhawk 阅读(18) 评论(0) 推荐(0)
摘要: 在做Lab2的时候,开始试着去写每个类的Abstraction function,Representation invariant,Safety from rep exposure,即抽象函数AF,表示不变量RI和防止表示暴露。但感觉对它们的认知还不是很明确,因此,我将在这详细复习记录下它们都表示什 阅读全文
posted @ 2023-04-03 20:42 Jayhawk 阅读(197) 评论(0) 推荐(0)
摘要: 已经开始做软件构造实验二了,但做了几天还是感觉不太对,有种无从下手的感觉,我还是来复习一下本次实验所要用到的知识点吧,至于前面的知识呢,先别急,虽然也用的上,但在本次实验不是重点,之后再进行复习。 知识点概要: 规约设计 测试用例 ADT的泛化型 ADT的抽象函数(AF)、表示不变性(RI) OOP 阅读全文
posted @ 2023-03-31 20:30 Jayhawk 阅读(103) 评论(0) 推荐(0)