资源描述
结构化分析(传统建模方法)方法分析模型:数据流图(DFD)数据字典(DD)小说明E-R图(ERD)状态变迁图(STD)面向对象分析方法分析模型:用例模型(用况模型)对象模型(概念模型)功能模型(行为模型)状态模型,分析建模方法与分析模型,概念模型,问题域中概念的描述,用一组静态结构图表达。,概念的描述记号(Symbol)代表一个概念的单词或图形内涵(Intension)一个概念的定义外延(Extension)概念应用的一组实例,概念就是一个想法、事物或对象,商店和销售领域的一个部分概念模型(UML的类图),SalesLineItem,quantity,Sale,datetime,Payment,amout,Item,quantity,Store,Addressname,POS,Records-sale-of,0.1,1,1.*,1,1,1,1.*,1,1,*,1,Captured-on,1,Paid-by,Contained,Stocked-in,Houses,属性,关联,概念,商店问题域中的概念(UML中的类),Sale,Store,POS,识别概念,候选概念类型举例,识别概念,候选概念类型举例,POS系统问题域的候选概念,POS机(POS)商品项(Item)商店(Store)销售项(Sale)支付(Payment)产品目录(ProductCatalog)产品规格说明(ProductSpecification)销售项条目(SalesLineItem)出纳员(Cashier)顾客(Customer)管理员(Manager),建立概念模型(UML中的类图)确定并定义类建立关联添加属性描述系统行为:系统顺序图等,建立关联对象之间的静态联系称为实例连接(InstanceConnection),它通过对象的属性来表现对象之间的依赖关系。面向对象术语中把对象之间的实例连接称为链接(Link),把类之间的实例连接称为关联(Association),实例连接示例及表示,教师,指导论文0,m1,学生,教师为学生指导论文:,教师,教学0,m0,n,学生,教师为学生授课:,关联关系(链属性)的表示允许实例连接带有一组属性,这些属性通过关联来描述,类1,连接名称mn,类1,连接属性,关联关系(链属性),为之工作,工资职务,雇主,雇员,个人名字身份证号,公司名字地址,题目答辩时间成绩,教师,学生,指导论文0,m1,商店和销售领域的一个部分概念模型(UML的类图),SalesLineItem,quantity,Sale,datetime,Payment,amout,Item,quantity,Store,Addressname,POS,Records-sale-of,0.1,1,1.*,1,1,1,1.*,1,1,*,1,Captured-on,1,Paid-by,Contained,Stocked-in,Houses,属性,关联,概念(类),范例:移动电话系统移动电话系统的功能:用手机做移动通讯下载铃声下载图案管理电话簿,移动电话系统的使用用例图,TalktoOthers,DownloadIcons,ManagePhonebook,DownloadRings,Mobileuser,MobileNetwork,定义移动电话系统的对象(简化)手机包括的对象:手机屏幕手机按钮手机(屏幕、按钮以外的部件)其它对象:基站,MButton,MDisplqy,MmobileStation,MmobileHandset,移动电话系统的类图,移动电话系统对象间的通信,MButton,MDisplqy,:MMobileStation,:MMobileHandset,Mobileuser,1:pushDigButton()3:pushSendButton(),2:displayButtonNumber(),4:connectStation(),7:displayConnectSuccess(),6:connectSuccess(),5:createConnection(),移动电话系统的协作图,移动电话系统的顺序图,:MButton,:MDisplqy,Mobileuser,pushSendButton(),displayButtonNumber(),displayConnectSuccess(),connectSuccess(),createConnection(),pushDigButton(),connectStation(),:MMobileStation,:MMobileHandset,MButton,MDisplqy,MmobileStation,MmobileHandset,移动电话系统的类图之二,pushDigButton()pushSendButton()pushDisconnectButton(),createConnection()destoryConnection()responseError(),displayError()displayButtonNumber()displayConnectSuccess()displayIncomingCall(),connectStation()disconnectStation()connectSuccess()Diaconnectsuccess(),对象模型技术(OMT,ObjectModelTech),对象模型,动态模型,功能模型,基本模型:,三个模型分别从不同角度分析系统,分析模型对象模型:描述静态结构,定义做事情的实体功能模型:描述处理(数据变换),指明系统应“做什么”动态模型:描述交互过程,规定什么时候做,OMT模型系统分析和设计过程概观图,产生需求,结构及对象设计,建立模型,问题描述,对象模型、动态模型、功能模型,详细的对象模型详细的动态模型详细的功能模型,分析阶段,设计阶段,实例:饮料自动售货机系统设置一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。销售顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。顾客按键后饮料由取物楼掉出,并自动结算及找钱。取消交易顾客可在按下选择键前任何一个时刻,拉动退币杆取消交易收回硬币。,步骤:(1)找出对象及其关联(2)赋予类及关联的属性数据(3)组织类的结构,OMT的对象图,找出饮料自动售货机系统中的对象设置一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。销售顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。顾客按键后饮料由取物楼掉出,并自动结算及找钱。取消交易顾客可在按下选择键前任何一个时刻,拉动退币杆取消交易收回硬币。,对象模型描述系统内部对象结构,包括对象本身的定义、对象的属性、操作,以及对象与其它对象之间的关系。对象模型是OMT方法论中最重要的部分,动态模型、功能模型都将依次而建立对象模型以对象图形式呈现,对象图由类构成。,饮料自动售货机系统对象图,贩卖机,饮料号码价格,投币-接受饮料掉出金额显示按纽退币杆售完显示,存量计算器,饮料号码存量,递减售完显示重置,选择钮,选择钮状态,灯亮灯熄售完灯亮按钮,顾客,姓名硬币,投币-置入拿取饮料,退币杆,退币杆状态,拉动,金额计算器,金额,累加找零重置,购买,选取,被拉动,属于,属于,属于,属于,建立数据字典为所有模型实体准备一个数据字典,精确描述每一个对象类,包括:成员约束关联、属性、操作,动态模型用来描述系统与时间相关的动态行为即系统的控制逻辑,表现对象彼此间经过相互作用后,随时间改变的不同运算顺序。动态模型以“事件”(Events)和“状态”(States)为其模型的主要概念。动态模型以状态图形式呈现,,事件:瞬时发生的行为;引起对象状态转换的控制信息。事件类和属性举例:飞机起飞(航线、航班号、城市)按动鼠标按钮(按钮、位置).,脚本和事件踪迹脚本是系统某一次特定运行时期内发生的事件序列。(脚本也叫场景)事件追踪图侧重说明发生于系统执行过程中的一个特定“场景(scenarios)”。,通话脚本(只包括影响电话线的事件),17.打电话者挂断电话,16.电话切断,15.接电话者挂断电话,14.通电话,12.接电话者电话停止振铃,13.铃声在打电话者电话中消失,11.接电话者回答,10.铃声在打电话者电话传出,9.接电话者的电话开始振铃,8.打电话者拨数字(3),7.打电话者拨数字(7),6.打电话者拨数字(3),5.打电话者拨数字(2),4.电话忙音结束,3.打电话者拨数字(8),2.电话忙音开始,1.打电话者拿起听筒,状态:对象属性和对象关联的抽象形式状态的特征表示方法举例:状态:闹铃响描述:闹铃响表示预定时间到产生本状态的事件序列:设置闹钟(预定时间)不包括清除闹铃的任何后续操作当前时间=预定时间表征本状态的条件:闹铃=开,从预定时间起没有按键的情况下,目标时间当前时间目标时间=20秒本状态接受的各种时间:事件动作下一个状态当前时间=目标时间+20重新设置闹钟正常按下按钮(任意按钮)重新设置闹钟正常,动态模型表示方法,状态图状态和事件的网络,侧重描述每一类对象的动态行为。,状态图,状态1,Do:活动1,状态2,.,事件1条件1/动作1,结束事件,初始事件,空闲,可视菜单,左边按钮按下/显示弹出菜单,左边按钮弹起/擦除弹出菜单,光标移动/高亮菜单项,弹出菜单动作,例:,举例:饮料自动售货机系统的状态图,投入硬币(有效的),按下选择饮料键,Do:显示售货机在备用所有灯都关闭,Do:显示金额总数,Do:显示金额已够饮料选择灯亮,取出饮料结算找零扣减存量完成交易,饮料“售完”灯亮,投入硬币金额(1元、5元、10元),金额不足再投币,存量为零,无效的硬币,取消,取消,回到备用状态,回到备用状态,事件追踪图举例:打电话的事件追踪图,挂断电话,电话切断,挂断电话,通话,通话,停止振铃,停止振铃,响应电话,电话振铃,铃声,拨号(3),拨号(7,拨号(3),拨号(2),电话忙音结束,拨号(8),电话忙音开始,拿起听筒,电话线,接电话者,打电话者,存量为零,找零,扣减存量,灯亮,余额,饮料,结算,选择键#,选择按纽,灯亮,金额总够,显示总额,总额,累加,投入硬币,金额计算器,存量计算器,顾客,售货机,选择键,举例:饮料自动售货机系统的事件追踪图,售完灯,3.功能模型用来描述系统中数据的变换。传统DFD+控制流,对象A,对象B,过程1,过程2,数据存储区,控制流,数据流,基于三个模型的分析步骤需求陈述对象建模动态建模功能建模添加操作反复建模,OMT支持整个软件生命周期:需求分析、系统设计、系统实现、测试与维护。,1.分析阶段理解应用问题,建立对象模型、动态模型和功能模型,说明对象关联、控制流及数据变换。2.系统设计阶段确定系统框架,考虑并发任务、通讯机制和数据存储策略。3.对象设计阶段从实现的角度细化分析对象模型、动态模型和功能模型,OMT方法的特点:,开发重点在分析阶段强调数据结构而不是功能形式化描述能力强开发步骤的衔接良好重复性的开发过程,软件需求说明书(SRS),(SoftwareRequirementSpecification)需求分析阶段要完成的文档。SRS的作用:开发者与用户间事实上的技术合同书开发者下一步设计和编码的基础测试验收目标系统的依据,SRS大纲,1引言1.1编写目的1.2背景1.3定义1.4参考资料2任务概述2.1目标2.2用户的特点2.3假定盒约束3需求规定3.1对功能的规定3.2对性能的规定3.3输入输出要求3.4数据管理能力要求3.5故障处理要求3.6其他专门要求,(GB9385-88),4运行环境规定4.1设备4.2支持软件4.3接口4.4控制,
展开阅读全文