回顾
回顾
什么是分析和设计? 口分析强调的是对问题的理解,而不是如何解决问 题 作正确的事情( 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个星期)的小项目,每个小项目称为一 个迭代