软件是这样“炼”成的:Java学习全演练
上QQ阅读APP看书,第一时间看更新

6.4 代码解析

6.4.1 代码分析

本节主要讨论了如何从实体中规划类的过程,帮助读者掌握如何从实体中抽象出类以及确定类间初步关系。

洪杨俊:请问老师,设计类图的依据是什么?

晨落:这是一个很大的话题,在短时间工作经验不足以及没有足够的面向对象的知识设计类是比较难的。如果有足够的项目经验和需求分析经验,当然也能设计出更为优化的类图来。

洪杨俊:那是否可以给出一个概要的思路呢?

晨落:当然可以。我设计类图的基本思路是:第一阶段,参与客户调研,整理客户原始资料以及绘制业务流程图;第二阶段,在第一阶段的基础上,结合管理目标和商业目标,设计相应的目标业务模型;第三阶段,将目标业务模型中用到的所有业务原始资料作为初选对象;第四阶段,与客户多次沟通软件需求,结合自身对业务的理解,编写需求分析报告;第五阶段的主要任务是将业务资料进行再次归类,分析它们之间的静态关系绘制领域类图,统一建模语言UML(Unified Modeling Language)中称之为领域类图。领域类图具有需求分析软件需求的静态关系作用,真正的具有指导性的类图应该是实现类图。实现类图则描述类之间的各种关系,比如继承、依赖等。在本章中所定义的类图其实就是一个领域类图的模型。

洪杨俊:那么为什么在您的源代码中没有表现出类图中所表达的关系呢?

晨落:领域类图在软件开发中更为重要的作用应该是为数据架构设计提供依据,一般在数据架构设计中,要确定实体之间的关系,而实体关系的确定一般是以领域图为基础而设计的。领域类图反映的关系要通过Java类中的其他关系来表现出来,这些关系将在后面的相关章节中得到完善。随着Java的学习,将逐步实现学籍管理系统需求。

洪杨俊:按照Java源程序组成中,应该有数据成员组成,为什么在您展示的源代码中没有看到?

晨落:关于数据成员的定义,将在第7章结合Java数据类型知识得到完善。

6.4.2 进程检查

如果要实现第5章提出的功能需求,需要随着Java知识结构的进一步完善,逐步实现。表6-2中“∗”表示本章能够完成的功能需求的初步设计工作。

表6-2 进程检查表