Дипломная работа: Разработка модуля информационной системы для управления капитальным ремонтом

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

? обеспечение контроля и формирования отчётности по целевому расходованию денежных средств на основе загруженных финансовых документов согласно ч. 8 ст. 167 Федерального закона № 188-ФЗ;

? автоматизированный анализ смет и ведомостей для детального анализа запланированных и фактических показателей исполнения программы капитального ремонта [3].

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

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

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

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

2. ОПИСАНИЕ МЕТОДОВ РЕШЕНИЯ ЗАДАЧИ И ИССЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ

Для решения стоящей передо мной прикладной задачи используется метод объектно-ориентированного программирования. Объектно-ориентированное программирование (ООП) - это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию [4, с.5].

Смотря с философской точки зрения, ООП - это подход к программированию как к моделированию информационных объектов. Данный подход решает совсем с другой стороны задачу структурного программирования, то есть информация структурируется с позиции управляемости. Именно это является значительным прогрессом с позиции управляемости, что, в то же время, очень важно при реализации проектов.

2.1 Анализ инструментов разработки для реализации поставленной задачи

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

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

Учёт платежей и работ по капитальному ремонту удобно осуществлять посредством СУБД и прикладного языка программирования.

СУБД представляет собой систему, которая предназначена для управления имеющейся БД. Как правило, СУБД содержит в себе так же и определённый язык программирования. Например, в Visual FoxPro - это собственно язык программирования FoxPro, а в СУБД Miscrosoft Access таким языком будет являться VBA [5, с.34].

Среди СУБД существует множество решений. Следует упомянуть, что, прежде всего, СУБД делятся на три класса: настольные, промышленные и полупромышленные.

Настольные СУБД предназначены для организации работы с БД в рамках любых предприятий.

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

Недостатком настольных СУБД является то, что с увеличением числа записей и роста числа пользователей, система начинает медленно работать.

Если с ростом числа записей данных в БД таких СУБД можно решить вопрос путём архивирования старых, первичных записей, и чистки БД, то с ростом числа пользователей и нагрузки на СУБД вопрос остаётся актуальным. Именно вопрос, касающийся нагрузки, и призвана решить промышленная СУБД [5, с.37].

Среди настольных СУБД следует выделить, такие как: dBase и Visual dBase, Paradox, Microsoft FoxPro и Visual FoxPro.

Среди промышленных же СУБД можно выделить Oracle и Microsoft SQL Server.

Кстати, следует обязательно упомянуть, что СУБД Microsoft Access многие эксперты относят как к промышленным, так и к настольным. Данный класс СУБД сочетает в себе простоту настольных и надёжность промышленных СУБД [6]. Таким образом, Microsoft Access является с одной стороны очень мощным средством для реализации любых проектов, требующих работы с БД, а с другой стороны эта СУБД предоставляет самые удобные графические средства для управления БД. Именно это обуславливает выбор Microsoft Access как среды разработки БД для проекта по капитальному ремонту. Единственным наиболее сильным конкурентом у Microsoft Access является Visual FoxPro [7, с.128].

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

На самом деле можно было бы ограничиться только средствами самой Microsoft Access, ведь в её состав входит Visual Basic for Application (VBA), который позволяет писать самые сложные макросы, позволяющие реализовать, совместно с формами и отчётами, создаваемые в среде Microsoft Access, весь функционал полноценного приложения. Но, тем не менее, средства самого Microsoft Access, с точки зрения построения пользовательского интерфейса и дальнейшего расширения возможностей программы в виде интеграции и тому подобного, являются ограниченными. Именно поэтому целесообразно совместно с СУБД применять для разработки отдельную среду программирования.

В настоящее время для работы с БД существует достаточное множество различных сред. Это и С#, это и Visual Basic, Java, Delphi и многие другие.

В каждом из этих языков есть свои преимущества и недостатки. В настоящее время все они настолько развиты и возможности их настолько велики, что выбор того или иного языка аргументируется больше предпочтениями конкретного программиста, нежели задачами. Уже не стоит задаваться вопросом что лучше, Visual Basic или Delphi. Они оба хороши и трудно переоценить возможности того или иного языка. Таким образом, выбор языка аргументируется коллективной разработкой. Когда программист устраивается на определённую работу, где ведётся командная разработка ПО, то он вынужден писать программный код на том языке, на котором работает команда. Хотя с появлением .Net-технологий необходимость постепенно отпадает и в этом, ведь проекты, написанные на .Net-подобных средах разработки способны в одном проекте объединять программные коды, написанные на разных языках программирования, поддерживающих технологию .Net. Сама по себе, первоначально, .Net среда была призвана полностью заменить COM-технологию, на которой целиком базируется ОС Windows.

COM-технология - это технология общего использования компонентов, называемых ActiveX. ActiveX - это абстрактное представление COM-технологии, в большей степени, относящейся к компонентам и классам. Точнее говоря, первой абстрактной ступенью COM-технологии является OLE-технология, а уже затем из неё получилась технология ActiveX. Кстати говоря, все они по-прежнему являются не более чем простым маркетинговым ходом компании Microsoft, а программно ничем принципиально не изменились [8, с.97].

