Бизнес-процессы правления общества собственников жилья



19

 

ВВЕДЕНИЕ

Целью данной курсовой работы является  разработка программы, которая реализуется на языке программирования C/C++, можно использовать графический интерфейс, который выбирается самостоятельно. Программа должна работать с таблицами и данными, которые хранятся в обычных файлах. Информация загружается в память программы при старте, редактируется в процессе работы и сохраняется в файлы при завершении. Формат файла выбирается самостоятельно. Программа должна обеспечивать: поиск записей по заданным ключам; просмотр, печать содержимого базы, отдельных записей; редактирование записей; инициализацию базы.

Особая роль языков C/C++ в современном программировании практически не может быть оспорена. С возник как универсальный язык системного программирования. К концу 80-х годов язык С завоевал массовую популярность среди программистов во всем мире и стал использоваться в самых различных прикладных задачах.

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

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

Как и все языки, С постепенно совершенствовался, но большинство усовершенствований не носило радикального характера. Все такие усовершенствования были в 1989 году закреплены в стандарте ANSI, который и поныне определяет язык С.

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

Первые попытки исправить эти недостатки стали предприниматься еще в начале 80-х годов. Уже тогда Бьерн Страуструп в AT&T Bell Labs стал разрабатывать расширение языка С под условным названием <С с классами>. Первый коммерческий транслятор нового языка, получившего название C++, появился в 1983 году. Он представлял собой препроцессор, транслировавший программу в код на С. Однако фактическим рождением языка можно считать выход в 1985 году книги Страуструпа. Именно с этого момента C++ начинает набирать всемирную популярность.

Главное нововведение C++ - механизм классов, дающий возможность определять и использовать новые типы данных. Одной из заветных целей при создании C++ было стремление увеличить процент повторного использования уже написанного кода. Концепция классов предлагала для этого механизм наследования. Вместе с тем наследование обеспечивает один из механизмов реализации полиморфизма - базовой концепции объектно-ориентированного программирования.

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

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

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

И все же, несмотря на недостатки и даже на неготовность стандарта языка, C++ остается одним из наиболее популярных языков программирования. Его сила прежде всего в практически полной совместимости с языком С. Благодаря этому программистам C++ доступны все наработки, выполненные на С. При этом C++ даже без использования классов привносит в С ряд настолько важных дополнительных возможностей и удобств, что многие пользуются им просто как улучшенным С.

В свете всего сказанного перспективы C++ не выглядят мрачными. Хотя и монополия на рынке языков программирования ему не светит. Недаром, когда появилась Java, на нее обратили столь пристальное внимание. Язык, близкий по синтаксису к C++ был избавлен от наиболее вопиющих недостатков C++. Однако не похоже, чтобы Java справлялась с возлагаемой на нее некоторыми ролью <убийцы C++>.

 


1.                  АНАЛИЗ ПОСТАНОВКИ ЗАДАЧИ

 

Цель курсовой работы: автоматизации бизнес-процессов правления общества собственников жилья. По жилищному кодексу жильцы многоквартирного дома должны провести общее собрание и выбрать из своих жильцов правление для управления общим (коммунальным)  хозяйством. Правление должно заключить договора с различными службами и контролировать их работу. Жильцы должны платить квартплату на общий расчетный счет и с этого счета правление оплачивает все расходы.

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

Рекомендуется создать и использовать следующие таблицы: список квартир (включая сумму месячной квартплаты), список жильцов (если льготник, то его доля квартплаты на 50% снижается), выписка из банка о поступлении оплаты от жильцов, список поступления компенсаций (на эту сумму субсидии жилец в данном месяце должен меньше платить квартплаты). Но таблицы рекомендуемые, поэтому я решила объединить список квартир, список жильцов в одну таблицу. Структуры таблиц опишем в следующем пункте.

 

 

 

             

 

 

 

2.                  РАЗРАБОТКА СТРУКТУРЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

 

В качестве среды для разработки программы выбрана система объектно-ориентированного программирования Visual Studio производства корпорации Microsoft предназначена для операционных систем Windows. Visual Studio — это набор инструментов разработки, основанных на использовании компонентов, и других технологий для создания мощных, производительных приложений. Кроме того, среда Visual Studio оптимизирована для совместного проектирования, разработки и развертывания корпоративных решений.

Visual Studio— это гибкое средство, которое позволяет разработчикам с любым уровнем знаний быстро создавать и развертывать стильные бизнес-приложения для настольных компьютеров и облачных систем. Благодаря средствам и шаблонам, экономящим время, и интуитивно понятной среде разработки Visual Studio помогает ускорить разработку и сократить сложность всех компонентов и функций — от пользовательского интерфейса до развертывания в Windows Azure. С помощью Visual Studio наконец-то можно создавать доступные масштабируемые программные решения, которые обеспечивают эффективную работу существующих систем с данными и позволяют получить подробное и удобное представление бизнес-данных.

