07241系统分析试题标准答案B

更新时间:2023-11-05 17:36:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

200 9 ~2010 学年第 2 学期

《信息系统分析与设计》课程期末考试试卷标准答案(B)

一、填空题(本题满分30分,共含15道小题,每小题2分)

1、CIO的中文含义是( C )。

A.首席执行官 B.信息自动化 C.信息主管 D.办公自动化

2、800App公司开发了客户关系管理的软件平台,在该软件平台上可以根据各企业具体的管理要求进行CRM软件功能和界面的定制,企业用户缴纳平台使用费后,上网通过账户登录就能实现个性化的客户关系管理,而不需要购买和部署CRM软件。这种软件服务方式称为( A )。

A.PaaS B.SAP C.SaaS D.CRM

3、系统分析与设计的主要任务是建立系统模型,设计阶段需要构建系统的( C )。

A.逻辑模型 B.概念模型 C.物理模型 D.静态模型

4、以下哪种软件系统不属于信息系统的典型应用( C )。

A.银行储蓄系统 B.航空售票系统 C.操作系统 D.股票交易系统

5、系统规划工作主要面向企业的( A )。

A.高层管理人员 B.中层管理人员 C.基层管理人员 D.信息技术人员

6、以下属于CASE工具的是( B )。

A.UML B.Visio C.C# D.DFD

7、校园一卡通管理系统中,学生将现金和卡交给后勤服务人员,由后勤卡务人员负责为卡充值。那么“卡片充值”用例的参与者是( C )。

A.学生 B.卡片 C.后勤卡务人员 D.读卡器

8、上例采用数据流图建模时,充值请求来源于外部实体,正确的外部实体应该是( A )。

A.学生 B.卡片 C.后勤卡务人员 D.读卡器

9、在编写Windows窗口程序时,通常窗口启动就需要对界面进行初始化,如填充列表框的选择项、设置文本框缺省值等,将这些启动初始化操作封装成为一个模块,取名为“Form_Load”,该模块属于( A )。

A.时间内聚 B.功能内聚 C.逻辑内聚 D.偶然内聚

10、以下关于模块耦合的说法正确的是( B )。

A.控制耦合在一个软件系统中是无法避免的 B.数据耦合在一个软件系统中是无法避免的 C.多个模块访问同一全局变量是标记耦合 D.耦合是指一个模块内各元素之间的关系

11、以下关于输入设计错误的说法是( D )。

A.输入应考虑数据的正确性校验 B.键盘、读卡器和触摸屏都是输入设备 C.不是所有输入都需要使用图形用户界面 D.输入的数据应遵守最大量原则

12、在UML提供的图中,描述软件逻辑结构的是( A )。

A.类图 B.顺序图 C.用例图 D.状态图

13、在顺序图中不会出现的元素是( C )。

A.消息 B.对象 C.关联 D.参与者

14、为了验证软件是否满足用户的需求需要进行软件测试,这种测试称为( C )。

A.单元测试 B.集成测试 C.确认测试 D.系统测试

共7页 第1页

15、采用面向对象方法开发信息系统时,需要解决软件对象和数据库记录之间的映射,这个问题也称为( C )。

A.ROM B.RAM C.ORM D.MRP

二、问答题(本题满分20分,共含5道小题,每小题4分)

1、信息系统分析的任务是什么?有人说系统分析是信息系统建设最困难的阶段,为什么?

答:系统分析员与用户在一起充分理解用户的要求,并把双方的理解用书面文档——系统分析说明书表达出来(1分)。困难主要来自三个方面:问题空间的理解;人与人之间的通讯;环境的不断变化(3个方面各1分)。

2、什么是软件重构?为什么要进行重构?请至少举出一种重构的方法。

答:重构(Refactoring)是指在不改变程序代码功能的前提下,对程序结构所进行的改造(2分)。原因:不是总能在编写程序前做出最好的设计,或者遗留系统经过不断维护,需要提高系统品质。通过重构,可提高程序的可理解性,降低其修改成本(1分)。重构方法:提取和封装函数、修改变量名称、消除重复代码等(1分)。

3、你是怎样理解分层架构模式?使用分层架构模式的理由是什么?

