Разработка программного обеспечения информационной системы "Кинофестиваль" с использованием шаблона 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

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.