`

用例建模范例:账户登陆

    博客分类:
  • UML
阅读更多

参考:http://ld19860514.blog.163.com/blog/static/39896712201037155342/

 

首先要说明的是,游戏开发需要遵照统一软件开发过程(UDP)。它是以用例驱动的,在需求分析阶段需要进行用例建模。

用例建模是需求工程的一种形式,为对象和类提供了基本来源。它具有4个部分:参与者、用例、关系和系统边界。

网络游戏用例建模涉及寻找参与者和用例,而系统边界把系统同世界其他部分区分开来。寻找角色和用例的开始,首先必须划分游戏的边界,在此将整个游戏系统作为考虑的对象,并不考虑网络通信细节和编程开发环境及其实现细节,仅从用户需要角度来看系统的功能模块。

参与者是直接与系统交互的事物所扮演的角色,角色对于系统来说是外部的。角色可以参与一个或多个用例,它通过交换信息与用例发生交互作用。参与者的描述形式如下图(摘自《C++网络游戏建模与实现》):

 

用例建模范例:账户登陆 (转) - 吾与伦比 - 吾与伦比

用例的用途是在不揭示系统内部构造的情况下定义联贯的行为。用例描述了系统具有的行为,但是没有规定怎样实现这些行为,它是从用户的角度来看系统的特定方式。

可将用例按功能划分为3个包:

用例建模范例:账户登陆 (转) - 吾与伦比 - 吾与伦比

 

‘账户登陆’是操作包的其中一个用例。因其属于网络游戏最基本的功能,所以选取它来说明开发过程。

步骤1:描述用例及其事件流

用例描述:注册用户在官方网站帐户登陆页面上输入ID和密码登陆管理个人帐户。

 

主事件流:

1.用户点击主页上的登陆按钮,开始用例。

2.系统显示登陆页面。

3.用户输入ID和密码,然后点击登陆。

4.系统验证登陆信息和数据库一致,然后回到主页。

5.用例结束。

其他事件流A1:

如果用户点击登陆页面上的提示词按钮,系统在一个单独的对话框里显示为用户储存的提示词,用户点击确定按钮,系统页面回到登陆页。

其他事件流A2:

如果用户输入了一个系统无法识别的ID,系统显示错误信息并提示用户输入一个不同的ID。

其他事件流A3:

如果用户输入了一个不正确的密码,系统显示错误信息并提示用户输入正确的密码。

其他事件流A4:

如果用户连续3次输入错误的密码,系统显示消息告诉用户无法再连接服务器,并且冻结登陆页。

步骤2:建立对象交互图

交互图描述了系统的动态行为。绘制对象交互图,首先是确定该用例所涉及的对象。从用例说明中可以分析出包括Player、主页、登陆页、提示对话框、帐户记录这几个对象,对象之间通过发送消息进行交互。下面就是“登陆帐户”的顺序图,它其实是一张表,X轴上排列着对象,Y轴上按时间顺序排列着对象之间发送的消息,最左边标明了消息所属的事件流。

对象交互图如下所示:

用例建模范例:账户登陆 (转) - 吾与伦比 - 吾与伦比

 

 

步骤3:建立概念层类图

在划分了功能模块和执行事件流后,接着就是划分出所使用的类。在面向对象设计中,类的概念是具有相同属性和方法的一组对象的集合,为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和方法两个主要部分。类在实质上定义的是一种对象类型,描述了属于该类型的所有对象的性质。在类中封装了属性,同时对外界提供了操作类内部成员的方法。

虽然在软件开发的不同阶段都使用类图,但这些类图描述了不同层次的抽象。类图分为3个层次:概念层、说明层和实现层。在需求分析阶段,类图是所研究的问题域中的概念,对应概念层;在设计阶段,类图描述类与类之间的接口,对应说明层;而在实现阶段,类图描述软件系统中的类的实现,对应实现层。

概念层的类图:

用例建模范例:账户登陆 (转) - 吾与伦比 - 吾与伦比

 

图中标明了类的种类和关系。其中,主页、提示词对话框和登陆页都是边界类,它们处理系统环境与系统内部之间的通信,为用户或另一个系统提供了接口,作为系统与外界交换信息的媒介,将系统与系统环境中的变化隔离开来;显示、验证属于控制类,它们协调实现用例的规定行为所需要的事件,封装了特定于用例的行为,而依赖于应用程序类;帐户记录属于实体类,是模拟必须被储存的信息和关联行为的类,它独立于应用程序,并可被用于多个应用程序。

步骤4:将对象交互图深化到程序级

在确定了对象类之后,便得到标明类和方法后的“登陆帐户”时序图,消息上标明了所调用的方法。见下图:

用例建模范例:账户登陆 (转) - 吾与伦比 - 吾与伦比

 

 

步骤5:得到描述了类操作的类图

下图便是描述了类操作的“账户登陆”模块类图,类中方法可与交互图中的消息对应起来。

用例建模范例:账户登陆 (转) - 吾与伦比 - 吾与伦比至此完成了初步的程序架构。

————————————————————————————————————————

以上介绍了从描述需求到程序设计的过程。其中涉及的技能不需要系统策划掌握,但需要能够理解。系统策划写的需求,要能让系统分析师整理出正确、完整的设计用例,接下来才好做程序架构。之后的测试用例也是技术人员根据设计用例编写,系统策划虽然不用写设计用例和测试用例,但是要先做用例图,并过目确定技术人员所写的用例是否和需求一致。

下图是《DIABLO》的核心用例图(摘自《游戏开发与制作》),它属于系统策划的工作范畴。很显然,总不能连游戏玩什么都让技术人员写吧......

用例建模范例:账户登陆 (转) - 吾与伦比 - 吾与伦比

 

分享到:
评论

相关推荐

    用例建模案例打包,三个入门案例分析

    - **【原创】用例建模范例:账户登陆(供系统策划参考)_Storm1986 网游策划设计空间.htm**:这个案例可能详细介绍了用户如何登录到游戏系统,包括参与者(玩家)、用例(登录账户)和可能涉及的扩展用例(如密码...

    用例建模的PDF, 比较详细,易于理解.

    《用例建模》这份PDF文档是为初级和中级开发人员设计的一份深入教程,旨在帮助他们更好地理解和应用用例建模技术。用例建模是软件开发过程中的一个重要环节,它主要用于描述系统或软件的功能需求,从用户的角度出发...

    用例驱动的UML对象建模应用:范例分析.pdf

    高清中文,你值得拥有. 难道一寻的UML建模用例分析

    业务建模及用例建模.pptx

    从业务流程拼装业务用例: * 业务流程 + 收款人在支票背后签名,写上身份证件号码,把支票和身份证件交给营业员 + 营业员核对印章正确且证件有效 + 营业员操作营业受理系统,办理支票兑现手续 + 营业员把现金和...

    UML实验报告(用例建模)

    【UML实验报告(用例建模)】的实验旨在教授如何使用统一建模语言(UML)进行软件开发的需求分析,特别是通过用例建模的方法。以下是详细的知识点解析: 1. **需求获取**:这是软件开发的第一步,通过与客户、领域...

    实验 用例建模

    ### 实验用例建模知识点解析 #### 一、面向对象技术与UML概述 面向对象技术(Object-Oriented Technology, OOT)是一种软件开发方法论,它以对象为基本单位来组织程序结构,强调封装性、继承性和多态性。而统一...

    指南:测试用例报告范例

    测试用例报告是软件开发过程中不可或缺的一部分,它详尽地记录了测试的各个方面,包括测试输入、执行条件、预期结果,以及如何验证程序是否符合特定需求。本指南将深入探讨测试用例的创建和应用,旨在帮助测试人员...

    测试用例(含:设计及模板)

    测试用例是软件开发过程中的重要组成部分,它用于确保软件产品的功能、性能和用户体验符合预期。本压缩包文件“测试用例(含:设计及模板)”提供了全面的资源,帮助我们理解和实施有效的测试用例设计。以下是这些...

    用例建模实验中的若干问题

    ### 用例建模实验中的若干问题 #### 一、引言 用例建模是软件工程领域一种重要的分析方法,旨在通过定义系统的功能需求来捕捉用户的需求,并为后续的设计和实现提供指导。然而,在实际操作过程中,用例建模往往会...

    用例建模指南带具体例子

    用例建模指南带具体例子 用例建模指南是软件开发中的一种重要方法,它可以帮助开发者更好地理解系统的需求和设计。下面我们将通过一个具体的例子来介绍用例建模指南的基本概念和应用。 什么是用例? -------------...

    ROSE用例建模实例

    **ROSE用例建模实例** 在软件工程领域,用例建模是一种强大的需求分析工具,它能够清晰地描述系统用户、系统以及他们之间的交互。本文将深入探讨由傅纯一,IBM中国有限公司软件部Rational中国区技术销售经理提供的...

    用例建模

    在银行业务示例中,常见的用例包括查看账户余额、划拨资金、支付账款等。大学管理系统则可能涉及学生注册、课程管理、成绩录入等功能。通过具体实例,可以更直观地理解用例建模的过程和成果。 #### 基于用例进行...

    完整电子商务系统uml用例建模

    ### 完整电子商务系统UML用例建模 #### 一、引言 在软件开发过程中,使用统一建模语言(UML)进行系统分析与设计已成为业界的标准做法。本篇文档将详细介绍一个完整的电子商务系统的UML用例建模过程。通过这份资料...

    UML用例建模

    2. 确定用例:明确系统需要提供哪些功能来满足用户的需求。 3. 描述用例场景:为每个用例详细描述具体的步骤或流程。 4. 建立关系:包括泛化(Generalization)和包含(Include)等关系,它们定义了用例之间的依赖性...

Global site tag (gtag.js) - Google Analytics