Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Навигатор классов для ОС Microsoft Windows 7 x86 Оглавление Для решения наших задач можно обойтись без оглавлен

Работа добавлена на сайт samzan.net: 2015-07-10

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 16.5.2024

Как читать этот пример

  1. Пример начинается на следующей странице.
  2. То, что написано зеленым - комментарий преподавателя. Реагировать на коммент соответственно его содержанию. Если что-то не понятно - смотри пункт 4.
  3. Не все разделы СТПО, предлагаемые стандартом применимы к нашим задачам. Если есть сомнения - смотри пункт 4.
  4. Если что-то не понятно - смотри пункт 4.
  5. Не стесняемся, обращаемся с вопросами к преподавателю.

Спецификация требований программного обеспечения «Навигатор классов для

ОС Microsoft Windows 7 x86»

Оглавление

Для решения наших задач можно обойтись без оглавления.

  1.  Введение
  2.  Цели СТПО

Данный документ содержит требования к разрабатываемому программному продукту и является основой для его разработки. Документ предназначен для специалистов ООО «ГоСт» по разработке программного обеспечения.

  1.  Границы применения
  2. Данный документ содержит требования к программному продукту «Навигатор классов для ОС Microsoft Windows 7 х86» (в дальнейшем просто, продукт или изделие).
  3. Указанный продукт предназначен для представления в виде иерархии информации о классах того или иного приложения по его исходному коду, без возможности его изменения.
  4. Разрабатываемое приложение работает с исходными кодами приложений различных сред разработки, и поддерживает большинство объектно-ориентированных языков программирования. Пользователю предоставляется информация об имени, атрибутах и методах класса, а также иерархии наследования.
  5. Данный пункт не нужен, поскольку он используется если составляется СТПО для подсистемы.
  6.  Термины, акронимы, сокращения

СТПО - спецификация требований к программному обеспечению ПО - программное обеспечение ОС - операционная система

  1.  Ссылки
  2. Спецификация требований программного обеспечения «Навигатор классов для ОС Microsoft Windows 7 x64»
  3. Спецификация требований программного обеспечения «Навигатор классов для ОС Ubuntu
  4.  LTS 32 bit»
  5. Спецификация требований программного обеспечения «Навигатор классов для ОС Ubuntu
  6.  LTS 64 bit»
  7. Спецификация требований программного обеспечения «Навигатор классов для OS X 10.8.5»
  8.  Краткий обзор

Аналогично оглавлению.

  1.  Общее описание
  2. Описание изделия

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

  1. Интерфейсы системы

Этот раздел содержит описание интерфейсов систем и подсистем. В данном случае он отсутствует, потому что ПО не является подсистемой (частью системы).

  1. Интерфейсы пользователя

Интерфейс пользователя представляет собой окно, размер которого определяется пользователем. По- умолчанию размер окна задается таким, чтобы отобразить все функциональные элементы окна (интерфейса пользователя). Максимальный размер окна соответствует максимальному разрешению экрана. Интерфейс пользователя содержит следующие функциональные компоненты:

  1. меню
  2. переключатель вкладок
  3. поле открытых файлов.

Каждая вкладка соответствует определенному файлу и содержит несколько полей:

  1. Поле дерева классов - отображает в виде дерева классы, описанные в открытом файле.
  2. Поля содержимого класса. Первое поле отображает сигнатуры конструкторов, второе - методов, третье отображает имена, типы и права доступа свойств, четвертое - атрибутов.

Поле открытых файлов содержит историю открытых пользователем файлов.

Меню одержит пункты: «Выбрать новый файл с исходным кодом», «Перейти к следующей вкладке» «Перейти к предыдущей вкладке», «Закрыть текущую вкладку», «Закрыть все вкладки», «Очистить историю открытых файлов», «Закрыть приложение».

Выбор файла осуществляется в виде диалога.

Функциональные клавиши продукта:

Ctrl + о - открыть диалог открытия файла.

Ctrl + стрелка вправо - отобразить вкладку, расположенную справа от текущей вкладки.

Ctrl + стрелка влево - отобразить вкладку, расположенную слева от текущей вкладки.

Ctrl + F4 - закрыть текущую вкладку.

ALT + F4 - закрыть программу.

