问答题论文:试题论软件三层结构的设计 目前,三层结构或多层结构已经成为软件开发的主流,采用三层结构有很多好处,例如,能有效降低建设和维护成本,简化管理,适应大规模和复杂的应用需求,可适应不断的变化和新的业务需求等。在三层结构的开发中,中间件的设计占重要地位。 请围绕“软件三层结构的设计”论题,依次对以下3个方面进行论述。 (1)概要叙述你参与分析和开发的软件项目以及你所担任的主要工作。 (2)具体讨论你是如何设计三层结构的,详细描述其设计过程,遇到过的问题以及解决的办法。 (3)分析你采用三层结构所带来的

题目
问答题
论文:试题论软件三层结构的设计 目前,三层结构或多层结构已经成为软件开发的主流,采用三层结构有很多好处,例如,能有效降低建设和维护成本,简化管理,适应大规模和复杂的应用需求,可适应不断的变化和新的业务需求等。在三层结构的开发中,中间件的设计占重要地位。 请围绕“软件三层结构的设计”论题,依次对以下3个方面进行论述。 (1)概要叙述你参与分析和开发的软件项目以及你所担任的主要工作。 (2)具体讨论你是如何设计三层结构的,详细描述其设计过程,遇到过的问题以及解决的办法。 (3)分析你采用三层结构所带来的效果如何,以及有哪些还需要进一步改进的地方,如何改进?

