Проектирование архитектур информационных систем. Беляев К.С. - 27 стр.

UptoLike

Составители: 

27
Давайте проанализируем требования с целью выделения
потенциальных классов. В первом утверждении подходящими классами
являются классы Degree (Степень) и Course (Курс). Эти два класса
удовлетворяют пяти правилам, перечисленным ранее.
Мы пока не уверены, должен ли и каким образом класс Course быть
сужен до классов CompulsoryCourse (Обязательный курс) и ElectiveCourse
(Выборочный курс). Например, ясно, что курс является обязательным или
выборочным в зависимости от степени. Возможно, что различие между
обязательными и выборочными курсами может быть зафиксировано с
помощью ассоциации или даже атрибута класса. Таким образом,
CompulsoryCourse и ElectiveCourse рассматриваются как нечеткие классы.
Второе утверждение идентифицирует только атрибуты класса
Course, а именно course_level (уровень курса) и credit_point_value
(количество условных очков). Третье утверждение характеризует
ассоциацию между классами Course и Degree. Четвертая формулировка
вводит атрибут min_total_credit_points (минимальное общее количество
условных очков) в качестве атрибута класса Degree.
Последнее утверждение позволяет нам выделить три новых класса:
Student (Студент), CourseOffering (Предлагаемый курс) и StudyProgram
(Программа обучения). Первые два, безусловно, являются релевантными
классами, а вот StudyProgram можно превратить в ассоциацию между
классами Student и CourseOffering. Поэтому StudyProgram
классифицируется как нечеткий класс. Наши рассуждения отражены в
табл. 1.
Таблица 1
Релевантные классы Нечеткие классы
Course (Курс) ComplosoryCourse (Обязательный курс)
Degree (Степень) ElectiveCourse (Выборочный курс)
Student (Студент) StudyProgram (Программа обучения)
CourseOffering (Предлагаемый курс) -