问答题


阅读下列说明和图,回答问题1至问题4,将解答填入对应栏内。
【说明】
某宾馆拟开发一个宾馆客房预订子系统,主要是针对客房的预订和入住等情况进行管理。
【需求分析结果】
1.员工信息主要包括:员工号、姓名、出生年月、性别、部门、岗位、住址、联系电话和密码等信息。岗位有管理和服务两种。岗位为“管理”的员工可以更改(添加、删除和修改)员工表中本部门员工的岗位和密码,要求将每一次更改前的信息保留;岗位为“服务”的员工只能修改员工表中本人的密码,且负责多个客房的清理等工作。
2.部门信息主要包括:部门号、部门名称、部门负责人、电话等信息。一个员工只能属于一个部门,一个部门只有一位负责人。
3.客房信息包括:客房号、类型、价格、状态等信息。其中类型是指单人间、三人间、普通标准间、豪华标准间等;状态是指空闲、入住和维修。
4.客户信息包括:身份证号、姓名、性别、单位和联系电话。
5.客房预定情况包括:客房号、预定日期、预定入住日期、预定入住天数、身份证号等信息。一条预定信息必须且仅对应一位客户,但一位客户可以有多条预定信息。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图(不完整)如下图所示。


【逻辑结构设计】
逻辑结构设计阶段设计的部分关系模式(不完整)如下:
员工( (4) ,姓名,出生年月,性别,岗位,住址,联系电话,密码)
权限(岗位,操作权限)
部门(部门号,部门名称,部门负责人,电话)
客房( (5) ,类型,价格,状态,入住日期,入住时间,员工号)
客户( (6) ,姓名,性别,单位,联系电话)
更改权限(员工号, (7) ,密码,更改日期,更改时间,管理员号)
预定情况( (8) ,预定日期,预定入住日期,预定入住天数)
【问题3】
根据需求分析结果和上图,将逻辑结构设计阶段生成的关系模式中的空(4)~(8)补充完整。(注:一个空可能需要填多个属性)

【参考答案】

[问题3] (4)员工号,部门号 (5)客房号 (6)身份证号 (7)岗位 (8)客房号,身份证号
热门 试题

问答题
【说明】已知某类库开发商捉供了一套类库,类库中定义了Application类和Document类,它们之间的关系如下图所示,其中,Application类表示应用程序自身,而Document类则表示应用程序打开的文档。Application类负责打开一个已有的以外部形式存储的文档,如一个文件,一旦从该文件中读出信息后,它就由一个Document对象表示。当开发一个具体的应用程序时,开发者需要分别创建自己的Application和Document子类,例如上图中的类MyApplication和类MyDocument,并分别实现Application和 Document类中的某些方法。已知Application类中的openDocument方法采用了模板方法(Template Method)设计模式,该方法定义了打开文档的每一个主要步骤,如下所示:1.首先检查文档是否能够被打开,若不能打开,则给出出错信息并返回;2.创建文档对象;3.通过文档对象打开文档;4.通过文档对象读取文档信息;5.将文档对象加入到Application的文档对象集合中。【Java代码】abstract class Document{public void save(){ *存储文档数据,此处代码省略* )public void open(String docName){ *打开文档,此处代码省略* )public void close(){ *关闭文档,此处代码省略* )public abstract void read(String docName);};abstract class Appplication{private Vector< (1) > docs; *文档对象集合* public boolean canOpenDocument(String docName){ *判断是否可以打开指定文档,返回真值时表示可以打开,返回假值表示不可打开,此处代码省略* }public void addDocument(Document aDocument){ *将文档对象添加到文档对象集合中* docs.add( (2) );}public abstract Document doCreateDocument(); *创建一个文档对象* public void openDocument(String docName){ *打开文档* if ( (3) ) {System.out.println(“文档无法打开!”);return;}(4) adoc= (5) ;(6) ;(7) ;(8) ;}};