免费智能真题库 > 历年试卷 > 软件设计师 > 2015年上半年 软件设计师 下午试卷 案例
  第3题      
  知识点:   类图   功能描述   卖方选择   面向对象方法   网上支付

 
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某物品拍卖网站为参与者提供物品拍卖平台,组织拍卖过程,提供在线或线下交易服务。网站主要功能描述如下:
(1)拍卖参与者分为个人参与者和团体参与者两种。不同的团体也可以组成新的团体参与拍卖活动。网站记录每个参与者的名称。
(2)一次拍卖中,参与者或者是买方,或者是卖方。
(3)一次拍卖只拍出来自一个卖方的一件拍卖品;多个买方可以出价:卖方接受其中一个出价作为成交价,拍卖过程结束。
(4)在拍卖结算阶段,买卖双方可以选择两种成交方式:线下成交,买卖双方在事
先约定好的成交地点,当面完成物价款的支付和拍卖品的交付;在线成交,买方通过网上支付平台支付物价款,拍卖品由卖方通过快递邮寄给买方。
一次拍卖过程的基本事件流描述如下:
(1)卖方在网站上发起一次拍卖,并设置本次拍卖的起拍价。
(2)确定拍卖标的以及拍卖标的保留价(若在拍卖时间结束时,所有出价均低于拍卖标的保留价,则本次拍卖失败)。
(3)在网站上发布本次拍卖品的介绍。
(4)买方参与拍卖,给出竟拍价。
(5)卖方选择接受一个竟拍价作为成交价,结束拍卖。
(6)系统记录拍卖成交价,进入拍卖结算阶段。
(7)卖方和买方协商拍卖品成交方式,并完成成交。
现采用面向对象方法对系统进行分析与设计,得到如表3-1所示的类列表以及如图3-1所示的类图,类中关键属性与方法如表3-2所示。





 
问题:3.1   (7分)
根据说明中的描述,给出图3-1中(1)~(7)所对应的类名(类名使用表3-1中给出的序号)。
 
问题:3.2   (5分)
根据说明中的描述,确定表3-2中的属性/方法分别属于哪个类(类名、方法/属性名使用表3-1、3-2中给出的序号)。
 
