从下列 4 道试题(试题二至试题五)中任选 2 道解答。如果解答的试题数超过2道,则题号小的 2 道解答有效。试题二(共25分)阅读以下关于软件系统数据架构建模的说明,在答题纸上回答问题1至问题 3。【说明】RMO 是一家运动服装制造销售公司,计划在五年时间内将销售区域从华南地区扩展至全国范围。为了扩大信息技术对于未来业务发展的价值,公司邀请咨询顾问帮助他们制订战略信息系统规划。经过评审,咨询顾问给出的战略规划要点之一是建立客户关系支持系统CRSS。 RMO 公司决定由其技术部成立专门的项目组负责 CRS

题目

从下列 4 道试题(试题二至试题五)中任选 2 道解答。如果解答的试题数超过2道,则题号小的 2 道解答有效。

试题二(共25分)

阅读以下关于软件系统数据架构建模的说明,在答题纸上回答问题1至问题 3。

【说明】

RMO 是一家运动服装制造销售公司,计划在五年时间内将销售区域从华南地区扩展至全国范围。为了扩大信息技术对于未来业务发展的价值,公司邀请咨询顾问帮助他们制订战略信息系统规划。经过评审,咨询顾问给出的战略规划要点之一是建立客户关系支持系统CRSS。 RMO 公司决定由其技术部成立专门的项目组负责 CRSS的开发和维护工作。

项目组在仔细调研和分析系统需求的基础上, 确定了基于互联网的CRSS系统架构。但在确定系统数据架构时,张工认为应该采用集中式的数据架构,给出的理由是结构简单、易维护且开发及运行成本低;而刘工建议采用分布式的数据架构,并提出在开发中通过“局部数据库+缓存”的读写分离结构实现,具有较好的运行性能和可扩展性。

项目组经过集体讨论,考虑到公司的未来发展规划,最终采用了刘工的建议。

【问题1】 (8分)

请用300字以内的文字,说明张工和刘工提出的数据架构的基本思想。

【问题2】 (13分)

在刘工建议的基础上,为了避免 CRSS系统的单点故障,请用 200字以内文字简要说明如何建立CRSS的数据库系统;对于数据的读取、添加、更改和删除操作分别如何实现。

【问题3】 (4分)

RMO 公司销售区域将在未来五年大面积扩展,其潜在客户数量也会因此大幅度增加,所以良好的可扩展性是CRSS系统所必需的质量属性。请分别说明在集中式和分布式数据架构下,可以采用哪些方法提升系统的可扩展性。


