登陆注册
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退出客户的卡,用例结束。事后条件:无。

同类推荐
  • 下一代互联网

    下一代互联网

    本书系统介绍了下一代互联网的进展情况,包括下一代互联网的概念解析,国内外下一代互联网的最新发展情况,下一代互联网的关键技术进展,以及各国发展下一代互联网的政策计划。最后分析了下一代互联网对未来社会的影响,提出我国发展下一代互联网的政策建议等。全书共6章,包括互联网发展历史和现状,下一代互联网基本概念,下一代互联网研究最新进展,下一代互联网发展现状,我国发展下一代互联网现状,发展下一代互联网战略建议。
  • 音视频合成制作

    音视频合成制作

    本书共分4篇6章,其中第1篇简介音视频合成的编导基础,第2篇主要介绍SonyCinescore1电影音乐自动合成,第3篇主要介绍Vegas7.0音视频剪辑合成,第4篇主要介绍AdobeAudition2.0、CakewalkSONAR6和SteinbergNuendo3的音视频合成。本书可以作为音乐、美术、动画、舞蹈、影视、戏剧等艺术院校视听艺术合成制作课程的教材,也可以作为相关人员的自学用书。
  • 智能计算方法概论

    智能计算方法概论

    本书以智能计算领域的若干前沿技术为主线,内容包括数字水印技术在版权保护区和身份认证中的应用,量子算法在信号处理、图像处理中的应用,量子数据挖掘技术,小波方法在医学图像处理中的应用等。
  • 天下一家:网络联通世界(科学新导向丛书)

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

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

    异界枪神

    见过穿越的,没见过带着手枪穿越的。什么?没见过?那你落伍了,快来看看带着手枪在异界混是什么样吧!原本是顶级枪手的林清寒,意外穿越到了异界,在这剑与魔法的世界,枪还同样有效么?唔,抱歉,忘了告诉你,枪也发生变异了!—————————————————————————————1群:17994515(已满)2群:71870234(已满)3群:70549863(已满)4群:57536001(未满)5群:23552134(未满)6群:57483548(新建高级群)
  • 快穿攻略宿主她总想变男人

    快穿攻略宿主她总想变男人

    沈安乔她被一抹白光给吸进去了,吸进去就算了,还被自称系统小七的玩意儿给绑定了,阿西,她堂堂一只九尾狐怎么可能听它的!小七:“不做任务抹杀!”嘤嘤,宿主不听话,它只能威胁了!沈安乔:“呵呵,老娘不怕你!”小七:“有美男给你攻略!”沈安乔:“成交!”小七默默偷乐。沈安乔:“小七七,伦家想变一次男孩子去攻略女生,好不好~”小七抖了抖自己那串数据,宿主真肉麻,它好想呕。小七叹气:“就一次哦~”沈安乔拼命点头……某反派,总觉得自己头上绿油油的……
  • 冷酷校草的黑道公主

    冷酷校草的黑道公主

    她,冷酷,她,活泼可爱,她,温柔。他,冷,他,温柔,他,花心。他们之间会发生什么呢?究竟是一帆风顺,还是百般折磨。
  • 山河不长诀

    山河不长诀

    倘若时光倒流,你我的初衷流转,倘若我再有勇气走向你,这一世,将是怎样的结局。
  • 霸道女王:痴情老公带回家

    霸道女王:痴情老公带回家

    【抱歉,此书暂停更新,后续故事在《恶魔宠上瘾:宝贝来亲亲》中继续上映,万分抱歉】一个不小心,喜欢了个人,可他不是我的王子。我的王子是陪我出生入死的那一个,是给了我生命的那一个,是一直跟着我的那一个。“你个混蛋!我差一点就要嫁给别人了!”他却是勾起一某邪魅的笑,“撩了你这么久,终于开窍了。”
  • 绝世神女惊天下

    绝世神女惊天下

    ★双强,一对一★她,对过去一无所知的杀手,浑噩活着,心性冷漠。偶然间,来自异世界的神秘银发少女,救赎了她。为了自己,亦为了那个‘约定’,少女踏上修仙之途。某位高贵的神祗,为了她舍弃所有,只为韶华不负。此去经年,应是良辰好景虚设。冥冥中的因与果,在既定的命轮流转。这次,又是否可以打破枷锁,谱写新的篇章?那不为人知的‘真实’,是否能真正看清?
  • 颜雨浮华

    颜雨浮华

    白玉终有微瑕,剪断思念成灰。忘却未必旧由,但恨离宫深醉。华光刹那盛放,心殇独自凋零。我望着他,已知他遥不可及,可却不能抑制住那萌动的芳心。愿至君翻腾成龙,享尽一世荣华;他明明知道,亦于真心错付她人。她如何能做到亦无怨也无悔,漠然地离开了他。错过终是错过,有人把握了她。可她的心,已然死去,那个他愿意又有何用;但那个他愿放弃一生,誓死追随,能否打动她的冷心呢?心愿何兮?终看谁可夺取芳心!
  • 情商力

    情商力

    情商力,是运用情商来帮助自己在人生中各个方面成功的能力。要运用好情商力,首先要懂得什么是情商。情商,是指一个人掌控自己和他人情绪的能力。它包含了了解自己情绪、控制自己情绪、自我激励、了解他人情绪和维系良好人际关系这五方面的能力。情商力就是这五种能力的综合。为了让每位读者更迅速有效的掌握情商力,更快更好的应用到我们生活与工作中来,笔者在此基础上对情商与情商力又进行了深入的分析、归纳与总结,重新建造了一个“情商力模型”。期待每一位读者都能自如的应用情商力,帮助自己更好地生存、发展和取得更多的成功。
  • 婚姻进行曲

    婚姻进行曲

    女儿都是父母手中的宝,特别是身为80、90后独生子女一代,在家谁不是公主,父母都是捧在手心上的,可是嫁了人当了人家媳妇,待遇和在家或多或少是不一样的。当婆婆的,也是很爱自己儿子的,怕媳妇来了抢了自己的儿子,更希望儿媳妇能百依百顺,伺候好儿子,孝顺公婆,可是就是没想到,你的儿媳妇也是人家的宝贝闺女,人都有私心,只是别太过头了。婚姻对女人的一生很重要,老话说得好:“男怕入错行,女怕嫁错郎!”,如果遇见一个恶婆婆但是有一个懂得调和矛盾,疼媳妇的老公还算幸运,如果遇见一个不负责,自私的还没断奶的男人外加一个奇葩婆婆,那么婚姻就是一场没有硝烟的战争。
  • 皇子培养计划

    皇子培养计划

    楚烨从来不知道,自己竟然被偏爱的有资格,直到他在昏暗的夕阳下看到了那一袭青衣,温柔了时光。武力高强的鬼魂女将军×腹黑皇子女主最后会重新拥有人的身体。