{
FilmId = filmId;
Name = name;
Description = description;
Cost = cost;
Length = length;
}
public Film(string name, string description)
{
Name = name;
Description = description;
}
}
}
Length.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CourseWorkProject_OOP.Models.Entity
{
class LengthCategory
{
private int lengthFrom;
private int lengthTo;
private double coef;
public LengthCategory(int lengthFrom, int lengthTo, double coef)
{
this.lengthFrom = lengthFrom;
this.lengthTo = lengthTo;
this.coef = coef;
}
public double calcPrice(double price, int length)
{
if (length >= lengthFrom && length <= lengthTo)
{
return price * coef;
}
else
{
return price;
}
}
}
}
PlaceCategory.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CourseWorkProject_OOP.Models.Entity
{
class PlaceCategory
{
private int placeFrom;
private int placeTo;
private double coef;
public PlaceCategory(int placeFrom, int placeTo, double coef)
{
this.placeFrom = placeFrom;
this.placeTo = placeTo;
this.coef = coef;
}
public double calcPrice(double price, int line)
{
if (line >= placeFrom && line <= placeTo)
{
return price * coef;
}
else
{
return price;
}
}
}
}
Sale.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CourseWorkProject_OOP.Models.Entity
{
class Sale: Ticket
{
public int SaleId;
public int UserId;
public double Price { get; set; }
public DateTime DateSale { get; set; }
public Sale(int saleId, int userId, double price, DateTime dateSale, int tiketId, int cinemaId, string cinemaName, DateTime timeSeans,
int filmId, string name, string description, string cost, int length)
: base(tiketId, cinemaId, cinemaName, timeSeans, filmId, name, description, cost, length)
{
this.SaleId = saleId;
this.UserId = userId;
this.DateSale = dateSale;
this.Price = price;
}
public Sale(double price, DateTime dateSale, string cinemaName, DateTime timeSeans,
string name, string description)
: base(cinemaName, timeSeans, name, description)
{
this.DateSale = dateSale;
this.Price = price;
}
}
}
Ticket.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CourseWorkProject_OOP.Models.Entity
{
public class Ticket: Film
{
public int TiketId;
public int CinemaId;
public string CinemaName { get; set; }
public DateTime TimeSeans { get; set; }
public Ticket(int tiketId, int cinemaId, string cinemaName, DateTime timeSeans,
int filmId, string name, string description, string cost, int length)
: base(filmId, name, description, cost, length)
{
this.TiketId = tiketId;
this.CinemaId = cinemaId;
this.CinemaName = cinemaName;
this.TimeSeans = timeSeans;
}
public Ticket(string cinemaName, DateTime timeSeans,
string name, string description)
:base(name, description)
{
this.CinemaName = cinemaName;
this.TimeSeans = timeSeans;
}
}
}
TimeCategory.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CourseWorkProject_OOP.Models.Entity
{
/// <summary>
/// класс категории времени
/// </summary>
class TimeCategory
{
private int timeFrom;
private int timeTo;
private double coef;
public TimeCategory(int timeFrom, int timeTo, double coef)
{
this.timeFrom = timeFrom;
this.timeTo = timeTo;
this.coef = coef;
}
public double calcPrice(double price, DateTime time)
{
if (time.Hour >= timeFrom && time.Hour <= timeTo)
{
return price * coef;
}
else
{
return price;
}
}
}
}
Db.cs
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CourseWorkProject_OOP
{
class DB
{
MySqlConnection connection = new MySqlConnection("datasource = localhost; port=3306;username=root;password=Guga6931;database=tikets");
//ф-ция подключения к БД
public void openConnection()
{
if (connection.State == System.Data.ConnectionState.Closed)
connection.Open();
}
public void closedConnection()
{
if (connection.State == System.Data.ConnectionState.Open)
connection.Close();
}
public MySqlConnection GetConnection()
{
return connection;
{
ПРИЛОЖЕНИЕ Г
(обязательное)
Руководство пользователя
1 Общие сведения
Раздел «Руководство пользователя» содержит материал в обязательном порядке необходимый для ознакомления. В разделе описывается уровень допустимых знаний пользователя, документы, описывающие особенности работы и функционирования системы, необходимое программное обеспечение (если требуется).
Целью разработки программного продукта является автоматизация деятельности предприятий по учёту и обслуживания автотранспорта. Результатом разработки является приложение, включающее в себя функции доступа и обработки данных регламентируемых предметной областью проекта.
Пользователь системы должен обладать следующей квалификацией:
- пользовательские навыки работы с ЭВМ;
- знание предметной области и знакомство с руководством пользователя.
Список документов, предоставляемых к обязательному ознакомлению перед началом работы:
- настоящее руководство пользователя;
- инструкциями по технике безопасности (для работы с ЭВМ).
2 Требования к запуску приложения
Для запуска приложения требуется:
- операционная система Windows 7, 8, 10;
- устнановленный.NET Framework;
- заранее настроеное соединения с базой данных системным-программистом.
3 Запуск приложения
Приложение можно запустить через exe-файл напрямую. После запуска программы пользователь должен авторизоваться в системе, затем он сможет продолжить работу с приложением. Для завершения программы требуется нажать на значок меню в правом верхнем углу программы и выбрать соответствующий пункт.
4 Непредвиденные ситуации
Могут возникнуть несколько типов ошибок:
- неверно вваленные данные при авторизации;
-некорректно введённые данные;
- потеря соединения с базой данных;
- не удалось изменить запись;
- не удалось добавить запись;
- не удалось удалить запись;
- доступ к данному ресурсу недоступен.
При возникновении любых непредвиденных ситуаций рекомендуется перезапустить приложение. Если ошибка связана с подключением к базе данных обратитесь к системному-программисту. Если после повторного использования программы возникают ошибки сообщите разработчику, или программисту, который в данный момент поддерживает программу данной программы для её устранения.
ПРИЛОЖЕНИЕ Д
(обязательное)
Руководство программиста
1 Назначение и условия применения программы
Программное средство предназначено для учёта реализации билетов на киносеансы в кинотеатрах города.
Основные функции приложения:
- предоставление отчётов о доставках;
- получение информации с базы данных;
- управление данными пользователей;
- управление пользователями системы;
И тд
Для запуска приложения должен быть установлен.NET Framework. Для считывания данных устройство должно соединятся с базой данных MySQL.
2 Характеристики программы
Разработанное приложение написано на языке программирования C# в среде разработке VisualStudio 2019.
Для хранения информации используется база данных MySQL.
3 Обращение к программе
Обращение к программе происходит при запуске.exeфайла и настройки соединения с СУБД MySQL. Запуск программы так же осуществляется с помощью среды разработки, например, VisualStudio 2019.
Для дополнения программного обеспечения новым функционалом можно использовать любую среду разработки на языке программирования C#. Продукт покрыт автоматизированными функциональными тестами и их использование позволяет изменять исходный код без опасности нарушить какую-либо часть существующего функционала.
4 Входные и выходные данные
В качестве входных данных может использоваться тестовый набор данных, он генерируется с помощью SQL-скрипта приложенным в приложении, базу данных и тестовые записи.
Выходными данными для приложения являются сгенерированные XML-отчёты по расходу обслуживания заказов.
5 Сообщение в ходе работы приложения
При работе программа может оповещать пользователя о следующих неполадках в работы системы:
- некорректные учетные данные пользователя;
- несуществующий пользователь;
- ошибки корректности ввода данных;
- несуществующий киносеанс;
- несуществующий заказ.
Данные сообщения передаются в специальном виде ошибки с кодом ошибки и описанием
ПРИЛОЖЕНИЕ Ж
(обязательное)
Руководство системного программиста
1 Общие сведения о приложении
Приложении предназначена для автоматизации и упрощения работы по учёту обслуживания кинотеатров.
Данноеприложение выполняет следующие функции:
управление данными: добавление, удаление, просмотр, редактированиеданных;
выборка данных для предоставления отчётов;
получение данных из базы данных;
предоставление отчётов о доставках в формате XML;
Для функционирования программно-аппаратного комплекса необходимо наличие следующих компонент:
СУБД: MySQL;
на стороне клиента:.exeфайл с приложением.
2 Структура программы
Приложение реализовано на языке C#. В качестве хранилища базы данных используется MySQL. Для генерации базы данных и тестового набора написаны SQL-скрипты.
3 Настройка программы
Для корректной работы приложения требуется предварительно настроить подключения к базе данных, если база данных не создана, то сгенерировать её.
Так как приложения работает с СУБД MySQL, требуется предварительно её установить на компьютер с приложением, либо компьютер, находящийся в одной сети с ним, и установить MySQL Server. Для этого требуется выполнить SQL-скрипт, приложенный к приложению.
Далее потребуется настройка соединения с СУБД. Для этого требуется изменить строку подключения для уже существующей СУБД. Строка подключения находится в файле «DB.cs».
4 Проверка программы
Для проверки программы на работоспособность требуется заново провести модульное и интегрированное тестирование для проверки:
- на соединения с базой данных;
- на работоспособность бизнес-логики и возникновения исключительных ситуаций;
- корректность вывода данных и представления данных.
5 Дополнительные возможности
В качестве дополнительных возможностей можно выделить:
- многопользовательский доступ;
- гибкая настройка СУБД;
- валидация введённых данных.
6 Сообщение системному программисту
В приложении могут возникать следующие системные ошибки:
- не удалось установить подключения к базе данных;
-не удалось сохранить XML-отчёт;
- не удалось добавить киносеанс;
- не удалось зарегистрировать пользователя.
Для устранения данных ошибок требуется перезапустить программу, если ошибки не исчезли требуется проверить корректность введённых данных и соединения с базой данных. Если ошибки так и не удалось устранить требуется обратится к разработчику программы, либо программисту в данный момент её поддерживающий.