软考下午题--UML建模练习(一)
例:希赛教育公司决定开发一个管理所有客户信息的交互式网络系统。系统的功能如下:
(1)浏览客户信息:任何使用Internet的网络用户都可以浏览电话公司所有的客户信息(包括 姓名、住址、电话号码等)。
(2)登录:电话公司授予每个客户一个帐号。拥有授权帐号的客户,可以使用系统提供的页面 设置个人密码,并使用该帐号和密码向系统注册。
(3)修改个人信息:客户向系统注册后,可以发送电子邮件或者使用系统提供的页面,对个人 信息进行修改。
(4)删除客户信息:只有公司的管理人员才能删除不再接受公司服务的客户的信息。 系统采用面向对象方法进行开发,在开发过程中认定出的类如表2-4所示。
【问题1】
在需求分析阶段,采用UML的用例图描述系统功能需求,如图2-20所示。请指出图中的A、B、 C和D分别是哪个用例?
在UML中,重复度定义了某个类的一个实例可以与另一个类的多少个实例相关联。通常把它写 成一个表示取值范围的表达式或者一个具体的值。例如,图2-21中的类InternetClient和 CustomerList,InternetClient端的“0..*”表示:一个CustomerList的实例可以与0个或多个 InternetClient的实例相关联;CustomerList端的“1”表示:一个InternetClient的实例只能与一个 CustomerList的实例相关。
请指出图2-21中(1)到(4)处的重复度分别为多少?
解析:
【问题一】
A:浏览客户信息 B:修改个人信息 C:登录 D:删除客户信息
【问题二】
因为一个CustomerList的实例可以与0个或多个Customer的实例相关联;而一个Customer的 实例只能与一个CustomerList的实例相关。所以(1)应填“1”,(2)应填“0..*”。因为 Customer是CompanyCustomer相应的详细信息,所以(3)和(4)都应该填写“0..1”。
【问题三】
依赖:一个A的变化引起另一个类的变化。
关联:是类和类之间最常见的关系。即一个类的对象和另外一个类有联系。
聚合:表示整体和部分之间的关系。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!