201405系分下午真题

第 1 题

某企业委托软件公司开发一套运动器材综合销售平台,以改进已有的销售管理系统,拓展现有的实体店销售模式,综合管理线上线下的器材销售业务。该软件公司组建项目组开发该系统,现正处于需求获取阶段。经过项目组讨论,由于目标系统业务功能比较复杂,所以在需求获取中针对不同类型的业务需求,采用不同的需求获取方法。项目组列出可选的需求获取方法包括:用户访谈、联合需求计划(JRP)、问卷调查、文档分析和实地观察等。

需求获取的要求如下:

(1)获取已有销售管理系统中所实现的实体店销售模式和过程;

(2)获取系统的改进需求和期望增加的业务功能;

(3)获取当前业务过程中的详细数据并深入了解这些数据产生的原因;

(4)从企业管理人员、销售人员、各种文档资源等尽可能多的来源获取需求;

(5)消除需求中出现的冲突,尽可能获取全面、一致的需求;

(6)尽可能多地让用户参与需求获取过程。

【问题1】(10分)
联合需求计划(JRP)是一种流行的需求获取方法。请说明什么是JRP,JRP与其他需求获取方法相比有什么优势?
【问题2】(12分)
针对题目中所描述的需求获取要求(1)~(6),选择最适合的需求获取方法填入表1-1中的(a)~(f)处。
表1-1 需求获取方法选择
 
【问题3】(3分)
由于该企业销售规模较大,所积累的企业业务文档数量庞大,所以只能通过抽样实现不同类型的文档分析。如果对于每种类型的文档要求90%的可信度(可信度因子为1.645),那么不同类型的文档分别需要抽样多少份就能达到该要求?

**答案与解析** - 试题难度:较难 - 知识点:案例分析>需求工程 - 试题答案:

【问题1】

联合需求计划是一个通过高度组织的群体会议来分析企业内的问题并获取需求的过程,它是联合应用开发的一部分。JRP是一种相对来说成本较高的需求获取方法,但也是十分有效的一种。它通过联合各个关键用户代表、系统分析师、开发团队代表一起,通过有组织的会议来讨论需求。JRP将会起到群策群力的效果,对于一些问题最有歧义的时候、对需求最不清晰的领域都是十分有用的一种方法。
优势:1、发挥用户和管理人员参与系统开发过程的积极性,提高系统开发效率;2、降低系统需求获取的时间成本,加速系统开发周期;3、采用原型确认系统需求并获取设计审批,具有原型化开发方法的优点。

【问题2】

(a)实地考察或文档分析

(b)用户访谈或联合需求计划

(c)用户访谈或联合需求计划

(d)问卷调查或文档分析

(e)联合需求计划

(f)联合需求计划

【问题3】

样本大小 = 0.25×(1.645/(1-0.90))2 = 67.65063

因此,需要抽取68份文档。

- 试题解析:

【问题3】
样本数量=0.25×(可信度因子/错误率)2
### 第 2 题

某电子商务公司为了扩大业务规模,提高企业的信息化程度与工作效率,决定由公司的IT部门开发一套ERP系统。在系统建设之初,该公司召开了项目论证会,对于项目的可行性进行了分析。

在论证会上,公司主管领导王总首先介绍了公司目前的运营情况,分析了竞争对手的优势和劣势,认为该项目的成功实施将大大提高公司的竞争力,因此对该项目大力支持,并要求项目必须按期、高质量地完成。公司的中高层管理人员一致认为现有业务大量依靠人工记录,效率低下,急切希望能够依靠该系统的部署提高工作效率,也表示将大力支持项目的开发工作。

