案例分析29.ppt_第1页
案例分析29.ppt_第2页
案例分析29.ppt_第3页
案例分析29.ppt_第4页
案例分析29.ppt_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程教研室 王兵,案例分析,软件工程教研室 王兵,案例: 掷骰子游戏,如果骰子的总点数是7,则游戏赢;否则输 。,软件工程教研室 王兵,功能模型:系统用例图,用例名称:玩掷骰子 参与者:玩家,软件工程教研室 王兵,OOAD关注从对象的角度创建领域描述。定义领域模型需要所要处理的问题的领域知识。通过鉴别对象的概念、属性和关联来分解问题。,静态模型:系统类图,软件工程教研室 王兵,识别潜在的类-对象 对象是人们要研究的任何事物及对问题域中有意义的事物的抽象,它们既可能是物理实体,也可能是抽象概念(规则、计划和事件)。具体地说,对象可分为如下几种类型: (1) 物理实体:指有形的实物,例如,飞机

2、、汽车、计算机、书或机房等。 (2) 人或组织的角色:例如,医生、教师、学生、工人、部门或公司等。 (3) 事件:指在特定时间所发生的事,例如,飞行、演出、开会、访问或事故等。 (4) 性能说明:指厂商对产品性能的说明,如产品名字、型号、规格和各种性能指标等。,软件工程教研室 王兵,首先我们要确定领域内的概念类,通过对用例的名词提取,我们可以获得“玩家”、“骰子”及“骰子游戏”等概念类。 然后画出其属性和关联。,软件工程教研室 王兵,动态模型:顺序图,OOAD关注软件对象在问题领域内是如何相互协作来解决问题。交互图包括通信图和顺序图两种方式。,软件工程教研室 王兵,两个人玩的扑克牌游戏的一种玩

3、法,请你设计一个模拟程序,它的基本功能是:(1)发两手牌(利用随机数产生器),(2)确定赢考和赢脾的类型。扑克牌游戏规则如下: (1)有两个人玩,分别称为A和B (2)一付扑克牌有52张牌,4种花色(方块、梅花、红桃和黑桃),每种花色的牌的点数按升序排列有2,3,4,10,J,Q,K,A等14种; (3)给每个人发三张牌,牌面向上(即,亮脾),赢考立即可以确定; (4)最高等级的一手牌称为同花,即三张牌均为同一种花色,最大的同花牌是同一种花色的Q、K、A, (5)第二等级的牌称为顺子,即点数连续的二张脾,最大的顺于是花色不同的Q、K、A (6)第三等级的牌是同点,即点数相同的三张脾,员大的同点

4、是A、A、A (7)第四等级的牌是对子,即三张脾中有两张点数相同*最大的对于是A、A、K, (8)第五等级的脾是杂牌,即除去上列四等之外的任何一手牌,最大的杂脾是不同花色的A、K、J; (9)苦两人的牌类型不同,则等级高者胜;若等级相同,则点数高者胜;若点数也相同,则为平局。,软件工程教研室 王兵,在腾讯QQ游戏中斗地主游戏面向对象分析与设计,软件工程教研室 王兵,“联机考试系统”分析,软件工程教研室 王兵,分析的过程,估计优先级情景,识别类和对象,情景分析,描述类和对象,记录分析结果,软件工程教研室 王兵,哪些情景优先级高?,创建用户,登录,创建考试,创建考题,联机考试,软件工程教研室 王兵

5、,识别类和对象/情景分析,分析应对每一个情景展开,重点在于搜索出对象,这时不要化很多时间来确定对象之间的关系 名词可能成为对象,行为将可能成为对象的方法 每一情景至少需要一个界面类 联机考试系统有那些类?,软件工程教研室 王兵,识别类和对象4-1,业务实体类,User,Exam,Question,StudentTest,软件工程教研室 王兵,识别类和对象4-2,用户界面对类,软件工程教研室 王兵,识别类和对象4-3,存储访问类,DBAccess,软件工程教研室 王兵,描述类/类分析5-1,方法,InsertRecords,UpdateRecords,FetchRecords,ValidateU

