ВВЕДЕНИЕ
1 ОБЗОР МЕТОДОВ И СРЕДСТВ РЕШЕНИЯ ЗАДАЧИ
1.1 Язык программирования С#
1.2 Основы объектно-ориентированного программирования
1.3 Среда разработки
1.4 Порождающие паттерны проектирования
2 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ЗАДАЧИ
2.1 Постановка задачи
2.2 Разработка классов
2.3 Разработка интферфейса
2.4 Руководство пользователя
3 ВЕРИФИКАЦИЯ И ПРОВЕДЕНИЕ ВЫЧИСЛИТЕЛЬНОГО ЭКСПЕРИМЕНТА
3.1 Верификация и тестирование
3.2 Виды, стратегии и уровни тестирования
3.4 Тестирование разработанного приложения
ЗАКЛЮЧЕНИЕ
СПИСОК ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ А. КОД ПРОГРАММЫ
ВВЕДЕНИЕ
Целью данного курсового проекта является разработка программного обеспечения для управления справочником «Страны» с использованием объектно-ориентированного подхода, а также шаблонов проектирования «Одиночка» и «Фабричный метод».
В процессе выполнения курсового проекта исполнитель должен изучить следующие теоретические аспекты:
- технологию работы с текстовыми и бинарными файлами;
- методы создания многомодульных проектов и многостраничных форм;
- приемы обработки данных различных типов;
- методику пошаговой отладки проекта;
- порождающий шаблон «Одиночка»;
- порождающий шаблон «Фабричный метод»;
- правила оформления программной документации.
При выполнении курсовой работы были поставлены следующие задачи:
- проектирования интерфейса проекта;
- выбора объектов формы и определения событий, для обработки которых требуется разработка процедур;
- разработка алгоритмов запланированных функций;
- кодирования разработанных алгоритмов на выбранном языке;
- реализация логики приложения с использованием шаблонов проектирования «Одиночка» и «Фабричный метод»;
- написание требуемой программной документации.
Таким образом, разработанное ПО для управления справочником «Страны» должно представлять собой набор записей с полями: президент страны, название страны, континент, год основания. Над полями, возможно производить операции добавления, изменения, удаления. Необходимо организовать возможность выбора различных хранилищ.
1 ОБЗОР МЕТОДОВ И СРЕДСТВ РЕШЕНИЯ ЗАДАЧИ
1.1 Язык программирования С#
В июне 2000 года стало известно о новом языке программирования, родившемся в недрах компании Microsoft. Он стал частью новой технологии Microsoft, названной .NET (читается «Dot Net»). В рамках этой технологии предусмотрена единая среда выполнения программ (Common Language Runtime, CLR), написанных на разных языках программирования. Одним из таких языков, основным в этой среде, и является С# (C#, читается «C sharp», «Си шарп»). Названием языка, конечно же, хотели подчеркнуть его родство с С++, ведь # — это два пересекшихся плюса. Но больше всего новый язык похож на Яву. И нет сомнений, что одной из причин его появления стало стремление Microsoft ответить на вызов компании Sun.
Хотя официально авторы С# не называются, но на титульном листе одной из предварительных редакций справочника по языку обозначены Андерс Хейльсберг (Anders Hejlsberg) — создатель Турбо Паскаля и Дельфи, перешедший в 1996 году в Microsoft, и Скотт Вилтамут (Scott Wiltamuth).
Единая среда выполнения программ основана на использовании промежуточного языка IL (Intermediate Language — промежуточный язык), исполняющего почти ту же роль, что и байт-код виртуальной машины языка Ява. Используемые в рамках технологии. NET компиляторы с различных языков транслируют программы в IL-код. Так же как и байт-код Явы, IL-код представляет собой команды гипотетической стековой вычислительной машины. Но есть и разница в устройстве и использовании IL.
Во-первых, в отличие от JVM, IL не привязан к одному языку программирования. В составе, предварительных версий Microsoft.NET имеются компиляторы с языков С++, С#, Visual Basic. Независимые разработчики могут добавлять другие языки, создавая компиляторы с этих языков в IL-код.
Во-вторых, IL предназначен не для программной интерпретации, а для последующей компиляции в машинный код. Это позволяет достичь существенно большего быстродействия программ. Содержащие IL-код файлы несут достаточно информации для работы оптимизирующего компилятора.
«С# — простой, современный, объектно-ориентированный язык с безопасной системой типов, происходящий от С и С++. С# будет удобен и понятен для программистов, знающих С и С++. С# сочетает продуктивность Visual Basic и мощность С++.» Такими словами начинается описание С#. С# имеет следующие технические особенности языка:
- Единицей компиляции является файл (как в С, С++, Яве). Файл может содержать одно или несколько описаний типов: классов (class), интерфейсов (interface), структур (struct), перечислений (enum), типов-делегатов (delegate) с указанием (или без указания) об их распределении по пространствам имен;
2 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ЗАДАЧИ
2.1 Постановка задачи
В данном курсовом проекте необходимо разработать программное обеспечение для управления string справочником «Страны» return с бинарном использованием объектно-ориентированного public подхода. В программе возникающих должна быть реализована функция классов выбора источника files данных. Данные установки должны храниться:
- в текстовом файле (использовать формат *.csv где поля разделять запятой);
- в бинарном файле (использовать сериализацию);
- в памяти.
Справочник представляет собой набор записей, с полями: президент страны, название страны, континент, год основания страны. Над полями возможно производить операции добавления, изменения, удаления. Необходимо учесть проверку введенных значений, а для обработки ошибок обязательно использовать конструкцию try...catch. Работа с файлами должна быть корректной (использовать конструкцию finally или using).
В системе должна быть возможность выбора разных хранилищ. Должна быть предусмотрена возможность создавать новые источники данных (на выбор пользователя бинарный, текстовый файл или память), менять во время работы приложения источник данных (т.е. переключится с текстового на бинарный, или на другой тип хранилища). Для этого реализовать общий интерфейс, для выполнения основных операций (создание,чтение, обновление, удаление).
Для каждого типа хранилища должен быть разработан свой класс, унаследованный от общего интерфейса хранилища.
Интерфейс пользователя должен быть простым, также он должен предоставлять доступ ко всему перечню функциональных возможностей, предусмотренных данным приложением. Реализация доступа к широким функциональным возможностям и обеспечение простоты работы противоречат друг другу. Разработка эффективного интерфейса призвана сбалансировать эти цели.
2.2 Разработка классов
В ходе выполнения курсового проекта были созданы следующие классы, интерфейсы и перечисления:
- Program;
- Form1;
- Strana;
3 ВЕРИФИКАЦИЯ И ПРОВЕДЕНИЕ ВЫЧИСЛИТЕЛЬНОГО ЭКСПЕРИМЕНТА
3.1 Верификация и тестирование
Верификация – это вид деятельности, направленный на контроль качества программного обеспечения и обнаружение ошибок в нем.
Верификация программного обеспечения достаточно широкое понятие, которое включает в себя тестирование установки программного обеспечения, а также проверку технической документации на соответствие ГОСТ.
Тестирование программного обеспечения — процесс выявления ошибок в программном обеспечении (ПО). Существующие на сегодняшний день методы тестирования ПО не позволяют однозначно и полностью устранить все дефекты и ошибки и установить корректность функционирования анализируемой программы особенно в закрытых частных программах. Поэтому все существующие методы тестирования действуют в рамках формального процесса проверки исследуемого или разрабатываемого ПО.
Такой процесс формальной проверки или верификации может доказать, что дефекты отсутствуют, с точки зрения используемого метода. (То есть нет никакой возможности точно установить или гарантировать отсутствие дефектов в программном продукте с учётом человеческого фактора, присутствующего на всех этапах жизненного цикла ПО).
Существует множество подходов к решению задачи тестирования и верификации ПО, но эффективное тестирование сложных программных продуктов – это процесс в высшей степени творческий, не сводящийся к следованию строгим и чётким процедурам или созданию таковых.
Тестирование ПО – попытка определить, выполняет ли программа то, что от неё ожидают. Как правило, никакое тестирование не может дать абсолютной гарантии работоспособности программы в будущем.
Цели тестирования:
– повысить вероятность того, что приложение, предназначенное для тестирования, будет работать правильно при любых обстоятельствах;
– повысить вероятность того, что приложение предназначенное для тестирования, будет соответствовать всем описанным требованиям;
– предоставление актуальной информации о состоянии продукта на данный момент.
3.2 Виды, стратегии и уровни тестирования
Существуют следующие виды тестирования: модульное, интеграционное и системное.
ЗАКЛЮЧЕНИЕ
Цель курсового проекта достигнута. Разработано программное обеспечение для управления справочником «Страны» с использованием объектно-ориентированного подхода.
В процессе работы над данным курсовым проектом были достигнуты все поставленные задачи, а именно:
Было изучено:
- технологии работы призвана с текстовыми и бинарными файлами;
- приемы обработки данных различных типов;
- методику пошаговой отладки проекта;
- порождающий шаблон «Одиночка»;
- порождающий шаблон «Фабричный метод»
- правила оформления программной документации.
Было выполнено:
- спроектирован интерфейс проекта;
- разработаны алгоритмы запланированных процедур;
- проведено кодирования разработанных алгоритмов на выбранном языке;
- проведено тестирование решаемой задачи;
- оформлена требуемая программная документация.
Разработанное программное обеспечение (ПО) для управления справочником «Страны» с использованием объектно-ориентированного подхода производит операции добавления, изменения, удаления. Учитывает проверку введенных значений, а также предусмотрена возможность выбора источника данных (т.е. переключаться с текстового на бинарный, или на другой тип хранилища). Реализован удобный, простой интерфейс пользователя, который предоставляет доступ ко всему перечню функциональных возможностей, предусмотренных данным приложением.
1. Эндрю Троэлсен «C# и платформа .NET». Питер,Санкт-Петербург, 2005.
2. Г.Шилдт «Теория важнее и практика Си++.» СПб.:BHV – Санкт-Петербург, 1996.
3. Валерий filefabrica Лаптев «С++ Экспресс подчищаем курс», БХВ – Санкт-Петербург, 2004.
4. Кун openfiledialog С. «Матричные процессоры создают на СБИС». М. 1991
5. «Транспьютеры. Архитектура proizv и ПО». Пер. с поддерживающий англ./ Под создать ред. Г. Харпа.- М.: предусмотрена Радио и связь, 1993.
6. «СуперЭВМ. Аппаратная class и программная организация.»/ Под public ред. С.Фернбаха. Пер. с заданных англ. - М.: getname Радио и связь, 1991.
7. «Вычислительные файла комплексы, системы public и сети» / А.М.Ларионов, С.А.Майоров, Г.И.Новиков: шаблон Учебник для расширениями вузов. Л:Энергоиздат. Ленингр.отд-ние, 1987.
8. «Фути К., поле Судзуки Н. Языки конечном программирования и схемотехника» СБИС: текстовый Пер. с япон. М.: создание Мир, 1988.
9. Головкин получения Б.А. «Параллельные удобство вычислительные системы». М.:Наука, 1980.
10. Н.Культин «Практика mymemory программирования на С++». «Питер», Санкт – Петербург 2003.
11. А.Л. Фридман «Язык находится программирования С++ » курс private лекций; Интернет конструкцию Университет Информационных public технологий; Москва 2003
12. Т.А. нажать Павловская «С/С++ Программирование удобство на языке высокого такие уровня» учебник удаления для вузов; filefabrica Питер, Санкт – Петербург 2004.