详细设计说明书应该如何发挥作用

zero_226 2012-03-14 11:38:14
最近的项目,我才写完自己的详细设计说明书(以下简称LLD),心里有很多疑问,在此和大家讨论一下。


1. LLD是不是一个架构的概念?
2. LLD应该由谁来写?
3. LLD应该如何对后期的开发工作起到指导作用?
4. LLD写好后,在开发时期还可以更改吗?


以我的认识,如果LLD不能对后期的开发起到一个比较好的指导作用,那么写LLD就是浪费时间;但是要写出一个高质量、能真正指导开发的文档,也不是很容易,要想好整个程序的框架,还要一开始就想好后面的每个细节、结构的分布。就比如我们要写一个处理某个功能模块的类,如果不做个demo出来,我就不能确定这个类的结构,更别说每个接口、函数参数的确定什么了。
所以现在我所接触到的LLD,就好似一个鸡肋,写之浪费时间、还起不到作用,弃之又违背了正常的流程和规范,所以想和大家讨论一下,希望大家都可以说说自己在做项目过程中,关于LLD的情况。
谢谢大家。
...全文
510 50 打赏 收藏 转发到动态 举报
写回复
用AI写文章
50 条回复
切换为时间正序
请发表友善的回复…
发表回复
keydot2007 2012-08-13
  • 打赏
  • 举报
回复
我和楼主有同样的困惑
我不想按照文档模板来套用,很恶心
如何让文档来指导开发,能满足本公司需要即可。
dic_008 2012-03-15
  • 打赏
  • 举报
回复
有详细文档我感觉还是好

写代码的时候就是由于没有详细文档,所以我是一边写一边添加一边改,很不爽的。

如果有专人写好详细文档了,就是一个很好的事。
luciferisnotsatan 2012-03-15
  • 打赏
  • 举报
回复
找几个学生帮忙,就能搞定的代码,不知道质量如何。

反正现在的同事,有不少名校毕业(本科,硕士),干了几年的。码完一个项目后,会觉得,架构不错,但代码写得真垃圾,测试又把程序给测死了。
luciferisnotsatan 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 freefice 的回复:]

引用 11 楼 luciferisnotsatan 的回复:
对于需求变更不大的,早期是可以写好文档。但如果是一些做社交应用的,可能当你把详细设计写完,这波流行已经过去了。开发完应用给谁用去。

好的销售不会盲目的接项目,一个临时性的短期项目完全可以通过社交的方式解决,既不需要编程,客户花钱还开心!关键在于你要知道客户想干什么,不要傻乎乎一味的想怎么编程赚钱。
软件公司的销售不是那么好当……
[/Quote]
接项目不一定是销售接来的。如果是大公司大项目,内部多个team合作,自己只负责做某一模块,那么使用该模块的team也就是一个客户。很多时候,就算是PM不想接,还有可能会被高层施压接下来。
之前在华为时,做的一个项目,用敏捷开发。结果是,客户(华为内部别的部门)老变更需求,第二轮迭代修改第一轮的东西,第三轮迭代修改第一,二轮的东西,当然此轮迭代新的东西还要继续做。做为一个懒惰的程序员(不想花很多时间做无用功),本人发了几封邮件给PM,要求至少把本轮迭代要做的东西固定下来,不然很快就陷焦油坑了。最终,PM决定项目暂停两周(最终交付时间不变),去把需求给定下来(最终还是改过些,不过比之前的好多了)。但最后交付时,那部门的大boss看完后,说了句:“这好像和我想要的东西不一样。”。当然,最后不想要也得要,PM投诉他去了,之前开会,迭代交付他都不参加。
现在维护的项目,一个几千行代码的项目(也不是算法类的),LLD有几百页。06年开始做的,现在基本己经稳定了,但时不时还是会找到一两个bug。

我只能说,你所举的例子适合你的观点。出LLD,还能快速。我现在所在公司,美国那边的架构师,画个ppt可能都不只一周,plan几个月没plan出什么东西很正常。当然,公司让这么干。
zero_226 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 justkk 的回复:]

公司雇佣员工绝对不是出于培养的目的
公司让你干啥就得干啥
饿的时候,你一样会喜欢珍珠翡翠白玉汤
[/Quote]
哎,这个就难了,公司又想让你干活,又想让你按流程走。
一般来说,我们都以做出结果来优先选择。
如果我不出文档,QA会稽核我,拉着我不放;
但我出的文档实在算是个垃圾,写一份垃圾文档,花了时间,我心里也挺不舒服。。。
庄鱼 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 justkk 的回复:]

