软件设计应用技术2021年1月21日每日一练
问答题[说明] 一个描述学校的部分关系模式的结果描述如下: 1.一个系有若干学生,但一个学生只能在一个系; 2.一个系只有一名主任; 3.一个学生可以选修多门课程,每门课程有若干学生选修; 4.每个学生所学的每门课程都有一个成绩; 5.“学生”和“课程表”及“选课表”的关系示例分别如表9-1、表9-2、表9-3所示。 Student(学生表)的字段按顺序为学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所属院系(Sdept)、系主任(Smaster); Course(课程表)的字段按顺序为课程编号(Cno)、课程名(Cname)、先行课程(Cpno)、课程学分 (Ccredit); SC(选课表)的字段按顺序为学号(Sno)、课程号(Cno)、成绩(Grade)。 各表的记录如下: 表9-1 Student Sno Sname Ssex Sage Sdept Smaster 95001 李勇 男 20 CS 王平 95002 刘晨 女 19 IS 周言 95003 王明 女 18 MA 展评 95004 张立 男 19 IS 周言                                       表9-2 Course Cno Cname Cpno Ceredit 1  数据库 5 4 2  数学 2 3  信息系统 1 4 4  操作系统 6 3 5  数据结构 7 4 6  数据处理 2 7  PASCAL 6 4                                       表9-3 SC  Sno  Cno  Grade  95001  1  92  95001  2  85  95001  3  88  95002  2  90  95003  3  801. [问题1] 试分析该关系模式中的函数依赖,并指出关系模式的候地选码。
进入题库练习
问答题[说明]某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征如下表所示。游戏需要模拟的鸭子种类及其特征鸭子种类发声特征飞行特征外观特征灰鸭(MallardDuck)发出“嘎嘎”声(Quack)用翅膀飞行(FlyWithWings)灰色羽毛红头鸭(RedHeadDuck)发出“嘎嘎”声(Quack)用翅膀飞行(FlyWithWings)灰色羽毛、头部红色棉花鸭(CottonDuck)不发声(QuackNoWay)不能飞行(FlyNoWay)白色橡皮鸭(RubberDuck)发出橡皮与空气摩擦的声音(Squeak)不能飞行(FlyNoWrdy)黑白橡皮色为支持将来能够模拟更多种类鸭子的特征,采用策略设计模式(Strategy)设计的类图如下图所示。其中,Duck为抽象类,描述了抽象的鸭子,而类RubberDuck、MallardDuck、CottonDuck和RedHeadDuck分别描述具体的鸭子种类,方法fly()、quack()display()分别表示不同种类的鸭子都具有飞行特征、发声特征和外观特征;类FlyBehavior与QuackBehavior为抽象类,分别用于表示抽象的飞行行为与发声行为;类FlyNoWay与FlyWithWings分别描述不能飞行的行为和用翅膀飞行的行为;类Quack、Squeak与QuackNoWay分别描述发出“嘎嘎”声的行为、发出橡皮与空气摩擦声的行为与不发声的行为。请填补以下代码中的空缺。[C++程序]#include<iostream>usingnamespace______;classFlyBehavior{public:______fly()=0;};classQuackBehavior{public:______quack()=0;};classFlyWithWings:publicFlyBehavior{public:voidfly(){cout<<"使用翅膀飞行!"<<end1;}};classFlyNoWay:publicFlyBehavior{public:voidfly(){cout<<"不能飞行!"<<end1;}};classQuack:publicQuackBehavior{public:voidquack(){cout<<"发出"嘎嘎"/声!"<<end1;}};classSqueak:publicQuackBehavior{public:voidquack(){cout<<"发出空气与橡皮摩擦声!"<<end1;}};classQuackNoWay:publicQuackBehavior{public:voidquack(){cout<<"不能发声!"<<end1;}};ClassDuck{protected:FlyBehavior*______;QuackBehavior*______;public:voidfly(){______;}voidquack(){______;}virtualvoiddisplay()=0;};classRubberDuck:publicDuck{public:RubberDuck(){flyBehavior=new______;quackBehavior=new______;}~RubberDuck(){if(!flyBehaVior)deleteflyBehavior;if(!quackBehavior)deletequackBehaVior;}Voiddisplay(){/*此处省略显示橡皮鸭的代码*/};//其他代码省略
进入题库练习
填空题 如下的SQL语句是用于查询“每个学生的选修课程数、总成绩、平均成绩”的不完整语句,请在空缺处填入正确的内容。 SELECT Student.SNo,{{U}} (1) {{/U}},SUM(Grade),AVG(Grade) FROM Student,Grade WHERE Student.SNo=Grade.SNo, GROUP BY{{U}} (2) {{/U}};
进入题库练习
问答题【说明】某教学管理系统的用户是教学管理人员、教师和学生。系统主要提供学生选课管理和学生成绩管理两方面的功能。(1)学生选修课管理主要功能是管理新学期开始时,学生对选修的课程进行选课注册工作。新学期开始后的前两周为学生试听、选课注册时间;允许校内各院系学生跨专业跨年级选修课程;学生可以在校园网的任何一个终端进行选课。①新学期选修课程表生成:各学院教学管理人员在新学期开始前,将准备开设的选修课程名称、课程代码、总课时、上课时间、学分、任课教师和上课教室录入系统,供学生选课使用。新学期开学两周后,系统自动将实际选课学生少于10人的课程停开,并删除该课程;教学管理人员打印学生选课注册名单和开课通知书,送交有关部门和任课教师。②学生选课注册:新学期开学前两周为学生试听、选课注册时间,并允许改变或取消注册申请。学生调用待选课程表,系统显示课程名、课程代码、任课教师、上课时间、总课时、上课教室、学分和本课程已选修人数。学生所选几门课程在上课时间上不能冲突;若一门课程实际选课学生已达到40人时,停止选课。当学生退出系统时,系统提示该学生所选的几门课程、任课教师、上课时间、教室、学分和学分总计。③选修课程查询:选修课程表信息查询,用户是教师、学生和教学管理人员。系统显示课程名、课程代码、任课教师、上课时间、总课时、上课教室、学分和本课程已选修人数。查询关键词可为学院名称、专业、授课教师等。学生选课情况查询:教师和教学管理人员可以查看学生的选课情况。查询关键词可以为学生姓名(学号)、课程名称(课程代码)、授课教师等。学生只能查自己所选课程内容,不允许查其他同学选课情况。教师简历查询:用户是学生、教师和教学管理人员。查询关键词可为教师姓名、性别、职称、年龄等单关键词或组合关键词。④信息统计与报表生成:各学院教学管理人员对学生选课注册信息进行统计(按课程、专业等),打印汇总报表。⑤把学生选课注册信息传送到财务管理系统,计算学生应交纳的费用。(2)学生成绩管理①学生考试成绩录入:各学院教学管理人员将学生考试成绩录入系统。录入学生成绩时,系统自动检查财务系统传来的选课交费信息,核对该学生是否已经交纳本门课程的费用,没有交纳费用者,不给成绩。②成绩查询:教师和教学管理人员可查询学生各门课程的成绩。查询关键词可为学生姓名(学号),课程名(课程代码)等。学生只能查自己各门课程的成绩,不允许查其他同学成绩。③成绩汇总与报表生成:教学管理人员对学生考试成绩信息进行统计(按学生、课程、专业等),打印汇总报表。向学校教务管理系统发送汇总信息表格等,不反馈信息。现在已建立教学管理最高层用例图,如下:
进入题库练习
问答题【说明】 通常情况下,用户可以对应用系统进行配置,并将配置信息保存在配置文件中,应用系统在启动时首先将配置文件加载到内存中,这些内存配置信息应该有且仅有一份。 下面的代码应用了单身模式(Singleton)以保证Configure类只能有一个实例。这样,Configure类的使用者无法定义该类的多个实例,否则会产生编译错误。 # include <iostream.h> class Configure{ {{U}} (1) {{/U}}; Configure(){}; //构造函数 public: static Configure *Instance(); public: int GetConfigureData(){return data;} //获取配置信息 int SetConfigureDate(int m_data) {data=m_data; return data;} //设置配置信息 private: static Configure* _instance; int data; //配置信息 }; {{U}} (2) {{/U}}=NULL; Configure * Configure∷Instance() { if(_instance==NULL) { _instance={{U}} (3) {{/U}}; //加载配置文件并设置内存配置信息,此处省略 } return{{U}} (4) {{/U}}; } void main() { Configure *t=NULL; t={{U}} (5) {{/U}}; int d=t->GetConfigureData(); //获取配置信息后进行其它工作,此处省略 }
进入题库练习
问答题【说明】 以下C++程序的功能是计算三角形、矩形和正方形的面积并输出。程序由4个类组成:类Triangle、Rectangle和Square分别表示三角形、矩形和正方形;抽象类Figure提供了一个纯虚拟函数getArea(),作为计算上述3种图形面积的通用接口。 #include<iostream.b> #include<math.h> class Figure public: virtual double getArea0=0; //纯虚拟函数 ; class Rectangle: (1) protected: double height; double width; public: Rectangle(); Rectangle(double height, double width) This->height=height; This->width=width; double getarea() return (2) ; ; class Square: (3) public: Square(double width) (4) ; ; class Triangle: (5) double la; double lb; double lc; public: Triangle(double la, double lb, double lc) this->la=la; this->lb; this->lc; double getArea() double s=(la+lb+lc)/2.0; return sqrt(s*(s-la)**(s-lb)*(s-lc)); ; viod main() Figure* figures[3]= new Triangle(2,3,3), new Rectangle(5,8), new Square(5)); for(int i=0;i<3;i++) cout<<"figures["<<i<<"]area="<<(figures[i])->getarea()<<endl;
进入题库练习
问答题[问题2] Web Service的三个基本技术是WSDL、SOAP、UDDI,它们都是以XML为基础定义的。请用120字以内文字,简要说明WSDL、SOAP和UDDI的作用。
进入题库练习
问答题阅读以下某人才信息交流网数据库设计的技术说明和图,根据要求回答问题1~问题5。[说明]某市人才交流中心为促进当地人力资源的合理配置,加强当地企业与人才的沟通,拟建立人才信息交流网。[需求分析结果]1.每个前来登记的个人需填写《人才入库登记表》,如表2-17所示,并出示相关证件,经工作人员审核后录入个人信息。{{B}}表2-17人才入库登记表{{/B}}个人编号:_______              登记日期:___年___月___日姓名性别出生日期照片籍贯身份证号毕业院校专业学历证书名称1.编号2.移动电话家庭电话电子邮件求职意向及薪水职位名称最低薪水备注1.2.个人简历及特长  2.每个前来登记的企业需填写《企业信息登记表》,如表2-18所示,并出示相关证明及复印件,经工作人员核实后录入企业信息。  3.个人和企业的基本信息只需在第一次登记时填写,个人编号和企业编号由系统自动生成。个人和企业的基本信息由计算机长期存储,以后个人只需提供个人编号和求职意向信息,企业只需提供企业编号和岗位需求信息。  4.个人的求职意向信息和企业的岗位需求信息在两个工作日内由工作人员录入数据库并发布。  [概念模型设计]  根据需求阶段收集的信息,设计人才、岗位和企业的实体联系图如图2-24所示(不完整)。  {{B}}表2-18企业信息登记表{{/B}}企业编号:_______               登记日期:__年__月__日企业名称地址企业网址联系人联系电话电子邮件岗位需求职位专业学历薪水备注企业简介  [逻辑结构设计]1.将概念模型设计的实体联系图转换为以下关系模式人才(个人编号,姓名,性别,出生日期,身份证号,毕业院校,专业,学历,证书名称,证书编号,联系电话,电子邮件,个人简历及特长)企业(企业编号,企业名称,联系人,联系电话,地址,企业网址,电子邮件,企业简介)求职意向({{U}}(2){{/U}})岗位需求({{U}}(3){{/U}})2.由于一个人可能持有多个证书,因此对“人才”关系模式进行优化,得到如下两个新的关系模式人才({{U}}(4){{/U}})证书({{U}}(5){{/U}})根据上述的设计过程,回答以下问题。
进入题库练习
问答题[说明]某订单管理系统的部分UML类图如图5-15所示。图5-15中,Product表示产品,ProductList表示产品目录,Order表示产品订单,Orderltem表示产品订单中的一个条目,OrderList表示订单列表,SalesSystem提供订单管理系统的操作接口。请完善类Order的成员函数getOrderedAmount()和类SalesSystem的statistic()方法,各个类的属性及部分方法定义参见下面的C++代码。[C++代码]
进入题库练习