高水平的软件开发人员在动手编写代码之前,都要进行系统分析和设计。而系统分析与设计目前有3种技术,分别是面向过程、面向对象和领域驱动设计,这也是软件系统分析与设计发展的3个阶段。
- 第一阶段:面向数据驱动分析与设计
面向数据驱动分析与设计这一阶段的特征就是围绕数据进行编程,采用典型的两层架构——展示层和数据库层,典型技术应用是Delphi和VB等。
面向数据驱动分析与设计就是面向过程的分析与设计,所以这样说,是因为围绕数据进行编程都是通过大量的SQL语句实现,而SQL语句执行是有先后顺序的,这就是面向过程思维。
典型的面向过程的思维方式,使得我们在面对一个问题时,通常先关注解决这个问题的步骤,这样可以更加直接、有效地解决问题。这是面向过程分析与设计的优点。
但是面对更复杂的问题时,面向过程分析与设计也有一些明显缺点:
- 第二阶段:面向对象和服务分析与设计
面向对象和服务分析与设计的方法,能够比面向过程的设计更适合越来越复杂的软件系统。面向对象的分析与设计采用经典的三层架构——展示层、业务逻辑层和数据访问层。
面向对象的技术可以使得分析与设计作为两个阶段独立进行,分析阶段以获取、分析、确认需求为目标,设计阶段以实现这些需求为目标。分析人员和设计人员可以由不同的人负责,各自独立开展工作。
但是,由于分析阶段和设计阶段的目标并不一致,导致分析人员只关注需求分析的过程和结果,并不关注这个结果是否适合设计。这会给设计人员进行设计和编码实现带来极大的困难。分析阶段和设计阶段的脱钩,导致将来实现的软件不能满足用户需求,带来诸多问题。
- 面向问题域分析与设计
所谓问题域模型,也就是领域模型,它是对现实世界或领域中的对象的可视化表示。它是由 Eric Evans在2004年提出的。领域模型采用4层架构——基础设施层、领域层、应用层和用户接口层。
领域驱动分析与设计,它融合了分析阶和设计阶段,消除了面向对象设计中分析和设计脱钩的风险。
领域模型遵循这样的原则:如果一个模型不具备实现的可行性,就需要重新建模,如果一个模型没有忠实表达领域的关键概念,则也必须重新建模。
所以,领域建模的过程把分析与设计紧密联系起来,使领域建模专家不再只关注需求概念的收集,也关注程序代码的设计与实现。
过程对象变领域,分析设计三阶段
理解技术优缺点,项目当中去变现
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!