答:将软件按照逻辑功能进行横向分层设计,逻辑功能相似的类封装到一个组件中,下层组件负责对上层组件提供服务,下层组件不能访问上层组件。例如C/S、B/S、MVC等都是分层架构(2分)。通过使用分层架构模式,客户对数据的访问通过中间层进行了隔离,数据库的安全性提高了;组件可以分布部署在多个物理节点上,从而增强了处理大量的用户负载或计算任务的能力,系统可靠性和响应速度得到了提高;业务逻辑处于不同的中间服务器,当业务规则变化后,客户端程序基本不做改动,而且某一层的改动不会影响其它层,这也意味着更好的重用和可维护性;将不同层的开发任务在开发者之间适当地分配,有效地利用开发人员的专长和开发技巧,并且能够提高并行开发能力(每答对一个要点得1分)。

4、请描述原型法的软件开发过程的基本思想,该方法有什么优缺点?

答:原型法对系统不进行完整分析和设计,而是针对用户关键功能需求进行提取和表示,快速地构造一个可以在计算机上运行的软件原型,并逐步发展和完善的一种开发过程(2分)。优缺点:短期获得测试版本,降低风险;信息需求的定义工作更为直观、简单;用户积极参与,增加了用户的满意程度;但分析和设计的深度不够,系统灵活性不能保证;短时间提出模型,而且反复修改,使软件质量不能保证(优缺点各答对一个给1分)。

5、保持良好编程风格有什么好处?请举出两种以上的良好的编程风格或规范。 答:保持良好编程风格可以提高程序的可读性和可理解性,降低维护成本(2分)。清晰的程序结构; 必要的内部注释;常变量的命名有意义;统一的排版格式;不要直接使用数字等等(每答对一个要点给1分)。

三、分析题(本题满分50分)

1、职工每日上班需登入登出考勤,以下伪代码根据职工类型和工作时间计算工资,请绘制模块结构图和模块CheckOut的程序流程图。(6分) void CheckOut() { string eID, ePwd;

共7页 第2页

double wage;

eID = textBox1.Text; //工号 ePwd = textBox2.Text; //密码 if (CheckUser(eID, ePwd)) //验证身份

{ //取登入时间 date checkIn = GetCheckIn(eID)); //如果今天有登入,则根据时间计算工资 if ( checkIn <> NULL) { wage = CalWage(eID,checkIn, now); AddWage(eID, wage, now);

CheckUser } }

数据传递略。 }

double CalWage(string eID, date in, date out) {

int eType = GetEmpType(eID);//工人类型

if (eType = =0) return (CalFullTimeWage(in, out)); if (eType = =1) return (CalPartTimeWage(in, out)); }

开始 CheckOut GetCheckIn CalWage AddWage GetEmpType CalFullTimeWage CalPartTimeWage 初始化学号等变量 调用CheckUser函数验证用户名密码正确? 是 调用GetCheckIn函数取当天登入时间 否 时间不为空 是 调用CalWage函数计算工资 否 调用AddWage函数保存工资 结束

2、北京康健医院门诊部根据医生开出的处方单进行收费,收费单如图1所示。请根据图中信息给出数据库概念模型(即ER图,请尽量识别出所有实体、实体属性和实体关联)(8分)

共7页 第3页

北京市门诊收费专用收据

患者姓名: 张三 就医卡号: 80233878 No:13453987

项目 西药 放射 检查费 输氧费 化验 总计小写 收费员 名称(规格) 阿莫西林(盒) 换药(大) 按摩(30分钟) 金额 50 325.00 Z001203 张红 数量×单价 2盒 × 25.00 5人次 × 10 5人次 × 45.00 项目 中成药 B超 治疗费 输血费 其它 金额 275 总计大写 日期 金额 50 50 225 项目 中草药 CT 手术费 材料费 金额 叁佰贰拾伍元整 2010-7-5 自付比例 图1 医院门诊收费单

患者 患者姓名 就医卡号 1 N 收费项目 项目名称 规格 单价 门诊收费单 收费单号 收费日期 西药费 放射费 检查费 1 N 收费项目明细 1 N 数量 金额 自付比例 收费员 收费员编号 收费员姓名 1 N 输氧费 化验费 中成药费 B超费 治疗费 …… 其它费用 总计

