设计——BUAA_OO_Unit4

设计

1. 前言

第四单元是面向对象课程的尾声,也是一学期的尾声。这篇博客,回顾第四单元,也回顾这一年来的面向对象课程的学习。

  • 总结本单元所实践的正向建模与开发
  • 总结本单元作业的架构设计,并对比分析最终的代码设计和UML模型设计之间的追踪关系
  • 总结自己在四个单元中架构设计思维的演进
  • 总结自己在四个单元中测试思维的演进
  • 总结自己的课程收获

2. 第四单元分析

2.1 正向建模与开发

秋季学期学习计算机组成的时候,P5至P7时我是采取的先撰写设计文档,画出设计图之后再编写代码的。个人认为,充分的、有效的前期设计为后续高效编码和debug多有裨益。本单元的UML就是很好的正向建模与开发的工具。通过类图、状态图和顺序图可以有效地完成正向建模的工作。

  1. 类图明确了每个类的属性(包括它的类型)、类的方法(包括它的参数),指导开发过程中的类的各项声明。
  2. 状态图明确了关键对象的状态变化,与类图中的属性和方法呼应,指导开发过程中类的方法的具体实现。
  3. 顺序图明确了类和对象之间的交互关系,与类图中的关系和方法呼应,指导开发过程中类的方法的具体实现。

2.2 架构设计

这是这个单元的类图相比其之前的单元的类图简单了不少,也是因为第三单元和第四单元在架构设计方面没有如第一单元和第二单元那么强调。

在这里插入图片描述

除Main类之外,设置了一个最大的Library类,一个图书馆包括了书架、借还处、预约处、漂流角和用户数据库。用户数据库中存放所有的用户的借书、信用等信息。同时还有两个功能类,分别表示预约信息和借还信息。

虽然有UML图的正向建模过程。但是正向建模设计的过程并不没有顾及到具体的实现过程,包括实现所用语言上的限制等等。所以在实现过程当中还要根据遇到的具体问题对于之前已有的UML设计进行一定的修改,修改的过程当中要严格注意一项修改是否会影响到已有的各项设计。

3. 思维演进

3.1 架构设计

从先导课开始,架构设计就贯穿了整个课程。在先导的课的时候或许能够摆弄好各个类就已经算是很不错的设计了。经过了整个面向对象课程的学习,对于架构设计我有了更多新的认识。

  1. 架构设计是为了服务业务的,有怎样的业务需求、有怎样的潜在拓展可能,就会要求有怎样的架构。
  2. 架构设计有大量优秀的设计模式,尤其是在遇到多线程条件下,合理应用这些设计模式可以提升设计的效率,也可以更为科学实用。
  3. 前期设计架构的时候,要预留好适当的拓展空间。在不断深入拓展的开发过程当中,大的架构不应发生太多的变化,但是在局部可能在演进中有较大的变化。

3.2 测试

从接触编程开始,说到测试似乎就是一个数据点粘贴到控制台看看结果是不是正确就结束了。通过学习面向对象课程发现了测试也是非常丰富的。

  1. 测试需要一个完整的测评环境,输入生成、运行环境、输出获取、正确性判别等等,在面向对象课程中通过搭建测评机完整地体验了这一个过程。
  2. 测试的有多种不同的形式。白箱测试与黑箱测试、单元测试与集成测试、压力测试、回归测试等等。在软件开发的不同阶段,要分别选用不同的测试方式,持续保障软件产品的质量可控。
  3. 测试时有极限的。不可能通过测试发现所有的问题,不能依赖测试来保证产品的质量。

4. 课程收获

一句总结:人力有极,所寻的是平衡

回看先导课的第一次大作业,我们是冒险者,前往一片未知的大陆。最后一节实验课,我们还是冒险者,已在这篇大陆上闯出了一片天地。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值