![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件构造笔记
Julchen Vargas
这个作者很懒,什么都没留下…
展开
-
4.2 面向复用的软件构造技术
大纲▪ 设计可重用类-继承和重写-重载-参数多态性和泛型编程-行为子类型和Liskov替换原则(LSP)-组合和委托▪ 设计系统级可重用库和框架——API和库——框架——Java集合框架(示例)1设计可重用类在OOP中设计可重用类▪ 封装与信息隐藏▪ 继承和重写▪ 多态性、子类型化和重载▪ 通用程序设计▪ 行为亚型与Liskov替代原理(LSP)▪ 授权和组成...原创 2020-04-29 14:01:47 · 250 阅读 · 0 评论 -
4-1可复用性的度量、形态与外部表现
▪ 软件复用的优缺点▪ 再利用组件▪ 通用可重用组件的特性大纲▪ 什么是软件重用?▪ 如何衡量“可重用性”?▪ 可重用组件的级别和形态-源代码级重用:模块级别的复用:类/抽象类/接口库级别的复用:API/包系统级别的复用:框架▪ 可重用性的外部观察-类型变化-例行分组-实现变化-表示独立-分解常见行为1什么是软件重用?▪ 软件重用是使用现有软件组件实现或更新软件...原创 2020-04-29 10:06:49 · 645 阅读 · 0 评论 -
3-5ADT和OOP中的“等价性”
本次课程的目的▪ 理解等价关系的性质。▪ 理解根据抽象函数和观察定义的不可变类型的相等性。▪ 区分引用相等和对象相等。▪ 区分不同类型的严格观察和行为平等。▪ 理解对象协定,并能够正确地为可变和不可变类型实现Equals大纲▪ 等价关系▪ 不可变类型的相等性▪ ==对等于()▪ 不可变类型的相等性▪ The Object Contract▪ 可变类型的相等性▪ 自动装箱与...原创 2020-04-03 09:31:19 · 207 阅读 · 0 评论 -
3-4 面向对象的编程OOP
本次课程的目的▪ 将抽象数据类型的接口与其实现分离,并使用Java接口类型强制分离。▪ 用接口定义adt,并编写实现接口的类。大纲▪ 基本概念:对象、类、属性、方法、接口和枚举▪ 面向对象的封装与信息隐藏的显著特征继承与重写多态,子类型与重载、静态与动态调度▪ Java中一些重要的对象方法▪ 设计好的课程、▪ 面向对象的历史▪ 摘要1基本概念:对象、类、属性和方法对象▪...原创 2020-04-01 10:54:33 · 186 阅读 · 0 评论 -
3-3 抽象数据类型ADT
本次课程的目的▪ 抽象数据类型和表示独立性:使我们能够将如何在程序中使用数据结构与数据结构本身的特定形式区分开来。抽象数据类型解决了一个特别危险的问题:客户对类型的内部表示进行假设。–我们将了解为什么这是危险的,以及如何避免。–我们还将讨论操作的分类,以及抽象数据类型的一些良好设计原则。▪ 不变量、rep暴露、抽象函数(AF)和表示不变量(RI)–通过抽象函数和表示不变量的概念,对类实...原创 2020-03-25 10:06:44 · 1047 阅读 · 0 评论 -
3-2设计规约
一.程序设计语言2中的函数/方法。规范:通信编程为什么需要规范行为等价规范结构:先决条件和后决条件测试 验证规范3.设计规范分类规范图表规范质量规范4.摘要总结本次讲座的目的▪ 了解方法规范中的先决条件和后决条件,并能写出正确的规范▪ 什么是前置条件和后置条件,它们对方法的实现者和客户机意味着什么▪ 了解不确定的规格,能够识别和评估不确定性▪ 理解声明性规范和操作性规...原创 2020-03-20 09:26:11 · 316 阅读 · 0 评论 -
3-1数据类型与类型检验
大纲1编程语言中的数据类型2静态与动态数据类型检查3易变性和不变性4快照图5复杂数据类型:数组和集合6有用的不可变类型7摘要本次课程目的1.了解编程语言中数据类型、静态和动态类型检查的基本知识2.理解可变/不变的数据类型3. 可变数据类型的危险性4. 使用不变性来提高正确性、清晰度和易变性——不变数据类型的优越性5. 使用快照图演示程序执行期间特定时间的状态。 ——用Sn...原创 2020-03-18 09:22:46 · 321 阅读 · 0 评论 -
2-2 软件构造的过程、系统和工具
大纲▪ 软件构建的一般过程:设计编程/重构调试测试构建发布-编程/重构-评审和静态代码分析-调试(转储和日志记录)和测试-动态代码分析/分析▪ 狭义的软件构建过程(Build):验证编译链接测试包安装部署-构建系统:组件和过程-构建变量和构建语言-构建工具:Make、Ant、Maven、Gradle、Eclipse本次讲座的目的▪ 了解软件构建的一般过程(设计编程...原创 2020-03-13 08:56:07 · 491 阅读 · 0 评论 -
1-2 软件构造的质量目标
课件翻译2:本节课程目的:1.To know quality factors to be cared in software construction软件构造过程中应考虑的重要质量指标▪ To understand the consequences if quality objectives cannot be achieved 如果达不到期望的质量目标,会有什么后果▪ To know ...原创 2020-02-23 16:13:06 · 497 阅读 · 0 评论 -
1-1软件构造的多维度视图
课件翻译课程目的:了解软件系统的三维构成▪ 了解用什么模型来描述软件系统的形态和状态▪ 把软件构建看作不同视图之间的转换多维软件视图-按阶段:构建和运行时视图-按动态:时刻和周期视图-按级别:代码和组件视图–每个视图的元素、关系和模型构建时间(Build time):概念(idea)需求(requirement)设计(design)代码(code)可安装/可执行包(in...原创 2020-02-22 11:15:53 · 690 阅读 · 0 评论