Если нет ТЗ, то получится ХЗ

Народная мудрость

Проектирование программы – это как закладка фундамента при строительстве дома: от его качества будет зависеть судьба всего проекта.

Добавьте к файлам программы ещё одну папку, в которой вы будете хранить проектную документацию. Поверьте, это сэкономит кучу вашего времени и повысит скорость разработки и сопровождения вашего проекта. В этой папке должно быть как минимум три документа: требования заказчика, техническое задание и описание проекта.

Требования заказчика

Это очень важный документ, являющийся отправной точкой проекта. Хотя обычно он представляет слабо структурированный поток сознания, зафиксированный в виде текста с грамматическими ошибками, но именно он должен лежать в основе любой программы. Даже если вы пишите программу для себя, набросайте несколько строчек, чтобы лучше представить себе, что же вы хотите создать. Желательно структурировать данный документ, чтобы он содержал информацию по каждому из рекомендуемых разделов:

Цели и задачи

Краткая формулировка, описание того, что именно должна делать программа. Это – компас, который должен четко указывать направление и цель.

Среда выполнения

Для каких устройств требуется программа? Многие люди не различают программы для персональных компьютеров от мобильных приложений или он-лайн сервисов, созданных с помощью веб-сайтов. Также важно понимать, для какой операционной системы создается программа: Windows, iOS или Linux.

СУБД

Заказчик не обязан указывать, какую СУБД необходимо использовать в проекте. Он может лишь описать требования к этой СУБД по производительности, количеству пользователей, стоимости лицензий. В этом случае разработчику необходимо будет аргументированно предложить те варианты, которые должны обеспечить достижение целей проекта и соответствовать ожиданиям заказчика.

К примеру, My Visual Database может работать с двумя СУБД: SQLite и MySQL. SQLite предназначена для однопользовательских приложений или приложений с небольшим числом одновременно работающих пользователей. MySQL нужна если программой будут пользоваться одновременно несколько человек или если нужно организовать доступ к данным через интернет.

Пользователи и роли

Однопользовательские программы предполагают, что с ней будет работать только один человек на одном компьютере. Если пользователей много, то скорей всего понадобится система аутентификации и авторизации, а доступные пользователю действия будут зависеть от его роли. 

Входные данные

Что именно пользователь будет вводить в программу? Имеется ввиду ручной ввод или экспорт данных из других файлов. Эта информация поможет построить объектную модель и создать структуры для хранения данных.

Выходные данные

Что и как нужно отображать на экране? Нужно ли формировать печатные формы и файлы для экспорта данных? В простейших случаях вводимые и отображаемые данные совпадают: справочники, ведомости, реестры и т.д. Но иногда на выходе требуются дополнительные вычисляемые данные (итоговые сведения, сводные отчеты и т.д.) или другое представление вводимых данных.

Процесс обработки

В некоторых случаях необходимо пояснить, как именно производится ввод и обработка данных. Например, в банковском учете после закрытия операционного дня запрещено редактирование введенных ранее сведений.

Дополнительные требования

В этом разделе могут быть указаны любые требования заказчика, например, относящиеся к внешнему виду интерфейса или времени обработки данных.

Техническое задание

Техническое задание является не только внутренним документом разработчика, но и основой для заключения договора с заказчиком: в нем четко определяется функциональность и внешний вид приложения, область его применения и другие характеристики. Основным критерием выполнения работ является соответствие программы техническому заданию, поэтому перед началом реализации ни у заказчика, ни у исполнителя не должно быть вопросов по данному документу.

Структура технического задания определяется внутренним стандартом разработчика, а содержание должно включать все требования заказчика в формализованном виде. Обычно техническое задание включает следующие разделы:

Общие требования

В этом разделе находятся требования заказчика из раздела “Цели и задачи” и “Дополнительные требования” с уточненными формулировками в контексте возможностей реализации.

Структура данных

Список сущностей (объектов) и их свойств, которые будут храниться в базе данных, а также их взаимосвязи (схема данных). По сути – это описания таблиц и полей с указанием назначения поля и типа хранимых данных. 

Пользовательский интерфейс

Включает в себя описание принципов работы интерфейса, а также его ключевых элементов: состав и назначение главного меню, панели инструментов главной формы, внешний вид форм. Описание возможностей по поиску и фильтрации данных, состав и функции панели инструментов и кнопок стандартных форм приложения, наличие горячих клавиш и т.д.

Сценарии

Сценарий описывает последовательность действия пользователя при выполнении им конкретной функции: ввод накладной, расчет остатков, списание товара и т.д. В дальнейшем такие сценарии могут стать основой инструкций по работе с программой для конечного пользователя.

Описание проекта

По сути описание проекта (проектная документация) – это техническое задание, дополненное сведениями о конкретной реализации тех или иных функций, о внешнем виде пользовательского интерфейса, параметрах процедур и т.д.

Наличие такого документа позволит производить доработки программы, даже если после её создания прошло много времени. Отчасти функции описания проекта выполняют текстовые комментарии в исходных кодах, но не всегда их бывает достаточно: например, могут понадобиться диаграммы или схемы.

Макетирование

Макетирование (создание макета приложения) – важная часть процесса проектирования приложения. Она позволяет пользователю увидеть и даже «потрогать» интерфейс программы, чтобы внести необходимые корректировки в свои требования. Макет приложения – это набор форм и элементов графического пользовательского интерфейса (GUI) без подключения к базе данных.

В среде разработки My Visual Database легко создать макет приложения, сделать скриншоты экранных форм или предоставить пользователю приложение с ограниченным функционалом для опробования.

Имеется много программ для создания скриншотов с возможностью их редактирования (наложение стрелок, рамок, надписей и т.д.). Я рекомендую скриншотер от mail.ru.

Объектный подход. Сущности. Атрибуты.

Объектный подход в проектировании приложения заключается в том, чтобы выделить из потока информации, поступающего от заказчика, сведения об объектах (сущностях), с которыми он работает. Эта информация ляжет в основу структуры данных и пользовательского интерфейса. 

Вторым важным моментом в проектировании является выделение и описание свойств (атрибутов) объектов. Свойства могут быть количественными или качественными.

Количественные свойства (масса, длина, объем, название) можно выразить числовым значением или строковым литералом. Таким свойствам будут соответствовать поля в таблице базы данных с соответствующим типом.

Качественные свойства (тип, сорт, материал изготовления) выражаются через ссылку на элемент множества, описывающий данное свойство. А множество это есть ни что иное, как отдельная сущность. Поэтому таким свойствам будет соответствовать поле с типом “Ссылка”, который будет рассмотрен далее. Также бывают смешанные свойства, например цвет можно одновременно представить названием и числовыми параметрами RGB составляющих. Такие свойства также являются качественными и реализуются через отдельные сущности. 

Сущности для выражения качественных свойств называют простыми справочниками. 

Третий момент – выделение действий над объектами. Действия могут быть стандартными или специфическими, присущими только какому-то конкретному объекту.

Стандартные действия, применяемые к объектам: создание, изменение (редактирование), выборка, удаление, сортировка. 

Специальные действия указываются и описываются для каждого объекта. Например: получение представления для печати или выгрузки данных (отчет), фильтрация данных, копирование.

Кроме действий над объектом бывают действия, которые производит сам объект, но это предмет отдельного рассмотрения, так как вышесказанное относится к объектам программного кода, тогда как объекты базы данных сами не производят никаких действий.

Если проектирование программы завершено, то можно переходить к её созданию.

My Visual Database


DataExpress


Delphi

Один комментарий к “Проектирование”

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *