logo资料库

东北大学软件需求分析与系统设计哲洙老师的笔记重点.docx

第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
资料共30页,剩余部分请下载后查看
2007年上半年
设计题(共15分)
某图书管理系统的主要功能如下:
编码题
某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观
2007年下半年
设计题
已知某唱片播放器不仅可以播放唱片,而且可以连接电脑并把电脑中的歌曲刻录到唱片上(同步歌曲)。连接电脑
编码题
已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元
2008 上半年
设计题
某汽车停车场欲建立一个信息系统,已经调查到的需求如下:
编码题(共15分)
已知某企业欲开发一家用电器遥控系统,即用户使用一个遥控器即可控制某些家用电器的开与关。
2008年 下半年
设计题(共 15 分)
在线会议审稿系统(ORS:OnlineReviewingSystem)主要处理会议前期的投稿和审稿
编码题(共 15 分)
已知某类库开发商提供了一套类库,类库中定义了 Application 类和 Document 类,它
2009年上半年
设计题
某银行计划开发一个自动存提款机模拟系统(ATM System)。系统通过读卡器CardReader
编码题(共 15 分)
现欲实现一个图像浏览系统,要求该系统能够显示 BMP、JPEG 和 GIF 三种格式的文件,并且能够
2009年下半年
设计题(共 15 分)
某企业为了方便员工用餐,为餐厅开发了一个订餐系统(COS:Cafeteria Ordering
编码题
【说明】 现欲构造一文件/目录树,采用组合(Composite)设计模式来设计,得到的类图如 6-1
2010年上半年
设计题
某运输公司决定为新的售票机开发车票销售的控制软件
编码题
某软件公司欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征
2010年下半年
设计题
某网上药店允许顾客凭借医生开具的处方,通过网络在该药店购买处方上的药品。该网上药店的基本功能描述如下
编码题
某公司的组织结构图如图5-1 所示,现采用组合(Composition)设计模式来构造该公司的组织结
2011年上半年
设计题
一个简单的图形编辑器提供给用户的基本操作包括:创建图形、创建元素、选择元素以及删除图形
2011年下半年
设计题
Pay&Drive系统
编码题
某大型商场内安装了多个简易的纸巾售卖机
ds 目录 2007 年上半年................................................................................................................................... 3 设计题(共 15 分) .......................................................................................................................... 3 某图书管理系统的主要功能如下:........................................................................................3 编码题................................................................................................................................................ 5 某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的 发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征 ........................... 5 2007 年下半年................................................................................................................................... 6 设计题................................................................................................................................................ 6 已知某唱片播放器不仅可以播放唱片,而且可以连接电脑并把电脑中的歌曲刻录到唱片 上(同步歌曲)。连接电脑的过程中还可自动完成充电。 ..................................................6 编码题................................................................................................................................................ 7 已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来 审批,主任可以审批 5 万元以下(不包括 5 万元)的采购单,副董事长可以审批 5 万元 至 10 万元(不包括 10 万元)的采购单,董事长可以审批 10 万元至 50 万元(不包括 50 万元)的采购单,50 万元及以上的采购单就需要开会讨论决定。............................. 7 2008 上半年...................................................................................................................................... 9 设计题................................................................................................................................................ 9 某汽车停车场欲建立一个信息系统,已经调查到的需求如下:....................................... 9 编码题...............................................................................................................................................11 已知某企业欲开发一家用电器遥控系统,即用户使用一个遥控器即可控制某些家用电器 的开与关。.............................................................................................................................. 11 2008 年 下半年............................................................................................................................... 13 设计题.............................................................................................................................................. 13 在线会议审稿系统(ORS:OnlineReviewing System)主要处理会议前期的投稿和审稿 事务,其功能描述如下: 13 编码题.............................................................................................................................................. 15 已知某类库开发商提供了一套类库,类库中定义了 Application 类和 Document 类,它 们之间的关系如图 7-1 所示,其中,Application 类表示应用程序自身,而 Document 类 则表示应用程序打开的文档。Application 类负责打开一个已有的以外部形式存储的文 档,如一个文件,一旦从该文件中读出信息后,它就由一个 Document 对象表示。 15 2009 年上半年................................................................................................................................. 16 设计题.............................................................................................................................................. 16 某 银 行 计 划 开 发 一 个 自 动存 提 款 机 模 拟 系 统 (ATM System )。 系 统 通 过 读 卡 器 CardReader ) 读 取 ATM 卡 ; 系 统 与 客 户 ( Customer ) 的 交 互 由 客 户 控 制 台 (CustomerConsole)实现: ................................................................................................. 16 1
编码题.............................................................................................................................................. 18 现欲实现一个图像浏览系统,要求该系统能够显示 BMP、JPEG 和 GIF 三种格式的文 件,并且能够在 Windows 和 Linux 两种操作系统上运行。 .........................................18 2009 年下半年................................................................................................................................. 19 设计题 .............................................................................................................................................. 19 某企业为了方便员工用 餐,为餐厅开发了一个 订餐系统(COS:Cafeteria Ordering .................................................................................................................................................. 19 编码题.............................................................................................................................................. 21 现欲构造一文件/目录树,采用组合(Composite)设计模式来设计,得到的类图......... 21 2010 年上半年................................................................................................................................. 22 设计题.............................................................................................................................................. 22 某运输公司决定为新的售票机开发车票销售的控制软件 ..................................................22 编码题.............................................................................................................................................. 25 某软件公司欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与 起飞特征 .................................................................................................................................. 25 2010 年下半年................................................................................................................................. 26 设计题.............................................................................................................................................. 26 某网上药店允许顾客凭借医生开具的处方,通过网络在该药店购买处方上的药品。该网上 药店的基本功能描述如下:.....................................................................................................27 编码题.............................................................................................................................................. 28 某公司的组织结构图如图 5-1 所示,现采用组合(Composition)设计模式来构造该公司 的组织结构,得到如图 5-2 所示的类图。 ...........................................................................28 2011 年上半年................................................................................................................................. 30 设计题.............................................................................................................................................. 30 一个简单的图形编辑器提供给用户的基本操作包括:创建图形、创建元素、选择元素以 及删除图形.............................................................................................................................. 30 2011 年下半年................................................................................................................................. 30 设计题.............................................................................................................................................. 30 Pay&Drive 系统 ....................................................................................................................... 30 编码题.............................................................................................................................................. 30 某大型商场内安装了多个简易的纸巾售卖机......................................................................30 2
设计题(共 15 分) 2007 年上半年 阅读下列说明和图,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 [说明] 某图书管理系统的主要功能如下: 1.图书管理系统的资源目录中记录着所有可供读者借阅的资源,每项资源都有一个唯一的索引号。系 统需登记每项资源的名称、出版时间和资源状态(可借阅或已借出)。 2.资源可以分为两类:图书和唱片。对于图书,系统还需登记作者和页数;对于唱片,还需登记演唱 者和介质类型(CD 或者磁带)。 3.读者信息保存在图书管理系统的读者信息数据库中,记录的信息包括:读者的识别码和读者姓名。 系统为每个读者创建了一个借书记录文件,用来保存读者所借资源的相关信息。 现采用面向对象方法开发该图书管理系统。识别类是面向对象分析的第一步。比较常的识别类的方法 是寻找问题描述中的名词,再根据相关规则从这些名词中删除不可能成为类的名词,最终得到构成该系统 的类。表 3-1 给出了[说明]中出现的所有名词。 通过对表 3-1 中的名词进行分析,最终得到了图 3-1 所示的 UML 类图(类的说明如表 3-2 所示)。 3
[问题 1](3 分) [问题 2](6 分) 表 3-2 所给出的类并不完整,根据[说明]和表 3-1,将图 3-1 中的(a)~(c)处补充完整。 根据[说明]中的描述,给出图 3-1 中的类 CatalogItem 以及(b)、(c)处所对应的类的关键属性(使 用表 3-1 中给出的词汇),其中,CatalogItem 有 4 个关键属性;(b)、(c)处对应的类各有 2 个关键属 性。 [问题 3](6 分) 识别关联的多重度是面向对象建模过程中的一个重要步骤。根据[说明]中给出的描述,成图 3-1 中的 (1)~(6)。 答案: 问题 1 资源目录 图书 唱片 问题 2 CatalogItem 的关键属性:索引号、名称、资源状态、出版时间 (b)的关键属性有:作者、页数 (c)的关键属性有:演唱者、介质类型 问题 3 (1)1 (2)0..* (3)1 (4)0..* (5)1 (6)1 或 0..1 4
编码题 阅读下列说明和 Java 代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 [说明] 某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞 行特征和外观特征。游戏需要模拟的鸭子种类及其特征如表 7-1 所示: 为支持将来能够模拟更多种类鸭子的特征,采用策略设计模式(Strategy)设计的类图如图 7-1 所示: 其 中 ,Duck 为 抽 象 类 , 描 述 了 抽 象 的 鸭 子 , 而 类 RubberDuck 、MallardDuck 、CottonDuck 和 RedHeadDuck 分别描述具体的鸭子种类,方法 fly()、quack()和 display()分别表示不同种类的鸭子都具有 飞行特征、发声特征和外观特征;接口 FlyBehavior 与 QuackBehavior 分别用于表示抽象的飞行行为与发 声行为;类 FlyNoWay 与 FlyWithWings 分别描述不能飞行的行为和用翅膀飞行的行为;类 Quack、Squeak 与 QuackNoWay 分别描述发出“嘎嘎”声的行为、发出橡皮与空气摩擦声的行为与不发声的行为。请填补 以下代码中的空缺。 [Java 代码] (1) FlyBehavior { public void fly(); }; (2) QuackBehavior { public void quack(); }; class FlyWithWings implements FlyBehavior{ public void fly(){ System.out.println("使用翅膀飞行 !"); } }; class FlyNoWay implements FlyBehavior{ public void fly(){ System.out.println("不能飞行 !" ); } }; class Quack implements QuackBehavior{ }; class Squeak implements QuackBehavior{ public void quack(){ System.out.println("发出\'嘎嘎\'声 !" ); } 5
public void quack(){ System.out.println("发出空气与橡皮摩擦声 !"); } }; class QuackNoWay implements QuackBehavior{ public void quack (){ System.out.println("不能发声 !" ); } }; abstract class Duck { protected FlyBehavior (3); protected QuackBehavior (4) ; public void fly(){ (5) ; } public void quack() { (6) ; }; public (7) void display(); }; class RubberDuck extends Duck { public RubberDuck(){ flyBehavior = new (8) ; quackBehavior = new (9) ; } public void display(){ /* 此处省略显示橡皮鸭的代码 */ } }; 答案: (1) (6) flyBehavior.quack() (7) abstract (8) FlyNoWay (9) Squeak interface (2)interface (3)flyBehavior(4) quackBehavior(5) flyBehavior.fly() 设计题 2007 年下半年 阅读下列说明和图,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。 【说明】 已知某唱片播放器不仅可以播放唱片,而且可以连接电脑并把电脑中的歌曲刻录到唱片上(同步歌曲)。 连接电脑的过程中还可自动完成充电。 关于唱片,还有以下描述信息: 1.每首歌曲的描述信息包括:歌曲的名字、谱写这首歌曲的艺术家以及演奏这首歌曲的艺术家。只 有两首歌曲的这三部分信息完全相同时,才认为它们是同一首歌曲。艺术家可能是一名歌手或一支由 2 名 或 2 名以上的歌手所组成的乐队。一名歌手可以不属于任何乐队,也可以属于一个或多个乐队。 2.每张唱片由多条音轨构成;一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上; 同一首歌曲在一张唱片中最多只能出现一次。 3. 每条音轨都有一个开始位置和持续时间。一张唱片上音轨的次序是非常重要的,因此对于任意一 条音轨,播放器需要准确地知道,它的下一条音轨和上一条音轨是什么(如果存在的话)。 根据上述描述,采用面向对象方法对其进行分析与设计,得到了如表 3-1 所示的类列表、如图 3-1 所 示的初始类图以及如图 3-2 所示的描述播放器行为的 UML 状态图。 表 3-1 类列表 类 名 Artist Song Band Musician Track Album 1 A 1 编写 演奏 C (1) (2) 6 D 说 明 艺术家 歌曲 乐队 歌手 音轨 唱片 0..* 0..* B (3) (4) E (5) (6)
图 3-1 初始类图 图 3-2 播放器行为 UML 状态图 根据说明中的描述,使用表 3-1 给出的类的名称,给出图 3-1 中的 A~F 所对应的类。 根据说明中的描述,给出图 3-1 中(1)~(6)处的多重度。 【问题 1】(3 分) 【问题 2】(6 分) 【问题 3】(4 分) 图 3-1 中缺少了一条关联,请指出这条关联两端所对应的类以及每一端的多重度。 类 多重度 【问题 4】(2 分) 根据图 3-2 所示的播放器行为 UML 状态图,给出从“关闭”状态到“播放”状态所经过的最短事件 序列(假设电池一开始就是有电的)。 答案: 问题 1 A .Artist B. Song C.Band D. Musician E. Track F. Album 问题 2 (1)0..* (2)2..* (3)0..1 (4)1..* (5)1..* (6)1 问题 3 Track Track 问题 4 按任意键选择歌曲 0..1 0..1 编码题 阅读下列说明和 Java 代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可 以审批 5 万元以下(不包括 5 万元)的采购单,副董事长可以审批 5 万元至 10 万元(不包括 10 万元)的 采购单,董事长可以审批 10 万元至 50 万元(不包括 50 万元)的采购单,50 万元及以上的采购单就需要 开会讨论决定。 采用责任链设计模式(Chain of Responsibility)对上述过程进行设计后得到的类图如图 7-1 所示。 7
PurchaseRequest +Amount: Float +Number: Integer +Purpose: String 采购单 Approver -successor: Approver +SetSuccessor(aSuccesssor: Approver) +ProcessRequest(aRequest:PurchaseRequest) 批准者 Director VicePresident President Congress 主任 副董事长 董事长 例会 图 7-1 设计类图 [Java 代码] class PurchaseRequest { double Amount; int Number; String Purpose; // 一个采购的金额 // 采购单编号 // 采购目的 }; class Approver { // 审批者类 Approver(){ void ProcessRequest(PurchaseRequest aRequest){ successor = null; } if (successor != null){ successor. (1) ; } void SetSuccessor(Approver aSuccesssor){ successor = aSuccesssor; } (2) successor; class Congress extends Approver { public void ProcessRequest(PurchaseRequest aRequest){ if(aRequest.Amount >= 500000){ /* 决定是否审批的代码省略 */ } else (3) .ProcessRequest(aRequest); public public public public public } public private }; }; } }; class Director extends Approver { }; class President extends Approver { }; class VicePresident extends Approver { public void ProcessRequest(PurchaseRequest aRequest){ /* 此处代码省略 */ } public void ProcessRequest(PurchaseRequest aRequest){ /* 此处代码省略 */ } public void ProcessRequest(PurchaseRequest aRequest){ /* 此处代码省略 */ } public class rs { public static void main(String[] args) throws IOException { Congress Meeting = new Congress(); VicePresident Sam = new VicePresident(); Director Larry = new Director(); President Tammy = new President(); // 构造责任链 Meeting.SetSuccessor(null); Tammy.SetSuccessor( (5) ); Sam.SetSuccessor( (4) ); Larry.SetSuccessor( (6) ); 8
分享到:
收藏