呵呵,你理解有点偏了:软件工程存在的理由是按照一定的开发工序来确保软件开发的成功.不管你是做什么类型软件开发,你总得有步骤有方法吧?而软件工程方法论就是用来规范你这些步骤的.
软件工程解决的是协作开发/复用之类的问题
->你的理解有点不对,你的所谓复用更应该是设计模式之类应该关注的焦点.
但是在保护软件里面使用的话肯定会让破解者更容易理清程序的结构。
-->软件工程实施是用来确保你们的开发小组按照正常的步骤做事,跟使用者能否看破程序没有关系的.
而且壳的目的是尽量增加各个部件之间的耦合,这样不容易被各个击破。
->通过软件工程的设计流程,可以保证你在实际动手编码之前有更好的设计考虑.至于你所谓的偶合,不是说程序写得越乱越好,而是说要有高水平的"乱",这样使用者才不至于很容易破解,请问这个"乱"怎么来?没有经过深思速率的话能够解决问题么?