Разработка программы ‘Текстовый редактор’

Курсовая работа
Содержание скрыть

В данной пояснительной записке рассматривается описание программы «Текстовый редактор».

Программа очень проста в использовании и имеет простой и интуитивно-понятный интерфейс.

В качестве основного инструмента разработки применяется Microsoft Visual Studio 2010 Professional. Язык программирования C#.

1. ВНЕШНЕЕ ОПИСАНИЕ, .1 Определение требований к программному средству

программный обеспечение архитектура руководство

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

1.2 Спецификация качества программного обеспечения

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

Надёжность: программа должна быть автономной.

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

1.3 Функциональная спецификация

Минимальные технические характеристики компьютера, на котором гарантируется стабильная работа программы:

  • компьютер/процессор: компьютер с процессором класса Pentium II 450 МГц;
  • память: 64 МБ ОЗУ;
  • монитор: монитор Super VGA с разрешением 800×600 точек или более высоким, поддерживающий 256 цветов;
  • операционная система: операционная система Windows XP Service Pack 3, необходимо наличие Microsoft .NET Framework Runtime v4.0;
  • наличие свободного дискового пространства на жёстком.

Внешние функции:

  • открытие и сохранение текстовых документов;
  • поиск по документу;
  • форматирование и редактирование текста;
  • программа должна выполнять все функции за конечное количество времени.

    2.

ТЕХНИЧЕСКОЕ ЗАДАНИЕ, .1 Основание для разработки

Углубление знаний в C#. Создание текстового редактора, работа с текстом.

2.2 Назначение разработки

Создание программного средства для работы с текстом.

2.3 Требования к программному средству

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

15 стр., 7380 слов

Технические средства управления» : «Средства хранения и поиска документов

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

2.4 Требования к программной документации (документы)

Документация прилагается

2.5 Требования к эргономике и технической эстетики

Программа легко осваиваемая и проста в эксплуатации.

2.6 Стадии и этапы разработки

Разработка технического задания.

Проектирование.

Разработка классов.

Дизайн главного меню и интерфейса.

Написание кода, исправление ошибок, корректировка дизайна.

2.7 Порядок контроля и приемки

Автоматические тесты, документация приложена

2.8 Диаграмма классов (Рисунок 1)

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

 диаграмма классов рисунок  1

Рис. 1 — Диаграмма классов

3. ПРОЕКТИРОВАНИЕ, .1 Проектирование архитектуры приложения

Данное программное средство можно разбить на подсистемы, взаимодействующие друг с другом в соответствии с рисунком 2.

 проектирование 1

Рисунок 2 — Структура программы

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

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

Главная форма содержит основные элементы интерфейса и даёт доступ к большинству функциям (рисунок 3).

 проектирование пользовательского интерфейса 1

Рисунок 3 — Главная форма программы

Форма содержит панель с ниспадающими списками, при помощи которых осуществляется доступ к основным функциям программы.

Главное меню содержит следующие вкладки:

  • «Файл»: подменю включает в себя кнопки выполнения создания, открытия, сохранения файла и закрытие данной программы (Рисунок 4);

 проектирование пользовательского интерфейса 2

Рисунок 4 — Подменю «Файл»

«Правка»: подменю включает в себя возможность отменить последнее действие, а так же вырезать, скопировать, выставить и удалить выделенный текст. Присутствует возможность поиска по тексту и автозамены. Вывод текущей даты и времени (Рисунок 5);

 проектирование пользовательского интерфейса 3

Рисунок 5 — Подменю «Правка»

«Формат»: подменю включает в себя возможность включения / выключения режима «Перенос по словам» а так же возможность изменить цвет и шрифт выделенного текста (Рисунок 6);

 проектирование пользовательского интерфейса 4

Рисунок 6 — Подменю «Формат»

20 стр., 9725 слов

Выпускной квалификационной работы «Технологическая установка ...

... - к ее устью и далее в нефтегазовый сепаратор (рис 1.) [5]. Рисунок 1 – Пример нефтегазового сепаратора Сепарационные установки, как правило, используют для извлечения газа ... усовершенствование технологической установки для сепарации нефти, используя при этом, комбинированный термохимический метод. Суть данного метода в предварительном нагреве нефти и добавлении пеногасителя, что позволит провести ...

Форма dialogPoisk предоставляет пользователю удобный интерфейс для поиска подстроки в тексте (Рисунок 7):

 проектирование пользовательского интерфейса 5

Форма dialogZamena предоставляет пользователю удобный интерфейс для быстрого поиска и замены необходимых подстрок в тексте. (Рисунок 8):

 проектирование пользовательского интерфейса 6

