Академический Документы
Профессиональный Документы
Культура Документы
Червенчук
Методические указания
к выполнению курсовой работы
Омск 2008
2
Рецензент
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ …………………………………………………………………4
Библиографический список…………………………………………...47
4
ВВЕДЕНИЕ
Добавить Изменить
<<include>>
<<include>>
<<include>>
Удалить
Редактирование данных
Авторизация
<<include>>
Поиск по фамилии
Пользователь
Поиск по оценкам
ввод Login,
Password
Нажатие
клавиши
Нажата
Cancel
Да
Нет
Нажата Enter
Нет
Да
Аутентификация
Login, Password
Аутентификация
администратора выполнена
Нет
Да
Установить права
администратора
Да Нет
Вход в систему
заочная).
Класс группа имеет атрибуты: название, форма обучения, число
студ. (число студентов). Учитывая, что преподаватели рассматриваемой
кафедры могут вести занятия у групп с других факультетов, вводится
дополнительный класс специальность, с атрибутами номер
(специальности), название (специальности), факультет, типы которых
в данной модели не заданы, хотя могут определяться через
перечисления.
Класс дисциплина имеет атрибуты: номер, название, цикл.
Атрибут цикл посредством введенного через перечисление
специализированного типа Т_Циклы определяет к какому циклу
относится дисциплина: к циклу гуманитарных и социально-
экономических дисциплин, математических и естественнонаучных
дисциплин, общепрофессиональных дисциплин или специальных
дисциплин.
Атрибуты количество часов, количество семестров нельзя
указать в классе дисциплина, поскольку они зависят от специальности,
тем более нельзя указать их в классе специальность. Данные атрибуты
относятся к паре специальность-дисциплина и определяются в классе -
ассоциации Дисциплины-специальности.
При визуализации структуры классов следует обращать внимание
на видимость атрибутов. Все рассмотренные атрибуты должны быть
доступны и иметь видимость Public (обозначается знаком «+» или
пиктограммой без замка). В рассмотренных классах мы делали упор на
структуру, а не на поведение (операции не описывались и не
предполагается их описывать), поэтому для облегчения восприятия
диаграммы желательно изображение операций подавить.
На введенном множестве классов необходимо доопределить связи.
Связи обобщения и зависимости были уже определены, осталось
определить ассоциации.
Студенты формируются в группы, в данном случае ассоциация
будет иметь вид агрегации. Агрегация предполагает отношение типа
часть-целое, обозначается сплошной линией с ромбиком на конце со
стороны целого (в нашем случае группы). Множественность
отношения студенты-группы «многие к одному». Каждая группа
относится к определенной специальности, в свою очередь
определенной специальности может соответствовать несколько групп,
поэтому ассоциация группа-специальность также имеет тип
множественности «многие к одному».
В данном случае, как и в большинстве других, направление
ассоциаций двухстороннее, поэтому навигацию лучше подавлять (снять
галочку в поле Navigable опции Detail Role).
24
Персона T_ADR
Фамиллия : String Индекс : T_POSTIDX
Имя : String Город : String <<type>>
Отчество : String Улица : String T_POSTIDX { 6-значное
Адрес : T_ADR Дом : String десятичное число }
<<enum>> Телефон : Integer Квартира : Integer
Т_Должн
ассистент
ст. преподаватель
доцент Студенты
Аспиранты
профессор Номер зачетки : String
Форма обучения : Т_ФормОбуч
Преподаватели 1 Дата поступления : Date
<<enum>> Должность : Т_Должн 1..n
0..n 0..n
T_УчСт Уч.степень : T_УчСт
0..n
к.т.н. Уч. звание : T_УчЗв +руководитель
к.ф.-м.н. Разряд : Integer
к.п.н. ставка : Double 1
д.т.н. 1..n 1..n Староста
д.ф.-м.н.
д.п.н Ведут занятия
1..n 1
1 0..n
<<enum>> Группа <<enum>>
T_УчЗв Название : String Т_ФормОбуч
доцент Форма обучения : Т_ФормОбуч
Очная
профессор Число студ : Integer
Заочная
1..n
1..n 1
<<enum>> Специальность
Т_ЦИКЛЫ Дисциплины
0..n Номер : Integer
Номер : Integer
гуманитарных и соц-эконом Название : String
Название : String 1..n
мат. и естеств.науч. 1..n Факультет
Курс : Integer
общепрофессиональн.
Цикл : Т_ЦИКЛЫ
специальные Дисциплины-Специальности
Кол-во часов
Кол-во семестров
Персона T_ADR
Фамиллия : String Индекс : T_POSTIDX
Имя : String Город : String
Отчество : String Улица : String
<<type>>
Адрес : T_ADR Дом : String
Квартира : Integer T_POSTIDX { 6-значное
Телефон : Integer
десятичное число }
<<enum>>
Т_Должн
ассистент
ст. преподаватель
доцент Преподающие Аспиранты
профессор Форма обучения : Т_ФормОбуч
Ставка : float
Разряд : Integer Дата поступления : Date
1..n
<<enum>> 0..n
1..n
T_УчСт +руководитель Студенты
к.т.н. Преподаватели
к.ф.-м.н. 1 Номер зачетки : String
Должность : Т_Должн
к.п.н.
Уч.степень : T_УчСт 1
д.т.н.
д.ф.-м.н.
Уч. звание : T_УчЗв Ведут занятия
1..n
д.п.н
Староста
1..n <<enum>>
1 1 Т_ФормОбуч
Группа
Очная
<<enum>> Название : String
Заочная
T_УчЗв Форма обучения : Т_ФормОбуч
доцент 1..n Число студ : Integer 1
профессор Специальность
1..n
Дисциплины Номер : Integer
<<enum>> Название : String
Т_ЦИКЛЫ Номер : Integer 1..n
Факультет
Название : String 1..n
гуманитарных и соц-эконом
мат. и естеств.науч.
Цикл : Т_ЦИКЛЫ Дисциплины-Специальности
общепрофессиональн. Кол-во часов : Integer
специальные Кол-во семестров : Integer
Курс : Integer
Персона T_ADR
Фамиллия : String Индекс : T_POSTIDX
Имя : String Город : String
Отчество : String Улица : String
Адрес : T_ADR Дом : String
Телефон : Integer Квартира : Integer
Преподающие Аспиранты
Ставка : float Форма обучения : Т_ФормОбуч
Разряд : Integer Дата поступления : Date
1..n
0..n
1..n
+руководитель Студенты
Преподаватели
1 Номер зачетки : String
Должность : Т_Должн
Уч.степень : T_УчСт
1
Уч. звание : T_УчЗв Ведут занятия 1..n
Староста
1..n
1 1
Группа
Название : String
Форма обучения : Т_ФормОбуч
1..n Число студ : Integer
1
1..n Специальность
Дисциплины Номер : Integer
Номер : Integer Название : String
1..n Факультет
Название : String
1..n
Курс : Integer
Цикл : Т_ЦИКЛЫ Дисциплины-Специальности
Кол-во часов
Кол-во семестров
Электронная таблица
Редактир
ование
КодирТабл
Аспиранты
Login
Форма обучения : Т_ФормОбуч
Password
Преподающие Дата поступления : Date
Ставка : float 0..n
Разряд : Integer
1..n
1..n +руководитель
Студенты
Преподаватели 1 Номер зачетки : String
Должность : Т_Должн
Поиск Уч.степень : T_УчСт
1 <<Interface>>
преподавателя Уч. звание : T_УчЗв Ведут занятия 1..n
Поиск студента
1..n Староста
1 Поиск по фамилии()
1
Группа Поиск о оценкам()
Название : String
Форма обучения : Т_ФормОбуч
1..n Число студ : Integer 1
Специальность
Дисциплины 1..n
Номер : Integer
Номер : Integer
1..n Название : String
Название : String 1..n
Поиск дисциплины Факультет
Цикл : Т_ЦИКЛЫ
Дисциплины-Специальности
Кол-во часов : Integer
Кол-во семестров : Integer
Курс : Integer
2: Открыть форму
4: Сохранить запись
5: Сохранить запись
8: Сохранить запись
Форма
Ввода
1: Создать нов запись
2: Открыть форму 5: Сохранить запись
3: Вести Ф.И.О, адрес ...
4: Сохранить запись
Менеджер записей :
Студенты
: Админ
<<Table>>
<<Table>> ТСтудент
<<Table>> Т_Группа-Преп IDST : SMALLINT
Т_Преподающие ID_PREP : SMALLINT Фамилия : VARCHAR(25)
ID : SMALLINT НомерГруппы : VARCHAR(8) Имя : VARCHAR(25)
Фамилия : VARCHAR(25) 0..* Отчество : VARCHAR(25)
Имя : VARCHAR(25) <<PK>> PK_Т_Группа-Преп5() Индекс : INTEGER
Отчество : VARCHAR(25) Город : VARCHAR(20)
Индекс : INTEGER 1 1..* Улица : VARCHAR(25)
Город : VARCHAR(20) Дом : VARCHAR(6)
Улица : VARCHAR(25) Квартира : VARCHAR(6)
Дом : VARCHAR(6) Группа : VARCHAR(8)
Квартира : SMALLINT 1 1..*
<<PK>> PK_ТСтудент1()
<<PK>> PK_Т_Преподающие0() <<Table>> 1 <<Check>> PostIDX()
<<Check>> PostIDX() <<Table>> Т_Группа
ТДисциплины Название : VARCHAR(8) 1
1 1
1 Номер : SMALLINT Форма Обучения : SMALLINT
Название : VARCHAR(40) Число Студениов : SMALLINT
Цикл : SMALLINT Староста : SMALLINT Староста
1
<<PK>> PK_ТДисциплины6() 1 <<PK>> PK_Т_Группа2()
1..*
руководитель
<<Table>>
Т_Дисц иплины-специальности
Номер Дисциплины : SMALLINT
Номер Спецмалиности : SMALLINT
Курс : SMALLINT
Колмчество часов : SMALLINT
1 Количество семестров : SMALLINT
<<Table>>
ТПреподаватель <<PK>> PK_Т_Дисциплины-специальнос4()
1 1 1..*
ID_PREP : SMALLINT
Должность : SMALLINT 1
УчСтепень : SMALLINT <<Table>>
УчЗвание : SMALLINT Т_Аспиранты <<Table>>
ID_PREP : SMALLINT ТСпециальность
Форма Обучения : SMALLINT Номер : SMALLINT
Дата Поступления : DATE Название : VARCHAR(40)
ID_РУК : SMALLINT Факультет : SMALLINT
<<PK>> PK_ТСпециальность3()
процесс, который:
- управляется прецедентами использования;
- основан на архитектуре;
- является итеративным и инкрементным.
Управляемость прецедентами использования означает, что
прецеденты должны быть основным артефактом, на основании
которого устанавливается желаемое поведение системы,
проверяется и подтверждается правильность выбранной системной
архитектуры, производится тестирование и осуществляется
взаимодействие между участниками проекта.
Процесс называют основанным на архитектуре (Architecture-
centric), когда системная архитектура является решающим
фактором при разработке концепций, конструировании, управлении
и развитии создаваемой системы.
Итеративным (Iterative) называется процесс, который
предполагает управление потоком исполняемых версий системы.
Инкрементный (Incremental) процесс подразумевает постоянное
развитие системной архитектуры при выпуске новых версий,
причем каждая следующая версия усовершенствована в сравнении
с предыдущей. Процесс, являющийся одновременно итеративным и
инкрементным, называется управляемым рисками (Risk-driven),
поскольку при этом в каждой новой версии серьезное внимание
уделяется выявлению факторов, представляющих наибольший риск
для успешного завершения проекта, и сведению их до минимума.
Средства языка UML дают широкие возможности по
использованию управляемого прецедентами, основанного на
архитектуре, итеративного и инкрементного процесса разработки
программного обеспечения.
41
программы.
Очевидно, что второй подход как наименее трудоемкий наиболее
привлекателен: с одной стороны мы имеем концептуальную UML-
модель информационной системы, с другой соответствующий ей
исходный код модулей разработанной системы на соответствующем
языке программирования. Однако, при этом связи между моделью и
программным кодом становятся менее жесткими и в крайнем случае
чисто умозрительными. К тому, же в ряде случаев желательно иметь
подробно проработанную модель некоторых модулей системы в
терминах конкретного языка программирования и базовых классов.
Выходом является использование средств обратного проектирования.
Средства обратного проектирования позволяют из исходного кода
программы на языке программирования построить UML-модель.
Средства обратного проектирования являются дополнительными
средствами систем моделирования и встраиваются в них. Кроме того,
сторонними фирмами выпускаются программы, обеспечивающие связь
между средствами UML-моделирования и популярными средствами
разработки программного обеспечения, так фирма Ensamble Systems
выпустила продукт Rose Delphi Link , предназначенная для обеспечения
двухсторонней связи при проектировании между системой
моделирования Rational Rose и популярной системной разработки
приложений Borland Delphi.
Применение средств обратного проектирования может вносить
существенные коррективы в общий цикл разработки информационной
системы. При программировании в Delphi есть особенность,
существенно отличающая разработку в Delphi от разработки в
других средах программирования: программирование
пользовательского интерфейса. Как правило, разработка большей
части программ начинается именно с проектирования интерфейса
пользователя, а при дальнейшем программировании – его
существенного изменения. Поэтому использовать стандартный
подход Rational Rose не совсем удобно. Для решения этой
проблемы компания Ensemble Systems предлагает следующую
методологию проектирования (рис. 10).
43
В Rose В Delphi
+DBGrid1
+ADOConnection1
+DBNavigator1
TDataSource
(from Unresolved References)
+DataSource1
TLabel
+Label1 (from Unresolved References)
TForm2
Button1Click() +Button1
TButton
(from Unresolved References)
+Table2
+ADOTable1
TADOTable
(from Unresolved References)
TForm
(from Unresolved References)
<<Unit>> <<Unit>>
Unit1 Unit7
<<Unit>>
<<Unit>>
Unit5
Unit2
<<Unit>> <<Unit>>
Unit3 Unit4
Библиографический список