Реинжиниринг программного обеспечения
Материал из Seo Wiki - Поисковая Оптимизация и Программирование
Реинжиниринг программного обеспечения — процесс создания новой функциональности или устранения ошибок, путём революционного изменения, но используя уже имеющееся в эксплуатации программное обеспечение. Процесс реинжиниринга описан Chikofsky и Кроссом в их труде 1990 года,[1] как «The examination and alteration of a system to reconstitute it in a new form». Выражаясь менее формально, реинжиниринг является изменением системы программного обеспечения после проведения обратного инжиниринга.
Содержание |
[править] Сложность реинжиниринга
Как правило утверждается, что "легче разработать новый программный продукт". Это связано со следующими проблемами:
- Обычному программисту сложно разобраться в чужом исходном коде
- Реинжиниринг чаще всего дороже разработки нового программного обеспечения, т.к. требуется убрать ограничения предыдущих версий, но при этом оставить совместимость с предыдущими версиями
- Реинжиниринг не может сделать программист низкой и средней квалификации. Даже профессионалы часто не могут качественно реализовать его. Поэтому требуется работа программистов с большим опытом переделки программ и знанием различных технологий.
В то же время, если изначально программа обладала строгой и ясной архитектурой, то провести реинжиниринг будет на порядок проще. Поэтому при проектировании как правило анализируется, что выгоднее провести реинжиниринг или разработать программный продукт "с нуля".
[править] См. также
[править] Примечания
- ↑ Chikofsky, E. and Cross, J., 1990. Reverse Engineering and Design Recovery: A Taxonomy. IEEE Software, 7(1):13-18.
[править] Ссылки
- The Program Transformation Wiki (англ.) (Проверено 26 октября 2009)
- The Architecture-Driven Modernization website at OMG (англ.) (Проверено 26 октября 2009)
| Файл:Soft template.gif | Это незавершённая статья о программном обеспечении. Вы можете помочь проекту, исправив и дополнив её. |