2024年3月25日发(作者:)
案例: 掷骰子游戏,
案例: 掷骰子游戏,如果骰子的总点数 则游戏赢; 是7,则游戏赢;否则输 。
功能模型: 功能模型:系统用例图
用例名称:玩掷骰子 参与者:玩家
静态模型: 静态模型:系统类图
OOAD关注从对象的角度创建领域描述。定义 领域模型需要所要处理的问题的领域
知识。通 过鉴别对象的概念、属性和关联来分解问题。
识别潜在的类识别潜在的类-&-对象 对象是人们要研究的任何事物及对问题域中有
意义的事物的抽 它们既可能是物理实体,也可能是抽象概念(规则 规则、 象,它们既可
能是物理实体,也可能是抽象概念 规则、计划和事 件)。具体地说,对象可分为如下几种
类型: 。具体地说,对象可分为如下几种类型: (1) 物理实体:指有形的实物,例如,
飞机、汽车、计算机、书或 物理实体:指有形的实物,例如,飞机、汽车、计算机、 机
房等。 机房等。 (2) 人或组织的角色:例如,医生、教师、学生、工人、部门或公 人或
组织的角色:例如,医生、教师、学生、工人、 司等。 司等。 (3) 事件:指在特定时间
所发生的事,例如,飞行、演出、开会、 事件:指在特定时间所发生的事,例如,飞行、
演出、开会、 访问或事故等。 访问或事故等。 (4) 性能说明:指厂商对产品性能的说明,
如产品名字、型号、规 性能说明:指厂商对产品性能的说明,如产品名字、型号、 格和
各种性能指标等。 格和各种性能指标等。
首先我们要确定领域内的概念类,通过对 用例的名词提取,我们可以获得“玩家”、
“骰子”及“骰子游戏”等概念类。 然后画出其属性和关联。
动态模型:顺序图
OOAD关注软件对象在问题领域内是如何相互 协作来解决问题。交互图包括通信图
和顺序图 两种方式。
两个人玩的扑克牌游戏的一种玩法, 两个人玩的扑克牌游戏的一种玩法,请你设计一
个模 拟程序,它的基本功能是:(1)发两手牌 发两手牌( 拟程序,它的基本功能是:(1)
发两手牌(利用随机数产生 (2)确定赢考和赢脾的类型 扑克牌游戏规则如下: 确定赢考和
赢脾的类型。 器),(2)确定赢考和赢脾的类型。扑克牌游戏规则如下:
(1)有两个人玩,分别称为A (1)有两个人玩,分别称为A和B 有两个人玩 (2)一付扑
克牌有52张牌 一付扑克牌有52张牌, 种花色(方块、梅花、红桃和黑桃) (2)一付扑克牌
有52张牌,4种花色(方块、梅花、红桃和黑桃),每种花 色的牌的点数按升序排列有2 10,
14种 色的牌的点数按升序排列有2,3,4,…,10,J,Q,K,A等14种; (3)给每个
人发三张牌 牌面向上( 给每个人发三张牌, 亮脾) 赢考立即可以确定; (3)给每个人发三
张牌,牌面向上(即,亮脾),赢考立即可以确定; (4)最高等级的一手牌称为同花 即三张
牌均为同一种花色, 最高等级的一手牌称为同花, (4)最高等级的一手牌称为同花,即三
张牌均为同一种花色,最大的同 花牌是同一种花色的Q 花牌是同一种花色的Q、K、A,
(5)第二等级的牌称为顺子 即点数连续的二张脾, 第二等级的牌称为顺子, (5)第二等级
的牌称为顺子,即点数连续的二张脾,最大的顺于是花色 不同的Q 不同的Q、K、A (6)
第三等级的牌是同点 即点数相同的三张脾,员大的同点是A 第三等级的牌是同点, (6)
第三等级的牌是同点,即点数相同的三张脾,员大的同点是A、A、A (7)第四等级的牌是
对子 即三张脾中有两张点数相同*最大的对于是A 第四等级的牌是对子, (7)第四等级的
牌是对子,即三张脾中有两张点数相同*最大的对于是A、 A、K, (8)第五等级的脾是杂
牌 即除去上列四等之外的任何一手牌, 第五等级的脾是杂牌, (8)第五等级的脾是杂牌,
即除去上列四等之外的任何一手牌,最大的 杂脾是不同花色的A 杂脾是不同花色的A、K、
J; (9)苦两人的牌类型不同 则等级高者胜;若等级相同,则点数高者胜; 苦两人的牌类
型不同, (9)苦两人的牌类型不同,则等级高者胜;若等级相同,则点数高者胜; 若点数
也相同,则为平局。 若点数也相同,则为平局。
在腾讯 QQ游戏中斗地主游戏面向对象分析 与设计
“联机考试系统”分析
分析的过程
估计优先级情景 识别类和对象 描述类和对象 记录分析结果 情景分析
哪些情景优先级高?
创建用户…… 创建用户 登录…… 登录 创建考试…… 创建考试 创建考题…… 创建考
题 联机考试…… 联机考试
识别类和对象/情景分析
分析应对每一个情景展开,重点在于搜索出 对象,这时不要化很多时间来确定对象之
间的 关系 名词可能成为对象,行为将可能成为对象的 方法 每一情景至少需要一个界面
类 联机考试系统有那些类?
软件工程教研室 王兵
识别类和对象4-1
业务实体类
User Exam
Question
StudentTest
识别类和对象4-2
用户界面对类
识别类和对象4-3
存储访问类
DBAccess
描述类/类分析5-1
User 方法
ValidateUser InsertRecords UpdateRecords FetchRecords
软
逻辑层的功能类设计
User 类包括验证用户登陆的身份、创建 用户、更改用户、查找用户功能的方法
Question 包括存储、修改、查找考题的 方法 Exam 包括创建考试、查看考试安排、显 示
学生的考试结果以及显示考试的结果方 法 StudentTest 检索试卷
User 类的方法
ValidateUser 验证密码 InsertRecords 新建用户 UpdateRecords 更新用户信息
FetchRecords 查询用户用户记录
Question 类的方法
InsertQuestions 新建试题并将其添加至 tbl_QuestionBank表 UpdateQuestions
更新 QuestionBank表 中的试题 FetchQuestions从表tbl_QuestionBank中 搜索试题
GenerateQuestionNo生成指定科目的试 题编号
Exam 类的方法
CreateExam 创建考试 FetchExamDetails 按考试日期、考试科 目条件搜索已经安
排的考试 GenerateExamCode 生成考试代码 FetchExamResults 检索学生的考试分数
FetchExamReports 检索考试结果的详细 信息 GenerateTestPaper生成试卷
StudentTest类的方法
FetchPaper 从数据库中提取试卷数据访问层DataAccess 类的方法
Connection 处理数据库连接 GetInstance 检查数据库连接的实例是否
SqlCommand 该方法执行数据库操作命 令 SaveStudentScore 插入考试成绩
存在


发布评论