Диалог выбора файла должен отображать директорию последнего открытого файла.

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

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

  1. Интерфейсы аппаратных средств

Этот раздел содержит описание интерфейсов с аппаратными средствами, управлением которыми осуществляется непосредственно вашим ПО. В данном случае продукт не взаимодействует непосредственно с каким-либо аппаратным средством.

  1. Интерфейсы программного обеспечения

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

Интерфейсы ОС 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

Итерфесы других ОС:

  1. Интерфейсы ОС Linux: любой из: Qt KDE GNOME GTK Работа с графикой:

OpenGL

Работа со звуком:

OpenAL

  1. Интерфейсы MAC OS:

Интерфейсы прикладного программирования:

Cocoa

Работа с графикой:

X11

  1. Интерфейсы коммуникаций

В данном примере этот пункт не нужен, поскольку передача данных с использование сетевых технологий задачей не предусмотрена.

  1. Ограничения памяти

Здесь необходимо подсчитать (примерно) необходимый для работы программы объем памяти (как оперативной так и постоянной)

Размер инсталлированной в систему программы не должен превышать 100 Мбайт Эту цифру, в первом приближении, грубо округлив, берем с потолка =)))

Суммарный объем файлов, создаваемых изделием в процессе работы на жестком диске, не должен превышать 1 Мбайт.

