软件设计师UML分析与设计(一)
- 格式:docx
- 大小:26.32 KB
- 文档页数:9
UML系统建模与分析设计第一章系统建模与分析设计的演变1、系统建模的三要素:方法、工具和过程2、软件的分类:按软件的功能划分:系统软件、支撑软件和应用软件按软件的规模划分:小型软件、中型软件、大型甚至超大型软件按软件的工作方式划分:实时处理软件、分时处理软件交互式软件和批处理软件按软件服务对象的范围划分:一次性使用软件和使用频度较高的软件按软件失效的影响程度划分:一般性软件和关键性软件3、软件危机产生的原因主要有两个:一是与软件本身的特点相关;二是软件开发和维护的方法不正确。
4、软件开发过程模型:瀑布模型、渐增模型、演化模型、螺旋模型、智能模型5、UML的特点:唯一性、连续性、维护性、复用性和逐步完善6、面向对象的三大重要特征:封装性、继承性和多态性7、软件开发方法从结构化开发方法、模块化开发方法到面向对象开发方法是一个渐进的演变过程8、软件生命周期描述了一个软件从定义、开发、使用、维护到服用的全过程9、面向对象的基本概念有:对象、类急气封装性、多态性、继承性和消息传递10、软件开发过程由客户端需求分析、系统分析、系统设计和系统实现以测试与维护四个四个阶段组成11、面向对象系统的开发过程以体系结构为中心,以用例为驱动,是一个反复、渐增的过程课后习题:ACDB1、封装是吧对象的属性和操作结合在一起,组成一个独立的对象、2、封装是一种信息隐蔽技术,目的是使对象的生产者和使用者分离,使对象的定义和实现分开。
3、面向对象方法中的继承机制使子类可以自动地拥有复制父类全部属性和操作4、使得在多个类中能够定义同一个操作或属性名,并在每一个类中有不同的实现的一种方法是多态性5、软件按照其工作方式可划分为实时处理软件、分时处理软件、交互式软件和批处理软件。
6、软件生存周期由软件的定义、软件的开发和软件的使用维护和更新换代三部分组成。
7、软件开发模型有瀑布模型、增量模型、螺旋模型、智能模型和快速原型模型等五种主要模型8、面向对象技术采用以类为中心的封装、继承、多态等不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造。
UML系统建模基础教程课后答案第一章面向对象设计与UML1.填空题(1)UML(2)封装继承多态(3)继承(4)瀑布模型喷泉模型基于组件的开发模型XP开发模型2.选择题(1) C(2) A B C D(3) A B C D(4) A B C(5) A3.简答题1.试述对象和类的关系。
(1)类是具有相同或相似结构、操作和约束规则的对象组成的集合,而对彖是某一类的具体化实例,每一个类都是具有某些共同特征的对象的抽象。
类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类対象的抽象就是类.类描述了一组有相同特性和相同行为的对象。
第二章UML通用知识点综述1.填空题(1)依赖泛化关联实现(2)视图图模型元素(3)实现视图部署视图(4)构造型标记值约束(5)规格说明修饰通用划分2.选择题(1) D(2) C(3) A(4) A B(5) D3.简答题(1)在UML中面向对象的事物有哪几种?在UML中,定义了四种基本的面向对象的事物,分别是结构事物、行为事物、分组事物和注释事物等。
(2)请说出构件的种类。
构件种类有:源代码构件、二进制构件和可执行构件。
(3)请说出试图有哪些种类。
在UML中主要包括的视图为静态视图、用例视图、交互视图、实现视图、状态机视图、活动视图、部署视图和模型管理视图。
(4)请说出视图和图的关系。
视图和图是包含和被包含的关系。
在每一种视图中都包含一种或多种图。
(5)请简述UML的通用机制。
UML提供了一些通用的公共机制,使用这些通用的公共机制(通用机制)能够使UML在各种图中添加适当的描述信息,从而完善UML的语义表达。
逋常,使用模型元素的基本功能不能够完善的表达所要描述的实际信息,这些通用机制可以有效地帮助表达,帮助我们进行有效的UML 建模。
UML提供的这些通用机制,贯穿于整个建模过程的方方面面。
前面我们提到,UML的通用机制包括规格说明、修饰和通用划分三个方面。
第三章Rational统一过程1.填空题(1)角色活动产物工作流(2)逻辑视图过程视图物理视图开发视图用例视图(3)设计开发验证(4)二维(5)周期迭代过程里程碑2.选择题(1) A B C D(2) A C D(3) A C D(4) A B C(5) A B C D3.简答题(1)请描述迭代过程有几个阶段。
1 系统概述面向对象技术是软件工程学的一个重要分支,也是当今软件开发的主流方法。
随着信息技术的发展和高校教育改革的不断深入,很多高等院校都对课程设置结构进行了重组和优化,通过学分制教学,开设了大量的选修课,并充分利用各种现代化教学手段和管理手段,使传统课程结构的单一性向现代课程结构的均衡性、综合性和选择性转变,从纵深型向宽广型发展。
但是,目前大多数学校使用的网上选课系统是采用面向过程方法开发的,这使得管理系统在可扩充性、交互性、网络应用和共享等方面存在诸多不足,很难适应现代教育的需求变化。
新一代的高校网上选课系统必将是采用面向对象分析与设计技术来系统开发的、以持久对象为基础的管理信息系统。
面向对象软件开发方法的核心思想是利用面向对象的概念和方法为软件需求建立模型,进行系统设计,采用面向对象程序设计语言完成系统实现,并对建成的系统进行面向对象的系统测试和系统维护。
本系统实现学生选课的基本功能,包括学生退选课、查看自己的选课信息;教师查看选课学生的信息、提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。
系统实现了学生选课的动态管理,使得对信息的管理更加及时、高效,提高了效率。
2 需求分析与用例建模2.1系统目标本系统开发采用面向对象的开发方法,发挥面向对象的优势进行系统开发,从而逐步实现选课系统所需的各种基本功能,使教学人员及操作者进行选课管理,方便操作者随时添加、查询、修改数据,使工作人员从繁琐的填表、查表工作中解放出来,从而减少必要的人力和设备。
其次,可以使供需双方都获得满意的效果,促进报表、统计数据的规范化;在提高工作效率的同时来降低选课管理维护费用,改善服务质量,为学校领导决策提供支持。
2.2可行性分析决定可行性的主要因素有社会因素、经济因素、管理因素、技术因素等。
2.2.1社会可行性自20世纪40年代计算机问世以来,计算机在各个领域得到了广泛的应用,使得计算机技术蓬勃发展。
UML分析(1)当前HA的软件可能面对的一些问题:●模块的划分(模块划分的方式是不是合适?规模是不是合适?其实最大的问题是规模是否合适)●对于功能的划分(功能划分是否合理?是否合乎可扩展性、易用性、独立性等)●对于接口的定义(以前总是大量使用全局变量,而不是真正的接口,所以对于接口如何制定也是需要改进的部分)●需求分析(有时客户给出的需求太过于简单,可能会产生误解)(2)软件发展到一定程度可能会出现下面的问题:●很难对系统进行改动,因为每个改动都会迫使许多对系统其他部分的其它改动。
●对系统的改动会导致系统中和改动的地方在概念上无关的许多地方出现问题。
●很难解开系统的纠结,使之成为一些可在其他系统中重用的组件。
●粘滞性:做正确的事情比做错误的事情要困难。
●不必要的复杂性:设计中包含有不具任何直接好处的基础结构。
●不必要的重复性:设计中包含有重复的结构,而该重复的结构本可以使用单一的抽象进行统一。
●很难阅读、理解。
没有很好地表现出意图。
(3) UML是什么UML是一种图形语言(由9种图构成的),它并不能具体的实现什么,只是对所要实现的系统的一种描述,以便于程序开发人员和测试人员工作,他们可以根据UML图采用合适的编程语言实现系统。
它是一种离散的建模语言,不适合对诸如工程和物理学领域中的连续系统建模。
它是一个综合的通用建模语言,适合对诸如由计算机软件、固件或数字逻辑构成的离散系统建模。
同的UML图作为测试依据:单元测试使用类图和类规格说明;集成测试使用部件图和合作图;系统测试使用用例图来验证系统的行为;验收测试由用户进行,以验证系统测试的结果是否满足在分析阶段确定的需求。
静态和动态:UML描述了一个系统的静态结构和动态行为。
UML将系统描述为一些离散的相互作用的对象并最终为外部用户提供一定的功能的模型结构。
静态结构定义了系统中的重要对象的属性和操作以及这些对象之间的相互关系。
动态行为定义了对象的时间特性和对象为完成目标而相互进行通信的机制。
UML分析与设计大概步骤内容管理系统需求大致如下:这个系统主要用来发布新闻,管理员只需要一个,登录后可以在后台发布新闻。
任何人可以浏览新闻,浏览者可以注册成为系统会员,注册后可对新闻进行评论。
管理员在后台可以对新闻、评论、注册会员进行管理,如修改、删除等。
1.从需求到业务用例图OOA&D的第一步,就是了解用户需求,并将其转换为业务用例图。
通过以上需求描述,我们画出如下的业务用例图:2.从业务用例图到活动图完成了业务用例图后,为每一个业务用例绘制一幅活动图。
活动图描述了这个业务用例中,用户可能会进行的操作序列。
活动图有个很重要的使命:从业务用例分析出系统用例。
例如,下面是“新闻管理”的活动图:这样,将每个业务用例都绘制出相应的活动图,再将其中的“活动”整合,就得出所有备选系统用例。
3.从活动图到系统用例图找出所有的备选系统用例后,我们要对他们进行合并和筛选。
合并就是将相同的用例合并成一个,筛选就是将不符合系统用例条件的备选用例去掉。
最终得出的系统用例图如下:4.从系统用例图到用例规约得出系统用例图后,我们应该对每一个系统用例给出用例规约。
下面给出“登录”这个系统用例的一个规约:5.绘制业务领域类图完成了上面几步,下面应该是绘制业务领域类图了。
所谓业务领域类图要描述一下三点:1.系统中有哪些实体。
2.这些实体能做什么操作。
3.实体间的关系。
这里要特别强调:这里的实体不是Actor,而是Actor使用系统时使用的所调用的实体,是处在系统边界之内的实体。
6.绘制实现类图实现类图和领域类图不一样,它描述的是真正系统的静态结构,是和最后的代码完全一致的。
因此,它和平台关系密切,必须准确给出系统中的实体类、控制类、界面类、接口等元素以及其中的关系。
假设这个系统建构于.NET 3.5平台上,并且使用 MVC作为表示层,整体使用三层架构。
那么,用户模块体系的实现类图大体是这样子(不准确):7.绘制序列图有了静态结构,我们还要给出动态结构,这样,才能看清系统间的类是如何交互的,从而有效帮助程序员进行编码工作。
《面向对象的分析和设计UML》课程标准一、概述(一)课程性质《面向对象的分析和设计UML》课程是新的软件专业人才培养方案的重要组成。
开发团队应对应用于软件开发过程的建模技术有全面的了解,以在商业分析和软件开发方面具有竞争优势。
在软件开发过程中建模是最重要的活动,可有效地分析现有事务的流程并创建新的软件系统。
统一建模语言(UML) 是标准化的语言,可以创建面向对象系统的结构和设计。
通过UML 业务分析者可以验证大型软件系统的需求,系统设计师可以设计复杂的软件系统,而开发人员可以有效地对软件系统进行编码。
本课程主要描述使用UML 的面向对象软件系统的结构和设计,先讲述面向对象分析和设计的基础,然后再进一步讲述UML 和UML 的高级功能。
(二)课程基本理念本课程介绍了面向对象分析和设计以及UML。
涵盖软件开发生命周期(SDLC) 的要求和其各个阶段。
它提供了面向对象概念的复习部分。
另外,本教程描述了需求收集的概念和目标软件系统的用例建模。
还讲解了怎样从需求分析阶段转移到软件开发的设计阶段,本教程进一步介绍了静态和动态建模。
涵盖了创建类和对象关系图的要求。
除了讲解类和对象间的各种关系外,还描述了创建活动、交互、状态、序列和协作关系图的要求。
本教程还介绍了UML 的架构建模和扩展机制。
涵盖了创建可重用的代码和各种设计实践的要求使软件系统易于管理和可重用。
此外,还描述了模型设计模式要求。
本课程还将讲解怎样通过判断软件开发过程和UML 工件的复杂度来衡量软件项目的质量。
本课程教学分为理论和项目实践两大部分。
理论教学内容主要包含UML的基本理论和技术方法,理论教学突出基本知识和基本概念的表述,通过知识点的认识掌握,形成知识链和技术理论。
项目实践教学内容主要包括具体的项目的实施,项目实践教学贯彻“任务驱动、项目导向”的教学策略,选择典型的案例或项目,通过实际项目的运作,以“学中干、干中学”的方式培养学生的专业技能。
UML课后习题答案整理目录第1章面向对象分析与设计引论41.1填空题42.1选择题43.1简答题4第2章统一建模语言UML与建模工具Rational Rose51.1填空题52.1选择题53.1简答题5第3章需求分析与用例模型71.1填空题72.1选择题73.1简答题74.1练习题7第4章系统静态分析与静态模型131.1填空题132.1选择题133.1简答题134.1练习题14第5章系统动态分析与交互模型151.1填空题152.1选择题153.1简答题154.1练习题16第6章系统动态分析与行为模型、191.1填空题192.1选择题193.1简答题204.1练习题21第7章系统设计与实现模型261.1填空题262.1选择题263.1简答题264.1练习题27第8章软件工程引论与统一软件过程RUP281.1填空题282.1选择题283.1简答题28第9章分工情况31第1章面向对象分析与设计引论1.1填空题(1)面向过程程序=算法+数据结构(2)对象(3)属性操作2.1选择题(1)A(2)A3.1简答题(1)面向过程方法和面向对象方法的比较:面向过程方法首先关心的是功能,强调以过程为中心,采用模块化、自顶向下、逐步细分的解决问题的方法,结构清晰、可读性好。
然而,由于用户的需求和软、硬件技术的不断发展变化,经常出现互相矛盾的数据需求,因此分析和设计越来越困难,开发过程前期入手快而后期频繁改动的现象比较常见。
面向对象方法则从所处理的数据入手,以数据为中心来描述系统。
数据相对于功能而言,具有更强的稳定性,这样设计出的系统模型往往能较好地映射问题域模型。
面向对象方法的有效性:面向对象程序设计是一种自下而上的程序设计方法,往往从问题的一部分着手,一点一点地构建出整个程序。
面向对象设计以数据为中心,类作为表现数据的工具,成为划分程序的基本单位。
面向对象是把构成问题的事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为。
UML面向对象分析与设计大作业前言“UML面向对象分析与设计”是计算机专业和软件工程等相关专业的一门重要课程,也是其他理工科专业的热门选修课程。
“程序设计语言”、“计算机网络”、“数据库原理”和“数据机构”等是它的前导课程,学好本课程对学生毕业后从事软件开发有着极为重要的作用。
要学好这门课,仅仅通过课堂教学或自学掌握理论知识是远远不够的,还必须加强实践。
特在学期末引入uml的综合分析与设计,从实际项目出发,使学生学会运用软件工程基本理论知识,UML建模语言和rose建模环境,去解决软件开发中的实际问题,达到学以致用的目的。
面向对象软件开发技术项目的引入及需求简易教学管理系统的分析、设计与实现一、设计的目的1.初步了解UML语言的概念、结构、语义与表示方法;2.掌握UML建模工具Rational Rose的使用方法;3.给出某个简单系统的模型,能够熟练地使用Rose工具表达;二、设计理论基础1. 面向对象的程序设计C++或JAVA程序设计课程;2.数据结构或算法课程2.SQLServer或mysql数据库系统;3. 熟悉传统软件工程以及软件测试技术。
三、设计内容与步骤需求陈述:简易教学管理系统主要提供两个方面的服务:➢选课管理,负责新学期的课程选课注册。
➢成绩管理,负责学生成绩管理。
(1)简易教学管理系统---选课管理应提供的服务如下:1.录入与生成新学期课程表教学管理人员在新学期开学前录入新学期的课程,打印将开设的课程目录表,供师生参考选择。
如果某门课实际选课的学生少于10人,则停开该课程,把该课程从课程表中删除;如某课程选课学生多于60人,则停止选课。
2.学生选课注册新学期开始前一周为学生选课注册时间,在此期间学生可以选课注册,并且允许改变或取消注册申请。
每个学生选课可不允许超过4门,每门课最多允许60名学生选课注册。
3.查询可以查询课程信息、学生选课信息和学生、教师信息。
学生、教师、教学管理人员可以查询课程表,获得课程信息。
[模拟] 软件设计师UML分析与设计(一)填空题阅读下列说明和图,回答问题1至问题3,将解答填入对应栏内。
[说明]某公司的主要业务是出租图书和唱碟。
由于业务需求,该公司委托软件开发公司A开发一套信息管理系统,该系统将记录所有的图书信息、唱碟信息、用户信息、用户租借信息等。
A公司决定采用面向对象的分析和设计方法开发此系统。
如图19-1所示为某类图书或唱碟被借阅时应记录的信息,图19-2描述了系统定义的两个类Book和CD,分别表示图书和唱碟的信息。
第1题:经过进一步分析,设计人员决定定义一个类Items_on_loan,以表示类Book和CD的共有属性和方法。
请采用图19-2中属性和方法的名称给出类Items_on_loan应该具有的属性和方法。
(注意:不同名称的属性和方法表示不同的含义,如类CD中的composer与类Book中的author无任何关系。
)_________参考答案:属性:title 方法:Reference title详细解答:第2题:为了记录每种图书或唱碟的历史记录,引入类CirculationHistory,类中存储的信息是图19-1中所表示的内容。
请采用UML表示法将下列4个类间的关系表示出来。
参考答案:详细解答:第3题:现需了解十大最畅销(借出次数最多)图书或唱碟,为此引入TenPopulate类以存储所有十大畅销图书或CD的名称及其被借出的次数。
顺序图19-3描述了某类图书或唱碟被借出后成为十大畅销图书或唱碟时对象间的消息交互。
系统在一次运行过程中,应有(1) 个TenPopulate实例对象最合适,一个TenPopulate类实例对象最多需要和(2) 个Items_on_loan实例对象交互。
参考答案:1;图书和唱碟种类数详细解答:阅读下列说明及UML类图,回答问题1至问题3,将解答填入对应栏内。
[说明]某客户信息管理系统中保存着两类客户的信息。
(1)个人客户。
对于这类客户,系统保存了其客户标识(由系统生成)和基本信息(包括姓名、住宅电话和E-mail)。
(2)集团客户。
集团客户可以创建和管理自己的若干名联系人。
对于这类客户,系统除了保存其客户标识(由系统生成)之外,也保存了其联系人的信息。
联系人的信息包括姓名、住宅电话、E-mail、办公电话及职位。
该系统除了可以保存客户信息之外,还具有以下功能。
·向系统中添加客户(addCustomer);·根据给定的客户标识,在系统中查找该客户(getCustomer);·根据给定的客户标识,从系统中删除该客户(removeCustomer);·创建新的联系人(addContact);·在系统中查找指定的联系人(getContact);·从系统中删除指定的联系人(removeContact)。
该系统采用面向对象方法进行开发。
在面向对象分析阶段,根据上述描述,得到如表19-1所示的类。
第4题:请使用说明中的术语,给出图19-4中类Customer和类Person的属性。
_________参考答案:Customer的属性:客户标识;Person的属性:姓名、住宅电话、E-mail。
详细解答:第5题:识别关联的多重度是面向对象建模过程中的一个重要步骤。
根据说明中给出的描述,完成图中的(1)~(6)。
_________参考答案:(1)1 (2)0..* (3)1 (4)1 (5)1 (6)1..*详细解答:第6题:根据说明中的叙述,抽象出如表19-2所示的方法,请指出图19-4中的类CustomerInformationSystem和InstitutionalCustomer应分别具有其中的哪些方法。
参考答案:CustomerInformationSystem的方法:AddCustomer、getCustotmer、removeCustomer:InstitutionalCustomer的方法:addContact、getContact、removeContact。
详细解答:阅读以下说明和图,回答问题1至问题3,将解答填入对应栏内。
[说明]S公司开办了在线电子商务网站,主要为各注册的商家提供在线商品销售功能。
为更好地吸引用户,S公司计划为注册的商家提供商品(Commodity)促销(Promotion)功能。
商品的分类(Category)不同,促销的方式和内容会有所不同。
注册商家可发布促销信息。
商家首先要在自己所销售的商品分类中,选择促销涉及的某一具体分类,然后选出该分类的一种或多种商品(一种商品仅仅属于一种分类);接着制定出一个比较优惠的折扣政策和促销活动的优惠时间;最后由系统生成促销信息并将该促销信息公布在网站上。
商家发布促销信息后,网站的注册用户便可通过网站购买促销商品。
用户可选择参与某一个促销(Promotion)活动,并选择具体的促销商品(Commodity),输入购买数量等购买信息。
系统生成相应的一份促销订单(POrder)。
只要用户在优惠活动的时间范围内,通过网站提供的在线支付系统,确认在线支付该促销订单(即完成支付),就可以优惠的价格完成商品的购买活动,否则该促销订单失效。
系统采用面向对象方法开发,系统中的类及类之间的关系用UML类图表示,图19-5是该系统类图中的一部分;系统的动态行为采用UML序列图表示,图19-6是发布促销序列图。
第7题:识别关联的多重度是面向对象建模过程中的一个重要步骤。
根据说明中给出的描述,完成图19-5中的(1)~(6)。
_________参考答案:(1)0..*或 1..* (2)1 (3)0..* (4)1..* (5)1 (6)0..*详细解答:第8题:请从表19-3中选择方法,完成图19-6中的(7)~(10)。
参考答案:(7)getCategories (8)getCommodities (9)createPromotion (10)addCommodities详细解答:第9题:关联(Association)和聚集(Aggregation)是UML中两种非常重要的关系。
请说明关联和聚集的关系,并说明其不同点。
_________参考答案:关系:聚集(聚合)是关联的特例。
不同点:聚集表示部分与整体关系的关联;若从生命周期的角度考虑,则关联对象的生命周期一般无必然关系,聚集的整体对象往往对部分对象的生命周期负责。
详细解答:阅读下列说明和图,回答问题1至问题3,将解答填入对应栏内。
[说明]某图书管理系统的主要功能如下。
(1)图书管理系统的资源目录中记录着所有可供读者借阅的资源,每项资源都有一个唯一的索引号。
系统需登记每项资源的名称、出版时间和资源状态(可借阅或已借出)。
(2)资源可以分为两类:图书和唱片。
对于图书,系统还需登记作者和页数;对于唱片,还需登记演唱者和介质类型(CD或者磁带)。
(3)读者信息保存在图书管理系统的读者信息数据库中,记录的信息包括:读者的识别码和读者姓名。
系统为每个读者创建了一个借书记录文件,用来保存读者所借资源的相关信息。
现采用面向对象方法开发该图书管理系统。
识别类是面向对象分析的第一步。
比较常用的识别类的方法是寻找问题描述中的名词,再根据相关规则从这些名词中删除不可能成为类的名词,最终得到构成该系统的类。
表19-4给出了说明中出现的所有名词。
通过对表19-4中的名词进行分析,最终得到了如图19-7所示的UML类图(类的说明如表19-5所示)。
第10题:表19-5所给出的类并不完整,根据说明和表19-4,将图19-7中的(a)~(c)处补充完整。
_________参考答案:(a)资源目录 (b)图书 (c)唱片注:(b)和(c)的答案可以互换。
详细解答:第11题:根据说明中的描述,给出图19-7中的类CatalogItem以及(b)、(c)处所对应的类的关键属性(使用表19-4中给出的词汇)。
其中,CatalogItem有4个关键属性;(b)、(c)处对应的类各有2个关键属性。
_________参考答案:Catalogltem的属性:索引号、名称、出版时间、资源状态;图书的属性:作者、页数;唱片的属性:演唱者、介质类型。
详细解答:第12题:识别关联的多重度是面向对象建模过程中的一个重要步骤。
根据说明中给出的描述,完成图19-7中的(1)~(6)。
_________参考答案:(1)1 (2)0..* (3)1 (4)0..* (5)1 (6)1或者0..1 详细解答:阅读下列说明和图,回答问题1至问题4,将解答填入对应栏内。
[说明]已知某唱片播放器不仅可以播放唱片,而且可以连接电脑并把电脑中的歌曲刻录到唱片上(同步歌曲)。
连接电脑的过程中还可自动完成充电。
关于唱片,还有以下描述信息。
(1)每首歌曲的描述信息包括:歌曲的名字、谱写这首歌曲的艺术家以及演奏这首歌曲的艺术家。
只有两首歌曲的这3部分信息完全相同时,才认为它们是同一首歌曲。
艺术家可能是一名歌手或一个由2名或2名以上的歌手所组成的乐队。
一名歌手可以不属于任何乐队,也可以属于一个或多个乐队。
(2)每张唱片由多条音轨构成;一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上;同一首歌曲在一张唱片中最多只能出现一次。
(3)每条音轨都有一个开始位置和持续时间。
一张唱片上音轨的次序是非常重要的,因此对于任意一条音轨,播放器需要准确地知道,它的下一条音轨和上一条音轨是什么(如果存在的话)。
根据上述描述,采用面向对象方法对其进行分析与设计,得到了如表19-6所示的类列表、如图19-8所示的初始类图,以及如图19-9所示的描述播放器行为的UML状态图。
第13题:根据说明中的描述,使用表19-6中所示的类名称,给出图19-8中A~F所对应的类。
_________参考答案:A:Artist B:Song C:Band D:Musician E:Track F:Album详细解答:第14题:根据说明中的描述,给出图19-8中(1)~(6)处的多重度。
_________参考答案:(1)0..* (2)2..* (3)0..1 (4)1..* (5)1..* (6)1详细解答:第15题:图19-8中缺少了一条关联,请指出这条关联两端所对应的类以及每一端的多重度。
_________参考答案:详细解答:第16题:根据图19-9所示的播放器行为的UML状态图,给出从“关闭”状态到“播放”状态所经过的最短事件序列(假设电池一开始就是有电的)。
_________参考答案:按任意键,选择歌曲详细解答:阅读下列说明和图,回答问题1至问题4,将解答填入对应栏内。
[说明]某汽车停车场欲建立一个信息系统,已经调查到的需求如下:(1)在停车场的入口和出口分别安装一个自动栏杆、一台停车卡打印机、一台读卡器和一个车辆通过传感器,示意图如图19-10所示。