登陆注册
8724600000013

第13章 软件需求分析(3)

3.4面向对象的方法(OOA)

3.4.1概述

面向对象方法是从对象的角度对系统进行分析和设计,它与传统的从功能和信息(数据)的角度对系统进行分析和设计的结构化方法和信息建模方法有着本质的区别。传统方法忽略了数据与程序之间不可分割的内在联系,而面向对象的方法能将数据和功能紧密的结合在一起,使开发出来的系统稳定性、可重用性及可维护性好。

不论采用结构化的方法还是面向对象的方法开发软件,软件产品建造的第一步就是进行需求分析:系统分析员通过与用户及领域专家的充分交流,力求完全理解用户需求和该领域中的关键性的背景知识,并用某种无二义的方式把这种理解表达成文档资料。需求可以用非形式的文本来表达,或者用形式化的文本表达,还可以用形式化程度位于此次两者之间的任意的方式来表达。

面向对象方法支持3种基本的活动:识别对象和类、描述对象和类之间的关系,以及通过描述每个类的功能定义对象的行为。什么是对象?所有的东西——包括物体、事物、活动、关系以及由它们组成的混合体,都可以看成对象。面向对象的建模,把系统分解成相互协作的对象,由定义良好的类来表达。

3.4.2UML分析设计实例

统一建模语言(Unified Modeling Language,UML)是一种通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统的文档。

以一个具体案例为线索,采用UML/OO/UP的新技术,完成需求—建模—序列图—类图的建模过程。从应用的角度看,当采用面向对象技术设计系统时,首先是描述需求;其次根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为。其中在第一步与第二步中所建立的模型都是静态的,包括类图(包含包)、对象图、组件图和分布图等4个图形是标准建模语言UML的静态建模机制。第三步中所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系。它包括用例图、状态图、活动图、时序图和协作图等5个图形是标准建模语言UML的动态建模机制。因此,标准建模语言UML的主要内容也可以归纳为静态建模机制和动态建模机制两大类。

1.需求分析

软件产品建造的第一步就是进行需求分析,根据用户对产品功能的期望,提取出产品外部功能的描述。从软件产品使用者的角度而不是开发者的角度,描述用户对待开发产品的需求,分析产品所需的功能和动态行为。对软件产品的需求分析就是定义软件系统的边界,包括两个方面的内容。

①分析软件产品与外界的联系。

②确定软件产品与外界的联系时包含动态行为及其相互关系。

在UML中,通常用支持产品外部功能描述的视图用例图来描述。

例子:通过用例描述软件系统的功能。

假定设计开发一个具有基本功能的ATM机软件:

客户可以存钱,取钱

客户可以查询余额

客户可以修改密码

客户可以使用信用卡付账

分析:需求分析的第一步是确定系统能够做什么?谁来使用这个系统?

用例图显示用例(表示系统功能)与角色(表示提供或者接收系统信息的人或系统)之间的交互。用户、项目管理员、分析人员、开发人员、质保人员都可以通过用例图来了解系统功能。

2.分析抽象用例

分析抽象用例时应从软件产品使用者的角度,而不是开发者的角度去描述开发产品的用例。UML是由系统的参与者和分析抽象的用例这两部分元素所组成。

首先,分析软件产品与外界的联系,识别出系统的参与者(代表位于系统之外并和系统进行交互的一类对象)。在任何系统中,会有一些事物存在于系统的内部,一些事物存在于系统的外部。例如该例中,账户、事物处理、验证密码都存在于系统内部,而客户、信用系统存在于系统外部并与系统有着交互。把这些存在于系统外部,并与系统有着交互行为的事物抽象出来作为参与者。系统的参与者除了可以代表作为人的软件使用者(如客户)之外,还可以代表直接和软件系统交互的软件系统赖以运行的软/硬件平台,以及与软件系统有信息交换的计算机外部设备(如信用系统)。

在指定系统参与者以后,需要详细描述系统参与者和软件系统交互的具体内容,抽象出用例(代表系统为响应系统参与者引发的一个事件而执行的一系列处理,而且这处理应该为系统作用者产生一种可见的价值)。一个用例代表系统作用者和系统的一次交互,用例的设置,就代表了软件系统的功能划分,因此必须仔细考虑每个用例代表的动态行为的内容,使得每个用例都能产生一个有价值的结果,而且使得功能的分布较为均衡、易于理解、易于使用。例如该例中存钱、取钱、付款、查询余额、改变密码。

3.画用例图

4.用例描述

用例是描述一个系统(或一个子系统)做什么,而不是说明怎么做。

1)分析角色

角色是指系统用户,与本系统交互的其他系统。

2)建立事件流

事件流的目的是建档使用案例中的逻辑流程,详细描述系统的工作。分主事件流(Main Flow of Events)和次事件流(Alternative Flow of Events),用来区分对系统功能的合法使用和非法使用。在描绘事件流时,必须用足够清晰的语言以使得一个普通的用户能够理解。

例:用例“取钱”

角色:客户

事件流:客户可以从ATM机上取出自己账目上的部分或者全部存款。

前提条件:

⑴主事件流:客户将卡插入ATM机,开始用例。

⑵ATM显示欢迎消息并提示客户输入密码。

⑶客户输入密码。

⑷ATM确认密码有效。如果无效则执行其他事件流A1。如果与主机连接有问题,则执行异常事件流E1。

⑸ATM提供以下选项:存钱,取钱,查询。

⑹用户选择取钱选项。

⑺ATM提示输入所取金额。

⑻用户输入所取金额。

