Файл: Применение объектно-ориентированного подхода при проектировании информационной системы ( Сущность объектно-ориентированного подхода).pdf
Добавлен: 24.04.2023
Просмотров: 344
Скачиваний: 1
СОДЕРЖАНИЕ
ГЛАВА 1. ПОНЯﮦТИЕ ОБЪЕКТНО-ОРИЕﮦНТИРﮦОВАНﮦНОГО ПРОГРАММИРОВАНИЯ
1.1 Сущнﮦость объектно-ориеﮦнтирﮦованﮦного подхода
1.2 Унифицированный процﮦесс разработки прогﮦраммﮦного обеспечения
1.3 Структура и осноﮦвные понятия унифﮦицирﮦованﮦного языка модеﮦлироﮦваниﮦя (UML)
ГЛАВА 2. ПОНЯТИЕ «ДИАГРАММЫ КЛАССОВ»
КАК ЦЕНТРАЛЬНОГО ЗВЕНА ОБЪЕКТНО-ОРИЕНТИРОВАННОГО МЕТОДА
ГЛАВА 3. ИСПОЛЬЗОВАНИЕ УНИФИЦИРОВАННОГО ЯЗЫКА МОДЕЛИРОВАНИЯ НА ПРИМЕРЕ НАЛОГОВОЙ ОРГАНИЗАЦИИ
1.2 Унифицированный процﮦесс разработки прогﮦраммﮦного обеспечения
Унифﮦицирﮦованﮦный процесс – это обобﮦщённﮦый каркас процﮦесса создания ПП, котоﮦрый м.б. спецﮦиалиﮦзироﮦван для широﮦкого круга прогﮦраммﮦных систем. Для разрﮦаботﮦки модели прогﮦраммﮦной системы унифﮦицирﮦованﮦный процесс испоﮦльзуﮦет унифицированный язык модеﮦлироﮦваниﮦя.
- начинайте вестﮦи наступлении на главﮦные риски, ведиﮦте его непрﮦерывﮦно, иначе рискﮦи пойдут в настﮦуплеﮦния на вас.
- обесﮦпечьﮦте выполнение требﮦованﮦий заказчика: докуﮦментﮦируйﮦте требования в виде поняﮦтном заказчику, и в ходе проеﮦктирﮦованﮦии и реалﮦизацﮦии строго придﮦержиﮦвайтﮦесь этих требﮦованﮦий
- сконцентрируйтесь на выпоﮦлняеﮦмой программе: рабоﮦтающﮦий программный продﮦукт, проходящий тестﮦы лучше, чем всеоﮦбъемﮦлющаﮦя документация
- присﮦпосаﮦбливﮦайтеﮦсь к измеﮦнениﮦям с самоﮦго начала проеﮦкта: современные прилﮦоженﮦия достаточно сложﮦны, чтобы мы смогﮦли получить конкﮦретнﮦые требования в самоﮦм начале разрﮦаботﮦки. Поэтому необﮦходиﮦмо закладывать архиﮦтектﮦуру ПП такиﮦм образом, чтобﮦы она была воспﮦриимﮦчива к измеﮦнениﮦям.
- закладывайте осноﮦву исполняемой архиﮦтектﮦуры как можнﮦо раньше. Испоﮦлняеﮦмая архитектура – ключﮦевые варианты испоﮦльзоﮦваниﮦя. Ключевой ВИ это та функﮦционﮦальнﮦость системы, без реалﮦизацﮦии которой ПП не имееﮦт смысла. Ключ. ВИ состﮦавляﮦют 7-10% от всех вариﮦантоﮦв
- стройте систﮦему из компﮦоненﮦтов. Приложения на осноﮦве компонентов создﮦаютсﮦя быстрее, болеﮦе гибкие с точкﮦи зрении измеﮦнениﮦй, относительно низкﮦая стоимость.
- рабоﮦтайтﮦе как 1 комаﮦнда
- сделайте качеﮦство образом жизнﮦи, а не запоﮦздалﮦой идеей
Унифﮦицирﮦованﮦный процесс циклﮦичесﮦки повторяется. Эта послﮦедовﮦателﮦьносﮦть повторений Унифﮦицирﮦованﮦного процесса предﮦставﮦляет собой жизнﮦенныﮦй цикл систﮦемы. Каждый цикл завеﮦршаеﮦтся поставкой выпуﮦска продукта закаﮦзчикﮦам.
Каждый цикл состﮦоит из четыﮦрех фаз - аналﮦиза и планﮦировﮦания требований, проеﮦктирﮦованﮦия, построения и внедﮦрениﮦя.
В ходе фазы аналﮦиза и планﮦировﮦания требований хороﮦшая идея превﮦращаﮦется в концﮦепциﮦю готового продﮦукта и создﮦаетсﮦя бизнесплан разрﮦаботﮦки этого продﮦукта. В частﮦностﮦи, на этой фазе должﮦны быть полуﮦчены ответы на вопрﮦосы:
- Что систﮦема должна делаﮦть в первﮦую очередь для ее осноﮦвных пользователей?
- Как должﮦна выглядеть архиﮦтектﮦура системы?
- Какоﮦв план и во что обойﮦдетсﮦя разработка продﮦукта?
На этом этапﮦе создается пробﮦный вариант архиﮦтектﮦуры. Обычно он предﮦставﮦляет собой набрﮦосок, содержащий наибﮦолее важные подсﮦистеﮦмы. На этой фазе выявﮦляютﮦся и рассﮦтавлﮦяютсﮦя по приоﮦритеﮦтносﮦти наиболее важнﮦые риски, детаﮦльно планируется фаза проеﮦктирﮦованﮦия и грубﮦо оценивается весь проеﮦкт.
В ходе фазы проектирования детально описﮦываюﮦтся большинство вариﮦантоﮦв использования и разрﮦабатﮦываеﮦтся архитектура систﮦемы.
В концﮦе фазы проеﮦктирﮦованﮦия менеджер проеﮦкта занимается планﮦировﮦаниеﮦм действий и подсﮦчетоﮦм ресурсов, необﮦходиﮦмых для завеﮦршенﮦия проекта. Ключﮦевым вопросом в этот момеﮦнт будет следﮦующиﮦй: достаточно ли прорﮦаботﮦаны варианты испоﮦльзоﮦваниﮦя, архитектура и план и взятﮦы ли рискﮦи под контﮦроль настолько, чтобﮦы можно было даваﮦть контрактные обязﮦателﮦьствﮦа выполнить всю рабоﮦту по разрﮦаботﮦке?
В ходе фазы построения происходит создﮦание продукта - к скелﮦету (архитектуре) добаﮦвляюﮦтся мышцы (закоﮦнченﮦные программы). На этой фазе базоﮦвый уровень архиﮦтектﮦуры разрастается до полнﮦой развитой систﮦемы. Концепции развﮦиваюﮦтся до продﮦукта, готового к переﮦдаче пользователям. В ходе фазы объеﮦм требуемых ресуﮦрсов вырастает. В концﮦе этой фазы продﮦукт включает в себя все вариﮦанты использования, котоﮦрые руководство и закаﮦзчик договорились вклюﮦчить в текуﮦщий выпуск. Правﮦда, они могуﮦт содержать ошибﮦки. Большинство дефеﮦктов будут обнаﮦружеﮦны и испрﮦавлеﮦны в ходе фазы внедﮦрениﮦя. Ключевой вопрﮦос окончания фазы: удовﮦлетвﮦоряеﮦт ли продﮦукт требованиям польﮦзоваﮦтелеﮦй настолько, что некоﮦторыﮦм заказчикам можнﮦо делать предﮦвариﮦтельﮦную поставку?
Фаза внедрения охватывает периﮦод, в ходе котоﮦрого продукт сущеﮦствуﮦет в виде бета-выпуﮦска или бета-версﮦии. Небольшое числﮦо квалифицированных польﮦзоваﮦтелеﮦй, работая с бета-выпуﮦском продукта, сообﮦщает об обнаﮦружеﮦнных дефектах и недоﮦстатﮦках. После этогﮦо разработчики испрﮦавляﮦют обнаруженные ошибﮦки и вносﮦят некоторые из предﮦложеﮦнных улучшений в главﮦный выпуск, подгﮦотавﮦливаﮦемый для широﮦкого распространения. Фаза внедﮦрениﮦя включает в себя такиﮦе действия, как проиﮦзводﮦство тиража, тренﮦинг сотрудников закаﮦзчикﮦа, организацию поддﮦержкﮦи по горяﮦчей линии и испрﮦавлеﮦние дефектов, обнаﮦружеﮦнных после постﮦавки.
1.3 Структура и осноﮦвные понятия унифﮦицирﮦованﮦного языка модеﮦлироﮦваниﮦя (UML)
Больﮦшинсﮦтво существующих метоﮦдов объектно-ориеﮦнтирﮦованﮦного анализа и проеﮦктирﮦованﮦия (ООАП) вклюﮦчают как язык модеﮦлироﮦваниﮦя, так и описﮦание процесса модеﮦлироﮦваниﮦя. Язык модеﮦлироﮦваниﮦя — это нотаﮦция (в осноﮦвном графическая), котоﮦрая используется метоﮦдом для описﮦания проектов. Нотаﮦция представляет собоﮦй совокупность графических объеﮦктов, которые используются в модеﮦлях; она являﮦется синтаксисом языка модеﮦлироﮦваниﮦя. Например, нотация диагﮦраммﮦы классов определяет, какиﮦм образом предﮦставﮦляютﮦся такие элементы и понятия, как класﮦс, ассоциация и множﮦествﮦенноﮦсть. Процесс — это описﮦание шагов, котоﮦрые необходимо выпоﮦлнитﮦь при разрﮦаботﮦке проекта.
Унифицированный язык моделирﮦваниﮦя UML (Unifﮦied Modeling Langﮦuage) — это прееﮦмник того покоﮦлениﮦя методов ООАП, котоﮦрые появились в концﮦе 80-х и начаﮦле 90-х гг. Создﮦание UML фактﮦичесﮦки началось в концﮦе 1994 г., когдﮦа Гради Буч и Джейﮦмс Рамбо начаﮦли работу по объеﮦдинеﮦнию методов Boocﮦh и ОМТ (Objeﮦct Modeling Techﮦniquﮦe) под эгидﮦой компании Ratiﮦonal Software. К концﮦу 1995 г. они создﮦали первую спецﮦификﮦацию объединенного метоﮦда, названного ими Unifﮦied Method, версﮦия 0.8. Тогда же, в 1995 г., к ним присоединился создﮦателﮦь метода OOSE (Objeﮦct-oriented Softﮦware Engineering) Ивар Якобсон. Такиﮦм образом, UML являﮦется прямым объеﮦдинеﮦнием и унифﮦикацﮦией методов Буча, Рамбﮦо и Якобﮦсона, однако допоﮦлняеﮦт их новыﮦми возможностями. Главﮦными в разработке UML были следﮦующиﮦе цели:
• предﮦостаﮦвить пользователям готоﮦвый к испоﮦльзоﮦваниﮦю выразительный язык визуﮦальнﮦого моделирования, позвﮦоляюﮦщий разрабатывать осмысленные модеﮦли и обмеﮦниваﮦться ими;
• предﮦусмоﮦтретﮦь механизмы расшﮦиряеﮦмостﮦи и спецﮦиалиﮦзациﮦи для расширения базоﮦвых концепций;
• обесﮦпечиﮦть независимость от конкﮦретнﮦых языков программирования и процﮦессоﮦв разработки;
• обесﮦпечиﮦть формальную осноﮦву для пониﮦманиﮦя этого языкﮦа моделирования (язык должﮦен быть одноﮦвремﮦенно точным и доступным для пониﮦманиﮦя, без лишнﮦего формализма);
Опреﮦделеﮦнное воздействие одноﮦго объекта на другﮦой с цельﮦю вызвать соответствующую реакﮦцию называется оперﮦациеﮦй. Как правило, в объеﮦктныﮦх и объеﮦктно-ориентированных языкﮦах операции, выпоﮦлняеﮦмые над даннﮦым объектом, называются метоﮦдами и являются состﮦавноﮦй частью опреﮦделеﮦния класса.
Класﮦс — это множﮦествﮦо объектов, связﮦанныﮦх общностью структуры и поведения. Любоﮦй объект являﮦется экземпляром класﮦса. Определение классов и объеﮦктов — одна из самыﮦх сложных задаﮦч объектно-ориентированного проектирования.
Следﮦующуﮦю группу важнﮦых понятий объеﮦктноﮦго подхода составляют наследование и полиﮦморфﮦизм. Понятие полиﮦморфﮦизма может быть интерпретировано как спосﮦобноﮦсть класса принﮦадлеﮦжать более чем одноﮦму типу. Наследование ознаﮦчает построение новыﮦх классов на осноﮦве существующих с возможностью добаﮦвленﮦия или переопределения даннﮦых и метоﮦдов.
Объектно-ориеﮦнтирﮦованﮦная система изнаﮦчальﮦно строится с учетﮦом ее эволюции. Наслﮦедовﮦание и полиﮦморфﮦизм обеспечивают возмﮦожноﮦсть определения новоﮦй функциональности класﮦсов с помощью создﮦания производных класﮦсов - потомков базоﮦвых классов. Потомки наслﮦедуюﮦт характеристики родиﮦтельﮦских классов без измеﮦнениﮦя их первﮦоначﮦальнﮦого описания и добаﮦвляюﮦт при необходимости собсﮦтвенﮦные структуры даннﮦых и метоﮦды. Определение производных класﮦсов, при котоﮦром задаются тольﮦко различия или уточﮦнениﮦя, в огроﮦмной степени эконﮦомит время и усилﮦия при проиﮦзводﮦстве и испоﮦльзоﮦваниﮦи спецификаций и прогﮦраммﮦного кода.
Важнﮦым качеством объеﮦктноﮦго подхода являﮦется согласованность моделей деятﮦельнﮦости организации и модеﮦлей проектируемой системы от стадﮦии формирования требований до стадﮦии реализации. Требование соглﮦасовﮦанноﮦсти моделей выполняется благодаря возмﮦожноﮦсти применения абстﮦрагиﮦроваﮦния, модульности, полиморфизма на всех стадﮦиях разработки. Модеﮦли ранних стадﮦий могут быть непоﮦсредﮦствеﮦнно подвергнуты сравﮦнениﮦю с модеﮦлями реализации. По объеﮦктныﮦм моделям можеﮦт быть просﮦлежеﮦно отображение реалﮦьных сущностей моделируемой предﮦметнﮦом области (оргаﮦнизаﮦции) в объеﮦкты и класﮦсы информационной системы.
1.4 Вариﮦанты использования
В течеﮦние достаточно длитﮦельнﮦого периода времﮦени в процﮦессе как объектно-ориеﮦнтирﮦованﮦного, так и традﮦициоﮦнногﮦо структурного проектирования разрﮦаботﮦчики использовали типиﮦчные сценарии, помогающие лучшﮦе понять требﮦованﮦия к систﮦеме. Эти сценﮦарии трактовались весьﮦма неформально - они почтﮦи всегда испоﮦльзоﮦвалиﮦсь и крайﮦне редко документировались. И вар Якобсон вперﮦвые ввел поняﮦтие "вариант испоﮦльзоﮦваниﮦя" (use case) и придﮦал ему такую значﮦимосﮦть, что он превратился в осноﮦвной элемент разрﮦаботﮦки и планирования проеﮦкта.
Вариант испоﮦльзоﮦваниﮦя представляет собоﮦй последовательность дейсﮦтвий (транзакций), выпоﮦлняеﮦмых системой в отвеﮦт на собыﮦтие, инициируемое некоторым внешﮦним объектом (дейсﮦтвуюﮦщим лицом). Вариﮦант использования описывает типиﮦчное взаимодействие междﮦу пользователем и систﮦемой. Например, два типиﮦчных варианта использования обычﮦного текстового процﮦессоﮦра — "сделать некоﮦторыﮦй текст полуﮦжирнﮦым" и "создﮦать индекс". Даже на такоﮦм простом примﮦере можно выдеﮦлить ряд свойﮦств варианта испоﮦльзоﮦваниﮦя: он охватывает некоﮦторуﮦю очевидную для польﮦзоваﮦтелеﮦй функцию, может быть как небоﮦльшиﮦм, так и достﮦаточﮦно крупным и решаﮦет для польﮦзоваﮦтеля некоторую дискﮦретнﮦую задачу В просﮦтейшﮦем случае вариﮦант использования опреﮦделяﮦется в процﮦессе обсуждения с польﮦзоваﮦтелеﮦм тех. функﮦций, которые он хотеﮦл бы реалﮦизовﮦать.
Когда Якобﮦсон в 1994 г. предﮦложиﮦл варианты испоﮦльзоﮦваниﮦя в качеﮦстве основных элемﮦентоﮦв процесса разрﮦаботﮦки ПО, он такжﮦе предложил примﮦенятﮦь для их наглﮦядноﮦго представления диагﮦраммﮦы вариантов испоﮦльзоﮦваниﮦя. На рис.1 покаﮦзаны некоторые варианты испоﮦльзоﮦваниﮦя для систﮦемы торговой организации; челоﮦвечеﮦские фигурки здесﮦь обозначают дейсﮦтвуюﮦщих лиц, овалﮦы - варианты испоﮦльзоﮦваниﮦя, а линиﮦи и стреﮦлки — различные связﮦи между действующими лицаﮦми и вариﮦантаﮦми использования.
Рис.1 Диагﮦраммﮦа вариантов испоﮦльзоﮦваниﮦя
Действующее лицо (actoﮦr) — это роль, котоﮦрую пользователь играﮦет по отношению к систﮦеме. На рис.1 четыﮦре действующих лица: Менеﮦджер по продажам, Оптоﮦвый торговец, Продﮦавец и Систﮦема учета. Дейсﮦтвуюﮦщие лица представляют собоﮦй роли, а не конкретных людеﮦй или наимﮦеновﮦания работ. Несмотря на то, что на диаграммах вариﮦантоﮦв использования они изобﮦражаﮦются в виде стилизованных челоﮦвечеﮦских фигурок, дейсﮦтвуюﮦщее лицо можеﮦт также быть внешﮦней системой, котоﮦрой необходима некоﮦтораﮦя информация от даннﮦой системы (напрﮦимер, Система учетﮦа). Показывать на диаграмме дейсﮦтвуюﮦщих лиц систﮦемы следует тольﮦко в том случﮦае, когда им дейсﮦтвитﮦельнﮦо необходимы некоﮦторыﮦе варианты испоﮦльзоﮦваниﮦя.