相似考题
更多“从下列 4 道试题(试题二至试题五)中任选 2 道解答。如果解答的试题数超过2道,则题号小的 2 道解答 ”相关问题
  • 第1题:

    从下列的2道试题(试题五和试题六)中任选 1道解答。如果解答的试题数超过1道,则题号小的 1 道解答有效。

    试题五(共15分)

    阅读下列说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

    【说明】

    某公司的组织结构图如图5-1所示,现采用组合(Composition)设计模式来构造该公司的组织结构,得到如图5-2所示的类图。

    其中 Company 为抽象类,定义了在组织结构图上添加(Add)和删除(Delete)分公司/办事处或者部门的方法接口。类ConcreteCompany表示具体的分公司或者办事处,分公司或办事处下可以设置不同的部门。类HRDepartment和 FinanceDepartment分别表示人力资源部和财务部。

    【C++代码】

    include <iostream>

    include <list>

    include <string>

    using namespace std;

    class Company { // 抽象类

    protected:

    string name;

    public:

    Company(string name) { (1) = name; }

    (2) ; // 增加子公司、办事处或部门

    (3) ; // 删除子公司、办事处或部门

    };

    class ConcreteCompany : public Company {

    private:

    list< (4) > children; // 存储子公司、办事处或部门

    public:

    ConcreteCompany(string name) : Company(name) { }

    void Add(Company* c) { (5) .push_back(c); }

    void Delete(Company* c) { (6) .remove(c); }

    };

    class HRDepartment : public Company {

    public:

    HRDepartment(string name) : Company(name) {} // 其它代码省略

    };

    class FinanceDepartment : public Company {

    public:

    FinanceDepartment(string name) : Company(name) {} // 其它代码省略

    };

    void main() {

    ConcreteCompany *root = new ComcreteCompany("北京总公司");

    root->Add(new HRDepartment("总公司人力资源部"));

    root->Add(new FinanceDepartment("总公司财务部"));

    ConcreteCompany *comp = new ConcreteCompany("上海分公司");

    comp->Add(new HRDepartment("上海分公司人力资源部"));

    comp->Add(new FinanceDepartment("上海分公司财务部"));

    (7) ;

    ConcreteCompany *comp1 = new ConcreteCompany("南京办事处");

    comp1->Add(new HRDepartment("南京办事处人力资源部"));

    comp1->Add(new FinanceDepartment("南京办事处财务部"));

    (8) ; //其它代码省略

    }


    正确答案:
    试题五(共15分)
    (1)this->name(1分)
    (2)virtual void Add(Company* c) = 0(2分)
    (3)virtual void Delete(Company* c) = 0(2分)
    (4)Company*(2分)
    (5)children(2分)
    (6)children(2分)
    (7)root->Add(comp)(2分)
    (8)comp->Add(comp1)(2分)

  • 第2题:

    阅读案例,并回答问题。
    下面为一道物理试题和某同学的解答过程。

    求:
    (1)外力F的最大值;
    (2)在滑动过程中通过金属棒的电流I与时间t的关系。

    问题:
    (1)指出此道试题检测了学生所学的哪些知识点。
    (2)给出正确的解题过程。
    (3)针对学生解题过程存在的问题,设计一个教学片段,帮助学生解决此类问题。


    答案:
    解析:
    (1)本题考查法拉第电磁感应定律、欧姆定律、安培力等知识点。
    (2)正确解题过程:
    (1)导体棒在运动过程中,速度恒定。由题意可知,当导体棒运动到A点时,导体棒产生的电动势的值最大,产生的电流最大。

    (2)导体棒在磁场中运动所经过的时间t与距离坐标原点的位置关系x=vt

    (3)教学片段
    师:同学们,通过分析题目,我们知道这是一道关于电磁感应的综合应用题。要求解外力F的最大值.我们
    需要先分析金属棒的运动情况。大家看一下金属棒做什么运动
    生:匀速直线运动。
    师:没错。那么对金属棒受力分析,它受到了哪些力呢
    生:竖直方向上,支持力和重力等大反向;水平方向上,外力F和安培力等大反向;合外力为零。
    师:恩,同学们都很聪明。现在我们要求解外力F的最大值,是不是只要知道安培力的最大值就可以呢

    当L最大的时候,也
    就是安培力最大的时候。
    师:那么现在大家想想,当金属棒运动到哪个位置,三最大呢R总又应该怎么计算呢
    生:当棒运动到A时,£最大。根据串联电路电阻的关系,R总=尺。+R:。
    师:大家仔细分析一下,当金属棒切割磁感线时,金属棒就相当于电源,那么两个电阻是并联还是串联关系呢大家可以画等效电路图分析一下。

    生:并联。
    师:很好,大家跟着老师一起来画一下。根据右手定则上面为正极,下面为负极,是不是这样的呢

    师:非常棒。这道题的关键就在此。很多同学会因为算错电阻而错解。在电磁感应现象中,大家要注意等效
    电源,找到等效电源之后,再根据串并联电路的特点去分析。此外解题要对题目进行分析,并配以必要的文字说明。大家知道了吗
    生:知道了。
    师:接下来,做错这道题的同学再重新整理一遍,其他同学预习下一节课内容。
    (老师巡视,进行个性化答疑指导)

  • 第3题:

    5道选择+3道填空+2道解答


    12种

  • 第4题:

    从下列2道试题(试题五至试题六)中任选 1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。

    试题五(共15分)

    阅读以下说明、图和C++代码,填补C++代码中的空缺(1)~(5),将解答写在答题纸的对应栏内。

    【说明】

    已知对某几何图形绘制工具进行类建模的结果如图5.1所示,其中Shape为抽象类(应至少包含一个纯虚拟( virtual)函数),表示通用图形,Box表示矩形,Ellipse表示椭圆,Circle表示圆(即特殊的椭圆),Line表示线条。

    下面的C++代码用于实现图5-1所给出的设计思路,将其空缺处填充完整并编译运行,输

    出结果为:

    Ellipse

    Circle

    Ellipse

    C

    E

    【C++代码】

    include <string>

    include <iostream>

    using namespace std;

    class Shape{

    public:

    Shape(const string& name){

    m_name= name;

    }

    ~Shape(){}

    (1) void paint() = 0;

    stringgetName()const {

    retumm name;

    }

    Private:

    string m_name;

    };

    //Box和 Line类的定义与 Ellipse类似,其代码略

    classEllipse (2) {

    public:

    Ellipse(const string& name) : Shape(name){ cout<<"Ellipse" <<endl; }

    Voidpaint() { cout<<getName()<<endl;}

    };

    classCircle (3) {

    public:

    Circle(const string& name) : Ellipse(name){ cout<<"Circl"<<endl; }

    };

    class Diagram {

    public:

    void drawAShap(Shape* shape){ shape->paint(); }

    void drawShapes() {

    shapes[0] = new Circle("C");

    shapes[l] = new Ellipse("E");

    for (int i=O;i<2; ++1) {

    drawAShap(shapes[i]);

    }

    }

    void close (){ /*删除形状,代码略 */ }

    private:

    Shape* shapes[2];

    };

    int main( )

    {

    Diagram* diagram = (4)

    diagram->drawShapes();

    diagram->close ();

    (5) diagram;

    }


    正确答案:
    试题五分析
    本题考查C++语言程序设计的能力,涉及类和抽象类、对象、函数和虚函数的定义和相关操作,以及继承关系。要求考生根据给出的案例和执行过程说明,认真阅读理清程序思路,然后完成题目。
    先考查类图整体结构。本题中根据类图定义了类:Diagram、Shape、 Box、 Ellipse、Line和Circle。其中Shape为抽象类,表示通用图形,抽象类中应至少包含一个纯虚拟( virtual)函数。Box表示矩形,Ellipse表示椭圆,Line表示线条,三者都是Shape的子类,继承了Shape类,Circle表示圆(即特殊的椭圆),继承了Ellipse。抽象类Shape的定义中,需要通过使用virtual标识虚函数,void paint()=0;表示paint()是纯虚函数,其定义前必须添加virtual进行表示。类Ellipse为Shape的子类,Circle为Ellipse的子类,需要在代码中体现出继承。另外,在子类的构造函数中,调用父类的构造函数,所以继承的权限为public。其语法为:public后加类名。
    类Diagram中没有定义构造函数,编译器生成一个缺省的构造函数,调用是采用new关键字加类名。使用完成之后,通过delete进行释放。
    因此空(1)需要表现出paint()函数为纯虚函数,即为virtual;空(2)和空(3)处添力口继承父类,并且权限为public,即为:public Shape和:public Ellipse;空(4)处补充通过使用编译器生成的缺省构造函数创建对象,即new Diagram;空(5)处通过delete释放new创建的对象diagram。
    参考答案
    (1) virtual
    (2):public Shape
    (3): public Ellipse
    (4) new Diagram
    (5) delete

  • 第5题:

    某单位招聘面试,每次从试题库调用一道试题,若调用的是A类型试题,则使用后该试题回库,并增补一道A类型试题和一道B类型试题入库,此次调题工作结束;若调用的是B类型试题,则使用后该试题回库,此次调题结束。试题库中现有n+m道试题,其中有n道A类型试题和m道B类型试题,以x表示两次调题工作完成后,试题库中A类型试题数量。
    (1)求X=n+2的概率;
    (2)设n=m,求X的分布列和均值.


    答案:
    解析: