【系统分析师之路】2008年上系统分析师下午论文真题

2008年上系统分析师下午论文真题

  • 【系统分析师之路】2008年上系统分析师下午论文真题
    • 试题一 论软件体系结构风格及其应用
    • 试题二 论软件项目估算的过程与方法
    • 试题三 论信息资源规划的需求分析
    • 试题四 论P2P计算关键技术与应用

试题一 论软件体系结构风格及其应用

试题一 论软件体系结构风格及其应用
软件体系结构设计的一个核心问题是如何有效地使用重复的体系结构模式,即达到软件体系结构级的软件重用。软件体系结构风格(Software Architecture Style)是描述软件系统组织方式的常用模式,在实践中已经被多次应用。按照Shaw和Garlan的说法, “一种体系结构风格定义了构件类型和连接件类型的词汇表,以及他们如何组合的约束条件”。体系结构风格通常分为数据流(Data Flow)风格、调用/返回(Call/Return)风格、独立构件(Independent Components)风格、虚拟机(Virtual Machines)风格和仓库(Repositories)风格五大类。在实际应用中,随着软件系统规模的扩大和复杂,一个系统往往会同时使用多类体系结构风格,这些风格可以交叉组合、彼此重叠。
请围绕“软件体系结构风格及其应用 软件体系结构风格及其应用 软件体系结构风格及其应用 软件体系结构风格及其应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。
2.请说明以上软件体系结构风格分类中每一类有哪些经典的软件体系结构设计风格,并就其中至少三类论述其具体的软件体系结构风格的构件、连接件类型和组合约束要求等结构特征及其应用特点。
3.具体阐述你参与管理和开发的项目中在体系结构设计时选择使用软件体系结构风格的情况,包括选择的依据、多个风格组合使用的情况等,以及最终实际效果。

【解答】
软件架构风格是指描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。
数据流风格
数据流风格的软件架构是一种最常见,结构最为简单的软件架构。这样的架构下,所有的数据按照流的形式在执行过程中前进,不存在结构的反复和重构。在流动过程中,数据经过序列间的数据处理组件进行处理,然后将处理结果向后传送,最后进行输出。
批处理风格
批处理风格的每一步处理都是独立的,并且每一步是顺序执行的。只有当前一步处理完, 后一步处理才能开始。数据传送在步与步之间作为一个整体。
管道—过滤器
每个构件都有一组输入和输出,构件读输入的数据流经过内部处理,然后产生输出数据流,这个过程通常是通过对输入数据流的变换或计算来完成的。这里的构件称为过滤器,连接件就是数据传输的管道,将—个过滤器的输出传到另一个过滤器的输入。
调用/返回风格
调用返回风格顾名思义,就是指在系统中采用了调用与返回机制。利用调用-返回实际上是一种分治策略,其主要思想是将一个复杂的大系统分解为一些子系统,以便降低复杂度,并且增加可修改性。程序从其执行起点开始执行该构件的代码,程序执行结束,将控制返回给程序调用构件
主程序/子程序
主程序/子程序风格是结构化开发时期的经典架构风格。这种风格一般采用单线程控制,把问题划分为若干处理步骤,构件即为主程序和子程序。子程序通常可合成为模块。过程调用作为交互机制,即充当连接件。调用关系具有层次性,其语义逻辑表现为子程序的正确性,取决于它调用的子程序的正确性
面向对象
抽象数据类型概念对软件系统有着重要作用。这种风格建立在数据抽象和面向对象的基础上,数据的表示方法和它们的相应操作封装在对象中。这种风格的构件是对象。对象是一种被称作管理者的构件,因为它负责保持资源的完整性。对象是通过函数和过程的调用来交互的。
层次结构
构件组织成一个层次结构,连接件通过决定层间如何交互的协议来定义。每层为上一层提供服务,使用下一层的服务,只能见到与自己邻接的层。通过层次结构,可以将大的问题分解为若干个渐进的小问题逐步解决,可以隐藏问题的复杂度。修改某一层,最多影响其相邻的两层。
独立构建风格
独立构件风格主要强调系统中的每个构件都是相对独立的个体,它们之间不直接通信,以降低耦合度,提升灵活性。独立构件风格主要包括:进程通讯和事件系统子风格。
进程通信
构件是独立的过程,连接件是消息传递,构件通常是命名过程,消息传递的方式可以是点对点、异步或同步方式,以及远程过程调用等。
事件驱动系统/隐式调用
构件不直接调用一个过程,而是触发或广播一个或多个事件。构件中的过程在一个或多个事件中注册,当某个事件被触发时,系统自动调用这个事件注册的所有过程。一个事件的触发就导致了另一个模块中的过程调用。这种风格中的构件是匿名的过程,它们之间交互的连接件往往是以过程之间的隐式调用来实现的。主要优点是为软件复用提供了强大的支持,为构件的维护和演化带来了方便;其缺点是构件放弃对系统计算的控制。
虚拟机风格
虚拟机风格的基本思想是人为构建一个运行环境,在这个环境之上,可以解析与运行自定义的一些语言,这样来增加架构的灵活性,虚拟机风格主要包括解释器和规则为中心两种架构风格。
解释器
解释器通常包括一个完成解释工作的解释引擎,一个包含将被解释的代码的存储区,一个记录解释引擎当前工作状态的数据结构,以及一个记录源代码被解释执行的进度的数据结构,具有解释器风格的软件中含有一个虚拟机,可以仿真硬件的执行过程和一些关键应用。其缺点是执行效率比较低。

