Показать меню

Реинжиниринг программного обеспечения

Реинжиниринг программного обеспечения — процесс создания новой функциональности или устранения ошибок, путём революционного изменения, но используя уже имеющееся в эксплуатации программное обеспечение. Процесс реинжиниринга описан Чиковски и Кроссом в их труде 1990 года, как «The examination and alteration of a system to reconstitute it in a new form». Выражаясь менее формально, реинжиниринг является изменением системы программного обеспечения после проведения обратного инжиниринга.

Сложность реинжиниринга

Как правило, утверждается, что «легче разработать новый программный продукт». Это связано со следующими проблемами:

  • реинжиниринг, чаще всего, дороже разработки нового программного обеспечения, так как требуется убрать ограничения предыдущих версий, при этом сохранив с ними совместимость;
  • реинжиниринг не может сделать программист низкой и средней квалификации — даже профессионалы часто не могут качественно реализовать его, поэтому требуется работа программистов с большим опытом переделки программ и знанием различных технологий[уточнить];
  • разработчику бывает сложно разбираться в чужом исходном коде — это вынуждает адаптироваться к восприятию незнакомого стиля программирования, расходует время на всесторонний анализ и освоение реализованных в проекте концепций, используемых в нём сторонних библиотек, требует скрупулёзно исследовать принцип действия всех плохо документированных участков кода — и всё это лишь осложняет процесс перехода продукта на новые архитектурные решения;
  • кроме того, сам характер деятельности требует дополнительной мотивации: по сравнению с созданием новых продуктов, переработка уже имеющихся не всегда приносит столь же наглядные и впечатляющие результаты, зачастую отягощает грузом технического долга и оставляет мало места для профессионального самовыражения.
  • В то же время, если изначально программа обладала строгой и ясной архитектурой, то провести реинжиниринг будет на порядок проще. Поэтому при проектировании, как правило, анализируется, что будет выгоднее — заняться переработкой материалов прежнего проекта или же разработать аналогичный программный продукт «с нуля».

    Еще по этой теме:
    Нидерландский институт классификации аудиовизуальной медиапродукции
    Нидерландский институт классификации аудиовизуальной медиапродукции
    Нидерландский институт классификации аудиовизуальной медиапродукции (Nederlands Instituut voor de Classificatie van Audiovisuele Media — NICAM) — это институт, отвечающий за контент, предоставленный
    Категоризация проектов
    Категоризация проектов
    Категоризация проектов (англ. Categorize Components) — компонент группы процессов выравнивания при управлении портфелем проектов. Категоризация проектов подразумевает под собой процесс объединения
    Objectworld Communications
    Objectworld Communications
    Компания Objectworld Communications Corp., старое название ObjectWorld Inc, — это канадская частная компания, занимающаяся разработкой программного обеспечения в области унифицированных коммуникаций
    CodeGear
    CodeGear
    CodeGear — дочернее подразделение компании Embarcadero Technologies. CodeGear занимается инструментами для разработки программного обеспечения, такими как Delphi, интегрированными средами разработки
    Ремонт гостиной: зачем нужен дизайнер?
    Ремонт гостиной: зачем нужен дизайнер?
    Дизайнерский ремонт гостиной подразумевает создание эксклюзивного и уникального интерьера. И на сегодняшний день этот вид ремонта является наиболее популярным.
    В ходе экспозиции «ПензАгро» обговорили проблемы развития рыбоводства в Пензенском крае
    В ходе экспозиции «ПензАгро» обговорили проблемы развития рыбоводства в Пензенском крае
    Седьмого апреля во время рабочей программы специализированной экспозиции-ярмарки «ПензАгро» глава ведомства программного и целевого развития, аграрного бизнеса и туризма АПК сельскохозяйственного
    Комментарии:
    Добавить комментарий
    Ваше Имя:
    Ваш E-Mail: