Описание предметной области «Потребность в железнодорожном транспорте» 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Описание предметной области «Потребность в железнодорожном транспорте»



ВВЕДЕНИЕ

За последние годы возросла популярность железнодорожных путешествий. При помощи поезда можно добраться практически в любую точу. Огромная протяженность железнодорожной сети позволяет сегодня путешествовать в любом направлении и по любому маршруту. Развитие транспортной инфраструктуры предоставляет человеку большие возможности в перемещении между городами, странами, континентами. Но наряду с этим появилась и необходимость в получении наиболее точной информации о маршрутах следования.

В настоящее время любой человек может получить интересующую его информацию о том или ином виде транспорта, используя только сеть интернет. Но довольно часто количество материала оказывается избыточным и появляется необходимость в получении быстрых ответов на такие вопросы, как поиск оптимальных результатов по какому-либо критерию. Так, информационная система железнодорожной станции нуждается в системе поиска оптимальных железнодорожных маршрутов. С её появлением существенно сократится затрачиваемое на анализ время, а значит и расходуемые ресурсы, что в свою очередь существенно увеличит доход компании-представителя и повлияет на привлечение новых клиентов.

Таким образом, задачи данного курсового проекта включают разработку автоматизированной системы, назначением которой является осуществление анализа текущих маршрутов, а также предоставление результирующей информации в актуальном и наиболее подробном виде о найденном результате.

Программный модуль, позволяющий анализировать и прогнозировать потребность в железнодорожном транспорте по данным о перевозках, позволит решить множество задач:

- выявление убыточных (прибыльных) мест в перевозках;

- оценка загруженности ж/д транспорта

- прогнозирование потребности в железнодорожном транспорте;

- автоматизация учёта осуществлённых перевозок;

и других.

Следовательно, цели данного программного модуля:

- оптимизация процесса учёта перевозок;

- контроль потребности в ж/д транспорте.


ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ «ПОТРЕБНОСТЬ В ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ» И ОПРЕДЕЛЕНИЕ ТРЕБОВАНИЙ К СИСТЕМЕ С ТОЧКИ ЗРЕНИЯ ПРЕДМЕТНОЙ ОБЛАСТИ

Описание предметной области «Потребность в железнодорожном транспорте»

 

Анализ данных - совокупность действий, осуществляемых исследователем в процессе изучения полученных тем или иным образом данных с целью формирования определенных представлений о характере явления, описываемого этими данными.

Основная цель анализа данных - выявление (подтверждение, корректировка) каких-то интересующих исследователя статистических закономерностей; или, другими словами, - определенного рода сжатие, усреднение содержащейся в данных информации.

Прогнозирование – это особый вид деятельности, представляющий совокупность методов предвидения (методов прогнозирования), позволяющих получать вероятностную информацию о будущем состоянии объекта в виде прогнозов.

Прогноз – научно обоснованное вероятностное суждение о возможных состояниях объекта в будущем, направлениях и сроках их осуществления.

Целью прогнозирования является установление вероятностной оценки путей, направлений, уровней, структуры и темпов развития объекта прогнозирования.

Пассажирские перевозки железнодорожным транспортом имеют широкое распространение в нашей республике. С появление ЭВМ, Интернета, глобальных сетей и автоматизированных программ вести учёт, анализировать и прогнозировать потребности в железнодорожном транспорте стало ещё проще.

По средствам функционального моделирования можно провести анализ предметной области. IDEF0 (IntegrationDefinitionforFunctionModeling) - методология функционального моделирования и графическая нотация, предназначенная для формализации и описания бизнес-процессов. Цель модели – анализ и прогнозирование потребности в железнодорожном транспорте. Точка зрения модели – аналитик.

На контекстной диаграмме верхнего уровня представлен объект моделирования – «Анализировать и прогнозировать потребность в железнодорожном транспорте», выходные данные, механизмы реализации и управления данными.

Выходной информацией являетсясформированный отчёт о проделанном анализе и прогнозировании на основе выбранных критериев. Управляющими механизмами являются статистические модели и методы, с помощью которых будет осуществляться расчёт необходимых параметров, а также постановление Министерства транспорта РБ и правила написания запросов.Механизмами реализации являются аналитик, который будет собирать, работник железнодорожного вакзала, который выдаст эти данные и компьютер, с помощью которого будет осуществляться сам процесс анализа и прогнозирования.

