sqn*_*sqn 7 java uml reverse-engineering re-engineering
我是一名系统工程师,最近大学毕业,我刚刚获得了一个非常令人生畏的项目.
我们有一个遗留系统,我们合法拥有整个代码及其所有权利.问题是代码记录不完整,文档不完整,有时错误,原始开发人员不可用.
它使用自定义Perl构建脚本需要CPAN的一千个模块才能工作,我不知道Perl.除了Doxygen之外,反向工程到UML失败了,仅限于继承图和调用图.
我已经获得了一个巨大的黑板,我正在慢慢地浏览代码,建模包,然后在其中嵌套包.
我的问题是我是否正在从正确的方向接近这种逆向工程.我正在从底部工作,试图弄清楚在开发UML和编写设计文档时会发生什么.我做了一个包图,但很难弄清楚在那个高水平上发生了什么.
我提出的一篇学术论文表明,我还制作了一份新的需求文档,这将使我的速度更慢,我不知道这是不是一个好主意,因为其他开发人员总是忙于保持遗留系统.
有没有可以帮助我的书籍,我是从正确的角度接近这个吗?我是否应该聘请了解Perl和JMX的合同工来帮助我?
Michael Feathers撰写的"有效使用遗产代码"一书可能会对您提供更多帮助.
但是,你需要为自己澄清最重要的事情(从你的问题来看,这听起来并不完全清楚)是:你的目标是什么?您希望通过此代码库实现什么目标?
如果答案是(听起来)"能够有效地维护现有项目",那么尝试直接构建系统的完整高级模型可能不是最有效的途径.记住这个可能只是太多了.
在这种情况下,我会尝试仅了解您当前需要修改的系统的用例; 按照方法调用代码(在运行的系统上使用调试器)来查看涉及的部分.对几个不同的用例执行此操作,您将开始查看模式,然后记录这些模式并逐渐将它们组合到系统的高级图像中.
| 归档时间: |
|
| 查看次数: |
819 次 |
| 最近记录: |