软件工程 对话 Parnas 2010-10-11 明故宫校区12号楼一楼报告厅

来源:互联网 发布:gamma scalping 知乎 编辑:程序博客网 时间:2024/06/09 16:51

David Lorge Parnas 讲座笔记整理

最重要的两点

(1)Good design

            a 比如Product Line ,Family.(如果你不知道新事物和旧事物哪里发生了变化,这很遗憾,这意味着你几乎要从头再来).

          b 有了good design,我们就不会从头阅读代码.Document will tell you how to do.

(2)Good document

            a 将数学定义引入到需求分析的描述中来,简短清晰无歧义。最好不要用汉语,因为汉语是一个很容易产生歧义的语言。

          b reference document(也许从头到尾我们都不会看,但它就像学英语需要词典一样便于查找).

          c Document必须好是简洁明了易于使用的,不能长篇大论几十页让人懒得去看.

          d Document是必须的,因为一个人不会告诉你这是怎么回事,即便告诉你也可能是错的.

          e 很多人不喜欢Document,因为他甚至是错的,定义不清的,不能很好的实现描述的.

(3)最后才是code.Good software method is how to design ,not to control.

 

注:

(1)做好需求分析的时候知道哪些是会变的,哪些是不会变的,然后你才能做需求分析

(2)如果不做好前两点,后来会pay more.

 

 

我的提问:Yet you said we should be teached how to design,but when I was reading books. I found lots of them not take the software engineering ideas as an important thing.Maybe they forgot them.As a student ,How can I get and learn the software engineering ideas easily ? Thank you !

Parnas: This is a good question. 然后他说自己也到处做讲座,但好像还是知道并接受软件工程理念的人不是很多。你最好能接受好的Education和Good teacher.也许你可以买我的书。呵呵...不过最好还是到企业去,去接触problems,因为书上毕竟只能告诉你有限的东西。