软件设计基础课程作业_第1页
软件设计基础课程作业_第2页
软件设计基础课程作业_第3页
软件设计基础课程作业_第4页
软件设计基础课程作业_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件设计基础课程作业

姓名:林雪峰

学号:

令特别注意:关于作业的提交,务必认真阅读中的“作业提交”

部分。

I结构化程序设计VS.面向对象程序设计:素数查

找和约瑟夫环

1.1素数问题的Java的结构化实现(详见:Labwork\Lab(H\

PrimerNumberSOP)中,iCounter++,这一行代码会导致

低效,怎么修改?―

答:

L2如何理解素数问题的C++的面向对象实现(详见:

Labwork\Lab01\)?包括:Filter链表怎么形成?如何递归

调用?如何判断一个数是否可以被所有的Filter中的因子整

除?

答:

1.3我们给出的素数问题的面向对象实现是基于C++的,如何修

改成Java?

答:

1.4约瑟夫环(数据结构中的一个经典问题):n个人围成一圈,

顺序排号,从第1个人开始报数(从1到M报数),凡报到

M的人退出圈子,问最后留下的是原来第几号的哪位。问题:

如何用结构化方法实现?如何基于面向对象(OOP)实现?

答:

1.5基于JUnit对所给出的Java实现进行单元测试。

答:

2应用UML2建模

【实验目的】:

1.熟悉UML2的用例图、活动图、包图、类图、对象图、顺序图、状态机图、

系统构件图、系统部署图,了解哪些是静态模型,哪些是动态模型;

2.熟悉在EA中建模的基本操作方法。

2.1完成课本2.6节中的选择题和简答题(自行练习,无须在此

做答)

2.2构建自己的第一个EA工程,并按照开发阶段组织模型架构

1.认真阅读课本2.4.3节(架构),了解用于组织UML的各种模型图的两种常

用的构架:“4+1”构架模型(详见图2-13)和按照开发阶段组织的模型架构

(详见图2-142

2.认真观看超星系统”2.5:应用UML2建模”中提供的课程视频,建立自己的

第一个EA工程(命名为),并根据视频中所讲解的“按照开发阶段组织模型

架构”的方式来搭建一个完整的EA工程,并且

a)记录教学视频中所讲解的构建每一个模型/视图(View)及其主视图

(Diagram)在实操上的要点;

b)记录每一个模型及其主视图的特点:每一个模型(View)的IconStyle通

常设置成什么?其主视图通常被设置成什么?

2.3使用EA工具“仿制”图书馆管理系统的设计

现需要为诺丁顿大学的图书馆设计一套管理系统,需求说明如下:该系统是

一个基于Web的计算机应用系统;读者可以使用该系统查询图书信息以及借阅

信息,还可以通过系统预约所需的图书;图书馆工作人员利用该系统可以完成读

者的借书、还书业务,还可以对图书信息、读者信息等进行维护;对于到期的图

书,系统会自动向读者发送催还信息;管理员会定期进行系统维护。

根据该需求说明,MAGIC公司的设计人员给出了如下(详见错误!未找到引

用源。~错误!未找到引用源。节)系统用例图、读者“借书”业务的活动图、系

统包图、部分实体类(图书、借阅信息、读者)的类图、展示某一读者当前借阅

情况的对象图、“借书”用例实现的顺序图、“图书”类的状态机图、系统构件图、

系统部署图等9个设计图。

1.请认真观看根据超星系统”2.5:应用UML2建模”中提供的课程视频,在你

的EA工程()中绘制这些设计图,并且

a)将每个设计图添加到适当的模型中;

b)将你绘制好的每个设计图从EA中复制到你的“"中,须注意:

,复制方式:不要截屏!直接在EA中选中、复制,再粘贴到报告中;

/放置位置:放在原有的设计图的下方;

/图的大小:与原有的设计图的大小相当(不要太大,也不要太小)。

c)针对每个设计图,认真记录:

/教学视频中所讲解的绘制每一个设计图的主要操作步骤;

,教学视频中所讲解的绘制每一个设计图的要点和注意事项;

/总结每一个设计图所包含的主要元素。

1.用例图所包含的主要元素

答:

2.绘制用例图的主要步骤

答:

3.从用例图中我们可得到什么信息?得不到什么信息?

答:

4.用例文档可以通过哪些方式撰写?

答:

5.如何用键盘轻微移动图形元素?

答:

2.3.2读者“借书”业务的活动图

2.3.3包图(展示系统分层结构)

答:

2.3.4类图(展示实体类之间的静态关系)

1.如何拖动鼠标在EA中建立2个类之间的关联关系?

答:

2.如何操作才能建立起父类与多个子类之间的树形泛化关系?

答:

2.3.5对象图(展示某读者当前的借书情况)

2.3.6“借书”用例实现的顺序图(UML2表示)

2.3.7“图书”类的状态机图

2.3.8构件图(描述类的实现环境)

2.3.9部署图(描述系统部署情况)

3业务建模

3.1完成课本3.7节中的所有练习题(自行练习,无须在此做答)。

3.2旅店业务建模:参照3.5.2节中的描述,仿照/model/Hotel/EA/,

新建EA工程,构建自己的业务模型。试用文字和截图说明:

3.2.1业务模型中的BusinessActor%BusinessWorker5

BusinessUseCase都分别用什么图形表示?

答:

3.2.2详述在EA中添加“业务模型”的操作步骤。

答:

3.3绘制活动图:在EA中绘制3.7节习题三(应用题)中第2题

的活动图。

答:

4用例建模

4.1自行练习题(无须在此做答)

1.完成课后练习题一(选择题);

2.完成课后练习题三(应用题)之2、3、4;

3.参考课本4.1~4.2节,回答下列问题:

