软件工程与项目管理 作业五

  • 格式:doc
  • 大小:267.50 KB
  • 文档页数:3

下载文档原格式

  / 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程与项目管理作业五

1.解释以下概念并通过一个例子加以说明:

对象;类;继承;多态性

对象是客观世界中事物的抽象表示;是其属性(状态、数据)和相关操作(行为、方法或服务)的封装体;对象之间靠消息传递相互作用。例如汽车、一个圆、等类是对具有相同属性和相同操作的一组相似对象的抽象描述。例如:学生类的属性:学号、姓名、专业、班级、电话、……

继承是子类自动地共享基类(已有类)中定义的数据和操作的机制。例如:汽车、船都是交通工具类的子类,它们都可以继承交通工具类的属性和操作。

多态性是在一个类层次中,不同对象对相同消息做出不同的响应。例如:成员函数的重载,

2.为什么面向对象方法要从多个侧面(对象模型、动态模型、功能模型)建立系统模型?

这三种模型都涉及数据、控制、操作等共同的概念,只不过每种模型描述的侧重点

不同。这3中模型从三个不同但又密切相关的角度模拟目标系统,它们各自从不同侧面反映了系统的实质性内容:它使用的数据结构(对象模型),执行操作(动态模型),并且完成数据值的变化(功能模型)。

对任何大型系统来说,这3中模型都是必不可少的。在不同的应用问题中,相对的

重要程度也有所不同。但是在任何情况下,对象模型始终是最重要、最基本、最核心的。

三种模型是有区别的,各自的侧重点也不同

(1)功能模型指明了系统应该“做什么”;

(2)动态模型明确规定了什么时候(即何种状态下接受什么事件的触发)做;

(3)对象模型则定义了做事情的实体。是最基本最核心的模型。

3.建立符合下列陈述的对象模型

某图书馆有许多名职员为之工作,职员又进一步划分为馆长和管理员两类;馆长可对图书借阅工作进行管理,每名管理员可管理多本图书,每本图书可由多名管理员管理;图书拥有许多读者,借书证号惟一地确定一个读者;读者又可分为教师和学生两类,每名教师或学生可以借阅数本图书,每一种图书可供多名教师或学生借阅。

4、建立下述订货系统的用例模型。

假设一家工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要再次订货的零件。对于每个需要再次订货的零件应该列出下述数据:零件编号,零件名称,订货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的终端把事务报告给订货系统。当某种零件的库存数量少于库存量临界值时就应该再次订货。

答:从对这个订货系统的需求可以知道,仓库管理员通过放在仓库中的终端把零件入库、出库事务报告给订货系统,系统接受到事务信息之后应该处理事务;采购员需要使用订货系统提供的产生报表功能,以获取订货报表。综上所述,可以画出下图所示的用例图。

5.简述面向对象分析(OOA)过程中完成的主要工作。

运用面向对象方法,对问题域(被开发系统的应用领域)和系统责任(所开发系统应具备的职能)进行分析和理解,对其中的事物和它们之间的关系产生正确的认识,找出描述问题域和系统责任所需的类和对象,定义这些类和对象的属性和操作,以及它们之间所形成的各种关系。最终目的是产生一个符合用户需求,并能够直接反映问题域和系统责任的OOA模型及其规约。

6.面向对象设计(OOD)的任务是什么?说明OOD与OOA的联系和区别。

OOA的主要任务是提取和整理用户需求,对问题域进行分析,找出问题域中的对象,确定其属性和操作以及对象之间的关系,提出问题域的对象模型,较好地解决了要让所开发的软件“做什么(What to do)”的问题,并在软件需求规格说明书中详尽地阐明了这些需求。

区别:OOA的主要工作是软件的需求,对要解决的问题进行分析,同时建立一些对象的模型;OOD的主要工作是对软件系统的设计和规划,包含的工作为问题域部分的设计和人机交互与应用控制部分的设计。OOA重点在于业务需求的分析,而OOD需在前述的问题基础上设计软件结构。

联系:OOD的主要工作是使用OOA的结果,将OOA得出的问题,给予设计方案解决。

可以说,OOA是OOD的基础。OOA 中的5个层次和5个活动继续贯穿在OOD过程中。

OOA需要尽可能分析出需求、所需要完成的问题,至于问题的解,就在于OOD阶段。

——————————————————————————————————————注:1、作业以word文件格式提交;

2、在作业页面的页眉中,标清楚:班级、学号、姓名