




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
11UML基础、建模与应用习题及答案一、程序设计阶段(1946年~1955年)二、软件作坊阶段(1956年~1970年)三、传统软件工程阶段(1970年至今)3.传统软件开发方法包括哪6个阶段?答:需求分析->设计->编码->测试->实施->维护4.什么是软件过程?典型的软件过程有哪几种?22答:在软件开发过程中产生的所有物理型事物称为制品。例如,需求文档、分析文档、设计文档、可执行的程序、各种库、各种构件、表、文件等等都是制品。按照软件开发周期,可将制品分为需求制品、分析制品、设计制品和实现制品。时间维(包括四个阶段),纵轴表示工作流(包括9个工作流)。四个建模元素的主要对象:角色、活动、产品、工作流。33内容组织迭代迭代:达代和迭代2代内容组织迭代迭代:达代和迭代2代初始细化配置-法i迭代:迭代物法i迭代:迭代物44一.简答题1.什么是UML?答:UML(UnifiedModelingLanguage,统一建模语言)是一门可视化答:在面向对象的软件开发过程中,常用UML对系统的产品进行说明、可视化和文档构建和书写面向对象的软件制品。2)UML最适用于数据建模、业务建模、对象建模和组件建模。3)UML语言应用于软件开发周期的每一个阶段。其已被OMG作为业界标准。建立之后,模型可以被UML工具转化成指定的程序语言代码。1)业务模型:展示业务过程、业务内容和业务规则的模型。采用对象模型表示业务模2)需求模型:展示用户要求和业务要求的模型。需求模型常由用例模型表示。和组成;详细设计模型展示软件微观组成和架构。详细设计模型常由对象模型展示。4)实现模型(也称为物理模型描述了软件组件及其关系(常由构件图和部署图组5.常用的UML工具有哪些?55二.填空题语言其数量从不到十种增加到了(五十)多种。3.UML的定义包括UML语义、UML规则和(UML表示)三个部分4.UML工具是帮助软件开发人员方便使用UML的软件,它的主要功能包括:支持各种UML模型图的输入、(编辑)和存储;支持正向工程和(逆向工程);提供和其他二.简答题答:不可以答:接口5.类图与对象图有什么关系?答:对象图可以看作是类图的实例化,用来表示对象在一时刻的状态。6.组合结构图用途是什么?66图是一种静态结构,它展示了一个类目内部的成员及成员之间的关系。1)接口是操作的集合,接口细分为供给接口和需求接口。2)端口是对接口的封装,即,把一组供、需求接口看做一个整体。3)一个构件由内部部件和链接件组成。部件是构件的实现单元,部件也可能是一个构件的实例。部件有名字和类型。链接件可能是接口,也可能是构件实例。三.填空题8.接口的构造型是(《Interface》)。9.外部类写在(锚头)一端,另一端是内部类。10.关联的属性包括名称、(角色)、多重性、限定和导航。11.在单向关联中,箭尾端的类称为(源类),箭头端的类称为(目标类)。13.链接表示两个(对象)间的关系。对象是类的一个实例,链接是(关联)的实例。14.对象间的关系有两种:(单向链接)和双向链接15.端口必须有(供给接口),可以没有需求接口。16.一个构件由内部部件和(链接件)组成,部件是构件的实现单元。部件有名字和(类型)。三.简答题772)包是版本控制和管理的的基本单元。方便跟踪和管理。3)设计阶段。包作为任务分配的基本单元。如,多个设计小组同时对几个相互独立包中的类进行详细设计。4)实现阶段。包作为逻辑空间划分的基本单元,方便编程。答:系统、子系统、子包、用例、构件、接口、协作、类和图。简单名:仅写出包的名字,没有列出外围包名全名:包名字前列出了外围包的名字UML语言为包提供了5种标准构造型用《stub》修饰的包是一个代理包,即,代理其它包的功能。用《framework》符号修饰的包是一个窗口7.绘制包图一般需要哪几个步骤?答:寻找候选包->调整候选包->指定包中元素的可见性->迭代消除包循环依赖8818.在分析阶段,以对象模型(或者用例模型)为依据,把关系(紧密)的类(或者用例)分到同一个包中,把关系(松散)的类(或者用例)分到不同的包中。20.若两个包之间是《import》依赖,则提供者包中的(公共)就成为客户包中的公有元素,公有元素在包外是(可以访问的)。21.若两个包之间是《access》依赖,提供者包中的公有元素就成为客户包中的(私有)元素,这些私有元素在包外是不可以访问的。22.包间的泛化关系类似于类间的泛化关系,子包继承了父包中的(公共元素)和保护元素。23.《trace》表示客户包从提供者包进化而来。《trace》表示(模型)间的关系,不是表示元素间的关系,客户包与提供者包属于两个不同的(抽象级别)。关系使客户包和提供者包的命名空间合并成(一个包),如果两个包中的元素具有相同名称将会导致命名空间的(冲突)。25.依赖关系用一个虚线箭头表示,箭尾端的包称为(客户包),箭头端的包称为(提供者包)。1.控制焦点代表了什么?顺序图中的对象有哪两种状态?99下端代表执行即将结束。当对象处于控制焦点处时,代表对象处于激活状态,否答:顺序编号和嵌套编号同步消息中,发送消息的对象要等待接收消息的对象执行完所有的操作后,才能继续执行自己的操作,用实心箭头表示。异步消息中,发送消息的对象无需等待接收消息的对象是否执行操作,便可继续执行自己的操作,用开发箭头表示。箭头都由发送消息的对象指向接收消息的对象。顺序图:主要元素:对象、生命线、控制焦点和消息。协作图:基本元素有:活动者(Actor)、对象(Object)、链接(Link)和消息答:顺序图与协作图都表示对象之间的交互作用,只是它们的侧重点有所不同。3)协作图强调了对象在交互中承担的角色,但对象在交互中的先后顺序必须从消息顺序号获得。的相对时间,协作图没有这些功能。三.填空题27.对象交互形成的控制流程有三种,它们是:分支、(并发)和循环。。28.一个区域就是一个(长方形框表示)。区域之间用虚线隔开,每个区域拥有一个监护条件和一个(复合语句),监护条件写在(中括号)中。32.critical组合区也称为“临界区域”。在临界区域中所有的操作要么(全部成功执行),要么都不执行。33.ref操作符用于引用其他的图,被引用的图的名字写在(ref矩形框)中央。34.协作图用一个迭代符(*)和迭代子句(可选)来表示循环。六.选择题(A)泳道(B)动作状态(C)对象(D)活动状态2.活动图中的开始状态使用表示(A)菱形(B)直线箭头(C)黑色实心圆(D)空心圆3.UML中的用来描述过程或操作的工作步骤(A)状态图(B)活动图(C)用例图(D)部署图4.技术是将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组成内的活动(A)泳道(B)分支(C)分叉汇合(D)转移七.简答题答:文字格式和表达式。2.简要说明输入转换和输出转换的含义;答:转换对于目标活动节点来说是输入转换,对源活动节点来说是输出转换。答:菱形框与实线开箭头中断区:收到某一中断事件后,某些活动将会终止,将这些将要终止的事件组成一个区域,这个区域就是中断区。中断区用虚线框表示。中断边:中断边连接着中断活动置于中断区中,当控制焦点处于中断区时,若中断活动收到一个中断事件后,中断区内的所有活动停止执行,控制焦点转向控制边。八.填空题35.仅当所有的并发(输入)转换都在汇合线段上集合后,汇合线段上的输出转换才36.泳道用来标识活动的(执行者)。用活动执行者的名称作为(泳道)的名字。38.别针也是一个(小方形框),其图形符号是一个更小的方框。39.中断区的图形符号:用虚线绘制的(虚线框)表示中断区。40.用三角形与(小方块)一起表示异常别针。41.输入扩展节点绘制在扩展区的(左边界)。输出扩展节点绘制在扩展区的(右42.Iterative顺序)处理集合中的每个对象。当所有对象处理完并在输出扩展节点上组成(对象集合)后,才能向外流出。43.Parallel并行)处理集合中的每个对象。当所有对象处理完并在输出扩展节点上组成对象集合后,才能向外流出。44.Stream逐个)处理集合中的每个对象。每个处理完的对象到达输出扩展节点直接向外流出。45.信号是一种表示对象之间通信的(异步消息)消息,有3种信号,它们是(时间信号)、(发送信号)、(接收信号)。46.发送信号发出一个异步消息。对于(发送者)而言是发送信号,对于(接收者)而言是“接收信号”。九.简答题答:定时图是特殊的顺序图,都强调了以时间为顺序。但定时图用活动图细化了顺序图中某些重要对象的行为。2.对饮料机的售卖过程,制作一张交互概况图(分别用两种图绘制);1:投入钱币2:获得钱币3:检查存货4:有存货更新余额7:分发饮料8:返回现金仪投入钱币且益前速钱币记量且益前速位k吐出饮料=3.对ATM的取款过程,制作一张交互概况图(分别用两种图绘制);1:发出取款请求5:余额不足7:余额充足8:种除相应金额2:理示程我共意突出规金,提示根教成可1:将水放上灶台2:点火加热3:水沸腾5.请绘制图书馆书籍借还定时图,要求与借书人员的邮箱状态关联起来,例如,当书6.请说明异常、事件、消息和信号之间的区别与联系。2)信号(signal)是是消息传递的形式,比如3)信息(information)是指传达给人消息是信息的形式,信息是消息的内容,而信号则是消息的表现形式。答:两者用途不同。构件图是用来描述系统的静态实现视图;部署图是用来定义系统8.举例说明部署图在系统分析阶段、设计阶段的应用。2)描述与本系统相关的其他系统及其关系。4)描述一个组织的硬件/网络基础结构设计嵌入系统的硬件和软件的结构例如:结点通常拥有内存,并具有处理能力,计算机可以是一个结点,构件提供了一组接口的实现,主要有所需求与供给的都可以是构件,如冰箱可以保存食物鲜度,但需要不同:构件是系统执行的主体,而结点是执行构件的物理平台;构件是逻辑部件。而五.填空题47.交互概况图是将(活动图)和顺序图嫁接在一起的图。定时图是一种特殊的顺序48.定时图的纵轴由对象的(状态)构成,横轴表示(时间),时间由左向右延伸;49.定时图的主要元素:对象、(水平线)和垂直线。50.定时图的水平线表示(对象所处状态),垂直线表示(对象所处时间)。),54.部署图可以展示物理结点之间的关系,也可以展示构件在(物理结点)上的部署十.简答题答:状态指事物表现出来的形态,一般用一个属性值或者一组属性值度量对象的学生、中学生或大学生,但当你是其中一种时,其它两种便不可能是你的互斥子状态内包含多个子状态,当复合状态激活时,有两个或多个子状态处于活动状态,即子状态之间是并发关系。例如:进入大学学习,想要毕业必须修读完自己专业的必修课程,除此之外为了满足学分要求还得自行选修公选课或参加社团等行为增加自己的学分以达到毕业标准,三者可同时进行。外部迁移进入复合状态时,状态便恢复到上次离开复合状态时的子状态,并执行历史状态的入口动作。好比做嵌入式实验,需要连接实验箱与在终端处理文件并将文件传入实验箱中。若在实验到后半段的编码过程中,发现没有配置环境而导致实验暂停,便将此处记为历史状态,等到配置好环境后,再从此处继续实验而不是从头开始。便是走去吃饭,argument便可代表走的速度,是要走着去吃饭还是跑去吃饭6.通过例子说明内部调用事件和外部调用事件的含义;内部调用事件:事件没有引起对象状态的改变;取款时,当余额大于所取金额时,便直接从余额扣取相应金额,没有发生状态的改变,仅改变了余额的数值扣除相应金额,对象账户便进入无法提款的状态,提示无法取款六.填空题55.一个状态图包含的元素:初始状态、终止状态、(状态)、迁移和判决点。发某个动作并将条件表达式的值再次设置为(false),然后继续测试条件表达式的值,如59.动作在执行时不能被(中断),动作分为(入口)动作和(出口)动作,60.内部迁移是指对象状态(没有发生改变)的前提下执行的动作。61.自动迁移发生时对象(离开)源状态后又回到源状态。自动迁移会执行(入口)62.子状态之间的关系有两种:(并发关系)和(互斥)关系。63.如果复合状态中的子状态是(互斥)关系,那么复合状态只包含一个状态机。字母“H”外绘制一个小圆圈表示历史状态十一.简答题1)按照标准定义接口构件按照标准定义接口。2)构件实现了供给接口的功能构件必须实现供给接口声明的服务。不同构件的部署方法不同。必须按照标准部署构件。接口:接口分为需求接口与供给接口。供给接口规定了构件所实现的功能,构件都有供给接口;需求接口是一种形式上的存在,对于构件的供给接口,哪些构件需要其功能便是其对应的需求接口。好比:不会英语的人和翻译器,两者都是构件,后者可以翻译英语,这便是翻译器的供给接口,而人的需求接口便是对翻译的需求。端口:端口是对一组接口的封装,即把一组相关的供给接口和需求接口封装成一个整体。端口必须有供给接口,可以没有需求接口。好比可以把各种各样的语言翻译封装接口决定来定义。另外该构件的需求接口需要其它构件来满足其需求。好比:翻译器是一个构件,其供给接口可以翻译语言,其需求接口需要以电为其供能。由《entity》修饰的构件是实体构件。实体构件能保存永久信息。实现了构件功能,没有提供接口说明。无状态的构件,执行计算功能的构件。7)构造型《subsystem》子系统级构件,构件代表一个子系统。4.举例说明隐含接口的构件和展示接口的构件的表示法;2)在矩形框的右上角放置一个构件图标,图11-10(b)3)直接使用构件图标abCapeibpiiC七.填空题66.构件图中的关系有:构件之间的关系、(接口)之间的关系、构件和接口之间的67.提供服务的构件称为(提供者),使用服务的构件称为(客户)。268.在设计阶段必须把构件之间的依赖关系解耦为(实现)接口和(使用)之间的关72.类是对一组对象共同特征的抽象和描述,而制品是计算机上比特流的(封装)。十二.简答题答:参与者、用例、关系2.用例图中的参与者属于系统的成员吗?答:不属于,参与者来自系统外部3.举例说明用例与场景之间的关系。答:参与者为了实现某种目标,需要执行一系列操作,这些操作的集合称为场景。即场景是用例的一次完整的执行路径。4.举例说明用例之间的三种关系。2)扩展关系设置“取款”为基本指令,若设置取款上限,那超过取款上限后就需要提醒取款失败并显示超额取款。取款包含于这条指令之内。在购买商品时,可以选择多种支付手段:现金支付、银行卡支付、信用卡支付。可以将其泛化成支付5.举例说明组织用例的全过程。将大的用例分解为多个小用例,将多个小的用例合并为一个大用例。如果一组用例中有相同的操作,就把相同的操作抽取出来封装为包含用例;将一个用例分解为两个用例后,其中一个用例有条件地调用另外一个用例,在通过分析和整理后,系统就由一组基本用例、包含用例和扩展用例组成。抽象用例,两个基本用例和登录账户是包含关系,超额取款是取款的扩展用例。6.举例说明寻找参与者、寻找用例的过程。参与者:参与者是系统外部的一个实体。参与者请求系统执行用例,以获得参与者需要实现的目标。重点是系统外部的实体,并可以请求执行用例,系统的用户是参与者,系统的管理员也是参与者。用例:用例是对一组场景共同行为的抽象和概括,场景是用例的一次完整的执行用例相当于一个函数,场景相当于函数的一次执行过程。八.填空题74.用例图主要用于对系统的(功能)建模。75.参与者的名字要用(角色)表示,不能是一个具体的对象名表示。77.用例之间的关系有:(包含)关系、扩展关系和(泛化)关系。81.参与者和用例是一种双向的(通讯)关系,用一条(实线)表示双向通信。十三.简答题答:双向工程包括正向工程和逆向工程。正向工程把设计模型转换为代码框架,开发者不需要编写类、属性、方法代码。逆向工程是指把代码转换成设计模型。一旦某些代码被修改,采用逆向工程将修改后的代码转换为设计模型2)语法检查5)备份文件九.填空题1.正向工程把设计模型转换为(代码框架),开发者不需要编写类、属性、方法等代码,只需在方法体中编写相应的(语句),实现方法的功能。2.一旦某些代码被修改,采用逆向工程将修改后的代码转换为(设计)模型。3.Rose工具能够使代码与UML模型保持一致,每次创建或修改模型中的UML元素,系统都会自动(生成代码)。4.Rose会将java文件与模型中的(组件)联系起来。因此,Rose要求模型中的每个Java类都必须属于组件视图中的某个(Java组件)。中进行(逆向)工程。1.请对ATM系统进行领域建模和用例建模领域建模:银行未注册用户可以通过用户名、密码和手机号成为注册用户并生成相应账银行客户可以登录账户,使用ATM系统取款、贷款、存款、查询自身账户所剩余额,并修改自身账户的密码,可以给他人账户转账。银行职员可以查看行内监控,并在合适时机为ATM机添加现金以保持正常运转,还要日常维护ATM机以保证其能正常工作。收款由信用系统通过ATM机完成完成,客户信用等级决定了贷款金额。注册用户(扮演角色)银行职员(扮演角色)信用系统(扮演角色)未注册客户(扮演角色)银行客户(扮演角色)账户(概念)监控(概念)ATM机(概念)类定义注册用户(knowcustomer)这个类的属性有用户名、口令、手机号码。银行职员(worker)负责维护ATM机与查看监控确保银行内秩序的正常。这个类的属性有用户名、口令。信用系统(Creditsystem)流程最后的收款者,并评估用户的信任等级以决定其可贷款金额未注册客户(unknowcustomer)仅能了解银行的消息与基本功能,无法使用银行的功能。监控(monitor)监控行内行为,预防恶性事件的发账户(account)用户注册后获得一个账户,该类有属性:账户号,手机号,口令。ATM机(ATM)集成了各种功能的机器,客户享受银行服务的重要保证。银行客户(customer)银行的用户,可以通过登录ATM机完成取款、存款、查询自身余额,并修改账户的密码,转账等操作。这个类的属性有用户名、口令、手机号码和信用等级。动作短语关系说明银行客户与银行职员都是注册用户继承使用ATM系统取款、贷款、存款、查询自身账户所剩余额,并修改自身账户的密码,给他人账户银行职员可以查看行内监控银行职员需要日常维护ATM机以保证其能正常工作未注册用户可以通过用户名、密码和手机号成为注册用户并生成相应账户成为注册用户并生成相应账户收款由信用系统通过ATM机完成111worker11knowcustomerUsecreditsystemUsemonitor11changepasswd0cdllection()Maijtainworkerusemamepasswd1x()了解银行消息未注册用户测览银行功能注册注册用户:浏览银行功能银行客户:注册用例名称注册用例id参与者未注册用户描述通过输入用户名、口令与手机号成为注册用户。2.了解银行消息用例名称了解银行消息用例id参与者未注册用户,已注册用户描述了解银行提供的基本消息用例名称浏览银行功能用例id参与者未注册用户,已注册用户描述了解银行提供的基本功能用例名称用户登录用例id参与者注册用户描述通过输入用户名与口令登录账户5.存款用例名称存款用例id参与者客户描述机存入银行账户之中6.取款用例名称取款用例id参与者客户描述机从账户中取出7.转账用例名称转账用例id参与者客户描述登录对应账户后,账户中的余额从ATM机中取出再转到输入的对应账户中8.修改密码用例名称注册用例id参与者客户描述登录对应账户后,通过验证手机号来修改密码9.贷款用例名称贷款用例id参与者客户,信用系统描述登录账户后,经过信用系统的评估后,决定客户可贷金额后,客户选择贷款金额。10.查看监控用例名称查看监控用例id参与者银行工作人员描述工作人员登录对应账户后,可以查看监控11.维护ATM用例名称参与者银行工作人员描述每日检查ATM,保证其能正常工作12.收款用例名称收款用例id参与者信用系统描述进行收款13.信任评估用例名称信任评估用例id参与者信用系统描述对客户的信任等级进行评估第13习题1、气象监测站需求:2)风向同时,系统还应通过上面的数据导出下面的数用户可以通过键盘选择某一个主要测量指标(如,温度、湿度),让系统显示该测量指标在24小时内的最高值和最低值,以及出现这些值的时间。系统应该允许用户根据已知值来校正传感器,并允许用户设置当前的时间和日期。下面确定系统的硬件平台和要求。在对软件系统进行分析和设计之前,首先必须确定硬件平台,我们做以下假定。2)时间和日期由一个时钟提供;3)通过远端的传感器来测量温度、气压和湿度;数器)的标柱测量风向和风速;5)通过键盘提供用户输入;7)计算机每/60秒产生一定时器中断。这个硬件平台的部署图:TemperatureSonsor,图1.1硬件平台部署图TimeDate对象有两种状态:初始化状态和运行状态(运行在24-hourmode图1.2TimeDate对象状态图-10°高值低值传感器值Sensor类,可以用-1和1之间的浮点数来表达变若干个数值的一条拟合直线的斜率。因此,我们在这两个类中增加以下的责任和其相应的责任:报告温度或压力变化趋势,表示给定时间区间上,过去值的拟合直线的斜率。通过初步分析,设计出湿度传感器类的规格说明。我们建议创建一个公共的超类HistoricalSensor,负责提供这个公共的行为。下面是这个超类的规格说明。责任:报告过去24小时内测量数据的最高和最低值根据前面的分析,下面设计出风速传感器类。责任:跟踪当前风向因为不能够直接探测出当前的风速。风速的计算方法是:将标柱上风杯的旋转次数除以计数间隔,然后乘以与特定的标柱装置对应的比例值。对上面4个具体类(温度传感器、压力传感器、湿度传感器和风速传感器)做快速的领域分析,可以发现它们有一个共同的特点,那就是可以根据两个已知的数据点,用线性内插法来校正自己。为了给四个类中提供这个行为,可以创建一个更责任:给定两个已知数据点,提供线性内插值的值风向传感器既不需要校正,也不需要报告历史完整的层次结构。TrendSensorspeed图1.4下面设计边界类,它们是:小键盘类、显示器类、时钟类。责任:跟踪最近一次用户输入值得注意的是,这个键盘仅仅知道几个键中的某个键被按下,把解释每个键的含义的责任委托给其它的不同的类图1.5提供了一个通用的显示界面原型。在这个原型中,省略了对系统需求中节。同时,需求提出某些显示模式:某些数据需要用文本显示(以两种不同的大小);元素是静态的(如temp标签),另外一些元素是动态的(如风向)。在分析阶段,初步决定用软件来显示这些静态和动态元素。责任:管理LCD设备,为显示某些图形元素提供服务。类时,必须提供一个代理来负责将传感器数据转换为显示器可以识别的数据。这个代理的设计,推迟在后面实现。最后一个需要设计的边界类是定时器。这里假定系统中有且只有一个定时器,它每隔1/60秒向计算机发出中断,调用一个中断服务例程。45每1/60秒一个硬件3、系统用例:4图1.73.1主要用例:1)检测基本的气象测量数据。包括风速、风向、温度、气压和适度;2)检测导出的测量数据。包括风冷度、露点、温度趋势和气压趋势;3)显示用户选定的测量数据的最高值和最低值;4)设置时间和日期;5)校正选定的传感器;3.2辅助用例:根据分析,增加2个辅助用例:1)电源故障2)传感器故障。1、气象检测系统用例:检测基本的气象测量数据是气象检测系统的首要用例。其中一个约束是:不可能在1秒内测量60次以上。通过分析,我们提出了以下采集速率,这些速率能够充分的捕获气象风向:每0.1秒风速:每0.5秒+sample()+sampler()考虑到软件系统的国际化要求,还应该考虑:系统是采用摄氏还是华氏显示温度?系统是采用公里每小时(k/h)还是采用英里每小时(m/h)显示风速?为提供软件系统的灵活性,必须在TmperatureSensor和WindspeedSensor类中增加一个操作setMode(设计模式)。最后,必须相应地修改操作drawStaticItems的通过TemperatureSensor和PressureSensor类,可以导出温度和压力数据的变化趋势。但是,为了实现所有的导出测量数据,需要创建两个新类——WindChill与其他两个类协作完成各自的责任。具体地说,TemperatureSensor和WindspeedSensor协作计算的导出数据封8+sensors:Sensors+setSamplingRate()+sample()+sampler()+下一步考虑用户与气象监测系统交互的场景。叙述:显示所选测量数据的最高值和最低值。3)用户按下wind、temp、pressure或humidity键中的任何一个,其他按键(除run外)被忽略;5)用户按下UP或DOWN键来分别选择显示24小时中最高值或最低值,其他的按键(除run外)被忽略;6)系统显示所选值,同时显示该值出现时的时间;7)控制返回步骤3)或步骤5)。注意:用户可以按下RUN键来提交或放弃操作,此时,正在闪烁的信息、选择的值和这个场景提醒我们,应该在displaymanager类中增加两个操作:flashLabel操作。根据操作变量让标签闪烁或停止闪烁。displaymode操作。在LCD设备上以文本的方式显示信息。叙述:这个用例设置日期和时间。2)系统显示selecting;4)系统闪烁相应的标签,同时闪烁选择项的第一个字段(即时间的小时字段和日期的5)用户按下LEFT或RIGHT键来选择另外的字段(选择可以来回移动),用户按下UP6)控制返回步骤3)或步骤5)。注意:用户可以按下RUN键来提交或放弃操作,此时,正在闪烁的信息和selecting消息消失,时间和日期被重置。叙述:这个用例用于校正传感器。2)系统显示calibrating;3)用户按下wind、temp、pressure或humidity键中的任何一个,其他按键(除run5)用户按下UP或DOWN键来选择高校正点或低效正点;8)控制返回步骤3)或步骤5)。和resumeSample(重新采样)。3)用户按下wind、temp键中的任何一个,其他按键(除run外)被忽略;7)控制返回步骤3)或步骤5)。通过对上面几个场景的分析,我们可以确定面板上按钮图2.4气象监测用户小键盘状态直接对应于前述的四个场景。如图2.5所示。WindH最后一个主要场景是“启动系统”,启动系统时3)初始化用户输入缓冲区,删除无用的按键(有噪音引起);2、系统架构设计:3)如图2.6所示,基于时间帧的处理模式。他将时间分成若干帧(通常是固定的长度),帧又可以更进一步被分成子帧,每个子帧包含一些功能行为,从一个帧到另外一个帧的活动可能不同,例如,可以每隔10个帧进行一次风向采样,每隔30个帧进行一次风采样处理显示采样时间图2.6时间帧处理图2.7是作者设计的一张类图,这个类图忽略了次要的类,强调了主要的类。它体现首先介绍时钟类timer,如图3.1展示了类设计为了动态改变采样对象的行为,我们为Sampler对象增加两个操作:SensorsSensor+rawValue()+name()+id()*因为不想将Collection类的大部分操作暴露给Sensor类的客户,我们将Collection定义为一个受保护的超类。在Sensor类中,只声明少量的操作。我们可以创建一个泛化的传感器集合类,它能够容纳同一个传感器的多个实例,每一个实例可以用唯一的ID来区分——这些ID从0开始。因为,Sampler对象(采样代理)要获取Sensor对象的采样值,并将这个采样值传递类、Sensor类和DisplayManager类的关系设计为图3.4所示。11+numberOfSensors():Integer+numberOfSensors(SensorName):Integer+display(float,SensorName,id:Integer=0)+sensor(SensorName,id:Integer=0):Sensor+currentValue()11Sampler类是完成气象监测的核心类,图3.5是系统架构的初步设计图。DisplayDisplayManagerAcquire111+rawValue()+name()+id()*开发软件系统时,每一个当前版本都是建立在前一个版本之上。现在计划我们的发布版本序列:开发一个具有最小功能的发布版本序列。其中,每一个版本都是建立在前一个版本之1)设计并实现传感器的层次结构。2)设计并实现与管理显示类相关的其他类。3)设计并实现负责管理用户界面的各个类。为了对软件体系结构有深入的了解,首先应该开发一个包含最小功能集合的发布版本。即,该版本必须实现系统中每一个关键类的小部分功能。由于实现了每个关键部分的功能,这就使解决了项目中存在的高风险。在构造系统架构的过程中,我们通过迭代和增量方法演示了传感器类及其相关类的分析和设计过程。在这个演化的发布版本中,通过完善系统的最小功能,对传感器类的进一B步分析和细化。最初的传感器类设计如图1.4所示,为了稳定类的基本框架,将下层类的公共操作currentValue提升到Sensor类中。按照需求,每个传感器实例必须有一个到特定接口的映射。这个接口必须用到传感器图3.5所示。+rawValue()现在可以简化DisplayManager::display的签名了,即,display操作只需用到一个参数(即对Sensor对象的引用)。CalibratingSensor类的规格说明如图3.6所示。+currentValue()+setHighValue(float,float)+setLowValue(float,float)+CalibratiingSensor(SensorName,id:Integer=0)+rawValue()+rawValue()+name()+id()类HistoricalSensor的规格说明如图3.6所示。类TrendSensor还是定义为抽象类。把类TrendSensor定义为HistoricalSensor类的一个子类,并在其中增加了一个具体的操作trend,如图3.7所示。把类TemperatureSensor定义为TrendSensor的一个子类,如图3.8所示。6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天津2025年天津市第一轻工业学校事业单位招聘11人笔试历年参考题库附带答案详解-1
- 电子商务与金融科技融合创新的趋势与挑战
- 科技之光我的博士研究在行业的应用前景
- 2025至2030年中国加深鼎盖数据监测研究报告
- 二零二五年度纸箱包装设计及销售一体化合同
- 2025年不动产交易纠纷仲裁服务合同样本
- 2025年度独立董事知识产权保护合同
- 六年级上学期科学教师工作总结
- 一学期自我总结
- 社区学校度工作计划范文
- 工程机械租赁合同范本标准版
- 高二年级家长会课件
- 《国际中文教材评价标准》
- 机柜 施工方案
- 中学实验室安全风险分级管控制度
- 单片机应用技术学习通超星期末考试答案章节答案2024年
- 知识点总结(知识清单)-2023-2024学年六年级上册数学北京版
- 川教版小学信息技术四年级下册教案-全册
- 基于自然语言处理的法律知识图谱构建
- 高效倾听模型
- 新能源行业论文开题报告
评论
0/150
提交评论