Как получена эта цифра. Программа хранит историю открытых файлов (полные пути к ним), путь к последнему открытому файлу и пути к текущим открытым файлам в виде текста. Каждый путь представляет собой строку (максимум 255 символов), каждый символ кодируется 8 или 16 битами (в зависимости от используемой кодировки. Возьмём 8 бит. Таким образом, для хранения одной строки требуется 2048 бит или 2 Кбит. Исходя из предположения хранения максимум 1024 файлов в истории и максимум 128 текущих открытых файлов получаем 2252Кбит, или 2.2Мбит, или ~280Кбайт. Добавим то, что мы что-то не учли, получим 1 Мбайт.

Объем оперативной памяти, занимаемой программой не должен превышать 200 Мбайт По аналогии с объемом постоянной памяти, занимаемой программой.

  1. Действия

Действия инициируемые пользователем:

  1. выбор файла
  2. анализ выбранного пользователем файла и отображение информации о классах, описанных в этом файле
  3.  произвольный выбор вкладки, связанной с открытым ранее файлом
  4. переход к следующей или предыдущей вкладке
  5. закрытие вкладки
  6. отображение подробной информации о методах класса
  7. отображение подробной информации о свойствах класса
  8. отображение подробной информации о конструкторах класса
  9. отображение подробной информации об атрибутах класса
  10. очистка истории открытых файлов
  11. закрытие программы Периоды диалоговых действий:

Во время диалога выбора файла, остальные функции программы пользователю не доступны. Диалог длится до нажатия кнопки «выбрать» при выделенном файле с исходным кодом.

Периоды оставленных без отклика действий:

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

  1. Требования настройки рабочих мест

Этот пункт используется, если программа может работать в нескольких режимах. В данном случае этот пункт отсутствует.

  1. Функции изделия

Здесь приводятся основные функции изделия (без фанатичной детализации). Функции поделены на 3 группы.

  1. Функции работы с файлами:

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

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

Обработка файлов с исходным кодом (чтение).

  1. Анализ исходного кода, прочитанного из файла:

Определение используемого языка программирования.

Определение классов в анализируемом тексте.

Определение членов выделенных классов.

  1. Функции интерфейса пользователя:

Выбор файла для анализа.

Добавление строк с именем файла в поле истории открытых файлов.

Удаление строк из поля истории открытых файлов.

Отображение полного пути к файлу.

Добавление вкладки.

Удаление вкладки.

Отображение списка классов во вкладках.

Отображение подробной информации о членах выбранного класса.

Масштабирование элементов интерфейса пользователя.

  1. Характеристики пользователя Данное изделие предназначено для программистов, обладающих опытом работы с объектноориентированными языками программирования.
  2. Ограничения
  3. Анализируемые файлы (с исходным кодом) ни в коем случае не могут быть изменены. Приложение получает доступ к указанным пользователем файлам только для чтения.
  4. Резервные, рабочие и иного назначения копии анализируемых файлов изделием не создаются.
  5. При создании новой вкладки в оперативной памяти выделяется определенная область, которая должна быть очищена при закрытии вкладки или завершении работы приложения.
  6.  Файлы, необходимые в процессе работы приложения, помещаются в директорию, для которой пользователь, запустивший изделие, имеет полный доступ.
  7. Анализу подвергаются файлы с исходным кодом, написанным на языках программирования C++, C#, Java.
  8. Предположения и зависимости Данное изделия работает с обычными текстовыми файлами (без форматирования).
  9. Распределение требований Поддержка исходных кодов на языках программирования отличных от предусмотренных пунктом 5 параграфа 2.4 настоящего документа будет включена в будущем, в зависимости от потребностей пользователей и финансирования проекта.
  1.  Детальные требования
  2.  Требования внешних интерфейсов
    1. Интерфейсы пользователя

Интерфейс пользователя представляет собой окно, размер которого определяется пользователем. Размер окна по-умолчанию - 1024х600 точек. Максимальный размер окна соответствует максимальному разрешению экрана. Эскиз интерфейса приведен в приложении А.

  1. Меню отображается сверху, под заголовком окна. Шрифт, используемый в этом элементе - Microsoft Sans Serif, черного цвета, без эффектов. Размер шрифта - 8 пунктов. Выравнивание пунктов меню - по левому краю.

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

Оставшаяся область разделена (с помощью разделителя шириной 5 пикселей) на две области:

  1. В левой части окна изделия отображается поле открытых фалов:
  2. размер поля по горизонтали составляет У от ширины окна минус 10 пикселей;
  3. от левого края окна поле отстает на 5 пикселей;
  4. верхняя граница поля отстает от меню на 5 пикселей;
  5. нижняя граница отстает от кнопки “открыть” на 5 пикселей;
  6. фон поля - белый;
  7. используемый шрифт - Microsoft Sans Serif, черного цвета, без эффектов. Размер шрифта зависит от размера окна, и определяется как достаточный для того, чтобы полностью отразить имя файла в одной строке соответствующего поля, но не более 8 пунктов;
  8. внутри поля отображается история открытых пользователем файлов в виде вертикального не нумерованного списка. Выравнивание строк - по левому краю поля.
  9. имя последнего открытого файла - первый элемент указанного списка, а имя первого открытого файла - последний;
  10. если история содержит больше файлов, чем строк, которые может отразить поле текущего размера, для навигации по строкам поля используется вертикальная полоса прокрутки, прилегающая к правому краю поля. В противном случае полоса прокрутки не отображается;
  11. для каждого имени файла, в виде контекстного меню может отображаться полное имя файла. Для этого используется текущие настройки шрифта поля.

Кнопка «открыть»

  1. отстает от: нижней границы поля, нижнего и левого границ окна на 5 пикселей, не зависимо от размера окна;
  2. размер кнопки по вертикали - 25 пикселей;
  3. размер кнопки по горизонтали - 75 пикселей;
  4.  надпись «Открыть» внутри кнопки - помещается посередине (как по вертикали так и по горизонтали) кнопки;
  5. используемый шрифт - Microsoft Sans Serif, черного цвета, без эффектов. Размер шрифта - 8 пунктов.
  6. В правой части отображается переключатель вкладок и содержимое соответствующей вкладки. Переключатель вкладок:
  7. ширина переключателя зависит от ширины окна, он отстоит на 5 пикселей от поля открытых файлов слева, на 5 пикселей от правой границы окна, на 5 пикселей сверху от меню;
  8. размер переключателя по высоте - 25 пикселей;
  9. в имени вкладки отображается текст - имя соответствующего файла;
  10. для отображения текста в именах вкладок используется шрифт Microsoft Sans Serif, черного цвета, без эффектов. Размер шрифта - 8 пунктов;
  11. выравнивание текста в имени вкладки - по-центру;
  12. размер имен вкладок зависит от отображаемого в них текста - к тексту добавляется по 3 пикселя слева и справа;
  13. если текущей ширины окна не хватает для отображения всех вкладок - используется их прокрутка с использованием двух кнопок, с изображением стрелок влево и вправо соответственно;

Под переключателем отображается содержимое выбранной вкладки. Размер поля зависит от размера окна, и отстоит от нижней и правой границы окна, от поля открытых файлов на 5 пикселей. Каждая вкладка разделена на две области, расстояние между ними 5 пикселей.

  1. В первой области содержится одна надпись и одно поле - поле дерева классов Надпись:
  2. содержит текст «Классы:»;
  3. используемый шрифт - Microsoft Sans Serif, черного цвета, без эффектов. Размер шрифта - 8 пунктов.
  4. выравнивание текста - по левому краю;
  5. располагается с отступом 5 пикселей от переключателя вкладок и левой границы поля содержимого вкладки;

Сразу под надписью располагается поле дерева классов:

  1. размер поля по горизонтали составляет 1/3 от ширины вкладки минус 5 пикселей;
  2. верхняя граница поля примыкает к нижней границе надписи;
  3. нижняя граница отстает от границы окна на 5 пикселей;
  4. фон поля - белый;
  5. используемый шрифт - Microsoft Sans Serif, черного цвета, без эффектов. Размер шрифта зависит от размера окна, и определяется как достаточный для того, чтобы полностью отразить имя класса (с предусмотренным отступом) в одной строке, но не более 8 пунктов;
  6. внутри поля отображаются имена классов, описания которых найдены в соответствующем вкладке файле в виде вертикального не нумерованного списка. Выравнивание строк - по левому краю поля. При этом имя каждого класса, не являющегося потомком, отображается на самом верхнем (нулевом) уровне иерархии, а имя класса-потомка, отображается на следующем после своего родительского класса уровне. Нулевой уровень иерархии характеризуется нулевым отступом от левого края поля дерева классов, а каждый последующий уровень - отступом, соответствующим двум символам. Имена классов одного уровня иерархии наследования отображаются в алфавитном порядке;
  7. если файл содержит больше классов, чем строк, которые может отразить поле текущего размера, для навигации по строкам поля используется вертикальная полоса прокрутки, прилегающая к правому краю поля. В противном случае полоса прокрутки не отображается;
  8. Вторая область разделена на четыре текстовых поля равного размера, расположенных в углах этой области на расстоянии 5 пикселей друг от друга, границы окна, переключателя вкладок. Общие свойства полей:
  9. по-умолчанию поле
  10. фон полей - белый;
  11. все свойства и тип шрифта определяется текущими настройками шрифта, используемыми в поле дерева классов;
  12. если отображаемая строка, по размеру превышает горизонтальный размер текстового поля - используется горизонтальная полоса прокрутки, прилегающая к нижнему краю поля. В противном случае полоса прокрутки не отображается;
  13. если число строк, которые необходимо отобразить в данном элементе превышает число строк, которые может отразить поле текущего размера, то для навигации по строкам поля используется вертикальная полоса прокрутки, прилегающая к правому краю поля. В противном случае полоса прокрутки не отображается;
  14. Первое текстовое поле (левый верхний угол второй области содержимого вкладки) - поле сигнатур конструкторов. В этом поле в первой строке отображается текст «Сигнатуры конструкторов:». Во второй и последующих строках отображаются сигнатуры конструкторов выбранного класса в следующем формате:

«тип_доступа имя_конструктора (имя_параметра1 тип = значение_по-умолчанию,

имя_параметра2 тип = значение_по-умолчанию, ...)»

Для отображения одной сигнатуры используется только одна строка.

Сигнатуры конструкторов сортируются по числу входных параметров - от меньшего к большему.

В начало строки конструктора родительского класса, замененного текущим дочерним классом добавляется текст «overridden ».

  1. Второе текстовое поле (левый нижний угол второй области содержимого вкладки) - поле сигнатур методов. В этом поле в первой строке отображается текст «Сигнатуры методов:». Во второй и последующих строках отображаются сигнатуры методов выбранного класса в следующем формате: «тип_доступа тип_возвращаемого_значения имя_метода (направление имя_параметра1 тип = значение_по-умолчанию, направление имя_параметра2 тип = значение_по-умолчанию, .)»

Для отображения одной сигнатуры используется только одна строка.

Сигнатуры методов сортируются по имени метода по-возрастанию, затем по числу входных параметров - от меньшего к большему.

В начало строки метода родительского класса, замененного текущим дочерним классом добавляется текст «overridden ».

  1.  Третье текстовое поле (правый верхний угол второй области содержимого вкладки) - поле свойств. В этом поле в первой строке отображается текст «Свойства:». Во второй и последующих строках отображаются свойства выбранного класса в следующем формате:

«тип_доступа тип_свойства имя_свойства»

Для отображения одного свойства используется только одна строка.

Свойства сортируются по имени.

  1. Четвертое текстовое поле (правый нижний угол второй области содержимого вкладки) - поле атрибутов. В этом поле в первой строке отображается текст «Атрибуты:». Во второй и последующих строках отображаются атрибуты выбранного класса в следующем формате:

«тип_доступа тип_атрибуты имя_атрибута = значение_по-умолчанию»

Для отображения одного атрибута используется только одна строка.

Атрибуты сортируются по имени.

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

  1.  Функциональные требования

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

Вариант №1 - структурирование по объектам

  1. Класс sourceFile

Является абстракцией файла, содержащего исходный код

  1. Атрибуты 3.2..1.1 path

описание: содержит полный путь к файлу с исходным кодом тип: строка

тип доступа: открытый

  1. name

описание: содержит имя файла тип: строка тип доступа:

  1. content

описание: содержит строки исходного файла тип:

тип доступа: закрытый

  1. proglang

описание: содержит указатель на используемый язык программирования

тип: целое число

тип доступа: закрытый

  1. errmsg

описание: содержит описание ошибки тип: строка

тип доступа: открытый

  1. Методы
  2. getContent()

Входные данные - нет.

Считывает в виде строк содержимое файла, путь к которому содержится в path, и заносит его в content. В зависимости от возникших исключительных ситуаций, возвращает целое число и записывает соответствующую строку в errmsg.  

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

Исключительная ситуация

errmsg

0

1

по указанному пути файл отсутствует

«Файл <path> не существует»

2

ошибка чтения из файла

«Ошибка чтения из файла <path

3

Не хватает памяти для записи содержимого файла

«Файл слишком большой или открыто слишком много файлов»

  1. determProgLang()

Входные данные - нет.

Анализирует содержимое content - определяет используемый язык программирования, проверяет баланс открывающих и закрывающих скобок в описаниях классов и их членов (begin-end, фигурные и круглые скобки). В зависимости от определенного языка программирования записывает его код в proglang:

  1. - C++;
  2. - C#;
  3. - Java;
  4. - Objective C;
  5.  - Object Pascal;
  6.  - Visaul Basic;
  7.  - PHP;
  8.  - Perl;

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

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

Исключительная ситуация

errmsg

0

1

код написан на не поддерживаемом языке программирования;

«Не могу определить язык исходного кода файла <path

2

не хватает открывающих или закрывающих операторных скобок в определении класса;

«Ошибка в описании класса <имя класса> файла <path

  1. determClasses()

Входные данные - нет.

Если при чтении и определении языка программирования ошибок не выявлено, анализирует content, выделяет строки, соответствующие описанию классов, и формирует коллекцию объектов класса Classes. Затем объекты коллекции сортируется в соответствии с иерархией наследования, а затем по именам.

Обрабатывает только одну исключительную ситуацию - не хватает виртуальной памяти, для создания объектов типа Classes.

Выходные данные - коллекция объектов типа Classes.

Описание следующего класса привожу уже не подробно (только описание элементов), ибо надоело печатать - а вам нужно будет писать все!

  1. Класс Classes
    1. Атрибуты
  2. name

описание: содержит имя класса

  1. parentName

описание: содержит имя родительского класса

  1. isChild

описание: является ли класс - дочерним

  1. methods

описание: содержит массив строк - сигнатур методов

  1. constructors

описание: содержит массив строк - сигнатур конструкторов

  1. attributes

описание: содержит массив строк - описаний атрибутов

  1. properties

описание: содержит массив строк - описаний свойств

  1. content

описание: содержит массив строк - описание класса (из исходного файла)

3.2.2.2 Методы

  1. isChild()

Определяет, является ли рассматриваемый класс - дочерним.

  1. findConstructorsSignatures()

Анализирует content, выделяет конструкторы, формирует строки, содержащие сигнатуры конструкторов.

  1. fmdMethodsSignaturesQ)

