免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2012年上半年 数据库系统工程师 下午试卷 案例
  第4题      
  知识点:   需求分析   测试人员   开发人员   数据库   信息管理   信息管理系统   注册

 
某公司拟开发一套招聘信息管理系统,以便对整个公司的各个部门的招聘信息进行统一管理。
需求分析
(1) 该公司招聘的职位有:测试人员开发人员、文员秘书和销售代表等职位。公司将职位划分为三种专业类型:技术类型、行政类型和销售类型。每个职位对应一种专业类型,如测试人员职位属于技术类型。每个职位可以属于一个或多个部门.
(2) 面试官由公司员工担任,每个面试官可以负责一个或多个职位的面试,一个职位可由多名面试官负责面试。
(3) 应聘人员可以注册应聘的职位成为候选人,并填报自己的简历信息。一个候选人可以应聘多个职位。系统记录候选人每次应聘的面试时间和面试成绩。
初步设计的招聘信息数据库关系模式如图4-1所示。

关系模式的主要属性、含义及约束如表4-1所示。

 
问题:4.1   对关系“候选人”,请回答以下问题:
(1) 列举出所有不属于任何候选键的属性(非键属性)。
(2) 关系“候选人”可达到第几范式,用60字以内文字简要叙述理由。
 
问题:4.2   对关系“面试官”,请回答以下问题:
(1) 针对“面试官”关系,用60字以内文字简要说明会产生什么问题。
(2) 把“面试官”分解为第二范式,分解后的关系名依次为:面试官1,面试官2,……
(3) 列出修正后的各关系模式的主键。
 