公司IT部门的负责人李总对项目开发中的技术问题进行了分析,他认为IT部门多年来一直从事J2EE平台上的应用开发,开发经验丰富。由于近两年来基于B/S结构的Web应用逐渐流行,加之该项目是公司的内部项目,系统功能清楚明确,因此建议可以首先基于B/S架构,采用Web技术进行项目开发,让员工边学边练,即使项目进展不顺利,也可以迅速切换到J2EE平台之上。李总还透露,IT部门最近通过内部关系得到了某竞争对手公司的部分核心业务组件,只要稍加修改就可以立即加入到新系统中,这样就会大大加快项目的进度。

公司业务部门的代表小张表示,ERP系统上线后需要大量的数据采集工作,现有业务人员没有足够的IT技能,短期内难以保证数据录入质量。另外,新系统可能会导致一些现有业务流程的改变,业务人员一开始将难以适应新的业务处理方式,可能会抵制使用该系统。

最后,公司销售部门和财务部门的代表在会上对ERP系统的建设成本和收益进行了详细的分析和比较,给出了相应的结论。

【问题1】(8分)
在信息系统建设项目中,通常从经济可行性、技术可行性、法律可行性和用户使用可行性四个方面来进行可行性分析。请用300字以内的文字简要说明项目可行性分析这四个方面各自的主要内容。
【问题2】(10分)
请根据题干描述的项目开发总体思路,用600字以内的文字对技术可行性、法律可行性和用户使用可行性进行初步分析,并给出分析结论。
【问题3】(7分)
假设本项目有甲、乙、丙三个解决方案,投资总额均为1000万元,建设期均为2年,运营期均为4年,运营期各年末净现金流入量总和为2000万,年利率为10%,三种方案的现金流量表如表2-1所示。
表2-1 三种方案的现金流量(单位:万元)
请根据表2-1中的数据,计算甲、乙、丙三种方案的净现值,给出具体计算过程,并说明哪种方案最优。

答案与解析

  • 试题难度:较难
  • 知识点:案例分析>系统规划
  • 试题答案:

     

    【问题1】

    经济可行性也称为投资收益分析或成本效益分析,主要评估项目的建设成本、运行成本和项目建成后可能的经济收益。

    技术可行性也称为技术风险分析,研究的对象是信息系统需要实现的功能和性能,以及技术能力约束。

    法律可行性也称为社会可行性,具有比较广泛的内容,它需要从政策、法律、道德、制度等社会因素来论证信息系统建设的现实性。

    用户使用可行性也称为执行可行性,是从信息系统用户的角度来评估系统的可行性,包括企业的行政管理和工作制度、使用人员的素质和培训要求等,可以细分为管理可行性和运行可行性。

    【问题2】

    (1)技术可行性:公司IT部门具有丰富的J2EE平台开发经验,但缺乏Web技术应用经验,如果项目基于B/S架构,则技术上不可行。

    (2)法律可行性:直接修改竞争对手的核心业务组件,属于侵权对方知识产权行为,法律上不可行。

    (3)用户使用可行性:用户可能会抵制使用新系统,在用户使用可行性上存在问题。但由于公司中高层领导大力支持该项目,这个问题可以通过相关工作来得到解决。

    【问题3】

    方案甲:
    (1)NPV = 300×0.83+400×0.75+500×0.68+800×0.62-(700+300×0.91) = 412
    (2)NPVR = 412/(700+300×0.91) = 0.423
    方案乙:
    (1)NPV = 200×0.83+400×0.75+600×0.68+800×0.62-(600+400×0.91) = 406
    (2)NPVR = 406/(600+400×0.91) = 0.421
    方案丙:
    (1)NPV = 400×0.83+500×0.75+500×0.68+600×0.62-(800+200×0.91) = 437
    (2)NPVR = 437/(800+200×0.91) = 0.445
    因为方案丙的净现值和净现值率均最大,因此,方案丙最优。

  • 试题解析:

    【问题3】计算最优方案,需要比较各方案的净现值或净现值率。
    净现值=年末净现金流量×系数-年初投资额×系数
    净现值率=净现值/投资

第 3 题

