软件设计师
阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。随着农业领域科学种植的发展,需要对农业基地及农事进行信息化管理,为租户和农户等人员提供种植相关服务。现欲开发农事管理服务平台,其主要功能是:(1)人员管理。平台管理员管理租户;租户管理农户并为其分配负责的地块。租户和农户以人员类型区分。(2)基地管理。租户填写基地名称、地域等描述信息,在显示的地图上绘制地块。(3)种植管理。租户设定作物及其从种植到采收的整个农事过程,包括农事活动及其实施计划;农户根据相应农事过程提醒进行农事活动并记录。系统会在设定时间向农户进行农事提醒;对逾期未实施活动向租户发出逾期告警。(4)投入品管理。租户统一维护化肥、杀虫剂等投入品信息,农户在农事活动中设定投入品的实际消耗。(5)信息服务。用户按查询条件发起农事信息请求,对相关地块农事活动实施情况(如与农事过程比对)等农事信息进行筛选、对比和统计等处理,并将响应信息进行展示。系统也给其他第三方软件提供API接口,通过接口访问的方式,提供账号、密码和查询条件发起农事信息请求,返回特定格式的农事信息。无查询条件时默认返回账号下的所有信息,多查询条件时返回满足全部条件的信息。现采用结构化方法对农事管理服务平台进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。
阅读下列说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明】在某系统中,类Interval代表由下界(lower bound)和上界 (upper bound) 定义的区间,要求采用不同的格式显示区间范围,如[lower bound,upper bound]、[lower bound...upper bound]、[lower bound - upper bound]等。现采用策略 (Strategy) 模式实现该要求,得到如图6-1所示的类图。【c++代码】#include <iostream>using namespace std;class Interval;class PrintStrategy {    public:               (1)      ;};class Interval {    private:        double lowerBound;        double upperBound;    public:        Interval(double p_lower, double p_upper) {               lowerBound = p_lower;               upperBound = p_upper;        }        void printInterval(PrintStrategy*ptr){                         (2)      ;         }        double getLower() {   return lowerBound;    }        double getUpper() {   return upperBound;    }};class PrintIntervalsComma : public PrintStrategy {    public:        void doPrint(Interval *val) {            cout << "[" << val->getLower() << "," << val->getUpper() << "]" << endl; }};class PrintIntervalsDots : public PrintStrategy {    public:         void doPrint(Interval *val) {             cout << "[" << val->getLower() << "..." << val->getUpper() << "]" << endl; }};class PrintIntervalsLine:public PrintStrategy {    public:        void doPrint(Interval *val) {            cout << "[" << val->getLower() << "-" << val->getUpper() << "]" << endl; }};enum TYPE {COMMA, DOTS, LINE};PrintStrategy* getStrategy(int type) {    PrintStrategy* st;    switch(type){        case COMMA:                    (3)      ;            break;        case DOTS:                    (4)      ;            break;        case LINE:                    (5)      ;            break;         }         return st;}int main() {        Interval a(1.7,2.1);        a.printInterval(getStrategy(COMMA));        a.printInterval(getStrategy(DOTS));        a.printInterval(getStrategy(LINE));        return 0;}
阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明】在某系统中,类Interval代表由下界(lower bound)和上界 (upper bound) 定义的区间,要求采用不同的格式显示区间范围,如[lower bound,upper bound]、[lower bound…upper bound]、[lower bound - upper bound]等。现采用策略 (strategy) 模式实现该要求,得到如图5-1所示的类图。【Java代码】import java.util.*;enum TYPE { COMMA, DOTS, LINE};interface PrintStrategy {    public        (1)      ;}class Interval {    private double lowerBound;    private double upperBound;    public Interval(double p_lower, double p_upper) {            lowerBound = p_lower; upperBound = p_upper;    }    public void printInterval( PrintStrategy   ptr ) {                 (2)      ;    }    public double getLower() {   retun lowerBound;    }    public double getUpper() {   return upperBound;   }}class PrintIntervalsComma implements PrintStrategy {    public void doPrint(Interval val) {        System.out.println("[" + val.getLower() + "," + val.getUpper() + "]");    }   }class PrintIntervalsDots implements PrintStrategy{    public void doPrint(Interval val) {        System.out.println("[" + val.getLower() +"…" + val.getUpper() + "]");    }  }class PrintIntervalsLine implements PrintStrategy {    public void doPrint(Interval val) {           System.out.println("[" + val.getLower() +"-" + val.getUpper() + "]");     }   }class Strategy{     public static PrintStrategy getStrategy(TYPE type) {          PrintStrategy st = null;           switch(type) {              case COMMA:                        (3)     ;                  break;              case DOTS:                         (4)     ;                   break;              case LINE:                         (5)     ;                   break;            }           return st;      }      public static void main(String[] args) {          Interval a = new Interval(1.7,2.1);          a.printInterval(getStrategy(TYPE.COMMA));          a.printInterval(getStrategy(TYPE.DOTS));          a.printInterval(getStrategy(TYPE.LINE));       }    }
2 / 467
本模块为学员专用
学员专享优势
老师批改作业 做题助教答疑
学员专用题库 高频考点梳理
成为学员