期末大作业要求对一个系统进行建模 1、能够对当前问题的背景和现状等方面进行详细的分析,确定功能需求,识别核心功能; 2、能够对选题进行建模和分析,用例图、时序图、协作图、状态图和活动图完整、正确; 3、在面向对象设计环节能采用5种以上设计模式,并说明对应的面向对象设计原则。 可以自己定义一个系统,比如我选择的是银行系统,然后对其进行建模分析即可。文章内容包括绪论、需求分析、建模分析、心得体会以及参考文献。这里我只是举了一个例子,大家可以参考我的去对另一个系统进行建模,不过什么学生管理系统、图书管理系统这里不推荐,烂大街了,老师容易审美疲劳,拿不到高分。也可以对我的进行修改,形成一个属于自己的新的银行系统,总之还是要多多思考,多多实践,才能更好的掌握这一门知识。当然了我也是初学者,可能会有许多地方做的不够不严谨。 我用到的软件是PowerDesigner,网上有许多资源的,随便一搞就可以快乐的画图了!大家加油! 《软件建模与分析》大作业的核心在于对选定系统的建模和分析,此处以银行管理系统为例,涵盖了系统建模的多个方面。以下是针对这个大作业的详细知识点解析: 1. **需求分析**: - 用户需求:用户可以开设账户、存款、取款、转账和查询余额,还能注销账户。这些需求构成了用户与银行系统交互的基本功能。 - 职员需求:银行职员需要登录系统,验证身份后执行用户请求,如账户管理、交易处理等。 2. **用例建模**: - 用户用例:创建账户、存款、取款、转账、查询余额和注销账户,体现了用户与银行系统的主要交互。 - 银行职员用例:登录验证、管理用户账户、处理用户请求,包括账户创建、信息修改和注销,以及处理取款、存款、转账和查询请求。 3. **静态模型(类图)**: - 主要类包括用户类、银行职员类、银行类、账户类等,每个类都有相应的属性和操作。 - 用户类有ID、姓名、密码,操作包括存取款、转账和查询余额。 - 银行职员类有工作ID、登录密码、姓名,操作主要是账户管理和请求处理。 - 类之间的关系包括继承、关联、依赖等,如账户类与用户类的关联,银行类与账户类的关联。 4. **设计模式与面向对象设计原则**: - **单例模式**:确保类只有一个实例,对应单一职责原则,每个类专注于一项任务,降低耦合度,提高可维护性。 - **装饰模式**:动态地给对象添加功能,提供比继承更灵活的扩展方式。 - **模板方法模式**:定义算法的骨架,允许子类在不改变算法结构的情况下重定义某些步骤,遵循开放-封闭原则。 - **开放-封闭原则**:软件实体(类、模块、函数等)应该是可扩展的,但不可修改,通过抽象类或接口实现未来可能的变动。 5. **动态模型(时序图与协作图)**: - 时序图强调时间顺序,显示对象间的交互顺序,有助于理解系统内部如何按顺序处理事件。 - 协作图则强调对象间的关系和同步,展示它们如何协作完成任务。 6. **心得与建议**: - 避免选择常见主题如学生管理系统、图书管理系统,以避免重复和老师的审美疲劳。 - 可以对已有模型进行修改创新,形成个性化系统,提高作业的独特性和深度。 - 使用工具如PowerDesigner进行建模,可提升效率和准确性。 通过这样的建模与分析过程,学生可以深入理解系统的需求、结构和行为,同时掌握UML(统一建模语言)中的用例图、时序图、协作图、状态图和活动图等工具,以及面向对象设计原则的应用。这是一个综合性的学习实践,旨在提升软件开发的系统性和规范性。
剩余23页未读,继续阅读
- 粉丝: 7309
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论5