Далее была произведена декомпозиция контекстной диаграммы верхнего уровня на четыре дочерние диаграммы: собрать данные, выбрать параметры для анализа/прогнозирования, обработать данные, сформировать результат. Для того, чтобы собрать необходимые данные, аналитику необходимо определить, какие данные ему необходимы, по каким параметрам он хочет производить анализ. Затем необходимо обратиться в отдел сбора данных железнодорожного вокзала. После чего получить необходимые данные. На основе полученных данных можно осуществлять анализ и прогнозирование. Для начала определяем цель, а после критерии для анализа и предмет прогноза. Переходим непосредственно к выбору методов, а также написания запроса, для выборки конкретных данных. Выборка состоит из составления запроса и получения данных из базы. После чего применяем выбранные методы и формируем результат. Строим таблицы, диаграммы, графики и получаем отчёт. Наглядно весь процесс описан на диаграммах (Приложение А).

 

1.2 Определение требований к системе с точки зрения предметной области

 

После ознакомления с существующим рынком сервисов по анализу и прогнозированию необходимо сконструировать архитектуру сервиса, предоставляющего схожий функционал.

Определены основные узлы/компоненты проекта:

- хранилище данных,

- администраторское приложение,

- надстройка к MS Excel.

Хранилище данных содержит информацию о поездах, типах вагонов, даты осуществления перевозки, пунктах отправления и прибытия, которая в последствии будет необходима при анализе и прогнозировании потребности в железнодорожном транспорте.

Компонент «администраторское приложение» выполняет роль средства, с помощью которого будет осуществляться наполнение хранилища данными и фиксирования изменений в них. Этот узел будет представлен в форме web-приложения для удобства пользования и быстроты доступа при обновлении хранилища. Реализация будет осуществляться на основе шаблона ASP.NET DynamicDataLinqto SQL WebSite. Это готовое решение удобно и легко адаптируемо для реализации функционала администратора системы.

Надстройка к MS Excel будет выполнять роль клиентского приложения. Надстройка предоставляет функционал непосредственно самой программы MS Excel (таблицы, графики, диаграммы).


ПОСТАНОВКА ПРОБЛЕМНЫХ ВОПРОСОВ РЕАЛИЗАЦИИ СИСТЕМЫ АНАЛИЗА И ПРОГНОЗИРОВАНИЯ ПОТРЕБНОСТИ В ЖЕЛЕЗНОДОРОДНОМ ТРАНСПОРТЕ, ОПИСАНИЕ ФОРМ ОТВЕТА НА НИХ

 

ОПИСАНИЕ АЛГОРИТМОВ, РЕАЛИЗУЮЩИХ БИЗНЕС-ЛОГИКУ СЕРВЕРНОЙ ЧАСТИ ПРОЕКТИРУЕМОЙ СИСТЕМЫ АНАЛИЗА И ПРОГНОЗИРОВАНИЯ ПОТРЕБНОСТЕЙ В ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ

 

Описание алгоритма, реализующего общую работу приложения эксперта

 

При запуске приложения открывается текстовый документ MSExcel2007. На вкладке «Надстройки» эксперт выбирает вид анализа или прогнозирования, устанавливает необходимые параметры. Полученный запрос от клиента передается классам бизнес-логики, в которых формируется SQl-запрос к базе данных. После установления соединения, запрос передается базе данных. Результат запроса возвращается клиенту.

 

ЗАКЛЮЧЕНИЕ

 

Система «Анализ и прогнозирование потребности в железнодорожном транспорте на основе данных о перевозках» реализована довольно качественно. Поставленная цель достигнута – оптимизировали учёт перевозок, а также ввели контроль потребности в железнодорожном транспорте с возможностью построения прогноза.

Весь функционал, определенный на этапе спецификации системы выполнен:

- Определение самых убыточных и прибыльных рейсов;

- Анализ проданных билетов по конкретному рейсу осуществляется на основе выбранного времени отправления в заданном направлении и купленных билетов по каждому из типов вагонов;

- Анализ потребности в рейсах за границу осуществляется на основе выбранной страны либо города прибытия;

- Анализ потребности в ж/д транспорте на основе выбранного пункта отправления и прибытия по всем рейсам за день;

- Анализ потребности в транспорте в зависимости от времени года;

