OOA(Object Oriented Analysis,面向对象分析): 从客观存在的事务和事务之间的关系,归纳出有关对象(包括对象的属性和行为)以及对象之间的联系,并将具有相同属性和行为的对象用一个类(class)来表示。建立一个能够反映真实情况的需求模型。
OOD(Object Oriented Design,面向对象设计):将面向对象分析阶段形成的需求模型进一步具体设计。如类的设计(继承、派生、类与类之间的消息协作)、算法的设计等。采取通用的工具,如流程图、类图等来描述。
题目描述:
前几次的编码作业,相信大家心里都有无数的...呼啸而过。那么第四次的作业就“相对轻松一点吧”。请大家思考如下几个问题:
采取面向对象的方法,四则运算自动出题软件,根据需求可以划分为几个类?每个类具有什么属性?每个类具有什么行为?
类与类之间是如何进行协作的?谁给谁发送消息?谁持有谁的引用?
该自动出题软件采取何种算法或者是如何实现的?可以采用流程图描述的方法。
作业要求:
本次作业不要求编码实现。发布一篇博客,图文并茂。
请设计四则运算的各个类的类图。并对图加以描述。
有编码实现的同学附加10分。
作图软件推荐ProcessOn,也可以提供手工画图的照片。
四则运算自动出题软件,根据需求可以划分为随机生成数字类,随机生成字符类,字符优先级判断类,计算题目类,文件类
随机生成数字类作用: 随机生成数字
随机生成字符类作用: 随机生成字符
字符优先级判断类作用: 判断字符运算的顺序
计算题目类作用: 按字符优先级进行运算
文件类: 把输入输出放到文件里
类与类之间是如何进行协作的?
先随机生成数字,再随机生成字符,再判断字符优先级,再按字符优先级进行计算,最后把输入输出放到文件里