В рамках дипломного проектирования будущие программисты и специалисты в области информационных технологий обязательно должны представить к защите некоторый программный продукт. Разработка любого программного продукта осуществляется в соответствие с выбранной моделью жизненного цикла. Модели могут несколько отличаться друг от друга, но основные этапы разработки программы повторяются во всех моделях: анализ, проектирование, реализация, тестирование и документирование.
Все эти этапы разработки программы должны найти свое отражение в пояснительной записке. Безусловно, наиболее полно должен быть описан этап проектирования, поскольку этот этап полностью выполняется «на бумаге». От того, насколько грамотно и полно было осуществлено проектирование системы, в полной мере зависит и успех этапа реализации программного продукта. На этапе проектирования должны быть описаны информационные потребности пользователей, выявленные на этапе анализа; спроектирована структура базы данных и представлены ее инфологическая и даталогическая модели; разработаны и отражены на диаграммах информационные потоки данных, а также потоки управления; выделены и описаны объекты, отражающие существенные характеристики значимых элементов предметной области, составлены диаграммы последовательности и состояний для них; представлена структурная схема программы.
Описанный в пояснительной записке проект системы является основой для следующего этапа – этапа реализации. Особую роль играет структурная схема программы. В ней отражается декомпозиция системы на подсистемы. Как правило, в рамках дипломного проектирования разрабатываются достаточно сложные системы, которые необходимо структурировать. Известны четыре модели системного структурирования: модель хранилища данных, клиент-серверная модель, трехуровневая модель и модель абстрактной машины. Выбор той или иной модели должен быть обоснован дипломником. При разработке структурной схемы программы необходимо также учитывать и требуемый тип модели управления (централизованное или событийное управление).
При построении второго уровня структурной схемы программы необходимо описать декомпозицию подсистем на модули. Используются на практике два типа моделей модульной декомпозиции: модель потока данных и модель объектов. В основе первой лежит разбиение по функциям, вторая модель основана на слабо сцепленных сущностях, имеющих собственные наборы данных и операций.