某牙科诊所拟开发一套信息系统,用于管理病人的基本信息和就诊信息。诊所工作人员包括:医护人员(DentalStaff)、接待员(Receptionist)和办公人员(OfficeStaff)等。系统主要功能需求描述如下:
1.记录病人基本信息(Maintainpatientinfo)。初次就诊的病人,由接待员将病人基本信息录入系统。病人基本信息包括病人姓名、身份证号、出生日期、性别、首次就诊时间和最后一次就诊时间等。每位病人与其医保信息(MedicalInsurance)关联。
2.记录就诊信息(Recordofficevisit info)。病人在诊所的每一次就诊,由接待员将就诊信息(OfficeVisit)录入系统。就诊信息包括就诊时间、就诊费用、支付代码、病人支付费用和医保支付费用等。
3.记录治疗信息(Recorddentalprocedure)。病人在就诊时,可能需要接受多项治疗,每项治疗(Procedure)可能由多位医护人员为其服务。治疗信息包括:治疗项目名称、治疗项目描述、治疗的牙齿和费用等。治疗信息由每位参与治疗的医护人员分别向系统中录入。
4.打印发票(Printinvoices)。发票(Invoice)由办公人员打印。发票分为两种:给医保机构的发票(InsuranceInvoice)和给病人的发票(PatientInvoice)。两种发票内容相同,只是支付的费用不同。当收到治疗费用后,办公人员在系统中更新支付状态(Enterpayment)。
5.记录医护人员信息(Maintaindentalstaff info)。办公人员将医护人员信息录入系统。医护人员信息包括姓名、职位、身份证号、家庭住址和联系电话等。
6.医护人员可以查询并打印其参与的治疗项目相关信息(Searchandprintprocedureinfo)。
现采用面向对象方法开发该系统,得到如图3-1所示的用例图和3-2所示的初始类图。