Анализирует content, выделяет методы, формирует строки, содержащие сигнатуры методов.

  1. findA ttributes()

Анализирует content, выделяет атрибуты, формирует строки, содержащие описание атрибутов.

  1. findProperties()

Анализирует content, выделяет свойства, формирует строки, содержащие описание свойств.

  1. sortConstructors()

Сортирует элементы constructors по возрастанию числа входных параметров

  1. sortMethods()

Сортирует элементы methods по имени методов, если встречаются методы с одинаковыми именами, сортирует их по возрастанию числа входных параметров

  1. sortAttributes()

Сортирует элементы attributes по имени атрибутов

  1. sortProperties()

Сортирует элементы properties по имени атрибутов Вариант №2 - структурирование по последовательности воздействие / реакция

Данный вариант удобен, если работа программы зависит от действий пользователя. В этом случае нужно будет прописать все воздействия пользователей, и отклик на эти воздействия.

Здесь можно приводить отклики, например, таким образом:

  1. Особенности системы 3.2.1 Особенность системы 1 - отработка процедуры выбора файла пользователем в диалоговом режиме
  2. описывается работы программы, после выбора файла.
  3. Щелчок левой кнопкой мыши по имени файла, в диалоге открытия файла, затем щелчок левой кнопкой мыши по кнопке «выбрать».
  4. Связанные функциональные требования
  5. Чтение файла