问题:4.3   对关系“招聘安排”,请回答以下问题:
(1) 关系“招聘安排”是不是第四范式,用60字以内文字叙述理由。
(2) 把“招聘安排”分解为第四范式,分解后的关系名依次为:招聘安排1,招聘安排2,……
 
 
 

   知识点讲解    
   · 需求分析    · 测试人员    · 开发人员    · 数据库    · 信息管理    · 信息管理系统    · 注册
 
       需求分析
        需求分析是软件生存周期中相当重要的一个阶段。由于开发人员熟悉计算机但不熟悉应用领域的业务,用户熟悉应用领域的业务但不熟悉计算机,因此对于同一个问题,开发人员和用户之间可能存在认识上的差异。在需求分析阶段,通过开发人员与用户之间的广泛交流,不断澄清一些模糊的概念,最终形成一个完整的、清晰的、一致的需求说明。可以说,需求分析的好坏将直接影响到所开发的软件的成败。
               需求分析的任务
               需求分析主要是确定待开发软件的功能、性能、数据和界面等要求。具体来说,可有以下五个方面:
               (1)确定软件系统的综合要求。主要包括系统界面要求、系统的功能要求、系统的性能要求、系统的安全和保密性要求、系统的可靠性要求、系统的运行要求、异常处理要求和将来可能提出的要求。其中,系统界面要求是指描述软件系统的外部特性,即系统从外部输入哪些数据,系统向外部输出哪些数据;系统的功能要求是要列出软件系统必须完成的所有功能;系统的性能要求是指系统对响应时间、吞吐量、处理时间、对主存和外存的限制等方面的要求;系统的运行要求是指对硬件、支撑软件和数据通信接口等方面的要求;异常处理要求通常是指在运行过程中出现异常情况时应采取的行动以及希望显示的信息,例如临时性或永久性的资源故障,不合法或超出范围的输入数据、非法操作和数组越界等异常情况的处理要求;将来可能提出的要求主要是为将来可能的扩充和修改做准备。
               (2)分析软件系统的数据要求。包括基本数据元素、数据元素之间的逻辑关系、数据量和峰值等。常用的数据描述方法是实体-关系模型(E-R模型)。
               (3)导出系统的逻辑模型。在结构化分析方法中可用数据流图来描述;在面向对象分析方法中可用类模型来描述。
               (4)修正项目开发计划。在明确了用户的真正需求后,可以更准确地估算软件的成本和进度,从而修正项目开发计划。
               (5)如有必要,可开发一个原型系统。对一些需求不够明确的软件,可以先开发一个原型系统,以验证用户的需求。
               在此需要强调的是,需求分析阶段主要解决“做什么”的问题,而“怎么做”则是由设计阶段来完成。
               需求的分类
               软件需求就是系统必须完成的事以及必须具备的品质。软件需求包括功能需求、非功能需求和设计约束三方面的内容。
               (1)功能需求:所开发的软件必须具备什么样的功能。
               (2)非功能需求:是指产品必须具备的属性或品质,如可靠性、性能、响应时间、容错性和扩展性等。
               (3)设计约束:也称为限制条件、补充规约,这通常是对解决方案的一些约束说明。
 
       测试人员
               测试人员的选择
               测试人员的能力包括以下几项。
               ①一般能力:包括表达、交流、协调、管理、质量意识、过程方法、软件工程等;
               ②测试技能及方法:包括测试基本概念及方法、测试工具及环境、专业测试标准、工作成绩评估等;
               ③测试规划能力:包括风险分析及防范、软件放行/接收准则制定、测试目标及计划、测试计划和设计的评审方法等;
               ④测试执行能力:包括测试数据/脚本/用例、测试比较及分析、缺陷记录及处理、自动化工具;
               ⑤测试分析、报告和改进能力:包括测试度量、统计技术、测试报告、过程监测及持续改进。
               测试人员的激励
                      X理论+Y理论
                      . X理论:胡萝卜+大棒——迫使人们工作;
                      . Y理论:经理的职能不是督促人们工作,而是使人们有可能工作。
                      需要的层次(Maslow模型)
                      . 生存需要——工作职位、工资奖金、休息时间;
                      . 安全需要——公正待遇、应付工作的能力和信心;
                      . 社会需要——团队归属感,互相认同、理解和支持;
                      . 自尊需要——具有受人尊重/赏识的能力或/和业绩;
                      . 自我实现需要——成为自己期望的人物。
                      人员激励的关键点
                      . 管理者习惯用对自己有效的因素激励测试人员,很可能发现无效;
                      . 过多使用权力、资金或处罚手段很可能导致项目失败;
                      . 行业领先企业采取卓有成效的非货币形式的激励措施;
                      . 在项目进行过程中,而不仅是在项目结束时实施激励措施;
                      . 奖励应该在工作获得认同后尽快兑现;
                      . 对人员的工作表现出真诚的兴趣是对他们最好的奖励;
                      . 激励因素是因人而异、因时而异的。已经满足的需要很可能不再成为激励因素。
                      人员自我激励
                      测试工作的快乐哲学:选择积极的态度,把工作当作游戏,让别人快乐,全身心投入工作。
                      注意测试工作的7条效率原则:主动思考,积极行动;一开始就牢记目标,不迷失方向;重要的事情放在首位(但常常把紧急的事情放在首位);先理解人,后被人理解;寻求双赢;互相合作,追求1+1>2;终生学习,自我更新,不断进步。
               测试职业发展
               国际推荐的软件测试职业发展计划如下。
               . 1~2年,测试技能:熟悉整个测试过程及产品业务领域,学习和掌握自动测试工具,学习测试自动化编程技术;开发和执行测试脚本,承担系统测试实施任务;掌握编程语言、操作系统、网络与数据库方面的技能。
               . 3~4年,测试过程:深入了解测试过程,掌握测试过程设计及改进,参与软件工作产品的同行评审;进一步了解产品业务领域,改进测试自动化编程技术;能指导初级测试工程师;加强编程语言、操作系统、网络与数据库方面的技能。
               . 4~5年,测试组织工作:管理1~3名测试工程师,担任任务估算、管理及进度控制;进一步培养在软件项目管理及支持工具方面的技能。
               . 5~6年,技术管理:管理4~8名测试工程师,提高任务估算、管理及进度控制能力,完成测试规划并制定测试计划;研究测试的技术手段,保持使用项目管理及支持工具的技能;用大量时间为其他测试工程师提供技术及过程方面的指导;开始与客户打交道并做演示推介。
               . 6~12年,测试管理:管理8名以上测试工程师,负责一个或多个项目的测试工作;与客户打交道并做演示推介;保持使用项目管理及支持工具的技能。
               人员的培训
                      软件测试培训内容分类
                      . 测试基础知识和技能培训。
                      . 测试设计培训、测试工具培训。
                      . 测试对象——软件产品培训。
                      . 测试过程培训。
                      . 测试管理培训。
                      制定测试人员培训计划
                      . 是测试计划的一个重要组成部分。
                      . 需要管理层的重视,在时间和资源上予以保证。
                      . 认真调查和分析测试人员的培训需求。
                      . 将培训活动安排在测试任务开始前。
                      . “边干边学”模式很可能牺牲质量和效率。
                      . 软件测试实习活动在整个培训中占较大比例。
                      . 鼓励合作学习,团队演练。
                      . 对培训效果要及时评价,发现不足进行改进。
 
       开发人员
        ①多媒体软件:项目负责人、学科教学专家、教学设计专家、软件工程师、多媒体素材制作专家和多媒体课件制作专家。
        ②多媒体电子出版物:策划编导、文字编辑、美术编辑、音乐编辑和多媒体编辑。
 
       数据库
        数据库(DataBase,DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
        系统使用的所有数据存储在一个或几个数据库中。
 
       信息管理
        管理信息系统是由人、计算机和管理规则等组成,以采集、加工、维护和使用信息为主要功能的人-机系统。例如金融、财会、经营、管理、教育、科研、医疗、人事、档案、物资等各方面都有大量的信息需要及时分析和处理,以便为决策提供依据。虽然在这方面应用中计算公式并不复杂,但数据量极大,在当今信息爆炸的时代,人工已难以胜任这一重任,计算机则成为信息管理的重要工具。该系统一般以数据库管理系统为核心,以其他软件和网络系统为支撑环境,而用户则通过专门的人机交互界面,进行数据的查询、修改等操作,并实现统计分析、规划、决策等功能。在信息管理方面,我们正经历着从单项事务的电子数据处理,向以数据库为基础的管理信息系统,及以数据库、模型库和方法库为基础的决策支持系统发展的过程,并且呈现出系统集成化、结构分布化、信息多元化、功能智能化等趋势。
 
       信息管理系统
        用来管理和分发项目信息的工具有很多,包括:
        .纸质文件管理,如信件、备忘录、报告和新闻稿。
        .电子通信管理,如电子邮件、传真、语音信箱、电话、视频和网络会议、网站。
        .项目管理电子工具,如基于网页界面的进度管理工具和项目管理软件,会议和虚拟办公支持软件,门户网站和协同工作管理工具。
 
       注册
        移动IP通信的第二个阶段是注册。当移动主机已经移动到外地网络并且已经发现了外地代理后,就必须注册。关于注册涉及以下3点:
        (1)移动主机必须向外地代理注册。
        (2)如果截止期到了,移动主机必须重新注册。
        (3)如果移动主机离开某个外地网络,则必须注销。
        具体步骤是:移动主机把注册请求发送给外地代理,并把归属地址和归属地代理地址发送给外地代理。外地代理收到这些信息后,把这些信息转发给移动主机的归属地代理以认证上述信息,如果认证通过,那么移动主机就在外地代理这里注册成功。同时,移动主机的归属地代理也知道了外地代理的地址(转交地址)。
   题号导航      2012年上半年 数据库系统工程师 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
 
第4题    在手机中做本题