当前位置:首页 → 计算机类 → 软件水平考试 → 高级信息系统项目管理师->企业将某些业务外包,可能会给发包企业带来一些风险,这些风险不
企业将某些业务外包,可能会给发包企业带来一些风险,这些风险不包括 ( ) 。
外包是企业利用外部的专业资源为己服务,从而达到降低成本、提高效率、充分发挥自身核心竞争力乃至增强自身应变能为的一种管理模式,带来的主要风险有:与客户联系减少进而失去客户,企业内部知识流失,服务质量降低。
某营销企业拟开发一个销售管理系统,其主要动能描述如下。
(1)接受客户订单,检查库存货物是否满足订单要求。如果满足,进行供货处理,即修改库存记录文件,给库房开具备货单并且保留客户订单至订单记录文件;否则进行缺货处理,即将缺货记录单存入缺货记录文件
(2)根据缺货记录文件进行缺货统计,将缺货通知单发给采购部门
(3)根据采购部门提供进货通知单进行进货处理,即修改库存记录文件,并从缺货记录文件中取出缺货订单进行供货处理
(4)根据保留客户订单进行销售统计,打印统计报表给经理
现采用结构化方法对销售管理系统进行分析与设计,获得如图1-7所示顶层数据流图和如图1-8所示0层数据流图。
【问题1】
使用说明中词语,给出图1-7所示外部实体E1-E4名称
【问题2】
使用说明中词语,给出图1-8所示数据存储D1-D3名称
【问题3】
0层数据流图1-8中缺少了4条数据流,根据说明及顶层数据流图1-7所提供信息,分别指出这4条数据流起点和终点
补充数据流
某客户信息管理系统中保存着两类客户信息:
(1)个人客户。对于这类客户,系统保存了其客户标识(由系统生成)和基本信息(包括姓名、住宅电话和E-mail)
(2)集团客户。集团客户可以创建和管理自己若干名联系人。对于这类客户,系统除了保存其客户标识(由系统生成)之外,也保存了其联系人信息。联系人信息包括姓名、住宅电话、E-mail、办公电话以及职位
该系统除了可以保存客户信息之外,还具有以下功能:
(1)向系统中添加客户(addCustomer)
(2)根据给定客户标识,在系统中查找该客户(getCustomer)
(3)根据给定客户标识,从系统中删除该客户(removeCustomer)
(4)创建新联系人(addContact)
(5)在系统中查找指定联系人(getContact)
(6)从系统中删除指定联系人(removeContact)
该系统采用面向对象方法进行开发。在面向对象分析阶段,根据上述描述,得到如表2-5所示类
表2-5 得到各种类
类名说明
CustomerInformationSystem客户信息管理系统
IndividualCustomer个人客户
InstitutionalCustomer集团客户
Contact联系人
描述该客户信息管理系统UML类图如图2-26所示
图2-26 客户信息管理系统UML类图
【问题1】
请使用说明中术语,给出图2-26中类Customer和类Person属性
【问题2】
识别关联多重度是面向对象建模过程中一个重要步骤。根据说明中给出描述,完成图中(1)~(6)
【问题3】
根据说明中叙述,抽象出如表2-6所示方法,请指出图2-26中类CustomerInformationSystem和InstitutionalCustomer应分别具有其中哪些方法
表2-6 抽象出方法
阅读下列说明和C++代码,填写程序中空(1)~(6),将解答写入答题纸对应栏内。
【说明】
以下C++代码实现一个简单绘图工具,绘制不同形状以及不同颜色图形。部分类及其关系如图6-1所示。
【C++代码】
#include?#include?using?namespace?std;class?DrawCircle?{??????//绘制圆形,抽象类? ? ? public: (1);//定义参数为?int?radius,?int?x,?inty? ?virtual~DrawCircle()?{?}};class?RedCircle:public?DrawCircle?{????//绘制红色圆形? ? ? ? public: void?drawCircle(intradius,?int?x,?int?y)?{cout?<<?"Drawing?Circle[red,radius:<<radius;? ? ? ? ? ? ? cout?<<?",x:?"?<<x<<?",y:"<<y<<?"]"?<<?end1;? ?}};class?GreenCircle:public?DrawCircle?{????//绘制绿色圆形? ? ? public:? ?void?drawCircle(int?radius,?int?x,?int?y)?{ cout?<<"Drawing?Circle[green,radius:?"<<?radius;? ? ? ? ? ? ? ? ? ? ? ?cout?<<",x:?"?<<x<<?",y:?"<<y<<?"]"?<<?end1;? }};class?Shape?{????//形状,抽象类? ? ? protected:? (2);? ? ? public:? ?Shape(DrawCircle*drawCircle)?{? this?->?drawCircle?=?drawCircle;? }? ?virtual~shape()?{?}? public:? ?virtual?void?draw()?=?0;};class?Circle:public?Shape?{????//圆形? ? private:? ? ?int?x,y,radius;? ? public:? Circle(int?x,inty,int?radius,DrawCircle?*drawCircle)? (3)? {? this->x?=?x;? ?this->y?=?y;? ? this->radius?=?radius; }? ? ? public:? void?draw(){? drawCircle?-> (4); }};int?main(){Shape?*redCirclenew?Circle(100,100,10,????(5)????);//绘制红色圆形? Shape?*greenCircle=new?Circle(100,100,10, (6)??);//绘制绿色圆形redCircle >draw();? ?greenCircle?->draw();? ?return?0;}
阅读下列说明和C++代码,填补代码中空缺,将解答填入答题纸对应栏内。
【说明】
以下C++代码实现一个超市简单销售系统中部分功能,顾客选择图书等物品(Item)加入购物车(ShoppingCart),到收银台(Cashier)对每个购物车中物品统计其价格进行结账,设计如图6-1所示类图。
【C++代码】
using namespace std;class Book;class Visitor {public: virtual void visit(Book* book)=0; //其它物品visit方法}; class Item {public:virtual void accept(Visitor* visitor)=0; virtual doublegetPrice()=0;};class Book (1){private: double price;public: Book (double price){ //访问本元素 (2); } void accept(Visitor* visitor) { (3); }double getPrice(){ returnprice; }};class Cashier(4){private; double totalForCart;public: //访问Book类型对象价格并累加 (5){ //假设Book类型物品价格超过10元打8折 if(book->getPrice()getPrice(); } else totalForCart+=book->getPrice()*0.8; } //其它visit方法和折扣策略类似,此处略 double getTotal() { return totalForCart; }};class ShoppingCart {private: vector<item*>items;public: double calculatePrice() { Cashier* visitor=new Cashier(); for(int i=0;i <items.size();i++) (6); } double total=visitor->getTotal(); return total; } void add(Item*e) { items.push_back(e); }};
阅读以下说明和Java程序,填写程序中空(1)~(6),将解答写入答题纸对应栏内。
【说明】
以下Java代码实现一个简单绘图工具,绘制不同形状以及不同颜色图形。部分接口、类及其关系如图5-1所示。
【Java代码】
interface?DrawCircle?{? //绘制圆形 public(1) ;}class?RedCircle?implements?DrawCircle?{? ?//绘制红色圆形???????public?void?drawCircle(int?radius,intx,?int?y)??{????????????System.out.println("Drawing?Circle[red,radius:"?+?radius?+",x:"?+?x?+?",y:"?+y+?"]");???????}}class?GreenCircle?implements?DrawCircle?{????//绘制绿色圆形??????public?void?drawCircle(int?radius,?int?x,int?y)?{???????????System.out.println("Drawing?Circle[green,radius:"?+radius+",x:?"?+x+?",y:?"?+y+?"]");??????}}abstract?class?Shape?{????//形状? protected? ? (2)???;? ? public?Shape(DrawCircle?drawCircle)?{? ?this.drawCircle=?drawCircle;? ? ? public?abstract?void?draw();}class?Circle?extends?Shape?{? //圆形? ?private?int?x,y,radius;? public?Circle(int?x,int?y,intradius,DrawCircle?drawCircle)?{? ?(3)???;? this.x?=?x;? ? ? this.y?=?y;? ?this.radius?=radius;? }? ? ?public?void?draw()?{? ? drawCircle.? ?(4)? ?;? ? ? }}public?class?DrawCircleMain?{? public?static?void?main(String[]?args)?{? Shape?redCircle=new?Circle(?100,100,10,? (5) );//绘制红色圆形? Shape?greenCircle=new?Circle(200,200,10,(6) );//绘制绿色圆形? ?redCircle.draw(); greenCircle.draw();? ?}}
某集团公司拥有多个大型连锁商场,公司需要构建一个数据库系统以方便管理其业务运作活动。
【需求分析结果】
(1)商场需要记录信息包括商场编号(编号惟一)、商场名称、地址和联系电话。某商场信息如表3-4所示。
表3-4 商场信息表
(2)每个商场包含不同部门,部门需要记录信息包括部门编号(集团公司分配)、部门名称、位置分布和联系电话。某商场部门信息如表3-5所示。
表3-5 部门信息表
(3)每个部门雇佣多名员工处理日常事务,每名员工只能隶属一个部门(新进员工在培训期不隶属于任何部门)。员工需要记录信息包括员工编号(集团公司分配)、姓名、岗位、电话号码和工资。员工信息如表3-6所示。
表3-6 员工信息表
(4)每个部门员工中有一名是经理,每个经理只能管理一个部门,系统需要记录每个经理任职时间。
【概念模型设计】
根据需求阶段搜集信息,设计实体联系图(如图3-17)和关系模式(不完整)。
【关系模式设计】
商场(商场编号,商场名称,地址,联系电话)
部门(部门编号,部门名称,位置分布,联系电话,(a))
员工(员工编号,员工姓名,岗位,电话号码,工资,(b))
经理((c),任职时间)
【问题1】
根据问题描述,补充4个联系,完善图3-17所示实体联系图。联系名可用联系1、联系2、联系3和联系4代替,联系类型分为1:1、1:n和m:n。
【问题2】
根据实体联系图,将关系模式中空(a)-(c)补充完整,并分别给出部门、员工和经理 ?关系模式主键和外键。
【问题3】
为了使商场有紧急事务时能联系到轮休员工,要求每位员工必须且只能登记一位紧急联系人姓名和联系电话,不同员工可以登记相同紧急联系人。则在图3-17中还需添加实体是(1),该实体和图3-17中员工存在(2)联系(填写联系类型)。给出该实体关系模式。
在求解某问题时,经过分析发现该问题具有最优子结构性质,若定义问题解空间,以深度优先方式搜索解空间,则采用( )算法设计策略。
某公司销售数据库商品、仓库关系模式及函数依赖集F1、F2如下:
商品(商品号,商品名称,生产商,单价),F1={商品号→商品名称,商品号→生产商,商品号→单价)},商品关系主键是( )。仓库(仓库号,地址,电话,商品号,库存量),F2={仓库号→(地址,电话),(仓库号,商品号)→库存量}。仓库关系主键是( ),外键是( )。
仓库关系模式(请作答此空),为了解决这一问题,需要将仓库关系分解为( )。
考虑下述背包问题实例。有5件物品,背包容量为100,每件物品价值和重量如下表所示,并已经按照物品单位重量价值从大到小徘好序,根据物品单位重量价值大优先策略装入背包中,则采用了( )设计策略。考虑0/1背包问题(每件物品或者全部放入或者全部不装入背包)和部分背包问题(物品可以部分装入背包),求解该实例,得到最大价值分别为(请作答此空)。