基于规则的系统
基于规则的系统包括规则集、规则解释器、规则/数据选择器和工作内存,一般用在人工智能领域和决策支持系统中。
仓库风格
在仓库(repository)风格中,有两种不同的构件:中央数据结构说明当前状态,独立构件在中央数据存储上执行,仓库与外构件间的相互作用在系统中会有大的变化。
数据库系统
构件主要有两大类,一类是中央共享数据源,保存当前系统的数据状态;另一类是多个独立处理单元,处理单元对数据元素进行操作。
黑板系统
包括知识源、黑板和控制三部分。知识源包括若干独立计算的不同单元,提供解决向题的知识。知识源响应黑板的变化,也只修改黑板;黑板是一个全局数据库,包含问题域解空间的全部状态,是知识源相互作用的唯一媒介;知识源响应是通过黑板状态的变化来控制。
超文本系统
构件以网状链接方式相互连接,用户可以在构件之间进行按照人类的联想思维方式任意跳转到相关构件,超文本是一种非线性的网状信息组织方法,它以结点为基本单位,链作为结点之间的联想式关联。

试题二 论软件项目估算的过程与方法

试题二 论软件项目估算的过程与方法
软件项目管理过程中的一个关键活动是软件项目估算。项目估算就是对项目所需要的人力、物力、时间、成本及风险等因素进行评估。由于软件产品的特殊性,在做软件项目估算时往往存在某些不确定性,使得软件项目管理人员无法正常进行管理而导致产品迟迟不能完成。软件估算是所有项目计划活动的基石,没有计划就开始着手开发,会使项目陷入盲目性。现在已经有了许多用于软件项目管理的估算技术。
请围绕“软件项目估算的过程与方法” 论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。
2.详细论述软件项目估算的基本步骤以及目前常用的估算方法及其主要内容。
3.具体阐述在你参与管理和开发的项目中选择使用的软件项目估算方法及其具体实施的过程与实际效果

【解答】
现在已经有了很多用于软件开发估算的技术。虽然各有其优缺点,但是以下几个方面是共同的。事先建立软件的工作范围,以软件度量为基础进行估算,把项目分解为可单独进行估算的小块。
确定软件的范围
对软件的功能和性能进行评价,从管理角度和技术的角度出发,确定明确的可理解的项目范围。关于软件的范围都应该给出定量的数据,指明约束条件或限制,此外还要叙述某些质量因素。
软件的范围包括了功能,性能,限制,接口和可靠性。在估算开始之前,应对软件的功能进行评价,并对其进行适当的细化以便提供更加详细的细节。
由于成本和进度的估算都与功能有关,因此常常采用某种程度的功能分解。性能的处理包括了响应和处理时间的需求;约束条件则标识外部硬件,可用存储或其他现有系统对软件的限制。功能,性能,约束必须在一起进行评价。当性能限制不同时,为了实现同一种功能,开发工作量可能相差一个数量级。如果功能保持相同,而性能可变,则开发所需要的工作量和成本将有显著的差异。
软件与其他系统元素是相互作用的。需要考虑每个接口的性质和复杂性,以确定对开发资源,开发进度和成本的影响。
软件的范围最不明确的方面就是可靠性的论述,可以按照软件的一般性性质规定一些具体的要求来保证它的可靠性