近年来,分区化(Partitioning)技术已被广泛应用于大型嵌入式系统,此项技术重在解决嵌入式系统中多类应用软件共享计算机资源的安全性问题,同时,也可降低软件开发成本,提高软件的可重用能力。某公司承担了一项宇航计算机系统研制任务,要求将以前采用的多处理机系统精简为由单个处理器系统完成,而整体功能应在原有功能不变的基础上,可灵活扩展,并要求原应用软件可被快速移植到新系统。公司将任务交给王工程师组织并承担总体设计工作。在采用何种嵌入式实时操作系统的选型问题上,王工认为宇航系统强调安全性,原系统应用软件功能分布在各自的处理机上,在保持功能不变的情况下,应适当地维持各个软件的相对独立性,因此采用具有分区能力的操作系统(如:VxWorks653)比较合适。

【问题1】(共9分)
图3-1给出了具有分区能力的操作系统架构,该架构支持分区和进程两类调度,并提供了分区的时间、空间隔离保障,保证了应用软件可安全共享计算机资源。请用300字以内文字说明该类操作系统中分区化技术的主要特点。
 

图3-1 具有分区能力的操作系统架构

【问题2】(共16分)
完成该项目总体设计后,王工将软件设计工作交给李工,要求李工在原有软件基础上,完成新环境下的软件设计。经分析,李工统计出了原系统的任务基本情况(见表3-1)。原系统包含三个子系统,为了保证各子系统软件间的相对独立性,将三个子系统移植到新系统的三个分区工作,假设将“显示子系统”、“雷达子系统”和“任务子系统”分别用P1、P2和P3表示,系统的最小时间计时(tick)设为1ms,调度表的主时间框架将是40ms。
根据表3-1给出的原系统各任务周期和最坏执行时间数据,新系统中的所有任务可被调度,请对此进行分析说明,完善表3-2所示的分区调度表的设计,在空(1)~(10)填写正确内容并将解答填入答题纸的对应栏内。
(注:WCET,Worst-Case Execution Time)。
表3-1 原系统软件任务情况

表3-2 分区调度表设计(时间单位:ms)


表3-2(续) 分区调度表设计(时间单位:ms)

答案与解析

  • 试题难度:较难
  • 知识点:案例分析>嵌入式方向
  • 试题答案:

    【问题1】

    分区是一个相对独立实体,对于每个分区来讲,它们在空间和时间上完全隔离;分区由一个以上的进程组成,在时间上,每个分区按预先设定的时间片运行,分区没有优先级,系统中的所有分区按线性方式顺序工作;在空间上,每个分区有自己独立的存储空间,其空间大小是预先分配好的,任何分区内的进程发生故障不会影响其他分区的进程运行。分区技术使应用之间既能够相互独立的工作而不相互影响,又能共享系统资源;各个应用之间故障隔离,防止错误蔓延,可靠性和安全性高。开发人员能够快速地将新的软件模块插入系统,从而实现了高级别的系统集成和更新。

    【问题2】

    (1)0          (2)1                 (3)2                 (4)P2               (5)P3

    (6)4          (7)20               (8)3                 (9)null               (10)7

  • 试题解析:

    【问题1】
    图3-1给出的具有分区技术的操作系统架构已明确说明了此类操作系统的能力,通过本图考生就可以正确地回答该问题。
    【问题2】
    本题涉及到两方面的知识,其一是实时系统的周期任务的可调度分析方法;其二是正对问题1中提到的分区的时间表调度算法,完成对表3-1的实例进行可调度分配,使操作系统按照设置好的调度序列调度分区,一定会保证表3-1中所有任务在最坏情况下按其周期要求执行完成。在可调度分析时,表3-1给出的实例中,分区调度的主时间框架应是实例中所用任务周期的最大公约数,即40ms,这样可调度分析首先应分析在40ms时间范围内是否可保证表3-1中所有任务的最坏执行时间都被至少执行一次。在此前提下,依次类推,完成对20ms周期、10ms周期和5ms周期的所用任务的最坏执行时间都被至少执行一次,如果四分钟分析都可调度,则表3-1给出的实例是可调度的。具体公式如下:
    1(P3T1)≤5ms;
    1(P1T1)+1(P2T1)≤10ms;
    2(P1T2)+1(P3T2)≤20ms
    1(P3T1)×8+1(P1T1)×4+1(P2T1)×4+2(P1T2)×2+1(P3T2)×2+5(P1T3)×1+3(P2T2)≤40ms
    如果上述分析是可调度的,那么完成表3-2的分区调度表就可很容易实现。调度表是分区操作系统调度分区的依据,调度表将时间框架分成若干个窗口,每一个窗口可定义分配给哪个分区运行,启动时间是指本窗口针对主时间框架的第一个窗体“0”的偏移量,持续时间是指分配给此窗口的实际可运行时间。考生在填写时必须清楚以下4点:
    (1)分区时间表调度中某窗口的启动时间不一定必须等于上一窗口的启动时间加持续时间。也就是说,窗口间的启动时间可以不连续;
    (2)分区时间表调度中的第一个窗口的启动时间一般都为0;
    (3)操作系统调度程序在遇见主时间框架最后一个窗口运行完后,应在主时间框架结束时刻重新加载主时间框架,新周期开始从第一个窗口运行;
    (4)空窗口(null)是指本时间段操作系统不做任何分区调度,系统运行一种称之为空分区的任务。