从自己的开发实际来看,让文档来指导开发,纯属扯淡

生活是很实际的,项目也一样
我们也想正规起来,也想体面一些,可是我们首先要活下来

除非你能准确把握2年之后的市场需求,然后沐浴更衣,精益求精的做好你的产品
否则,那也是一件闭门造车的意淫产品
[/Quote]
看来你还真的没做过什么大项目,你更不是那种可以做大项目的项目经理,更别提架构师技术总监了。
庄鱼 2012-03-15
  • 打赏
  • 举报
回复
你可以做一个简易的详细文档,首先确定好架构和数据协议、调度框架、冲突陷阱、数据要求标准,这些可以通过细化需求分析得出,一般10000行非算法类语句的,需求分析一天讨论确认,一两天出详细文档很正常,一旦出详细文档一定要客户确认,因为这意味着软件的定型,后面就是工作量的问题了,一个人忙不过来可以到学校找几个学生帮帮忙,给点工资就行了。一两周交货,有问题再作二期版本,先把钱拿到手,让对方先用起来,这对于那些对要做的事心中没有多少底的客户很管用,因为你可以免费的送几期版本改进,客户再提新需求是会比较谨慎的,一旦用完免费升级,就要再花钱!这样改进的版本会比原先的精良很多,客户由于软件早早上线使用,对上面也好交差,而且也提升公司整体实力形象。而公司也可以随时随地从项目撤出来做其它事,大家皆大欢喜,客户有事还会愿意找你,因为你们快。
justkk 2012-03-15
  • 打赏
  • 举报
回复
公司雇佣员工绝对不是出于培养的目的
公司让你干啥就得干啥
饿的时候,你一样会喜欢珍珠翡翠白玉汤
justkk 2012-03-15
  • 打赏
  • 举报
回复
从自己的开发实际来看,让文档来指导开发,纯属扯淡

生活是很实际的,项目也一样
我们也想正规起来,也想体面一些,可是我们首先要活下来

除非你能准确把握2年之后的市场需求,然后沐浴更衣,精益求精的做好你的产品
否则,那也是一件闭门造车的意淫产品
庄鱼 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 luciferisnotsatan 的回复:]
对于需求变更不大的,早期是可以写好文档。但如果是一些做社交应用的,可能当你把详细设计写完,这波流行已经过去了。开发完应用给谁用去。
[/Quote]
好的销售不会盲目的接项目,一个临时性的短期项目完全可以通过社交的方式解决,既不需要编程,客户花钱还开心!关键在于你要知道客户想干什么,不要傻乎乎一味的想怎么编程赚钱。
软件公司的销售不是那么好当的,不是能接单就是好销售。
zero_226 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 freefice 的回复:]

程序员还就是不重要,如果你叫个学生让他完全按文档要求编程,那基本上是没有什么bug的,我不是没有临时招学生帮我完成项目过,从某种程度上说程序员还不如学生呢,至少学生不懂时会问,不会乱作主张,编一些自以为是的垃圾在那里。只是学生相对手比较新,缺乏一些调试经验,对工具不怎么熟,上手比较慢而已。
另外,架构不是你程序员自己说架构就架构的,程序员干10年未必能当架构,写详细设计还早呢。
当然,有的人……
[/Quote]
对于你说的“程序员干10年未必能当架构,写详细设计还早呢”,我很同意,但是现在的情况是,我现在工作也就4年不到,可每份工作的开发工作之前,我都会被要求输出设计文档,从我本身的角度来说,我不愿意写,我觉得我写不好,不能发挥作用,可是公司要求我写,我也没有办法,只能写出来充数充过程(其实也不是什么大的程序,规模就在10000行左右),对于这种开发,走哪种流程会比较合适?
zero_226 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 freefice 的回复:]

是很无语,因为你的观念属于伪论题,从项目开发上讲,没有文档是不能进行开发的,因为这不是你一个人过家家做练习,随时随刻都会有人员参与到项目或离开项目,面对没有文档的项目,怎么进行调度?难怪国内的一些啥都不懂程序员也能到处充专家当大爷!
一个项目程序员是很不重要的角色,可以说可有可无,只要有文档,会个编程的人都能完成项目。国内一些小公司自己本身不规范,从上到下没有作大型项目的经验意识,以为代码出来……
[/Quote]
我的意思不是说不应该写文档,而是认为应该让文档发挥出作用,而不是一个摆设。
如果它只是一个摆设,我们还不如不要这个摆设。

我们走严谨的开发流程,是为了规范执行过程,提高质量,而不是为了走流程而走流程。而补文档这个行为,我认为就是纯粹的走流程,对实际的开发过程帮助不大。

