回顾
回顾
什么是分析和设计? 口分析强调的是对问题的理解,而不是如何解决问 题 作正确的事情( Do the right thing) 口设计强调的是给出一个有效的软件实现方案以实 现用户的需求 把事情作正确( Do the thing right 口为什么要先分析,然后设计? 今为什么软件开发人员经常会将设计和分析混在一起?
什么是分析和设计? 分析强调的是对问题的理解,而不是如何解决问 题。 ◼ 作正确的事情(Do the right thing) 设计强调的是给出一个有效的软件实现方案以实 现用户的需求。 ◼ 把事情作正确(Do the thing right) 为什么要先分析,然后设计? ➔为什么软件开发人员经常会将设计和分析混在一起?
面向对象和面向功能(结构化)分析/设计 图书馆信息系统 O-O A&D 从对象和概念的角度来分解系统 Structured A&D 从功能和过程的角度来分解系统 系统 书目 管理员 书 图书馆 借还图书购置图书 报表
面向对象和面向功能(结构化)分析/设计 图书馆信息系统 O-O A&D 从对象和概念的角度来分解系统 Structured A&D 从功能和过程的角度来分解系统 书目 管理员 书 图书馆 系统 借还图书 购置图书 报表
需要演化的系统 Transaction Script Table Module Effort to enhance Domain Model Complexity of Domain Logic
需要演化的系统
迭代式开发 口瀑布生命周期 在瀑布生命周期过程中,试图在编程之前定义几乎所 有的需求,以及明确详尽的时间表。 迭代式的生命周期 通过多次的迭代获得周期性的反馈,以这些反馈为驱 动力,对系统进行不断的扩展和精化 ■迭代式开发将软件开发过程分解为一系列小的,固定 周期的(比如,4个星期)的小项目,每个小项目称为 个迭代
迭代式开发 瀑布生命周期 ◼ 在瀑布生命周期过程中,试图在编程之前定义几乎所 有的需求,以及明确详尽的时间表。 迭代式的生命周期 ◼ 通过多次的迭代获得周期性的反馈,以这些反馈为驱 动力,对系统进行不断的扩展和精化。 ◼ 迭代式开发将软件开发过程分解为一系列小的,固定 周期的(比如,4个星期)的小项目,每个小项目称为一 个迭代
敏捷宣言 口个体和交流( Individuals o过程和工具( processes and interactions) and tools) 口工作的软件( Working o完善的文档 software) (comprehensive documentation 口与客户协作( Customer|合同谈判( contract collaboration) negotiation) 口积极响应变更 口严格履行计划(fo| oWing a (Responding to plan) change)
敏捷宣言 个体和交流(Individuals and interactions) 工作的软件(Working software) 与客户协作(Customer collaboration) 积极响应变更 (Responding to change) 过程和工具(processes and tools) 完善的文档 (comprehensive documentation ) 合同谈判(contract negotiation) 严格履行计划(following a plan)
什么是用例 a I wo people see a motorcycle in two ways: as the subsystems that make up the bike and as the things a person can do with the bike
什么是用例 Two people see a motorcycle in two ways: as the subsystems that make up the bike and as the things a person can do with the bike
什么是用例 口用例是文本形式的情节描述,广泛应用于需求的 发现和记录工作中。 口示例:处理销售 ■顾客携带所购商品到达收银台。收银员使用POS系统 记录每件商品。系统连续显示累计信息,并逐行显示 细目。顾客确认支付方式,并实施支付。系统对支付 信息进行验证和记录。系统更新库存信息。顾客从系 统得到购物小票,然后携带商品离开
什么是用例 用例是文本形式的情节描述,广泛应用于需求的 发现和记录工作中。 示例:处理销售 ◼ 顾客携带所购商品到达收银台。收银员使用POS系统 记录每件商品。系统连续显示累计信息,并逐行显示 细目。顾客确认支付方式,并实施支付。系统对支付 信息进行验证和记录。系统更新库存信息。顾客从系 统得到购物小票,然后携带商品离开
编写用例的准则 口以无用户界面约束的风格编写用例 口编写简洁的用例 口采用参与者的视角 口保持黑盒风格
编写用例的准则 以无用户界面约束的风格编写用例 编写简洁的用例 采用参与者的视角 保持黑盒风格
定义:什么是领域模型 口领域模型( Domain model)是对领域内概念类的可视化表 小 为什么要创建领域模型 提高模型的抽象层次,减少我们的思维和软件模型之间的表示差 距。同时促进对领域问题的理解 ¤领域模型也称为概念模型、领域对象模型、分析对象模型 可视化字典。 口通过∪ML表示法,领域模型被描述为一组没有定乂操作的 类图,提供了概念透视图。他可以展示: 领域对象或概念类 ■概念类之间的关联 概念类的属性
定义:什么是领域模型 领域模型(Domain Model)是对领域内概念类的可视化表 示。 ◼ 为什么要创建领域模型 提高模型的抽象层次,减少我们的思维和软件模型之间的表示差 距。同时促进对领域问题的理解 领域模型也称为概念模型、领域对象模型、分析对象模型、 可视化字典。 通过UML表示法,领域模型被描述为一组没有定义操作的 类图,提供了概念透视图。他可以展示: ◼ 领域对象或概念类 ◼ 概念类之间的关联 ◼ 概念类的属性