对完成该软件项目所需资源进行估算
资源包括的人力资源,硬件资源和软件资源,软件复用性和软件部件库。
1)人力资源
估算时必须考虑人员的技术水平,专业能力,人数以及在开发各阶段中对各种人员的需要。一个软件项目所需要的人数只能在对开发工作量做出估算之后才能决定。
2)硬件资源
硬件是作为软件开发活动的一种工具而投入的,估算时需要考虑三种资源:
宿主机:软件开发时使用的计算机及其外围设备;
目标机:运行以开发成功软件的计算机及其外围设备;
其他硬件设备:专业软件开发时所需要的特殊的资源;
3)软件资源
软件在开发过程中使用许多工具来帮助软件的开发。主要的软件工具包括:业务系统计划工具集,项目管理工具集,分析与设计工具,编程工具,组装与测试工具,原型化与模拟工具,维护工具等。
4)软件复用性及软件部件库
为了得到准确的成本和工作量估算,有多种选择:
1.把估算推迟到项目的后期进行,在项目完成后就能得到100%精确的估算结果;
2.使用相对比较简单的分解技术以生成项目的成本和工作量估算结果;
3.为软件成本和估算工作量开发或配备一个经验模型;
4.获取一个或者更多的自动工具;
其中后三种选择对软件项目估算都是有效的。理想情况是,前后串接着使用上述技术,相互进行交叉检查。分解技术是对软件项目估算采取各个突破的方法,把一个大的软件项目分解为一些主要的功能和相关的软件过程任务,以逐步求精的方式,就可得到成本和工作量的估算。
常用的估算技术有LOC基于代码行的估算和FP基于功能点的估算。
还有工作量的估算:
是估算任何工程开发项目成本的最普遍使用的技术。每一项目任务的解决都需要花费若干人日,人月或人年。每一个工作量单位都对应于一定的货币成本。从而可以由此做出成本估算。工作量估算首先从项目范围中抽出软件功能,接着给出为实现每一软件功能所必须执行的一系列软件工程任务。

试题三 论信息资源规划的需求分析

试题三 论信息资源规划的需求分析
信息资源规划是信息化建设的基础工程,是指对企业生产经营活动所需要的信息与数据进行有效的管理。信息资源规划要从信息的产生、获取、处理、存储和传输等方面进行全面的规划。
当前许多企业信息化建设的关键和难点,不是计算机网络的构建,而是信息资源管理系统的建设。为此首先要做好信息资源规划工作,信息资源规划的第一阶段要进行需求分析,这与一般的软件工程需求分析有所不同。
请围绕“信息资源规划的需求分析”论题,依次从以下三个方面进行论述。
1.概要叙述你参与实施的信息化建设项目以及你所担任的主要工作。
2.论述在该项目中进行信息资源规划需求分析的主要内容。
3.阐述在进行信息资源规划需求分析时遇到了哪些问题,如何解决

【解答】
功能需求分析也称为业务分析。其分析成果称为企业模型或业务模型。它包括了以下四个部分。
1)企业的职能域模型
职能域或者职能范围,业务范围是指企业的一些主要业务活动领域,如工程,市场,科研,销售等。企业的职能域划分出来以后,就可以进一步明确信息资源规划的范围和边界。
2)识别每个职能域的业务过程
每个职能域都包括一定数目的业务过程。首先要进行业务过程的命名和定义。然后找出业务过程与组织机构的联系(业务过程具有独立性),对照业务过程和企业各部门负责人的职责。
3)列出每个业务过程的各项业务活动
每个业务活动中都包含一定数量的业务活动。业务活动是企业功能分级后的最为基本的不可再分解的单元,可以采用逐渐向下分解的方式获得。基本业务活动要具有可执行性,独立性等特点,同时还要有清晰的时空界限,其产生的结果清晰可识别。
4)业务模型的复查和确认
复查可以从上向下进行,也可以从下至上进行。从上而下的复查是指首先看职能域划分和定义是否存在问题,再分析业务过程的识别和定义是否存在问题;
从下至上复查是指首先复查业务活动功能是否分解到基本活动,是否存在冗余,哪些活动组合在一起作为一个业务过程,与以前确定的过程是否有矛盾,哪些业务过程组合成职能域,与以前确定的职能域是否一致等。
最后确认所形成的业务模型,应该具有完整性,适应性和永久性等特点。
数据需求分析是信息资源规划中最重要,工作量最大,且较为复杂的分析工作;强调对全企业或企业的大部分或企业的主体部分进行分析,需要有全局的观点;要建立全局的数据标准。主要包括以下两个方面:
1)基于用户视图的数据分析
用户视图是一些数据的集合,它反映了最终用户对数据实体的看法。用户视图的规范化标示包括了用户视图标识,用户视图名称,用户视图的组成等。最后还要对用户视图中的所有数据项逐一进行相关分析,即规划化。
2)数据流分析
数据流就是用户视图的流动。数据流程图是重要的分析方法。最后还有进行数据流的量化分析,为存储设备和网络通讯设备的规划提供基础