Возможности:

      Сократите время разработки, используя один из начальных наборов, доступных в Интернете, для создания распространенных бизнес-приложений (для отслеживания времени, управления запасами и т. д.).

      Экономьте время, используя предварительно заданные типы данных для часто используемых полей, таких как номера телефонов и адреса электронной почты.

      Приложения Visual Studio поддерживают экспорт данных в Microsoft Office Excel для удобного обмена данными и создания отчетов без дополнительных усилий с вашей стороны.

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

      Развертывание ClickOnce позволяет быстро и просто получать передавать последние версии приложения пользователям.

      При применении Visual Studio LightSwitch вы можете сконцентрироваться на создании настраиваемой бизнес-логики и уникальных правил для вашей компании и пользователей.

      Visual Studio облегчает сбор, анализ и повторное использование информации из разных источников данных, в том числе Microsoft SQL Server, Microsoft SQL Azure, Microsoft SharePoint, Oracle и других источников данных сторонних производителей, что позволяет использовать бизнес-данные по максимуму.

      С помощью Visual Studio можно выбрать предпочтительный метод развертывания (через Интернет, на настольные компьютеры или в облаке) после создания приложения.

Наша программа будет написана для консоли. Консольные приложения (стандартные, базовые) — взаимодействуют с пользователем, не через обьектный интерфейс, а через командную строку. Шаблон приложения win32, подключает к будующему приложению необходимые элементы — библиотеки, только потом уже кодер вставляет в него свои операторы. После написание программы, самое время запустить приложения на компиляцию (перевод команд и операторов, написанных программистом, в машинный код), только после этого, среда программирования создаст исполняемый EXE файл, который можно запускать.

Программа будет общаться с пользователем и выводить данные, через так называемое консольное окно, ввод данных также осуществляеться через него. В Visual C++, сборка и компиляция проекта осуществляеться с помощью команды Build, а запуск на выполнение с помощью команды Debbug (команды находятьсяв главном меню).

Структурная схема программы приведена в приложении  В.

Для решения вышеуказанных подзадач нам необходимо использовать ряд стандартных и дополнительных библиотек. В данном случае мы использовали следующие библиотеки:

      <stdio.h>

      <iostream>

      <conio.h>

      <string.h>

      <Windows.h>

 

Как и говорилось в предыдущем пункте для работы с данными и их систематизации будем использовать таблицы, реализованные с помощью структур. Опишем их структуру:

 

 

Структура таблицы  vipiska

 

 

 

 

 

 

 

 

Поле

Тип

Размер

Описание

den

int

10

День

mesac

int

10

Месяц

god

int

10

Год

 

 

 

 

Структура таблицы  kvitok

 

 

 

 

 

 

 

 

Поле

Тип

Размер

Описание

nomer

int

10

Номер

fio

char

20

Фамилия Имя Отчество

 

 

 

Структура таблицы  vipiska chet

 

 

 

 

 

 

 

 

Поле

Тип

Размер

Описание

nomer

int

10

Номер

fio

char

20

Фамилия Имя Отчество

summa

double

15

Сумма

 

 


3. РАЗРАБОТКА АЛГОРИТМОВ ФУНКЦИОНИРОВАНИЯ

 

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

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

При запуске программы происходит инициализация структур, для этого первой переменной каждой структуры присваивается признак конца строки – "\0". При выборе пункта меню "Добавление записи" происходить запуск процедуры zap и выполняется сохранение  каждой структуры в отдельный файл(при отсутствии требуемого файла он создаётся).

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

              Для ввода данных в переменные структуры используется системная функция gets().Функция gets читает символы из стандартного потока ввода stdin в область памяти, на которую указывает аргумент. Чтение производится до тех пор, пока не встретится перевод строки или конец файла. Символ перевода строки отбрасывается, а прочитанная цепочка ограничивается нулевым байтом.

Организуют ввод информации и диалог с пользователем функции: menu, chten, zap. Для удаления записей используются функции  zap. При удалении записи происходит затирание информации в данной записи признаком  конца строки – "\0".

              Для редактирования записей используются функции  chten. При этом происходит стирании старой информации в переменной и добавление на её место новой.

              Для вывода данных из таблиц используются стандартные функции. C помощью цикла происходит вывод всех непустых строк в таблицах.

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

 


4.      РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ

 

Результатом работы явилась программа, написанная в среде программирования  Visual Studio, в которой реализован наш класс.

 

 

1)                 Запуск программы осуществляется по выполнению файла primer.exe.

 

 

 

 

 

 

 

 

 

 

2)     Создание файла и заполнения его данными

 

3)     Просмотр содержимого файла

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4)     Добавление записи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5)     Удаление записи

6)     Исправление записи

 

7)     Сортировка файла по заданному полю

8)     Поиск записи  по заданному значению поля

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗАКЛЮЧЕНИЕ

 

В результате работы над проектом была создана полнофункциональная программа управления бизнес-процессами правления общества собственников жилья.

Были закреплены знания объектно-ориентированного программирования и языка программирования С++. Так же была изучена среда программирования Visual Studio,  которую я и в дальнейшем буду применять в свои проектах, были усовершенствованы знания по отладке и тестированию программ.

 

 

 

 

 

 

 

 


ЛИТЕРАТУРА

 

1. Керниган Б., Ритчи Д. “Язык программирования Си” / Пер. с англ., 3-е изд., испр. – Невский диалект, 2001

2. Страуструпп Б. “ Язык программирования Си++” /  Пер. с англ., спец. изд. – Бином, Невский Диалект, 2001

3. http://tululu.ru/read46403/

 

 

 

 

 

 

 

 

 

 

 



Бизнес-процессы правления общества собственников жилья