- Прогнозирование потребности в ж/д транспорте на основе осуществлённых перевозок.

В результате тестирования разработанной системы явных недочетов не выявлено. Но не исключается возможность усовершенствования данного проекта, например, добавление новых параметров для анализа, а также прогнозирование более конкретных параметров.


СПИСОК ЛИТЕРАТУРЫ

 

[1] Чарльз Петцольд. Программирование в тональности С#. 2-е изд. – Русская Редакция, 2004г. – 512с.

[2] http://hubpages.com/hub/How-To-Program-with-Excel-and-C-using-a-Ribbon - Программирование в MSExcel.

[3] Мартин Фаулер. UML основы. Четвертое издание. – “Вильямс”,

2007г. ­­– 162 с.

[4] Буч Г., Якобсон А., Рамбо Дж. UML. Классика CS. 2-е изд. / Пер. с англ.; Под общей редакцией проф. С. Орлова — СПб.: Питер, 2006. — 736 с

[5] ГрейдиБуч, Джеймс Рамбо, Айвар Джекобсон Язык UML. Руководство пользователя = TheUnifiedModelingLanguageuserguide. — 2. — М., СПб.: «ДМК Пресс», «Питер», 2004. — 432 с.

[6] http://softru.ru/down/o-849.html - компьютерная программа «Автотранспорт: учет и анализ 4.70»

[7] http://www.programmon.ru/VBA/28.html - Линия тренда.


ПРИЛОЖЕНИЕ А

(обязательное)

Рисунок А.1 - Контекстная диаграмма

Рисунок А.2 - Декомпозиция контекстной диаграммы

Рисунок А.3 - Декомпозиция блока «Собрать данные»

Рисунок А.4 – Декомпозиция блока «Выбрать параметры для анализа/прогнозирования»

Рисунок А.5 – Декомпозиция блока «Обработать данные»

Рисунок А.6 – Декомпозиция блока «Сделать выборку по заданным параметрам»

Рисунок А.7 – декомпозиция блока «Сформировать результат»


ПРИЛОЖЕНИЕ Б

(обязательное)

 

 

Рисунок Б.1 – Общая блок-схема работы системы

Рисунок Б.2Блок-схема функции анализа потребности в транспорте в зависимости от времени


ПРИЛОЖЕНИЕ В

(обязательное)

Листинг скрипта генерации базы данных

 

USE[D:\ÊÏ\RAIL\RAIL_TRANSPORT.MDF]

GO

/****** Object: Table [dbo].[Wagon] Script Date: 05/17/2011 02:30:50 ******/

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