试题四 论P2P计算关键技术与应用

试题四 论P2P计算关键技术与应用
随着网络技术的发展和个人计算机计算和存储能力的增强,基于P2P 计算的互联网应用不断涌现。P2P(Peer-to-Peer)计算是指不同系统之间通过直接通信,实现计算机资源和服务共享、进行信息处理的计算过程。从早期的音乐文件共享,到互联网语音和视频处理,P2P 计算越来越受到系统设计者和开发者的关注。
请围绕 “P2P 计算关键技术与应用”论题,依次对以下三个方面进行论述
1.概要叙述你参与的采用P2P 计算的应用项目以及你在其中所担任的主要工作。
2.详细论述P2P 计算的关键技术。
3.通过你的切身实践论述基于P2P 计算的应用之优缺点,并给出几种典型应用。

【解答】
P2P可以简单定义成通过直接交换,共享计算机资源和服务。在P2P网络资源环境当中,成千上万台彼此连接的计算机都处于对等的地位,整个网络一般来讲不依赖于专用集中服务器。网络中每一台计算机既能充当服务的请求者,又能对其他计算机的请求提出响应,提供资源与服务。
通常这些资源与服务包括了信息的共享和交换,计算资源如CPU的共享使用,存储资源如缓存和磁盘空间的使用等。
如系统的开放性,计算机之间的直接互联,资源和服务的共享等,使得P2P系统在实现上存在一些关键技术:
1)P2P网络拓扑结构的维护
2)节点的功能角色的划分
3)资源和服务如何标识,大量节点如何命名,组织;
4)资源和服务如何查找和定位
5)P2P网络节点动态变化的处理,确定节点的加入和离开方式,出错恢复等问题
6)P2P网络的安全性
7)如何穿越NAT和防火墙进行节点之间的直接通信
基于P2P应用的计算主要有:
1)即时通讯软件
2)数据存储软件
3)文件数据共享软件
4)数据搜索及查询软件
5)协同计算软件
P2P计算的主要优点有:
1)每一个点都是平等的参与者,承担服务使用者和服务提供者两个角色
2)节点之间直接通信,可以充分利用带宽,减少网络的拥塞状况,使得资源的有效利用率大大提高
3)没有中央节点的集中控制,系统的伸缩性较强,避免单点故障,提高系统的容错性。
4)资源分布在多个节点,更好的实现了整个网络的负载均衡。
基于P2P计算的应用有以下的缺点
1)P2P网络分散性,自治性和动态性的特点,造成系统管理复杂;
2)P2P的动态性,造成了某些情况下的访问结果是不可预见的
3)P2P匿名性等特点可能会带来系统的安全漏洞