Рисунок 8 — Форма замены

4. РЕАЛИЗАЦИЯ, .1 Спецификация классов

Подсистема интерфейса — объединяет все остальные подсистемы. Здесь реализован весь пользовательский интерфейс. Основные методы, реализованные в классе Редактор, в котором находятся все важные функции, класс Поиск, в котором находятся методы поиска, и класс Form2, в котором находится метод замены, все находится ниже:void Заменить(object sender, EventArgs e) — метод, вызывающий форму замены;void Найти(object sender, EventArgs e) — метод, вызывающий форму поиска;void Удалить(object sender, EventArgs e) — метод, позволяющий удалить выделенный текст;void ВыборЦвета(object sender, EventArgs e) — метод, вызывающий форму изменения цвета выделенного текста;void ВыборШрифта(object sender, EventArgs e) — метод, вызывающий форму изменения шрифта выделенного текста;void ВставкаВремениИДаты(object sender, EventArgs e) — метод, позволяющий вставить в текст текущую дату и время;void ВыделитьВсе(object sender, EventArgs e) — метод, позволяющий выделить весть текст в редакторе;void Вставить(object sender, EventArgs e) — метод, позволяющий вставить подстроку хранящуюся в буфере обмена;void Копировать(object sender, EventArgs e) — метод, позволяющий скопировать выделенную подстроку в буфер обмена;void Вырезать(object sender, EventArgs e) — метод позволяющий вырезать выделенный текст;void Отменить(object sender, EventArgs e) — метод, позволяющий отменить последнее изменение в тексте;void Вернуть(object sender, EventArgs e) — метод, позволяющий вернуть состояние текста до отмены последнего изменения;void СохранитьФайл(object sender, EventArgs e) — метод, позволяющий сохранить текст в текстовый документ;void СохранитьКак(object sender, EventArgs e) — метод, позволяющий сохранить текст предварительно предложив выбрать каталог и имя файла куда будет сохранен текст;void СоздатьНовыйФайл(object sender, EventArgs e) — метод позволяющий отчистить окно редактора для создания нового документа;void ОткрытьФайл(object sender, EventArgs e) — метод, вызывающий диалоговое окно с проводником для поиска и открытия нужного документа;void ВыходИзПрограммы(object sender, EventArgs e) — метод, завершающий работу программы.

4.2 Описание алгоритма на естественном языке

Сразу после загрузки Текстовый редактор автоматически создает пустой текстовый документ, имеющий по умолчанию название Untitled. Создание текстового документа происходит с помощью отчистки области набора текста.

5. ТЕСТИРОВАНИЕ, .1 Разработка тестов

Для тестирования программы искусственно создавались критическая ситуации. Цель тестирования: убедится что программа обрабатывает все критические ситуации и не завершает работу.

9 стр., 4024 слов

Градиентный метод оптимизации

... Вектор задает направление убывания функции в точке x , если . Градиентные методы представляют собой методы спуска, в которых в качестве направлений убывания выбирается направление антиградиента ... . Критерием остановки итерационной последовательности являются обычно следующие неравенства: или . В градиентном методе с дроблением шага точка определяется по формуле (10) где величина шага находится ...

Тест 1. Пустая строка поиска.

Проверим поведение программы при нажатии кнопки «Найти далее», предварительно не введя строку поиска

Программа выводит текстовое сообщение, предоставленное на рисунке 9, с предупреждением о том, что не введена строка для поиска.

 тестирование 1

Рисунок 9 — Ошибка отсутствия строки поиска

Аналогичные ситуации наблюдается при нажатии кнопки «Найти» если строка поиска не введена. А так же при пустых строках в окне автозамены.

6. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ, .1 Назначение программного средства

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

6.2 Порядок установки программного средства

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

6.3 Руководство пользователя

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

ЗАКЛЮЧЕНИЕ

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

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

При разработке данного программного средства применялся язык программирования С# как один из наиболее современных и перспективных языков программирования.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

[Электронный ресурс]//URL: https://inzhpro.ru/kursovaya/na-temu-razrabotka-tekstovogo-redaktora/

1. Веретнов М.Ю. Гусаков Л.В., Комаров В.И. Работы студентов. Общие требования и правила оформления [Книга] — Архангельск: «Архангельский государственный технический университет», 2006. — стр. 104.

2. Дж. Рихтер CLR via C#. Программирование на платформе Microsoft .NET [Книга] — СПб : «Питер», «Русская Редакция». — стр. 656. — ISBN 978-5-91180-303-2.

  • Е.А. Жоголев «Технология программирования» [Книга] — М., Научный мир, 2004, 216 с.
  • Начните разрабатывать вместе с Microsoft [В Интернете] — MSDN, 2011 г..