a)什么是需求,有哪些类型的需求?

b)在业务建模后,如何寻找业务改进点?哪些业务改进点可能会作为需求?

4.参考课本4.3节,回答下列问题:

a)从初始需求出发(与从业务用例模型出发相对比),进行用例建模,基本

步骤有哪些?

b)什么是系统参与者,识别参与者的要点包括哪些?

0什么是系统用例,获取用例的要点包括哪些?

d)系统参与者之间存在什么关系?

e)系统用例之间存在什么关系?

5.阅读课本4.4节“编写用例文档”,回答下列问题:

a)什么是涉众,涉众和参与者有什么区别和联系?

b)什么是用例的前置条件和后置条件,它们有什么作用,定义时需要注意

什么?

c)什么是用例的事件流,描述事件流时需要注意什么?有哪几种事件流,它

们之间有什么区别和联系?

d)用例的补充约束主要包括哪些内容?如何描述补充约束?

6.参考课本4.5节“重构用例模型'',回答下列问题:

a)在用例模型中,可以定义哪几种用例关系,它们有何不同?

b)什么是扩展点,扩展点有什么作用?

c)有哪些用例的分包策略,一般如何进行用例分包?

d)如何对用例进行分级,高优先级的用例有什么特征?

4.2根据课本4.2.1节中所描述的寻找业务改进点的方法(或

“Ch04.用例建模.pptx”中关于“案例:顾客电话购物”的分

析),画出顾客电话购物系统的用例图。

答:

4.3观看教学视频“4.3-用例建模讲解.mp4”,阅读“旅游业务申

请系统”的案例描述(详见:model/Tour/CASE02-LY0L案例

描述文档.doc,或者课本4.3.5节的问题陈述).进行如下练

习:

4.3.1识别其中的系统参与者和系统用例,绘制系统用例图;

答:

4.3.2与课本中的图4-18(“旅游申请系统”初始用例图)进行

比较:将自己绘制的和课本中给出的用例图放在一起进

行比较,总结自己设计中的不足和问题;

答:

4.3.3阅读4.3.5节中的“2.识别参与者”和“3.识别用例”,比

较自己的识别方法与课本中的异同,并进行总结。

答:

4.4综合案例题:课后练习题三(应用题)之5和6任选一题。

答:

5用例分析

5.1第5章的所有课后选择题和简答题(自行练习题,无须在此

做答)

5.2定义分析类最终期望达成的最主要的目标是形成实体类类图。

试根据课后练习题三.1中所陈述的系统业务背景,抽取系统

中的实体类,以及类的属性和关系,并构造实体类类图。

答:

5.3综合案例题:课后练习题三(应用题)之2和3任选一题。

答:

6面向对象的设计模式

6.1Java提供了该观察者模式的实现框架(在包中提供了

Observable类和Observer接口),请给出使用该观察者模式

进行程序设计的范例。

答:

6.2基于策略模式的重构调整。“影片出租店管理程序”的问题陈

述及初步实现代码详见教案的7.5.1〜7.5.2节,试根据

7.5.3〜7.5.5节描述(问题分析、类图和序列图)给出你的改进

程序。

答:

7架构设计(以小组为单位,五人/小组)

组员名字Review意见评分

总评

7.1设计/模型图绘制

7.1.1参考“model\Tour\EA\TourModeL”,绘制8.4.2节所描

述的持久性机制的类图和活动图(图8・20~图8-23),并

详细说明在EA中进行相关操作的具体流程,尤其是添

加基础设施层(Infrastructure)的过程。

答:(陈奇锋)

在此处填写答案。。。。。。

7.1.2绘制“图8-24医院预约挂号系统的进程视图”

答:

7.1.3绘制“图8-26为进程分配设计元素”

答:

7.1.4绘制“图8-27医院预约挂号系统的部署模型”,熟悉设备、

执行环境、通信路径等概念;

答:

7.1.5绘制“图8-28医院预约挂号系统的部分工件图”,熟悉工

件、承载、逻辑组件等概念;

答:

7.1.6绘制“图8-29将工件部署到节点的示例"熟悉“部署规

范”;

答:

7.1.7绘制“图8-31分布-RMI机制设计类图”,了解RMI的

原理。

答:

7.2编程实践

7.2.1编写基于Java的数据库访问程序,结合“图8-20持久

性:JDBC设计机制类图”,理解8.4.2节所描述的持久

性机制。DriverManager类的作用?Connection类、

Statement类、ResultSet类之间为何存在依赖关系?

ResultSet和PersistentClassList在存储数据上有何区别?

答:

7.2.2编写基于Java的多线程并发程序,理解8.5节中描述

的运行时构架。

答:

7.2.3编写基于Java的RMI程序并结合图8-30和图8-31,

了解RMI的工作原理。请特别说明

UnicastRemoteObject类的作用。

答:

7.3应用题(二选一)

7.3.1[综合案例:员工考勤系统]结合已经完成的需求和分析

模型,以本章介绍的架构设计方法,设计该系统架构。

答:

7.3.2[综合案例:医院预约挂号系统]结合已经完成的需求和

分析模型,以本章介绍的架构设计方法,设计该系统架

构。

答:

8构件设计(以小组为单位,五人/小组)

Review

迭代1

迭代2

8.1观看“9.3.7细化关联关系”的教学视频,回答下列问题:

8.1.1关联关系在设计阶段为何需要进一步细化?

本题的求解经过了2次迭代,具体如下。

迭代1

迭代2

8.1.2在设计阶段为何要尽可能地使用单方向的关联?

答:

8.2在EA中绘制图9-19的申请(Application)对象的状态模型。

答:

8.3认真阅读图9-37给出的泛化关系的两种设计方案:委托

(Delegation)和实现继承(构造型为"implement

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论