免费智能真题库 > 历年试卷 > 系统集成项目管理工程师 > 2015年上半年 系统集成项目管理工程师 下午试卷 案例
  第2题      
  知识点:   大数据   项目合同   项目进度计划   编码   编码阶段   集成测试   建设单位   数据库   数据库设计   项目计划   中标   主页

 
阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。
【说明】
某市承办国际服装节,需要开发网站进行宣传。系统集成企业M公司中标了该网站开发项目。该项目即要考虑一般网站建设的共性,又要考虑融入人的艺术创意和构思,以便能够将网站办的耳目一新,不但具有宣传价值,还能利于大数据的积累。
网站的主要内容包括大型活动宣传,名师名模服装展示,服装服饰交易,服装文化传播等。
双方协定项目合同工期为5个月。M公司任命项目经理小曹负责该项目。项目组经过需求调研后制定了项目计划,并按计划完成了网站系统分析、系统设计,包括艺术风格与主页设计、数据库设计等活动。
项目进入编码阶段后,承办单位为了扩大影响力,要求在项目十增加全国服装模特海选的宣传、选拔、评奖与管理。固此,建设方代表直接找到小曹提出增加项目内容,并答应会支付相应的费用,但要确保项目工期不能拖延。
针对上述情况,小曹及其领导进行了如下处理:
(1)小曹见到其领导时转述了建设方的要求,
(2)领导考虑了一会儿,对小曹说“答应客户要求”,
(3)小曹通知商务人员与建设方签订补充协议,
(4)因建设单位要求工期不能拖延,故小曹决定项目进度计划不变,
(5)小曹找来设计工程师小廖,把新增部分全权委托给了他,让他加班加点确保进度。交付期至时,项目集成测试中发现的问题还未得到及时解决。
 
问题:2.1   面对用户的要求,小曹及其领导的做法有何不妥之处?
 
