1. Постановка задачи.
2. Предмодельный анализ.
3. Анализ задачи.
4. Исследование модели.
5. Программирование, проектирование программы.
6. Тестирование и отладка.
7. Оценка моделирования.
8. Документирование.
9. Сопровождение.
10. Использование (применение) модели.
При моделировании систем ПО выделяют два подхода: структурное моделирование и объектно-ориентированное моделирование. Каждый из этих подходов использует свои методы и средства. Язык моделирования должен включать: элементы модели, т.е. функциональные концепции моделирования и их семантику, нотацию, т.е. визуальное представление элементов моделирования и руководство по использованию. При моделировании широко используются инструментальные средства, называемые Case-средствами. Case-средство – это технология использования и эксплуатации систем ПО. Case-средство – это программное средство, которое поддерживает процессы жизненного цикла ПО. ЖЦ любого ПО – это период времени от принятия решения о необходимости создания ПО до изъятия ПО из эксплуатации. Все процессы ЖЦ ПО делятся на три группы: основные (5), вспомогательные (8), организационные (4). Для разработки моделей ЖЦ используется стандарт (ISO/IEC 12207). Стадия создания ПО – это часть процесса создания ПО, ограниченная временными рамками и заканчивающаяся выпуском конкретного продукта (модели, программы или документации). В состав ЖЦ ПО включают стадии:
1. Формирование требований к ПО
2. Проектирование
3. Реализация
4. Тестирование
5. Ввод в действие
6. Эксплуатация и сопровождение
7. Снятие с эксплуатации.
Сущность структурного подхода к разработке ПО заключается в его декомпозиции на автоматизируемые функции: система разбивается на функциональные подсистемы, которые в свою очередь делятся на подфункции, те – на задачи и т.д. до конкретных процедур. Все компоненты автоматизируемой системы взаимоувязаны. В структурном подходе используются две группы средств, которые описывают функциональную структуру системы и отношения между данными. Каждой группе средств соответствуют определенные виды моделей, самые распространенные среди них:
DFD – диаграмма потоков данных – основное средство моделирования функциональных требований к проектируемой системе. Требования к системе представляются в виде иерархии функциональных компонент (процессов), связанных потоками данных. Главная цель такого представления – показать, как каждый процесс преобразует свои входные данные в выходные, а также выявить отношения между этими процессами. Основными компонентами диаграммы потоков данных являются внешние сущности, системы и подсистемы, процессы, накопители данных и потоки данных.
SADT – метод структурного анализа и проектирования – совокупность правил и процедур, предназначенных для построения функциональной модели объекта какой-либо предметной области. Функциональная модель SADT отображает функциональную структуру объекта, т.е. производимые объектом действия и связи между ними.
ERD – диаграммы сущность – связь. Это самое распространенное средство моделирования данных, которые в процессе проектирования и реализации будут отображены в базу данных. Базовыми понятиями данного средства моделирования являются: сущность, связь и атрибут.
Принципиальное отличие между структурным и объектно-ориентированном подходом при моделировании систем ПО заключается в способе декомпозиции системы. Объектно-ориентированный подход использует объектную декомпозицию. При этом статическая структура системы описывается с помощью объектов и связей между ними, а поведение объектов системы описывается сообщениями, которыми объекты обмениваются между собой. Основой объектно-ориентированного подхода является объектная модель. Элементами (свойствами) этой модели являются: абстрагирование, инкапсуляция, модульность, иерархия, типизация, параллелизм, устойчивость.
Абстракция – это процесс выявления основных характеристик какой-либо сущности, которые отличают ее от других сущностей.
Инкапсуляция – это процесс отделения друг от друга отдельных элементов объекта, которые определяют устройство и поведение объекта. Инкапсуляция служит для того, чтобы изолировать интерфейс объекта, который отражает внешнее поведение объекта от его внутренней реализации.
Модульность – это свойство системы, связанное с возможностью ее декомпозиции на ряд внутренне связных, но слабо связанных между собой модулей.
Иерархия – это ранжирование или упорядочивание системы абстракций. Виды иерархических структур – это структура классов и структура объектов.
Типизация – это ограничение, которое накладывается на класс объектов, она препятствует взаимозаменяемости различных классов.
Параллелизм – это свойство объектов находиться в активном или пассивном состоянии и различать активные и пассивные объекты между собой.
Устойчивость – свойство объекта существовать во времени и/или пространстве.
Основные понятия, используемые при объектно-ориентированном моделировании: объект и класс.
Объект – это предмет или явления, которое имеет четко определяемое поведение. Класс – это множество объектов, которые имеют общую структуру и поведение. Объект является экземпляром класса. Важными понятиями в объектно-ориентированном моделировании являются полиморфизм и наследование. Полиморфизм – это способность класса принадлежать более чем одному типу. Наследование – это построение новых классов на основе уже существующих, при этом можно добавлять или переопределять данные и методы.