Входные данные - строка, содержащая полный путь к файлу.

Проверяется существование указанного файла, в случае успешной проверки, осуществляется чтение всех строк файла.

Выходные данные - массив всех считанных строк.

Исключительные ситуации - 1) файл с указанным именем (полный путь к файлу) не существует - инициализация процедуры вывода сообщения пользователю в формате: «Файл

<путь_к_файлу> не найден»; 2) файл поврежден (как правило это проявляется как отсутствие маркера «конца» файла) - инициализация процедуры вывода сообщения пользователю в формате: «Не возможно произвести чтение из файла <путь_к_файлу>. Указаный файл поврежден»

  1. Анализ считанных данных

Входные данные - массив строк.

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

  1. имя класса
  2. имя родительского класса
  3. флаг - является ли данных класс дочерним
  4. массив строк с описанием конструкторов, сортированный по возрастанию числа входных параметров конструктора
  5.  массив строк с описанием методов, сортированный по их именам, а затем по возрастанию числа их входных параметров
  6.  массив строк с описанием атрибутов, сортированный по их именам
  7.  массив строк с описанием свойств, сортированный по их именам
  8. Вывод данных в поля интерфейса пользователя, в соответствии с требованиями пункта 3.1.1 СТПО.

Следующие пункты оформлять не нужно!

  1. Требования исполнения
  2. Ограничения проекта
  3. Характеристики программного обеспечения системы
  4. Другие требования



