1. 分析图书管理系统的登录模块,且绘制用例图 注意:在用户登录模块中,根据工作内容和操作权限的不同,可细分为4 类参与者:图书借阅员、图书管理员、系统管理员、图书借阅者。图书借阅员必须先进行登录,然后才可以执行借出或归还图书的操作;图书管理员必须先进行登录,然后才可以执行编制书目、图书入库等操作;系统管理 员必须先进行登录,然后才可以进行系统的维护操作;图书借阅者也必须先进行登录,然后才能查询图书借阅情况或查询图书馆藏书信息。 任务一:分析网上书店的业务需求,且绘制用例图。 站在客户的角度分析,网上书店要实现的基本功能主要有以下几种: (1)用户注册(2)用户登录(3)图书查询与浏览(4)用户订购图书(5)用户购物车管理 (6)订单维护(7)个人信息维护 当客户打开网上书店后,无需登录即可查询图书,还可查看图书的详细信息。每个用户必须经过注册,才能成功登录系统。用户成功登录系统后,可以订购图书,将图书放入购物车中。也可以对购物车进行管理,修改所购图书的数量或删除图书等。一次订购图书操作完成后,用户可以查看自己的订单,也可以对订单进行修改,订单所需信息填写完整后,经用户确认后即可提交订单。站在管理员的角度分析,网上书店要实现的基本功能主要有以下几种: (1)图书管理(2)会员管理(3)订单处理与查询(4)图书销售情况查询(5)报表维护 网上书店的管理员具有所有的管理权限,可对图书、会员等对象进行管理,处理与查询订单,查询图书销售情况、维护报表。但是普通工作人员一般只具有订单处理的权限,他们获得客户提交的订单并根据库存情况来决定发货或者推迟发货(缺货通知)。根据上述分析识别参与者和用例,然后绘制用例图,并列举一个用例的细化描述。 2. 分析图书管理系统的用户管理模块,且绘制类图 用户管理模块的主要功能是管理用户和管理用户权限,管理用户又包括浏览用户信息、添加新用户、修改现有用户信息、删除现有用户、修改用户密码等。其中浏览、添加、修改、删除用户通过“用户管理界面“实现,修改用户密码通过“修改登录密码界面“实现,管理用户权限通过“用户权限管理界面“实现。管理用户时需要对后台“用户信息“数据表中的数据进行添加、修改和删除等操 作。根据以上分析可确定用户管理模块的类主要有用户类、用户权限类和数据库操作类,修改用户密码通过用户类的方法实现。用户界面类主要有用户管理界面类、密码修改界面类和用户权限管理界面类。 任务一 分析网上书店的类,且绘制类图 网上书店的业务功能描述请参见实验4 的任务二。 分析过程: (1)主要的Web 页: (2)主要的业务类: (3)数据库操作类: (4)绘制相应的类图: | ||||||||||||||||||||||||
| ||||||||||||||||||||||||
图书管理系统的登录模块是系统的关键组成部分,承担着用户身份验证和权限管理的核心职能。系统根据用户角色的不同,提供不同的操作权限。在设计这个模块时,首先要识别出参与者,并根据其操作权限进行相应的功能设计。登录模块的参与者包括图书借阅员、图书管理员、系统管理员和图书借阅者,每个角色在登录后有不同的系统访问权限。图书借阅员必须登录后才能借出或归还图书,图书管理员必须登录后才能进行书目编制、图书入库等操作,系统管理员则需要登录后才能执行系统维护相关操作,图书借阅者则登录后才能查询借阅情况或浏览图书馆藏书信息。这种基于角色的权限控制,确保了系统安全性和操作的规范性。在登录模块的设计中,每个参与者都必须通过输入用户名和密码进行身份认证,系统验证通过后,才会根据角色分配不同的功能权限。通过这一模块,系统能够有效区分不同角色的操作范围,保证图书管理系统的正常运行和数据的安全性。 用例图则展示了这些参与者与系统的交互过程。每个参与者在登录后都会触发特定的用例,图书借阅员登录后可以执行借书、还书操作,图书管理员则可以进行图书编制与入库操作,系统管理员可以对系统进行维护,图书借阅者可以查询书籍或查看借阅信息。这些用例之间的关系通过用例图中的箭头和关联关系进行表示,帮助开发人员和设计人员清晰地理解系统需求与用户交互过程,进一步细化各个操作步骤的实现。在用例图中,参与者与系统之间的关系是通过直线连接的,代表了用户与系统的交互,系统中的功能则通过椭圆表示,并与参与者通过线条连接,表示用户对这些功能的使用权限。用例图的目的是帮助设计者、开发人员和其他相关人员快速了解系统功能结构和每个用户角色的操作权限。 任务一: 相关知识点: 业务需求分析:业务需求分析是开发系统前的关键步骤,目的是明确用户需求和系统功能。它帮助开发人员理解系统的核心功能,确保开发的系统能够满足用户的实际需求。 用例图:用例图能够清晰地表达系统功能和用户角色之间的关系,帮助开发人员理清系统需求,防止开发过程中出现误解或遗漏。 实验分析: 网上书店的业务需求主要包括用户注册、登录、图书查询、购物车管理、订单处理、个人信息维护等功能。站在客户的角度,客户首先注册一个账号,然后登录系统后可以查询和浏览图书,选择图书添加到购物车并最终下单。站在管理员的角度,管理员能够管理图书、会员、订单,查询销售情况和维护报表等。 用例图通过展示客户与系统的互动,明确了各类用户的操作流程。客户和管理员的操作权限完全不同,客户侧重于图书购买、购物车管理、订单处理等,而管理员则负责系统内容的维护和数据的管理。 操作步骤: 用户注册:客户首先需要通过注册界面创建账户,填写必要的个人信息。 用户登录:注册后,客户可以通过用户名和密码登录到系统。 图书查询与浏览:登录后,用户可以查询和浏览图书。 购物车管理:用户可以将图书加入购物车,修改购物车中图书的数量或删除不需要的图书。 订单维护与提交:用户确认购物车内容后,生成订单并填写相关信息,确认订单后提交。 管理员操作:管理员在登录后可以管理图书、会员,查询销售情况等,具备全面的系统操作权限。 实验总结: 通过分析网上书店的业务需求,并绘制了用例图,可以清晰地看到每个用户角色与系统功能的交互方式。用例图帮助开发人员明确了系统应提供的功能,也为系统后期的维护和优化提供了清晰的功能需求蓝图。对于系统管理员,能通过用例图了解其可访问的系统功能,而客户则可以明确自己在网上书店中能够执行的操作。 实验截图: 描述用例:验证用户身份
用例流程
任务二: 相关知识点: 类图:类图是面向对象建模中的核心图之一,用于描述系统中类的属性、方法以及类与类之间的关系。类图帮助开发人员理解系统的结构,并为系统的实现提供详细的指导。 模块化与权限管理:用户管理模块的设计涉及到用户信息的管理、权限分配和密码修改等。设计时需要清晰划分不同功能模块,确保每个功能都有明确的类和方法进行处理。 实验分析: 一、类的分析 1. 用户类(User) 用户类负责描述用户的基本属性以及相关操作,是整个用户管理模块的核心。 主要属性: userId:用户的唯一标识。 userName:用户名,用于登录和展示。 password:用户的登录密码。 role:用户的角色,例如管理员、普通用户等。 permissions:用户所拥有的权限列表,是一个 UserPermission 对象的集合。 dbOperation:一个 DatabaseOperation 类的实例,用于与数据库交互。 主要方法: addUser(user: User):添加新的用户到系统。 editUser(user: User):修改现有用户的信息。 deleteUser(userId: int):从系统中删除指定的用户。 getUserInfo(userId: int):获取用户的详细信息。 changePassword(userId: int, newPassword: String):修改用户的登录密码。 2. 用户权限类(UserPermission) 用户权限类专门用于定义和管理用户的权限。 主要属性: permissionId:权限的唯一标识。 description:权限的具体描述。 associatedUser:权限对应的用户对象。 主要方法: assignPermission(userId: int, permission: UserPermission):为指定用户分配权限。 editPermission(permissionId: int, newDescription: String):编辑权限信息。 removePermission(permissionId: int):移除用户的指定权限。 3. 数据库操作类(DatabaseOperation) 数据库操作类封装了所有与数据库交互的逻辑,是模块中实现数据持久化的基础。 主要属性:connection:数据库连接对象。 主要方法: openConnection():打开数据库连接。 closeConnection():关闭数据库连接。 executeQuery(sql: String):执行查询语句。 insertData(sql: String):插入数据。 updateData(sql: String):更新数据。 deleteData(sql: String):删除数据。 4. 用户管理界面类(UserManagementUI) 用户管理界面类是用户管理模块的前端表现层,负责为用户提供管理操作的入口。 主要方法: displayUserInfo():显示用户信息。 addUser():调用 User 类的方法添加用户。 editUserInfo():修改用户信息。 deleteUser():删除指定用户。 5. 密码修改界面类(PasswordChangeUI) 密码修改界面类专注于提供修改密码的功能。 主要方法:changePassword():调用 User 类的方法修改用户密码。 6. 用户权限管理界面类(PermissionManagementUI) 用户权限管理界面类是管理用户权限的入口,允许管理员分配、修改或移除权限。 主要方法: assignUserPermission():分配用户权限。 editUserPermission():修改用户权限。 deleteUserPermission():删除用户权限。 二、类之间的关系 1. 用户类与用户权限类的关系 用户与权限之间存在 关联关系,即一个用户可以拥有多个权限。 通过 User 类的 permissions 属性(一个 List<UserPermission>),实现多权限管理。 2. 用户类与数据库操作类的关系 用户类和数据库操作类之间是 依赖关系。用户类需要通过调用数据库操作类的方法实现对数据的增删改查。例如,addUser 方法会调用 DatabaseOperation 类的 insertData 方法。 3. 用户界面类与用户类、用户权限类的关系 用户界面类(UserManagementUI、PasswordChangeUI、PermissionManagementUI)与用户类、用户权限类之间是 依赖关系。 界面类调用用户类和用户权限类的方法以实现具体功能,例如新增用户、修改密码或分配权限。 4. 数据库操作类与用户类、用户权限类的关系 数据库操作类是所有数据处理的核心,与用户类、用户权限类存在 间接依赖关系。用户类和用户权限类通过数据库操作类的方法实现数据持久化。 三、类之间的交互场景举例 1. 新增用户场景 用户在 UserManagementUI 界面中输入用户信息并点击“新增”。 界面类调用 User 类的 addUser 方法,将用户数据提交。 User 类调用 DatabaseOperation 类的 insertData 方法,将用户信息写入数据库。 2. 修改密码场景 用户在 PasswordChangeUI 界面中输入新密码并点击“确认修改”。 界面类调用 User 类的 changePassword 方法。 User 类通过调用 DatabaseOperation 类的方法更新数据库中的密码信息。 3. 分配权限场景 管理员在 PermissionManagementUI 界面中选择用户并分配权限。 界面类调用 UserPermission 类的 assignPermission 方法。 erPermission 类通过 DatabaseOperation 类将权限信息更新到数据库。 四、类图描述总结 用户类(User)是用户管理模块的核心,负责用户的基本信息和操作。 用户权限类(UserPermission)扩展了用户管理功能,支持多权限管理。 数据库操作类(DatabaseOperation)提供底层支持,负责与数据库的交互。 界面类(UserManagementUI、PasswordChangeUI、PermissionManagementUI)是用户与系统交互的桥梁,依赖用户类和权限类实现具体功能。 操作步骤 用户类的定义:创建用户类,并定义用户信息的属性(如用户名、密码、角色等)。 用户权限类的定义:创建用户权限类,负责对不同用户角色的权限进行控制。 数据库操作类的定义:通过数据库操作类,定义数据库的连接、查询、插入、更新和删除操作。 界面类的设计:设计用户管理界面、密码修改界面和用户权限管理界面,提供相应的操作功能。 类之间的关系:明确各个类之间的关系,如用户类依赖于数据库操作类来处理数据操作,用户管理类依赖于用户类来获取用户信息。 实验总结 通过对图书管理系统用户管理模块的类图分析,能够明确系统内部的类结构以及它们之间的关系。类图是开发过程中不可缺少的工具,它帮助开发人员理解系统的整体设计框架,为后续编码、测试和维护提供了重要的参考。 实验截图 | ||||||||||||||||||||||||
在本次实验中,我深入分析了图书管理系统以及网上书店的相关模块,探讨了系统的登录模块、业务需求和用户管理模块的设计,并通过用例图和类图的形式展示了系统功能和模块结构。通过这次实验,我不仅加深了对系统分析设计的理解,还掌握了如何通过UML图(如用例图、类图)来清晰表达系统的功能需求和内部结构。 首先,图书管理系统的登录模块的分析使我认识到,登录系统不仅仅是身份验证的简单过程,还涉及到复杂的权限管理。在实际设计中,不同的用户角色(如图书借阅员、图书管理员、系统管理员等)拥有不同的操作权限。通过对登录模块的分析,我深刻理解了权限控制的重要性。登录成功后,系统根据用户角色分配不同的权限,确保用户只能访问授权的功能,防止权限滥用或误操作。这种权限管理方式在保护系统数据安全、避免操作错误方面起到了至关重要的作用。用例图作为一种直观的表达方式,将这些复杂的角色和功能关系以简洁、清晰的图形呈现出来,极大地帮助开发人员理解系统需求,设计出符合实际需求的功能模块。 接着,我分析了网上书店的业务需求,涵盖了从客户到管理员的功能需求。对于客户来说,系统需要提供如用户注册、图书查询、购物车管理、订单处理等功能,而管理员则需要拥有更为全面的管理权限,如图书管理、会员管理、订单处理、销售查询等。通过绘制用例图,我清晰地展示了客户和管理员之间的功能差异,明确了每个角色与系统之间的交互方式。用例图帮助我更好地理解了系统的各项功能,并确保在开发过程中,每个功能模块能够得到充分的设计和实现。 此外,图书管理系统的用户管理模块设计让我更加了解了如何通过面向对象的方式来处理用户信息、权限控制及数据库操作。通过分析用户管理模块的功能需求,我明白了系统需要有专门的类来管理用户信息、处理用户权限和执行密码修改操作。类图的绘制使我明确了系统内部各个类之间的关系,帮助我理解如何将复杂的功能模块拆解为多个子模块,并通过类与类之间的调用实现业务逻辑。用户类、用户权限类和数据库操作类的设计,为系统提供了清晰的结构,确保各个功能模块的独立性和灵活性,同时也保证了系统的可维护性和可扩展性。 通过本次实验,我不仅加深了对图书管理系统和网上书店的业务需求的理解,还提高了我在系统分析与设计方面的能力。尤其是在使用UML图进行系统建模时,我体会到了它的强大作用。用例图和类图能够帮助我更加清晰地理解和表达系统的功能需求、模块结构以及模块之间的关系。此外,本次实验也让我认识到,在进行系统设计时,必须充分考虑不同用户角色的需求,进行合理的权限控制和功能划分,以确保系统的安全性和用户体验。 总的来说,这次实验为我提供了一个实践系统分析与设计的机会,让我在实际操作中掌握了如何通过UML图来进行需求分析和模块设计,并理解了系统的复杂性和设计中的注意事项。通过对系统功能的深入分析,我明白了如何根据实际需求合理规划系统的结构与功能,使其既能满足用户需求,又具备良好的安全性、易用性和可扩展性。 |
软件工程实验-实验3 面向对象分析-静态模型
于 2025-03-18 16:42:52 首次发布