【问题1】(6分)
根据说明中的描述,给出图3-1中A1~A3所对应的参与者名称和U1~U3所对应的用例名称。
【问题2】(5分)
根据说明中的描述,给出图3-2中C1~C5所对应的类名。
【问题3】(4分)
根据说明中的描述,给出图3-2中类C4、C5、Patient和DentalStaff的必要属性。
正确答案及解析
正确答案
解析
【问题1】
A1:Receptionist(按待员)
A2:DentalStaff(医护人员)
A3:OfficeStaff(办公人员)
U1:Maintainpatientinfo(记录病人基本信息)
U2:Recordofficevisitinfo(记录就诊信息)
U3:Print invoices(打印发票)
【问题2】
C1:Patient Invoice
C2:InsuranceInvoice
C3:Invoice
C4:Procedure
C5:OfficeVisit
【问题3】
C4:治疗项目名称、治疗项目描述、治疗的牙齿和费用、Office Visit、Dental Staff
C5:病人就诊时间和费用、支付代码、病人支付费用、医保支付费用、病人patient
Patient:姓名、身份证号、出生日期、性别等
DentalStaff:姓名、职位、身份证号、住址、联系电话、职工号
【问题1】
本题属于常规考题,考查对参与者和用例名的补充,系统的参与者一般为人员、机构或第三方系统。用例名一般为动词+名词或名词+动词,是对系统功能的概括和描述。
本题根据题干说明,参与者即诊所工作人员包括:医护人员(DentalStaff)、按待员(Receptionist)和办公人员(OfficeStaff)等。
根据用例图已有信息,A2使用用例Recorddentalprocedure和Searchandprintprocedureinfo,根据题干说明记录治疗信息(Recorddentalprocedure)由每位参与治疗的医护人员分别录入,医护人员可以查询并打印其参与的治疗项目相关信息(Searchandprint procedure info),因此A2为医护人员(DentalStaff)。
根据用例图已有信息A3使用用例Maintaindentalstaffinfo和Enterpayment,根据题干说明记录医护人员信息(Maintaindentalstaffinfo),由办公人员录入系统,所以A3为OfficeStaff(办公人员)。并且根据题干办公人员还需要打印发票(Printinvoices)、更新支付状态(Enterpayment),缺失的U3应该是打印发票(Printinvoices)。根据题干描述A3与U2之间的联系没有意义,不参考。
根据题干描述和图示,A1对应的参与者应该是A1:Receptionist(按待员),接待员需要参与的功能有记录病人基本信息(Maintainpatientinfo)和记录就诊信息(Recordofficevisitinfo),分别对应U1、U2,二者与办公人员都没有明确联系,位置可以互换。
【问题2】
本题属于常规考查题型,补充缺失的类名,常见的实体类类名一般为名词形式,也会有特殊的边界类/接口类和协调类。需要参照题干描述和类图中类与类之间的关系,来确定缺失的类名及其位置。
根据初始类图,存在一组泛化关系,C3是C1、C2的泛化,即C3是C1、C2的父类,根据题干描述存在这样泛化关系的只有发票(Invoice)、病人发票(PatientInvoice)、医保机构发票(InsuranceInvoice),又根据多重度来分析,由于可能存在全自费的情况,即医保发票不存在,所以多重度0…*对应的C2类名应该是医保机构发票(InsuranceInvoice),C1对应的是病人发票(PatientInvoice),父类C3对应的是发票(Invoice)。
又根据图示和题干,与医护人员(DentalStaff)相关的用例有记录治疗信息(Recorddental procedure)、查询并打印其参与的治疗项目相关信息(Searchandprintprocedureinfo),其中能够找到相关内容治疗信息procedure,即C4对应的是实体类治疗信息Procedure,与治疗相关的是就诊信息officevisit,即C5对应的是实体类就诊信息OfficeVisit。
【问题3】
根据题干描述,“病人基本信息包括病人姓名、身份证号、出生日期、性别、首次就诊时间和最后一次就诊时间等”,因此Patient的必要属性包括病人姓名、身份证号、出生日期、性别、首次就诊时间和最后一次就诊时间。
根据题干描述,“医护人员信息包括姓名、职位、身份证号、家庭住址和联系电话等”,因此Dental Staff的必要属性包括姓名、职位、身份证号、家庭住址和联系电话等。
根据题干描述,C5:OfficeVisit就诊信息包括就诊时间、就诊费用、支付代码、病人支付费用和医保支付费用等,又因为病人与就诊1…*联系起来,所以还需要补充属性病人patient。
根据题干描述C4:Procedure治疗信息包括:治疗项目名称、治疗项目描述、治疗的牙齿和费用等,又因为治疗信息与医护人员存在1…*对应关系,与C5就诊信息存在1…*对应关系,所以这里还需要补充医护人员DentalStaff、就诊信息OfficeVisit。
包含此试题的试卷
你可能感兴趣的试题
E-mail地址由分隔符“()”分为前后两部分,分别指明用户名及邮件
-
- A.//
- B.\\
- C.@
- 查看答案
某 html 文档中有如下代码,则在浏览器中打开该文档时显示为( )。
<form>
Listl:
<input type="text" name="List1" />
<br / >
List2:
<input type="text" name="List 2 " />
< /form>

-
- A.见图A
- B.见图B
- C.见图C
- D.见图D
- 查看答案
设有商品关系P(商品名,条形码,供应商号,价格,数量), “条形码”唯一标识关系P中的每一个元组,商品名不能为空,供应商号是关系P的外键。另有供应商关系S(供应商号,供应商名,地址,电话)。关系 P 中的商品名是唯一的。建立商品关系 P 的 SQL语句如下所示:
CREATE TABLE P( 商品名CHAR(30)( ),
条形码CHAR(30) ( ) ,
供应商号 CHAR(5) ,
价格 CHAR(20) ,
数量CHAR(20)
( )(供应商号) REFERENCES S(供应商号));
查询供应商及价格小于等于 2500 元且大于等于 1280 元的“电冰箱”的数量的SQL语句为:
SELECT商品名,供应商名,价格,数量
FROM P
WHERE商品名= ’电冰箱’ AND ( ) ;
将供应商号“12021”所供应的商品价格上涨3%的SQL语句为:
UPDATE P
( )
WHERE 供应商号= ’12021’;
查询供应商地址包含“西安”的供应商名及电话的SQL语句为:
SELECT供应商名,电话
FROM S
WHERE ( );
-
- A.NULL
- B.UNIQUE
- C.NOT NULL
- D.NOT NULL UNIQUE
- 查看答案
函数f()、g()的定义如下所示。已知调用f时传递给其形参x的值是1,若以传值方式调用g,则函数f的返回值为( );若以传引用方式调用g,则函数f的返回值为( )。

-
- A.3
- B.4
- C.6
- D.7
- 查看答案


-
- A.见图A
- B.见图B
- C.见图C
- D.见图D
- 查看答案