Разработка программного обеспечения информационной системы "Кинофестиваль" с использованием шаблона Singleton
Среда разработки Microsoft Visual C# как инструмент разработки приложений. Анализ предметной области, этапа проектирования и полученных результатов при тестировании. Системные программные средства. Проектирование порождающего шаблона "Singleton".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 23.02.2016 |
Размер файла | 2,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
55
Размещено на http://www.allbest.ru/
Министерство образования и науки Российской Федерации
ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Кафедра "Математическое обеспечение и применение ЭВМ"
Пояснительная записка
к курсовому проекту по дисциплине
"Конструирование программного обеспечения"
на тему: Разработка программного обеспечения информационной системы "Кинофестиваль" с использованием шаблона Singleton "
Автор работы: Жеребцов Н.Д.
Направление бакалавриата 09.03.04 ("Программная инженерия")
Обозначение курсовой работы ПГУ 09.03.04 - 6КП121.22 ПЗ
Группа 12ВП1
Руководитель работы Гурьянов Л.В., к. т. н., доцент
г. Пенза 2015 г.
Содержание
- Введение
- 1. Программные средства информационной системы
- 1.1 Анализ предметной области
- 1.2 Анализ функциональных требований
- 1.2.1 Базовая архитектура
- 1.3 Системные программные средства
- 1.4 Технология разработки
- 1.4.1 Порождающий шаблон "Singleton"
- 1.5 Проектирование
- 1.5.1 Проектирование шаблона "Singleton"
- 1.5.2 Проектирование пользовательского интерфейса
- 1.5.3 Проектирование структур данных
- 1.5.4 Проектирование программных средств
- 1.6 Реализация
- 1.7 Тестирование
- Заключение
- Список использованных источников
- Приложения
Введение
В последнее время в общем объеме создаваемого программного обеспечения различного назначения увеличивается доля.net - приложений - программ, ориентированных на платформу Microsoft.net. Это объясняется новыми возможностями, которые представляет платформа прикладным программам.
Среда разработки Microsoft Visual C# является инструментом разработки.net - приложений.
В Microsoft Visual C# есть компоненты, позволяющие создавать программы для работы с базами данных Microsoft Access и Microsoft SQL Server.
шаблон приложение программное средство
1. Программные средства информационной системы
1.1 Анализ предметной области
Предметной областью является кинофестиваль, реализующий учет гостей, фильмов, номинаций, номинантов и жюри.
Концептуальная модель предметной области представлена в виде диаграммы классов на рисунке 1.1.1.
Рисунок 1.1.1 - Концептуальная диаграмма классов
На данной диаграмме классов представлены наборы данных. В наборе "Данные об участниках" представлены поля, содержащие в себе имя, фамилию, роль, номинацию и кол-во голосов для участника фестиваля. В наборе "Данные о фильмах" содержатся название, режиссёр, дата выхода и бюджет фильма. В наборе "Данные о номинации" указаны сама номинация, кол-во возможных её получателей и имя того, кто будет её вручать. В наборе "Учет жюри" содержится имя, фамилия, должность и возраст человека, оценивающего работу участника. В наборе "Учет гостей " производится учет посетителей и их местоположение в зале.
1.2 Анализ функциональных требований
Основными функциями автоматизированной системы "Кинофестиваль" являются: реализация учета гостей, фильмов, номинаций, номинантов и жюри.
Автоматизированная система ориентирована на разграничение в функциональном плане управляющего базы данных и пользователя. Диаграмма вариантов использования, спроектированная на основе функциональных требований и типов пользователей, представлена на рисунке 1.1.2.
Пользователь может добавлять фильмы, номинантов и др., редактировать уже добавленные, удалять их. Также для удобства поиска пользователь может профильтровать список по набранным символам.
Рисунок 1.1.2 - Диаграмма вариантов использования
Таблица 1 - Спецификация "Добавить"
Добавить |
|
ID: 1 |
|
Краткое описание: Добавление нового фильма, номинации и др. |
|
Главные актёры: Пользователь. |
|
Второстепенные актёры: Нет. |
|
Предусловия: Начинается, когда пользователь выбрал опцию "добавить". |
|
Основной поток: 1. Администратор вводит информацию и подтверждает свой выбор. 2. Если данные корректны 3.1система добавляет изменения в список. 3. Иначе 3.1 Сформировать сообщение об ошибке 3.2 Завершить прецедент 4. Список сохраняется в. mdb файле. |
|
Постусловия: 1. Система обновляет список. |
|
Альтернативные потоки: Нет |
Таблица 2 - Спецификация " Сортировать"
Сортировать |
|
ID: 2 |
|
Краткое описание: Система производит сортировку списка в нужной последовательности пользователю. |
|
Главные актёры: Пользователь |
|
Второстепенные актёры: Нет. |
|
Предусловия: Начинается, когда пользователь начал вводить символы в поле сортировки. |
|
Основной поток: 1. Прецедент начинается, когда пользователь начал вводить символы в поле сортировки. 2. Если строка поиска не пуста, то 2.1 Система производит сортировку по списку и выделение искомых полей. 3. Иначе 3.1 Не происходит выделение никакого поля. |
|
Постусловия: 1. Система выделяет сортированные строки. |
|
Альтернативные потоки: Нет. |
1.2.1 Базовая архитектура
Приложение представляет собой исполняемый файл и mdb-файл, выполняющий роль базы данных, в которой хранится информация о товарах магазина. Рассмотрим архитектуру на диаграмме развёртывания (рисунок 1.2.1) [3].
Рисунок 1.2.1 - Диаграмма развёртывания
1.3 Системные программные средства
Приложение создаётся с использованием WindowsForms - интерфейса программирования приложений, отвечающего за графический интерфейс пользователя и являющейся частью Microsoft.netFramework [4].
Информация хранится в mdb-файле. Для работы с базой данных MS Access используется объект DataGridView, который позволяет подключить нужную таблицу. Данные из объекта DataGridView считываются путем запоминая данных в dataSet.
1.4 Технология разработки
1.4.1 Порождающий шаблон "Singleton"
Паттерн Singleton гарантирует, что у класса может быть только один экземпляр. В частном случае предоставляется возможность наличия, заранее определенного числа экземпляров. Диаграмма шаблона представлена на рисунке 1.4.1.
Рисунок 1.4.1 - Диаграмма шаблона "Singleton"
Паттерн Singleton рекомендуется использовать, когда:
· В системе должен быть только один экземпляр некоторого класса, или в частном случае заранее определенное пользователем количество экземпляров (два, три и т.д.).
· Требуется организовать расширение класса единственного экземпляра через использование механизма наследования.
Особенности применения паттерна Singleton:
· Контроль доступа к единственному экземпляру.
Процесс создания единственного экземпляра скрыт в классе Singleton, поэтому класс Singleton полностью контролирует доступ к экземпляру через использование метода Instance, который всегда возвращает ссылку на один и тот же экземпляр.
· Возможность расширения через наследование.
Если класс Singleton не является статическим или герметизированным / запечатанным, то от него возможно наследование, что позволит расширить существующую функциональность.
· Возможность наличия переменного числа экземпляров.
Паттерн Singleton позволяет создавать фиксированное число экземпляров класса Singleton.
· Большая гибкость чем у статических классов.
Одним из вариантов реализации паттерна Singleton в C#, является использование статических классов. Но такой подход может в дальнейшем препятствовать изменению дизайна в том случае, если понадобится использование нескольких экземпляров класса Singleton. Кроме того, статические классы не сопрягаются с механизмами наследования и статические методы не могут быть виртуальными, что не допускает полиморфных отношений.
1.5 Проектирование
1.5.1 Проектирование шаблона "Singleton"
Экземпляр "Одиночка" создается при первом обращении к классу Class_Button, ссылка на него будет храниться в статической переменной класса. Обращение к любой форме выглядит следующим образом:
· Формы создаются внутри класса
· Все обработчики из форм переносятся в Class_Button
· Создание форм переносится в Class_Button
Таким образом, всегда будет доступ ко всем объектам внутри классаClass_Button.
Пример вызова таблицы "Учет товара": Class_button. Instance. uchet_tovara. ShowDialog ();
1.5.2 Проектирование пользовательского интерфейса
Исходя из диаграммы вариантов использований, был спроектирован графический пользовательский, представленный на рисунках 1.5.1 - 1.5.3.
Работа программы начинается с запуска приложения. Перед переходом на главную форму программы появляется окно - заставка (рисунок 1.5.1).
Рисунок 1.5.1 - Окно заставка программы
После нажатия - щелчка на окно - заставку перед пользователем появляется главная форма - меню (рисунок 1.4.2).
Рисунок 1.5.2 - Визуальные компоненты графического интерфейса
На примере главной формы рассмотрим графический пользовательский интерфейс, представленный на рисунке 1.5.3.
Рисунок 1.5.3 - Визуальные компоненты графического интерфейса
1 - кнопка для добавления
2 - кнопка для удаления
3 - таблица базы данных, которую можно просмотреть и изменить
4 - строка для поиска и фильтрации
5 - кнопка обновления и сохранения
6 - кнопка, позволяющая закрыть форму
7 - закладки, позволяющие переключаться между таблицами
1.5.3 Проектирование структур данных
Товары и информация о них хранятся в базе данных MS Acces, в файле bd1. mdb. Структура mdb-файла представлена в виде таблиц.
Рисунок 1.5.4 - Схема базы данных
1.5.4 Проектирование программных средств
В соответствии модели предметной области были спроектированы следующие классы, представленные в Приложении Б.
Интерфейсные классы
Form1 - главное окно программы, которое содержит меню.
Form_Zastavka - окно, содержащее заставку.
DataSet1 - таблица, содержащая в себе данные о фильмах
DataSet2 - таблица, содержащая в себе данные о номинациях
DataSet3 - таблица, содержащая в себе данные об участниках
DataSet4 - таблица, содержащая в себе данные о гостях
DataSet5 - таблица, содержащая в себе данные о жюри
Классы - сущности
Class_Button - класс, содержащий в себе операции по обработки всех кнопок меню.
Рисунок 1.5.5 - Диаграмма классов
В соответствии модели предметной области были спроектированы следующие классы, представленные в Приложении Б.
Интерфейсные классы
Form1 - главное окно программы, которое содержит меню.
Form_Zastavka - окно, содержащее заставку.
DataSet1 - таблица, содержащая в себе данные о фильмах
DataSet2 - таблица, содержащая в себе данные о номинациях
DataSet3 - таблица, содержащая в себе данные об участниках
DataSet4 - таблица, содержащая в себе данные о гостях
DataSet5 - таблица, содержащая в себе данные о жюри
Классы - сущности
Class_Button - класс, содержащий в себе операции по обработки всех кнопок меню.
1.6 Реализация
Программный код приведён в приложении А. Диаграмма компонентов представлена на рисунке 1.6.
Рисунок 1.6 - Диаграмма компонентов
1.7 Тестирование
Проверка разработанного прикладного программного обеспечения заключается в его функциональном тестировании с целью выявления ошибок и некорректной работы. В результате тестирования ошибок обнаружено не было, что позволяет сделать вывод о работоспособности разработанного прикладного программного обеспечения.
Таблица 4 - Тесты, соответствующие варианту использования.
Номер |
Вариант использования |
Тест |
Результат |
|
1 |
Запуск программы |
Запускаем программу |
Тест выполнен. (Рисунок1.7.1.) |
|
2 |
Добавить |
Все информационные поля пусты |
Тест не выполнен. (Рисунок1.7.2.) |
|
3 |
Добавить товар |
Добавление, заполнены не все информационные поля |
Тест выполнен. (Рисунок1.7.3.) |
|
4 |
Удаление |
Удаление поля, выбранного из списка. |
Тест не выполнен. (Рисунок1.7.4) |
|
5 |
Удаление |
Удаление поля, выбранного из списка. |
Тест выполнен. (Рисунок1.7.5) |
|
6 |
Поиск |
Введение символов в поле поиска. |
Тест выполнен. (Рисунок 1.7.6) |
Рисунок 1.7.1 - Тестирование проекта (тест 1)
Рисунок 1.7.2 - Тестирование проекта (тест 2)
Рисунок 1.7.3 - Тестирование проекта (тест 3)
Рисунок 1.7.4 - Тестирование проекта (тест 4)
Рисунок 1.7.5 - Тестирование проекта (тест 5)
Рисунок 1.7.6 - Тестирование проекта (тест 6)
Заключение
В ходе выполнения курсового проекта, был проведен анализ предметной области и анализ функциональных требований, в результате которых была составлена диаграмма последовательностей.
Приложение разработано в среде программирования MicrosoftVisualStudio 2010 на языке C# и с помощью MSAccess.
На основе анализа предметной области, этапа проектирования и полученных результатов при тестировании можно сделать вывод, что программа и все её функции работают корректно.
Список использованных источников
1. Зиборов В.В. "VisualC# 2010 на примерах", Санкт-Петербург: "БХВ-Петербург", 2011.
2. Дженнигнс Роджер. Использование MicrosoftAccess 2003. Специальное издание.: Пер. с англ.: Уч. Пос. - М.: Издательский дом "Вильяме". 2004г.
3. Культин Н. MicrosoftVisualC# в задачах и примерах. Санкт-Петербург: "БХВ-Петербург", 2009.
4. Ватсон К. C#. Издательство "Лори".
5. Джесс Либерти, Создание.net-приложений Программирование на C#, Символ, O'REILLY.
Приложения
Приложение А
Диаграмма классов
Приложение Б
Листинг программного кода
Progam. cs
using System;
using System. Collections. Generic;
using System. Linq;
using System. Threading. Tasks;
using System. Windows. Forms;
namespace KinoFestival
{
static class Program
{
// / <summary>
// / Главная точка входа для приложения.
// / </summary>
[STAThread]
static void Main ()
{
Application. EnableVisualStyles ();
Application. SetCompatibleTextRenderingDefault (false);
Zastavka zas = new Zastavka ();
zas. ShowDialog ();
Application.run (new Form1 ());
}
}
}
Zastavka. cs
using System;
using System. Collections. Generic;
using System.componentModel;
using System. Data;
using System. Drawing;
using System. Linq;
using System. Text;
using System. Threading. Tasks;
using System. Windows. Forms;
namespace KinoFestival
{
public partial class Zastavka: Form
{
public Zastavka ()
{
InitializeComponent ();
}
private void Zastavka_Load (object sender, EventArgs e)
{
}
private void pictureBox1_Click (object sender, EventArgs e)
{
this. Close ();
}
}
}
Form1. cs
using System;
using System. Collections. Generic;
using System.componentModel;
using System. Data;
using System. Drawing;
using System. Linq;
using System. Text;
using System. Threading. Tasks;
using System. Windows. Forms;
namespace KinoFestival
{
public partial class Form1: Form
{
public Form1 ()
{
InitializeComponent ();
}
private void Form1_Load (object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу "бДDataSet4. Жюри". При необходимости она может быть перемещена или удалена.
this. жюриTableAdapter. Fill (this. бДDataSet4. Жюри);
// TODO: данная строка кода позволяет загрузить данные в таблицу "бДDataSet3. Номинации". При необходимости она может быть перемещена или удалена.
this. номинацииTableAdapter. Fill (this. бДDataSet3. Номинации);
// TODO: данная строка кода позволяет загрузить данные в таблицу "бДDataSet2. Гости". При необходимости она может быть перемещена или удалена.
this. гостиTableAdapter. Fill (this. бДDataSet2. Гости);
// TODO: данная строка кода позволяет загрузить данные в таблицу "бДDataSet1. Участники". При необходимости она может быть перемещена или удалена.
this. участникиTableAdapter. Fill (this. бДDataSet1. Участники);
// TODO: данная строка кода позволяет загрузить данные в таблицу "бДDataSet. Фильмы". При необходимости она может быть перемещена или удалена.
this. фильмыTableAdapter. Fill (this. бДDataSet. Фильмы);
}
private void button1_Click (object sender, EventArgs e)
{
this. фильмыTableAdapter. Update (this. бДDataSet. Фильмы);
this. участникиTableAdapter. Update (this. бДDataSet1. Участники);
this. гостиTableAdapter. Update (this. бДDataSet2. Гости);
this. номинацииTableAdapter. Update (this. бДDataSet3. Номинации);
this. жюриTableAdapter. Update (this. бДDataSet4. Жюри);
}
private void button2_Click (object sender, EventArgs e)
{
this. Close ();
}
}
}
Размещено на Allbest.ru
...Подобные документы
Редактор Visual Basic в интерпретации Microsoft - интегрированная среда проектирования (IDE). Средства и инструменты, необходимые программисту для разработки и создания приложений. Характеристика основных возможностей редактора. Запись и запуск макроса.
презентация [531,2 K], добавлен 26.10.2011Понятие шаблона проектирования или паттерна в разработке программного обеспечения. Изменение поведения системы (базы данных) с помощью порождающего шаблона программирования - абстрактной фабрики. Программирование базы данных и управление ею на языке С+.
курсовая работа [124,8 K], добавлен 30.04.2011Описание среды разработки Microsoft Visual Studio. Поддерживаемые технологии и языки программирования. Возможности и особенности компьютеризированного тестирования человека. Проектирование программного обеспечения с использованием объектного подхода.
курсовая работа [3,0 M], добавлен 09.02.2013Анализ решений по автоматизации предметной области. Выбор методологии проектирования информационной системы. Обоснование выбора платформы. Взаимодействие приложения с источниками данных. Выбор жизненного цикла разработки программного обеспечения.
дипломная работа [3,7 M], добавлен 18.12.2010Анализ и разработка информационной системы, структура сети предприятия. Описание процесса разработки конфигураций и выявление потребностей в автоматизации функций. Средства разработки проектирования и архитектура базы данных. Разработка модели угроз.
дипломная работа [1,4 M], добавлен 13.07.2011Описание предметной области. Организация диалога пользователя с компьютером. Определение важных для предметной области объектов, их свойств и отношений друг с другом. Среда разработки базы данных - Microsoft Visual FoxPro 6.0. Требования к приложению.
курсовая работа [880,1 K], добавлен 11.01.2012Проблемы, связанные с отсутствием информационной системы. Проектирование логической схемы данных для выбранной предметной области на основе методологии IDEF1X. Разработка информационной системы с использованием MS SQL Server 2008 и MS Visual Studio 2010.
курсовая работа [3,0 M], добавлен 07.08.2013Ввод информации на рабочий лист. Документы предметной области, содержащие информацию, необходимую для оформления товарно-транспортной накладной. Общее понятие о Microsoft Excel: автоматизация, создание формул. Технология создания шаблона документа.
контрольная работа [332,1 K], добавлен 18.11.2012Анализ существующих систем автоматизации документооборота. Выбор шаблона проектирования. Microsoft SQL Server как комплексная высокопроизводительная платформа баз данных. Язык программирования C#. Разработка интерфейса и иллюстрация работы системы.
дипломная работа [2,5 M], добавлен 19.07.2014Анализ предметной области, этапы проектирования автоматизированных информационных систем. Инструментальные системы разработки программного обеспечения. Роль CASE-средств в проектировании информационной модели. Логическая модель проектируемой базы данных.
курсовая работа [410,6 K], добавлен 21.03.2011Анализ предметной области. Средства и технологии разработки программного обеспечения. Требования к аппаратным и операционным ресурсам. Создание навигационного меню. Структура данных таблиц. Разработка интерфейса модуля. Сортировка и фильтрация данных.
дипломная работа [3,7 M], добавлен 12.05.2018Создание автоматизированного каталога режущего инструмента предприятия с использованием современного программного обеспечения: СУБДFireBird 2.5 и среда разработки приложений C++ Builder 6. Разработка программного модуля для работы и автоматизации.
курсовая работа [3,2 M], добавлен 14.12.2012Общая характеристика, достоинства и недостатки среды разработки приложений Microsoft Visual Basic. Структура программы для редактирования изображений, аппаратные и программные средства ее создания и эксплуатации. Описание объектов и их взаимодействия.
курсовая работа [3,9 M], добавлен 26.12.2012Объектно-ориентированная технология создания программ. Среда разработки Visual Studio.NET. Особенности среды Microsoft Visual Studio 2010. Приложения C# для расчетов по формулам, консольный ввод-вывод. Форматирование значений данных. Программы с циклами.
методичка [2,1 M], добавлен 11.09.2014История Hyper Text Markup Language, таблицы стилей, уровни Cascading Style Sheets. Описание средств разработки шаблона. Верстка элементов шаблона и создание стилей. Требования к качеству html-верстки и тестирование сайта. Листинг html и css-кода.
курсовая работа [237,5 K], добавлен 28.12.2014Разработка информационная системы средствами Microsoft Access и Toad Data Modeler для менеджера турфирмы, максимально отвечающей всем стандартам современного туристического бизнеса. Установка программного обеспечения для разработки и внедрения системы.
дипломная работа [4,0 M], добавлен 10.09.2013Теоретические основы написания Windows-приложений с использованием библиотеки MFC. Основы программирования под Windows. Проектирование приложений в среде Microsoft Visual C++. Описание логической структуры приложения, его функциональное назначение.
курсовая работа [1,3 M], добавлен 12.12.2011Создание учебной информационной системы, реализующей бизнес-процессы предметной области: оборот денежных средств на предприятии по торговле металлопрокатом, участвующих в предоплатах и оплатах приложений к счетам. Разработка программного обеспечения.
курсовая работа [25,7 K], добавлен 27.06.2012Вопросы реализации шаблона типового сайта диссертационного совета СевКавГТУ. Разработка базы данных для шаблона сайта с помощью фреймворка Django и Aptana Studio 3. Обоснование требований к техническому обеспечению. Расчет цены программного продукта.
дипломная работа [2,5 M], добавлен 26.09.2012Анализ предметной области. Технико-экономическое обоснование разработки программного обеспечения информационной системы отдела кадров. Проектирование пользовательского интерфейса. Оптимизация параметров микроклимата помещений, оборудованных ПЭВМ.
дипломная работа [6,8 M], добавлен 16.01.2015