- •1. Методология объектно-ориентированного программирования (ооп). Понятие класса и объекта. Общие принципы
- •2. Методология объектно-ориентированного анализа и проектирования. Основные этапы развития uml
- •3. Основные компоненты языка uml. Унифицированный процесс проектирования. Состав моделей
- •4. Uml Диаграмма вариантов использования и правила ее построения. Пример.
- •5. Uml. Концептуальный уровень. Диаграмма классов и правила ее построения. Пример.
- •6. Операции и методы в языке uml.Свойства понятий и нотация. Примеры
- •7. Отношения между классами в uml. Примеры
- •8. Uml. Логический и физический уровень. Диаграммы классов. Объекты и шаблоны (параметризованные классы).
- •9.Диаграмма состояний (простые состояния) и правила ее построения. Пример.
- •10.Составные и исторические состояния в диаграмме состояний. Сложные переходы. Синхронизирующие состояния. Примеры.
- •11.Диаграмма деятельности и правила ее построения. «Плавательные дорожки». Примеры.
- •12. Диаграмма последовательности и правила ее построения. Виды сообщений и правила их обозначений. Примеры
- •13. Диаграмма кооперации и правила ее построения. Активные и пассивные объекты. Связи в кооперации и их обозначения.
- •14. Диаграмма компонентов и правила ее оформления. Интерфейсы и их описания. Примеры
- •15. Диаграмма развертывания и правила ее построения
- •16. Язык объектных ограничений ocl.Назначение и основные конструкции.
- •17. Модель данных и ее связь с объектной моделью. Генерация схем баз данных.
- •Объектные модели данных
- •Модели данных на основе записей
- •Физические модели данных
- •18. Ас административно-организационного управления. Уровни управления. Экономическая информация и ее виды. Отечественные и международные стандарты финансовой отчетности
- •19. Задачи автоматизации управленческого и бухгалтерского учета.
- •3. Задачи бухгалтерского учета
- •4. Принципы построения аис обработки организационно-экономической информации. Стратегии управления
- •20. План счетов предприятия. Принципы работы с планом счетов в ас бухгалтерского учета. Корреспонденция счетов. Бухгалтерский баланс.
- •21. Документальные формы ведения бухгалтерского учета. Программные комплексы управленческого и бухгалтерского учета
- •Структура бд системы обработки оэ-информации
- •22. Реализация систем управленческого и бухгалтерского учета. Структура информационной базы.
- •Структура бд системы обработки оэ-информации
- •23. Стратегии управления предприятием. Стандарты mrp,erp,csrp
- •Основные недостатки mrp систем
- •Алгоритм работы
- •Функции erp-систем
- •Внедрение
- •Достоинства
- •Преимущества csrp
- •24. Ресурсные расчеты. Расчет внешней памяти. Расчет необходимого объема внешнего запоминающего устройства
- •Расчет необходимого объема оперативного запоминающего устройства
- •25. Выбор комплекса технических средств. Расчет времени реакции.
- •Требования к комплексу технических средств
16. Язык объектных ограничений ocl.Назначение и основные конструкции.
OCLпредназначен для записи различного рода ограничений и условий. Ориентирован на ОО среду во всех направлениях.
Основные элементы выражений языка – классы, объекты, типы.
Автор языка – Joss Warrence (IBM). Язык является формальным, строго типизируемым, но не интерпретируемый (программы писать нельзя). Позволяет строго и точно записать различные условия и ограничения по классам, атрибутам, методам, имеет понятный синтаксис.
Основной конструкцией языка является выражение(context–ключевое слово).
В выражении и записывается все условия и ограничения, действующие в системе.
Каждое выражение языка является контекстно-зависимым – привязанным к окружающей обстановке или к некоторому типу, классу, который указывается после слова context.
Имеется 3 типа ограничений:
Inv– инвариант
Pre- предусловие
Post– постусловие
Инвариант – некоторое условие, которое сохраняется в определенном контексте. Условий может быть много.
Пред и пост условия – используется для записи ограничений по использованию определенных методов и классов.
Pre– условие, которое должно быть выполнено перед операцией.
Post– условие, которое должно быть выполнено после операции.
Self. – разыменование - ссылка на тот тип или класс, который оговорен в контексте (на экземпляр).
Выражение может формулировать некоторое ограничение или запрос. Но никакое выражение не изменяет состояние контекста. Носит только информативный характер.
Выражение не расширяет семантику UML, может лишь ограничить.
Пример:
Contextкомпания(класс)inv:
Self.numberOfEmp(атрибут)>0 или
Contextb: компанияinv:
b.numberOfEmp>0 или
Contextb: компанияinvОгрПоПерсоналу(имя ограничения):
b.numberOfEmp>0
На диаграммах строки выражений OCLмогут привязываться к элементам диаграмм пунктирной линией. В языке определены все основные типы данных:
Boolean,Integer,Real,String
Основные операции:
Boolean : And, or, xor, not, implies(импликация), if-then-else-endif
Integer: +,-,*,/, div, abs, mod,max, min
Real: +,-,*, abs,floor, round, max, min
String: concat, size(), toUpper, toLower(переход в верхний, нижний регистр)
Используются: ( ), <,>,<>,=,<=,>=.
/-при условии
Приоритеты операций:
@pre– ссылка на предыдущее условие
. или -> для выражений и работы с коллекциями
Not или унитарный
*, /
+, -
If _ then_ else_endif
>,<,>=, <=
=,<>
And,or,xor
Implies
-- комментарий
Операция может быть записана в 2 формах:
- обычной : a+b,
Инфиксной : a.+(b),
Пример:
b1 xor b2 b1.xor b2
true=b1=true,b2=false; false =b1=true,b2= true;
нельзя смешивать разные типа данных. Исключение IntegerиReal.
Работа с коллекциями:
Неупорядоченное множество без повторов (set): {1,5,7,3,9}
упорядоченное множество без повторов (orderedset): {1,3,5,7,9}
Мультимножество (Bag) – неупорядоченное с повторами: {1,5,7,1,3,3}
Последовательность (sequence)- упорядоченное мультимножество: {1,1,3,3,6,7}
Операции с коллекциями:
Select– отбор элементов для которых условие выполняется
reject- отбор элементов для которых не выполняется
Exists– проверка на существование того или иного элемента.
Пример записи выражения:
Contextкомпанияinv:
selfсотрудник ->reject(имеет семью) ->empty(пусто) – т.е. компания состоит только из семейных сотрудников;
Context b:Банк inv:
b.клиент ->forall(счет>=100$) – т.е. для любого клиента счет должен быть >100;
Context В: банк inv:
B. клиент ->forAll(x1,x2:Клиент|X1<>x2impliesX1.имя <>x2.имя) – условие уникальности имен клиента. Если х1 их2 –клиенты, и х1<>х2, то имена должны быть различны.
contextx: Компанияinvконтроль_пакет_акций:
x.акционер ->exists(a: Акционер | а. количество_акций>=50% ‘от общего числа’) – т.е. если у акционера > 50% акций, то он акционер.
Определение возраста сотрудника:
Set возраст: integer = t.Date – Self.b_Date
Context Сотрудник.возраст()
Post: if t_Date>=b_Date then
Возраст=возраст@pre +1
Else возраст = возраст@pre end if
t_date– текущая дата
b_date– дата рождения