CREATETABLE[dbo].[Wagon](

[id_wagon][int]NOTNULL,

[type_wagon][nchar](30)NOTNULL,

CONSTRAINT[PK_wagon]PRIMARYKEYCLUSTERED

(

[id_wagon]ASC

)WITH (PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

/****** Object: Table [dbo].[Type_train] Script Date: 05/17/2011 02:30:50 ******/

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

CREATETABLE[dbo].[Type_train](

[id_type][int]NOTNULL,

[type_train][nchar](20)NOTNULL,

CONSTRAINT[PK_Type_train]PRIMARYKEYCLUSTERED

(

[id_type]ASC

)WITH (PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

/****** Object: Table [dbo].[Period] Script Date: 05/17/2011 02:30:50 ******/

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

CREATETABLE[dbo].[Period](

[id_period][int]NOTNULL,

[daily][int]NOTNULL,

[even][int]NOTNULL,

[uneven][int]NOTNULL,

CONSTRAINT[PK_Period]PRIMARYKEYCLUSTERED

(

[id_period]ASC

)WITH (PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

/****** Object: Table [dbo].[Date_trans] Script Date: 05/17/2011 02:30:50 ******/

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

CREATETABLE[dbo].[Date_trans](

[id_date][int]NOTNULL,

[day_trans][int]NOTNULL,

[month_trans][int]NOTNULL,

[year_trans][int]NOTNULL,

CONSTRAINT[PK_Date_trans]PRIMARYKEYCLUSTERED

(

[id_date]ASC

)WITH (PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

/****** Object: Table [dbo].[Country] Script Date: 05/17/2011 02:30:50 ******/

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

CREATETABLE[dbo].[Country](

[id_country][int]NOTNULL,

[name_country][nchar](20)NOTNULL,

CONSTRAINT[PK_Country]PRIMARYKEYCLUSTERED

(

[id_country]ASC

)WITH (PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

/****** Object: Table [dbo].[City] Script Date: 05/17/2011 02:30:50 ******/

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

CREATETABLE[dbo].[City](

[id_city][int]NOTNULL,

[id_country][int]NOTNULL,

[name_city][nchar](20)NOTNULL,

CONSTRAINT[PK_City_1]PRIMARYKEYCLUSTERED

(

[id_city]ASC,

[id_country]ASC

)WITH (PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

/****** Object: Table [dbo].[Train] Script Date: 05/17/2011 02:30:50 ******/

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

CREATETABLE[dbo].[Train](

[id_train][int]NOTNULL,

[id_type][int]NOTNULL,

CONSTRAINT[PK_Train]PRIMARYKEYCLUSTERED

(

[id_train]ASC,

[id_type]ASC

)WITH (PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

/****** Object: Table [dbo].[Transit] Script Date: 05/17/2011 02:30:50 ******/

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

CREATETABLE[dbo].[Transit](

[amount_places][int]NOTNULL,

[amount_tickets][int]NOTNULL,

[price_ticket][int]NOTNULL,

[time_dep][time](0)NOTNULL,

[costs][int]NOTNULL,

[id_train][int]NOTNULL,

[id_wagon][int]NOTNULL,

[id_type][int]NOTNULL,

[id_date][int]NOTNULL,

[id_city_dep][int]NOTNULL,

[id_city_dest][int]NOTNULL,

[id_country_dep][int]NOTNULL,

[id_contry_dest][int]NOTNULL,

[id_period][int]NOTNULL,

CONSTRAINT[PK_Transit]PRIMARYKEYCLUSTERED

(

[id_train]ASC,

[id_wagon]ASC,

[id_type]ASC,

[id_date]ASC,

[id_city_dep]ASC,

[id_city_dest]ASC,

[id_country_dep]ASC,

[id_contry_dest]ASC,

[id_period]ASC

)WITH (PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

/****** Object: ForeignKey [FK_City_Country] Script Date: 05/17/2011 02:30:50 ******/

ALTERTABLE[dbo].[City]WITHCHECKADDCONSTRAINT[FK_City_Country]FOREIGNKEY([id_country])

REFERENCES[dbo].[Country]([id_country])

GO

ALTERTABLE[dbo].[City]CHECKCONSTRAINT[FK_City_Country]

GO

/****** Object: ForeignKey [FK_Train_Type_train] Script Date: 05/17/2011 02:30:50 ******/

ALTERTABLE[dbo].[Train]WITHCHECKADDCONSTRAINT[FK_Train_Type_train]FOREIGNKEY([id_type])

REFERENCES[dbo].[Type_train]([id_type])

GO

ALTERTABLE[dbo].[Train]CHECKCONSTRAINT[FK_Train_Type_train]

GO

/****** Object: ForeignKey [FK_Transit_CityDep] Script Date: 05/17/2011 02:30:50 ******/

ALTERTABLE[dbo].[Transit]WITHCHECKADDCONSTRAINT[FK_Transit_CityDep]FOREIGNKEY([id_city_dep],[id_country_dep])

REFERENCES[dbo].[City]([id_city],[id_country])

GO

ALTERTABLE[dbo].[Transit]CHECKCONSTRAINT[FK_Transit_CityDep]

GO

/****** Object: ForeignKey [FK_Transit_CityDest] Script Date: 05/17/2011 02:30:50 ******/

ALTERTABLE[dbo].[Transit]WITHCHECKADDCONSTRAINT[FK_Transit_CityDest]FOREIGNKEY([id_city_dest],[id_contry_dest])

REFERENCES[dbo].[City]([id_city],[id_country])

GO

ALTERTABLE[dbo].[Transit]CHECKCONSTRAINT[FK_Transit_CityDest]

GO

/****** Object: ForeignKey [FK_Transit_Date_trans] Script Date: 05/17/2011 02:30:50 ******/

ALTERTABLE[dbo].[Transit]WITHCHECKADDCONSTRAINT[FK_Transit_Date_trans]FOREIGNKEY([id_date])

REFERENCES[dbo].[Date_trans]([id_date])

GO

ALTERTABLE[dbo].[Transit]CHECKCONSTRAINT[FK_Transit_Date_trans]

GO

/****** Object: ForeignKey [FK_Transit_Period] Script Date: 05/17/2011 02:30:50 ******/

ALTERTABLE[dbo].[Transit]WITHCHECKADDCONSTRAINT[FK_Transit_Period]FOREIGNKEY([id_period])

REFERENCES[dbo].[Period]([id_period])

GO

ALTERTABLE[dbo].[Transit]CHECKCONSTRAINT[FK_Transit_Period]

GO

/****** Object: ForeignKey [FK_Transit_Train] Script Date: 05/17/2011 02:30:50 ******/

ALTERTABLE[dbo].[Transit]WITHCHECKADDCONSTRAINT[FK_Transit_Train]FOREIGNKEY([id_train],[id_type])

REFERENCES[dbo].[Train]([id_train],[id_type])

GO

ALTERTABLE[dbo].[Transit]CHECKCONSTRAINT[FK_Transit_Train]

GO

/****** Object: ForeignKey [FK_Transit_Wagon] Script Date: 05/17/2011 02:30:50 ******/

ALTERTABLE[dbo].[Transit]WITHCHECKADDCONSTRAINT[FK_Transit_Wagon]FOREIGNKEY([id_wagon])

REFERENCES[dbo].[Wagon]([id_wagon])

GO

ALTERTABLE[dbo].[Transit]CHECKCONSTRAINT[FK_Transit_Wagon]

GO


ПРИЛОЖЕНИЕ Г

(обязательное)

Листинг алгоритмов реализующих бизнес-логику

 

Функция подключения к базе данных:

publicstaticSqlConnection Connect()

{

myConnection = newSqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=D:\\КП\\rail\\rail_transport.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

myConnection.Open();

returnmyConnection;

 

 

}

 

Функция анализа занятости рейсов за вчерашний день по заданному направлению:

publicstaticintanalysByTime(Microsoft.Office.Interop.Excel.WorksheetactiveWorksheet)

{

clearDiagram();

clearRows();

transL = newList<Transit>();

SqlDataReadermyReader = null;

DateTimemyDate = DateTime.Now;

stringstrDate = myDate.Year.ToString() + '.'

+ myDate.Month.ToString() + '.'

+ myDate.Day.ToString();

 

 

myDate = myDate.AddDays(-1);

intcurDay = myDate.Day;

intcurMonth = myDate.Month;

intcurYear = myDate.Year;

int number = 0;

introwCount = 1;

double tick = 0;

doublepl = 0;

double[] per;

double[] tickets;

double[] places;

 

 

myCommand = newSqlCommand("select * from Transit inner join Date_trans on Transit.id_date=Date_trans.id_date where id_city_dep=" + transit.getIdCityDep() + " and id_city_dest=" + transit.getIdCityDest() + " and day_trans = " + curDay + " and month_trans = " + curMonth + " and year_trans = " + curYear, myConnection);

myReader = myCommand.ExecuteReader();

int i = 0;

while (myReader.Read())

{

number++;

}

myReader.Close();

 

String[] id_w = newString[number];

for (int m = 0; m < number; m++)

{

id_w[m] = "";

}

 

myReader = myCommand.ExecuteReader();

while (myReader.Read())

{

 

rowCount++;

Transit trans = newTransit();

trans.setAmountTickets(Convert.ToInt32(myReader["amount_tickets"].ToString()));

trans.setAmountPlaces(Convert.ToInt32(myReader["amount_places"].ToString()));

trans.setTimeDep(TimeSpan.Parse(myReader["time_dep"].ToString()));

trans.setIdWagon(Convert.ToInt32(myReader["id_wagon"].ToString()));

 

if (!id_w.Contains(myReader["time_dep"].ToString()))

{

id_w[i] = myReader["time_dep"].ToString();

}

 

transL.Add(trans);

 

i++;

}

myReader.Close();

 

intcount_type = 0;

int j = 2;

for (int m = 0; m <id_w.Length; m++)

{

 

if (!id_w[m].Equals(""))

{

activeWorksheet.Cells[j, 1] = id_w[m];

j++;

count_type++;

}

}

intnn = transL.Count;

tickets = newdouble[count_type];

places = newdouble[count_type];

count_type = 0;

 

for (i = 0; i <tickets.Length; i++)

{

tickets[i] = 0.0;

places[i] = 0.0;

}

for (i = 0; i <id_w.Length; i++)

{

if (!id_w[i].Equals(""))

{

for (j = 0; j <transL.Count; j++)

{

if (transL[j].getTimeDep().Equals(TimeSpan.Parse(id_w[i])))

{

tickets[count_type] += transL[j].getAmountTickets();

places[count_type] += transL[j].getAmountPlaces();

 

 

}

}

count_type++;

}

 

}

rowCount = countPercent(count_type, tickets, places, activeWorksheet);

if (rowCount!= 2)

{

if (activeWorksheet!= null)

{

activeWorksheet.Cells[1, 1] = "Времяотправления";

activeWorksheet.Cells[1, 2] = "% ";

 

}

}

int f;

 

returnrowCount;

}

 

Функцияпостроениядиаграммы:

 

privatestaticvoiddrawDiargamm(introwCount, Microsoft.Office.Interop.Excel.WorksheetactiveWorksheet)

{

objectmisValue = System.Reflection.Missing.Value;

 

// объектыграфиков

ChartObjectsxlCharts;

ChartObjectchartObj;

Microsoft.Office.Interop.Excel.Chart chart;

bool graph = false;

 

xlCharts = (Microsoft.Office.Interop.Excel.ChartObjects)activeWorksheet.ChartObjects(Type.Missing);

chartObj = (Microsoft.Office.Interop.Excel.ChartObject)xlCharts.Add(10, 80, 450, 300);

 

chart = chartObj.Chart;

String n = chart.Name;

StringnL = chart.Legend.Name;

 

graph = true;

Excel.Axis axis = (Excel.Axis)chart.Axes(Excel.XlAxisType.xlValue, Excel.XlAxisGroup.xlPrimary);

axis.HasTitle = true;

axis.AxisTitle.Text = "% занятости";

 

chart.HasTitle = true;

chart.ChartTitle.Text = "Диаграммаанализа";

 

// выбираемдиапазон

Microsoft.Office.Interop.Excel.RangechartRange = activeWorksheet.get_Range("A2", "B" + (rowCount - 1));

 

chart.SetSourceData(chartRange, misValue);

 

// типграфика

chart.Type = 3;

 

}

 

ВВЕДЕНИЕ

За последние годы возросла популярность железнодорожных путешествий. При помощи поезда можно добраться практически в любую точу. Огромная протяженность железнодорожной сети позволяет сегодня путешествовать в любом направлении и по любому маршруту. Развитие транспортной инфраструктуры предоставляет человеку большие возможности в перемещении между городами, странами, континентами. Но наряду с этим появилась и необходимость в получении наиболее точной информации о маршрутах следования.

В настоящее время любой человек может получить интересующую его информацию о том или ином виде транспорта, используя только сеть интернет. Но довольно часто количество материала оказывается избыточным и появляется необходимость в получении быстрых ответов на такие вопросы, как поиск оптимальных результатов по какому-либо критерию. Так, информационная система железнодорожной станции нуждается в системе поиска оптимальных железнодорожных маршрутов. С её появлением существенно сократится затрачиваемое на анализ время, а значит и расходуемые ресурсы, что в свою очередь существенно увеличит доход компании-представителя и повлияет на привлечение новых клиентов.

Таким образом, задачи данного курсового проекта включают разработку автоматизированной системы, назначением которой является осуществление анализа текущих маршрутов, а также предоставление результирующей информации в актуальном и наиболее подробном виде о найденном результате.

Программный модуль, позволяющий анализировать и прогнозировать потребность в железнодорожном транспорте по данным о перевозках, позволит решить множество задач:

- выявление убыточных (прибыльных) мест в перевозках;

- оценка загруженности ж/д транспорта

- прогнозирование потребности в железнодорожном транспорте;

- автоматизация учёта осуществлённых перевозок;

и других.

Следовательно, цели данного программного модуля:

- оптимизация процесса учёта перевозок;

- контроль потребности в ж/д транспорте.


ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ «ПОТРЕБНОСТЬ В ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ» И ОПРЕДЕЛЕНИЕ ТРЕБОВАНИЙ К СИСТЕМЕ С ТОЧКИ ЗРЕНИЯ ПРЕДМЕТНОЙ ОБЛАСТИ

Описание предметной области «Потребность в железнодорожном транспорте»

 

Анализ данных - совокупность действий, осуществляемых исследователем в процессе изучения полученных тем или иным образом данных с целью формирования определенных представлений о характере явления, описываемого этими данными.

Основная цель анализа данных - выявление (подтверждение, корректировка) каких-то интересующих исследователя статистических закономерностей; или, другими словами, - определенного рода сжатие, усреднение содержащейся в данных информации.

Прогнозирование – это особый вид деятельности, представляющий совокупность методов предвидения (методов прогнозирования), позволяющих получать вероятностную информацию о будущем состоянии объекта в виде прогнозов.

Прогноз – научно обоснованное вероятностное суждение о возможных состояниях объекта в будущем, направлениях и сроках их осуществления.

Целью прогнозирования является установление вероятностной оценки путей, направлений, уровней, структуры и темпов развития объекта прогнозирования.

Пассажирские перевозки железнодорожным транспортом имеют широкое распространение в нашей республике. С появление ЭВМ, Интернета, глобальных сетей и автоматизированных программ вести учёт, анализировать и прогнозировать потребности в железнодорожном транспорте стало ещё проще.

По средствам функционального моделирования можно провести анализ предметной области. IDEF0 (IntegrationDefinitionforFunctionModeling) - методология функционального моделирования и графическая нотация, предназначенная для формализации и описания бизнес-процессов. Цель модели – анализ и прогнозирование потребности в железнодорожном транспорте. Точка зрения модели – аналитик.

На контекстной диаграмме верхнего уровня представлен объект моделирования – «Анализировать и прогнозировать потребность в железнодорожном транспорте», выходные данные, механизмы реализации и управления данными.

Выходной информацией являетсясформированный отчёт о проделанном анализе и прогнозировании на основе выбранных критериев. Управляющими механизмами являются статистические модели и методы, с помощью которых будет осуществляться расчёт необходимых параметров, а также постановление Министерства транспорта РБ и правила написания запросов.Механизмами реализации являются аналитик, который будет собирать, работник железнодорожного вакзала, который выдаст эти данные и компьютер, с помощью которого будет осуществляться сам процесс анализа и прогнозирования.

Далее была произведена декомпозиция контекстной диаграммы верхнего уровня на четыре дочерние диаграммы: собрать данные, выбрать параметры для анализа/прогнозирования, обработать данные, сформировать результат. Для того, чтобы собрать необходимые данные, аналитику необходимо определить, какие данные ему необходимы, по каким параметрам он хочет производить анализ. Затем необходимо обратиться в отдел сбора данных железнодорожного вокзала. После чего получить необходимые данные. На основе полученных данных можно осуществлять анализ и прогнозирование. Для начала определяем цель, а после критерии для анализа и предмет прогноза. Переходим непосредственно к выбору методов, а также написания запроса, для выборки конкретных данных. Выборка состоит из составления запроса и получения данных из базы. После чего применяем выбранные методы и формируем результат. Строим таблицы, диаграммы, графики и получаем отчёт. Наглядно весь процесс описан на диаграммах (Приложение А).

 

1.2 Определение требований к системе с точки зрения предметной области

 

После ознакомления с существующим рынком сервисов по анализу и прогнозированию необходимо сконструировать архитектуру сервиса, предоставляющего схожий функционал.

Определены основные узлы/компоненты проекта:

- хранилище данных,

- администраторское приложение,

- надстройка к MS Excel.

Хранилище данных содержит информацию о поездах, типах вагонов, даты осуществления перевозки, пунктах отправления и прибытия, которая в последствии будет необходима при анализе и прогнозировании потребности в железнодорожном транспорте.

Компонент «администраторское приложение» выполняет роль средства, с помощью которого будет осуществляться наполнение хранилища данными и фиксирования изменений в них. Этот узел будет представлен в форме web-приложения для удобства пользования и быстроты доступа при обновлении хранилища. Реализация будет осуществляться на основе шаблона ASP.NET DynamicDataLinqto SQL WebSite. Это готовое решение удобно и легко адаптируемо для реализации функционала администратора системы.

Надстройка к MS Excel будет выполнять роль клиентского приложения. Надстройка предоставляет функционал непосредственно самой программы MS Excel (таблицы, графики, диаграммы).



Поделиться:


Последнее изменение этой страницы: 2016-04-07; просмотров: 516; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.184.90 (0.328 с.)