Файл: Применение объектно-ориентированного подхода при проектировании информационной системы (основы объектно-ориентированного подхода).pdf
Добавлен: 21.05.2023
Просмотров: 161
Скачиваний: 2
СОДЕРЖАНИЕ
Теоретические основы объектно-ориентированного подхода
Сущность объектно-ориентированного подхода
Преимущества и недостатки объектно-ориентированного подхода
Анализ деятельности предприятия
Обоснование необходимости проектирование ИС
Реализация объектно-ориентированного подхода при проектировании ИС
Выбор средств объектно-ориентированного подхода
Введение
В век всеобщей компьютеризации ни для кого не секрет, что без компьютерной техники и специализированного программного обеспечения практически невозможно обойтись. Применение специализированных программ позволяет улучшить качество выполняемой работы, упростить человеческий труд, ускорить выполнение технологического процесса, облегчает хранение и передачу информации – перечислять все достоинства можно практически до бесконечности.
В большинстве случаев используемые программные комплексы хранят производственную информацию, и эта информация должна быть доступна некоторому количеству пользователей и, зачастую, пользователи работают с данными одновременно. Эти идеи послужили основой концепции, согласно которой данные должны быть организованны в базы данных, для управления которыми, широко используются системы управления базами данных (СУБД).
Проектирование экономических информационных систем (ЭИС) - логически сложная, трудоемкая и длительная работа, требующая высокой квалификации участвующих в ней специалистов.
В начале 70-х гг. в США был отмечен кризис программирования (software crisis). Это выражалось в том, что большие проекты стали выполнятся с отставанием от графика или с превышением сметы расходов, разработанный продукт не обладал требуемыми функциональными возможностями, производительность его была низка, качество получаемого программного обеспечения не устраивало потребителей.
Аналитические исследования и обзоры, выполняемые в течение ряда последних лет ведущими зарубежными аналитиками, показывали не слишком обнадеживающие результаты. Так, например, в 1995г. компания StandishGroup проанализировала работу 364 американских корпораций и итоги выполнения более 23 тыс. проектов, св?язанных с ра?зработкой ПО, и сд?елали сл?едующие вы?воды:
То?лько 16?% пр?оектов за?вершились в срок, 52,7% за?вершились с опозданием, ра?сходы пр?евысили за?планированный бюджет.
В чи?сле пр?ичин не?удач фи?гурируют: не?четкая и не?полная фо?рмулировка тр?ебований к ПО, не?достаточное во?влечение по?льзователей в ра?боту на?д проектом, не?удовлетворительное пл?анирование и т.п.
На эт?ом фоне, вы?годно от?личается об?ъектно-ориентированный по?дход к пр?оектированию ПО. Он ус?траняет эт?и и др?угие недостатки, он об?ладает бо?гатым на?бором из?образительных средств. Во?т почему, це?лью мо?ей ку?рсовой ра?боты яв?ляется ра?скрытие со?временных ме?тодов и ср?едств проектирования, в ча?стности в об?ъектно-ориентированном по?дходе к пр?оектированию ИС.
В хо?де вы?полнения ра?боты бы?ли ре?шены сл?едующие за?дачи:
- ра?ссмотрение су?щности и пр?еимуществ об?ъектно-ориентированного по?дхода;
- ан?ализ пр?едметной об?ласти;
- пр?именение об?ъектно-ориентированного по?дхода пр?и пр?оектировании ИС.
Теоретические основы объектно-ориентированного подхода
Сущность объектно-ориентированного подхода
На?иболее по?пулярны дв?а по?дхода (п?арадигмы) к ан?ализу и пр?оектированию ин?формационных си?стем: структурный и объектно-ориентированный.
Пе?рвое от?личие эт?их по?дходов др?уг от др?уга за?ключается в пр?инципах де?композиции и ст?руктурной ор?ганизации эл?ементов (компонентов, мо?дулей) системы. Со?гласно эт?им пр?инципам си?стема пр?едставляет со?бой структуру, со?стоящую из че?тко вы?раженных модулей, св?язанных ме?жду со?бой оп?ределенными отношениями.
Пр?и ис?пользовании ст?руктурного по?дхода (п?ервый ви?д де?композиции) вы?полняется фу?нкциональная (процедурная, ал?горитмическая) де?композиция системы, т. е. он?а пр?едставляется в ви?де ие?рархии (д?ерева) вз?аимосвязанных функций. На вы?сшем ур?овне си?стема пр?едставляется ед?иным це?лым с на?ивысшей ст?епенью аб?стракции и по ме?ре де?тализации (д?обавления ур?овней) ра?збивается на фу?нкциональные ко?мпоненты с бо?лее ко?нкретным содержанием.
Вт?орой ви?д де?композиции – объектно-ориентированный. В ра?мках эт?ого по?дхода си?стема ра?збивается на на?бор объектов, со?ответствующих об?ъектам ре?ального мира, вз?аимодействующих ме?жду со?бой пу?тем по?сылки сообщений.
Вт?орым от?личием яв?ляется об?ъединение в об?ъекте ка?к ат?рибутивных да?нных (характеристики, свойства), та?к и по?ведения (функции, методы). В фу?нкционально-ориентированных си?стемах фу?нкции и да?нные хр?анятся (с?уществуют) отдельно.
Тр?етье от?личие дв?ух по?дходов за?ключается в ст?руктурной ор?ганизации вн?утри мо?дулей системы. В ст?руктурном по?дходе мо?дуль со?стоит из функций, ие?рархически св?язанных ме?жду со?бой от?ношением ко?мпозиции (англ. pa?rt-of – часть-целое), т. е. фу?нкция со?стоит из подфункций, по?дфункция из по?дподфункций и т.д. В об?ъектно-ориентированном по?дходе ие?рархия вы?страивается с ис?пользованием дв?ух от?ношений: ко?мпозиции и на?следования (англ. is?-a – эт?о есть). Пр?и эт?ом в об?ъектно-ориентированном по?дходе «о?бъект-часть» мо?жет вк?лючаться ср?азу в не?сколько «объектов-целое». Та?ким образом, мо?дуль в ст?руктурном по?дходе пр?едставляется в ви?де дерева, а в об?ъектно-ориентированном по?дходе – в ви?де ор?иентированного графа, т. е. с по?мощью бо?лее об?щей структуры.
На?иболее по?пулярными методологиями, по?ддерживающими об?ъектно-ориентированный подход, в на?стоящий мо?мент яв?ляются:
унифицированный процесс (U?nified Process, UP?);
экстремальное программирование (e?Xtreme Programming, XP?);
ги?бкое мо?делирование (A?gile Modeling, AM).
Ба?зовым ср?едством фи?ксации (д?окументирования) ре?зультатов пр?оектирования си?стем по?средством эт?их ме?тодологий яв?ляется ун?ифицированный яз?ык мо?делирования (U?nified Mo?deling Language, UML).
Те?рмин «о?бъект» ил?и эк?вивалентные ем?у по?нятия по?явились пр?актически не?зависимо в ра?зличных областях, св?язанных с компьютерами, в пр?оцессе ра?зработки [6]?:
ар?хитектуры ко?мпьютеров (B?urroughs 5000, Pl?essey 250, IB?M System/38, In?tel 43?2);
об?ъектно-ориентированных оп?ерационных си?стем (P?lessey/System 250, Se?cure UNIX, StarOS, iM?ax);
об?ъектно-ориентированных яз?ыков пр?ограммирования (Simula, Smalltalk, Mo?dula);
те?ории ба?з да?нных (м?одели «с?ущность-связь»);
си?стем ис?кусственного ин?теллекта (фреймы).
Пр?и ра?зработке пр?ограммного об?еспечения те?рмин «о?бъект» вп?ервые бы?л вв?еден в яз?ыке Si?mula 67 дл?я мо?делирования су?щностей пр?едметной области.
Со?гласно [6, с.?23–25] об?ъект – эт?о аб?стракция ре?альной ил?и во?ображаемой су?щности с че?тко вы?раженными ко?нцептуальными границами, ин?дивидуальностью (идентичностью), со?стоянием и поведением.
Аб?стракция (лат. ab?stractio – от?влечение) – фо?рма познания, ос?нованная на мы?сленном вы?делении су?щественных св?ойств и св?язей пр?едмета и от?влечении от других, ча?стных ег?о св?ойств и св?язей [5, с. 63]. Пр?и эт?ом «с?ущественное» и «ч?астное» до?лжны ра?ссматриваться с то?чки зр?ения ре?шаемой за?дачи (п?редметной области). В об?ъектно-ориентированном по?дходе аб?стракция – эт?о мо?дель сущности, оп?исывающая ее св?ойства и поведение.
Пр?имерами ре?альных (физических, ос?язаемых) су?щностей мо?гут сл?ужить поезд, ст?релочный пе?ревод ил?и ин?женер сл?ужбы пути, а во?ображаемых – те?хнология пр?оведения ка?питального ре?монта пу?ти ил?и оп?тимальная тр?аектория дв?ижения по?езда (р?ежимы и ск?орость в за?висимости от те?кущего по?ложения по?езда на участке).
Ин?дивидуальность – эт?о св?ойство сущности, с по?мощью ко?торого ее мо?жно от?личить от других. Т. е., го?воря об об?ъекте «поезд», им?еется в ви?ду не об?общенное по?нятие поезд, ка?к не?что со?стоящее из ло?комотивов и вагонов, а ко?нкретный гр?узовой по?езд с но?мером 1025, ве?сом 46?00 т, ве?домый эл?ектровозом пе?ременного то?ка ВЛ?80Т с се?рийным но?мером 027, со?стоящий из че?тырехосных по?лувагонов с ко?нкретными но?мерами и т. д.
В то же вр?емя ст?епень аб?стракции с то?чки зр?ения ре?шаемой за?дачи мо?жет бы?ть и бо?лее высокой. Например, пр?и вы?полнении тя?говых ра?счетов к гр?афику дв?ижения по?ездов не тр?ебуется ин?формация о се?рийных но?мерах ло?комотивов и вагонов, т. е. не?т по?требности в от?личии др?уг от др?уга эл?ектровозов ВЛ?80Т с се?рийными но?мерами 02?7 и 028.
Дл?я ко?нцептуальной гр?уппировки од?нотипных об?ъектов в об?ъектно-ориентированном по?дходе ис?пользуется по?нятие «класс». Кл?асс – эт?о мн?ожество объектов, им?еющих об?щую ст?руктуру и по?ведение [7, с.39]. Та?ким образом, кл?асс – эт?о шаблон, на ос?нове ко?торого ге?нерируются (с?оздаются) од?нотипные объекты. В ка?честве си?нонима по?нятия «о?бъект» ча?сто уп?отребляют по?нятие «э?кземпляр класса».
Ка?ждый кл?асс и со?ответственно об?ъект ха?рактеризуются ст?рого оп?ределенным на?бором ат?рибутов и методов. Те?кущие зн?ачения ат?рибутов че?тко оп?ределяют те?кущее со?стояние объекта. На?бор ме?тодов и их ал?горитмическая ре?ализация оп?ределяют по?ведение об?ъекта (к?ласса объектов).
Пр?инципы пр?оектирования ин?формационных си?стем в по?лной ме?ре пр?именимы и дл?я об?ъектно-ориентированных систем. Но го?воря об об?ъектно-ориентированном подходе, в пе?рвую оч?ередь от?мечают наследование, ин?капсуляцию и полиморфизм. Эт?и ме?ханизмы и пр?инципы пр?оектирования бо?лее ес?тественно и по?лно ре?ализованы в об?ъектно-ориентированном по?дходе по ср?авнению со структурным.
На?следование – принцип, в со?ответствии с ко?торым зн?ание об об?щей ка?тегории ра?зрешается пр?именять дл?я бо?лее узкой. Пр?именительно к кл?ассам эт?о означает, чт?о до?черний кл?асс (у?зкая ка?тегория) по?лностью вк?лючает в се?бя (н?аследует) вс?е ат?рибуты и методы, оп?ределенные в ро?дительском кл?ассе (о?бщей категории). Пр?и эт?ом в до?чернем кл?ассе мо?гут бы?ть оп?ределены до?полнительные ат?рибуты и методы.
Например, до?черний кл?асс «к?руг» бу?дет на?следовать от ро?дительского кл?асса «г?еометрическая фи?гура» вс?е ат?рибуты (x, у – ко?ординаты це?нтра фигуры, co?lor – цв?ет фо?на и т. д.) и вс?е ме?тоды (d?raw() – на?рисовать фигуру, move(dx, dy?) – пе?реместить фи?гуру и т. д.), а та?кже им?еть до?полнительный ат?рибут (r – радиус).
Ин?капсуляция (и?нформационная за?крытость) – принцип, в со?ответствии с ко?торым со?держание вн?утреннего ус?тройства эл?ементов си?стемы до?лжно бы?ть ск?рыто др?уг от друга. Эт?от пр?инцип пр?едписывает об?мен ин?формацией ме?жду об?ъектами си?стемы то?лько в ми?нимально не?обходимом объеме, ог?раничение до?ступа к ат?рибутам и ме?тодам об?ъектов (к?лассов) со ст?ороны др?угих об?ъектов (к?лассов) и по?лное ск?рытие ал?горитмической ре?ализации ме?тодов от др?угих об?ъектов (классов).
По?лиморфизм – пр?инцип по?строения эл?ементов мо?дели так, чт?обы он?и мо?гли пр?инимать ра?зличные вн?ешние фо?рмы ил?и фу?нкциональность (п?оведение) в за?висимости от обстоятельств. Например, ме?тоды dr?aw() (н?арисовать) ил?и ca?lculateS() (р?ассчитать пл?ощадь) дл?я кл?ассов «к?руг» и «ромб», оп?ределенных пу?тем на?следования ат?рибутов и ме?тодов ро?дительского кл?асса «фигура», ал?горитмически до?лжны бы?ть ре?ализованы по-разному.
С уч?етом пр?иведенных вы?ше оп?ределений су?щность об?ъектно-ориентированного по?дхода к ан?ализу и пр?оектированию ин?формационных си?стем за?ключается в де?композиции си?стемы на классы, ко?торые со?ответствуют од?нотипным об?ъектам пр?едметной области, и по?строении из ни?х ие?рархии в ви?де ор?иентированного гр?афа с ис?пользованием от?ношений ко?мпозиции и наследования.
Ба?зовыми со?ставляющими об?ъектно-ориентированного по?дхода яв?ляются:
унифицированный процесс;
унифицированный язык моделирования;
шаблоны проектирования.
Ун?ифицированный пр?оцесс – эт?о пр?оцесс ра?зработки пр?ограммного об?еспечения (ПО), ко?торый об?еспечивает уп?орядоченный по?дход к ра?спределению за?дач и об?язанностей в ор?ганизации-разработчике [5, с.67]. Ун?ифицированный пр?оцесс ох?ватывает ве?сь жи?зненный ци?кл ПО, на?чиная с оп?ределения тр?ебований и за?канчивая сопровождением, и пр?едставляет со?бой об?общенный ка?ркас (шаблон, скелет), ко?торый мо?жет бы?ть пр?именен (с?пециализирован) дл?я ра?зработки и со?провождения ши?рокого кр?уга систем.
Не?отъемлемой ча?стью Ун?ифицированного пр?оцесса яв?ляется UM?L – яз?ык (с?истема об?означений) дл?я определения, ви?зуализации и ко?нструирования мо?делей си?стемы в ви?де ди?аграмм и до?кументов на ос?нове об?ъектно-ориентированного по?дхода [3, с.58]. Сл?едует отметить, чт?о Ун?ифицированный пр?оцесс и UM?L ра?зрабатывались совместно.
На ст?адиях ан?ализа и пр?оектирования ча?сто ис?пользуются та?к на?зываемые ша?блоны (п?аттерны) проектирования. Ша?блон – эт?о им?енованная па?ра «проблема/решение», со?держащая го?товое об?общенное ре?шение ти?пичной пр?облемы [4]. Ка?к правило, ша?блон по?мимо те?кстового оп?исания со?держит та?кже од?ну ил?и не?сколько ди?аграмм UM?L (например, ди?аграммы классов, ко?операции и/?или последовательности), гр?афически ил?люстрирующих со?став и ст?руктуру классов, а та?кже ос?обенности их вз?аимодействия пр?и ре?шении по?ставленной проблемы. Ша?блоны ра?зрабатываются оп?ытными пр?офессионалами и яв?ляются проверенными, эф?фективными (п?орой оп?тимальными) решениями. Пр?именение ша?блонов мо?жет ре?зко со?кратить за?траты и по?высить ка?чество ра?зработки ПО.