n1
.pdf342 |
Глава 4 |
Связи обобщения могут преобразовываться в ситуациях с так называемой метаморфозой подтипов. Например, в случае с систе мой регистрации студент может переходить с очной формы обуче ния на вечернюю, т.е. объект Student может менять свой подтип. При таком изменении придется модифицировать описание объ екта в системе. Чтобы избежать этой модификации и тем самым повысить устойчивость системы, иерархия наследования реализу ется с помощью классификации, как показано на рис. 4.35.
Проектирование баз данных
Проектирование БД зависит от типа используемой для хране ния данных СУБД — объектной или реляционной. Для объектных БД никакого проектирования не требуется, поскольку классысущности непосредственно отображаются в БД. Для реляцион ных БД классы-сущности объектной модели должны быть отоб ражены в таблицы реляционной БД. Совокупность таблиц и свя зей между ними может быть представлена в виде диаграммы классов, которая по существу является ER-диаграммой. Набор правил, применяемых при отображении классов в таблицы БД, фактически совпадает с правилами преобразования сущностей и связей, описанными в подразд. 4.1. В технологии RUP, в частнос ти, для такого отображения используется специальный инстру мент - Data Modeler. Он выполняет преобразование классовсущностей в классы-таблицы с последующей генерацией описа ния БД на SQL.
Для описания схемы БД применяется следующий набор эле ментов языка UML со своими стереотипами (профиль UML):
•таблица представляется в виде класса со стереотипом «Table»;
•представление изображается в виде класса со стереотипом «View»;
•столбец таблицы представляется в виде атрибута класса с соответствующим типом данных;
•обычная ассоциация и афегация представляются в виде ас социации со стереотипом «Non-Identifying» (в терминоло гии IDEF1X — неидентифицирующей связи);
•композиция представляется в виде ассоциации со стереоти пом «Identifying» (в терминологии IDEF1X - идентифици рующей связи);
Анализ и проектирование программного обеспечения |
345 |
|
Ф Rat1опаГЙо5ё::^»|:Ш«ёЩШШ)ШШ1ШШ^М |
|
|
Ete Ш й,»^ Fum^ ©Wide ^«pot^C йч^гу в>о1$; AM-lf^ |
Wf^^ |
|
ЙФ |
:з |
|
« T a b l e» |
|
Т Student
• name : SMALLINT
• address: SMALLINT
• nextAvalllD : SMALLINT -studentID: SMALLINT
• dateofBirth : DATE
« P K » • PK_T_Student250 «Identifying» TT
«Table»
T Classification studentIO : SMALLINT
« P K » • PK_T_Classlfication230
«Unique» + TC_T_Classlficatlon440
« F K » • FK_T_Classification230
«Index» • TC_T_Classification430
«Identifying»
«Table»
T FulltimeClassification
gradDate : SMALLINT StudentID : SMALLINT
«Identifying»
« P K » + PK_T_^FulltimeClassification280
« F K » • FK_TJFulltimeClasslfication280
«Table»
TParttimeClassification
^maxNumCourses: SMALLINT StudentID : SMALLINT
« P K » |
• PK_T_ParttimeClasslfication290 |
« F K » |
+ FK_T_ParttimeClassification290 |
Jtib
Рис. 4.38. Пример преобразования обобщения
! Следует запомнить
Целью объектно-ориентированного анализа является транс формация функциональных требований к ПО в предваритель ный системный проект и создание стабильной основы архитекту ры системы. В процессе проектирования системный проект «пог-
346 |
Глава 4 |
ружается» в среду реализации с учетом всех нефункциональных требований.
^ Основные понятия
Архитектурные механизмы, архитектурные уровни, классы анализа, проектные классы, процесс, поток.
?Вопросы для самоконтроля
1.Перечислите правила формирования схемы базы данных из ERM.
2.К каким последствиям для системы может привести отсут ствие архитектурного анализа?
3.Что дает использование образцов распределения обязан ностей?
4.Какие классы нуждаются в моделировании состояний?
5.Охарактеризуйте достоинства и область применения мето дики анализа и проектирования Rational Unified Process.
^=:--»^ \ < У г•^^^^^•^XД^^•=•\ « Ь ^ ^ ' Й ' ' V " Ач5 X* П-r'f¥^ ^^%'^Л-••^*-iU.,-4-^X-1V \ Ч '
ТЕХНОЛОГИИ СОЗДАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Прочитав эту главу, вы узнаете:
•Что представляет собой технология создания ПО,
•Какие требования предъявляются к технологии создания ПО.
•В нем заключается процесс внедрения технологии в организации.
5 . 1 . ОПРЕДЕЛЕНИЕ ТЕХНОЛОГИИ
Начиная с введения, в разных контекстах упоминались раз личные элементы технологии создания ПО (ТС ПО) - процессы, методы, языки и др. В предыдущем издании учебника ТС ПО не формально определялась как совокупность технологических опе раций проектирования в их последовательности и взаимосвязи, приводящая к разработке проекта ПО. Здесь мы дадим более раз вернутое и строгое определение ТС ПО.
Основные определения (система понятий, описывающих ТС ПО)
Технология создания ПО — упорядоченная совокупность взаи мосвязанных технологических процессов в рамках ЖЦ ПО.
Технологический процесс — совокупность взаимосвязанных технологических операций.
Технологическая операция — основная единица работы, выпол няемая определенной ролью, которая:
•подразумевает четко определенную ответственность роли;
•дает четко определенный результат (набор рабочих продук тов), базирующийся на определенных исходных данных (другом наборе рабочих продуктов);
•представляет собой единицу работы с жестко определенны ми границами, которые устанавливаются при планировании проекта.
350 |
Глава 5 |
является композитным состоянием по отношению к состояниям отдельных элементов. Поведение каждого отдельного элемента ТС ПО (технологического процесса, технологической операции, рабочего продукта и др.) в ЖЦ ПО также представляется в виде последовательности переходов между его состояниями.
5.2. ОБЩИЕ ТРЕБОВАНИЯ, ПРЕДЪЯВЛЯЕМЫЕ КТСПО
Основным требованием, предъявляемым к современным ТС
ПО, является их соответствие стандартам и нормативным до ментам, связанным с процессами ЖЦ ПО и оценкой технологи ческой зрелости организаций-разработчиков (ISO 12207, ISO 9000, СММ и др.). Согласно этим нормативам ТС ПО должна поддерживать следующие процессы:
•управление требованиями;
•анализ и проектирование ПО;
•разработка ПО;
•эксплуатация;
•сопровождение;
•документирование;
•управление конфигурацией и изменениями;
•тестирование;
•управление проектом.
Полнота поддержки процессов ЖЦ ПО должна поддерживать ся комплексом инструментальных средств (CASE-средств).
Соответствие стандартам означает также, в частности, ис пользование общепринятых, стандартных нотаций и соглашений. Для того чтобы проект мог выполняться разными коллективами разработчиков, необходимо использование стандартных методов моделирования и стандартных нотаций, которые должны быть оформлены в виде нормативов до начала процесса проектирова ния. Несоблюдение проектных стандартов ставит разработчиков в зависимость от фирмы — производителя данного средства, делает затруднительным формальный контроль корректности проект ных решений и снижает возможности привлечения дополнитель ных коллективов разработчиков, смены исполнителей и отчужде ния проекта, поскольку число специалистов, знакомых с данным методом (нотацией), может быть ограниченным.