在软件开发的过程中,设计的过程往往比写代码的过程要难得多。因此,通常除了软件测试之外,耗时最多的也就是系统建模了。一个好的软件系统应当具有较高的稳定性(可靠性)、易操作性以及可扩展性支持,尤其是可扩展性。我认为,良好的可扩展性支持是一个软件团队在开发中变被动为主动的必要条件。对于一个应用,我们希望在用户增加需求时,我们能够用最少的时间、最少的人力来解决问题。当别人在用户快速增长的需求中忙得不可开交时(用户总是不能在第一次需求分析时将需求完完整整的告诉你),而你,你的团队只需要作一点工作就可以让贪得无厌的用户得到满足,从而提高了效率,让团队有更多的的时间来创造,而不是去做无谓的修改。
很遗憾的是,在《C#插件构架实战》一文中,我并未考虑到这一点。当然,对于一个十八岁的没有也不可能有团队工作经验的年轻人来说,这样的失误(失误就是失败老师如是说)是可以原谅的(自我开脱之辞)。不过,我决定对这个插件系统进行重构。
考虑到系统的复杂性,这次我准备使用UML(大上个月才开始学的,画得不好,见笑了)。
1. 着手分析
对于网友 jan 的指教,我大概明了,但人的思维差别太大,我不敢保证我的理解是完全符合 jan 的意思的。但...[ 查看全文 ]