软件工程与项目管理 作业五
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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、在作业页面的页眉中,标清楚:班级、学号、姓名