实验 告只是为了提供给学弟学妹们参考,所以很多代码都没有完整给出,希望学弟学妹们只用来参考,请勿直接抄袭!!!
有问题请联系QQ:1187987704
文章目录
- 1 实验目标概述
- 2 实验环境配置
- 3 实验过程
-
- 3.1 待开发的三个应用场景
- 3.2 面向可复用性和可维护性的设计:PlanningEntry
-
- 3.2.1 PlanningEntry的共性操作
- 3.2.2 局部共性特征的设计方案
- 3.2.3 面向各应用的PlanningEntry子类型设计(个性化特征的设计方案)
- 3.3 面向复用的设计:R
- 3.4 面向复用的设计:Location
- 3.5 面向复用的设计:Timeslot
- 3.6 面向复用的设计:EntryState及State设计模式
- 3.7 面向应用的设计:Board
- 3.8 Board的可视化:外部API的复用
- 3.9 可复用API设计及Fa?ade设计模式
-
- 3.9.1 检测一组计划项之间是否存在位置独占冲突
- 3.9.2 检测一组计划项之间是否存在资源独占冲突
- 3.9.3 提取面向特定资源的前序计划项
- 3.10 设计模式应用
-
- 3.10.1 Factory Method
- 3.10.2 Iterator
- 3.10.3 Strategy
- 3.11 应用设计与开发
-
- 3.11.1 航班应用
- 3.11.2 高铁应用
- 3.11.3 学习活动应用
- 3.12 基于语法的数据读入
- 3.13 应对面临的新变化
-
- 3.13.1 变化1
- 3.13.2 变化2
- 3.13.3 变化3
- 3.14 Git仓库结构
1 实验目标概述
本次实验覆盖课程第 3、4、5 章的内容,目标是编写具有可复用性和可维护
性的软件,主要使用以下软件构造技术:
? 子类型、泛型、多态、重写、重载
? 继承、代理、组合
? 常见的 OO 设计模式
? 语法驱动的编程、正则表达式
? 基于状态的编程
? API 设计、API 复用
本次实验给定了五个具体应用(高铁车次管理、航班管理、操作系统进程管
理、大学课表管理、学习活动日程管理),学生不是直接针对五个应用分别编程
实现,而是通过 ADT 和泛型等抽象技术,开发一套可复用的 ADT 及其实现,充
分考虑这些应用之间的相似性和差异性,使 ADT 有更大程度的复用(可复用性)
和更容易面向各种变化(可维护性)。
2 实验环境配置
前面实验已经配置完备,所以没有问题
在这里给出你的GitHub Lab3仓库的URL地址(Lab3-学 )。
https://github.com/ComputerScienceHIT/Lab3-1180300120.git
3 实验过程
请仔细对照实验手册,针对每一项任务,在下面各节中记录你的实验过程、阐述你的设计思路和问题求解思路,可辅之以示意图或关键源代码加以说明(但千万不要把你的源代码全部粘贴过来!)。
3.1 待开发的三个应用场景
列出你所选定的三个应用。
我选择的是125三个场景,分别是航班,高铁,学习日程
分析三个应用场景的异同,理解需求:它们在哪些方面有共性、哪些方面有差异。
位置:可以使用同一类来创建
资源:三者资源共性不大
时间:三者都可以通过时间对来表示时间并且都可提前设定,只不过高铁需 要一个时间对的list
状态转换中:只有高铁可以阻塞,其余状态一样,所以可以单独为高铁设置 一个状态的阻塞功能即可
位置更改:只有学习日程可以更改位置,所以可以单独为其设置此功能
以下为我在写代码前初步构建的一个框图,虽然不是很完备,但是可以体现 初步的框架:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!