- •Спецификация требований программного обеспечения «Навигатор классов для
- •Введение
- •Цели стпо
- •Границы применения
- •Термины, акронимы, сокращения
- •Спецификация требований программного обеспечения «Навигатор классов для ос Ubuntu
- •Краткий обзор
- •Общее описание
- •Детальные требования
- •Требования внешних интерфейсов
- •Интерфейсы пользователя
- •Функциональные требования
Как читать этот пример
-
Пример начинается на следующей странице.
-
То, что написано зеленым - комментарий преподавателя. Реагировать на коммент соответственно его содержанию. Если что-то не понятно - смотри пункт 4.
-
Не все разделы СТПО, предлагаемые стандартом применимы к нашим задачам. Если есть сомнения - смотри пункт 4.
-
Если что-то не понятно - смотри пункт 4.
-
Не стесняемся, обращаемся с вопросами к преподавателю.
Спецификация требований программного обеспечения «Навигатор классов для
ОС Microsoft Windows 7 x86»
Оглавление
Для решения наших задач можно обойтись без оглавления.
-
Введение
-
Цели стпо
-
Данный документ содержит требования к разрабатываемому программному продукту и является основой для его разработки. Документ предназначен для специалистов ООО «ГоСт» по разработке программного обеспечения.
-
Границы применения
-
Данный документ содержит требования к программному продукту «Навигатор классов для ОС Microsoft Windows 7 х86» (в дальнейшем просто, продукт или изделие).
-
Указанный продукт предназначен для представления в виде иерархии информации о классах того или иного приложения по его исходному коду, без возможности его изменения.
-
Разрабатываемое приложение работает с исходными кодами приложений различных сред разработки, и поддерживает большинство объектно-ориентированных языков программирования. Пользователю предоставляется информация об имени, атрибутах и методах класса, а также иерархии наследования.
-
Данный пункт не нужен, поскольку он используется если составляется СТПО для подсистемы.
-
Термины, акронимы, сокращения
СТПО - спецификация требований к программному обеспечению ПО - программное обеспечение ОС - операционная система
-
Ссылки
-
Спецификация требований программного обеспечения «Навигатор классов для ОС Microsoft Windows 7 x64»
-
Спецификация требований программного обеспечения «Навигатор классов для ОС Ubuntu
-
LTS 32 bit»
-
Спецификация требований программного обеспечения «Навигатор классов для ос Ubuntu
-
LTS 64 bit»
-
Спецификация требований программного обеспечения «Навигатор классов для OS X 10.8.5»
-
Краткий обзор
Аналогично оглавлению.
-
Общее описание
-
Описание изделия
-
Данное изделие работает независимо от другого ПО за исключением операционной системы, установленной на вычислительной машине.
-
Интерфейсы системы
Этот раздел содержит описание интерфейсов систем и подсистем. В данном случае он отсутствует, потому что ПО не является подсистемой (частью системы).
-
Интерфейсы пользователя
Интерфейс пользователя представляет собой окно, размер которого определяется пользователем. По- умолчанию размер окна задается таким, чтобы отобразить все функциональные элементы окна (интерфейса пользователя). Максимальный размер окна соответствует максимальному разрешению экрана. Интерфейс пользователя содержит следующие функциональные компоненты:
-
меню
-
переключатель вкладок
-
поле открытых файлов.
Каждая вкладка соответствует определенному файлу и содержит несколько полей:
-
Поле дерева классов - отображает в виде дерева классы, описанные в открытом файле.
-
Поля содержимого класса. Первое поле отображает сигнатуры конструкторов, второе - методов, третье отображает имена, типы и права доступа свойств, четвертое - атрибутов.
Поле открытых файлов содержит историю открытых пользователем файлов.
Меню одержит пункты: «Выбрать новый файл с исходным кодом», «Перейти к следующей вкладке» «Перейти к предыдущей вкладке», «Закрыть текущую вкладку», «Закрыть все вкладки», «Очистить историю открытых файлов», «Закрыть приложение».
Выбор файла осуществляется в виде диалога.
Функциональные клавиши продукта:
Ctrl + о - открыть диалог открытия файла.
Ctrl + стрелка вправо - отобразить вкладку, расположенную справа от текущей вкладки.
Ctrl + стрелка влево - отобразить вкладку, расположенную слева от текущей вкладки.
Ctrl + F4 - закрыть текущую вкладку.
ALT + F4 - закрыть программу.
Диалог выбора файла должен отображать директорию последнего открытого файла.
Окно программы, а так же ее все элементы должны быть масштабируемы. Вследствие чего, переключатель вкладок, поле открытых файлов, поля вкладок и сами вкладки должны использовать полосы прокрутки, если содержимое не умещается в установленный пользователем размер окна программы. Минимальный размер окна программы должен быть достаточен, чтобы отобразить информацию
о классах одного открытого файла без использования полос прокрутки. Все текстовые поля, должны поддерживать операцию копирования в буфер с помощью контекстного меню и комбинации клавиш ctrl+c.
-
Интерфейсы аппаратных средств
Этот раздел содержит описание интерфейсов с аппаратными средствами, управлением которыми осуществляется непосредственно вашим ПО. В данном случае продукт не взаимодействует непосредственно с каким-либо аппаратным средством.
-
Интерфейсы программного обеспечения
Поскольку рассматриваемое ПО не зависит от работы других программных продуктов, кроме операционных систем, а для описания интерфейсов ОС нужны более глубокие познания в программировании и операционных системах, на данном этапе достаточно привести краткое описание основных интерфейсов операционных систем:
Интерфейсы ОС Windows:
Интерфейсы прикладного программирования (Windows API):
Оконный интерфейс пользователя:
Windows User Interface Windows GDI+
Функции работы с файлами, предоставляемые Windows API (CreateFile, OpenFile, ReadFile, WriteFile, CloseFile, DeleteFile, CopyFile, FindFirstFile, FindNextFile, GetFileSize)
Приведу другие интерфейсы других систем для энтузиастов:
Работа с графикой (ОС Windows):
DirectX (directDraw, directD3D), OpenGL Работа со звуком (ОС Windows):
DirectX (), OpenAL
Итерфесы других ОС:
-
Интерфейсы ОС Linux: любой из: Qt KDE GNOME GTK Работа с графикой:
OpenGL
Работа со звуком:
OpenAL
-
Интерфейсы MAC OS:
Интерфейсы прикладного программирования:
Cocoa
Работа с графикой:
X11
-
Интерфейсы коммуникаций
В данном примере этот пункт не нужен, поскольку передача данных с использование сетевых технологий задачей не предусмотрена.
-
Ограничения памяти
Здесь необходимо подсчитать (примерно) необходимый для работы программы объем памяти (как оперативной так и постоянной)
Размер инсталлированной в систему программы не должен превышать 100 Мбайт Эту цифру, в первом приближении, грубо округлив, берем с потолка =)))
Суммарный объем файлов, создаваемых изделием в процессе работы на жестком диске, не должен превышать 1 Мбайт.
Как получена эта цифра. Программа хранит историю открытых файлов (полные пути к ним), путь к последнему открытому файлу и пути к текущим открытым файлам в виде текста. Каждый путь представляет собой строку (максимум 255 символов), каждый символ кодируется 8 или 16 битами (в зависимости от используемой кодировки. Возьмём 8 бит. Таким образом, для хранения одной строки требуется 2048 бит или 2 Кбит. Исходя из предположения хранения максимум 1024 файлов в истории и максимум 128 текущих открытых файлов получаем 2252Кбит, или 2.2Мбит, или ~280Кбайт. Добавим то, что мы что-то не учли, получим 1 Мбайт.
Объем оперативной памяти, занимаемой программой не должен превышать 200 Мбайт По аналогии с объемом постоянной памяти, занимаемой программой.
-
Действия
Действия инициируемые пользователем:
-
выбор файла
-
анализ выбранного пользователем файла и отображение информации о классах, описанных в этом файле
-
произвольный выбор вкладки, связанной с открытым ранее файлом
-
переход к следующей или предыдущей вкладке
-
закрытие вкладки
-
отображение подробной информации о методах класса
-
отображение подробной информации о свойствах класса
-
отображение подробной информации о конструкторах класса
-
отображение подробной информации об атрибутах класса
-
очистка истории открытых файлов
-
закрытие программы Периоды диалоговых действий:
Во время диалога выбора файла, остальные функции программы пользователю не доступны. Диалог длится до нажатия кнопки «выбрать» при выделенном файле с исходным кодом.
Периоды оставленных без отклика действий:
После завершения диалога выбора файла, пока не будет завершен анализ файла, формирование и отображение выводимой пользователю информации, все действия пользователя остаются без отклика.
-
Требования настройки рабочих мест
Этот пункт используется, если программа может работать в нескольких режимах. В данном случае этот пункт отсутствует.
-
Функции изделия
Здесь приводятся основные функции изделия (без фанатичной детализации). Функции поделены на 3 группы.
-
Функции работы с файлами:
Обработка файла, содержащего список (историю) отрытых пользователем файлов (чтение, создание, запись, добавление).
Обработка файла, содержащего список файлов с исходным кодом, связанных с открытыми вкладками (чтение, создание, запись, добавление).
Обработка файлов с исходным кодом (чтение).
-
Анализ исходного кода, прочитанного из файла:
Определение используемого языка программирования.
Определение классов в анализируемом тексте.
Определение членов выделенных классов.
-
Функции интерфейса пользователя:
Выбор файла для анализа.
Добавление строк с именем файла в поле истории открытых файлов.
Удаление строк из поля истории открытых файлов.
Отображение полного пути к файлу.
Добавление вкладки.
Удаление вкладки.
Отображение списка классов во вкладках.
Отображение подробной информации о членах выбранного класса.
Масштабирование элементов интерфейса пользователя.
-
Характеристики пользователя Данное изделие предназначено для программистов, обладающих опытом работы с объектноориентированными языками программирования.
-
Ограничения
-
Анализируемые файлы (с исходным кодом) ни в коем случае не могут быть изменены. Приложение получает доступ к указанным пользователем файлам только для чтения.
-
Резервные, рабочие и иного назначения копии анализируемых файлов изделием не создаются.
-
При создании новой вкладки в оперативной памяти выделяется определенная область, которая должна быть очищена при закрытии вкладки или завершении работы приложения.
-
Файлы, необходимые в процессе работы приложения, помещаются в директорию, для которой пользователь, запустивший изделие, имеет полный доступ.
-
Анализу подвергаются файлы с исходным кодом, написанным на языках программирования C++, C#, Java.
-
Предположения и зависимости Данное изделия работает с обычными текстовыми файлами (без форматирования).
-
Распределение требований Поддержка исходных кодов на языках программирования отличных от предусмотренных пунктом 5 параграфа 2.4 настоящего документа будет включена в будущем, в зависимости от потребностей пользователей и финансирования проекта.