Введение
1 Обзор методов и средств решения задачи
1.1 Основные понятия C# .NET
1.1.1 Преимущества платформы .NET
1.1.2 Роль библиотек базовых классов
1.2 Обзор шаблонов проектирования и их классификация
1.2.1 Шаибкблоны проектирования «Одиночка»
1.2.2 Шаибкблоны проектирования «Фабричный метод»
2 Программная реализация задачи
3 Верификация и проведение вычислительного эксперимента
Заключение
Список литературы
Приложение А. Код программы
Приложение B. Функциональная схема программы
Введение
Целью данного курсового проекта является разработка программного обеспечения для управления справочником «Мебель» с использованием объектно-ориентированного подхода, а также шаблонов проектирования «Одиночка» и «Фабричный метод».
В процессе выполнения курсового проекта необходимо изучить следующие теоретические аспекты:
- технологию работы с текстовыми и бинарными файлами;
- методы создания многомодульных проектов и многостраничных форм;
- приемы обработки данных различных типов;
- методику пошаговой отладки проекта;
- порождающий шаблон «Одиночка»;
- порождающий шаблон «Фабричный метод»;
- правила оформления программной документации.
При выполнении курсовой работы были поставлены следующие задачи:
- проектирования интерфейса проекта;
- выбора объектов формы и определения событий, для обработки которых требуется разработка процедур;
- разработка алгоритмов запланированных функций;
- кодирования разработанных алгоритмов на выбранном языке;
- реализация логики приложения с использованием шаблонов проектирования «Одиночка» и «Фабричный метод»;
- написание требуемой программной документации.
Таким образом, разработанное ПО для управления справочником «Мебель» должно представлять собой набор записей с полями: фирма производитель мебели, название изделия, дата изготовления, стоимость.
1 Обзор методов и средств решения задачи
Объектно-ориентированное программирование (ООП) – это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования.
Идеологически ООП − подход к программированию как к моделированию информационных объектов, решающий на новом уровне основную задачу структурного программирования: структурирование информации с точки зрения управляемости, что существенно улучшает управляемость самим процессом моделирования, что, в свою очередь, особенно важно при реализации крупных проектов.
Основные принципы структурирования связаны с различными аспектами базового понимания предметной задачи, которое требуется для оптимального управления соответствующей моделью:
− абстрагирование для выделения в моделируемом предмете важного для решения конкретной задачи по предмету, в конечном счёте — контекстное понимание предмета, формализуемое в виде класса;
− инкапсуляция для быстрой и безопасной организации собственно иерархической управляемости: чтобы было достаточно простой команды «что делать», без одновременного уточнения как именно делать, так как это уже другой уровень управления;
− наследование для быстрой и безопасной организации родственных понятий: чтобы было достаточно на каждом иерархическом шаге учитывать только изменения, не дублируя всё остальное, учтённое на предыдущих шагах;
− полиморфизм для определения точки, в которой единое управление лучше распараллелить или наоборот − собрать воедино.
2 Программная реализация также задачи
В данном курсовом проекте необходимо разработать программное обеспечение для управления справочником «Мебель» с бинарном использованием объектно-ориентированного подхода. В программе должна быть реализована функция выбора источника данных. Данные должны храниться:
- в текстовом файле (использовать null *.csv где поля разделять запятой);
- в бинарном файле (использовать сериализацию);
- в памяти.
Справочник представляет собой набор записей, с полями: название фирмы производителя мебели, название мебели, дату изготовления, стоимость. Над полями возможно производить операции добавления, изменения, удаления. Необходимо учесть проверку введенных значений, выходом для обработки ошибок обязательно использовать конструкцию try...catch. Работа с файлами должна быть корректной (использовать конструкцию finally или using).
В системе должна быть возможность выбора разных хранилищ. Должна быть предусмотрена возможность создавать новые источники данных (на выбор пользователя бинарный, текстовый файл или память), менять во время файла работы приложения окон источник данных (т.е. переключится file с текстового на бинарный, namespace или на другой тип хранилища). Для накоплением этого реализовать любого общий интерфейс, обеспечивать для выполнения основных операций (создание, чтение, обновление, удаление).
Для каждого типа хранилища должен быть разработан свой класс, унаследованный от общего интерфейса хранилища.
Интерфейс пользователя должен быть простым, также он должен предоставлять доступ ко всему перечню функциональных возможностей, предусмотренных данным приложением.
3 Верификация задаем и проведение вычислительного list эксперимента
Верификация – это вид деятельности, направленный на контроль качества программного обеспечения и обнаружение ошибок в нем.
Верификация программного обеспечения достаточно широкое понятие, которое включает в себя тестирование программного обеспечения, а также проверку технической документации на соответствие ГОСТ.
Тестирование программного обеспечения — процесс выявления ошибок в программном обеспечении (ПО). Существующие на сегодняшний день методы тестирования ПО не позволяют однозначно и полностью устранить все дефекты и ошибки и установить корректность функционирования анализируемой программы особенно в закрытых частных программах. Поэтому все существующие методы тестирования действуют в рамках формального процесса проверки исследуемого или разрабатываемого ПО.
Такой процесс формальной проверки или верификации может доказать, что дефекты отсутствуют, с точки зрения используемого метода. (То есть нет никакой возможности точно установить или гарантировать отсутствие дефектов в программном продукте с учётом человеческого фактора, присутствующего на всех этапах жизненного цикла ПО).
Существует множество подходов к решению задачи тестирования и верификации ПО, но эффективное тестирование сложных программных продуктов – это процесс в высшей степени творческий, не сводящийся к следованию строгим и чётким процедурам или созданию таковых.
Тестирование ПО – попытка определить, выполняет ли программа то, что от неё ожидают. Как правило, никакое тестирование не может дать абсолютной гарантии работоспособности программы в будущем.
Заключение
Цель курсового проекта достигнута. Разработано программное обеспечение для управления справочником «Мебель» с использованием объектно-ориентированного подхода.
В процессе работы над данным курсовым проектом были достигнуты все поставленные задачи, а именно:
Было изучено:
- технологии работы с текстовыми и бинарными файлами;
- приемы обработки данных различных типов;
- методику пошаговой отладки проекта;
- порождающий шаблон «Одиночка»;
- порождающий шаблон «Фабричный метод»
- правила оформления программной документации.
Было выполнено:
- спроектирован интерфейс проекта;
- разработаны алгоритмы запланированных процедур;
- проведено кодирования разработанных алгоритмов на выбранном языке;
- проведено тестирование решаемой задачи;
- оформлена требуемая программная документация.
Разработанное программное обеспечение (ПО) для управления справочником «Мебель» с использованием объектно-ориентированного подхода производит операции добавления, изменения, удаления. Учитывает проверку введенных значений, а также предусмотрена возможность выбора источника данных (т.е. переключаться с текстового на бинарный, или на другой тип хранилища).
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.