免费智能真题库 > 历年试卷 > 软件设计师 > 2024年上半年 软件设计师 下午试卷 案例
  第3题      
  知识点:   类图   背景   电子邮件   发送电子邮件   面向对象方法   注册

 
【说明】
某大学拟开发一个用于管理学术出版物(Publication)的数字图书馆系统,用户可以从该系统查询或下载已发表的学术出版物。系统的主要功能如下:
1.登录系统。系统的用户(User)仅限于该大学的学生(Student)、教师(Faculty)和其他工作人员(Staff)。在访问系统之前,用户必须使用其校园账户和密码登录系统。
2. 查询某位作者(Author)的所有出版物。系统中保存了会议文章(ConfPaper)、期刊文章 (JurnalArticle)和校内技术报告(TechReport )等学术出版物的信息,如题目、作者以及出版年份等。除此之外,系统还存储了不同类型出版物的一些特有信息;
(1)对于会议文章,系统还记录了会议名称、召开时间以及召开地点;
(2)对于期刊文章,系统还记录了期刊名称、出版月份、期号以及主办单位;
(3)对于校内技术报告,系统记录了由学校分配的唯一ID。
3. 查询指定会议集(Proceedings)或某个期刊特定期(Edition)的所有文章。会议集包含了发表在该会议(在某个特定时间段、特定地点召开)上的所有文章。期刊的每一期在特定时间发行,其中包含若干篇文章。
4.下载出版物。系统记录每个出版物被下载的次数。
5.查询引用了某篇出版物的所有出版物。在学术出版物中引用他人或早期的文献作为相关工作或背景资料是很常见的现象。用户也可以在系统中为某篇出版物注册引用通知,若有新的出版物引用了该出版物,系统将发送电子邮件通知该用户。
现在采用面向对象方法对该系统进行开发,得到系统的初始设计类图如图3-1所示。
 
问题:3.1   (9分)
根据说明中的描述,给出图3-1中C1~C9所对应的类名。
 
问题:3.2   (4分)
根据说明中的描述,给出图3-1中类C6~C9的属性。
 