⑼ATM确定该账户是否有足够的金额。如果余额不够,则执行A2,如果与主机连接有问题,则执行异常事件流E1。

⑽ATM从客户账户中减去所取金额。

⑾ATM向客户提供要取的钱。

⑿ATM打印清单。

⒀ATM退出客户的卡,用例结束。其他事件流A1:输入无效密码。

⒁ATM告诉客户该密码错误。

⒂ATM退出客户的卡,用例结束。其他事件流A2:余额不足。

⒃ATM告诉客户该账户余额不足。

⒄ATM退出客户的卡,用例结束。异常事件流E1:连接主机出现错误

⒅ATM告诉客户连接主机出现错误。

⒆ATM在错误日志记下错误。

⒇ATM退出客户的卡,用例结束。事后条件:无。

同类推荐
  • 公开时刻

    公开时刻

    本书从传播者分析,内容分析,媒介分析受众与效果分析,传播环境与传播控制分析等几大方面把汶川地震作为重大传播案例,阐释汶川地震的传播学遗产。对政府部门和新闻媒体在危机公关方面做出正面评价。
  • Delphi程序设计教程

    Delphi程序设计教程

    本书为适应不同层次读者的需要,从Delphi的基本知识讲起,由浅入深,全面讲述了Delphi的集成开发环境、Delphi的编程语言——ObjectPascal、常用组件的使用、窗体的设计、菜单的设计、对话框的设计、多文档界面程序的设计、多媒体编程和数据库应用程序设计等内容。
  • 天下一家:网络联通世界(科学新导向丛书)

    天下一家:网络联通世界(科学新导向丛书)

    《天下一家:网络联通世界》一书从网络的基本知识出发,详细地介绍了网络科技的发展与用途,还包括校园网络对普及教育的重大作用。本书内容翔实、结构清晰、图文并茂,是一本实用性极强的网上冲浪参考书。
  • 高校校园网管理与网上引导工作研究

    高校校园网管理与网上引导工作研究

    在当今的信息化潮流之下,我们不可否认互联网的出现,绝不仅仅是传送手段的变化,更重要的是它代表着一种新的社会形态——网络社会的来临。互联网已经以一种前所未有的方式渗透到现代社会的各个层面和领域,成为现代社会前进和发展的动力和工具,它推动了社会经济、文化政治实现所谓的“数字化转变”。
  • 中国3D打印的未来

    中国3D打印的未来

    自2012年以来,有关3D打印的报道屡见报端,这一新型制造技术引起了全世界的广泛关注。《中国3D打印的未来》作者、中国3D打印技术产业联盟秘书长罗军认为,中国从20世纪90年代初开始涉足3D打印技术,并取得了巨大进展,但与国外同行相比仍存在一定差距。特别是中国3D打印企业普遍存在“小而散”、各自为政的现象,如何发挥整合优势、抱团发展是目前亟需解决的问题。如果能够加强同行合作,抱团发展,形成合力,相信3D打印会成为唯一一项中国有可能赶超世界先进水平的技术。
热门推荐
  • 烽火战士

    烽火战士

    一个战士,满腔热血;一群队友,生死与共。时空的错乱,丧尸围城,暗黑力量涌入……人类,这个自诩智慧生物的种族,又将如何屹立在宇宙间?烽火已燃烧,战!(acee)
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 我在末世玩私服

    我在末世玩私服

    开局一个新手箱,神器神功全都有。易水寒:我特么直接在末世起飞,小小的旱魃而已,你特么再来十个我都搞定。
  • 异世之异能少年

    异世之异能少年

    少年睁开双眼,发现自己穿越了,不过自己也变成了能力者,他究竟会给这新世界带来怎样的风雨……
  • 至武者

    至武者

    一道惊雷,将他带到了这个光怪陆离神秘复杂的奇异世界。是命运的捉弄?还是老天的恩赐?那看似是光明希望的背后,却是万丈深渊。“你逃不掉的......这,就是你的宿命。”星宿转?命已定盘?他偏就不信!少年背负着他所能背负的种种,为了变强,为了转动命运的轮盘,为了再续同伴之间的羁绊,为了守护住他想守护住的一切......踏上了征途。纵使征途的尽头,是永恒孤寂。
  • 本王的医仙夫人

    本王的医仙夫人

    她是万众瞩目的“医仙”,自小跟随父亲学医,最终医术成了上上品。在一次机缘巧合中,被人陷害....竟转世成了废材小姐。
  • 萌猫仙途:饲主哪里跑

    萌猫仙途:饲主哪里跑

    欢小七一觉醒来饲主脱逃,还留下锦囊一封,让她两百年后去给人家当保姆。主债宠偿什么的她才不认这个理,让她当苦力,门都没有!懒于修炼又如何,你们的法宝还不是统统给我当玩具,破阵如同过家家。咦?你们想找我主人算账!正好!无良饲主快出来,把这两百年欠我的账好好清算清算!
  • 魔冰谷公爵

    魔冰谷公爵

    天才没落,隐姓埋名归来,调查,查明一切。
  • 缘在田边

    缘在田边

    我获得了一个游戏系统,里边的物品能拿出来还有了现实世界中相应的效果,还能学会里边的法术神通,能呼风唤雨还能撒豆成兵......我就可以成为这里的神了。等等,我咋还是个凡人呢?没有法力,只有法术。额!我还是猫着去修炼吧
  • 鬼道大师

    鬼道大师

    一个活人堕入鬼道的历程……一群恶鬼吃人的故事……一段寻根之旅……