问题:2.2   为确保进度不受拖延,小曹应该如何执行领导的决定?
 
 
 

   知识点讲解    
   · 大数据    · 项目合同    · 项目进度计划    · 编码    · 编码阶段    · 集成测试    · 建设单位    · 数据库    · 数据库设计    · 项目计划    · 中标    · 主页
 
       大数据
               大数据的概念
               大数据是指无法在一定时间内用传统数据库软件工具对其内容进行抓取、管理和处理的数据集合。大数据的来源包括网站浏览轨迹、各种文档和媒体、社交媒体信息、物联网传感信息、各种程序和APP的日志文件等。
               大数据关键技术
               大数据所涉及的技术很多,主要包括:
               .数据采集:使用数据抽取工具ETL。
               .数据存储:包括结构化数据、非结构化数据和半结构化数据的存储与访问。结构化数据一般存放在关系数据库中,通过SQL来访问;非结构化(如图片、视频、文件等)和半结构化数据一般通过分布式文件系统的NoSQL进行存储。
               .数据管理:主要使用分布式并行处理技术,比较常用的有MapReduce。
               .数据分析与挖掘:根据业务需求对大数据进行关联、聚类、分类等钻取和分析,并利用图形、表格加以展示。
               开源大数据框架Hadoop的关键技术包括:
               .HDFS(Hadoop分布式文件系统):是适合运行在通用硬件上的分布式文件系统,是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大数据应用。
               .HBase:一个分布式的、面向列的开源数据库。利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库,并且采用基于列而不是基于行的模式。
               .MapReduce:一种编程模型,用于大规模数据集(大于1TB)的并行运算。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上,从而实现对HDFS和HBase上的海量数据分析。
               .Chukwa:一个开源的用于监控大型分布式系统的数据收集系统。Chukwa构建在Hadoop的HDFS和MapReduce框架之上,继承了Hadoop的可升缩性和健壮性,它包含了一个强大而灵活的工具集,可用于展示、监控和分析已收集的数据。
               大数据应用
               大数据受到越来越多行业巨头们的关注,除了在电商、电信、金融这些传统数据丰富、信息系统发达的行业之外,在政府、医疗、制造和零售行业都有其巨大的社会价值和产业空间。
               .互联网和电子商务行业:应用最多的是用户行为分析,主要研究对象为用户在互联网、移动互联网上的访问日志、用户主体信息和外界环境信息,从而挖掘潜在客户,进行精准广告或营销。
               .电信/金融:通过对用户的通信、流量、消费等信息进行分析,判断用户的消费习惯和信用能力,可以给用户设计更贴合的产品,以提升产品竞争力。
               .政府:通过对大数据的挖掘和实时分析,可有效提高政府决策的科学性和时效性,并能帮助政府有效削减预算开支;借助大数据可使政府变得更加开放、透明和智慧;可以使政府更清楚地了解公民的意愿和想法,可提升公民的价值,还可以通过引导社会舆论,为社会公众提供更好的服务,树立更好的政府形象。
               .医疗:有了大数据的海量支持,可以使各医院资源充分发挥优势,有效弥补医疗资源及力量的不足,有利于疑难病症的治疗。通过对医疗数据的挖掘分析,也可以加快新药开发。
               .制造:通过对海量数据的获取、挖掘和分析,把握客户的需求,从而交付客户喜欢的产品。
               大数据发展目标
               大数据发展和应用的目标如下:
               .打造精准治理、多方协作的社会治理新模式。
               .建立运行平稳、安全高效的经济运行新机制。
               .构建以人为本、惠及全民的民生服务新体系。
               .开启大众创业、万众创新的创新驱动新格局。
               .培育高端智能、新兴繁荣的产业发展新生态。
 
       项目合同
               合同的概念
               合同有广义的概念和狭义的概念,分别定义如下:
               .广义合同:指以确定各种权利与义务为内容的协议,即只要是当事人之间达成的确定权利义务的协议均为合同,不管它涉及哪个法律部门及何种法律关系。因此,合同除应包括民法中的合同外,还包括行政法上的行政合同、劳动法上的劳动合同、国际法上的国家合同等。
               .狭义合同:专指民法上的合同,“合同(契约)是当事人之间确立、变更、终止民事权利义务关系意思表示一致的法律行为”。
               合同必须包含的要素如下:
               .合同的成立必须要有两个(含)以上的当事人。
               .各方当事人须互相做出意思表示。
               .各个意思表示达成一致。
               信息系统工程合同及合同管理的概念如下:
               信息系统工程合同是指与信息系统工程策划、咨询、设计、开发、实施、服务及保障等有关的各类合同。信息系统工程合同管理是对合同条件的拟定、协商、签署,到执行情况的检查和分析等环节进行组织管理的工作,通过双方签署的合同实现信息系统工程的目标和任务,同时也要维护建设单位和承建单位及其他关联方的正当权益。
               合同的法律特征
               合同的法律特征包括:
               .合同是一种民事法律行为。
               .合同是一种双方或多方或共同的民事法律行为。
               .合同以在当事人之间设立、变更、终止财产性的民事权利义务为目的。
               .订立、履行合同应当遵守相关的法律及行政法规。
               .合同依法成立,即具有法律约束力。
               有效合同原则
               有效合同应具备以下特点:
               .签订合同的当事人应当具有相应的民事权利能力和民事行为能力。
               .意思表示真实。
               .不违反法律或社会公共利益。
               无效合同通常需具备下列任一情形:
               .一方以欺诈、胁迫的手段订立合同。
               .恶意串通,损害国家、集体或者第三人利益。
               .以合法形式掩盖非法目的。
               .损害社会公共利益。
               .违反法律、行政法规的强制性规定。
 
       项目进度计划
        项目进度计划是进度模型的输出,展示活动之间的相互关联,以及计划日期、持续时间、里程碑和所需资源。项目进度计划中至少要包括每个活动的计划开始日期与计划结束日期。即使在早期阶段就进行了资源规划,在未确认资源分配和计划开始与结束日期之前,项目进度计划都只是初步的,一般要在项目管理计划编制完成之前进行这些确认。项目进度计划可以是概括(有时称为主进度计划或里程碑进度计划)或详细的。项目进度计划可以采用以下一种或多种图形来呈现。
        .横道图:也称为甘特图,是展示进度信息的一种图表方式。在横道图中,进度活动列于纵轴,日期排于横轴,活动持续时间则表示为按开始和结束日期定位的水平条形。横道图相对易读,常用于向管理层汇报情况。为了便于控制以及与管理层进行沟通,可在里程碑之间或横跨多个相关联的工作包,列出内容更广、更综合的概括性活动(也叫汇总活动)。下图中的“开发和交付新产品Z”为概况性活动。
        
        横道图(甘特图)示例
        .里程碑图:与横道图类似,但仅标示出主要可交付成果和关键外部接口的计划开始或完成日期,如下图所示。
        
        里程碑进度计划示例
        .项目进度网络图:通常用节点法绘制,没有时间刻度,纯粹显示活动及其相互关系,有时也称为“纯逻辑图”,如本章第1张图所示。项目进度网络图也可以是包含时间刻度的进度网络图,有时称为“逻辑横道图”,如下1图所示。项目进度网络图的另一种呈现形式是“时标逻辑图”,也叫“时标网络图”,其中包含时间刻度和表示活动持续时间的横条,以及活动之间的逻辑关系,它用于优化展现活动之间的关系,许多活动都可以按顺序出现在图的同一行中,如下2图所示。
        
        逻辑横道图示例
        
        时标逻辑图示例
 
       编码
               编码过程
               在给定了软件设计规格说明书后,下一步的工作就是编写代码。一般来说,编码工作可以分为四个步骤:
               (1)确定源程序的标准格式,制订编程规范。
               (2)准备编程环境,包括软硬件平台的选择,包括操作系统、编程语言、集成开发环境等。
               (3)编写代码。
               (4)进行代码审查,以提高编码质量。为提高审查的效率,在代码审查前需要准备一份检查清单,并设定此次审查须找到的bug数量。在审查时,要检查软件规格说明书与编码内容是否一致;代码对硬件和操作系统资源的访问是否正确;中断控制模块是否正确等。
               编码准则
               在嵌入式系统中,由于资源有限,且实时性和可靠性要求较高,因此,在开发嵌入式软件时,要注意对执行时间、存储空间和开发/维护时间这三种资源的使用进行优化。也就是说,代码的执行速度要越快越好,系统占用的存储空间要越小越好,软件开发和维护的时间要越少越好。
               具体来说,在编写代码时,需要做到以下几点:
               .保持函数短小精悍。一个函数应该只实现一个功能,如果函数的代码过于复杂,将多个功能混杂在一起,就很难具备可靠性和可维护性。另外,要限制函数的长度,一般来说,一个函数的长度最好不要超过100行。
               .封装代码。将数据以及对其进行操作的代码封装在一个实体中,其他代码不能直接访问这些数据。例如,全局变量必须在使用该变量的函数或模块内定义。对代码进行封装的结果就是消除了代码之间的依赖性,提高了对象的内聚性,使封装后的代码对其他行为的依赖性较小。
               .消除冗余代码。例如,将一个变量赋给它自己,初始化或设置一个变量后却从不使用它,等等。研究表明,即使是无害的冗余也往往和程序的缺陷高度关联。
               .减少实时代码。实时代码不但容易出错、编写成本较高,而且调试成本可能更高。如果可能,最好将对执行时间要求严格的代码转移到一个单独的任务或者程序段中。
               .编写优雅流畅的代码。
               .遵守代码编写标准并借助检查工具。用自动检验工具寻找缺陷比人工调试便宜,而且能捕捉到通过传统测试检查不到的各种问题。
               编码技术
                      编程规范
                      在嵌入式软件开发过程中,遵守编程规范,养成良好的编程习惯,这是非常重要的,将直接影响到所编写代码的质量。
                      编程规范主要涉及的三方面内容:
                      .命名规则。从编译器的角度,一个合法的变量名由字母、数字和下画线三种字符组成,且第一个字符必须为字母或下画线。但是从程序员的角度,一个好的名字不仅要合法,还要载有足够的信息,做到“见名知意”,并且在语意清晰、不含歧义的前提下,尽可能地简短。
                      .编码格式。在程序布局时,要使用缩进规则,例如变量的定义和可执行语句要缩进一级,当函数的参数过长时,也要缩进。另外,括弧的使用要整齐配对,要善于使用空格和空行来美化代码。例如,在二元运算符与其运算对象之间,要留有空格;在变量定义和代码之间要留有空行;在不同功能的代码段之间也要用空行隔开。
                      .注释的书写。注释的典型内容包括:函数的功能描述;设计过程中的决策,如数据结构和算法的选择;错误的处理方式;复杂代码的设计思想等。在书写注释时要注意,注释的内容应该与相应的代码保持一致,同时要避免不必要的注释,过犹不及。
                      性能优化
                      由于嵌入式系统对实时性的要求较高,因此一般要求对代码的性能进行优化,使代码的执行速度越快越好。以算术运算为例,在编写代码时,需要仔细地选择和使用算术运算符。一般来说,整数的算术运算最快,其次是带有硬件支持的浮点运算,而用软件来实现的浮点运算是非常慢的。因此,在编码时要遵守以下准则:
                      .尽量使用整数(char、short、int和long)的加法和减法。
                      .如果没有硬件支持,尽量避免使用乘法。
                      .尽量避免使用除法。
                      .如果没有硬件支持,尽量避免使用浮点数。
                      下图是一个例子,其中两段代码的功能完全一样,都是对一个结构体数组的各个元素进行初始化,但采用两种不同的方法来实现。下图(a)采用数组下标的方法,在定位第i个数组元素时,需要将i乘以结构体元素的大小,再加上数组的起始地址。下图(b)采用的是指针访问的方法,先把指针fp初始化为数组的起始地址,然后每访问完一个数组元素,就把fp加1,指向下一个元素。在一个奔腾4的PC上,将这两段代码分别重复10 700次,右边这段代码需要1ms,而左边这段代码需要2.13ms。
                      
                      算术运算性能优化的例子
 
       编码阶段
        . 可靠性测试(含于单元测试);
        . 排错;
        . 调整可靠性活动计划;
        . 收集可靠性数据;
        . 明确后续阶段的可靠性活动的详细计划;
        . 编制可靠性文档。
 
       集成测试
        集成测试也叫做组装测试或联合测试。通常,在单元测试的基础上,需要将所有模块按照概要设计说明书和详细设计说明书的要求进行组装。
        . 组装时需要考虑的问题。
        ①在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;
        ②一个模块的功能是否会对另一个模块的功能产生不利的影响;
        ③各个子功能组合起来,能否达到预期要求的父功能;
        ④全局数据结构是否有问题;
        ⑤单个模块的误差累积起来,是否会放大,以至达到不能接受的程度。
        因此,在单元测试的同时可进行集成测试,发现并排除在模块连接中可能出现的问题,最终构成要求的软件系统。
        子系统的集成测试称为部件测试,它所做的工作是要找出组装后的子系统与系统需求规格说明之间的不一致。
        选择什么方式把模块组装起来形成一个可运行的系统,直接影响到模块测试用例的形式、所用测试工具的类型、模块编号的次序和测试的次序以及生成测试用例的费用和调试的费用。
        . 模块组装成为系统的方式。
        模块组装成为系统的方式有两种:一次性组装方式和增殖式组装方式。
        ①一次性组装方式(big bang)。
        它是一种非增殖式组装方式,也叫做整体拼装。使用这种方式,首先对每个模块分别进行模块测试,再把所有模块组装在一起进行测试,最终得到要求的软件系统。例如,有一个模块系统结构,如下图(a)所示。其单元测试和组装顺序如下图(b)所示。
        
        一次性组装方式
        在如上图(b)中,模块d1,d2,d3,d4,d5是对各个模块做单元测试时建立的驱动模块,s1,s2,s3,s4,s5是为单元测试而建立的桩模块。这种一次性组装方式试图在辅助模块的协助下,在分别完成模块单元测试的基础上,将所测模块连接起来进行测试。但是由于程序中不可避免地存在涉及模块间接口、全局数据结构等方面的问题,所以一次试运行成功的可能性并不很大。其结果是,发现有错误,却茫然找不到原因。查错和改错都会遇到困难。
        ②增殖式组装方式。
        这种组装方式又称渐增式组装,是首先对一个个模块进行模块测试,然后将这些模块逐步组装成较大的系统,在组装的过程中边连接边测试,以发现连接过程中产生的问题。最后通过增殖逐步组装成为要求的软件系统。
        . 自顶向下的增殖方式。这种组装方式是将模块按系统程序结构,沿控制层次自顶向下进行组装。其步骤如下:首先以主模块作为所测模块兼驱动模块,所有直属于主模块的下属模块全部用桩模块代替,对主模块进行测试。再采用深度优先(如下图所示为自顶向下的增殖方式)或广度优先的策略,用实际模块替换相应的桩模块,再用桩模块代替它们的直接下属模块,与已测试的模块或子系统组装成新的子系统。然后,进行回归测试(即重新执行以前做过的全部测试或部分测试),排除组装过程中引入新的错误的可能。最后,判断是否所有的模块都已组装到系统中。是,则结束测试;否则,转到B去执行。
        
        自顶向下的增殖方式
        自顶向下的增殖方式在测试过程中较早地验证了主要的控制和判断点。在一个功能划分合理的程序模块结构中,判断常常出现在较高的层次里,因而,能够较早地遇到这种问题。如果主要控制有问题,尽早发现它能够减少以后的返工,这是十分必要的。如果选用按深度方向组装的方式,可以首先实现和验证一个完整的软件功能,可先对逻辑输入的分支进行组装和测试,检查和克服潜藏的错误和缺陷,验证其功能的正确性,就为其后对主要加工分支的组装和测试提供了保证。此外,功能可行性较早地得到证实,还能够增强开发者和用户成功的信心。
        . 自底向上的增殖方式。这种组装方式是从程序模块结构的最底层模块开始组装和测试。因为模块是自底向上进行组装的,对于一个给定层次的模块,它的子模块(包括子模块的所有下属模块)已经组装并测试完成,所以不再需要桩模块。在模块的测试过程中需要从子模块得到的信息可以通过直接运行子模块得到。自底向上增殖的步骤如下:首先由驱动模块控制最底层模块的并行测试;也可以把最底层模块组合成实现某一特定软件功能的簇,由驱动模块控制它进行测试。再用实际模块代替驱动模块,与它已测试的直属子模块组装成为子系统。然后,为子系统配备驱动模块,进行新的测试。最后判断是否已组装到达主模块。是,则结束测试;否则,执行B。
        以如下图一(a)所示的一次性组装方式系统结构为例,可以用如下图二说明自底向上组装和测试的顺序。
        
        一次性组装方式
        
        自底向上的增殖方式
        . 混合增殖式测试。自顶向下增殖的方式和自底向上增殖的方式各有优缺点。一般来讲,一种方式的优点是另一种方式的缺点。
        自顶向下增殖方式的缺点是需要建立桩模块。要使桩模块能够模拟实际子模块的功能十分困难,因为,桩模块在接收了所测模块发送的信息后,需要按照它所代替的实际子模块功能返回应该回送的信息,这必将增加建立桩模块的复杂度,而且导致增加一些附加的测试。同时,涉及复杂算法和真正输入/输出的模块一般在底层,它们是最容易出问题的模块,到组装和测试的后期才遇到这些模块,一旦发现问题,就会导致过多的回归测试。而自顶向下增殖方式的优点是能够较早地发现主要控制方面的问题。
        自底向上增殖方式的缺点是“程序一直未能作为一个实体存在,直到最后一个模块加上去后才形成一个实体”。就是说,在自底向上组装和测试的过程中,对主要的控制直到最后才接触到。这种方式的优点是不需要桩模块,而建立驱动模块一般比建立桩模块容易,同时由于涉及到复杂算法和真正输入/输出的模块最先得到组装和测试,可以把最容易出问题的部分在早期解决。此外自底向上增殖的方式可以实施多个模块的并行测试,提高测试效率。因此,通常是把以上两种方式结合起来进行组装和测试。
        在进行集成测试时,测试者应当确定关键模块,对这些关键模块及早进行测试。关键模块至少应具有以下几种特征之一:
        . 满足某些软件需求;
        . 在程序的模块结构中位于较高的层次(高层控制模块);
        . 较复杂、较易发生错误;
        . 有明确定义的性能要求。
        在做回归测试时,也应该集中测试关键模块的功能。
        . 集成测试的组织和实施。
        集成测试是一种正规测试过程,必须精心计划,并与单元测试的完成时间协调起来。在制定测试计划时,应考虑如下因素:
        ①采用何种系统组装方法来进行集成测试。
        ②集成测试过程中连接各个模块的顺序。
        ③模块代码编制和测试进度是否与集成测试的顺序一致。
        ④测试过程中是否需要专门的硬件设备。
        解决了上述问题之后,就可以列出各个模块的编制、测试计划表,标明每个模块单元测试完成的日期、首次集成测试的日期、集成测试全部完成的日期、以及需要的测试用例和所期望的测试结果。
        在缺少软件测试所需要的硬件设备时,应检查该硬件的交付日期是否与集成测试计划一致。例如,若测试需要数字化仪和绘图仪,则相应的测试应安排在这些设备能够投入使用之时,并要为硬件的安装和交付使用保留一段时间,以留下时间余量。此外,在测试计划中需要考虑测试所需软件(驱动模块、桩模块、测试用例生成程序等)的准备情况。
        . 集成测试完成的标志。
        集成测试完成的标志主要有以下几项。
        ①成功地执行了测试计划中规定的所有集成测试。
        ②修正了所发现的错误。
        ③测试结果通过了专门小组的评审。
        集成测试应由专门的测试小组来进行,测试小组由有经验的系统设计人员和程序员组成。整个测试活动要在评审人员出席的情况下进行。
        在完成预定的集成测试工作之后,测试小组应负责对测试结果进行整理、分析,形成测试报告。测试报告中要记录实际的测试结果在测试中发现的问题、解决这些问题的方法以及解决之后再次测试的结果。此外还应提出目前不能解决、还需要管理人员和开发人员注意的一些问题,提供测试评审和最终决策,以提出处理意见。
        集成测试需要提交的文档有集成测试计划、集成测试规格说明和集成测试分析报告。
 
       建设单位
        建设方是建设项目的主要投资者,有时也是项目的最终使用者,是在工程建设阶段的全权代表,建设项目的经济效益,如投资额度、工程质量、投入使用时间和使用寿命直接关系着建设方的切身利益。虽然承建方、监理方与建设方是平等的市场主体,但由于建设方是投资方,掌握着项目的最终资源——决定了其他方为从属地位,所以说建设方对工程项目管理起着主导性作用。建设方加强和改善对项目的管理是从根本上实现项目按质如期完成的最有效的途径之一。
        作为项目管理集体中的主要负责人,建设方的作用是阐明本项目的目标并确认各项工作的轻重缓急,组织协调参与各方为此目标而通力合作,在管理决策过程中做出决策。但在某些具体的项目管理事务中,建设方并不总是处于主要负责人的地位,还要作为裁判、支持者、服务员及督促员的角色。
 
       数据库
        数据库(DataBase,DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
        系统使用的所有数据存储在一个或几个数据库中。
 
       数据库设计
        数据库的设计质量对整个系统的功能和效率有很大的影响。数据库设计的核心问题是:从系统的观点出发,根据系统分析和系统设计的要求,结合选用的数据库管理系统,建立一个数据模式。设计的基本要求是:
        .符合用户需求,能正确反映用户的工作环境
        .设计与所选用的DBMS所支持的数据模式相匹配
        .数据组织合理,易操作、易维护、易理解
               数据库设计步骤
               数据库的设计过程可以分为4个阶段,即用户需求分析、概念结构设计、逻辑结构设计和物理结构设计。下图反映和分析了这一设计过程,其中:
               
               数据库设计步骤
               .用户需求分析是对现实世界的调查和分析
               .概念结构设计是从现实世界向信息世界的转换。根据用户需求来进行数据库建模,也称为概念模型,常用实体关系模型表示。
               .逻辑结构设计是从信息世界向数据世界的转化。将概念模型转化为某种数据库管理系统所支持的数据模型。
               .物理结构设计是为数据模型选择合适的存储结构和存储方法。
               用户需求分析
               用户需求分析需要结合具体的业务需求分析,确定信息系统的各类使用者以及管理员对数据及其处理、数据安全性和完整性的要求。主要设计如下三方面:
               (1)系统应用环境分析。
               系统应用环境及系统所服务和运行的特殊组织环境。不同业务单位有不同的组织结构和业务工作流程。环境的特殊性将决定数据库的整体设计思路和风格。
               (2)用户数据需求及加工分析。
               用户需求及加工分析指用户希望从数据库中获得那些信息以及对信息的处理要求。由此决定数据库中应该存储哪些信息以及对数据需要进行哪些加工处理,包括在处理过程中特定的查询要求、响应时间要求,以及数据安全性、保密性、完整性和一致性等方面的要求,应在此基础上编制数据字典。
               (3)系统约束条件分析。
               系统约束条件分析及分析现有系统的规模、结构、资源和地理分布,明确现有系统存在的种种限制或约束,从而使系统设计不至于脱离实际条件,确保系统设计顺利实施。
               数据库概念结构设计
               概念结构设计是指由现实世界的各种客观事物及其联系转化为信息世界中的信息模型的过程,即为数据库的概念结构设计。E-R模型即实体-联系模型是描述数据库概念结构的有力工具。下面结合实例说明E-R模型的构建。
               在一个政府部门中存在着多个不同科室,每一个由若干名科员构成,每个科室都有一名主管上级领导,科室公务员负责为前来机关办事的群众提供相关的服务。现分别画出各个科室的E-R模型图,再画出整个机关的E-R模型。
               一个科室结构应包括:
               (1)实体,即上级领导、科室、科员、群众。
               (2)实体联系,主管领导与科室之间是一对多的关系,科室与科员之间的联系也是一对多的关系,科员与群众之间是多对多的关系。
               (3)各个实体所具有的属性。
               .主管上级领导,属性可以有编号、姓名、性别、年龄、职务、任职时间、参加工作时间、入党时间、学历
               .科室的属性可以包括科室号
               .科员的属性包括编号、姓名、性别、年龄、职称、参加工作时间、入党时间、学历
               .群众属性包括服务日期、服务事宜、处理结果
               .服务,包括服务日期、服务事宜、处理结果
               通过以上分析,可以得到如下的E-R模型,如下图所示(部分属性)。
               
               科室E-R模式图
               数据库逻辑结构设计
               逻辑结构设计的任务是要将概念结构设计阶段完成的概念模型转换成能被选定的数据库管理系统支持的数据模型。现行的数据库管理系统一般支持网状、层次和关系三种数据模型中的一种,其中关系型的数据模型在DBMS中的应用和支持较为广泛,已成为主流。
               下面简单介绍一下由E-R模型转换为关系数据模型的转化规则。在关系数据模型下,数据的逻辑结构是一张二维表,每个关系为一张二维表格。E-R模型转换为关系数据模型的转化规则如下。
               .每一实体及其属性对应于一个关系模式。实体名作为关系名,实体的属性作为对应关系的属性。所谓关系模式,就是对关系的描述,用关系名(属性1、属性2、属性3,……属性n)来表示。
               .两两实体之间的联系及其属性一般对应一个关系模式,联系名作为对应的关系名,联系的属性作为对应关系的属性;不带属性的联系可以去掉。
               .实体和联系中关键字属性在关系模式中仍作为关键字。
               上图中所示的实体关系图可以按照这些转换规则进行转化得到如下对应的关系模型。
               .主管上级领导,编号、姓名、性别、年龄、职务、任职时间、参加工作时间、入党时间、学历
               .科室,包括主管上级领导编号、科室号
               .科员,包括科室号、编号、姓名、性别、年龄、职称、参加工作时间、入党时间、学历
               .群众,包括来访者编号、姓名、性别、年龄、来访日期、服务事宜
               .服务,包括受理公务员编号、来访者编号、服务日期、服务事宜、处理结果
               不同的系统配备的数据库管理系统性能不同,因而必须结合具体DBMS的性能和要求将一般数据模型转换成所选用的数据管理系统支持的数据模型,若选用的DBMS支持层次、网络模型,则还要完成从关系模型向层次或网络模型的转换。
               数据库物理结构设计
               数据库的物理设计以逻辑结构设计的结果为输入,结合关系数据库系统的功能和应用环境、存储设备等具体条件为数据模型选择合适的存储结构和存储方法。从而提高数据库的效率。物理结构设计的主要任务如下。
               (1)确定存储结构。
               根据用户对数据结构和处理的要求,权衡数据存取时间、空间利用率和维护代价等三方面的利弊,综合考虑存储效率、维护成本等相关因素,从数据库管理系统提供的各种存储结构(例如顺序存储结构、索引存储结构,等等)中,选取合适的结构并加以实现。
               (2)选择和调整存储路径。
               数据库必须支持多个用户的多种应用,因此必须提供多个存取入口、多条存取路径,建立多个辅助索引。此过程中需要考虑一些问题,例如如何选取合适的数据项建立索引,如何建立辅助索引从而达到检索效率和存储空间的统一等。
               (3)确定数据存储位置。
               按照不同的应用可将数据分为若干个组。根据各组数据利用频率和存储要求的不同,各类数据的存放位置、存储设备以及区域划分都应有所不同。应该把存取频率和存取速度要求较高的数据存储在高速存储器上,把存取频率和存取速度要求较低的数据存储在低速存储器上。
               (4)确定存储分配。
               大多数据库管理系统会提供一些存储分配参数,例如溢出区大小、块大小、缓冲区大小和个数等,设计人员应全面考虑这些参数,以进行物理优化。
               (5)确定数据的完整性与安全性约束。
               进行物理设计时不仅要考虑所选用数据库管理系统提供的安全机制和完整性约束,还要考虑用户使用制度、应用程序、计算机系统等各个涉及具体应用的方面。
               (6)考虑数据恢复方案。
               数据库的物理设计阶段也要考虑数据库的恢复问题,采取必要的物理措施和手段,为突发事件和故障后的恢复做好准备,提供必要的物理工具。
 
       项目计划
        项目计划阶段,监理的主要工作如下。
        (1)对软件计划的相关内容(重点是组织、技术标准、开发计划和进度要求等)、项目计划过程、项目计划组织和文档格式等进行审查,确认是否满足要求。
        (2)给出符合要求的结论。
        (3)确定其可否作为软件开发的前提和依据。
        项目计划监理的基本准则如下。
        (1)承建单位制订了软件项目计划,同时该项目计划通过了正式的评审,软件项目计划对项目组织、进度计划、工程标准进行了承诺,项目的风险分析合理,风险管理方案可行。
        (2)项目的阶段划分是明确的。
 
       中标
        中标人的投标应当符合下列条件之一:
        (1)能够最大限度地满足招标文件中规定的各项综合评价标准。
        (2)能够满足招标文件的实质性要求,并且经评审的投标价格最低。但是投标价格低于成本的除外。
        评标委员会经评审,认为所有投标都不符合招标文件要求的,可以否决所有投标。依法必须进行招标的项目的所有投标被否决的,招标人应当重新招标。
        在确定中标人前,招标人不得与投标人就投标价格、投标方案等实质性内容进行谈判。评标委员会成员应当客观、公正地履行职务,遵守职业道德,对所提出的评审意见承担个人责任。评标委员会成员不得私下接触投标人,不得收受投标人的财物或其他好处。评标委员会成员和参与评标的有关工作人员不得透露对投标文件的评审和比较、中标候选人的推荐情况,以及与评标有关的其他情况。
        中标人确定后,招标人应当向中标人发出中标通知书,并同时将中标结果通知所有未中标的投标人。中标通知书对招标人和中标人具有法律效力。中标通知书发出后,招标人改变中标结果的,或者中标人放弃中标项目的,应当依法承担法律责任。招标人和中标人应当自中标通知书发出之日起30日内,按照招标文件和中标人的投标文件订立书面合同。招标人和中标人不得再行订立背离合同实质性内容的其他协议。招标文件要求中标人提交履约保证金的,中标人应当提交。
        依法必须进行招标的项目,招标人应当自确定中标人之日起15日内,向有关行政监督部门提交招标投标情况的书面报告。
 
       主页
        主页(Homepage,也叫首页)一般是指Web节点的起始点,是个人或企业的基本信息页面。同其他Web页类似,可以包含文本、图片、表格、超链接等HTML元素。
        主页主要用于WWW服务,进行信息的查询和浏览,文档扩展名可以是htm、html、aspx、jsp或其他的静态、动态Web页。
   题号导航      2015年上半年 系统集成项目管理工程师 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
 
第2题    在手机中做本题