问题:3.3   (2分)
图3-1中包含了哪种设计模式?实现的是该系统的哪个功能?
 
 
 

   知识点讲解    
   · 类图    · 背景    · 电子邮件    · 发送电子邮件    · 面向对象方法    · 注册
 
       类图
        类图(Class Diagram)展现了一组对象、接口、协作及其之间的关系。在面向对象系统的建模中所建立的最常见的图就是类图。
        类图给出了系统的静态设计视图,包含主动类的类图给出了系统的静态进程视图。作为模型管理视图还可以含有包或子系统,二者都用于把模型元素聚集成更大的组块。类图用于对系统的静态视图建模。这种视图主要支持系统的功能需求,即系统要提供给最终用户的服务。当对系统的静态设计建模时,通常以下述3种方式之一使用类图:对系统的词汇建模;对简单的协作建模;对逻辑数据库模式建模。
        作为静态视图的类图可以包含依赖、关联、泛化、组合、实现关系以及注解和约束等。
        (1)依赖关系是两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。
        (2)关联关系是一种结构关系,它描述了一组对象之间的链接关系。其中有一种特殊类型的关联关系,即聚集关系,它描述了整体与部分的结构关系。
        (3)泛化关系是一种一般—特殊关系,利用这种关系,子类可以共享父类的结构和行为。
        (4)实现关系是类之间的语义关系,其中的一个类制订了另一个类保证执行的契约。实现关系用于两种情况:在接口和实现它们的类或构件之间;在用例和它们的协作之间。
        (5)组合是聚集关系的变种,表示元素间更强的组合关系。各种关系图例如下图所示。
        
        各种关系图例
 
       背景
        .项目的承担者。
        .用户。
        .本项目和其他系统或机构的关系和联系。
 
       电子邮件
        电子邮件(Electronic Mail,E-mail),是传统邮件的电子化,它最早出现在ARPANET中。电子邮件(E-mail)是Internet提供的最主要的应用之一,它已经成为世界上最快的邮局,成为倍受欢迎的通信方式。电子邮件通过Internet传送,可在几秒钟之内传到世界各地,不受时间、气候和地理的限制,而且可以附加传送计算机文件、图像、声音和视频等多种信息。与传统的信件相比,电子邮件具有速度快、价格低的优点。
        电子邮件系统是一种新型的信息系统,是通信技术和计算机技术结合的产物。它是一种“存储转发式”的服务,属异步通信方式,这正是电子邮件系统的核心。利用存储转发可进行非实时通信,信件发送者可随时随地发送邮件。接收者可随时打开计算机读取信件,不受时空限制。在这里,“发送”邮件意味着将邮件放到收件人的信箱中,而“接收”邮件则意味着从自己的信箱中读取信件,信件在信箱之间进行传递和交换,也可以与另一个邮件系统进行传递和交换,信箱实际上是由文件管理系统支持的一个实体。因为电子邮件是通过邮件服务器Mail Server来传递文件的。通常Mail Server是执行多任务操作系统Unix的计算机,它提供24小时的电子邮件服务,用户只需向Mail Server管理人员申请一个信箱账号,就可使用这项快速的邮件服务了。
        与普通信件一样,电子邮件也需要地址。这个地址就是在Internet电子信箱的地址。电子邮件地址就是用户在ISP所开设的邮件账号加上POP3服务器的域名。例如:liuhy@sdfi.edu.cn,在此地址中“liuhy”是用户名,也就是用户在ISP所提供的POP3服务器上所注册的电子邮件账号,“sdfi.edu.cn”是POP3服务器的域名。中间用“@”分隔,表示“at”的意思。用户发送电子邮件时,必须给出接收方的电子邮件地址。
        电子邮件的传输则是通过电子邮件简单传输协议SMTP(Simple Mail Transfer Protocol)这一系统软件来实现的。SMTP协议是TCP/IP的一部分,它用于描述邮件是如何在Internet上传输的。遍布全球的邮件服务器根据SMTP协议来发送和接收邮件,SMTP就像Internet上的通用语言一样,负责处理邮件服务器之间的消息传递。
        电子邮件的发送由简单邮件传输协议(SMTP)服务器来完成。它好比是邮局的邮筒,将信投入后,由邮局定时发送。接收邮件由邮局协议(POP3)服务器来完成,来信都存放于此,用户通过电子邮件软件来取信。
        当用户写好电子邮件后,可通过电子邮件软件(Outlook等)将它发送出去。电子邮件软件使用SMTP协议和TCP/IP协议将用户的邮件打包后,加上信件头送到用户所设置的Internet服务商(ISP)的SMTP服务器上。然后SMTP服务器根据用户所写的电子邮件地址,通过路由器按照当前网络传输的情况,寻找一条最不拥挤的路由,将邮件传输给下一个SMTP服务器。该服务器也如法炮制,将邮件一直传送到接收方用户的ISP所提供的POP3服务器中,并保存在以接收方用户开设的信箱中。接收方用户可以通过电子邮件软件打开自己在POP3服务器上的信箱,来接收电子邮件。
 
       发送电子邮件
        电子邮件又称邮件列表广告,利用网站电子刊物服务中的电子邮件列表,将广告加在读者所订阅的刊物中发放给相应的邮箱所属人。正确利用E-mail进行广告活动,需要注意以下问题:
        (1)正确使用电子邮件的签名。电子邮件的签名经常会被人们忽略,但它的确可以起到非常突出的广告作用。请看下面的一个例子:
        Sincerely(感谢词)
        Simth(落款)
        Vanlong Technical Co. Ltd.(公司名称)
        http://www.IT.com.cn(公司Web地址)
        smith@IT.com.cn(E-mail地址)
        在这个简短的6行签名栏中包含了公司名称、网址、电子邮件地址、口号及简单的描述,这是非常重要的。它不仅完成了签名的功能,还起到了宣传的效果。
        (2)正确书写邮件的内容。邮件的“主题”一定要鲜明,能说清信的大意,以吸引收信者阅读,避免被当作垃圾邮件被删除。例如,给一位希望购房的客户发电子邮件广告,可以在“主题”中直接写“两居室,5800元每平方米”。在写信件时要注意语气亲切,对有可能收到的不太礼貌的回信,要平心静气地回信;对收到的客户提问的信,要迅速回答。信的内容也要尽量简短,以免耽误客户太多时间。
        (3)选择正确的发信方式。为了提高效率,减少读者的麻烦,每份E-mail要反复测试;不要对未经过分析和过滤的地址发送电子邮件,一定要明确地知道你在给谁发信,否则不但效率低下,而且容易被人列入黑名单。同时给众多客户发信,一般应采取“暗发”方式,让客户不会收到一大堆电子邮件地址,也不知道除了他自己外,你还给别的什么人发了信。
        (4)让客户主动索取广告。通过为客户提供一定的免费服务来发送邮件广告。例如,为客户提供免费的电子信箱、免费的电子杂志,把广告附于对客户希望得到的信息之后,让客户在阅读自己希望得到的信息的同时,阅读你的广告,或通过各种媒体宣传,让感兴趣的客户向你索取进一步资料。
        (5)群发邮件。群发邮件集中发送的大量电子邮件。对于一些滥发的群发邮件,被称之为“邮件垃圾”。现在每一个上网的人都至少有一个电子邮件地址,群发邮件是一种非常方便、廉价并且有效的行销手段。
 
       面向对象方法
        面向对象方法是当前的主流开发方法,拥有大量不同的方法,主要包括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活动的核心,描述了系统的需求及功能。用例实际上是描述系统用户(使用者、执行者)对于系统的使用情况,是从使用者的角度来确定系统的功能。因此,首先必须分析确定系统的使用者,然后进一步考虑使用者的主要任务、使用的方式、识别所使用的事件,即用例。
 
       注册
        移动IP通信的第二个阶段是注册。当移动主机已经移动到外地网络并且已经发现了外地代理后,就必须注册。关于注册涉及以下3点:
        (1)移动主机必须向外地代理注册。
        (2)如果截止期到了,移动主机必须重新注册。
        (3)如果移动主机离开某个外地网络,则必须注销。
        具体步骤是:移动主机把注册请求发送给外地代理,并把归属地址和归属地代理地址发送给外地代理。外地代理收到这些信息后,把这些信息转发给移动主机的归属地代理以认证上述信息,如果认证通过,那么移动主机就在外地代理这里注册成功。同时,移动主机的归属地代理也知道了外地代理的地址(转交地址)。
   题号导航      2024年上半年 软件设计师 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
 
第3题    在手机中做本题