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,因为书上毕竟只能告诉你有限的东西。