1 Анализ требований, во время которого выделяются основные процессы, происходящие в моделируемой системе.
2. Анализ предметной области - процесс идентификации, сбора, упорядочения и представления актуальной информации о предметной области, основанной на изучении существующих систем и истории их развития, экспертных знаний, базовой теории и уровня технологического развития.
3 Объектно-ориентированное проектирование, при котором основное внимание сосредоточено на распределении задач и обязанностей между программными объектами в приложении.
Наиболее важным моментом объектно-ориентированного анализа и проектирования является распределение функций между компонентами программной системы. Оно оказывает определяющее влияние на масштабируемость, расширяемость и возможность повторного использования компонентов.
Библиотека docx
Библиотека позволяет создавать и обрабатывать документы Microsoft Word типа.docx. Имеет ограниченный набор функций для доступа к документу. Фактически, библиотека предназначена только для создания документов с нуля, возможности модификации документов сильно ограничены. Обработке поддаётся только текстовое содержание документа.
Наиболее существенные ограничения:
1) Картинки можно только добавить;
2) При копировании параграфа изображения игнорируются;
3) К таблицам можно добавлять строки и столбцы только в конец.
Библиотека PyQT
Библиотека QT, разработанная компанией Trolltech as, предназначена для разработки приложений с графическим пользовательским интерфейсом (GUI) на языке C++. Qt была представлена в 1996 году, и с тех пор стала безусловным лидером среди имеющихся средств разработки межплатформенных программ на языке C++. Библиотека Qt часто используется в мире Linux, и, благодаря распространению графической оболочки KDE, стала де-факто стандартом проектирования программного обеспечения на этой платформе.
PyQt представляет собой сочетание языка программирования Python и библиотеки Qt. Официальный сайт проекта PyQt находится по адресу www.riverbankcomputing.co.uk. Он был разработан Филом Томпсоном.
Qt является кроссплатформенной, есть реализации библиотеки для MS/Windows, Unix/X11 (Linux, Sun Solaris, HP-UX, Digital Unix, IBM AIX, SGI IRIX и пр.), Macintosh (Mac OS X) и Embedded платформ. Библиотека является объектно-ориентированной, базирующейся на компонентах и имеет богатое разнообразие различных визуальных элементов - виджетов (widgets). Qt распространяется в коммерческой ('Qt Professional' и 'Qt Enterprise Editions') и некоммерческой версиях (http://www.trolltech.com).
Основной лозунг компании "Кодируй меньше - создавай больше".
Библиотека включает в себя:
· Среду для работы.
· Компилятор мета-объектов.
· Набор классов для разработки графического интерфейса.
Иерархия (классификация) объектов библиотеки PyQT приведена на рисунке 1.

Рисунок 1 – Иерархия (классификация) объектов библиотеки PyQT
Менеджеры размещения
В Qt имеются классы QHBoxLayout, QVBoxLayout и QGridLayout, которые специально предназначены для управления положением и размерами элементов в окне. Первый позволяет располагать элементы друг за другом по горизонтали, второй -- по вертикали, а третий размещает виджеты в ячейках воображаемой таблицы, причём каждый элемент может занимать несколько смежных ячеек по вертикали и/или горизонтали.
Обработка событий
Для связывания событий, происходящий с объектами, и функций, предназначенных для обработки этих событий, в библиотеке Qt используется интересный механизм сигналов и слотов. Сигнал -- это сообщение о том, что произошло какое-либо событие, например, нажатие на кнопку или выбор пункта меню. Вся информация о событии сохраняется в полях экземпляра соответствующего класса. У сигнала есть источник (например, кнопка) и приёмник (объект, метод которого будет обрабатывать это событие). Слот -- это сама функция-обработчик события. Связь между всеми четырьмя перечисленными элементами задаётся с помощью метода connect (соединить).






