当前位置: 首页 > 互联网, 观点 > 正文

自上而下的软件设计过程

最近有一个新的项目需要开发,功能不是很复杂,就是对一些表的进行维护,需要用asp.net实现。系统的需求看起来很简单,增删改查,并要求记录任何对数据进行修改的日志。有4个表需要完成这个功能。简单的需求是通过业务文档而来,如何将这些文档转换成一个个具体的操作,进而细化到对数据库的操作,再返回到每一个界面上操作的控制,这其中需要一个自上而下的软件设计过程。

第一,需求的分析与展开。对某点的需求进行功能的展开。比如年度财务月的设置需求。对该功能进行细分后,有四个小需求:对当年的财务月日期可以进行更新设置;对历史的财务月日期只能查看;对未来年份的财务月如果系统本身没有记录,则需要默认生成财务月,然后再更新设置;所有的操作记录需要进行日志记录。用同样的方法进行其它需求功能大点的细化,理清主要的功能点,作为逻辑设计和详细设计的基础。

第二,进行逻辑设计。软件开发步骤中,逻辑设计往往被流程图或数据流图的设计难度戛然而止了。逻辑设计更多的是数据操作流程,业务的发起者,到系统的响应端,及返回结果的流程设计与展示。逻辑设计没有标准答案,而一个清晰明了的流程结构是我们追求的目标,符合的操作规范及正确的数据流程是进行详细设计的良好指引。

第三,进行软件的详细设计。如果牵涉到数据库,详细设计往往需要进行数据库的表的设计。根据上述提取出的功能主体提取出我们需要创建的数据库表。设计表,字段名称,确定表之间的关系。良好的数据库设计,对之后的代码开发及后续的程序功能扩展有很大的帮助。表最好能与功能结合起来,避免一表有包含多个功能模块,多功能模块表,可通过关系进行结合,这方便之后的可能存在功能扩展,耦合性更好。有了确定的数据库,我们就可以根据功能定义一些简单的数据库交互操作方法名称,为之后的代码设计提供指引。

在详细设计过程中,我们可以进行一些简单的界面设计,将设想的界面结果简单的展示出来,或有专门的界面设计人员设计统一的操作界面。从而方便用户和项目负责人对项目成本,进度等进行预期的评估。确保软件的开发不偏离原始的软件需求。并能为之后软件开发提供指导和指引,让程序员更专注代码的编写的质量,而不在界面设计上花太多的心思和时间。

至此,一份软件开发文档也就是软件的设计文档已经完成了。从流程,到简单界面,到必要的数据库设计都大致展示出来。同样的,软件的设计文档也是不断补充与更新的过程,在开发的过程中,不可避免需要补充与完善。最终的目标,是实现用户的需求。

本文固定链接: http://www.byhard.com/?p=1149 | 海纳百川

该日志由 byhard 于2014年05月27日发表在 互联网, 观点 分类下,
原创文章转载请注明: 自上而下的软件设计过程 | 海纳百川
关键字:

自上而下的软件设计过程:目前有4 条留言

  1. 博主说的对,用户需求是最终目标,这个目标的完成需要不懈努力!

    2014-05-27 14:30
    • byhard:

      是啊,要不然用户不给你money的。

      2014-05-27 15:57
  2. 沙发
    尚吾网:

    转眼一年已过一半,再次来访,继续支持

    2014-05-29 10:59
    • byhard:

      时间转眼即逝,也许是未真真切切体会吧。

      2014-05-30 08:33