1. Юный Черлидер 10
2. ЛЕКЦИЯ 21 21. Информационное обеспечение производственного процесса.html
3. Проектування автоматизованої інформаційної системи для менеджера фірми.html
4. Старый Новый год 2014 ГусьХрустальный Спортивный клуб Баринова рощ.
5. Бухгалтерський облік керівник практики Петрошук А
6. реферат дисертації на здобуття наукового ступеня кандидата технічних наук Львів ~
7. Настоящие Правила определяют порядок присвоения кадастровых номеров земельным участкам в процессе их госу
8. Психолого-педагогическое обеспечение воспитательного процесса в средней школе
9. Перемена лиц в обязательствах цессия и факторинг
10. Полнота и время
11. производят по одной молекуле молочной кислоты этанола и СО2
12. Исследование рычажного и зубчатого механизмов
13. От каждого по способностям каждому по труду писал Р
14. Тема- Узагальнення за темою ГалицькоВолинська держава
15. КОНСПЕКТ ЛЕКЦІЙ з дисципліни
16. издательским советом университета Омск 2002 УДК 101 ББК Ю
17. Зарубежный опыт государственной поддержки малого бизнеса и возможности его адаптации в России
18. Visual Basic и Системный Реестр Windows
19. За особые успехи в общественной деятельности
20. Центр детского творчества с.