第 4 题

某企业经过多年的信息化建设,存在大量的应用软件系统,为了保证这些系统的运行与维护,专门组建应用系统维护部门。该部门的主要工作是保证系统的正常运行、处理问题以及扩展这些应该系统的功能,以满足企业业务功能的变化与扩展。

目前该部门存在人员流失、变更频繁,文档丢失或长期失于维护,维护成本愈来愈高等问题,具体表现为:

问题(1):随着时间和人员的变动,程序被多人修改,往往导致程序难以理解,注释混乱,流程复杂;

问题(2):随着不断修改程序和增加新的功能,模块之间的耦合关系日益复杂,维护成本不断增加。

这些问题导致新来的维护人员需要直接面对大量流程、结构复杂的源程序,维护困难,往往一次改动需要设计大量的软件模块。

为解决应用系统维护部门面对的问题,企业信息部门组织了专门的专家讨论会。各位专家一致认为,逆向工程与重构工程是目前预防性维护采用的主要技术,应该采用逆向工程的技术方法,重构相关应用系统文档,同时采用软件重构来降低软件代码的复杂性,最终降低维护成本。

【问题1】(8分)
软件的逆向工程是分析已有程序,寻求比源代码更高级的抽象表现形式。与之相关的概念包括软件重构、设计恢复、重构工程等。请说明设计恢复中常见的恢复信息的4种级别。
【问题2】(11分)
重构是对软件内部结构的一种调整,目的是不改变软件功能的前提下,提高其可理解性,降低其修改成本。请说明软件重构的三个类别,并简要说明常见的重构方法。针对题干中的问题(1)和问题(2),宜采用何种重构方法?
【问题3】(6分)
软件重构做出的修改可能导致程序运行变慢,但也更容易进行软件的性能优化和调整,请分析原因。
 