【系统分析师之路】2008年上系统分析师下午论文真题相关推荐

  1. 【系统分析师之路】2022上综合知识历年真题

    [系统分析师之路]2022上综合知识历年真题 [2022下系分真题第01题:红色] 01.()是从系统的应用领域而不是从系统用户的特定需要中得出的,它们可以是新的功能性需求,或者是对已有功能性需求的约 ...

  2. 【系统分析师之路】2019年上系统分析师下午论文真题

    [系统分析师之路]2019年上系统分析师下午论文真题 2019年上系统分析师下午论文真题 [系统分析师之路]2019年上系统分析师下午论文真题 试题一:论系统需求分析方法 试题二:论系统自动化测试及其 ...

  3. 【系统分析师之路】2015年上系统分析师下午论文真题

    [系统分析师之路]2015年上系统分析师下午论文真题 2015年上系统分析师下午论文真题 [系统分析师之路]2015年上系统分析师下午论文真题 试题一 论项目风险管理及其应用 试题二 论软件系统测试及 ...

  4. 【系统分析师之路】2014年上系统分析师下午论文真题

    [系统分析师之路]2014年上系统分析师下午论文真题 2014年上系统分析师下午论文真题 [系统分析师之路]2014年上系统分析师下午论文真题 试题一 论信息系统开发方法及应用 试题二 业务流程建模方 ...

  5. 【系统分析师之路】2011年上系统分析师下午论文真题

    [系统分析师之路]2011年上系统分析师下午论文真题 2011年上系统分析师下午论文真题 [系统分析师之路]2011年上系统分析师下午论文真题 试题一 论模型驱动的软件开发方法及其应用 试题二 论软件 ...

  6. 【系统分析师之路】2008年上系统分析师上午综合知识真题

    [系统分析师之路]2008年上系统分析师上午综合知识真题 章节No 章节 总分数 获得分 考点 心得 3 企业信息化战略 7 4 企业应用集成,信息系统概述,企业应用系统开发,数据仓库数据挖掘,企业会 ...

  7. 【系统分析师之路】2016年系统分析师下午案例分析真题

    [系统分析师之路]2016年系统分析师下午案例分析真题 系统分析师下午案例分析真题 [系统分析师之路]2016年系统分析师下午案例分析真题 2016年系统分析师下午案例分析第一题(系统规划) 我的解答 ...

  8. 【系统分析师之路】2011年系统分析师下午案例分析真题

    [系统分析师之路]2011年系统分析师下午案例分析真题 系统分析师下午案例分析真题 [系统分析师之路]2011年系统分析师下午案例分析真题 2011年系统分析师下午案例分析第一题(软件架构) 我的解答 ...

  9. 【系统分析师之路】2010年系统分析师下午案例分析真题

    [系统分析师之路]2010年系统分析师下午案例分析真题 系统分析师下午案例分析真题 [系统分析师之路]2010年系统分析师下午案例分析真题 2010年系统分析师下午案例分析第一题(需求工程) 1. 我 ...

最新文章

  1. python第三方库中函数调用_Python学习笔记(2)——Python的函数、模块、包和库...
  2. 【机器学习】特征预处理
  3. 8086汇编-实验7-制表
  4. 统计线段长度.lsp_折线统计图和条形统计图的知识点
  5. 计算机电缆2x2x1.5,计算机电缆djypvp1x2x1.5
  6. java集合框架总结之思维导图
  7. java函数void返回值是,Java中main()函数的返回值是什么( )。A、StringB、intC、c......
  8. javascript三元操作符
  9. 百度贴吧中的匿名回复,根本不是匿名,完全可以看到用户的全部IP。
  10. SignalR+Redis,SignalR+Sqlserver集群部署应对海量链接
  11. 关于大型网站技术演进的思考(十四)--网站静态化处理—前后端分离—上(6)...
  12. 观察者模式Java内存管理进阶篇——如何避免内存泄漏
  13. ANSYS之翼型NACA4412流场计算系列:Profili、ICEM CFD、Fluent
  14. android 插件开发 过时,Android Sutdio ( Intelij ) 插件开发
  15. 计算机博弈 六子棋 人机/人人对弈系统开发
  16. 红帽社区内容需要订阅访问
  17. linux top命令 什么意思,Linux下的top命令、%cpu和cps(s)到底是什么意思呢!
  18. java时钟时针绘制代码_java实现时钟效果
  19. 快速排序的两种写法:左右填坑法与前后交换法
  20. 黑马程序员pink老师Javascript语法基础 | 总结

热门文章

  1. 【ACO TSP】基于matlab蚁群算法求解31城市旅行商问题【含Matlab源码 1147期】
  2. Python实验-字典攻击!你的密码分分钟被搞定!
  3. 如何使用Kafka可靠地发送消息-《Kafka权威指南(第二版)》阅读笔记
  4. 深度强化学习:PPO + AI2THOR问题总结
  5. 图像算法三 —— 贝叶斯和朴素贝叶斯
  6. css背景图不失真_CSS实现页面背景图片模糊内容不模糊的方法
  7. IEEE ACCESS的latex模板中全文\emph{}无法正常显示
  8. go 使用gooxml 操作Excel
  9. 大声说出我本是条鱼:鱼质龙文
  10. 【debug】cv2.bitwise_or报错解决:cv2.error: OpenCV(4.6.0) /io/opencv/modules/core/src/arithm.cpp:212: error