评分标准:患者、门诊收费单、收费项目明细各1分,属性各1分(6分),关系1分,收费员、收费项目每增加一个实体得1分。

3、在数据输入时常需要输入代码,例如学号、身份证号、产品编号等,有哪些输入技术或数据校验方法可以避免或减少输入错误?至少举出两种方法及具体应用。(5分) 答:输入技术(如条码扫描、磁卡、IC卡/读卡器);列表选择输入,不需要键盘输入(用于数据量少的情况),如界面中采用下拉表选择;利用数据库中的代码表对照检查(数据量多);代码中设置校验位,代码自身具有一定的验证功能,如身份证号。

评分标准:两种方法每答对各得2分,应用场景答对得1分。

4、选择第7题的数据流图如下,请指出图中的问题(5分)

共7页 第4页

图2 专家检查论文的数据流图

1. 校园卡充值只有输入没有输出;

2. 数据流不能从外部实体流向外部实体; 3. 数据流不能从外部实体流向数据存储; 4. 缺少数据存储保存校园卡信息; 5. 校园卡充值应读写校园卡信息。 评分标准:每个错误1分。

5、北京康健医院的门诊就医流程如下:所有患者就医前需要办理办医疗卡(登记姓名等基本信息);然后患者拿医疗卡在挂号窗口挂号,拿到挂号单;各科室可看查本科室挂号单;医生按序号为患者看病,患者需提供医疗卡给医生,医生将患者病情和诊断结果登记到病历中,并开出处方单;患者拿医疗卡和处方单到收费处交费,收费员收费后对处方单盖收讫章,打印收据(参见图1);最后病人拿医疗卡、交费后的处方单到药房,药方根据处方发药。基于以上需求,请为医院门诊系统完成以下任务:

(1) 绘制用例图。(6分)

(2) 请选择一个关键用例,书写该用例的主事件流和备选事件流。(4分) (3) 设计题目(2)的用例的用户界面。(5分)

(4) 请识别该领域中的对象,绘制类图,要求包含属性和方法(方法仅限题5顺序图中出现的)。(6分)

(5) 设计题目(2)的用例顺序图。(5分)

(1)评分标准:每个用例1分,参与者正确1分。

挂号员挂号收费员收费卡务人员办卡医生诊断发药员发药

(2)评分标准:主事件流3分,其中主语正确1分。备选事件流1分。 用例名称:收费

主事件流:1.收费员提供医疗卡给系统;

2.系统读取医疗卡号,查询未交费处方单并显示; 3.收费员选中要交费的处方单; 4.系统计算总价;

5.收费员收取费用后,确认收费完成;

共7页 第5页

6.系统打印收费票据; 7.系统标记处方单已收费。

备选事件流:2a.医疗卡错误

1.系统提示卡有误,用例结束。 2b.不存在未交费处方

1.系统提示没有处方,用例结束。 5a.患者不交费

1.收费员选择终止用例。

(3)评分标准:符合用例功能3分,界面合理、数据正确2分。窗口上下各设置两个表格分别显示未交费处方列表和选中处方的明细项目列表,处方列表可以采用复选框打勾选中,窗口下端显示费用合计、交费金额和找零,按钮“完成收费”点击表示确认已收费,然后显示收据打印界面(同题1),可打印。

(4)评分标准:每个类名称和属性正确各1分(关系错误扣1分,方法与顺序图不一致扣1分)。

(5)评分标准:对象正确2分(与类图一致),消息正确3分(与界面不一致扣1分)。

共7页 第6页

: 收费员1. 读卡 : 收费界面 : 处方单 : 处方明细 : 收费项目 : 门诊收费单1.1. 查询未交费处方单( )1.1.1. 根据处方单号查询明细( )1.1.1.1. 查询单价( )1.2. 处方单2. 挑选要交费的处方单2.2. 应交费金额2.1. 计算处方单金额( )2.1.1. 计算项目金额( )3. 完成交费3.1. 标记处方已交费( )3.2. 新增门诊收费单( )3.3. 打印收费单( )

共7页 第7页

本文来源:https://www.bwwdw.com/article/f382.html

Top