![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Реинжиниринг программного обеспечения |
Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования «Казанский государственный технологический университет» Нижнекамский химико-технологический институт Реферат на тему: «Реинжиниринг программного обеспечения» Выполнил:Нагимова Д.И. Проверила:Хурматуллина С.А. Нижнекамск 2010 ОглавлениеВведение Определение и этапы реинжиниринга Цели и задачи реинжиниринга Проблемы при реинжиниринге Управление требованиями Процесс Анализ и проектирование Реализация Тестирование Процессы поддержки Преимущества и недостатки компании-разработчика перед отдельным разработчиком Почему компании-разработчики не любят реинжиниринг Рентабельность реинжиниринга Список использованной литературы Введение Компьютер без программного обеспечения - груда металла, которую к тому же нельзя сдать на металлолом. Купив даже самый быстродействующий компьютер, предприятие не решает основной проблемы - автоматизация предприятия. Для этого нужны программы. Разнообразие программного обеспечения куда больше, чем технических решений. Так как они решают самые различные задачи, начиная от связи с оборудованием (драйвера) и заканчивая автоматизацией бухгалтерского учета или 3-х мерными играми. Однако даже при таком большом разнообразии программных решений может оказаться, что нет полностью удовлетворяющего программного решения. Для решения данной проблемы предприятие, как правило, находит программиста, который пытается реализовать данную программу. Проходит время, программа внедряется на предприятии и с ней начинает работать большое количество персонала. Привыкнув к программе, сотрудники уже не представляют себя без столь удобного инструмента, как программа. Проходит еще время, а программист берет и увольняется, идет на другую работу или вообще уезжает за рубеж (или умирает) и больше продолжать и поддерживать проект не может. В результате, предприятие сталкивается с большой проблемой: есть программа, с которой привык работать персонал и подобной на рынке не найти, но нет ее дальнейшего совершенствования и поддержки. Данная программа начинает резко устаревать. Вначале, в ней, оказывается, нет каких-то возможностей, которые нужны стали после увольнения программиста, а потом - она не может эффективно работать с современным оборудованием или вообще, начинает &quo ;тормозить&quo ; из-за большого количества введенной информации. Проходит еще немного времени - от полугода до 2-х лет и оказывается, что на данной программе больше нельзя работать, так как она &quo ;глючит&quo ;, &quo ;тормозит&quo ; и вообще перестает работать. Столкнувшись с данной проблемой, предприятие начинает искать нового программиста или компанию, которая способна привести данную программу к удовлетворяющему предприятие виду. Однако, как оказывается не все так просто. Оказывается, большое количество программистов, которые хоть что-нибудь умеют сделать уехало за рубеж. А на рынке остались те, кто уехать не смог или кому не было в этом потребности. Предприятию очень повезет, если оно сразу найдет грамотного и ответственного программиста. Как правило, придется перебрать 2-3 человека, прежде, чем они найдут достойную кандидатуру.
Однако, грамотные программисты дешево не стоят и постоянно хотят перспектив. Поэтому, если вы не быстро развивающееся программное предприятие, да еще не так уж и много платите, то придет момент, что данный программист уйдет тоже. И опять начинается все снова: 2-3 безответственных программиста, потом один профессиональный и ответственный, который 2-3 месяца будет вникать в курс дела и через 2-3 года уйдет. Вот, почему, предприятия, которые работают долго и успешно на рынке, в результате приходят к выводу, что для дальнейшего совершенствования программ необходимо нанять компанию-разработчик. Определение и этапы реинжиниринга Реинжиниринг программного обеспечения — процесс создания новой функциональности или устранения ошибок, путём революционного изменения, но используя уже имеющееся в эксплуатации программное обеспечение. Процесс реинжиниринга описан Chikofsky и Кроссом в их труде 1990 года, как « he exami a io a d al era io of a sys em o reco s i u e i i a ew form». Выражаясь менее формально, реинжиниринг является изменением системы программного обеспечения после проведения обратного инжиниринга. Реинжиниринг программного обеспечения, можно разделить на несколько этапов: Начальная фаза. Начать процесс реинжиниринга следует с определения того, что есть по существующей системе (исходные тесты, БД, описания и т. д.). При этом фиксируется текущее состояние наследуемой системы (все изменения, вносимые в нее после этого момента, при выполнении реинжиниринга не учитываются). Если есть возможность выполняется развертывание наследуемой ПС у разработчика. Определение системных архитектур. Работы по описанию архитектур начинаются фактически на начальном этапе, когда определяется состав оборудования и стандартное программное обеспечение (ПО), необходимые для инсталляции и запуска существующей зафиксированной системы. Тем самым фактически определяются архитектуры БД, оборудования и стандартного ПО, телекоммуникаций. Все архитектуры представляются в нотации UML и при необходимости дополняются текстовыми описаниями. Поостренные архитектурные модели в процессе реинжиниринга будут уточняться и дополняться. Автоматический реинжиниринг. Автоматический реинжиниринг осуществляется с помощью инструментальных средств визуального моделирования. Его выполнение позволяет построить модели, которые могут быть приняты как исходные. Автоматическому реинжинирингу подвергается как бизнес логика (если есть исходные коды на объектно-ориентированном или объектно-базированном языке), так и БД. Автоматический реинжиниринг бизнес логики может быть выполнен только в случае, когда имеются (полностью или частично) исходные тексты программ. В результате автоматического реинжиниринга кодов создаются диаграммы классов и диаграммы компонент UML. Реинжиниринг БД выполняется с помощью инструментальных средств проектирования БД. Результатом является реляционная модель данных, которая может графически отображаться этим средством. Полученная реляционная модель может по усмотрению разработчиков переведена в диаграмму классов UML путем использования применяемого инструментального средства разработки БД или программных мостов со средствами визуального ОО моделирования.
Редактирование диаграмм моделей. Модели, полученные автоматически, весьма сложно читать и анализировать, поскольку элементы модели размещаются без учета наглядности диаграмм. Поэтому построенные модели должны быть отредактированы. В процессе редактирования не следует выполнять содержательные преобразования (удалять или добавлять элементы модели). Главной целью редактирования на этом этапе является достижение наглядности диаграмм. Для этого используется перемещение элементов диаграмм. В процессе редактирования могут вноситься комментарии к элементам модели. Например, можно прокомментировать назначение отдельных классов. Комментарии заносятся в поля спецификаций элементов моделей. Если диаграмма содержит слишком много элементов, то анализировать ее сложно. Попробуйте проанализировать диаграмму, содержащую более 100 классов! Поэтому целесообразно разбить такую диаграмму на несколько отдельных диаграмм, оставляя в каждой примерно по 7 – 10 элементов. Метод повышения наглядности диаграмм хорошо известен. Это иерархическая реструктуризация. Средством ее осуществления в UML являются пакеты. Сложные ПС обычно включают несколько подсистем, имеющих разное целевое назначение и функциональность. Поэтому на верхнем уровне иерархии можно показать пакеты – подсистемы. Каждый из таких пакетов должен получить имя, отражающее суть соответствующей подсистемы. На этом уровне можно также показать пакеты классов, являющиеся общими для всей системы и используемые подсистемами. На начальной стадии реструктуризации логической модели можно ввести пакет верхнего уровня, куда помещаются классы, которые трудно отнести к какому-либо другому пакету. В любой ПС есть пользовательский интерфейс, связь с БД, управление, обработка, классы данных. Такого типа пакеты можно ввести в каждой подсистеме на следующем уровне иерархии. Построение функциональной модели. Модель функционирования описывается с помощью диаграмм ВИ и детализирующих их диаграмм последовательностей и деятельностей. Источником для ее построения является работающая наследуемая система и проводимые с ней эксперименты. На этом этапе особенно эффективно привлечение к работам по реинжинирингу эксперта организации заказчика (см. статью «RUP. Общие сведения»). С его помощью можно быстрее и точнее определить состав актеров наследуемой системы и основные ВИ. Эксперт заказчика может словесно описать, кто использует систему и что она должна делать для пользователей каждого типа. Он может также информировать, с какими другими системами взаимодействует наследуемая ПС, какие работы осуществляются периодически. Все эти сведения будут способствовать более точному пониманию функциональности системы разработчиками. Определение актеров. Для нахождения актеров следует искать ответы на следующие вопросы: Кто является непосредственными пользователями системы? Необходимо при ответе на данный вопрос указывать роли, а не конкретных людей, исполняющих эти роли. С каким внешним оборудованием или программами осуществляет взаимодействие система? Выполняет ли система работы, активизируемые наступлением конкретного времени или истечением определенных интервалов времени (при положительном ответе одним из актеров является таймер)? Ответы на поставленные вопросы можно получить либо путем опроса экспертов заказчика, либо из документации на систему, либо (если таковых не имеется) путем запуска системы и анализа экранных форм или меню.
Применение объект-ориентированной открытой архитектуры позволяет существенно сократить время постановки задач и распараллелить реализацию, задав ясные интерфейсы и протоколы. Предлагается русскоязычный вариант объект-ориентированного подхода, описанный в школьном учебнике информатики и вузовском учебнике программирования разработанный на мехмате МГУ подход с использованием Исполнителя как основного объект-задающего конструкта. Основные причины выбора этого подхода повсеместное знакомство именно с ним (например, тираж школьного учебника - 2.5 млн. экземпляров). Открытость архитектуры означает, что все внешние (и внутренние) интерфейсы прописаны явно и опубликованы, что дает возможность независимым разработчикам разрабатывать и поставлять различные компоненты Финансовой сети. Например, требования к финструментам, клиентам, эмитентам, узлам, межузловому взаимодействию и т.д. существуют в виде общедоступных документов, что позволяет узлам Финансовой сети иметь аппаратное и программное обеспечение различных поставщиков, а персонал учить в различных образовательных фирмах
2. Контрольная работа по уголовному процессу
3. Моделирование времени. Обеспечение параллельности в работе устройств ВС в системе VHDL
4. Авторское право на программное обеспечение
5. Программное обеспечение в фазе модернизации
9. Программное обеспечение персональных компьютеров
10. Программное обеспечение удалённого доступа к технической документации
11. Вирусы и антивирусное программное обеспечение
12. Программное обеспечение компьютеров. Архиваторы
13. Обзор современного программного обеспечения управления проектами
14. Продуктовая политика организации (на примере продвижения услуг программного обеспечения)
15. Обзор современного программного обеспечения управления проектами
16. Реинжиниринг бизнес-процессов
17. Реинжиниринг бизнес-процессов
18. Охрана программного обеспечения
20. Программное обеспечение календарного планирования и контроля
25. Развитие программного обеспечения
26. Документирование программного обеспечения
27. Классификация программного обеспечения ЭВМ
28. Постановка, настройка и исследование абонентского программного обеспечения сети Internet
29. Разновидности общесистемного программного обеспечения персональных ЭВМ
30. Технологии тестирования программного обеспечения
31. Системное программное обеспечение
32. Технологии тестирования программного обеспечения
33. Свободное программное обеспечение: к чему приведет "свобода"?
34. Реинжиниринг: бизнес-процессы или зоны ответственности?
35. Бухгалтерский и налоговый учет покупаемого программного обеспечения
36. АИС управления серверным программным обеспечением на базе программного комплекса Webmin/Alterator
37. Аппаратура, программное обеспечение и микропрограммы
41. Операционная система, программное обеспечение ПК
42. Организация процесса конструирования программного обеспечения
43. Оценка риска проектов программного обеспечения
44. Прикладное программное обеспечение
45. Прикладное программное обеспечение. Оновные понятия комбинаторики
47. Программное обеспечение Lotus-Notes
48. Программное обеспечение Линукс
49. Программное обеспечение системы принятия решений адаптивного робота
50. Программное обеспечение ЭВМ и языки программирования
51. Программное обеспечение. Операционная система
52. Проектирование процесса тестирования программного обеспечения
53. Разработка базы данных и прикладного программного обеспечения для автобусного парка
58. Разработка программного обеспечения для фильтрации растровых изображений
59. Разработка программного обеспечения по автоматизации учебного процесса в колледже
61. Создание программного обеспечения электронного учебника
62. Анализ прикладного программного обеспечения
64. Системное программное обеспечение
66. Реинжиниринг бизнес процессов
67. Реинжиниринг бизнес-процессов
68. Этапы реинжиниринга бизнес–процессов
69. Революция в программном обеспечении УЧПУ
73. Контрольная работа по курсу экологического права
74. Контрольная работа по Английскому языку
75. Программные средства и приёмы работы на компьютере
76. Контрольная работа по Word
78. Контрольная работа по Уголовно-процессуальному праву РФ
79. ТКМ. Билеты на контрольную работу
80. Контрольная работа по основам экономической теории
81. Контрольная работа по статитстике
82. Контрольная работа по делопроизводству
83. Контрольная работа по системному анализу
89. Контрольная работа по маркетингу
90. Контрольная работа по теории вероятности_2
91. Валеология - контрольные работы
93. Контрольная работа по уголовному праву
94. Контрольная работа по психологии по теме: Моральные суждения школьников
95. Контрольная работа по метрологии
96. Обеспечение безопасности при работе с рекомбинантными молекулами ДНК