构建之法-11-软件设计与实现

软件设计与失信

本章主要介绍软件设计与实现的过程。

11.1 分析与设计方法

分析与设计方法有很多:

以文字为主的文档,如Word、PowerPoint 文档。正如我们在需求分析和场景设计中看到的那样。
用图形为主构造的模型,如Mind Map(思维导图),ERD,DFD,UML的各种图,甚至包括Flow Chart流程图
用数学语言的描述,如Vienna Development Method
用类自然语言+代码构造的描述,如Literate Programming
源代码加注释也能描述


11.2 图形建模和分析方法

11.2.1 表达实体和实体之间的关系(Entity Relationship Diagram, Entity Relationship Model,Mind Map)
思维导图
实体关系图(Entity Relationship Diagram)

表示实体之间的静态关系时,ERD是一个合适的工具:

  • 参与者(Actor):表示参与系统运作的外部因素,例如用户,管理员,外部模块,设备,来自外部的信号等。通常是一个简笔画的小人。
  • 系统:通常用一个方框来表示系统的边界。有时也可以忽略。
  • 用例(Use Case):表示系统和参与者交互的一次场景。它是一组动作的集成,而不是一个单独的内部元素。
  • 信息传递线:用带箭头的线用来表示参与者和系统通过相互发送信号或消息进行交互的关联关系。
11.2.2 表达数据的流动(Data Flow Diagram)
大学图书馆管理系统为例
11.2.3 表达控制流(Flow Chart, Finite State Machine)

有限状态自动机(Finite State Machine, FSM)

11.2.4 统一的表达方式(Unified Modeling Language, UML)
各种图示建模方法的大致特点

11.4 从Spec到实现

某公司开发流程

11.5 开发阶段的日常管理

  • 闭门造车(Leave Me Alone)

当场景、功能都计划好的时候,要给员工足够多的时间,让他们投入到工作中去,而不要经常打断他们。要尽量减少非开发时间,不要动不动就开“全体会议”。

  • 每日构建(Daily Build)

当有一个能运行的系统时,即使只是一个简单的系统,(团队的)积极性也会上升。
在理论上,理论和实践是一回事,而在实践上,理论和实践是两回事。

  • 构建大师
  1. 负责管理构建服务器。
  2. 调试构建,负责找错,并分析出错的原因。
  3. 负责把“构建大师”称号和责任交给下一个导致构建失败的成员。
  4. “构建大师”同时向团队的“腐败基金”存入50元,以供大家将来“腐败”之用(此项可选)。
  • 宽严皆误

大部分时间都花在了没有价值的“同步/编译/验证/再同步……”的循环中。

团队有两条路可以实行。

(1)严格的规则和流程控制,这样会保证很高的签入成功率,如果一个人根据流程来做,几乎肯定能成功。这样构建质量高,但是团队的进展会受到限制。极端情况下,整个团队的进展被序列化为一系列个人串行签入操作。
(2)宽松的规则和流程,每个人随时可以签出签入,签入时的成本很低,但是签入成功率不高,构建质量低,极端情况下,所有人都可以签入、同步,但是没有人能正常工作。

构建宽严表,某团队目前的开发流程如上表
  • 小强地狱(Bug Hell)

让Bug多的队员专心修复Bug,不要开发新功能。


The End

以上介绍的是软件设计与实现的一些策略方法,可以借鉴参考,选择更适合自己团队的流程,提高开发效率。

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

推荐阅读更多精彩内容