面向对象软件工程建模实例.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象建模实例 ——图书管理系统 面向对象的软件工程,同传统的面向过程的 软件工程相比,在需求的获取、系统分析、设计 和实现方面都有着很大的区别。UML是OOA和 OOD的常用工具。使用UML来构建软件的面向对 象的软件工程的过程,就是一个对系统进行不断 精化的建模的过程。这些模型包括用例模型、分 析模型、设计模型,然后,我们需要使用具体的 计算机语言来建立系统的实现模型。 关于这个图书馆系统,基本的需求比较简单, 就是允许学生可以在图书馆借阅和归还图书,另 外,也可以通过网络或者图书馆的终端来查阅和预 订书。当然,图书馆管理员也可以对图书进行管 理。 一、用例模型——系统需求的获取 用例模型定义系统做什么,是用来获取系统需求 的有效手段。用例模型由“角色”和“用例”组成。我 们在构建一个用例的时候,通常要做的第一件事情 是识别角色,或者说,参与者。然后我们需要识别 系统为参与者提供的服务,或者说,参与者的行 为,也就是用例。最后,我们确定角色和用例之间 的关系。 在这个图书馆系统中,我们可以识别出的角色有 学生和图书管理员。整个用例模型包含的用例有: 借书、还书、查阅图书、预订图书,以及图书维 护。用例模型可以用用例图表示如下: 确定有效用例的关键是,检查用例是否包含了一个 完整的功能。用例不能定的过细,不能把一个完整的功 能的一个部分作为一个用例,也不能在一个用例中包含 过多的功能 。例如,用户的登录。学生在预定图书的时 候,可能会需要首先登录系统,这是系统的一个功能。 但是,这个功能只是预定图书这个完整的功能中的一个 步骤,或者说一个子功能,就不适于做成一个用例。另 一方面,借书和还书,都是相对完整的功能,如果把这 两个用例合并成一个类似于“处理图书”的用例,显然是 不能明确的表达用例需要表达的含义的。 (1)描述用例 需要了解的是,使用UML进行面向对象的系统建 模,并非只是意味着画UML图形,对UML图的文档说 明是同样重要的。在描述用例时,我们可以用文字来描 述,也可以用其他图形来描述,例如,顺序图或者活动 图等等。 下面,我们对借书这个用例来做描述: 名称:借书 说明:学生在图书馆挑选好需要的图书后,通过图书管理员把书借回去 参与者:学生,图书管理员 频率:每天可能会有很多次。最繁忙的情况是,借书的人非常多,按照现在的速度,大约每分钟完成一个人的结束工作 前置条件:无 后置条件:修改所借出的图书的剩余数量 假设:借书者总是从图书馆找到书,然后才能拿书办理借书手续,因此,总是有足够的书可以出借 基本操作流程:借书成功 1)学生将所借图书和借书证交给图书管理员 2)图书管理员将学生借书证号码和所借图书输入 系统 3)系统校对借书信息,比对该学生以往借书情况 和当前借书情况,如果不存在不允许借 书的情 况,则记录借书交易的信息,并且修改相应的 馆藏图书的数量信息 4)如果该学生已经预订了这本图书,则撤销该预 定 5)报告交易成功 可选操作流程:所借图书超出最大借书数量 1)学生将所借图书和借书证交给图书管理员 2)图书管理员将学生借书证号码和所借图书输入系 统 3)系统校对借书信息,比对该学生以往借书情况和 当前借书情况,发现已超出最大借书数量,则停 止当前交易,并且提示用户错误原因 4)图书管理员可以应学生的意见,减少借书数量, 并重新提交系统 用活动图进行描述 二、分析模型 用例模型是从最终用户的角度来看待问题,而分析 模型是从开发者的角度来描述问题。用例模型的主要工 作是描述现实世界的业务流程,而很少会涉及系统的概 念。分析,则是从系统的角度来来看待软件应该为用户 提供的服务。 分析仍然停留在“做什么”的层次。 (1)静态模型的建立 进行分析建模的第一步,通常是识别对象,然后提 取出类。对象识别的结果,就是我们所需要的静态模 型,通常表现为类图。 首先识别出实体对象,这些对象通常来说是比较明 显的,例如系统中的角色,系统需要处理的资料,如本 系统中需要处理的图书资料等;有些实体对象需要稍微 分析一下才能得到,例如,在本系统中,为了记录图书 借还的信息,我们可能需要一个对象来专门记录这一信 息。 这些对象就是所谓的Entity(实体类)。 然后我们需要识别为了完成系统业务逻辑而需要的 业务逻辑对象,以及同用户进行交互的界面类, 即 Co

文档评论(0)

zyg_2930102 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档