或者我应该把标题改一下“如何让文档不只是一个摆设”。
庄鱼 2012-03-15
  • 打赏
  • 举报
回复
程序员还就是不重要,如果你叫个学生让他完全按文档要求编程,那基本上是没有什么bug的,我不是没有临时招学生帮我完成项目过,从某种程度上说程序员还不如学生呢,至少学生不懂时会问,不会乱作主张,编一些自以为是的垃圾在那里。只是学生相对手比较新,缺乏一些调试经验,对工具不怎么熟,上手比较慢而已。
另外,架构不是你程序员自己说架构就架构的,程序员干10年未必能当架构,写详细设计还早呢。
当然,有的人,没做过程序员一样能成为好的架构师,只是一些“程序员”看不懂罢了,那不是架构的问题,而是看不懂得程序员自己太烂了。
也许我的话触动某些人的神经,在这里我说声对不起!我道歉!我只是对目前这种混乱的编程市场很无语,因此有时不知不觉中就言语尖刻起来,我真的不是要有意贬低某类人,我自己曾经也是其中一分子,但我觉得大家应该把视角拉高一点,从一个更宏大的角度看问题,而不是仅仅局限于眼前的项目、客户。糊弄客户就是糊弄自己,这样就永远不会提高,这也是思想懒惰的表现。
darkmars2000 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 justkk 的回复:]

现在的项目中通常都没有时间来靠拢这个流程,有几个项目能真正按照流程的思想运作?
时间、进度。。都是倒排时间表,催命似的
能事后补一下流程文档就不错了

再说海量文档,真正有用的有几个??
[/Quote]

+1
luciferisnotsatan 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 luciferisnotsatan 的回复:]

引用 5 楼 freefice 的回复:

唉!没有文档就开发,这就是现在软件bug多如牛毛,质量上不去的原因啊

有文档也不见的能减少bug。现在国内的主流思想就是,干个几年转管理,转架构。实际写代码的,往往都是刚毕业的到两三年工作经验的。bug多很正常。
[/Quote]
补充一下,干了没几年转架构的,可能写出的LLD本身就是一堆bug
luciferisnotsatan 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 freefice 的回复:]

是很无语,因为你的观念属于伪论题,从项目开发上讲,没有文档是不能进行开发的,因为这不是你一个人过家家做练习,随时随刻都会有人员参与到项目或离开项目,面对没有文档的项目,怎么进行调度?难怪国内的一些啥都不懂程序员也能到处充专家当大爷!
一个项目程序员是很不重要的角色,可以说可有可无,只要有文档,会个编程的人都能完成项目。国内一些小公司自己本身不规范,从上到下没有作大型项目的经验意识,以为代码出来……
[/Quote]
竟然说程序员不重要?你的文档是整套代码么?如果不是,你怎么保证一波菜鸟不会写出 x = i++ + i++的代码来。
对于需求变更不大的,早期是可以写好文档。但如果是一些做社交应用的,可能当你把详细设计写完,这波流行已经过去了。开发完应用给谁用去。
庄鱼 2012-03-15
  • 打赏
  • 举报
回复
是很无语,因为你的观念属于伪论题,从项目开发上讲,没有文档是不能进行开发的,因为这不是你一个人过家家做练习,随时随刻都会有人员参与到项目或离开项目,面对没有文档的项目,怎么进行调度?难怪国内的一些啥都不懂程序员也能到处充专家当大爷!
一个项目程序员是很不重要的角色,可以说可有可无,只要有文档,会个编程的人都能完成项目。国内一些小公司自己本身不规范,从上到下没有作大型项目的经验意识,以为代码出来了就算大功告成了,这样的垃圾想法怎么可能开发出好的安全的软件?
补文档?那是在糊弄人!难怪甲方稍稍提点变更或改进,项目就一拖再拖了……
luciferisnotsatan 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 freefice 的回复:]

唉!没有文档就开发,这就是现在软件bug多如牛毛,质量上不去的原因啊
[/Quote]
有文档也不见的能减少bug。现在国内的主流思想就是,干个几年转管理,转架构。实际写代码的,往往都是刚毕业的到两三年工作经验的。bug多很正常。

luciferisnotsatan 2012-03-15
  • 打赏
  • 举报
回复
文档这玩意的确很鸡肋。后期一般都不会有人去看,修改程序后通常也不会有人去改相应的设计文档。
zero_226 2012-03-15
  • 打赏
  • 举报
回复
看来大家对这个话题一点都没有兴趣啊、、、、
加载更多回复(29)

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