相似考题
参考答案和解析
正确答案: 我所在的单位是国内主要的商业银行之一,作为单位的主要技术骨干,2003年1月,我主持了远期结售汇系统的开发,该系统是我行综合业务系统XX2000的一个子系统,由于银行系统对安全性,可靠性,可用性和响应速度要求很高,我选择了三层C/S结构作为该系统的软件体系结构,在详细的设计三层结构的过程中,我采用了字符终端为表示层,CICS TRANSATION SERVER为中间层,DB2 UDB 7.1为数据库层,并采用了CICS SWITCH组,并行批量的办法来解决设计中遇到的问题,保证了远期结售汇系统按计划完成并顺利投产,我设计的软件三层结构得到了同事和领导的一致认同和称赞。但是,我也看到在三层结构设计中存在一些不足之处:例如中间层的负载均衡算法过于简单,容易造成系统负荷不均衡,并行批量设计不够严谨,容易造成资源冲突等。
我所在的单位是国内主要的商业银行之一。众所周知,银行的业务存在一个“二八定理”:即银行的百分之八十的利润是由百分之二十的客户所创造。为了更好地服务大客户,适应我国对外贸易的蓬勃发展态势,促进我国对外贸易的发展,2003年1月,我行开展了远期结售汇业务。
所谓的远期结售汇就是企业在取得中国外汇管理局的批准后,根据对外贸易的合同等凭证与银行制定合约,银行根据制定合约当天的外汇汇率,通过远期汇率公式,计算出交割当天的外汇汇率,并在那天以该汇率进行成交的外汇买卖业务。远期结售汇系统j是我行综合业务系统XX2000的一个子系统,它主要包括了联机部分、批量部分、清算部分和通兑部分,具有协议管理、合约管理、报价管理、外汇敞口管理、账务管理、数据拆分管理、报表管理、业务缩微和事后监督等功能。
我作为单位的主要技术骨干之一,主持并参与了远期结售汇系统的项目计划、需求分析、设计、编码和测试阶段的工作。由于银行系统对安全性、可靠性、可用性和响应速度要求很高,我选择了三层C/S结构作为该系统的软件体系结构,下面,我将分层次详细介绍三层C/S软件体系结构的设计过程。(1)表示层为字符终端。我行以前一直使用IBM的VisualGen2.0附带的图形用户终端来开发终端程序,但在使用的过程中,分行的业务人员反映响应速度比较慢,特别是业务量比较大的时候,速度更是难以忍受。为此,我行最近自行开发了一套字符终端CITE,它采用VisualBasic作为开发语言,具有响应速度快、交互能力强、易学、编码快和功能强大的特点,在权衡了两者的优点和缺点之后,我决定选择字符终端CITE作为表示层。
(2)中间层为CICS Transation Server(CTS)。首先,我行与IBM公司一直保持着良好的合作关系,而我行的大部分技术和设备都采用了IBM公司的产品,其中包括了大型机,由于CICS在IBM的大型机上得到了广泛的应用,并在我行取得了很大的成功,为了保证与原来系统的兼容和互用性,我采用了IBM的CTS作为中间层,连接表示层和数据库层,简化系统的设计,使开发人员可以专注于表示逻辑和业务逻辑的开发工作,缩短了开发周期,减少开发费用和维护费用,提高了开发的成功率;其次,对于中间层的业务逻辑,我采用了我行一直使用的Visualage For Java作为开发平台,它具有简单易用的特点,特别适合开发业务逻辑,可以使开发人员快速而准确地开发出业务逻辑,确保了远期结售汇系统的顺利完成;最后,由于采用了CTS,确保了系统的开放性和互操作性,保证了与我行原来的联机系统和其他系统的兼容,保护了我行的原有投资。
(3)数据层为DB2 UDB 7.1。由于DB2在大型事务处理系统中表现出色,我行一直使用DB2作为事务处理的数据库,并取得了很大的成功,在DB2数据库的使用方面积累了自己独到的经验和大量的人才,为了延续技术的连续性和保护原有投资,我选择了DB2 UDB 7.1作为数据层。
但是,在设计的过程中也遇到了一些困难,我们主要采取了以下的办法来解决:
(1)CICSSwitch组。众所周知,银行系统对于安全性、可靠性、可用性和响应速度要求很高,特别是我行最近进行了数据集中,全国只设两个数据中心,分别在XX和YY两个地方,这样对以上的要求就更高了,为了保障我行的安全生产,我采用了CTSSWITCH组技术。为了简化系统的设计和缩短通信时间,我采用了简单的负载均衡算法,例如这次分配给第Ⅳ个CTS,下次则分配给第N+1个CTS,当到了最后一个,就从第一个开始;为了更好地实现容错,我采用了当N第个CTS失效的时候,把它正在处理的业务转到第N+1个上面继续处理,这样大大增加了系统的可用性,可以为客户提供更好的服务;此外,我还采用了数据库连接池的技术,大大缩短了数据库处理速度,提高了系统运行速度。
(2)并行批量。银行系统每天都要处理大量的数据,为了确保白天的业务能顺利进行,有一部分的账务处理,例如一部分内部户账务处理,或者代理收费业务和总账与分户账核对等功能就要到晚上批量地去处理,但是,这部分数据在数据集中之后就显得更加庞大,我行以前采用串行提交批量作业的办法,远远不能适应数据中心亿万级的数据处理要求,在与其他技术骨干讨论之后,并经过充分的论证和试验,我决定采用了并行批量的技术,所谓的并行批量,就是在利用IBM的OPC(Tivoli Operations,Planningand Control)技术,把批量作业按时间和业务处理先后顺序由操作员统一提交的基础上,再利用DB2的PARTITION技术,把几个地区分到一个PARTITION里面分别处理,大大提高了银行系统的数据处理速度,确保了远期结售汇系统三层结构的先进性。在并行批量的设计过程中,我考虑到批量作业有可能因为网络错误或者资源冲突等原因而中断,这样在编写批量程序和作业的时候必须支持断点重提,以确保生产的顺利进行。
由于软件三层结构设计得当,并采取了有效的措施去解决设计中遇到的问题,远期结售汇系统最后按照计划完成并顺利投产,不但保证了系统的开发性开放性、可用性和互用性,取得了良好的社会效益和经济效益,而且我的软件三层结构设计得到了同事和领导的一致认同与称赞,为我行以后系统的开发打下了良好的基础。
在总结经验的同时,我也看到了我在软件三层结构设计中的不足之处:
首先,负载算法过于简单,容易造成系统的负荷不均衡:由于每个业务的处理时间不一样,有的可能差距很远,简单的顺序加一负载分配算法就容易造成负载不均衡,但是如果专门设置一个分配器,则增加了一次网络通信,使得系统的速度变慢,这样对响应速度要求很高的银行系统来说也是不可行的,于是我决定采用基于统计的分配算法,即在收到请求的时候,根据预先设定的权值,按概率,直接分配给CTS。
其次,由于批量作业顺序设计得不过够严谨等各种原因,容易造成资源冲突:在远期结售汇系统运行了一段时间之后,数据中心的维护人员发现了,系统有的时候会出现资源冲突现象,在经过仔细的分析之后,我发现,由于每天各个业务的业务量大小不一样,顺序的两个作业之间访问同一个表的时候便会产生资源冲突,另外,在OPC作业运行的过程中,操作员提交的其他作业与这个时间的OPC作业产生也有可能产生资源冲突。对于第一种情况,可以在不影响业务的情况下调整作业顺序或者对于查询作业运用DB2的共享锁的技术,而第二种情况则要制定规范,规定在某时间断内不允许提交某些作业来解决。为了更好地开展系统分析工作,我将在以后的工作实践中不断地学习,提高自身素质和能力,为我国的软件事业贡献自己的微薄力量。
解析: 暂无解析
更多“问答题论文:试题论软件三层结构的设计 目前,三层结构或多层结构已经成为软件开发的主流,采用三层结构有很多好处,例如,能有效降低建设和维护成本,简化管理,适应大规模和复杂的应用需求,可适应不断的变化和新的业务需求等。在三层结构的开发中,中间件的设计占重要地位。 请围绕“软件三层结构的设计”论题,依次对以下3个方面进行论述。 (1)概要叙述你参与分析和开发的软件项目以及你所担任的主要工作。 (2)具体讨论你是如何设计三层结构的,详细描述其设计过程,遇到过的问题以及解决的办法。 (3)分析你采用三层结构所带来的”相关问题
  • 第1题:

    论文:论软件三层结构的设计目前,三层结构或多层结构已经成为软件开发的主流,采用三层结构有很多好处,例如,能有效降低建设和维护成本,简化管理,适应大规模和复杂的应用需求,可适应不断的变化和新的业务需求等。在三层结构的开发中,中间件的设计占重要地位。请围绕软件三层结构的设计”论题,依次对以下3个方面进行论述。(1)概要叙述你参与分析和开发的软件项目以及你所担任的主要工作。(2)具体讨论你是如何设计三层结构的,详细描述其设计过程,遇到过的问题以及解决的办法。(3)分析你采用三层结构所带来的效果如何,以及有哪些还需要进一步改进的地方,如何改进?


    我所在的单位是国内主要的商业银行之一,作为单位的主要技术骨干,2010年1月,我主持了远期结售汇系统的开发,该系统是我行综合业务系统XX2010的一个子系统,由于银行系统对安全性、可靠性、可用性和响应速度要求很高,我选择了三层C/S结构作为该系统的软件架构,在详细地设计三层结构的过程中,我采用了字符终端为表示层,CICSTRANSATIONSERVER为中间层,DB2UDB8.2为数据库层,并采用了CICSSWITCH组并行批量的办法来解决设计中遇到的问题,保证了远期结售汇系统按计划完成并顺利投产,我设计的软件三层结构得到了同事和领导的一致认同和称赞。但是,我也看到在三层结构设计中存在一些不足之处,例如,中间层的负载均衡算法过于简单,容易造成系统负荷不均衡,并行批量设计不够严谨,容易造成资源冲突等。
    正文:
    我所在的单位是国内主要的商业银行之一。众所周知,银行的业务存在一个“二八定理”:即银行的百分之八十的利润是由百分之二十的客户所创造。为了更好地服务大客户,适应我国对外贸易的蓬勃发展态势,促进我国对外贸易的发展,2010年1月,我行开展了远期结售汇业务。
    所谓的远期结售汇就是企业在取得中国外汇管理局的批准后,根据对外贸易的合同等凭证与银行制定合约,银行根据制定合约当天的外汇汇率,通过远期汇率公式,计算出交割当天的外汇汇率,并在那天以该汇率进行成交的外汇买卖业务。远期结售汇系统是我行综合业务系统XX2010的一个子系统,它主要包括了联机部分、批量部分、清算部分和通兑部分,具有协议管理、合约管理、报价管理、外汇敞口管理、账务管理、数据拆分管理、报表管理、业务缩微和事后监督等功能。
    我作为单位的主要技术骨干之一,主持并参与了远期结售汇系统的项目计划,需求分析、设计、编码和测试阶段的工作。由于银行系统对安全性,可靠性,可用性和响应速度要求很高,我选择了三层C/S结构作为该系统的软件架构,下面,我将分层次详细介绍三层C/S软件架构的设计过程。
    (1)表示层为字符终端。我行以前一直使用IBM的VisualGen2.0附带的图形用户终端来开发终端程序,但在使用的过程中,分行的业务人员反映响应速度比较漫,特别是业务量比较大的时候,速度更是难以忍受。为此,我行最近自行开发了一套字符终端CITE,它采用VisualBasic作为开发语言,具有响应速度快、交互能力强、易学、编码快和功能强大的特点,在权衡了两者的优点和缺点之后,我决定选择字符终端CITE作为表示层。
    (2)中间层为CICSTransationServer(CTS)。首先,我行与IBM公司一直保持着良好的合作关系,而我行的大部分技术和设备都采用了IBM公司的产品,其中包括大型机,由于CICS在IBM的大型机上得到了广泛的应用,并在我行取得了很大的成功,为了保证与原来系统的兼容和互用性,我采用了IBM的CTS作为中间层,连接表示层和数据库层,简化系统的设计,使开发人员可以专注于表示逻辑和业务逻辑的开发工作,缩短了开发周期,减少开发费用和维护费用,提高了开发的成功率;其次,对于中间层的业务逻辑,我采用了我行一直使用的VisualAgeforJava作为开发平台,它具有简单易用的特点,特别适合开发业务逻辑,可以使开发人员快速而准确地开发出业务逻辑,确保了远期结售汇系统的顺利完成;最后,由于采用了CTS,确保了系统的开放性和互操作性,保证了与我行原来的联机系统和其他系统的兼容,保护了我行的原有投资。
    (3)数据层为DB2UDB8.2由于DB2在大型事务处理系统中表现出色,我行一直使用DB2作为事务处理的数据库,并取得了很大的成功,在DB2数据库的使用方面积累了自己独到的经验和大量的人才,为了延续技术的连续性和保护原有投资,我选择了DB2UDB8.2作为数据层。
    但是,在设计的过程中也遇到了一些困难,我们主要采取了以下的办法来解决:
    (1)CICSSwitch组。众所周知,银行系统对于安全性,可靠性,可用性和响应速度要求很高,特别是我行最近进行了数据集中,全国只设两个数据中心,分别在XX和YY两个地方,这样对以上的要求就更高了,为了保障我行的安全生产,我采用了CTSSwitch组技术。为了简化系统的设计和缩短通信时间,我采用了简单的负载均衡算法,例如这次分配给N个CTS,下次则分配给第N+1个CTS,当到了最后一个,就从第一个开始;为了更好地实现容错,我采用了当第N个CTS失效的时候,把它正在处理的业务转到N+1个上面继续处理,这样大大增加了系统的可用性,可以为客户提供更好的服务;此外,我还采用了数据库连接池的技术,大大缩短了数据库处理速度,提高了系统运行速度。
    (2)并行批量。银行系统每天都要处理大量的数据,为了确保白天的业务能顺利进行,有一部分的账务处理,例如一部分内部户账务处理,或者代理收费业务和总账与分户账核对等功能就要到晚上批量地去处理,但是,这部分数据在数据集中之后就显得更加庞大,我行以前采用串行提交批量作业的办法,远远不能适应数据中心亿万级的数据处理要求,在与其他技术骨干讨论之后,并经过充分的论证和试验,我决定采用了并行批量的技术,所谓的并行批量,就是在利用IBM的OPC(TivoliOperations,PlanningandControl)技术,把批量作业按时间和业务处理先后顺序由操作员统一提交的基础上,再利用DB2的Partition技术,把几个地区分到一个Partiton里面分别处理,大大提高了银行系统的数据处理速度,确保了远期结售汇系统三层结构的先进性。在并行批量的设计过程中,我考虑到批量作业有可能因为网络错误或者资源冲突等原因而中断,这样在编写批量程序和作业的时候必须支持断点重提,以确保生产的顺利进行。
    由于软件三层结构设计得当,并采取了有效的措施去解决设计中遇到的问题,远期结售汇系统最后按照计划完成并顺利投产,不但保证了系统的开放性、可用性和互用性,取得了良好的社会效益和经济效益,而且我的软件三层结构设计得到了同事和领导的一致认同与称赞,为我行以后系统的开发打下了良好的基础。
    在总结经验的同时,我也看到了我在软件三层结构设计中的不足之处。
    首先,负载算法过于简单,容易造成系统的负荷不均衡:由于每个业务的处理时间不一样,有的可能差距很远,简单的顺序加一负载分配算法就容易造成负载不均衡,但是如果专门设置一个分配器,则增加了一次网络通信,使得系统的速度变慢,这样对响应速度要求很高的银行系统来说也是不可行的,于是我决定采用基于统计的分配算法,即在收到请求的时候,根据预先设定的权值,按概率直接分配给CTS。
    其次,由于批量作业顺序设计得不过够严谨等各种原因,容易造成资源冲突:在远期结售汇系统运行了一段时间之后,数据中心的维护人员发现,系统有的时候会出现资源冲突现象。在经过仔细的分析之后,我发现,由于每天各个业务的业务量大小不一样,顺序的两个作业之间访问同一个表的时候便会产生资源冲突,另外,在OPC作业运行的过程中,操作员提交的其他作业与这个时间的OPC作业产生也有可能产生资源冲突。对于第一种情况,可以在不影响业务的情况下调整作业顺序或者对于查询作业运用DB2的共享锁的技术,而第二种情况则要制定规范,规定在某时间断内不允许提交某些作业来解决。为了更好地开展系统分析工作,我将在以后的工作实践中不断地学习,提高自身素质和能力,为我国的软件事业贡献自己的微薄力量。

  • 第2题:

    论文:试题论软件三层结构的设计目前,三层结构或多层结构已经成为软件开发的主流,采用三层结构有很多好处,例如,能有效降低建设和维护成本,简化管理,适应大规模和复杂的应用需求,可适应不断的变化和新的业务需求等。在三层结构的开发中,中间件的设计占重要地位。请围绕软件三层结构的设计”论题,依次对以下3个方面进行论述。(1)概要叙述你参与分析和开发的软件项目以及你所担任的主要工作。(2)具体讨论你是如何设计三层结构的,详细描述其设计过程,遇到过的问题以及解决的办法。(3)分析你采用三层结构所带来的效果如何,以及有哪些还需要进一步改进的地方,如何改进?


    我所在的单位是国内主要的商业银行之一,作为单位的主要技术骨干,2003年1月,我主持了远期结售汇系统的开发,该系统是我行综合业务系统XX2000的一个子系统,由于银行系统对安全性,可靠性,可用性和响应速度要求很高,我选择了三层C/S结构作为该系统的软件体系结构,在详细的设计三层结构的过程中,我采用了字符终端为表示层,CICS TRANSATION SERVER为中间层,DB2 UDB 7.1为数据库层,并采用了CICS SWITCH组,并行批量的办法来解决设计中遇到的问题,保证了远期结售汇系统按计划完成并顺利投产,我设计的软件三层结构得到了同事和领导的一致认同和称赞。但是,我也看到在三层结构设计中存在一些不足之处:例如中间层的负载均衡算法过于简单,容易造成系统负荷不均衡,并行批量设计不够严谨,容易造成资源冲突等。
    我所在的单位是国内主要的商业银行之一。众所周知,银行的业务存在一个“二八定理”:即银行的百分之八十的利润是由百分之二十的客户所创造。为了更好地服务大客户,适应我国对外贸易的蓬勃发展态势,促进我国对外贸易的发展,2003年1月,我行开展了远期结售汇业务。
    所谓的远期结售汇就是企业在取得中国外汇管理局的批准后,根据对外贸易的合同等凭证与银行制定合约,银行根据制定合约当天的外汇汇率,通过远期汇率公式,计算出交割当天的外汇汇率,并在那天以该汇率进行成交的外汇买卖业务。远期结售汇系统j是我行综合业务系统XX2000的一个子系统,它主要包括了联机部分、批量部分、清算部分和通兑部分,具有协议管理、合约管理、报价管理、外汇敞口管理、账务管理、数据拆分管理、报表管理、业务缩微和事后监督等功能。
    我作为单位的主要技术骨干之一,主持并参与了远期结售汇系统的项目计划、需求分析、设计、编码和测试阶段的工作。由于银行系统对安全性、可靠性、可用性和响应速度要求很高,我选择了三层C/S结构作为该系统的软件体系结构,下面,我将分层次详细介绍三层C/S软件体系结构的设计过程。(1)表示层为字符终端。我行以前一直使用IBM的VisualGen2.0附带的图形用户终端来开发终端程序,但在使用的过程中,分行的业务人员反映响应速度比较慢,特别是业务量比较大的时候,速度更是难以忍受。为此,我行最近自行开发了一套字符终端CITE,它采用VisualBasic作为开发语言,具有响应速度快、交互能力强、易学、编码快和功能强大的特点,在权衡了两者的优点和缺点之后,我决定选择字符终端CITE作为表示层。
    (2)中间层为CICS Transation Server(CTS)。首先,我行与IBM公司一直保持着良好的合作关系,而我行的大部分技术和设备都采用了IBM公司的产品,其中包括了大型机,由于CICS在IBM的大型机上得到了广泛的应用,并在我行取得了很大的成功,为了保证与原来系统的兼容和互用性,我采用了IBM的CTS作为中间层,连接表示层和数据库层,简化系统的设计,使开发人员可以专注于表示逻辑和业务逻辑的开发工作,缩短了开发周期,减少开发费用和维护费用,提高了开发的成功率;其次,对于中间层的业务逻辑,我采用了我行一直使用的Visualage For Java作为开发平台,它具有简单易用的特点,特别适合开发业务逻辑,可以使开发人员快速而准确地开发出业务逻辑,确保了远期结售汇系统的顺利完成;最后,由于采用了CTS,确保了系统的开放性和互操作性,保证了与我行原来的联机系统和其他系统的兼容,保护了我行的原有投资。
    (3)数据层为DB2 UDB 7.1。由于DB2在大型事务处理系统中表现出色,我行一直使用DB2作为事务处理的数据库,并取得了很大的成功,在DB2数据库的使用方面积累了自己独到的经验和大量的人才,为了延续技术的连续性和保护原有投资,我选择了DB2 UDB 7.1作为数据层。
    但是,在设计的过程中也遇到了一些困难,我们主要采取了以下的办法来解决:
    (1)CICSSwitch组。众所周知,银行系统对于安全性、可靠性、可用性和响应速度要求很高,特别是我行最近进行了数据集中,全国只设两个数据中心,分别在XX和YY两个地方,这样对以上的要求就更高了,为了保障我行的安全生产,我采用了CTSSWITCH组技术。为了简化系统的设计和缩短通信时间,我采用了简单的负载均衡算法,例如这次分配给第Ⅳ个CTS,下次则分配给第N+1个CTS,当到了最后一个,就从第一个开始;为了更好地实现容错,我采用了当N第个CTS失效的时候,把它正在处理的业务转到第N+1个上面继续处理,这样大大增加了系统的可用性,可以为客户提供更好的服务;此外,我还采用了数据库连接池的技术,大大缩短了数据库处理速度,提高了系统运行速度。
    (2)并行批量。银行系统每天都要处理大量的数据,为了确保白天的业务能顺利进行,有一部分的账务处理,例如一部分内部户账务处理,或者代理收费业务和总账与分户账核对等功能就要到晚上批量地去处理,但是,这部分数据在数据集中之后就显得更加庞大,我行以前采用串行提交批量作业的办法,远远不能适应数据中心亿万级的数据处理要求,在与其他技术骨干讨论之后,并经过充分的论证和试验,我决定采用了并行批量的技术,所谓的并行批量,就是在利用IBM的OPC(Tivoli Operations,Planningand Control)技术,把批量作业按时间和业务处理先后顺序由操作员统一提交的基础上,再利用DB2的PARTITION技术,把几个地区分到一个PARTITION里面分别处理,大大提高了银行系统的数据处理速度,确保了远期结售汇系统三层结构的先进性。在并行批量的设计过程中,我考虑到批量作业有可能因为网络错误或者资源冲突等原因而中断,这样在编写批量程序和作业的时候必须支持断点重提,以确保生产的顺利进行。
    由于软件三层结构设计得当,并采取了有效的措施去解决设计中遇到的问题,远期结售汇系统最后按照计划完成并顺利投产,不但保证了系统的开发性开放性、可用性和互用性,取得了良好的社会效益和经济效益,而且我的软件三层结构设计得到了同事和领导的一致认同与称赞,为我行以后系统的开发打下了良好的基础。
    在总结经验的同时,我也看到了我在软件三层结构设计中的不足之处:
    首先,负载算法过于简单,容易造成系统的负荷不均衡:由于每个业务的处理时间不一样,有的可能差距很远,简单的顺序加一负载分配算法就容易造成负载不均衡,但是如果专门设置一个分配器,则增加了一次网络通信,使得系统的速度变慢,这样对响应速度要求很高的银行系统来说也是不可行的,于是我决定采用基于统计的分配算法,即在收到请求的时候,根据预先设定的权值,按概率,直接分配给CTS。
    其次,由于批量作业顺序设计得不过够严谨等各种原因,容易造成资源冲突:在远期结售汇系统运行了一段时间之后,数据中心的维护人员发现了,系统有的时候会出现资源冲突现象,在经过仔细的分析之后,我发现,由于每天各个业务的业务量大小不一样,顺序的两个作业之间访问同一个表的时候便会产生资源冲突,另外,在OPC作业运行的过程中,操作员提交的其他作业与这个时间的OPC作业产生也有可能产生资源冲突。对于第一种情况,可以在不影响业务的情况下调整作业顺序或者对于查询作业运用DB2的共享锁的技术,而第二种情况则要制定规范,规定在某时间断内不允许提交某些作业来解决。为了更好地开展系统分析工作,我将在以后的工作实践中不断地学习,提高自身素质和能力,为我国的软件事业贡献自己的微薄力量。

  • 第3题:

    论设计模式在软件开发中的应用

    设计模式描述了在特定场景下解决一般设计问题的类和相互通信的对象。一个设计模式命名、抽象并确定了一个通用设计结构的主要方面,这些设计结构能被用来构造可复用的面向对象设计。现在,设计模式已经广泛地应用在软件开发中。

    请围绕“设计模式在软件开发中的应用”论题,依次对以下三个方面进行论述。

    1)概要叙述你参与分析和开发的应用项目以及你所担任的主要工作。

    2)简要介绍设计模式的基本概念及分类,详细说明在你所参与分析和开发的应用项目中应用了哪些设计模式、方法以及选用它们的原因。

    3)分析并讨论使用设计模式的效果,并分析和评价设计模式对软件开发的影响。


    正确答案:[写作要点] 1)结合自己参与分析和开发的应用项目或从事的实际工作说明设计模式对系统开发的作用。 2)能够较为详细地说明设计模式的基本分类能够结合项目实际工作说明在系统开发中所采用的设计模式以及选择这些设计模式的原因。 设计模式的核心在于提供了相关问题的解决方案。设计模式一般有四个要素:模式名称、问题、解决方案和效果。 设计模式的基本分类: (1)创建型模式。创建型模式抽象了实例化过程它们帮助一个系统独立于创建、组合和表示它的那些对象。创建型模式包括:Factory Method(工厂方法)、Abstract Factory (抽象工厂)、Builder(生成器)、Prototype(原型)、Singleton(单身模式)。 (2)结构型模式。结构型模式涉及到如何组合类和对象以获得更大的结构。包括: Adapter(适配器)、Bridge(桥接)、Composite(组成)、Decorator(装饰)、Facade(外观)、Flyweight(享元)、Proxy(代理)。 (3)行为模式。行为模式涉及到算法和对象间职责的分配。行为模式不仅描述对象或类的模式还描述了它们之间的通信模式。常用的行为模式有Observer(观察者) Strategy(策略)等。 3)结合项目实际工作举例说明在设计模式的使用效果能够针对设计模式对软件开发的影响展开分析与讨论。
    [写作要点] 1)结合自己参与分析和开发的应用项目或从事的实际工作,说明设计模式对系统开发的作用。 2)能够较为详细地说明设计模式的基本分类,能够结合项目实际工作,说明在系统开发中所采用的设计模式,以及选择这些设计模式的原因。 设计模式的核心在于提供了相关问题的解决方案。设计模式一般有四个要素:模式名称、问题、解决方案和效果。 设计模式的基本分类: (1)创建型模式。创建型模式抽象了实例化过程,它们帮助一个系统独立于创建、组合和表示它的那些对象。创建型模式包括:Factory Method(工厂方法)、Abstract Factory (抽象工厂)、Builder(生成器)、Prototype(原型)、Singleton(单身模式)。 (2)结构型模式。结构型模式涉及到如何组合类和对象以获得更大的结构。包括: Adapter(适配器)、Bridge(桥接)、Composite(组成)、Decorator(装饰)、Facade(外观)、Flyweight(享元)、Proxy(代理)。 (3)行为模式。行为模式涉及到算法和对象间职责的分配。行为模式不仅描述对象或类的模式,还描述了它们之间的通信模式。常用的行为模式有Observer(观察者) Strategy(策略)等。 3)结合项目实际工作,举例说明在设计模式的使用效果,能够针对设计模式对软件开发的影响展开分析与讨论。

  • 第4题:

    论软件项目的需求变更管理

    在大中型软件项目的开发过程中,开发者和用户对问题的理解随时间在不断变化,这些变更又反馈到需求中。需求管理是一个对系统需求变更了解和控制的过程。

    请围绕“软件项目的需求变更管理”论题,依次从以下3个方面进行论述。

    1.概要叙述你参与分析和开发的软件项目以及你所担任的主要工作。

    2.简要说明该软件项目的用户需求,以及你在需求管理中所规划和建立的细节层次结构。

    3.概要说明一个需求变更管理过程所包含的基本阶段,具体叙述在开发该软件项目时所发生的需求变更情况,以及你管理这些变更问题所采用的技术和方法,并简要叙述你在这方面的体会。


    正确答案:1.需求管理需要“建立并维护在软件工程中同客户达成的契约”。这种契约都包含在编写的需求规格说明与模型中。客户的接受仅是需求成功的一半开发人员也必须能够接受他们并真正把需求应用到产品中。 2.在需求管理中所规划和建立的细节层次结构可通过需求跟踪表来反应。需要确定需求识别、变更管理过程、跟踪策略、CASE工具等内容。 3.通常的需求管理活动包括以下几个方面。 (1)定义需求基线(迅速制订需求文档的主体)。 (2)评审提出的需求变更、评估每项变更的可能影响从而决定是否实施它。 (3)以一种可控制的方式将需求变更融入到项目中。 (4)使当前的项目计划与需求一致。 (5)估计变更需求所产生的影响并在此基础上协商新的承诺(约定)。 (6)让每项需求都能与其对应的设计、源代码和测试用例联系起来以实现跟踪。 (7)在整个项目过程中跟踪需求状态及其变更情况。 一个需求变更管理过程包含问题分析和变更描述、变更分析和成本计算、变更实现这3个基本阶段。 简要说明你参与分析和开发的软件项目的用户需求。列举出在开发该软件项目时所发生的需求变更的具体情况并重点说明解决这些变更问题所采用的管理技术和方法。最后简要讨论几点你对“有效的需求变更管理”的实践体会。
    1.需求管理需要“建立并维护在软件工程中同客户达成的契约”。这种契约都包含在编写的需求规格说明与模型中。客户的接受仅是需求成功的一半,开发人员也必须能够接受他们,并真正把需求应用到产品中。 2.在需求管理中所规划和建立的细节层次结构,可通过需求跟踪表来反应。需要确定需求识别、变更管理过程、跟踪策略、CASE工具等内容。 3.通常的需求管理活动包括以下几个方面。 (1)定义需求基线(迅速制订需求文档的主体)。 (2)评审提出的需求变更、评估每项变更的可能影响,从而决定是否实施它。 (3)以一种可控制的方式将需求变更融入到项目中。 (4)使当前的项目计划与需求一致。 (5)估计变更需求所产生的影响,并在此基础上协商新的承诺(约定)。 (6)让每项需求都能与其对应的设计、源代码和测试用例联系起来以实现跟踪。 (7)在整个项目过程中跟踪需求状态及其变更情况。 一个需求变更管理过程包含问题分析和变更描述、变更分析和成本计算、变更实现这3个基本阶段。 简要说明你参与分析和开发的软件项目的用户需求。列举出在开发该软件项目时所发生的需求变更的具体情况,并重点说明解决这些变更问题所采用的管理技术和方法。最后,简要讨论几点你对“有效的需求变更管理”的实践体会。

  • 第5题:

    论软件设计模式及其应用 软件设计模式(Software Design Pattern)是一套被反复使用的、多数人知晓的、经过分类编目的代码设计经验的总结。使用设计模式是为了重用代码以提高编码效率、增加代码的可理解性、保证代码的可靠性。软件设计模式是软件开发中的最佳实践之一,它经常被软件开发人员在面向对象软件开发过程中所采用。项目中合理地运用设计模式可以完美地解决很多问题,每种模式在实际应用中都有相应的原型与之相对,每种模式都描述了一个在软件开发中不断重复发生的问题,以及对应该原型问题的核心解决方案。

    请围绕“论软件设计模式及其应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与分析和开发的软件系统,以及你在项目中所担任的主要工作。 2.说明常用的软件设计模式有哪几类?阐述每种类型特点及其所包含的设计模式。 3.详细说明你所参与的软件系统开发项目中,采用了哪些软件设计模式,具体实施效果如何。


    正确答案:本题为模拟题原题,具体写作要求为:
    一、首先用400-600字的篇幅简要叙述作者参与开发的软件系统的概要和所担任的工作。
    二、设计模式的基本分类:
    · 创建型模式。创建型模式抽象了实例化过程,它们帮助一个系统独立于创建、组合和表示它的那些对象。创建型模式包括工厂方法、抽象工厂、生成器、原型、单例模式等。
    · 结构型模式。结构型模式涉及到如何组合类和对象以获得更大的结构。结构型模式包括适配器、桥接、组成、装饰、外观、享元、代理等。
    · 行为模式。行为模式涉及到算法和对象间职责的分配。行为模式不仅描述对象或类的模式,还描述了它们之间的通信模式。常用的行为模式有观察者、策略等。
    三、你在项目中运用了何种设计模式以及如何用此模式进行分析与设计。要紧密结合主题项目,选择1-2种设计模式进行讨论就可以了。

  • 第6题:

    论软件开发成本估算

    软件开发成本估算是软件工程项目管理中的一项重要任务。软件开发成本主要是指软件开发过程中所花费的工作量及相应的代价,软件开发成本估算应该以整个软件开发过程中所花费的人工代价为依据。

    试围绕“软件开发成本估算”论题,依次从以下3个方面进行论述。

    1.概要叙述你参与分析和开发的应用项目以及你所担任的主要工作。

    2.论述在估算软件开发成本时可以采用的方法和模型,并进一步分析这些估算方法和模型的优缺点。

    3.详细论述在你参与分析和开发的应用项目中具体采用的估算软件开发成本的技术、方法、模型、工具及其实际效果。


    正确答案:软件开发成本估算是一个十分容易被忽视但却又是十分重要的内容。其重要的原因是没有成本估算项目计划就会失去基础;容易被忽视的原因却是由于大部分软件开发组织未能够有效掌握它。 软件估算包括规模估算、工作量估算、进度估算和成本估算。整个估算的过程是:首先根据软件需求进行规模估算也就是估计软件的规模通常以代码行数、功能点数为单位;然后在估计的规模的基础上根据项目的特定因素(例如技术能力、使用的语言和平台、团队稳定性、项目复杂度等)、开发生产率经验数字来估算开发的工作量这通常以人天、人月、人年为单位;最后根据客户提出的进度需求进行进度估算根据人员及其他成本 (如设备、房租、差旅等)对总的开发成本进行估算。软件估算的基础是经验数字和经验模型。 从上面的描述中可以看出规模估算是软件开发成本估算的基础(数据来源)而工作量估算则是软件开发成本估算的关键(决定了开发成本)。 规模估算最常用的方法包括LOC(代码行)估算法和FP(功能点)估算法。LOC估算法主要根据历史项目记录以经验数据进行推测;FP估算法则通过一个较严谨的经验模型计算公式来进行估算。FP估算法是一种比较通行的软件规模估算方法。 工作量估算可以采用的模型、方法和技术就比较多了大致可以分为算法方法、类比法和自底向上法3种。 (1)算法方法估算是自顶向下的方式实现使用数学方式表达出估算所含的各种参数之间的关系如规模、工作量、进度、复杂度之间的关系。这个模型可以是静态的也可是动态的。最常见的算法方法估算模型包括MarkⅡ估算、COCOM0 81、COCOMOII、 COCOMO组、Putnam估算模型等。 ①MarkⅡFP估算:它不是一个严格的算法模型是基于各种因素和它们的影响的主观评价之间关系的一些理解。 ②COCOMO:它是根据软件产品规模和几个特征计算工作量和日历时间的估算算法模型。它是由Barry Boehm博士开发的发布于1981年即COCOMO 81而 COCOMOII则是其新版本不过由于它们各有特色因此还共同存在于估算实践中。这是一个较严格并经受了大量实践考验的一个经典估算模型。 ③COCOMO组:包括重点应用于COTS组件项目的COCOTS模型;用来预测每 KLOC或FP中残留错误的COQUALMO模型;着重于开发软件的成本在开发活动上的分布的COSSEMO模型;着重在预测新技术、提高生产率的发明方面最有效的成本分配的COPROMO模型。 ④Putnam估算模型:它是一个工作量动态的、多变量的估算模型它对交付时间十分敏感。 ⑤静态模型:除了以上动态模型之外还有一些常用的静态模型其中最常用的是 Watson和Felix模型。其计算公式是不变的:工作量;5.2×(KLCC)0.91持续时间(月): 4.1×(KLOC)0.36。可以用来生成较粗略的估算值。 算法方法估算法虽然定义严谨但是由于这些算法只是源于几十个项目的数据总结因此其结果并不是精确的但其仍然还是具有较高的参考价值。并且随着开发团队数据的积累和经验的堆积产生的估算也会越来越精确。 (2)类比估算法则是自顶向下的查看系统它借助经验丰富的人员的“本能感受”去识别待估项目和已完成的项目之间的相似与差异之处并评估这些差别对评估的影响。这种方法的主观意识较强估算结果的精确度与估算人员的经验有很大的关系。 (3)自底向上估算是将项目分解成为较小的活动和任务对每个较低层的任务做估算然后将所有的较低层的任务估算值加在一起就可以得到项目总的工作量估算值由于这种估算通常是由程序员来进行小任务块的估算因此容易让程序员产生责任感进度更有保障。 有了工作量估算后就可以计算出工作人员成本但在进行开发成本估算时还应该考虑硬件、软件、通信、差旅、培训以及其他成本。 可以从上面的描述中总结出撰写关于软件开发成本估算的论文主要应该注意以下几个方面的要点: (1)由于许多软件开发成本估算模型都需要一些参数依据因此应该对于项目的复杂度、涉及的关键技术、团队情况等因素进行阐述以便能够连贯地说明估算的过程。 (2)由于工作量估算是成本估算的关键其估算的结果决定了成本估算而成本估算则是在工作量的基础上做一些简单的财务计算因此可以理解为工作量估算的方法和模型。 (3)文章中应该列举算法方法估算法、类比估算法以及自底向上估算法3种模型并且应该抓住它们各自鲜明特点进行深入的阐述。 (4)在前面描述的基础上针对本项目的特色进行分析引出最合适的模型然后再结合实例详细地说明应用的具体方案。编写时一定要注意突出其真实性。 (5)文章应该花一定篇幅来说明估算的效果也就是估算的误差值是多少并且可以简要地分析这些误差值会来源于何处。
    软件开发成本估算是一个十分容易被忽视,但却又是十分重要的内容。其重要的原因是没有成本估算,项目计划就会失去基础;容易被忽视的原因却是由于大部分软件开发组织未能够有效掌握它。 软件估算包括规模估算、工作量估算、进度估算和成本估算。整个估算的过程是:首先根据软件需求进行规模估算,也就是估计软件的规模,通常以代码行数、功能点数为单位;然后在估计的规模的基础上,根据项目的特定因素(例如,技术能力、使用的语言和平台、团队稳定性、项目复杂度等)、开发生产率经验数字来估算开发的工作量,这通常以人天、人月、人年为单位;最后根据客户提出的进度需求进行进度估算,根据人员及其他成本 (如设备、房租、差旅等)对总的开发成本进行估算。软件估算的基础是经验数字和经验模型。 从上面的描述中,可以看出规模估算是软件开发成本估算的基础(数据来源),而工作量估算则是软件开发成本估算的关键(决定了开发成本)。 规模估算最常用的方法包括LOC(代码行)估算法和FP(功能点)估算法。LOC估算法主要根据历史项目记录,以经验数据进行推测;FP估算法则通过一个较严谨的经验模型计算公式来进行估算。FP估算法是一种比较通行的软件规模估算方法。 工作量估算可以采用的模型、方法和技术就比较多了,大致可以分为算法方法、类比法和自底向上法3种。 (1)算法方法估算是自顶向下的方式实现,使用数学方式表达出估算所含的各种参数之间的关系,如规模、工作量、进度、复杂度之间的关系。这个模型可以是静态的,也可是动态的。最常见的算法方法估算模型包括MarkⅡ估算、COCOM0 81、COCOMOII、 COCOMO组、Putnam估算模型等。 ①MarkⅡFP估算:它不是一个严格的算法模型,是基于各种因素和它们的影响的主观评价之间关系的一些理解。 ②COCOMO:它是根据软件产品规模和几个特征计算工作量和日历时间的估算算法模型。它是由Barry Boehm博士开发的,发布于1981年,即COCOMO 81,而 COCOMOII则是其新版本,不过由于它们各有特色,因此还共同存在于估算实践中。这是一个较严格,并经受了大量实践考验的一个经典估算模型。 ③COCOMO组:包括重点应用于COTS组件项目的COCOTS模型;用来预测每 KLOC或FP中残留错误的COQUALMO模型;着重于开发软件的成本在开发活动上的分布的COSSEMO模型;着重在预测新技术、提高生产率的发明方面最有效的成本分配的COPROMO模型。 ④Putnam估算模型:它是一个工作量动态的、多变量的估算模型,它对交付时间十分敏感。 ⑤静态模型:除了以上动态模型之外,还有一些常用的静态模型,其中最常用的是 Watson和Felix模型。其计算公式是不变的:工作量;5.2×(KLCC)0.91持续时间(月): 4.1×(KLOC)0.36。可以用来生成较粗略的估算值。 算法方法估算法虽然定义严谨,但是由于这些算法只是源于几十个项目的数据总结,因此其结果并不是精确的,但其仍然还是具有较高的参考价值。并且随着开发团队数据的积累和经验的堆积,产生的估算也会越来越精确。 (2)类比估算法则是自顶向下的查看系统,它借助经验丰富的人员的“本能感受”去识别待估项目和已完成的项目之间的相似与差异之处,并评估这些差别对评估的影响。这种方法的主观意识较强,估算结果的精确度与估算人员的经验有很大的关系。 (3)自底向上估算是将项目分解成为较小的活动和任务,对每个较低层的任务做估算,然后将所有的较低层的任务估算值加在一起,就可以得到项目总的工作量估算值,由于这种估算通常是由程序员来进行小任务块的估算,因此容易让程序员产生责任感,进度更有保障。 有了工作量估算后,就可以计算出工作人员成本,但在进行开发成本估算时还应该考虑硬件、软件、通信、差旅、培训以及其他成本。 可以从上面的描述中总结出撰写关于软件开发成本估算的论文,主要应该注意以下几个方面的要点: (1)由于许多软件开发成本估算模型都需要一些参数依据,因此应该对于项目的复杂度、涉及的关键技术、团队情况等因素进行阐述,以便能够连贯地说明估算的过程。 (2)由于工作量估算是成本估算的关键,其估算的结果决定了成本估算,而成本估算则是在工作量的基础上做一些简单的财务计算,因此可以理解为工作量估算的方法和模型。 (3)文章中应该列举算法方法估算法、类比估算法以及自底向上估算法3种模型,并且应该抓住它们各自鲜明特点进行深入的阐述。 (4)在前面描述的基础上,针对本项目的特色进行分析,引出最合适的模型,然后再结合实例,详细地说明应用的具体方案。编写时一定要注意突出其真实性。 (5)文章应该花一定篇幅来说明估算的效果,也就是估算的误差值是多少,并且可以简要地分析这些误差值会来源于何处。

  • 第7题:

    论软件开发模型及应用

    软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发过程包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要任务和活动,用来作为软件项目工作的基础。对于不同的软件项目,针对应用需求、项目复杂程度、规模等不同要求,可以采用不同的开发模型,并采用相应的人员组织策略、管理方法、工具和环境。

    请围绕“软件开发模型及应用”论题,依次从以下三个方面进行论述。

    1.简要叙述你参与的软件开发项目以及你所承担的主要工作。

    2.列举出几种典型的软件开发模型,并概要论述每种软件开发模型的主要思想和技术特点。

    3.根据你所参与的项目中使用的软件开发模型,具体阐述使用方法和实施效果。


    答案:
    解析:
    瀑布模型:严格遵循软件生命周期各阶段的固定顺序,一个阶段完成再进入另一个阶段。其优点是可以使过程比较规范化,有利于评审;缺点在于过于理想,缺乏灵活性,容易产生需求偏差。

    快速原型模型:对于许多需求不够明确的项目,比较适合采用该模型。它采用了一种动态定义需求的方法,通过快速地建立一个能够反映用户主要需求的软件原型,让用户在计算机上使用它,了解其概要,再根据反馈的结果进行修改,因此能够充分体现用户的参与和决策。

    演化模型:也是一种原型化开发,但与快速原型不同的是,快速原型模型在获得真实需求时,就将抛弃原型。而演化模型则不然,它将从初始的模型中逐渐演化为最终软件产品,是一种渐进式原型法。

    增量模型:它采用的是一种递增式模型,它将软件产品划分成为一系列的增量构件,分别进行设计、编码、集成和测试。

    螺旋模型:结合了瀑布模型和演化模型的优点,最主要的特点在于加入了风险分析。它是由制定计划、风险分析、实施工程、客户评估这一循环组成的,它最初从概念项目开始第一个螺旋。

    喷泉模型:主要用于描述面向对象的开发过程,最核心的特点是迭代。所有的开发活动没有明显的边界,允许各种开发活动交叉进行。

    统一过程(UP):统一过程是一个通用过程框架,可以用于种类广泛的软件系统、不同的应用领域、不同的组织类型、不同的性能水平和不同的项目规模。UP是基于构件的,在为软件系统建模时,UP使用的是UML。与其他软件过程相比,UP具有三个显著的特点,即用例驱动、以架构为中心、迭代和增量。

    敏捷方法:敏捷方法是一种以人为核心、迭代、循序渐进的开发方法。在敏捷方法中,软件项目的构建被切分成多个子项目,各个子项目成果都经过测试,具备集成和可运行的特征。在敏捷方法中,从开发者的角度来看,主要的关注点有短平快的会议、小版本发布、较少的文档、合作为重、 客户直接参与、自动化测试、适应性计划调整和结对编程;从管理者的角度来看,主要的关注点有测试驱动开发、持续集成和重构。

  • 第8题:

    论多层分布式结构系统的开发 传统的应用系统模式是"主机/终端"或"客户机/服务器"。随着中间件技术和Web技术的发展,这些传统模式已经不能适应新的环境。目前设计大型系统大多采用多层分布式结构,如C/A/S和B/A/S,应根据系统具体需求和运行环境的不同选择合适的结构。 请围绕"多层分布式机构系统的开发"论题,依次从以下3个方面进行论述: ①简要叙述你参与分析设计的多层分布式结构系统及你担任的主要工作。 ②简要说明多层分布结构分类的依据及多层分布式结构的特点,并指出你参与分析设计的系统属于其中的哪种结构,以及选择这种结构的原因。 ③具体论述你在开发该系统时采用了哪些方法、策略与工具来实现所选的结构。


    正确答案: ①简要介绍你所参与分析设计的多层分布式结构系统(说明改系统采用的是C/A/S还是B/A/S),以及你在系统中担任的主要工作。
    ②说明多层分布式结构分类的依据。
    从概念上说,任何信息系统应用都可以映射到以下5层。
    表现层:是实际的用户界面。
    表现逻辑层:为了生成表现层而必须进行的处理。
    应用逻辑层:包括支持实际业务应用和规则所需的所有逻辑和处理。
    数据处理层:包括用来存储和访问往来于数据库的数据所需的所有命令和逻辑。
    数据层:数据库中实际存储的数据。
    C/A/S结构是指将数据层和数据处理层放置在各自的服务器上,应用逻辑层放置在各自的服务器上,表现逻辑层和表现层放置在客户端上,这也称为三层或多层客户/服务器计算。
    在B/A/S结构中,表现层和表现逻辑层在客户端Web浏览器中使用从某个Web服务器下载的内容实现,表现逻辑层连接到运行在应用服务器上的应用逻辑层,应用逻辑层最终连接到后台的数据库服务器。
    ③多层分布式结构系统的主要特点。
    安全性:中间层隔离了客户对数据服务器的访问,保护了数据库的安全。
    稳定性。
    易维护性:由于业务逻辑位于单独的一层,当业务规则发生变化后,客户端程序基本不作改动。
    快速响应:通过负载均衡及中间层缓存数据能力,可以提高对客户端的响应速度。
    系统扩展灵活:基于多层分布式结构,当业务增大时,可以在中间部署更多的应用服务器,提高对客户端的响应,而所有变化对客户端透明。
    ④多层分布式结构系统的开发主要考虑4方面的技术。
    开发环境:开发人员需要一种创建新组件,并将已有组件加以集成的开发环境。
    应用程序的集成。
    应用程序的配置:分布式结构的开发需要配置平台的支持,以便在用户剧增时能有效地扩展,并保持系统的稳定。
    选择适合的中间件。

  • 第9题:

    问答题
    论基于Web的数据库应用系统的开发技术 浏览器和HTTP协议在全球因特网的成功应用,促进了企业中的B/S结构的迅速推广。基于Web的数据库应用系统通常采用三层(或更多层)C/S结构,允许用于各类不同的平台和选择相应的数据库应用环境 请围绕"基于Web的数据库应用系统的开发技术"论题,依次从以下3个方面进行论述: ①概要叙述你参与分析和开发的软件项目,以及你所担任的主要工作。 ②具体讨论你在基于Web的数据库应用系统开发中所采用的主要技术,包括开发过程中遇到的问题和所采取的措施。 ③分析你所采用的开发技术的具体效果。现在你认为应当做哪些方面的改进,以及如何加以改进?

    正确答案: 写作要点
    完成本题的写作,需要对Web开发的相关架构有充分的了解,相关知识可参看"8.1.5分层架构"。除了解技术知识,在写作方面还要注意以下几个方面的要点:
    ①在文章中首先用400~600字的篇幅简要叙述自己参与分析和开发的系统概要和所担任的工作。
    ②具体讨论在基于Web的数据库应用系统开发中所采用的主要技术,包括开发过程中遇到的问题和所采取的措施。特别要注意描述三层结构的逻辑和物理部署,讨论数据是如何在三层之间传送的。
    ③最后要根据项目实际情况,分析所采用的开发技术的具体效果,你现在认为还有哪些可以改进的地方(例如,应用服务器性能的改进等),如何加以改进。
    解析: 暂无解析

  • 第10题:

    问答题
    论文:论软件三层结构的设计 目前,三层结构或多层结构已经成为软件开发的主流,采用三层结构有很多好处,例如,能有效降低建设和维护成本,简化管理,适应大规模和复杂的应用需求,可适应不断的变化和新的业务需求等。在三层结构的开发中,中间件的设计占重要地位。 请围绕“软件三层结构的设计”论题,依次对以下3个方面进行论述。 (1)概要叙述你参与分析和开发的软件项目以及你所担任的主要工作。 (2)具体讨论你是如何设计三层结构的,详细描述其设计过程,遇到过的问题以及解决的办法。 (3)分析你采用三层结构所带来的效果如何,以及有哪些还需要进一步改进的地方,如何改进?

    正确答案: 我所在的单位是国内主要的商业银行之一,作为单位的主要技术骨干,2010年1月,我主持了远期结售汇系统的开发,该系统是我行综合业务系统XX2010的一个子系统,由于银行系统对安全性、可靠性、可用性和响应速度要求很高,我选择了三层C/S结构作为该系统的软件架构,在详细地设计三层结构的过程中,我采用了字符终端为表示层,CICSTRANSATIONSERVER为中间层,DB2UDB8.2为数据库层,并采用了CICSSWITCH组并行批量的办法来解决设计中遇到的问题,保证了远期结售汇系统按计划完成并顺利投产,我设计的软件三层结构得到了同事和领导的一致认同和称赞。但是,我也看到在三层结构设计中存在一些不足之处,例如,中间层的负载均衡算法过于简单,容易造成系统负荷不均衡,并行批量设计不够严谨,容易造成资源冲突等。
    正文:
    我所在的单位是国内主要的商业银行之一。众所周知,银行的业务存在一个“二八定理”:即银行的百分之八十的利润是由百分之二十的客户所创造。为了更好地服务大客户,适应我国对外贸易的蓬勃发展态势,促进我国对外贸易的发展,2010年1月,我行开展了远期结售汇业务。
    所谓的远期结售汇就是企业在取得中国外汇管理局的批准后,根据对外贸易的合同等凭证与银行制定合约,银行根据制定合约当天的外汇汇率,通过远期汇率公式,计算出交割当天的外汇汇率,并在那天以该汇率进行成交的外汇买卖业务。远期结售汇系统是我行综合业务系统XX2010的一个子系统,它主要包括了联机部分、批量部分、清算部分和通兑部分,具有协议管理、合约管理、报价管理、外汇敞口管理、账务管理、数据拆分管理、报表管理、业务缩微和事后监督等功能。
    我作为单位的主要技术骨干之一,主持并参与了远期结售汇系统的项目计划,需求分析、设计、编码和测试阶段的工作。由于银行系统对安全性,可靠性,可用性和响应速度要求很高,我选择了三层C/S结构作为该系统的软件架构,下面,我将分层次详细介绍三层C/S软件架构的设计过程。
    (1)表示层为字符终端。我行以前一直使用IBM的VisualGen2.0附带的图形用户终端来开发终端程序,但在使用的过程中,分行的业务人员反映响应速度比较漫,特别是业务量比较大的时候,速度更是难以忍受。为此,我行最近自行开发了一套字符终端CITE,它采用VisualBasic作为开发语言,具有响应速度快、交互能力强、易学、编码快和功能强大的特点,在权衡了两者的优点和缺点之后,我决定选择字符终端CITE作为表示层。
    (2)中间层为CICSTransationServer(CTS)。首先,我行与IBM公司一直保持着良好的合作关系,而我行的大部分技术和设备都采用了IBM公司的产品,其中包括大型机,由于CICS在IBM的大型机上得到了广泛的应用,并在我行取得了很大的成功,为了保证与原来系统的兼容和互用性,我采用了IBM的CTS作为中间层,连接表示层和数据库层,简化系统的设计,使开发人员可以专注于表示逻辑和业务逻辑的开发工作,缩短了开发周期,减少开发费用和维护费用,提高了开发的成功率;其次,对于中间层的业务逻辑,我采用了我行一直使用的VisualAgeforJava作为开发平台,它具有简单易用的特点,特别适合开发业务逻辑,可以使开发人员快速而准确地开发出业务逻辑,确保了远期结售汇系统的顺利完成;最后,由于采用了CTS,确保了系统的开放性和互操作性,保证了与我行原来的联机系统和其他系统的兼容,保护了我行的原有投资。
    (3)数据层为DB2UDB8.2由于DB2在大型事务处理系统中表现出色,我行一直使用DB2作为事务处理的数据库,并取得了很大的成功,在DB2数据库的使用方面积累了自己独到的经验和大量的人才,为了延续技术的连续性和保护原有投资,我选择了DB2UDB8.2作为数据层。
    但是,在设计的过程中也遇到了一些困难,我们主要采取了以下的办法来解决:
    (1)CICSSwitch组。众所周知,银行系统对于安全性,可靠性,可用性和响应速度要求很高,特别是我行最近进行了数据集中,全国只设两个数据中心,分别在XX和YY两个地方,这样对以上的要求就更高了,为了保障我行的安全生产,我采用了CTSSwitch组技术。为了简化系统的设计和缩短通信时间,我采用了简单的负载均衡算法,例如这次分配给N个CTS,下次则分配给第N+1个CTS,当到了最后一个,就从第一个开始;为了更好地实现容错,我采用了当第N个CTS失效的时候,把它正在处理的业务转到N+1个上面继续处理,这样大大增加了系统的可用性,可以为客户提供更好的服务;此外,我还采用了数据库连接池的技术,大大缩短了数据库处理速度,提高了系统运行速度。
    (2)并行批量。银行系统每天都要处理大量的数据,为了确保白天的业务能顺利进行,有一部分的账务处理,例如一部分内部户账务处理,或者代理收费业务和总账与分户账核对等功能就要到晚上批量地去处理,但是,这部分数据在数据集中之后就显得更加庞大,我行以前采用串行提交批量作业的办法,远远不能适应数据中心亿万级的数据处理要求,在与其他技术骨干讨论之后,并经过充分的论证和试验,我决定采用了并行批量的技术,所谓的并行批量,就是在利用IBM的OPC(TivoliOperations,PlanningandControl)技术,把批量作业按时间和业务处理先后顺序由操作员统一提交的基础上,再利用DB2的Partition技术,把几个地区分到一个Partiton里面分别处理,大大提高了银行系统的数据处理速度,确保了远期结售汇系统三层结构的先进性。在并行批量的设计过程中,我考虑到批量作业有可能因为网络错误或者资源冲突等原因而中断,这样在编写批量程序和作业的时候必须支持断点重提,以确保生产的顺利进行。
    由于软件三层结构设计得当,并采取了有效的措施去解决设计中遇到的问题,远期结售汇系统最后按照计划完成并顺利投产,不但保证了系统的开放性、可用性和互用性,取得了良好的社会效益和经济效益,而且我的软件三层结构设计得到了同事和领导的一致认同与称赞,为我行以后系统的开发打下了良好的基础。
    在总结经验的同时,我也看到了我在软件三层结构设计中的不足之处。
    首先,负载算法过于简单,容易造成系统的负荷不均衡:由于每个业务的处理时间不一样,有的可能差距很远,简单的顺序加一负载分配算法就容易造成负载不均衡,但是如果专门设置一个分配器,则增加了一次网络通信,使得系统的速度变慢,这样对响应速度要求很高的银行系统来说也是不可行的,于是我决定采用基于统计的分配算法,即在收到请求的时候,根据预先设定的权值,按概率直接分配给CTS。
    其次,由于批量作业顺序设计得不过够严谨等各种原因,容易造成资源冲突:在远期结售汇系统运行了一段时间之后,数据中心的维护人员发现,系统有的时候会出现资源冲突现象。在经过仔细的分析之后,我发现,由于每天各个业务的业务量大小不一样,顺序的两个作业之间访问同一个表的时候便会产生资源冲突,另外,在OPC作业运行的过程中,操作员提交的其他作业与这个时间的OPC作业产生也有可能产生资源冲突。对于第一种情况,可以在不影响业务的情况下调整作业顺序或者对于查询作业运用DB2的共享锁的技术,而第二种情况则要制定规范,规定在某时间断内不允许提交某些作业来解决。为了更好地开展系统分析工作,我将在以后的工作实践中不断地学习,提高自身素质和能力,为我国的软件事业贡献自己的微薄力量。
    解析: 暂无解析

  • 第11题:

    问答题
    论中间件技术在软件开发中的作用 随着软件应用越来越复杂,软件开发"一切从零开始"的开发模式也越来越不能满足应用的要求。一些著名的软件公司推出自己的中间件产品,如通信中间件、数据库中间件等为软件开发提供有力的支持。 请围绕"中间件技术在软件开发中的作用"这个论题,依次从以下3个方面进行论述: ①概要叙述你参与分析和开发的应用项目,以及你所担任的主要工作。 ②具体讨论你在软件开发过程中选取中间件的原则和标准,结合实例详细叙述中间件技术在你的软件开发中的作用。 ③假如你在一个软件公司中能够起到影响公司决策的作用,请你结合市场和技术因素,为你的公司设计一个有自主版权的中间件的方案,并评价你的方案。

    正确答案: 写作要点
    中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户服务器的操作系统之上,管理计算资源和网络通信。
    从定义中可以看出:
    ①中间件是一类软件,而非一种软件。
    ②中间件不仅要实现互联,还要实现应用之间的互操作。
    ③中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。
    1.中间件的分类
    根据功能的不同,中间件可以细化为以下一些种类:
    ①通信处理(消息)中间件。在不同平台之间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输,称为消息中间件。这是中间件中唯一不可缺少的,是需求量最大的中间件产品,目前在大部分操作系统中已包含了其部分功能。
    ②事务处理(交易)中间件。在分布式事务处理系统中要处理大量的事务,常常在系统中要同时进行上万笔事务。在联机事务处理系统(OLTP)中,每笔事务常常要多台服务器的程序顺序地协调完成,一旦中间发生某种故障时,不但要完成恢复工作,而且要自动切换系统,达到系统永不停机,实现高可靠性运行;同时要使大量事务在多台应用服务器实时并发运行,并进行负载平衡地调度,实现昂贵的小型机和大型计算机系统同等的功能,为了实现这个目标,要求系统具有监视和调度整个系统的功能。一个事务处理平台,根据X/OPEN的参数模型规定,应由事务处理中间件、通信处理中间件,以及数据存取管理中间件3部分组成。
    ③数据存储管理中间件。在分布式系统中,重要的数据都集中存放在数据服务器中,它们可以是关系型、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放的,该中间件为在网络上虚拟缓存、格式转换、解压等带来了方便。
    ④Web服务中间件。浏览器图形用户界面已成为公认规范,然而它的会话能力差、不能做数据写入、受HTTP协议的限制等,必须进行修改和扩充,这形成了Web服务器中间件。
    ⑤安全中间件。一些军事、政府和商务部门上网的最大障碍是安全保密问题,而且不能使用国外提供的安全措施(如防火墙、加密、认证等),必须用国产的产品。产生不安全因素是由操作系统引起的,但必须要用中间件去解决,以适应灵活多变的要求。
    ⑥跨平台和体系结构的中间件。当前,开发大型应用软件通常采用基于体系结构和构件的技术,在分布系统中,还需要集成各节点上的不同系统平台上的构件或新老版本的构件,由此产生了体系结构中间件,功能最强的是CORBA,可以跨任意平台,但是太庞大;JavaBean较灵活简单,很适合于做浏览器,但运行效率差;DCOM模型主要适合Windows平台,已广泛使用。实际上国内新建系统主要是UNIX(包括Linux)和Windows,因此针对这两个平台建立相应的中间件要实用得多。
    ⑦专用平台中间件。为特定应用领域设计参考模式,建立相应体系结构,配置相应的构件库和中间件,为应用服务器开发和运行特定领域的关键任务(如电子商务、网站等)。
    ⑧其他中间件。现在出现了一些中间件,如数据流中间件、门户中间件,以及为某些专业领域如银行、电信等开发的专用中间件。另外还有一些更高层的中间件,多用于系统整合,包括企业应用集成中间件、工作流中间件、门户中间件等是多种中间件的组合。
    2.中间件的优点及其应用
    中间件作为一大类系统软件,与操作系统、数据库管理系统并称"三套车",其重要性是不言而喻的,中间件的优点应该说是有目共睹的。它的优越性体现在以下几个方面:缩短应用的开发周期;节约应用的开发成本;减少系统初期的建设成本;降低应用开发的失败率;保护已有的投资;简化应用集成;减少维护费用;提高应用的开发质量;保证技术进步的连续性;增强应用的生命力。
    具体地说,中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少了程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。
    中间件带给应用系统的不只是开发的简便、开发周期的缩短,还减少了系统的维护、运行和管理的工作量,同时减少了计算机总体费用的投入。Standish的调查报告显示,由于采用了中间件技术,应用系统的总建设费用可以减少50%左右。在网络经济、电子商务大发展的今天,从中间件获得利益的不只是IT厂商,IT用户同样是赢家,并且是更有把握的赢家。
    其次,中间件作为新层次的基础软件,其重要作用是将不同时期、在不同操作系统上开发的应用软件集成起来,彼此像一个天衣无缝的整体协调工作,这是操作系统、数据库管理系统本身做不了的。中间件的这一作用,使得在技术不断发展之后,我们以往在应用软件上的劳动成果仍然物有所用,节约了大量的人力、财力的投入。3.中间件的发展趋势
    中间件作为构筑企业信息系统和电子商务系统的基石和核心技术,向着标准化和构件化方向发展。具体来看,有以下3种发展趋势:
    ①规范化。在中间件的发展过程中,做得最好的一件事情就是规范的制定。对于不同类型的中间件,目前都有一些规范可以遵循,如消息类的JMS,对象类的CORBA和COM/DCOM,交易类的XA、OTS、JTA/JTS,应用服务器类的J2EE,数据访问类的ODBC和JDBC,Web服务有SOAP、WSDL、UDDI等。这些规范的建立极大地促进了中间件技术的发展,同时保证了系统的扩展性、开放性和互操作。
    ②构件化和松耦合。除了已经得到较为普遍应用的CORBA、DCOM等适应Intranet的构件技术外,随着企业业务流程整合和电子商务应用的发展,中间件技术朝着面向Web、松耦合的方式发展。基于XML和Web服务的中间件技术,使得不同系统之间、不同应用之间的交互建立在非常灵活的基础上。XML是一种可扩展的源标识语言,它提供了一种新的定义标识语言标准。XML技术非常适合于异构系统间的数据交换,因此在国际上已经被普遍采纳为电子商务的数据标准。而Web服务作为基于Web技术的构件,在流程中间件的控制和集成下可以灵活、动态地被组织成为跨企业的商务应用。
    ③平台化。目前,一些大的中间件厂商在已有的中间件产品基础上,都提出了完整的面向互联网的软件平台战略计划和应用解决方案。4.选用中间件的原则
    ①技术成熟度。不同的中间件的发展历史都不同。由于中间件涉及的技术面广,与操作系统、网络、数据库和应用都有关系,因此中间件从诞生到成熟需要2~3年的时间。中间件的技术成熟度是一个很需要关注的问题。
    ②先进性。中间件的技术先进性主要看它是不是符合国际的潮流,是否采用了各种标准化的做法。比如,它能不能支持HTML、JavaScript、XML这样一些国际标准的语言环境。因为大量的应用软件都是在语言环境下发展起来,现在计算机上的这些语言环境已经很成熟,手机上也开始有了Java,机顶盒如果不支持这些标准的话,将来很难做到应用服务的通用。如果中间件技术上能达到国际开放标准水平的话,就很容易向上发展了。包括MHP和MHEG和美国的OPENCABEL在内的一系列的中间件标准,只要中间件支持JavaScript、HTML和XML等通用语言,这3种常用中间件的主流模块都可以移植到我们的应用服务里。
    ③与遗留应用的结合度。如果选用中间件构造的应用与传统的遗留应用要建立联系的话,就必须考虑这个问题。
    ④使用的难易程度。每类中间件使用的难度也不尽相同。有些中间件只是你的应用的一部分,而有些中间件将会给你的应用一个新的体系结构。应用的现状、应用开发队伍的水平、中间件本身的复杂程度等,都会影响中间件的使用效果。
    ⑤成本。不同类的中间件的成本不同,如把消息中间件只是用在局域网上实现数据访问显然代价太大,把交易中间件用在非交易处理类系统中去传递消息同样不可取。另外也要考虑技术培训对开发成本带来的影响。
    ⑥技术方向。有的中间件比较传统,而有的中间件是发展方向,中间件的选择与对软件技术发展趋势的把握紧密相关。如果企业已决定用构件技术或Web技术,就要选择相关的中间件。
    ⑦适用性。好的中间件要带一个非常丰富的应用库。中间件的一个最大作用就是重复使用已经开发过的应用软件模块,通常这些模块都是以库单元的方法来实现的,中间件在实际应用中越成功,开发的应用程序越多,它带的库就越丰富,使用者就可以越简便地开发或修改自己需要的新服务,这就是知识的积累。
    通过以上分析,可以对中间件技术有一个全面的了解,除了基础技术的了解,写好本文,还要注意以下要点:
    ①用400~600字简单介绍你参与分析和开发的应用项目,以及你所担任的主要工作。
    ②简单介绍中间件的种类及作用。
    ③具体讨论你在软件开发过程中选取中间件的原则和标准,结合实例详细叙述中间件技术在你的软件开发中的作用
    ④结合市场和技术因素,为你的公司设计一个有自主版权的中间件的方案,并评价你的方案。
    解析: 暂无解析

  • 第12题:

    问答题
    论多层分布式结构系统的开发 传统的应用系统模式是"主机/终端"或"客户机/服务器"。随着中间件技术和Web技术的发展,这些传统模式已经不能适应新的环境。目前设计大型系统大多采用多层分布式结构,如C/A/S和B/A/S,应根据系统具体需求和运行环境的不同选择合适的结构。 请围绕"多层分布式机构系统的开发"论题,依次从以下3个方面进行论述: ①简要叙述你参与分析设计的多层分布式结构系统及你担任的主要工作。 ②简要说明多层分布结构分类的依据及多层分布式结构的特点,并指出你参与分析设计的系统属于其中的哪种结构,以及选择这种结构的原因。 ③具体论述你在开发该系统时采用了哪些方法、策略与工具来实现所选的结构。

    正确答案: ①简要介绍你所参与分析设计的多层分布式结构系统(说明改系统采用的是C/A/S还是B/A/S),以及你在系统中担任的主要工作。
    ②说明多层分布式结构分类的依据。
    从概念上说,任何信息系统应用都可以映射到以下5层。
    表现层:是实际的用户界面。
    表现逻辑层:为了生成表现层而必须进行的处理。
    应用逻辑层:包括支持实际业务应用和规则所需的所有逻辑和处理。
    数据处理层:包括用来存储和访问往来于数据库的数据所需的所有命令和逻辑。
    数据层:数据库中实际存储的数据。
    C/A/S结构是指将数据层和数据处理层放置在各自的服务器上,应用逻辑层放置在各自的服务器上,表现逻辑层和表现层放置在客户端上,这也称为三层或多层客户/服务器计算。
    在B/A/S结构中,表现层和表现逻辑层在客户端Web浏览器中使用从某个Web服务器下载的内容实现,表现逻辑层连接到运行在应用服务器上的应用逻辑层,应用逻辑层最终连接到后台的数据库服务器。
    ③多层分布式结构系统的主要特点。
    安全性:中间层隔离了客户对数据服务器的访问,保护了数据库的安全。
    稳定性。
    易维护性:由于业务逻辑位于单独的一层,当业务规则发生变化后,客户端程序基本不作改动。
    快速响应:通过负载均衡及中间层缓存数据能力,可以提高对客户端的响应速度。
    系统扩展灵活:基于多层分布式结构,当业务增大时,可以在中间部署更多的应用服务器,提高对客户端的响应,而所有变化对客户端透明。
    ④多层分布式结构系统的开发主要考虑4方面的技术。
    开发环境:开发人员需要一种创建新组件,并将已有组件加以集成的开发环境。
    应用程序的集成。
    应用程序的配置:分布式结构的开发需要配置平台的支持,以便在用户剧增时能有效地扩展,并保持系统的稳定。
    选择适合的中间件。
    解析: 暂无解析

  • 第13题:

    论文:试题论软件项目的进度管理软件开发项目进度管理是软件开发项目管理的一个重要内容,有效的进度管理是保证软件开发项目如期完成的重要环节。在软件开发过程中为保证软件按时完成,必须采取许多有关的技术、策略和方法。请围绕软件项目的进度管理”论题,依次对以下3个方面进行论述。(1)概要叙述你参与分析和开发的应用项目以及你所担任的主要工作。(2)具体讨论你在软件开发中为保证软件项目的进度所采取的主要技术及方案,详细叙述你为保证软件项目进度在你组织内部实施的方法和策略。(3)分析你在采取上述措施、方法和策略的效果如何?你认为所采用方法和策略有哪些独到之处,为什么?本文讨论了电力行业工作票、操作票系统的项目管理,在本项目中我作为项目负责人,承担了项目管理工作。


    在本项目管理中,我主要采用了面向对象技术同传统技术相结合的原则,在估算项目的工作量这方面尤为突出,面向对象技术对传统技术有所改进,传统技术能弥补面向对象技术的不足。本文从合理的估算项目的工作量及技术难度、识别关键任务、随时了解项目进度,必要时调整进度表等方面,讨论了电力行业工作票、操作票系统项目管理的基本活动与方法,有效地控制开发进度,确保项目如期按质完成。本系统在电力系统已经运行,状况良好,受到一致好评。
    2003年2月,我参加了电力行业工作票、操作票系统的开发,担任项目管理工作。电力系统有关部门在对电力设施进行检测、维修、试验等一系列活动时应按照我国电力行业相关标准进行工作,电力行业工作票、操作票系统就是按照国家有关标准及电力行业操作规程设计的仿真系统。工作人员在施工前按照工作流程在此仿真系统上进行操作,严格遵守电力设施的逻辑闭锁关系,顺序执行。有效地防止不规范操作,确保电力设施及现场工作人员的安全,提高安全意识。
    本系统由系统图编辑平台和工作票、操作票签发系统两大部分组成,其中系统图编辑平台主要是编辑变电站、用电系统及变电站控制系统图,每一个电力设施对应一个对象,在系统图上都有相对应的部分,系统图真实地反映电力设施的布局及相互关系,生动形象又合乎技术标准,同时为第二部分提供操作对象。工作票、操作票签发系统主要是在系统图的基础上进行点击操作,每次点击对应一个对象即一个电力设施,根据电力设施的逻辑闭锁关系自动生成相应的工作票或操作票或提示操作不规范。
    在本系统的开发过程中,我通过合理的估算项目工作量及技术难度、识别关键任务、随时了解项目进度,必要时调整进度表等方面对项目进行管理,确保本系统如期按质完成。1.合理的估算项目工作量及技术难度本系统采用了面向对象的分析、设计等一系列面向对象技术,在本系统工作量的估算上根据功能点进行估算。将每个功能模块逐步分解,直至基本模块为止。我们将系统分为系统图编辑与工作票、操作票签发两个大的功能分别进行估算。系统图编辑部分主要是一个图形编辑系统。一种电力设施对应一个类,电力设施的技术参数及其操作对应相应类的属性和方法,电力设施图是由线段、圆、曲线、折线、多边形等基本图形组成,这些基本图形分别对应一个类,这些类又继承一个最基本的类。系统图编辑部分的工作量也就是这些类的实现,工作票、操作票签发部分用到了编辑平台的系统图,因此由大量的功能可以复用,这部分的功能划分同系统图编辑部分一样也是采用类作为基本结构,这样就比较准确的进行工作量的估算。
    同时,我们开发的这个系统是基于C/S结构的,由于C/S结构的系统我们公司有不少成功的案例,因此有不少的项目供我们参考。对于本系统的第二部分,我们就是借鉴以前做过的基于C/S结构的系统,基于C/S结构的系统框架基本上是一致的,数据库的设计、前台操作(例如,对数据库进行添加、删除、修改、查询等一系列活动)大体相同。正因如此,有大量的东西可供我们复用,如权限控制模块我们就是复用以前的案例,仅作少量修改,在工作量的估算上也有很好的借鉴作用。这对工作量的估算也是一个重要的参考,为工作进度安排提供了依据。
    在技术上,我们重点考虑本系统与其他C/S结构的系统的不同之处,相同或相似之处。我们认为没有技术难点。系统编辑平台主要是绘图,我们知道MFC的绘图功能确实强大,但是过于繁琐,功能封装不是十分完美,于是,我们采用了Form++这个MFC扩展类库,该类库对图形操作封装得很好,大大降低了系统图编辑部分的难度,在界面设计上我们采用了BCG这个扩展类库,使得VC应用程序界面设计得如同Delphi等工具一样完美。同时减少了工作量,在工作安排上,对于技术难度相对大一点的部分,我们安排经验丰富的程序员,同时也与其他工作组的成员商讨技术细节问题,与他们进行技术探讨。这样不至于因为某一技术细节而影响整个工程进度。
    根据上述分析,我们制定一个详细的进度表并定义了相应的里程碑。2.识别关键任务系统图编辑部分是整个系统的基础,因为工作票、操作票签发部分是建立在该部分的基础之上,系统图编辑部分直接影响到整个项目。因此该部分是整个系统的关键部分,在这部分中每种电力设施所对应的类及其父类的定义是关键,因为所定义的类必须完整、准确地反映该电力设施的技术参数和操作。
    工作票、操作票签发部分是用户明确提出的要求实现的功能,直接面对用户,这部分的成功与否直接影响到该系统的质量,因此也是不容忽视的。
    如果上述两部分任务的进度受到影响,则整个项目的完成将受到威胁。因此是本项目的关键任务。在进度控制时我们将其作为重点对象进行控制。3.随时了解项目进度,必要时调整进度表
    在确定项目开发计划时,我们制定了详细的进度表。我们在确定每一项任务时都确定该任务的工作量、开始时间、持续时间、结束时间。同时让每个小组成员知道自己所承担任务的时间表,小组成员根据自己的任务制定自己的详细工作计划。
    工作日志是了解每个小组成员工作情况的很好的方式,我们要求每个小组成员对自己的工作都要做工作曰志,对自己每天的工作做详细记录。每周对自己的工作进展做出结论,向项目组汇报。在做结论时,不得使用“差不多”、“大概”、“完成了90%”等模糊字眼,而是采用某任务“已经全部完成”、“90%的工作全部完成”或者“再过1天全部完成”等方式。每个小组成员对自己做出的结论负责,这样可以做到随时了解项目进度,为调整项目计划提供客观基础。
    同时,我们在项目进度计划中根据项目设计和定义了相关的里程碑,在每个里程碑处,我们都采取小组会议形式对本阶段的工作进行确认和总结,对本阶段的进展情况做出结论,并决定是否调整下一阶段的进度计划。<br>在系统图编辑部分,我们认为各电力设施所对应的类(包括其父类)定义完成为一个里程碑,每个类是否具备了相对应的电力设施的技术参数及操作是该里程碑的标准,这些类(包括其父类)的实现完成又为一个里程碑,……,整个系统图编辑部分的完成也是一个里程碑。每个里程碑的标准在系统设计时已经定义好。4.结束语电力行业工作票、操作票系统目前已经开发完毕,运行状况良好,受到一致好评。在本系统开发的整个过程中采用了面向对象技术同传统技术相结合的原则,因为小组成员各有特长,面向对象技术不是每个小组成员都熟练掌握的,加之面向对象技术在我们公司还不是很成熟,必须有一个过渡,不能一下子转型,因此采用这种策略符合我们公司的现实情况。
    由于项目进度管理得当,项目按期完成,我们小组赢得了公司的好评,其他小组也研究我们的管理方式。当然,项目管理方式多种多样,根据项目不同、人员不同,管理模式应做调整而不是一成不变。适合本项目的管理模式才是最好的模式,先进的管理方法在不同的项目组中取得的效果是不同的,这有待于我们去研究、探索、实践和总结。

  • 第14题:

    ()论软件开发模型的选择与应用 传统的软件开发模型有瀑布模型,螺旋模型、演化模型等,随着软件技术的迅速发展和市场的变化,新的软件开发模型也不断出现,如XP模型、敏捷模型和RUP模型等。这些开发模型都有各自的优缺点,在实际应用中存在着许多不足和局限。 请围绕“软件开发模型的选择与应用”论题,依次对以下三个方面进行论述。 1.概要叙述你参与分析和开发的应用项目以及你所担任的主要工作。 2.具体叙述你在参与开发的软件中选用软件开发模型的原则,具体是如何使用所选择的开发模型的? 3.简要叙述软件开发模型的近期演变趋势与主要特征,你准备如何去适应这类演变?


    正确答案:略
      解答要点
      (1)首先用400-500字的篇幅简要叙述作者参与分析和开发的信息系统项目的概要和所担任的工作。
      (2)具体叙述你在参与开发的软件中选用软件开发模型的原则。例如适应需求的变化、灵活性等。
      (3)具体是如何使用所选择的开发模型的,即根据选择模型进行开发的过程是怎样的。
      (4)简要叙述软件开发模型的近期演变趋势与主要特征,你准备如何去适应这类演变。

  • 第15题:

    论多层分布式结构系统的开发

    传统的应用系统模式是“主机/终端”或“客户机朋艮务器”。随着中间件技术和Web技术的发展,这些传统模式已经不能适应新的环境。目前设计大型系统大多采用多层分布式结构,如C/A/S和B/A/S,应根据系统具体需求和运行环境的不同选择合适的结构。

    请围绕“多层分布式结构系统的开发”论题,依次从以下三个方面进行论述。

    (1)概要叙述你参与分析设计的多层分布式结构系统以及你所担任的主要工作。

    (2)简要说明多层分布式结构分类的依据以及多层分布式结构的特点,并指出你参与分析设计的系统属于其中的哪种结构,以及选择这种结构的原因。

    (3)具体论述你在开发该系统时采用了哪些方法、策略与工具来实现所选的结构。


    正确答案:[写作要点] 一、简要介绍你所参与分析设计的多层分布式结构系统(说明该系统采用的是C/A/S还是B/A/S)以及你在系统中担任的主要工作。 二、说明多层分布式结构分类的依据。 从概念上说任何信息系统应用都可以映射到以下5层: .表现层 是实际的用户界面; .表现逻辑层 为了生成表现层而必须进行的处理; .应用逻辑层 包括支持实际业务应用和规则所需的所有逻辑和处理; .数据处理层 包括用来存储和访问往来于数据库的数据所需的所有命令和逻辑; .数据层:数据库中实际存储的数据。 C/A/S 结构是将数据层和数据处理层放置在各自的服务器上应用逻辑层放置在各自的服务器上表现逻辑层和表现层放置在客户端上这也称为三层或多层客户/服务器计算。 在B/A/S 结构中表现层和表现逻辑层在客户端Web 浏览器中使用从某个Web 服务器下载的内容实现表现逻辑层连接到运行在应用服务器上的应用逻辑层应用逻辑层最终连接到后台的数据库服务器。 三、多层分布式结构系统的主要特点。 .安全性:中间层隔离了客户对数据服务器的访问保护了数据库的安全。 .稳定性。 .易维护性:由于业务逻辑位于单独的一层当业务规则发生变化后客户端程序基本不作改动。 .快速响应:通过负载均衡以及中间层缓存数据能力可以提高对客户端的响应速度。 .系统扩展灵活:基于多层分布式结构当业务增大时可以在中间层部署更多的应用服务器提高对客户端的响应而所有变化对客户端透明。 四、多层分布式结构系统的开发主要考虑三方面的技术。 .开发环境:开发人员需要厂种创建新组件、并将已有组件加以集成的开发环境。 .应用程序的集成。 .应用程序的配置:分布式结构的开发需要配置平台的支持以便在用户剧增时能有效地扩展并保持系统的稳定。 .选择合适的中间件。
    [写作要点] 一、简要介绍你所参与分析设计的多层分布式结构系统(说明该系统采用的是C/A/S还是B/A/S)以及你在系统中担任的主要工作。 二、说明多层分布式结构分类的依据。 从概念上说,任何信息系统应用都可以映射到以下5层: .表现层 是实际的用户界面; .表现逻辑层 为了生成表现层而必须进行的处理; .应用逻辑层 包括支持实际业务应用和规则所需的所有逻辑和处理; .数据处理层 包括用来存储和访问往来于数据库的数据所需的所有命令和逻辑; .数据层:数据库中实际存储的数据。 C/A/S 结构是将数据层和数据处理层放置在各自的服务器上,应用逻辑层放置在各自的服务器上,表现逻辑层和表现层放置在客户端上,这也称为三层或多层客户/服务器计算。 在B/A/S 结构中,表现层和表现逻辑层在客户端Web 浏览器中使用从某个Web 服务器下载的内容实现,表现逻辑层连接到运行在应用服务器上的应用逻辑层,应用逻辑层最终连接到后台的数据库服务器。 三、多层分布式结构系统的主要特点。 .安全性:中间层隔离了客户对数据服务器的访问,保护了数据库的安全。 .稳定性。 .易维护性:由于业务逻辑位于单独的一层,当业务规则发生变化后,客户端程序基本不作改动。 .快速响应:通过负载均衡以及中间层缓存数据能力,可以提高对客户端的响应速度。 .系统扩展灵活:基于多层分布式结构,当业务增大时,可以在中间层部署更多的应用服务器,提高对客户端的响应,而所有变化对客户端透明。 四、多层分布式结构系统的开发主要考虑三方面的技术。 .开发环境:开发人员需要厂种创建新组件、并将已有组件加以集成的开发环境。 .应用程序的集成。 .应用程序的配置:分布式结构的开发需要配置平台的支持,以便在用户剧增时能有效地扩展,并保持系统的稳定。 .选择合适的中间件。

  • 第16题:

    试题一

    论软件需求管理及其应用

    软件需求工程关注创建和维护软件需求文档需展开的一切活动。需求工程可分为需求开发和需求管理两项工作,其中需求管理的目标是为软件需求建立一个基线,供软件开发及其管理使用,确保软件计划、产品和活动与软件需求的一致性。从软件需求工程的角度来看,需求管理包括在软件开发过程中维持需求一致性和精确性的所有活动。

    请围绕“软件需求管理及其应用”论题,依次从以下三个方面进行论述。

    1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。

    2.详细论述软件需求管理的主要活动及其所包含的主要内容。

    3.结合你具体参与管理和开发的实际项目,说明是如何采用软件需求管理方法进行需求管理的,说明具体实施过程以及应用效果。


    正确答案:

    1.简要叙述所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作。

    2.需求管理的主要活动有变更控制,版本控制,需求跟踪和需求状态跟踪。

    (1)需求变更管理过程包括:

    1. 问题分析和变更描述,需要识别和分析需求问题,形成明确的变更协议,以检查它的有效性,从而产生一个更明确的需求变更提议。

    2. 变更分析和成本计算。使用可追溯性信息和系统需求的一般知识,对需求变更提议进行影响分析和评估。变更成本计算应该包括对需求文档的修改,系统修改的设计和实现的成本。一旦分析完成并且被确认,应该进行是否执行这一变更的决策。

    3. 变更实现。这要求需求文档和系统设计以及实现都要同时修改。

      (2)版本控制:主要包括确定需求文档版本。

      (3)需求跟踪:包括定义对其他需求的链接;定义对其他系统元素的链接;使用的工具即需求跟踪矩阵。

      (4)需求状态跟踪:定义需求状态;跟踪需求的每一个状态。

      3.考生需结合自身参与项目的实际状况,指出其参与管理和开发的项目中所进行的需求管理活动,说明该活动的具体实施过程,使用的方法和工具,并对实际应用效果进行分析。

  • 第17题:

    试题三 论软件开发模型及应用

    软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发过程包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要任务和活动,用来作为软件项目工作的基础。对于不同的软件项目,针对应用需求、项目复杂程度、规模等不同要求,可以采用不同的开发模型,并采用相应的人员组织策略、管理方法、工具和环境。

    请围绕“软件开发模型及应用”论题,依次从以下三个方面进行论述。 1.简要叙述你参与的软件开发项目以及你所承担的主要工作。 2.列举出几种典型的软件开发模型,并概要论述每种软件开发模型的主要思想和技术特点。 3.根据你所参与的项目中使用的软件开发模型,具体阐述使用方法和实施效果。


    正确答案:1、用400-600字叙述作者参与开发与管理的软件项目,包括但不仅限于,项目时间,规模,周期,背景,系统的主要功能,所采用的相关技术等。
    2、开发模型多种多样,常见的包括:
    瀑布模型:严格遵循软件生命周期各阶段的固定顺序,一个阶段完成再进入另一个阶段。其优点是可以使过程比较规范化,有利于评审;缺点在于过于理想,缺乏灵活性,容易产生需求偏差。
    快速原型模型:对于许多需求不够明确的项目,比较适合采用该模型。它采用了一种动态定义需求的方法,通过快速地建立一个能够反映用户主要需求的软件原型,让用户在计算机上使用它,了解其概要,再根据反馈的结果进行修改,因此能够充分体现用户的参与和决策。
    演化模型:也是一种原型化开发,但与快速原型不同的是,快速原型模型在获得真实需求时,就将抛弃原型。而演化模型则不然,它将从初始的模型中逐渐演化为最终软件产品,是一种“渐进式”原型法。
    增量模型:它采用的是一种“递增式”模型,它将软件产品划分成为一系列的增量构件,分别进行设计、编码、集成和测试。
    螺旋模型:结合了瀑布模型和演化模型的优点,最主要的特点在于加入了风险分析。它是由制定计划、风险分析、实施工程、客户评估这一循环组成的,它最初从概念项目开始第一个螺旋。
    喷泉模型:主要用于描述面向对象的开发过程,最核心的特点是迭代。所有的开发活动没有明显的边界,允许各种开发活动交叉进行。
    统一过程(UP):统一过程是一个通用过程框架,可以用于种类广泛的软件系统、不同的应用领域、不同的组织类型、不同的性能水平和不同的项目规模。UP是基于构件的,在为软件系统建模时,UP使用的是UML。与其他软件过程相比,UP具有三个显著的特点,即用例驱动、以架构为中心、迭代和增量。
    敏捷方法:敏捷方法是一种以人为核心、迭代、循序渐进的开发方法。在敏捷方法中,软件项目的构建被切分成多个子项目,各个子项目成果都经过测试,具备集成和可运行的特征。在敏捷方法中,从开发者的角度来看,主要的关注点有短平快的会议、小版本发布、较少的文档、合作为重、 客户直接参与、自动化测试、适应性计划调整和结对编程;从管理者的角度来看,主要的关注点有测试驱动开发、持续集成和重构。
    3、结合项目实践说明作者在项目中所采用的开发模型,并阐述实施效果。

  • 第18题:

    试题二 论大中型网络的逻辑网络设计

    逻辑网络设计是网络规划与设计中的关键阶段。逻辑网络设计和规划的目标包括合理的网络结构、成熟而稳定的技术选型、合适的运营成本以及使逻辑网络具备可扩充、易用、可管理和安全等性能。

    请围绕“大中型网络的逻辑网络设计”论题,依次对以下三个方面进行论述。

    1. 简要叙述你参与设计和实施的大中型网络项目以及你所担任的主要工作。

    2. 针对大中型网络中逻辑网络设计的主要工作内容论述你是如何进行逻辑网络设计的。

    3. 简要介绍你在大中型网络的逻辑网络设计中遇到的棘手问题及其解决办法。


    正确答案:


    试题二 写作要点
        一、叙述自己参与设计和实施的网络项目应有一定的规模,自己在该项目中担任的主要工作应有一定的分量。
        二、能够全面和深入地阐述大中型网络的逻辑网络设计的主要工作内容、采用了哪些技术和方法,这些技术和方法要针对大中型网络的特点,具有一定的广度和深度。主要应包括以下内容:
         1、网络结构的设计
         2、物理层技术选择
         3、局域网、广域网技术选择
         4、地址和命名模型设计
         5、交换和路由协议的选择
         6、网络安全策略设计
         7、网络管理策略设计
        三、在大中型网络的逻辑网络设计中遇到的问题及其解决办法,应有具体的着眼点,不能泛泛而谈。

     

  • 第19题:

    论基于场景的软件体系结构评估方法 大型复杂软件系统开发所关注的问题之一是质量,在软件系统的早期设计阶段,选择合适的体系结构对系统许多关键质量属性(如可用性、可修改性、性能、安全性、易用性等)起着决定性的影响。不恰当的软件体系结构将给项目开发带来灾难。因此,尽早分析和评估一个系统的体系结构非常重要。软件体系结构分析和评估的目的是为了识别体系结构中潜在的风险,验证系统的质量需求在设计中是否得到体现,预测系统的质量并帮助开发人员进行设计决策。 软件体系结构的评估通常是指评估参与者在评估过程中利用特定评估方法对系统质量属性进行分析与评估。基于调查问卷或检查表的评估和基于场景(Scenarios)的评估是目前主要的两类评估方式。利用场景评估技术进行软件体系结构评估的主流方法包括SAAM(Scenario-based Architecture Analysis Method)、ATAM(Architecture Tradeoff Analysis Method)和CBAM(Cost Benefit Analysis Method)。SAAM方法最初用于比较不同的体系结构,后来用于指导对体系结构的检查,使其主要关注潜在的问题,如需求冲突,或仅从某一参与者观点出发的不全面的系统设计。ATAM方法在揭示出结构满足特定质量目标的同时,也能反映出质量目标之间的联系,从而权衡多个质量目标。CBAM方法可以看做是ATAM方法的补充,在其评估结果上对软件体系结构的经济性进行评估。 请围绕"基于场景的软件体系结构评估方法"论题,依次从以下3个方面进行论述: ①概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作,包括角色、工作内容等。 ②请从评估目的、评估参与者、评估活动或过程、评估结果等几个方面对SAAM或ATAM评估方法进行分析。 ③结合你参与的实际工作和项目的实际情况,具体阐述你在进行体系结构设计和评估时,采用了什么评估方法,如何具体实施,最终实际效果如何。


    正确答案: 利用场景评估技术进行软件体系结构评估的主流方法包括SAAM、ATAM和CBAM。
    本文的写作要点,大致包括以下几个方面:
    ①简要叙述你所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作,特别是要介绍在软件体系结构设计方面的情况。
    ②从评估目的、评估参与者、评估活动或过程、评估结果等几个方面对SAAM或ATAM评估方法进行分析(只要写一种评估方法就可以了)。
    ③结合你参与的实际工作和项目的实际情况,说明对软件体系结构进行评估的原因,并具体阐述你在进行体系结构设计和评估时采用的评估方法和具体实施的过程和步骤,对最终实际效果进行说明

  • 第20题:

    论设计模式在软件开发中的应用 设计模式描述了在特定场景下解决一般设计问题的类和相互通信的对象。一个设计模式命名、抽象并确定了一个通用设计结构的主要方面,这些设计结构能被用来构造可复用的面向对象设计。现在,设计模式已经广泛地应用在软件开发中。 请围绕"设计模式在软件开发中的应用"论题,依次对以下3个方面进行论述: ①概要叙述你参与分析和开发的应用项目,以及你所担任的主要工作。 ②简要介绍设计模式的基本概念及分类,详细说明在你所参与分析和开发的应用项目中应用了哪些设计模式、方法,以及选用它们的原因。 ③分析并讨论使用设计模式的效果,并分析和评价设计模式对软件开发的影响。


    正确答案: 所谓设计模式,简单地理解,是一些设计面向对象的软件开发的经验总结。设计模式事实上是系统地命名、解释和评价某一个重要的可重现的面向对象的设计方案。
    本文的写作要点,大致包括以下几个方面:
    ①结合自己参与分析和开发的应用项目或从事的实际工作,说明设计模式对系统开发的作用。
    ②较为详细地说明设计模式的基本分类,并结合项目实际工作,说明在系统开发中所采用的设计模式,以及选择这些设计模式的原因。
    ③结合项目实际工作,举例说明设计模式的使用效果,针对设计模式对软件开发的影响展开分析与讨论。

  • 第21题:

    问答题
    论设计模式在软件开发中的应用 设计模式描述了在特定场景下解决一般设计问题的类和相互通信的对象。一个设计模式命名、抽象并确定了一个通用设计结构的主要方面,这些设计结构能被用来构造可复用的面向对象设计。现在,设计模式已经广泛地应用在软件开发中。 请围绕"设计模式在软件开发中的应用"论题,依次对以下3个方面进行论述: ①概要叙述你参与分析和开发的应用项目,以及你所担任的主要工作。 ②简要介绍设计模式的基本概念及分类,详细说明在你所参与分析和开发的应用项目中应用了哪些设计模式、方法,以及选用它们的原因。 ③分析并讨论使用设计模式的效果,并分析和评价设计模式对软件开发的影响。

    正确答案: 所谓设计模式,简单地理解,是一些设计面向对象的软件开发的经验总结。设计模式事实上是系统地命名、解释和评价某一个重要的可重现的面向对象的设计方案。
    本文的写作要点,大致包括以下几个方面:
    ①结合自己参与分析和开发的应用项目或从事的实际工作,说明设计模式对系统开发的作用。
    ②较为详细地说明设计模式的基本分类,并结合项目实际工作,说明在系统开发中所采用的设计模式,以及选择这些设计模式的原因。
    ③结合项目实际工作,举例说明设计模式的使用效果,针对设计模式对软件开发的影响展开分析与讨论。
    解析: 暂无解析

  • 第22题:

    问答题
    论文:试题论软件项目的进度管理软件开发项目进度管理是软件开发项目管理的一个重要内容,有效的进度管理是保证软件开发项目如期完成的重要环节。在软件开发过程中为保证软件按时完成,必须采取许多有关的技术、策略和方法。请围绕“软件项目的进度管理”论题,依次对以下3个方面进行论述。 (1)概要叙述你参与分析和开发的应用项目以及你所担任的主要工作。 (2)具体讨论你在软件开发中为保证软件项目的进度所采取的主要技术及方案,详细叙述你为保证软件项目进度在你组织内部实施的方法和策略。 (3)分析你在采取上述措施、方法和策略的效果如何?你认为所采用方法和策略有哪些独到之处,为什么?本文讨论了电力行业工作票、操作票系统的项目管理,在本项目中我作为项目负责人,承担了项目管理工作。

    正确答案: 在本项目管理中,我主要采用了面向对象技术同传统技术相结合的原则,在估算项目的工作量这方面尤为突出,面向对象技术对传统技术有所改进,传统技术能弥补面向对象技术的不足。本文从合理的估算项目的工作量及技术难度、识别关键任务、随时了解项目进度,必要时调整进度表等方面,讨论了电力行业工作票、操作票系统项目管理的基本活动与方法,有效地控制开发进度,确保项目如期按质完成。本系统在电力系统已经运行,状况良好,受到一致好评。
    2003年2月,我参加了电力行业工作票、操作票系统的开发,担任项目管理工作。电力系统有关部门在对电力设施进行检测、维修、试验等一系列活动时应按照我国电力行业相关标准进行工作,电力行业工作票、操作票系统就是按照国家有关标准及电力行业操作规程设计的仿真系统。工作人员在施工前按照工作流程在此仿真系统上进行操作,严格遵守电力设施的逻辑闭锁关系,顺序执行。有效地防止不规范操作,确保电力设施及现场工作人员的安全,提高安全意识。
    本系统由系统图编辑平台和工作票、操作票签发系统两大部分组成,其中系统图编辑平台主要是编辑变电站、用电系统及变电站控制系统图,每一个电力设施对应一个对象,在系统图上都有相对应的部分,系统图真实地反映电力设施的布局及相互关系,生动形象又合乎技术标准,同时为第二部分提供操作对象。工作票、操作票签发系统主要是在系统图的基础上进行点击操作,每次点击对应一个对象即一个电力设施,根据电力设施的逻辑闭锁关系自动生成相应的工作票或操作票或提示操作不规范。
    在本系统的开发过程中,我通过合理的估算项目工作量及技术难度、识别关键任务、随时了解项目进度,必要时调整进度表等方面对项目进行管理,确保本系统如期按质完成。1.合理的估算项目工作量及技术难度本系统采用了面向对象的分析、设计等一系列面向对象技术,在本系统工作量的估算上根据功能点进行估算。将每个功能模块逐步分解,直至基本模块为止。我们将系统分为系统图编辑与工作票、操作票签发两个大的功能分别进行估算。系统图编辑部分主要是一个图形编辑系统。一种电力设施对应一个类,电力设施的技术参数及其操作对应相应类的属性和方法,电力设施图是由线段、圆、曲线、折线、多边形等基本图形组成,这些基本图形分别对应一个类,这些类又继承一个最基本的类。系统图编辑部分的工作量也就是这些类的实现,工作票、操作票签发部分用到了编辑平台的系统图,因此由大量的功能可以复用,这部分的功能划分同系统图编辑部分一样也是采用类作为基本结构,这样就比较准确的进行工作量的估算。
    同时,我们开发的这个系统是基于C/S结构的,由于C/S结构的系统我们公司有不少成功的案例,因此有不少的项目供我们参考。对于本系统的第二部分,我们就是借鉴以前做过的基于C/S结构的系统,基于C/S结构的系统框架基本上是一致的,数据库的设计、前台操作(例如,对数据库进行添加、删除、修改、查询等一系列活动)大体相同。正因如此,有大量的东西可供我们复用,如权限控制模块我们就是复用以前的案例,仅作少量修改,在工作量的估算上也有很好的借鉴作用。这对工作量的估算也是一个重要的参考,为工作进度安排提供了依据。
    在技术上,我们重点考虑本系统与其他C/S结构的系统的不同之处,相同或相似之处。我们认为没有技术难点。系统编辑平台主要是绘图,我们知道MFC的绘图功能确实强大,但是过于繁琐,功能封装不是十分完美,于是,我们采用了Form++这个MFC扩展类库,该类库对图形操作封装得很好,大大降低了系统图编辑部分的难度,在界面设计上我们采用了BCG这个扩展类库,使得VC应用程序界面设计得如同Delphi等工具一样完美。同时减少了工作量,在工作安排上,对于技术难度相对大一点的部分,我们安排经验丰富的程序员,同时也与其他工作组的成员商讨技术细节问题,与他们进行技术探讨。这样不至于因为某一技术细节而影响整个工程进度。
    根据上述分析,我们制定一个详细的进度表并定义了相应的里程碑。2.识别关键任务系统图编辑部分是整个系统的基础,因为工作票、操作票签发部分是建立在该部分的基础之上,系统图编辑部分直接影响到整个项目。因此该部分是整个系统的关键部分,在这部分中每种电力设施所对应的类及其父类的定义是关键,因为所定义的类必须完整、准确地反映该电力设施的技术参数和操作。
    工作票、操作票签发部分是用户明确提出的要求实现的功能,直接面对用户,这部分的成功与否直接影响到该系统的质量,因此也是不容忽视的。
    如果上述两部分任务的进度受到影响,则整个项目的完成将受到威胁。因此是本项目的关键任务。在进度控制时我们将其作为重点对象进行控制。3.随时了解项目进度,必要时调整进度表
    在确定项目开发计划时,我们制定了详细的进度表。我们在确定每一项任务时都确定该任务的工作量、开始时间、持续时间、结束时间。同时让每个小组成员知道自己所承担任务的时间表,小组成员根据自己的任务制定自己的详细工作计划。
    工作日志是了解每个小组成员工作情况的很好的方式,我们要求每个小组成员对自己的工作都要做工作曰志,对自己每天的工作做详细记录。每周对自己的工作进展做出结论,向项目组汇报。在做结论时,不得使用“差不多”、“大概”、“完成了90%”等模糊字眼,而是采用某任务“已经全部完成”、“90%的工作全部完成”或者“再过1天全部完成”等方式。每个小组成员对自己做出的结论负责,这样可以做到随时了解项目进度,为调整项目计划提供客观基础。
    同时,我们在项目进度计划中根据项目设计和定义了相关的里程碑,在每个里程碑处,我们都采取小组会议形式对本阶段的工作进行确认和总结,对本阶段的进展情况做出结论,并决定是否调整下一阶段的进度计划。
    在系统图编辑部分,我们认为各电力设施所对应的类(包括其父类)定义完成为一个里程碑,每个类是否具备了相对应的电力设施的技术参数及操作是该里程碑的标准,这些类(包括其父类)的实现完成又为一个里程碑,……,整个系统图编辑部分的完成也是一个里程碑。每个里程碑的标准在系统设计时已经定义好。4.结束语电力行业工作票、操作票系统目前已经开发完毕,运行状况良好,受到一致好评。在本系统开发的整个过程中采用了面向对象技术同传统技术相结合的原则,因为小组成员各有特长,面向对象技术不是每个小组成员都熟练掌握的,加之面向对象技术在我们公司还不是很成熟,必须有一个过渡,不能一下子转型,因此采用这种策略符合我们公司的现实情况。
    由于项目进度管理得当,项目按期完成,我们小组赢得了公司的好评,其他小组也研究我们的管理方式。当然,项目管理方式多种多样,根据项目不同、人员不同,管理模式应做调整而不是一成不变。适合本项目的管理模式才是最好的模式,先进的管理方法在不同的项目组中取得的效果是不同的,这有待于我们去研究、探索、实践和总结。
    解析: 暂无解析

  • 第23题:

    问答题
    论数据仓库的设计与实现 数据仓库已经成为数据分析和联机分析处理中日趋重要的平台。然而,数据仓库的设计与实现过程面临许多技术上的挑战,如多个异种数据源的集成带来的困难等。 请围绕"论数据仓库的设计与实现"这一论题,依次从以下3个方面进行论述: ①概要地叙述你参与分析和开发的软件项目,以及你所担任的主要工作。 ②具体讨论你在从事数据仓库的设计时是如何进行规划和分析的,详细描述数据仓库设计、数据集成和测试,以及部署数据仓库的过程。 ③分析并讨论你在数据仓库设计与实现过程中遇到过的主要问题,并简要展望数据仓库技术的发展趋势。

    正确答案: 数据仓库是面向业务主题的、集成的、不可更新的,并且会随着时间、业务的变化而不断变化,这些特性决定了数据仓库的设计不同于传统的数据库设计方法。数据仓库系统的原始需求通常不是很明确,并且不断变化、增加,所以,数据仓库的建立是一个过程,从建立简单的基本框架着手,不断丰富和完善整个系统。这一过程将由以下几部分构成:需求分析、概念模型设计、逻辑模型设计、物理模型设计和数据仓库生成。
    在撰写本文时,需要注意以下几个方面:
    ①在文章中首先用400~600字的篇幅简要叙述作者参与分析和开发的软件项目概要和所担任的工作。
    ②具体讨论在从事数据仓库的设计时是如何进行规划和分析的,详细描述数据仓库设计、数据集成和测试,以及部署数据仓库的过程。
    ③简要讨论在数据仓库设计与实现过程中遇到过的主要问题,以及解决问题的方法。
    ④最后,简要展望数据仓库技术的发展趋势。
    解析: 暂无解析