— http://msdn.microsoft.com/ru-ru/.

  • Т.А. Павловская С#. Программирование на языке высокого уровня [Книга] — СПб : «Питер», 2007. — стр. 432. — ISBN 978-5-91180-174-8.

ПРИЛОЖЕНИЕ А, Листинг класса Редактор

System;System.ComponentModel;System.Drawing;System.Resources;System.Windows.Forms;Editor

9 стр., 4142 слов

Создание программы-переводчика текстов с английского на русский язык

... работы программы Результаты работы программы представлены на рисунке 3. Листинг программы приведен в приложении А. Рисунок 3 – Результаты работы программы «Бинарные деревья» 3. Работа на тему «Польская запись» 3.1 Техническое задание на разработку программы ... совершенных переводчиков. Разработанный проект демонстрирует переводчик, работа с которым очень удобна для пользователя. Программа является ...

{class Редактор : Form

{Container components;ColorDialog ДиалогВыбораЦвета;FontDialog ДиалогВыборШрифта;SaveFileDialog ДиалогСохранить;OpenFileDialog ДиалогОткрытьФайл;MainMenu ГлавноеМеню;MenuItem ПунктМенюПереносСлов;public RichTextBox Текст;string _filename = «»;string filename

{{ return _filename; }

{

_filename = value;= value;

}

}Редактор()

{();

}void InitializeComponent()

{resources = new ResourceManager(typeof(Редактор));= new Container();

  • ДиалогВыборШрифта = new FontDialog();
  • Текст = new RichTextBox();
  • ДиалогОткрытьФайл = new OpenFileDialog();ПунктМенюФормат = new MenuItem();ПунктМенюПомощь = new MenuItem();
  • ГлавноеМеню = new MainMenu();
  • ДиалогВыбораЦвета = new ColorDialog();
  • ДиалогСохранить = new SaveFileDialog();
  • Текст.AutoWordSelection = true;
  • Текст.Size = new Size(600, 300);
  • Текст.TabIndex = 1;
  • Текст.ScrollBars = RichTextBoxScrollBars.ForcedBoth;
  • Текст.Font = new Font(«Comic Sans MS», 10, FontStyle.Regular);
  • ДиалогОткрытьФайл.Filter = «Текстовый файл|*.txt»;
  • ДиалогОткрытьФайл.ReadOnlyChecked = true;
  • ДиалогОткрытьФайл.DefaultExt = «txt»;
  • ДиалогОткрытьФайл.Multiselect = true;
  • ПунктМенюПереносСлов = new MenuItem(«Перенос по словам», new EventHandler(ПереносСлов));

ПунктМенюПомощь = new MenuItem(«Помощь», new MenuItem[]

{MenuItem(«О программе», new EventHandler(ОПрограмме))

});

  • ГлавноеМеню.MenuItems.AddRange(new MenuItem[]

{MenuItem(«&Файл»,new MenuItem[]

{MenuItem(«Создать», new EventHandler(СоздатьНовыйФайл), Shortcut.CtrlN),MenuItem(«Открыть…», new EventHandler(ОткрытьФайл), Shortcut.CtrlO), MenuItem(«Сохранить», new EventHandler(СохранитьФайл), Shortcut.CtrlS),MenuItem(«Сохранить как…», new EventHandler(СохранитьКак)), MenuItem(«-«), MenuItem(«Выход», new EventHandler(ВыходИзПрограммы) )

} ),MenuItem(«&Правка»,new MenuItem[]

} ), MenuItem(«Формат»,new MenuItem[]

{

ПунктМенюПереносСлов, MenuItem(«Шрифт», new EventHandler(ВыборШрифта) ),MenuItem(«Цвет», new EventHandler(ВыборЦвета) )

}),ПунктМенюПомощь});

  • ДиалогСохранить.Filter = «Текстовый файл|*.txt»;
  • ДиалогСохранить.InitialDirectory = System.IO.Directory.GetCurrentDirectory();
  • // System.IO.Path.GetDirectoryName(«»);
  • ДиалогСохранить.DefaultExt = «txt»;
  • ДиалогСохранить.FileName = «Untitled»;
  • ДиалогСохранить.CheckFileExists = true;= «NotePad»;= new Size(5, 15);= ГлавноеМеню;= new Size(600, 300);+= new EventHandler(rs);.Add(Текст);

}void Перейти(object sender, EventArgs e)

{.Show(«Не сделано(«, «Не сделано(«, MessageBoxButtons.OK,.Information);

32 стр., 15593 слов

Особенности перевода научно–технических текстов

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

}void Заменить(object sender, EventArgs e)

{Заменить = new Replace.Form2();

  • Заменить.Show();

}void Найти(object sender, EventArgs e)

{find = new NotePad.find();.Show();

}void Удалить(object sender, EventArgs e)

{(Текст.SelectedText.Equals(«»)) return;

  • Текст.SelectedText = «»;

}void ОПрограмме(object sender, EventArgs e)

{.Show(«Жжж», «О программе», MessageBoxButtons.OK,.Information);

}void ПереносСлов(object sender, EventArgs e)

{

ПунктМенюПереносСлов.Checked = !ПунктМенюПереносСлов.Checked;

  • Текст.WordWrap = ПунктМенюПереносСлов.Checked;

}void ВыборЦвета(object sender, EventArgs e)

{

ДиалогВыбораЦвета.ShowDialog();

  • Текст.SelectionColor = ДиалогВыбораЦвета.Color;

}void ВыборШрифта(object sender, EventArgs e)

{

ДиалогВыборШрифта.ShowDialog();

  • Текст.SelectionFont = ДиалогВыборШрифта.Font;

}void ВставкаВремениИДаты(object sender, EventArgs e)

{

Текст.SelectedText = DateTime.Now.ToString();

}void ВыделитьВсе(object sender, EventArgs e)

{

Текст.SelectAll();

}void Вставить(object sender, EventArgs e)

{Data = (DataObject)Clipboard.GetDataObject();

  • Текст.SelectedText = (string)Data.GetData(DataFormats.Text);

}void Копировать(object sender, EventArgs e)

{(Текст.SelectedText.Equals(«»)) return;.SetDataObject(Текст.SelectedText, true);

}void Вырезать(object sender, EventArgs e)

{(Текст.SelectedText.Equals(«»)) return;.SetDataObject(Текст.SelectedText, true);

  • Текст.SelectedText = «»;

}void Вернуть(object sender, EventArgs e)

{

Текст.Redo();

}void Отменить(object sender, EventArgs e)

{

Текст.Undo();

}void СохранитьФайл(object sender, EventArgs e)

{(filename.Equals(«»))

{

ДиалогСохранить.ShowDialog();(!ДиалогСохранить.FileName.Equals(«»))

{= ДиалогСохранить.FileName;

}

}

Текст.SaveFile(filename, RichTextBoxStreamType.PlainText);= filename;

}void СохранитьКак(object sender, EventArgs e)

{

ДиалогСохранить.ShowDialog();(!ДиалогСохранить.FileName.Equals(«»))

{= ДиалогСохранить.FileName;

  • Текст.SaveFile(filename, RichTextBoxStreamType.PlainText);= filename;

}

}void СоздатьНовыйФайл(object sender, EventArgs e)

{

Текст.Clear();

{

ДиалогОткрытьФайл.ShowDialog();= ДиалогОткрытьФайл.FileName;(!filename.Equals(«»))

{

Текст.LoadFile(filename, RichTextBoxStreamType.PlainText);= filename;

}

}void rs(object sender, EventArgs e)

{

Текст.Size = Size;

}void ВыходИзПрограммы(object sender, EventArgs e)

{();

}

[STAThreadAttribute]static void Main(string[] args)

{.Run(new Редактор());

}

}

ПРИЛОЖЕНИЕ Б, Листинг класса Find

System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;System.Text.RegularExpressions;NotePad

10 стр., 4822 слов

Особенности перевода научно-технических текстов

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

{partial class find : Form

{find()

{();

  • }match;void button1_Click(object sender, EventArgs e)

{f = text.Text;pattern = @»\b» + f + @»\b»;input = Editor.Редактор.Текст.Text;= Regex.Match(input, pattern);(match.Success == true)

{.Редактор.Текст.Select(match.Index, f.Length);.Редактор.Текст.Focus();.Enabled = false;

  • }.Show(«Строчка не найдена», «Найти», MessageBoxButtons.OK, MessageBoxIcon.Information);
  • }void button2_Click(object sender, EventArgs e)();void button3_Click(object sender, EventArgs e)

{f = text.Text;= match.NextMatch();(match.Success == true)

{.Редактор.Текст.Select(match.Index, f.Length);.Редактор.Текст.Focus();

  • }.Show(«Строчка не найдена», «Найти», MessageBoxButtons.OK, MessageBoxIcon.Information);

}void text_TextChanged(object sender, EventArgs e)

{.Enabled = true;

}

}