问题:3.3   (3分)
在图3-1采用了何种设计模式?以100字以内文字说明采用这种设计模式的原因。
 
 
 

   知识点讲解    
   · 类图    · 功能描述    · 卖方选择    · 面向对象方法    · 网上支付
 
       类图
        类图(Class Diagram)展现了一组对象、接口、协作及其之间的关系。在面向对象系统的建模中所建立的最常见的图就是类图。
        类图给出了系统的静态设计视图,包含主动类的类图给出了系统的静态进程视图。作为模型管理视图还可以含有包或子系统,二者都用于把模型元素聚集成更大的组块。类图用于对系统的静态视图建模。这种视图主要支持系统的功能需求,即系统要提供给最终用户的服务。当对系统的静态设计建模时,通常以下述3种方式之一使用类图:对系统的词汇建模;对简单的协作建模;对逻辑数据库模式建模。
        作为静态视图的类图可以包含依赖、关联、泛化、组合、实现关系以及注解和约束等。
        (1)依赖关系是两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。
        (2)关联关系是一种结构关系,它描述了一组对象之间的链接关系。其中有一种特殊类型的关联关系,即聚集关系,它描述了整体与部分的结构关系。
        (3)泛化关系是一种一般—特殊关系,利用这种关系,子类可以共享父类的结构和行为。
        (4)实现关系是类之间的语义关系,其中的一个类制订了另一个类保证执行的契约。实现关系用于两种情况:在接口和实现它们的类或构件之间;在用例和它们的协作之间。
        (5)组合是聚集关系的变种,表示元素间更强的组合关系。各种关系图例如下图所示。
        
        各种关系图例
 
       功能描述
        与PC端一样,移动端登录是商务活动不可或缺的功能。用户应用社交、电商、金融等App必须进行注册登录,如微信、QQ、支付宝、淘宝、美团等。移动端用户账号登录注册主要有几种形式:第三方账号、手机号、邮箱。
        (1)第三方账号(QQ、微信、微博等)。使用第三方账号优势是用户操作简单,方便用户快速的体验产品;其缺点是通过第三方平台获取到的用户信息太少,手机没有安装对应App时,通过网页进行登录认证需要输入账号密码,复杂度很高。移动端第三方登录模块的基本功能如下图所示。
        
        移动第三方登录模块基本流程图
        (2)手机号注册登录。通过手机获取验证码(短信),验证后设置密码进行注册;登录时使用手机号和密码登录。获取验证码的优点是可以很大程度上防止恶意注册,可以导入通讯录关系而且用户不需要记忆成本;其缺点是短信验证码需要成本,用户隐私可能泄露,手机号丢失后找回复杂。移动端手机号注册登录模块的基本功能如下图所示。
        
        移动手机号注册登录模块基本流程图
        (3)邮箱登录注册。邮箱登录验证成本低,对用户来说隐私性更好,但是移动端邮箱输入复杂,验证不方便,普及率不高普及率高。
 
       卖方选择
        卖方选择过程接受标书或建议书,并运用评估标准选择一个或多个合格的供应商。除了采购成本或价格外,该过程还会评估如下多个因素:
        .价格对于现货供应的物品可能是主要的决定因素。但是如果卖方不能及时供货的话,最低的价格并不能保证最低的成本。
        .建议书通常分为技术和商务两部分,两者分别进行评估。某些情况下还需要对管理部分进行评估。
        .关键产品、服务或成果可能需要多个卖方,以降低与交付进度和质量要求相关的风险。
        输入
        1.组织过程资产
        涉及到项目采购的组织一般有影响建议书评估的企业政策。
        2.采购管理计划
        3.评估标准
        评估标准是发包规划的输出。评估标准可包括供应商提供的过去产品的样品,作为评估其能力与产品质量的一种方式,还可包括对供应商与以往发包方的历史的审查。
        4.采购文件包
        5.建议书
        6.合格卖方清单
        7.风险登记册
        8.风险相关的合同协议
        风险登记册和风险相关的合同协议属于项目管理计划中的内容,所以有时也把“项目管理计划”作为“卖方选择”过程的输入。
        工具与技术
        1.加权系统
        加权系统是对定性数据的一种定量分析方法,以减少在卖方选择中认为偏见带来的影响,这种方法包括:
        .对每个评估标准项设定一个权重。
        .对潜在卖方针对每项评估标准打分。
        .将各项权重和分数相乘。
        .将所有乘积求和得到卖方的总分。
        2.独立估算
        对于许多采购,采购组织可以自行编制独立估算,或者邀请外部专业估算师做出成本估算,并将此作为标杆,用来与潜在卖方的应答作比较。如果两者之间存在明显差异,这可能表明采购工作说明书存在缺陷或不明确,或者潜在卖方误解了或未能完全响应工作说明书。
        3.筛选系统
        筛选系统是为一个或多个评估标准建立最低要求,实际筛选过程中也可能同时采用加权系统和独立估算。例如,要求潜在卖方首先提名一位具有信息系统项目管理师资格的项目经理,然后才进一步考虑其建议书的其余部分。
        4.合同谈判
        合同谈判澄清买卖双方对合同的结构和要求的理解,以确保在双方合同签订前能达成一致意见。对于复杂的采购,合同谈判应该是一个独立的过程,有自己的输入(如未决项列表)和输出(如备忘录)。
        项目经理可以不是合同的主谈人。在合同谈判期间,项目经理以及项目管理团队的其他人员可列席,并在需要时就项目的技术、质量和管理要求进行澄清。
        5.卖方评级系统
        该系统应用的信息包括:卖方过去的业绩、质量等级、交付绩效和合同履约的情况。
        6.专家判断
        可使用专家判断对卖方建议书进行评估。
        7.建议书评价技术
        建议书的评级和打分可使用多种不同的方法,但所有方法都会涉及专家判断和一些评估标准。
        输出
        1.选定的卖方
        根据建议书或投标书评价结果,那些有竞争力,并且已与买方签订了合同草案的卖方就是选定的卖方。
        2.合同
        向每个选定的卖方授予一项采购合同,合同可以是简单的订购单或复杂的文件,无论其复杂程度如何,合同都是对双方具有约束力的法律协议。
        3.合同管理计划
        对于重大采购项目而言,将依据合同内买方规定的具体内容编制合同管理计划,该计划涵盖了合同整个生命期内的合同管理活动。合同管理计划是项目管理计划的一部分。
        4.资源可用性
        记录通过采购能获得的资源的数量和可用性。
        5.采购管理计划(更新)
        6.变更申请
        卖方选择过程可能会导致对项目管理计划及其从属计划提出变更请求。变更申请通过整体变更控制过程进行处理。
 
       面向对象方法
        面向对象方法是当前的主流开发方法,拥有大量不同的方法,主要包括OMT(Object Model Technology,对象建模技术)方法、Coad/Yourdon方法、OOSE(Object-Oriented Software Engineering,面向对象的软件工程)及Booch方法等,而OMT、OOSE及Booch最后统一成为UML(United Model Language,统一建模语言)。
               Coad/Yourdon方法
               Coad/Yourdon方法主要由面向对象的分析(Object-Oriented Analysis, OOA)和面向对象的设计(Object-Oriented Design, OOD)构成,特别强调OOA和OOD采用完全一致的概念和表示法,使分析和设计之间不需要表示法的转换。该方法的特点是表示简炼、易学,对于对象、结构、服务的认定较系统和完整,可操作性强。
               在Coda/Yourdon方法中,OOA的任务主要是建立问题域的分析模型。分析过程和构造OOA概念模型的顺序由5个层次组成,分别是类与对象层、属性层、服务层、结构层和主题层,它们表示分析的不同侧面。OOA需要经过5个步骤来完成整个分析工作,即标识对象类、标识结构与关联(包括继承、聚合、组合及实例化等)、划分主题、定义属性和定义服务。
               OOD中将继续贯穿OOA中的5个层次和5个活动,它由4个部分组成,分别是人机交互部件、问题域部件、任务管理部件和数据管理部件,其主要的活动就是这4个部件的设计工作。
               Booch方法
               Booch认为软件开发是一个螺旋上升的过程,每个周期包括4个步骤,分别是标识类和对象、确定类和对象的含义、标识关系、说明每个类的接口和实现。Booch方法的开发模型包括静态模型和动态模型,静态模型分为逻辑模型(类图、对象图)和物理模型(模块图、进程图),描述了系统的构成和结构。动态模型包括状态图和顺序图。该方法对每一步都做了详细的描述,描述手段丰富而灵活。
               Booch不仅建立了开发方法,还提出了设计人员的技术要求,以及不同开发阶段的人力资源配置。Booch方法的基本模型包括类图与对象图,主张在分析和设计中既使用类图,也使用对象图。
               OMT方法
               OMT作为一种软件工程方法学,支持整个软件生存周期,覆盖了问题构成分析、设计和实现等阶段。OMT方法使用了建模的思想,讨论如何建立一个实际的应用模型。从3个不同而又相关的角度建立了3类模型,分别是对象模型、动态模型和函数模型,OMT为每一个模型提供了图形表示。
               (1)对象模型。描述系统中对象的静态结构、对象之间的关系、属性和操作。它表示静态的、结构上的、系统的“数据”特征。主要用对象图来实现对象模型。
               (2)动态模型。描述与时间和操作顺序有关的系统特征,如激发事件、事件序列、确定事件先后关系的状态。它表示瞬时、行为上的和系统的“控制”特征。主要用状态图来实现动态模型。
               (3)函数模型。描述与值的变换有关的系统特征,包括功能、映射、约束和函数依赖。主要用数据流图来实现功能模型。
               在进行OMT建模时,通常包括4个活动,分别是分析、系统设计、对象设计和实现。
               (1)分析:建立可理解的现实世界模型。通常从问题陈述入手,通过与客户的不断交互及对现实世界背景知识的了解,对能够反映系统的3个本质特征(对象类及它们之间的关系,动态的控制流,受约束的数据的函数变换)进行分析,构造出现实世界的模型。
               (2)系统设计:确定整个系统的体系结构,形成求解问题和建立解答的高层策略。
               (3)对象设计:在分析的基础上,建立基于分析模型的设计模型,并考虑实现细节。其焦点是实现每个类的数据结构及所需的算法。
               (4)实现:将对象设计阶段开发的对象类及其关系转换为程序设计语言、数据库或硬件的实现。
               OOSE
               OOSE在OMT的基础上,对功能模型进行了补充,提出了用例(use case)的概念,最终取代了数据流图来进行需求分析和建立功能模型。
               OOSE方法采用5类模型来建立目标系统。
               (1)需求模型:获取用户的需求,识别对象,主要的描述手段有用例图、问题域对象模型及用户界面。
               (2)分析模型:定义系统的基本结构。将分析模型中的对象分别识别到分析模型中的实体对象、界面对象和控制对象三类对象中。每类对象都有自己的任务、目标并模拟系统的某个方面。实体对象模拟那些在系统中需要长期保存并加以处理的信息。实体对象由使用事件确定,通常与现实生活中的一些概念相符合。界面对象的任务是提供用户与系统之间的双向通信,在使用事件中所指定的所有功能都直接依赖于系统环境,它们都放在界面对象中。控制对象的典型作用是将另外一些对象组合形成一个事件。
               (3)设计模型:分析模型只注重系统的逻辑构造,而设计模型需要考虑具体的运行环境,即将分析模型中的对象定义为模块。
               (4)实现模型:用面向对象的语言来实现。
               (5)测试模型:测试的重要依据是需求模型和分析模型,测试的方法与9.8节所介绍的方法类似,而底层是对类(对象)的测试。测试模型实际上是一个测试报告。
               OOSE的开发活动主要分为3类,分别是分析、构造和测试。其中分析过程分为需求分析和健壮性分析两个子过程,分析活动分别产生需求模型和分析模型。构造活动包括设计和实现两个子过程,分别产生设计模型和实现模型。测试过程包括单元测试、集成测试和系统测试三个过程,共同产生测试模型。
               用例是OOSE中的重要概念,在开发各种模型时,它是贯穿OOSE活动的核心,描述了系统的需求及功能。用例实际上是描述系统用户(使用者、执行者)对于系统的使用情况,是从使用者的角度来确定系统的功能。因此,首先必须分析确定系统的使用者,然后进一步考虑使用者的主要任务、使用的方式、识别所使用的事件,即用例。
 
       网上支付
        用户填完订单之后,就需要转至付款的环节。目前付款方式各有不同,数字货币、数字支票、信用卡系统等综合网上支付手段不仅方便迅速,还可节省大量人力、物力以及时间。支付过程在商务活动中占有重要地位,网上支付必须解决好安全问题,否则后果不堪设想。在管理上,要加强对如欺骗、窃听、冒用等非法行为的惩处力度,这必须有银行、信用卡公司、保险公司等金融单位提供网上服务。在技术上,则要加强对如数字凭证、身份验证、加密等技术手段的应用。安全问题是一个非常值得注意的问题,需要认真对待。
   题号导航      2015年上半年 软件设计师 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
 
第3题    在手机中做本题