1、2011年上半年软件水平考试(高级)系统分析师下午(案例分析)试题真题试卷及答案与解析 一、必答题( 25分) 1 论模型驱动的软件开发方法及其应用 模型驱动架构 (MDA)是对象管理组织 (OMG)提出的一种新的软件开发方法,它强调由软件系统的建模行为驱动整个系统的开发过程,来完成系统的需求分析、架构设计、构建、测试、部署和运行维护等工作。与传统的 UML模型相比, MDA能够创建出机器可读和高度抽象的模型,这种模型通过转换 (Transformation)技术可自动转换为代码、测试脚本、数据库定义以及 各种平台的部署描述。通过使用 MDA技术,可以有效解决传统软件开发过程中的生产效率问题、
2、系统移植问题、互操作问题以及文档和系统后期维护问题。 请围绕 “模型驱动的软件开发方法及其应用 ”论题,依次从以下三个方面进行论述。 (1)概要叙述你参与实施的模型驱动的软件开发项目以及你所担任的主要工作。 (2)阐述模型驱动的软件开发过程中的主要活动,并论述模型驱动的软件开发过程与传统的软件开发过程的区别。 (3)阐述在进行模型驱动的软件开发时遇到了哪些问题,如何解决。 2 论软件项目管理技 术及其应用 软件项目管理是为了使软件项目能够按照预定的成本、进度和质量顺利完成,对人员、产品、过程和项目进行分析和管理的活动。软件项目管理的根本目的是为了让软件项目,尤其是大型软件项目的整个生命周期都能
3、在管理者的控制之下,以预定成本按期、按质地完成并交付用户使用。而研究软件项目管理技术则是为了从已有的成功或失败的项目案例中总结出能够指导今后开发的通用原则和方法,同时避免重复失误。 请围绕 “软件项目管理技术及其应用 ”论题,依次从以下三个方面进行论述。 (1)概要叙述你参与实施和管理的软件开 发项目以及你所担任的主要工作。 (2)请根据项目实际情况,从成本、进度和质量三个方面,结合软件开发过程,说明你是如何进行软件项目管理的。 (3)阐述你在进行软件项目管理时遇到了哪些问题,如何解决。 3 论 Web系统的测试技术及其应用 随着网络技术的广泛应用,许多传统的信息系统已经逐渐被移植到互联网上,
4、Web系统已经对日常的工作和生活产生了深远的影响。为了保证 Web系统的正确性,在系统开发阶段就要对其进行全面的测试、确认和验收,而且由于 Web系统具有与传统信息系统截然不同的特点,需要 采用针对 Web系统特点的测试技术与方法。 请围绕 “Web系统的测试技术及其应用 ”论题,依次从以下三个方面进行论述。 (1)概要叙述你参与实施的、 Web系统开发项目以及你所担任的主要工作。 (2)阐述主要针对哪几个方面进行 Web系统测试,并对每个方面的具体测试内容进行详细论述。 (3)阐述在进行 Web系统的测试时遇到了哪些问题,如何解决。 4 论联合需求计划在系统需求获取中的应用 需求获取是系统分
5、析师用来确定、分析和理解系统需求的过程,访谈是需求获取的主要方式。为了提高 需求获取的效率,越来越多的企业倾向于使用小组工作会议来代替大量独立的访谈。联合需求计划 (Joint Requirement Planning, JRP)是一个通过高度结构化组织的群体会议来分析企业内的问题并获取需求的过程。 JRP会议包括一些不同的参与者和角色,期望每个参与者都能够参加并主动地参与整个 JRP会议。 请围绕 “联合需求计划在系统需求获取中的应用 ”论题,依次从以下三个方面进行论述。 (1)概要叙述你使用 JRP方法,参与分析和开发的信息系统项目以及你所担任的主要工作。 (2)简要分 析 JRP的参与者
6、,并说明每个参与者在会议讨论中所发挥的作用。 (3)分析实施 JRP时应该把握的原则,有效组织的 JRP会议和其他需求获取方法相比有哪些优点。 2011年上半年软件水平考试(高级)系统分析师下午(案例分析)试题真题试卷答案与解析 一、必答题( 25分) 1 【正确答案】 一、论文中要具体介绍组织的业务背景、组织结构、软件系统的架构、采用的技术等内容和担任的实际工作。 二、相关的内容包括: 模型驱动的软件开发过程中的主要活动包括: (1)需求分析人员根据领域需求得到描述软件 系统外部特征的计算无关模型(CIM); (2)在对 CIM进行分析的基础上得到平台无关模型 (PIM),并根据业务逻辑进一
7、步精化 PIM; (3)进行 PIM到平台特定模型 (PSM)的模型转换; (4)将每个 PSM转换为实现特定模型 (ISM),生成应用程序代码,并进行测试。 2与传统的软件开发过程相比,模型驱动的软件开发方法有 5个主要区别。 (1)自动实现模型变换。 传统的开发过程中,模型到模型的变换,或模型到代码的变换都是手工完成的;而模型驱动的开发过程中,模型变换都是由相关 工具自动完成的, PIM到, PSM、PSM到 ISM都可以自动转换实现。 (2)模型是开发产品,也是程序生成的基础设施。 模型驱动的开发过程中,模型是软件开发生命周期中的核心产品,通过一系列转换最终可以自动生成执行代码,是产生执
8、行代码的基础设施。而在传统开发过程中,模型只是分析人员、设计人员进行分析与交流的文档与图标,不能生成可用的应用程序代码。 (3)模型变换过程与代码生成过程同步,可维护性强。 模型驱动开发过程中,执行代码是由模型通过转换直接生成的,保证了模型与代码的同步。开发人员维 护系统的重心不在是传统开发方法中的程序代码,而是与业务逻辑相关、与技术平台无关的平台无关模型 PIM。 (4)业务逻辑模型与实现技术平台分离。 需求分析阶段生成的 PIM模型与开发技术、开发平台以及实现技术无关,并且PIM模型可以根据不同的技术平台,自动生成以模型为基础的、适用于不同技术平台的软件系统。 (5)提高了开发效率与软件质
9、量。 模型驱动开发的模型架构代表了对系统不同层次的抽象,使得开发人员更加清晰地了解系统的整个架构,而不会被具体的实现技术所困扰。开发人员专注于根据系统业务逻辑 构建 PIM,通过代码生成技术自动生成实现代码,减少了由于人为因素导致的系统实现错误。 三、在进行模型驱动的软件开发时可能存在的问题包括:如何对 CIM和 PIM进行建模;如何进行模型之间的转换,特别是 PIM到 PsM的转换;如何根据需求进行实现平台选择;如何根据 PSM生成 ISM(代码 );如何进行系统测试;等等。 2 【正确答案】 一、论文中要具体介绍组织的业务背景和组织结构,软件系统开发时的人员组成、任务分工和管理方式等内容和
10、担任的实际工作。 二、本题应根据项目的实际情况,从成本、进度和质量三个方 而,结合软件开发过程,对软件管理内容进行论述。相关的内容包括: 1在成本方面,需要进行软件项目成本管理。软件项目成本管理就是根据企业的情况和项目的具体要求,利用公司既定的资源,在保证项目的进度、质量达到客户满意的情况下,对软件项目成本进行有效的组织、实施、控制、跟踪、分析和考核等一系列管理活动,最大限度地降低项目成本,提高项目利润。 项目成本管理包括确保在批准的预算范围内完成项目所需的各个过程。软件项目成本的管理可以用估算和控制来概括,首先对软件的成本进行估算,然后形成成本管理计划,在软件项目 开发过程中,对软件项目施加
11、控制使其按照计划进行。成本管理计划是成本控制的标准,不合理的计划可能使项目失去控制,超出预算。因此成本估算是整个成本管理过程中的基础,成本控制是使项目的成本在开发过程中控制在预算范围之内。 成本管理的过程包括: (1)资源计划,包括决定为实施项目活动需要使用什么资源 (人员、设备和物资 )以及每种资源的用量。其主要输出是一个资源需求清单。 (2)成本估算,包括估计完成项目所需资源成本的近似值。其主要输出是成本管理计划。 (3)成本预算,包括将整个成本估算配置到各 单项工作,以建立一个衡量绩效的基准计划。其主要输出是成本基准计划。 (4)成本控制,包括控制项目预算的变化。其主要输出是修正的成本估
12、算、更新预算、纠正行动和取得的教训。 2在进度方面,需要进行软件进度管理。软件进度管理采用科学的方法,确定进度目标,编制进度计划和资源供应计划,进行进度控制,在与质量,成本目标协调的基础上,实现工期目标。进度管理主要包含以下 6个过程。 (1)活动定义:确定完成项目各项可交付成果而需要开展的具体活动。 (2)活动排序:识别和记录各项活动之间的先后关系和逻 辑关系。 (3)活动资源估算:估算完成各项活动所需要的资源类型和数量。 (4)活动历时估算:估算完成各项活动所需要的具体时间。 (5)进度计划编制:分析活动顺序、活动持续时间、资源要求和进度制约因素,制定项目进度计划。 (6)进度控制:根据进
13、度计划开展项目活动,如果发现偏差,则分析原因或进行调整。 3在质量方面,需要进行软件质量管理。质量管理是指确立质量方针及实施质量方针的全部职能及工作内容,并对其工作效果进行评价和改进的一系列工作。软件质量管理需要关注软件生命周期的质量模型,编制软件管理计划,实施软件质量保证与质量控制活动。 (1)软件生命周期的质量模型主要包括过程质量、内部质量属性、外部质量属性等内容。 (2)软件管理计划的主要内容有评审与检查、项目计划阶段的质量管理活动、软件配置管理等。 (3)软件质量保证是指为保证软件系统或软件产品充分满足用户要求的质量而进行的有计划 、有组织的活动,这些活动贯穿于软件生产的各个阶段。软件
14、质量保证由各项任务构成,这些任务的参与者有两类人:软件开发人员和质量保证人员。前者负责技术工作,后者负责质量保证的计划、监督、记录、分析和报告工作。质量保证的相关技术有质量审计和过程分析等。 质量控制是指监视项目的具体结果,确定其是否符合相关的质量标准,并判断如何能够去除造成不合格结果的根源,质量控制活动应贯穿于项目的始终。进行质量控制的主要活动是软件评审和软件测试等。 三、在进行软件项目管理时可能存在的问题包括:如何有效发现并解决项目开发中 的问题;如何对开发方案进行决策;如何对项目开发人员进行组织协调;如何提高团队工作效率,包括激励机制和惩罚机制;等等 3 【正确答案】 一、论文中要具体介
15、绍组织的业务背景、组织结构、 Web系统的架构、采用的技术等内容和担任的实际工作。 二、 Web系统测试包括以下几方面。 1功能测试 (1)链接测试。链接测试可分为三个方面。首先,测试所有链接是否按指示链接到正确的页面;其次,测试所链接的页面是否存在;最后,保证 Web应用系统上没有孤立页面。链接测试可以自动进行,现在已经有许多工具可以 采用。 (2)表单测试。当用户给 Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登录、信息提交等。在这种情况下,必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。如果使用默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值
16、,则也要进行测试。 (3)Cookies测试。如果 Web应用系统使用了 Cookies,就必须检查 Cookies是否能正常工作。测试的内容可包括 Cookies是否起作用,是否按预定的时间进行保存,刷新对 Cookies有什么影响,等等。 (4)设计语言测试。 Web设计语言版本的差异可以引起客户端或服务器端严重的问题,例如使用哪种版本的 HTML等。当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。除了 HTML的版本问题外,不同的脚本语言,例如 Java、 JavaScript、 Activex、 VBScript或 Per1等也要进行验证。 (5)数据库测试。在 W
17、eb应用中,最常用的数据库类型是关系型数据库。在使用了数据库的 Web应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户 提交的表单信息不正确造成的,而输出错误往往是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。 2性能测试 (1)连接速度测试。由于用户连接到 Web应用系统的速度差异较大,需要对 Web系统响应时间进行测试;另外,需要对页面响应速度和超时设置进行测试;最后,需要考虑由于连接速度太慢而引起的数据丢失。 (2)负载测试。负载测试是为了测量 Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常
18、工作。负载级别可以是某个时刻同时访问 Web系统的用户数量,也可以是在线数 据处理的数量。 (3)压力测试。压力测试是指实际破坏一个 Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试 Web应用系统会不会崩溃,在什么情况下会崩溃。压力测试的区域包括表单、登录和其他信息传输页面等。 3可用性测试 (1)导航测试。导航测试需要考虑导航是否直观, Web系统的主要部分是否可通过主页存取, Web系统是否需要站点地图、搜索引擎或其他的导航帮助等导航可用性问题。 Web系统的层次一旦决定,就要着手测试用户导航功能,让最终用户参与这种测试,效果将更加 明显。 (2)图形测
19、试。图形测试的内容有:验证图形用途,减少传输时间与传输量;验证所有页面字体的风格是否一致;验证背景颜色是否与字体颜色和前景颜色相搭配;检查图片的大小和质量,等等。 (3)内容测试。主要检验 Web应用系统提供信息的正确性、准确性和相关性。 (4)整体界面测试。考查整个 Web系统的页面结构设计,是否给用户的一个整体感。 对所有的可用性测试来说,都需要有外部人员的参与,最好是最终用户的参与。 4客户端兼容性测试 (1)平台测试。需要在各种操作系统下对 Web系统进行兼容性测试。 (2)浏览器测试。测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。 5安全性测试 (1)用户名、密码测试。必须
20、测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登录而直接浏览某个页面等。 (2)超时测试。测试 Web系统是否有超时的限制。 (3)日志信息测试。需要测试相关信息是否写进了日志文件、是否可追踪。 (4)安全套接字测试。当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。 (5)服务 器端脚本问题。服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。所以,还要就没有经过授权,就不能在服务器端放置和编辑脚本的问题进行测试。 三、在进行 Web系统测试时可能存在的问题包括如何构建测试环境;如何选择合适的工具进行自动化测试;如何模拟大规模并发访问,
21、并进行系统的性能测试;如何设计调查问卷,进行系统的可用性测试,等等。 4 【正确答案】 一、论文中要具体介绍组织的业务背景和组织结构,信息系统开发时的人员组成、任务分工和管理方式等内容,并明确指出你在其中承担的主要任务和开展的主要工作。 二、简要分析 JRP的参与者,并说明每个参与者在会议讨论中所发挥的作用。 (1)负责人:通常是位于管理层的人,并且他的职权跨越系统项目中涉及的不同部门和用户,负责人通过鼓励用户主动参与 JRP会议对系统项目给予完全的支持,并负责做出需求是否入选的最后决策。负责人通过介绍与会者来启动会议,并在会议结束时做最后小结。 (2)会议主持人:通常负责领导一个系统项目的所
22、有会议,这个人具有出色的沟通能力,拥有协商和解决小组矛盾的能力,拥有业务知识,具有出色的组织能力,对将做出的决策保持公平,并且不用向任 何与会者汇报工作。主要工作包括策划 JRP会议,主持会议直至会议结束。会议期间,负责引导讨论,鼓励出席者主动参与,解决可能产生的矛盾,确保实现会议的预期目标和目的,并建立会议期间将遵守的基本规则。 (3)用户和管理人员:通常由项目负责人选择,人数为十几人或者更多。用户主要用来有效地明确或确认业务规则和需求、评审设计原型并做出是否接受的策略。管理人员是用来批准项目目标、设置项目优先权,批准进度和费用以及批准确定的培训需求和实现计划。 (4)记录员:负责记录会议上
23、讨论的每件事情,这些记录在会后立即发给 与会者,以便维持 JRP会议及其成员的动力。使用 CASE工具来收集 JRP会议期间沟通的众多事实。这个角色通常由系统分析人员扮演。 (5)IT职员:主要负责聆听和记录用户和管理人员说的有关问题和需求。除非被邀请,否则不会主动发言。他们的任何问题和关注都在 JRP会议之后或之前不久直接提交给 JRP主持人。 IT职员通常由项目团队的成员组成,这些成员和记录员密切合作,以形成开发模型和会议期间沟通结果的其他相关文档。 三、分析实施 JRP时应该把握的原则,有效的 JRP和其他需求获取方法相比有哪些优点。 1在 JRP实施之前,应制定详细的议程,并严格按议程
24、进行;按既定的时间安排进行;尽量完整地记录会议期间的内容;在讨论期间尽量避免使用专业术语;充分运用解决冲突的技能;会议期间设定充分的间歇时间;鼓励团队取得一致的意见;保证参加 JRP的所有人员能够遵守事先约定的规则。 2有效组织的 JRP会议具有的优点: JRP积极地将用户和管理人员引入到开发项目中; JRP通过小组会议代替传统的、耗时的一对一地与每个用户和管理人员面谈,减少了开发系统所需的时间。小组会议有助于获得用户和管理人员的一致意见,解决互相矛盾的信息 和需求; JRP把原型化技术包括进来作为一种证实需求和获得设计建议批准的手段,能够有效发挥原型化技术的优点。 JRP会议的成功取决于 JRP主持人及其计划与主持 JRP会议的能力
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1