系统建模-结构化分析与设计

导读


       本篇开头介绍系统建模的定义、目的和分类,然后以分析、设计两个阶段重点阐述结构化分析的过程和工具,最后对结构化建模进行总结。


建模定义

       系统建模,即建立系统模型,对系统做出抽象、无歧义的表达。通过一些工具、方法对业务(组织)进行抽象、分解、分析和设计,最终转化为系统的模型化表达(各种图形、表格和文字描述)。

建模目的

       本质上来说,每个软件系统都会建模,即便是几行代码实现的小工具也会建模,只是模型可能只停留在程序员的大脑中。当系统达到一定规模时,需要分析师、设计师、程序员进行协作,成体系的模型化分析设计方法,尤为重要。模型化分析,促进系统化思考。模型化表达,直观准确,易于理解。

建模分类

       一般采用结构化分析设计和面向对象分析设计两种建模方式。

结构化分析设计

       结构化分析设计包含分析和设计两个阶段,分析阶段以数据流为中心,对业务(组织)进行系统分析,形成分析模型。设计阶段以分析模型作为输入,进行系统设计(包括架构设计、概要设计和详细设计),形成设计模型。

分析阶段

       分析阶段采用的主要工具:数据流图(DFD)、数据字典(DD)、状态变迁图(STD)和实体关系图(ERD)。

  • 数据流图:以数据传递和处理的角度,表达系统的功能逻辑,具有抽象性、概括性和层次性等特点,属于功能建模范畴。
  • 数据字典:对数据流图中的所有元素进行阐述。
  • 状态迁移图:指明有外部事件发生时,系统将有什么动作,属于行为建模范畴。
  • 实体关系图(ERD):即概念数据模型,用实体和实体关系来描述业务(组织),属于数据建模范畴。

       结合功能建模、行为建模和数据建模,形成结构化分析模型,如图:

结构化分析模型.png
自顶向下数据流分析

       分析模型并非一蹴而就,需要自顶向下,从抽象到具体的模型细化过程。细化过程依托数据流程图的抽象性、概括性、层次性。


数据流层次结构.png

数据流层次结构中的顶层数据流,对业务进行系统级抽象表达。


数据流图-顶层.jpg

对顶层数据流进行分解,形成第一层数据流图。示例:


数据流图-1层.jpg

继续对第一层数据流进行细化,可形成第二层、三层等数据流图,同时制作数据字典,对数据流图的细节进行详细阐述。数据字典示例:

名称 使用方式 内容描述
购物人 数据:注册信息、商品
注册信息 加工:注册 姓名+账号+密码+邮件+电话
注册 数据流:注册信息
商品 编码+名称+规格+计量单位
订单信息 加工:购买 购物人+收货地址+{商品+数量}n

其中+、{}n等写法可以查阅数据字典表示法。

自底向上的概念数据模型

       从数据流图和数据字典中获取实体和关系关键信息,形成局部实体关系图,再经过层层汇聚,自底而上构建全局概念数据模型。构建过程如下图:


image.png

       生成的概念数据模型,包含实体、属性和关系三种元素。数据模型可按照不同的用途决定细化程度,作为概要设计的输入时,尽可能细化所有元素,确保设计的准确性。作为系统数据草图时,以核心实体+核心属性(也可不体现)+核心关系即可。以下是系统数据草图示例:


概念模型.jpg

设计阶段

       设计阶段以分析阶段的成果(数据流图、数据字典、状态迁移图、ER图)作为输入,进行系统设计。包括架构设计、概要设计和详细设计。
       架构设计充分考虑设计约束、制定设计原则,使用应用架构、数据架构、技术架构(含系统集成、分层架构、事务支持、错误处理机制、日志等)、部署架构,对系统进行分解、集成、复用,形成功能、数据、开发、部署等多维度系统草图,指导概要设计、详细设计和开发。
       概要设计在架构设计的基础上,深入到子模块层级进一步分解。主要包括系统结构设计、数据设计、接口设计、出错设计等。

  • 系统结构设计:基于应用架构,包括系统结构图、模块设计。

  • 数据设计:基于数据架构,包括数据逻辑模型和其他数据设计(如文件)。

  • 接口设计:基于系统集成,包括界面接入、内部接口设计、外部接口设计等。

  • 出错设计:基于错误处理机制,细化描述错误处理的细节。
    以下是概要设计的工具示例:

  • 系统结构图:


    系统结构图
  • 逻辑数据模型:

    逻辑数据模型.jpg

           详细设计,在系统架构的规范下,对概要设计进行实现设计,使用物理数据模型、程序流程图、伪代码等工具。以下为详细设计工具示例:

  • 物理数据模型:较常用,图略。

  • 程序流程图:


    程序流程图.jpg
  • 伪代码:

Begin transaction
     Queue  message   callserviceA
     Queue  message   callserviceB
End transaction
For each message in queue
     peek message
     consume message :callservice 
     remove message 
End For

总结

       面对一个新的领域,系统化的分析和设计,能帮助我们梳理业务,获取领域知识,形成系统的分析模型和设计模型。在部分项目中,可能我们没经过分析和设计,就能快速发掘订单、出库单、物流单等实体,甚至包含实体关系和模块分解结构,只是因为我们长期累积了某方面的领域知识。

参考文章:
http://www.iigrowing.cn/shu_ju_liu_tu_dfd_jian_jie.html
https://www.cnblogs.com/huhaibo/p/3409664.html
https://blog.csdn.net/hu19930613/article/details/82708292

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,045评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,114评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,120评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,902评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,828评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,132评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,590评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,258评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,408评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,335评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,385评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,068评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,660评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,747评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,967评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,406评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,970评论 2 341