Итак, COM-технология пропагандирует использование одного объекта, который является частью ОС Windows, другими программами. Это значит, что все программы, которые пишутся под ОС Windows, могут использовать уже готовые классы для создания своих объектов. Это и формы ввода, и кнопки, и элементы ввода информации, и многие другие элементы управления, которые являются стандартными для ОС семейства Windows, а те компоненты, которых нет в ОС, достаточно зарегистрировать как класс в процессе инсталляции приложения. Устанавливаются они вместе с приложением и распространяются в виде DLL-файлов [9, с.82]. DLL-файл - это файл с дополнительным ресурсами, которые могут использоваться программой и самой ОС [10].

.Net-технология несколько изменяет данный подход. Первоначально планировалось, что при .Net-концепции все элементы управления, функции, процедуры и так далее будут принадлежать одной большой библиотеке, называемой .Net. Таким образом, для работы программы потребуется наличие на компьютере пользователя этой установленной библиотеки. Сейчас она входит в состав ОС семейства Windows, уже как предустановленная. Программа, требующая .Net-библиотеки не будет работать на компьютере, где она не установлена. Это напоминает технологию и библиотеку DirectX, которая так знакома многим компьютерным игрокам [11, с.571].

Процесс эволюции показал, что .Net-технология не способна заменить технологию COM, потому что имеется огромное количество старого ПО и переписывать его просто нецелесообразно. Именно поэтому очень мудрым решением стало совместить в настоящих версиях ОС Windows сразу две технологии.

Для реализации нашего проекта была выбрана ИСР Delphi, а конкретно Delphi 7.

Delphi - это язык программирования с очень широкими возможностями. Главная его отличительная черта заключается в мощности построения пользовательского интерфейса и в мощности работы с БД, обладая при этом почти безграничными возможностями.

Хочется упомянуть о том, что Delphi 7 - это первая из версий Delphi, написанная на себе самом. Таким образом, очень впечатляет внушительность этой программной среды [12, с.238].

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

На самом деле это есть не что иное, как отсутствие знаний многих начинающих специалистов.

Delphi - это прямой наследник всеми знаменитого языка Pascal, а затем и объектно-ориентированного языка Pascal.

По своим возможностям Delphi прямой конкурент не только Visual Basic, но и в некоторой степени языка Си, например, по части взаимодействия с функциями Windows API. Здесь у Delphi есть всё необходимое, а ведь функции API вызываются достаточно часто при написании проектов. Delphi, конечно, уступает по скорости работы написанной на нём программы подобным Си-языкам, но следует отметить, что он создавался как язык более высокого уровня, предназначенный для решения прикладных задач, а языки семейства Си - это более системные языки программирования. Хотя стоит повториться, что сейчас положение дел изменилось, и тот же С# обладает множеством визуальных компонентов, готовых к работе.

Тем не менее, конкурентов у Delphi, если оценить их адекватно, практически нет. В связи с этим и с тем, что этот язык постепенно снова начинает набирать популярность, данная работа была реализован именно на нём.

Delphi базируется на концепциях современного ООП:

полиморфизм;

наследование;

инкапсулирование [13].

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

Наследование представляет собой технологию, когда дочерний объект наследует атрибуты объекта родителя.

Инкапсулирование - это объединение данных и функций в едином компоненте.

Delphi 7 был разработан компанией Borland. В настоящее время Delphi принадлежит компании Embarcadero, но Embarcadero является для Delphi структурным подразделением Borland.

Также стоит сказать, что Delphi - это многоплатформенная ИСР. Delphi 7 в своём составе имеет библиотеку визуальных компонентов (VCL), то есть компоненты этой библиотеки не являются ActiveX, а напротив, являются «родными» для Delphi. Это значит, что их регистрация не требуется в ОС, и они встраиваются в исполняемый .exe-файл. Отсюда вытекает, что такой исполняемый файл будет работать и в ОС Linux, и в MacOS. Современные версии Delphi аналогичным образом позволяют писать приложения для мобильных ОС.

Для работы с БД Delphi предоставляет многочисленные технологии. Это технология BDE, технология ADO и многие другие.

Для реализации этого проекта была выбрана технология ADO, компании Microsoft. Она является ActiveX компонентом, но его установка в ОС не требуется, так как она является частью самой Windows. Альтернативой для данной задачи является механизм доступа к данным BDE, но ядро BDE придётся устанавливать на каждый ПК отдельно. Конечно, это не являются чем-то проблемным, просто компания Borland посчитала механизм BDE немного устаревшей технологией и плохо обрабатывающей большие объёмы данных, которым сейчас оперируют современные БД. Бесспорно, для нашей программы механизма BDE было бы более чем достаточно. Впрочем, предпочтение отдано технологии ADO.

ADO - это механизм доступа к данным, разработанный компанией Microsoft. Он заменил две устаревшие технологии этой же компании: DAO, которая являлась технологией доступа к локальным данным, и RDO, которая являлась технологией доступа к удалённым данным. Теперь эти два объекта объединяются в одном, что очень удобно [5, с. 204].

Таким образом, Delphi 7 - это одна из самых внушительных сред разработки прикладного ПО, в том числе и для работы с БД.

2.2 Теоретические основы государственной программы капитального ремонта