作业4

题目要求:

OOA(Object Oriented Analysis,面向对象分析):

从客观存在的事务和事务之间的关系,归纳出有关对象(包括对象的属性和行为)以及对象之间的联系,并将具有相同属性和行为的对象用一个类(class)来表示。建立一个能够反映真实情况的需求模型。

OOD(Object OrientedDesign,面向对象设计):

将面向对象分析阶段形成的需求模型进一步具体设计。如类的设计(继承、派生、类与类之间的消息协作)、算法的设计等。采取通用的工具,如流程图、类图等来描述。

题目描述:

采取面向对象的方法,四则运算自动出题软件,根据需求可以划分为几个类?每个类具有什么属性?每个类具有什么行为?

类与类之间是如何进行协作的?谁给谁发送消息?谁持有谁的引用?

该自动出题软件采取何种算法或者是如何实现的?可以采用流程图描述的方法。

作业:

一.代码的分解

我认为,所有的代码都可以分成三个部分:输入部分,操作部分,输出部分;
输入主要的作用是填入操作部分中的未知参数,而需要输出的,往往是操作部分的过程数据和最终数据 所以其中操作部分是整个代码的核心部分。

以四则运算为例:

输入部分:语言的选择、题目数量;

操作部分:题目的生成、计算正确的答案、将正确答案与输入的答案比较(数据的统计)

输出部分:生成的题目、正确的答案、统计的数据

综上,类大致可分为三中,输入类、操作类、输出类,但是,上面说过,输出的内容大多是操作的数据所以,输出类可以省略。

1.输入类:(用户输入类,文件引入类)

2.操作类:(生成类,统计类(在四则运算中这两者可以合并)

输入类给题目生成类发送题目数量的消息,发送语言给输出类,而输出类需要引用生成类的题目,答案及统计数据

二.流程图

原文地址:https://www.cnblogs.com/hyh1072797231/p/6860746.html