6、ser,User,软件工程教研室 王兵,描述类/类分析5-2,方法,UpdateQuestions,FetchQuestions,GenerateQuestionNo,InsertQuestion,Question,软件工程教研室 王兵,描述类/类分析5-3,方法,FetchExamDetails,FetchStudentResults,GenerateExamCode,CreateExam,Exam,FetchExamReports,CalculateScore,GenerateTestPaper,软件工程教研室 王兵,描述类/类分析5-4,方法,FetchPaper,StudentTest

7、,软件工程教研室 王兵,描述类/类分析5-5,方法,Connection,DataAccess,软件工程教研室 王兵,分析时,需要评审情景的优先级 识别出了这些实体业务类:User类、Question类、Exam类和StudentTest类 情景都对应与一个用户界面对象,进而抽象出14个界面类 识别出DataAccess类 对每一个情景,分析了对象及其关系,软件工程教研室 王兵,“联机考试系统”的概要设计,软件工程教研室 王兵,对分析结果的归纳和分组4-1,SplashUI,用户界面类,LoginUI,CreateUserUI,WelcomeTeacherUI,WelcomeStudentUI

8、,WelcomeAdminUI,ModifyUserUI,ModifyUserDialogUI,TestScheduleUI,ExamRuleUI,ExamPaperUI,ExamResultUI,QuerySelfScoreUI,CreateExamUI,AddQuestionUI,ModifyQuestionUI,ModifyQuestionDialogUI,QueryExamUI,QueryScoreUI,ExamStatisticsUI,软件工程教研室 王兵,对分析结果的归纳和分组4-2,User,业务实体类,Exam,Question,StudentTest,软件工程教研室 王兵,对

9、分析结果的归纳和分组4-3,DataAccess,存储访问类,软件工程教研室 王兵,对分析结果的归纳和分组4-4,ExamStatisticsReportUI,业务报表类,软件工程教研室 王兵,不同组的实现决定,用户界面类:.NET WinForms 业务实体类:C# Class 存储访问类:使用ADO.NET组件 业务报表类:使用CrystalReport,软件工程教研室 王兵,系统的体系结构,用户界面层:用户界面类,业务层:业务实体类、业务报表类,数据层:存储访问类,思考:分成不同的层次有哪些好处?,软件工程教研室 王兵,数据库设计:表,表说明,tbl_ExamResults,tbl_Ex

10、ams,tbl_QuestionBank,tbl_SubjectMaster,tbl_TestPaper,tbl_User,软件工程教研室 王兵,数据库设计:表结构3-1,软件工程教研室 王兵,数据库设计:表结构3-2,软件工程教研室 王兵,数据库设计:表结构3-3,软件工程教研室 王兵,“联机考试系统”的详细设计,软件工程教研室 王兵,用户界面层设计,软件工程教研室 王兵,闪屏,软件工程教研室 王兵,登录,软件工程教研室 王兵,管理员界面设计(3-1),软件工程教研室 王兵,管理员界面设计(3-2),软件工程教研室 王兵,管理员界面设计(3-3),软件工程教研室 王兵,教师界面设计 (6-1

11、),软件工程教研室 王兵,教师界面设计 (6-2),软件工程教研室 王兵,软件工程教研室 王兵,教师界面设计 (6-3),软件工程教研室 王兵,教师界面设计 (6-4),软件工程教研室 王兵,教师界面设计 (6-5),软件工程教研室 王兵,教师界面设计 (6-6),软件工程教研室 王兵,学生考试部分(6-1),软件工程教研室 王兵,学生考试部分(6-2),软件工程教研室 王兵,学生考试部分(6-3),软件工程教研室 王兵,软件工程教研室 王兵,学生考试部分(6-4),软件工程教研室 王兵,学生考试部分(6-5),软件工程教研室 王兵,学生考试部分(6-6),软件工程教研室 王兵,逻辑层的功能类

12、设计,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 检索考试结果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论