ACM Computing Surveys (CSUR)
Iterative and adaptive slack allocation for performance-driven layout and FPGA routing
DAC '92 Proceedings of the 29th ACM/IEEE Design Automation Conference
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Lifecycle and refactoring patterns that support evolution and reuse
Pattern languages of program design
Large-scale C++ software design
Large-scale C++ software design
A novel predictable segmented FPGA routing architecture
FPGA '98 Proceedings of the 1998 ACM/SIGDA sixth international symposium on Field programmable gate arrays
Rapid Development: Taming Wild Software Schedules
Rapid Development: Taming Wild Software Schedules
Hi-index | 0.00 |
Object Oriented Analysis and Design (OOAD) is increasingly popular as a set of techniques that can be used to initially analyze and design software. Unfortunately, OOAD is a relatively new concept and many large legacy systems predate it. This paper presents the approach one company followed in applying OOAD techniques to an existing 2.5 million line code base. We present an iterative process that provides an avenue for the software to evolve while balancing the needs of business and software engineering. Our case study reveals the many pitfalls that can derail a software re-engineering effort, but also shows promising initial results from continued perseverance in this effort.