201011电子商务下午真题
第 1 题
阅读以下说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某时装邮购提供商拟开发订单处理系统,用于处理客户通过电话、传真、邮件或Web站点所下订单。其主要功能如下:
(1)增加客户记录。将新客户信息添加到客户文件,并分配一个客户号以备后续使用。
(2)查询商品信息。接收客户提交的商品信息请求,从商品文件中查询商品的价格和可订购数量等商品信息,返回给客户。
(3)增加订单记录。根据客户的订购请求及该客户记录的相关信息,产生订单并添加到订单文件中。
(4)产生配货单。根据订单记录产生配货单,并将配货单发送给仓库进行备货;备好货后,发送备货就绪通知。如果现货不足,则需向供应商订货。
(5)准备发货单。从订单文件中获取订单记录,从客户文件中获取客户记录,并产生发货单。
(6)发货。当收到仓库发送的备货就绪通知后,根据发货单给客户发货;产生装运单并发送给客户。
(7)创建客户账单。根据订单文件中的订单记录和客户文件中的客户记录,产生并发送客户账单,同时更新商品文件中的商品数量和订单文件中的订单状态。
(8)产生应收账户。根据客户记录和订单文件中的订单信息,产生并发送给财务部门应收账户报表。
现采用结构化方法对订单处理系统进行分析与设计,获得如图1-1所示的顶层数据流图和图1-2所示的0层数据流图。
图1-1 顶层数据流图
图1-2 0层数据流图
【问题1】(3分)
使用说明中的词语,给出图1-1中的实体E1~E3的名称。
【问题2】(3分)
使用说明中的词语,给出图1-2中的数据存储D1~D3的名称。
【问题3】(9分)
(1)给出图1-2中处理(加工)P1和P2的名称及其相应的输入输出流。
(2)除加工P1和P2的输入输出流外,图1-2还缺失了1条数据流,请给出其起点和终点。
注:名称使用说明中的词汇,起点和终点均使用图1-2中的符号或词汇。
答案与解析
- 试题难度:较难
- 知识点:数据流图>数据流图案例题分析
- 试题答案:
【问题1】
E1:客户
E2:财务部门
E3:仓库
【问题2】
D1:客户文件
D2:商品文件
D3:订单文件
【问题3】
(1)处理(加工)名称,数据流:上表中各行次序无关,但每条数据流的名称、起点、终点必须相对应。
P1和P2可互换,即P1为“准备发货单”、P2为“产生配货单”。
(2)缺少的数据流: - 试题解析:
本题考查采用结构化方法进行系统分析与设计的知识,是比较传统的题目,要求考生细心分析题目中所描述的内容。
数据流图(DFD)是一种便于用户理解、分析系统数据流程的图形化建模工具,是系统逻辑模型的重要组成部分。
【问题1】
本问题考查顶层DFD。顶层DFD一般用来确定系统边界,将待开发系统看作一个加工,因此图中只有唯一的一个处理和一些外部实体,以及这两者之间的输入输出数据流。题目要求根据描述确定图中的外部实体。根据题目中的描述,并结合已经在顶层数据流图中给出的数据流进行分析。从题目的说明中可以看出:客户提交商品信息请求、订购请求等;将配货单发送给仓库、仓库向系统发送备货就绪通知;发送给财务部门应收账户报表。由此可知该订单系统有客户、仓库和财务部门三个外部实体。对应图1-1中数据流和实体的对应关系,可知E1为客户,E2为财务部门,E3为仓库。本题中需注意说明(4)中向供应商订货是系统外部的行为,因此,供应商并非本系统的外部实体。
【问题2】
本问题考查0层DFD中数据存储的确定。根据说明中的以下描述:将新客户信息添加到客户文件;从商品文件中查询商品的价格和订购数量等商品信息;产生订单并添加到订单文件中,得出数据存储为客户文件、商品文件以及订单文件,再根据图1-2中D1的输入和输出数据流均为客户记录,D2的输入数据流为从处理“创建客户账单”来的新商品数量,输出数据流为到处理“查询商品信息”的商品数量和价格,D3的输入数据流为从处理“增加客户订单”来的订单,可知,D1为客户文件,D2为商品文件,D3为订单文件。
【问题3】
本问题考查0层DFD中缺失的处理和数据流。从说明中的描述功能和图1-2,可知产生配货单和准备发货单没有在图1-2中,即缺少两个处理:产生配货单和准备发货单。根据说明(4)中的描述:根据订单记录产生配货单,并将配货单发送给仓库进行备货;备好货后,发送备货就绪通知。可知,产生配货单的输入流为订单记录,该输入流的起点为订单文件(D3),输出流为配货单,其终点为仓库(E3)。根据说明(5)中的描述:从订单文件中获取订单记录,从客户文件中获取客户记录,并产生发货单。可知,准备发货单的输入流为订单记录和客户记录,订单记录的起点为订单文件,客户记录的起点为客户文件;输出流为发货单。再根据说明(6)中处理发货的描述:根据发货单给客户发货,发货单的终点为处理发货。产生配货单和准备发货单分别对应P1和P2(或P2和P1)。
P1和P2及其输入输出流均识别出来之后,再对照说明和图1-2,以找出缺少的另外一条数据流。对照说明(7)中的描述:根据订单文件中的订单记录和客户文件中的客户记录,产生并发送客户账单。因此,创建客户账单缺少一条输入流:客户记录,其起点为客户文件(D1)。
第 2 题
阅读以下说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某公司拟开发一套小区物业收费管理系统。初步的需求分析结果如下:
(1)业主信息主要包括:业主编号、姓名、房号、房屋面积、工作单位、联系电话等。房号可唯一标识一条业主信息,且一个房号仅对应一套房屋;一个业主可以有一套或多套的房屋。
(2)部门信息主要包括:部门号、部门名称、部门负责人、部门电话等。一个员工只能属于一个部门,一个部门只有一位负责人。
(3)员工信息主要包括:员工号、姓名、出生年月、性别、住址、联系电话、所在部门号、职务和密码等。根据职务不同,员工可以有不同的权限:职务为“经理”的员工具有更改(添加、删除和修改)员工表中本部门员工信息的操作权限;职务为“收费”的员工只具有收费的操作权限。
(4)收费信息包括:房号、业主编号、收费日期、收费类型、数量、收费金额、员工号等。收费类型包括物业费、卫生费、水费和电费,并按月收取,收费标准如表2-1所示。其中:物业费=房屋面积(平方米)×每平方米单价,卫生费=套房数量(套)×每套房单价,水费-用水数量(吨)×每吨水单价,电费=用电数量(度)×每度电单价
表2-1 收费标准
(5)收费完毕应为业主生成收费单,收费单示例如表2-2所示。
表2-2 收费单示例
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图(不完整)如图2-1所示。图2-1中收费员和经理是员工的子实体。
图2-1 实体联系图
【逻辑结构设计】
根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):
业主( (1) ,姓名,房屋面积,工作单位,联系电话)
员工( (2) ,姓名,出生年月,性别,住址,联系电话,职务,密码)
部门( (3) ,部门名称,部门电话)
权限(职务,操作权限)
收费标准( (4) )
收费信息( (5) ,收费类型,收费金额,员工号)
【问题1】(8分)
根据图2-1,将逻辑结构设计阶段生成的关系模式中的空(1)~(5)补充完整,然后给出各关系模式的主键和外键。
【问题2】(5分)
填写图2-1中(a)~(f)处联系的类型(注:一方用1表示,多方用m或n或*表示),并补充完整图2-1中的实体、联系和联系的类型。
【问题3】(2分)
业主关系属于第几范式?请说明存在的问题。
答案与解析
- 试题难度:较难
- 知识点:数据库设计>数据库设计案例题分析
- 试题答案:
【问题1】
(1)业主编号,房号
主键:房号
外键:无
(2)员工号,所在部门号
主键:员工号
外键:所在部门号
(3)部门号,部门负责人
主键:部门号
外键:部门负责人
(4)收费类型,单位,单价
主键:收费类型
外键:无
(5)房号,业主编号,收费日期,数量
主键:房号,业主编号,收费日期
外键:房号,员工号
【问题2】
(a)n,或m,或*
(b)n,或m,或*
(c)1
(d)n,或m,或*
(e)1
(f)n,或m,或*图2-1 补充完整的实体联系图
【问题3】
业主关系属于第2范式。
问题是当某业主有多套住房时,属性“业主编号,姓名,房屋面积,工作单位,联系电话”等信息在业主关系表中重复存储,存在数据冗余。 - 试题解析:
【问题1】
根据题意,业主关系中信息主要包括:业主编号、姓名、房号、房屋面积、工作单位、联系电话等,因此,空(1)应填写“业主编号,房号”。又因为房号可唯一标识一条业主信息,所以以“房号”为主键。完整的关系模式如下:
业主(业主编号,房号,姓名,房屋面积,工作单位,联系电话)
根据题意,员工信息主要包括:员工号、姓名、出生年月、性别、住址、联系电话、所在部门号、职务和密码等,因此,空(2)应填写“员工号,所在部门号”。又因为员工号可唯一标识一条员工信息,所以“员工号”为主键。根据题意,一个员工只能属于一个部门,“所在部门号”应参照部门关系的“部门号”,因此,“所在部门号”为外键。完整的关系模式如下:
员工(员工号,所在部门号,姓名,出生年月,性别,住址,联系电话,职务,密码)
部门信息主要包括:部门号、部门名称、部门负责人、部门电话等,因此,部门关系的空(3)应填写“部门号,部门负责人”,显然该关系的主键为“部门号”。又因为部门关系的“部门负责人”应参照员工关系的“员工号”,因此,“部门负责人”为外键。
根据题意分析收费标准关系的空(4)应填写“收费类型,单位,单价”,这样收费信息关系可以根据收费类型(如水费、电费或物业费)去收费标准关系中查出单价来计算收费金额。显然收费标准关系的主键为“收费类型”。
收费信息的空(5)应填写“房号,业主编号,收费日期”,由于“房号,业主编号,收费日期”能唯一确定该关系的每一个元组,故“房号,业主编号,收费日期”为关系的主键。又由于房号、员工号分别为业主和员工关系的主键,故“房号,员工号”为收费信息关系的外键。完整的关系模式如下:
收费信息(房号,业主编号,收费日期,收费类型,收费金额,员工号)
【问题2】
根据题意,一个员工可以为多个业主收费,同样一个业主也可以有多个员工为其收费,因此业主和收费员之间的收费联系为多对多。故空(a)应填写*,空(b)应填写*。
因为一个员工只能属于一个部门,所以部门与员工之间的隶属联系是一对多的。故空(c)应填写1,空(d)应填写*。
根据题意,职务不同员工可以有不同的权限,所以权限和员工之间的合法联系是一对多。
又由于收费员收费时必需根据收费类型(如水费、电费或物业费)到收费标准关系中查出单价来计算收费金额,所以需要增加一个收费标准关系,以及收费标准到收费联系的连线。
【问题3】
由业主关系可知:房号→业主编号,业主编号→姓名,房号→姓名,所以存在传递依赖房号→姓名。故业主关系属于第2范式。业主关系存在的问题是当某业主有多套住房时,属性“业主编号,姓名,房屋面积,工作单位,联系电话”等信息在业主关系表中重复存储,存在数据冗余。
第 3 题
阅读以下说明,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某公司需开发一套通用信息管理系统。为保证开发进度和开发质量,对开发的全过程进行测试,重点对模块和系统性能进行测试。
【问题1】(3分)
在测试准备会上,大家对测试目的和原则发表了以下观点:
A.测试是为了证明程序无错
B.因为在系统开发的各个阶段都可能出现错误,应尽早并不断进行测试
C.开发人员对功能理解的错误很难由本人测试出来,因此,测试工作的主要过程应避免由开发人员来承担
D.测试后软件中仍存在的错误概率与已经发现的错误数成反比
E.成功的测试是发现了至今尚未发现的错误的测试
F.严格的测试计划会使测试工作死板教条,影响测试进度
以上观点中正确的是 (1) ; (2) ; (3) 。
【问题2】(7分)
模块测试主要从模块的5个方面进行检查:模块接口、局部数据结构、重要的执行路径、出错处理和边界条件。测试工程师对开发的模块进行测试时,做了以下几项工作:
A.检查变量名是否正确
B.检查错误提示与实际错误是否相符
C.检查模块的输入参数的个数与形参的个数是否匹配
D.检查n元数组第n个元素的处理是否正确
E.检查算符优先级是否正确
F.设计用以模拟被测模块的上级模块
G.设计用以模拟被测模块的下级模块
其中, (4) 是模块接口检查, (5) 是局部数据结构检查, (6) 是重要的执行路径检查, (7) 是出错处理检查, (8) 是边界条件检查; (9) 是驱动模块设计, (10)是桩模块设计。
【问题3】(3分)
系统测试是针对系统中各个组成部分进行的综合性检验。 (11) 检测系统在异常情况下的承受能力; (12) 检查系统对非法侵入的防范能力, (13) 检查系统的容错能力。
(11)~(13)备选答案:
A.恢复测试
B.安装测试
C.安全性测试
D.性能测试
E.强度测试
F.可靠性测试
【问题4】(2分)
软件工程师通过以下几种方法对系统进行调试,其中 (14) 通过分析错误的症状,猜测问题的所在位置; (15) 从测试所暴露的错误出发,通过分析错误征兆之间的关系而找出故障。
(14)~(15)备选答案:
A.试探法
B.回溯法
C.归纳法
D.演绎法
E.对分查找法
答案与解析
- 试题难度:较难
- 知识点:系统开发基础>电子商务系统测试案例题分析
- 试题答案:
【问题1】
(1)B或因为在系统开发的各个阶段都可能出现错误,应尽早并不断进行测试
(2)C或开发人员对功能理解的错误很难由本人测试出来,因此,测试工作的主要过程应避免由原开发软件的人或小组来承担
(3)E或成功的测试是发现了至今尚未发现的错误的测试
【问题2】
(4)C或检查模块的输入参数的个数与形参的个数是否匹配
(5)A或检查变量名是否正确
(6)E或检查算符优先级是否正确
(7)B或检查错误提示与实际错误是否相符
(8)D或检查n元数组第n个元素的处理是否正确
(9)F或设计了用以模拟被测模块的上级模块
(10)G或设计了用以模拟被测模块的下级模块
【问题3】
(11)E
(12)C
(13)A
【问题4】
(14)A
(15)C - 试题解析:
本题从软件测试的过程出发,考查对软件测试的基本概念、模块测试和系统测试的任务以及软件调试方法的掌握情况。
【问题1】
本问题考查对软件测试基本概念的掌握。
在6个备选答案中,A选项是错误的,因为测试的目的是查找软件中的错误,它无法证明软件的正确性。D选项是错误的,因为按照软件工程的基本观点,经测试后,软件中仍存在的错误概率与已经发现的错误数成正比。F选项是错误的,因为严格的测试计划会使测试工作有效地发现软件的错误,从而保障测试进度。其余选项是正确的。
【问题2】
本问题考查对模块测试基本概念和工作任务的掌握。
单元测试也称为模块测试,通常在编码阶段进行,是软件测试的最基本的部分。单元测试对源程序的每一个程序单元进行测试,检查模块内部的错误,并验证每个模块是否满足系统设计说明书的要求。单元测试可以选用人工测试或机器测试,当用机器测试时,一般采用白盒测试法。
在单元测试中,主要从模块的5个方面进行检查:模块接口、局部数据结构、重要的执行路径、出错处理和边界条件。
(1)模块接口:正确地输入输出数据是模块进行其他测试的基础,所以在单元测试中要考查模块的接口。
(2)局部数据结构:在单元测试中,为确保模块内的临时数据在程序执行过程中的完整性和正确性,必须仔细检查局部数据结构。
(3)重要的执行路径:在单元测试中,对路径的测试是最基本的任务。由于不能进行穷举测试,所以需要精心设计用例,保证模块中每条语句至少执行一次,检查是否有计算、比较或控制流等方面的错误。
(4)出错处理:好的设计应该能预测到各种出错的条件,并且有对出错进行处理的路径,以保证程序逻辑的正确性,便于用户维护。因此,要对程序中包含的出错处理通路进行测试。
(5)边界条件:边界条件的测试是单元测试的最后工作,也是非常重要的工作。软件容易在边界出现错误,如处理n元数组第n个元素时常常有错误。
由于模块不是独立运行的程序,各模块之间存在调用与被调用的关系,所以在对每个模块进行测试时,需要为被测模块编写一些测试模块来代替它的上级模块或下级模块。所编写的测试模块主要模拟与被测模块直接相关部分的功能,分为驱动模块与桩模块两种。驱动模块(driver)相当于一个主程序,它用于接收测试用例的数据,并将这些数据送到被测模块,被测模块被调用后,“主程序”输出测试结果,如打印“进入——退出”信息等。桩模块(stub)代替被测模块所调用的子模块,利用它对被测模块的调用能力和输出数据进行测试,其中可进行少量的数据处理,目的是为了检验入口、输出调用和返回信息。
【问题3】
本问题考查对系统测试基本概念和工作任务的掌握。
系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的功能和性能等是否满足要求。其目的是将软件与系统需求定义进行比较,发现软件与定义不相符或相矛盾的问题。系统测试的主要内容如下。
(1)功能测试
功能测试又称正确性测试,它检查系统的功能是否符合规格说明,主要采用黑盒测试方法。通常的做法是构造一些合理输入,检查是否得到期望的输出。
(2)性能测试
性能测试是检查系统是否满足系统分析说明书对性能的要求。特别是实时系统或嵌入式系统,即使软件的功能满足需求,但性能选不到要求也是不行的。性能测试覆盖了软件测试的各阶段,而不是等到系统的各部分全部组装之后才确定系统的真正性能。通常与强度测试结合起来,同时对软件、硬件进行测试,主要从响应时间、处理速度、吞吐量、处理精度等方面来检测。
(3)恢复测试
恢复测试主要检测系统的容错能力。检测方法是采用各种方法让系统出现故障,检验系统是否按照要求能从故障中恢复过来,并在预定的时间内开始事务处理,而且不对系统造成任何损害。对于自动恢复,需要验证重新初始化、检查点、数据恢复和重新启动等机制是否正确。如果恢复需要人工干预,就要对恢复的平均时间进行评估,并判断它是否在可接受的范围内。
(4)安全性测试
系统的安全性测试主要是为了检查系统对非法侵入的防范能力,以及系统的安全机制、保密措施是否完善。测试的方法是测试人员模拟非法入侵者,采用各种方法冲破防线。例如,想方设法截取或破译口令;故意使系统出错,利用系统恢复的过程非法入侵;企图通过浏览非保密数据获取所需信息,等等。从理论上说,只要时间和资源允许,没有进入不了的系统。所以,系统安全性设计准则是使非法入侵者所花费的代价比进入系统后所得到的好处要大;此时非法入侵者已无利可图。
(5)负载测试
负载测试是为了测量系统在某一负载级别上的性能,看数据在超负荷环境中运行时程序是否能够承担。在这种测试中,将使系统承担不同的工作量,以评测和评估系统在不同工作量条件下的性能行为,以及持续正常运行的能力,其目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。
(6)强度测试
强度测试是对系统在异常情况下的承受能力的测试,是检查系统在极限状态下运行时性能下降的幅度是否在允许的范围内。因此,强度测试要求系统在非正常数量、频率或容量的情况下运行,例如,运行使系统处理超过设计能力的最大允许值的测试用例;设计测试用例,使系统传输超过设计最大能力的数据,包括内存的写入和读出、外部设备等;对磁盘保留的数据,设计产生过度搜索的测试用例,等等。强度测试主要是为了发现在有效的输入数据中可能引起不稳定或不正确的数据组合。
(7)可靠性测试
对于系统分析说明书提出了可靠性要求时,要对系统的可靠性进行测试,主要验证系统在指定条件和规定的时间内执行操作的能力。通常使用以下两个指标来衡量系统的可靠性:①平均失效间隔时间是否超过了规定的时限;②因故障而停机的时间在一年中应不超过多少时间。
(8)安装测试
安装测试就是为了检测在安装过程中是否有误、是否易操作等。主要检测系统的每一个部分是否齐全;硬件的配置是否合理;安装中需要产生的文件夹数据库是否已产生,其内容是否正确;等等。安装测试要在完全、部分或升级等不同的安装环境中进行。此外,还要对卸载过程进行测试。
【问题4】
本问题考查对软件调试方法的掌握情况。
调试的任务就是根据测试时所发现的错误,找出原因和具体的位置,并进行改正。调试过程主要由确定错误位置及改正错误这两个步骤组成。与测试不同,调试工作主要由程序开发人员来进行,也就是说,谁开发的程序由谁来进行调试。
常用的调试方法有如下几种。
(1)试探法
调试人员分析错误的症状,猜测问题的所在位置,利用在程序中设置输出语句,分析寄存器、存储器的内容等手段来获得错误的线索,一步步地试探和分析找到错误所在。这种方法效率很低,且比较缓慢,适合于结构比较简单的程序。
(2)回溯法
调试人员从发现错误症状的位置开始,人工沿着程序的控制流程往回跟踪程序代码,直到找出错误根源或确定故障范围为止。这种方法适合于小型程序,往往能把故障范围缩小为程序中的一小段代码,仔细分析这段代码不难确定故障的准确位置。但对于大规模程序,由于其需要回溯的路径太多而使这种方法变得不可操作。
(3)对分查找法
这种方法主要用来缩小错误的范围。如果已经知道程序中的变量在若干位置的预期正确取值,可以在这些位置上用赋值语句给这些变量以正确值。运行程序,观察输出结果,如果没有发现问题,则说明从给出变量的正确值开始到输出结果之间的程序没有出错,问题可能在除此之外的程序中,否则错误就在所考查的这部分程序中。对含有错误的程序段再使用这种方法,直到把故障范围缩小到比较容易诊断为止。
(4)归纳法
归纳法就是从测试所暴露的错误出发,通过分析错误征兆之间的关系而找出故障。归纳法从个别推出一般,是一种系统化的思考方法,其步骤如下。
①收集相关数据。列出程序做得对或不对的所有数据,不产生错误的数据往往也能提供重要的线索;
②整理数据,找出规律。对收集到的数据进行组织与整理,由特殊推出一般,主要发现在什么条件下出现错误,什么条件下不出错;
③导出假设。提出一个或多个可能的错误原因,并选择可能性最大的那个。如果提不出来,则说明收集的数据不够,需要设计和执行追加的测试用例来得到;
④证明假设。用上一步的假设来解释所有的原始测试结果,如果能解释这一切,则假设得以证实,也就找出错误;否则,要么是假设不完备或不成立,要么有多个故障同时存在,需要重新分析,提出新的假设,直到发现错误为止。
(5)演绎法
演绎法从一般原理出发,首先根据测试结果列出所有可能产生错误的原因,再仔细分析已有的数据,排除不可能和彼此矛盾的原因,利用已知线索进一步精化余下的假设,以便精确确定故障的位置,最后运用归纳法的第④步来证明剩下的原因即为错误的根源。
以上这方法均可辅以调试工具。随着测试技术和软件开发环境的发展,会出现功能越来越强的自动测试和调试工具,支持断点设置、单步运行和各种跟踪技术,为软件的调试提供很大的方便。但无论哪种工具都代替不了开发人员对整个文档和程序代码的仔细研究和认真审查所起的作用。
第 4 题
阅读以下说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某公司使用ASP开发商务网站,该商务网站具有商品介绍、会员管理、在线支付、物流管理等功能。该商务网站采用SQL Server数据库,数据库名为business,其中用户表名称为name,其结构如下表所示。
其中Usergrade仅有两个有效值:“m”表示会员,“b”表示非会员。
【问题1】(6分)
该商务网站数据库连接代码如下,请根据题目说明在备选项中选择正确的答案填在答题纸上:
<%
set conn= (1) .createobject("adodB.connection")
conn.provider="sqloledb"
provstr="server=127.0.0.1; database= (2) ; uid=sa; pwd=9 857452 "
(3) .open provstr
%>
备选答案:
A.application
B.business
C.conn
D.provstr
E.name
F.server
【问题2】(7分)
该商务网站只对会员用户开放购物车模块,当非会员用户点击购物车模块的首页链接时,系统跳转至会员注册页面;会员用户点击购物车模块的首页链接时,直接进入购物车模块的首页。其中购物车模块的首页为maln.asp,用户登录时的判断页面是ChkLogin.asp,会员注册员面为Register.asp。
1.ChkLogin.asp的部分代码如下,请在空(4)~(6)处填写正确的代码。
<! --#include file=conn.asp-->
<%
…
username=replace(trim ((4) ("username" )), " ' "," ")
…
sql="select * from (5) where Password=' "&password&" ' and
UserName='"&username&" ' "
rs.open sql, conn, 1, 1
if (6) (rs.bof and rs.eof) then
if password=rs("Password") then
session("Username")=rs("UserName")
sesion("Usergracie")=rs("Usergrade")
…
%>
2.main.asp的部分代码如下,请为空(7)~(8)选择正确的代码。
<%
if (7) <>"m" then
response. (8) "Register.asp"
end if
%>
<html>
…
</html>
(7)备选答案:
A.session("Username")
B.session("Usergrade")
C.application("Username")
D.application("Usergrade")
(8)备选答案:
A.cookie
B.end
C.redirect
D.write
【问题3】(2分)
该网站举办购物优惠活动,希望用户打开网站首页时弹出提示窗口。首页Index.asp中部分代码如下,请在空(9)~(10)处填写正确的代码。
<html>
<head>
…
<script language="javascript ">
…
function win() {
window. (9) ("yh.html", "newwindow", "height=100, width=400")
}
…
</script>
</head>
<body (10) ="win()">
…
</body>
</html>
答案与解析
- 试题难度:较难
- 知识点:电子商务系统建设>电子商务系统建设案例题分析
- 试题答案:
【问题1】
(1)F
(2)B
(3)C
【问题2】
1.
(4)request
(5)name
(6)not
2.
(7)B
(8)C
【问题3】
(9)open
(10)onload - 试题解析:
本题考查电子商务网站开发代码的基本方法。
【问题1】
本问题考查Web数据库的连接代码。
根据题目说明,该网站采用ASP+SQL Server开发,其数据库名称为business,所以数据库的连接代码为:
<%
set conn=server.createobject("adodb.connection")
conn.provider="sqloledb"
provstr="server=127.0.0.1; database=business; uid=sa; pwd=9 857452 "
conn.open provstr
%>
【问题2】
本问题考查ASP编码的基本方法。
用户登录时的判断页面是ChkLogin.asp,其作用在于当非会员用户点击购物车模块首页链接时,系统跳转至会员注册页面;会员用户点击购物车模块首页链接时,直接进入购物车模块的首页。另外,用户表名称为name,所以代码如下:
<! --#include file=conn.asp-->
<%
…
username=replace(trim (request("username" )), " ' "," ")
…
sql="select * from name where Password=' "&password&" ' and
UserName='"&username&" ' "
rs.open sql, conn, 1, 1
if not (rs.bof and rs.eof) then
if password=rs("Password") then
session("Username")=rs("UserName")
sesion("Usergracie")=rs("Usergrade")
…
%>
配合ChkLogin.asp页面,购物车模块的首页main.asp需要对session("Usergrade")进行判断,其程序代码如下:
<%
if session("Usergrade")<>"m" then
response.redirect "Register.asp"
end if
%>
<html>
…
</html>
【问题3】
本问题考查JSP脚本的基本知识。
根据题目要求,用户打开网站首页时,弹出相应的提示窗口,所以对应的JSP脚本为:
<html>
<head>
…
<script language="javascript ">
…
function win() {
window.open("yh.html", "newwindow", "height=100, width=400")
}
…
</script>
</head>
<body onload="win()">
…
</body>
</html>
第 5 题
阅读以下说明,回答问题1至问题2,将解答填入答题纸的对应栏内。
【说明】
某公司商务网站建设项目的各工作代码及名称如下表所示。
以各任务最早开始时间为起点,得到该项目计划的甘特图如下(每月按照30天计算)。
【问题1】
项目工作节点的网络图例和部分节点图如下所示。
请根据甘特图在答题纸上画出各任务间关系的箭线图。
【问题2】
下图是工作代码为01和13的工作任务节点的完整信息。
请根据上图和甘特图计算部分节点最早开始时间、最早完成时间、最迟开始时间、最迟完成时间、总时差和自由时差,并将这些节点信息在答题纸上填写完整。
答案与解析
- 试题难度:较难
- 知识点:电子商务项目控制与优化>项目管理及计划控制案例题分析
- 试题答案:【问题1】
【问题2】 - 试题解析:
【问题1】
本问题考查甘特图和网络图的基本应用。
甘特图(Gantt chart)是在20世纪初由亨利•甘特开发的。它基本上是一种线条图,横轴表示时间,纵轴表示要安排的活动,线条表示在整个期间上计划的或实际的活动完成情况。甘特图直观地表明任务计划在什么时候进行。
网络图是以节点及其编号表示工作,以箭线表示工作之间逻辑关系的一种图示方式。在网络图中通过加注工作的持续时间、最早开始时间以及各类时差等,以便形成网络计划。网络图中的每一个节点表示一项工作,节点可以用圆圈或矩形表示。节点所表示的工作名称、持续时间和工作代号等可以标注在节点内。网络图中的箭线表示紧邻工作之间的逻辑关系,既不占用时间,也不消耗资源。箭线应画成水平直线、折线或斜线。箭线水平投影的方向应自左向右,表示工作的行进方向。工作之间的逻辑关系包括工艺关系和组织关系,在网络图中均表现为工作之间的先后顺序。本题的网络图见参考答案。
【问题2】
本问题考查根据甘特图判断网络计划时间参数的方法。
网络计划时间参数的计算应在确定各项工作的持续时间之后进行。
(1)网络计划中各项工作的最早开始时间和最早完成时间的计算应从网络计划的起点节点开始,顺着箭线方向依次逐项计算,最早开始时间和最早完成时间计算方法为:
①网络计划的起点节点的最早开始时间为零。
②工作的最早完成时间等于该工作的最早开始时间加上其持续时间。
③工作的最早开始时间等于该工作的各个紧前工作的最早完成时间的最大值。
(2)网络计划中各项工作的最迟开始时间和最迟完成时间的计算应以项目规定或计算的工期为基准,从网络计划的终点节点出发,沿着箭线的逆方向依次逐项计算。最迟开始时间和最迟完成时间计算方法为:
①某工作的总时差应从网络计划的终点节点开始,逆着箭线方向依次逐项计算。其他工作的总时差等于该工作的各个紧后工作的总时差加该工作与其紧后工作之间的时间间隔之和的最小值。
②某工作的最迟开始时间等于该工作的最早开始时间加上其总时差之和。
③某工作的最迟完成时间等于该工作的最早完成时间加上其总时差之和。
(3)计算工作的总时差:工作的总时差等于该工作最迟完成时间与最早完成时间之差,或该工作最迟开始时间与最早开始时间之差。
(4)计算工作的自由时差:工作自由时差的计算应按以下两种情况分别考虑:
①对于有紧后工作的工作,其自由时差等于本工作的紧后工作的最早开始时间减去本工作最早完成时间所得之差的最小值。
②对于无紧后工作的工作,也就是以网络计划终点节点为完成节点的工作,其自由时差等于计划工期与本工作最早完成时间之差。
需要指出的是,对于网络计划中以终点节点为完成节点的工作,其自由时差与总时差相等。此外,由于工作的自由时差是其总时差的构成部分,所以,当工作的总时差为零时,其自由时差必然为零,可不必进行专门计算。
因此,按照本题给定的各项任务持续时间,以及工作代码为01和13的工作任务节点的完整信息,从甘特图中所示各项工作的起始时间,可以计算出部分节点最早开始时间、最早完成时间、最迟开始时间、最迟完成时间、总时差和自由时差。