答案与解析

  • 试题难度:一般
  • 知识点:案例分析>系统分析
  • 试题答案:

    【问题1】

    (1)实现级:过程的设计模型。

    (2)结构级:程序和数据结构信息。

    (3)功能级:对象模型、数据和控制流模型。

    (4)领域级:UML状态图和部署图。

    【问题2】

    软件重构的三个类别:

    代码重构、设计重构、架构重构。

    常见的重构方法:

    (1)提取方法(Extract method)

    (2)用委托来代替继承(Replace Inheritance witch Delegation)

    (3)用子类代替型别码(Replace Type with Subclasses)

    (4)用多态来代替条件判断(Replace conditional with polymorphism)

    (5)模板函数

    (6)提取类

    (7)提取接口

    问题(1)可采用提取方法的重构方法解决,问题(2)可采用提取接口的方法解决。

    【问题3】

    为了使软件更容易理解,同时又需要考虑到各种兼容性,在重构时,可能需要在代码中增加冗余的判断、冗余的代码或结构;也可能需要修改已有的数据库结构和索引等,导致程序运行变慢。

    但从长远来看,由于重构以后的软件结构更加清晰,代码复杂性更低,更易于理解,在性能调优时更容易分析瓶颈之所在,然后加以解决,因此,软件重构也更容易进行软件的性能优化和调优。

  • 试题解析:

    软件的逆向工程师分析程序,力图在比源代码更高抽象层次上建立程序表示的过程。逆向工程师一个恢复设计的过程,从现有的程序中抽取数据、体系结构和过程的设计信息。
    软件重构的目的主要有四个方面,可以分为三类。
    模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。

第 5 题

某软件公司拟为其客户开发一套基于Web的电子商务系统,该系统向终端用户提供在线购物功能。近期,项目组召开会议对以下两项需求进行了重点讨论:

(1)系统终端用户的界面呈现应提供丰富的多媒体信息,包括文本、图片、动画、视频及语音消息。

(2)系统上线后需应对大量客户端并发请求处理,商家促销活动时,并发用户数可能会达到20万的规模;系统预期用户呈明显地地域集中分布特征。

【问题1】(12分)

项目组在讨论实现需求(1)的技术方案时,首先确定了以下技术原则:

(a)应在开发阶段容易获得良好的协作开发环境支持;

(b)应考虑客户端浏览器的兼容性;

(c)应尽可能使系统具有良好的可维护性;

(d)应考虑公司开发人员的技术学习成本。

项目组就Flex与HTML5两种技术方案进行了论证,综合考虑上述技术原则要求,最终采用了基于Flex的技术方案,请结合需求(1)及上述技术原则,对比Flex与HTML5两种技术方案的优劣,说明采用基于Flex的技术方案的原因。

【问题2】(13分)

项目组在讨论实现需求(2)的技术方案时,首先确定了以下技术原则:

(a)系统中商品信息及用户信息按类别划分不同数据库或表存放;

(b)系统应提供热备份机制以防止服务器意外失效;

(c)为满足大规模并发处理要求,系统软硬件投入可根据需要追加。

项目组经过集思广益,抽取了HTML静态化、缓存、库表散列、集群与镜像、负载均衡等候选技术手段。请结合需求(2)及相应技术原则,分析上述技术手段在本项目中的可行性,将结果填入表格5-1中。

表5-1 技术手段可行性分析


答案与解析

  • 试题难度:较难
  • 知识点:案例分析>Web技术
  • 试题答案:

    【问题1】

    Flex的优势:大量控件支持、完整的企业化开发流程及工作流、多种框架可供选择。

    Flex的劣势:生成的SWF过大、效率问题、较差的图文混排支持。

    HTML 5的优势:真正意义上全平台支持、可以胜任后台,比Flex拥有更大、更全面、更活跃的社区。

    HTML 5的劣势:缺乏良好的协作开发环境,缺乏完整的开发流程;要编写CSS与JavaScript,学习成本高;浏览器兼容问题、效率问题、保密性及安全性、AJAX跨域通讯等问题。

    基于以上比较,在本案例中,由于HTML5缺乏良好的协作开发环境、学习成本高、各种浏览器不兼容,缺乏完整的开发流程,系统可维护性差。因此,选择基于Flex的方案。

    【问题2】


  • 试题解析:

    【问题1】考查互联网应用开发技术。
    【问题2】考查大规模用户并发请求处理技术。

results matching ""

    No results matching ""