Добавить в корзину Удалить из корзины Купить |
Форматирование исходных текстов программ ID работы - 743946 программирование (курсовая работа) количество страниц - 29 год сдачи - 2005 СОДЕРЖАНИЕ: Содержание Содержание 2 1. Введение 3 1.1. Глоссарий 3 1.2. Описание предметной области 3 1.3. Неформальная постановка задачи 4 1.4. Обзор существующих методов решения 5 2. Требования к окружению 6 2.1. Требования к аппаратному обеспечению 6 2.2. Требования к программному обеспечению 6 2.3. Требования к пользователям 6 2.3.1. Разработчик 6 2.3.2. Пользователь 6 3. Спецификация данных 6 3.1. Описание формата и структуры данных 6 3.1.1. Формат файла настроек 6 4. Функциональные требования 7 5. Требования к интерфейсу 7 6. Прочие требования 8 6.1. Требования к производительности 8 7. Проект 9 7.1. Средства реализации 9 7.2. Модули и алгоритмы 9 7.3. Структуры данных 17 7.3.1. Классы для кэширования данных 18 7.3.2. Классы для анализа пространств имен модулей 19 7.4. Проект интерфейса 21 7.4.1. Главное окно программы 21 7.4.2. Отформатированный код 22 8. Реализация и тестирование 23 8.1. Характеристики реализации 23 8.2. Тестирование 23 Заключение 23 Список литературы 25 Приложение 1. Стандарт форматирования исходных текстов программ ООО “Инсайт Экспертс” 26 ВВЕДЕНИЕ: 1. Введение 1.1. Глоссарий Исходный текст программы Delphi Object Pascal — набор символов алфавита, соот-ветствующий синтаксису компилятора Delphi. Форматирование исходного текста программы — преобразование исходного текста программы в соответствии с каким-либо заданным стандартом без потери текстом своей семантической нагрузки. Open source проект — программный продукт, поставляемый с исходными кодами, свободными для модификации и дальнейшего некоммерческого распространения. 1.2. Описание предметной области Начало 90-х годов прошлого столетия было ознаменовано бурным всплеском в раз-витии компьютерной технологии. Значительные успехи в области компьютерного маши-ностроения привели к серьезному удешевлению стоимости персональных компьютеров, и, как следствие, к их обширному распространению. Рост вычислительных мощностей пер-сональных компьютеров привел к повышению уровня ожиданий рядового пользователя от программного обеспечения и, как следствие, к усложнению разрабатываемых программ-ных продуктов. В настоящее время большинство приложений разрабатывается коллективами про-граммистов, зачастую с применением большого числа компонент от сторонних произво-дителей. Все это не могло не привести к выработке единых стандартов форматирования исходных текстов программ внутри отдельных коллективов, а также более крупных групп разработчиков, например, стандарт форматирования исходных текстов программ на Del-phi Object Pascal фирмы Borland ([1]). К сожалению, в настоящее время не существует единого стандарта кодирования, которого бы придерживались все разработчики в рамках хотя бы одного языка программирования. Таким образом, зачастую при внесении изменений в программный код возникает не-обходимость в его переформатировании, что ведет к излишней трате человеческого ресур-са и, как следствие, снижению эффективности разработки. Деятельность компании заказчика ООО “Инсайт Экспертс” связана с написанием и продажей программных продуктов. В компании разработан свой собственный стандарт кодирования ([2]), которого придерживаются все разработчики ООО “Инсайт Экспертс”. Зачастую в процессе работы используются программные компоненты сторонних разра-ботчиков. Общий объем этих компонент превышает десятки тысяч строк кода на языке Delphi Object Pascal. В компании были предприняты попытки по приведению данного ко-да в соответствии с принятым стандартом кодирования, в частности, в сети Интернет была найдена открытая библиотека JCF [3], позволяющая преобразовывать исходные тексты программ, написанных на Delphi Object Pascal. К сожалению, данная библиотека не может быть настроена таким образом, чтобы выполнялись хотя бы основные элементы принято-го стандарта кодирования. Попытки отформатировать существующий код вручную не рассматривались ввиду трудоемкости данной задачи. Еще одним элементом в работе компании является то, что на менеджеров проектов возложена обязанность проверки кода, написанного разработчиками, в том числе и на его соответствие принятому стандарту. Автоматизация данного процесса позволила бы ме-неджерам проектов сэкономить значительную часть рабочего времени, в то же время ко-личество ошибок со стороны разработчиков, связанных с форматирование исходных тек-стов, резко бы сократилось ввиду наличия автоматической системы проверки кода. Таким образом, возникла необходимость разработки библиотеки, осуществляющей форматирование исходных текстов программ, написанных на Delphi Object Pascal, обла-дающая гибкой настраиваемостью в связи с внесением возможных изменений в сущест-вующий стандарт кодирования ООО “Инсайт Экспертс”. Помимо компании заказчика данная библиотека также может быть полезна всем, чья деятельность так или иначе связана с написанием программ на Delphi Object Pascal, а так-же чтением исходного кода, написанного другими людьми, в том числе, преподавателям ВУЗов и людям, занимающимся сопровождением программ. 1.3. Неформальная постановка задачи Целью данной работы является разработка библиотеки классов, которая должна по-зволять выполнять следующие функции: Форматировать синтаксически корректный исходный код программы в полном или близком к нему соответствии со стандартом кодирования, приня-тым в ООО “Инсайт Экспертс” Требовать относительно небольших усилий при модернизации или дополне-нии системы Обеспечивать производительность, достаточную для работы на ЭВМ, уста-новленных в ООО “Инсайт Экспертс” Предполагается, что библиотека будет свободно распространяться с открытыми ис-ходными текстами в соответствии с лицензией MPL (Mozilla Public License, [4]). Ниже (рис. 1) приведена диаграмма вариантов использования библиотеки и прило-жений, написанных с ее помощью: Рис. 1. Диаграмма вариантов использования 1.4. Обзор существующих методов решения В рамках написания данной работы автором было рассмотрено несколько конкури-рующих решений, найденных в сети Интернет. Основным недостатком всех их является отсутствие возможности сконфигурировать их таким образом, чтобы поддерживался стандарт форматирования исходных текстов, принятый в ООО “Инсайт Экспертс” . Название Гибкость настроек Скорость работы Стандарт Borland Стандарт ООО “Ин-сайт Экс-пертс” Открытость Бесплатность Free Pas-cal – + – – + + DelForEx + + – – – + SCoder – +/– – – – – JCF + +/– + – + + ICF + +/– + +/– + + Исходя из проведенного анализа, было принято решение взять за основу систему JCF (Jedi Code Formatter) и на ее базе создать систему ICF (Insight Code Formatter), насле-дующую, с одной стороны, все свойства JCF, а с другой стороны позволяющую обеспе-чить потребности закзазчика в лице ООО “Инсайт Экспертс”. 2. Требования к окружению 2.1. Требования к аппаратному обеспечению Минимальные требования: PII-233 / 128 MB / 5 MB, монитор 256 цветов Относительно высокие требования к количеству оперативной памяти обусловлены в первую очередь тем, что библиотека во многом дублирует работу компилятора при фор-матировании кода, в том числе, производит анализ внешних подключаемых модулей Дельфи. 2.2. Требования к программному обеспечению Необходимо: • Операционная система Windows 95/98/ME/NT 4.0/2000/XP • Библиотеки JCL, JVCL ([5]) • Borland Delphi 5/6/7 Рекомендуется: • Система контроля версий исходного кода с подсистемой сравнения версий исход-ного кода 2.3. Требования к пользователям 2.3.1. Разработчик Разработчик конечного продукта должен владеть основными приемами объектно-ориентированного программирования. 2.3.2. Пользователь Пользователь системы должен быть знаком с основными элементами управления Widows, также он должен обладать навыком программирования на языке Delphi Object Pascal. 3. Спецификация данных СПИСОК ЛИТЕРТУРЫ: Список литературы [1] Object Pascal Style Guide, © 1994-2005 Borland Software Corporation, . [2] Спецификация на исходные тексты, (c) 2003 ООО “Инсайт Экспертс”. [3] Jedi Code Format, . [4] Mozilla & Netscape Public Licenses, © 1998–2005 The Mozilla Organization, . [5] JEDI Visual Component Library, (c) 2004 by the JVCL Team, . [6] Кнут, Дональд, Эрвин. Искусство программирования, том 3. Сортировка и поиск, 2-е изд.: Пер. с англ.: Уч. пос. — М.: Издательский дом “Вильямс”, 2000. — 832 с.: ил. — Парал. тит. англ. [7] Кленин А.С. Методические указания по подготовке и защите отчётов на специализации «Прикладная математика. Системное программирование» (Версия 0.7). Владивосток, 2003. [8] Тейксейра С., Пачеко К., Delphi 5. Руководство разработчика, том 2. Разработка компонентов и программирование баз данных: Пер. с англ.: Уч. пос. — М.: Издательский дом “Вильямс”, 2000. ¬992 с.: ил. — Парал. тит. англ. [9] DelForExp, a freeware Pascal source code formatter for Delphi, (c) 2004 Egbert van Nes, . [10] Free Pascal, . [11] Source Coder, (c) 2003 Peter Tiemann, . Цена: 900.00руб. |
ЗАДАТЬ ВОПРОС
Copyright © 2009, Diplomnaja.ru