2.4 Описание контрольного примера реализации проекта
При запуске программы на экране индицируется окно авторизации (рис. 8).
Рис. 8. Окно авторизации
При вводе данных, соответствующих логину и паролю заказчика пользователь перенаправляется на окно создания заявки (рис. 9).
Рис. 9. Окно создания заявки в режиме ClientMode
После заполнения текстовых полей, выбора исполнителя и нажатия кнопки «ОК» информация о заявке сохраняется в базе данных и становится доступной для исполнителей.
При вводе пары логин-пароль, соответствующей учетной записи исполнителя, на этапе авторизации, пользователь перенаправляется на окно списка задач, представляющее собой таблицу с кнопкой «Обновить» (Рис. 10). Таблица содержит колонки «Дата создания», «Тема», «Инициатор», «Срок выполнения», а каждая строка таблицы представляет параметры определенной задачи.
Рис. 10. Список задач
Двойное нажатие на строке таблицы приводит к открытию окна детализации задачи, в котором отображаются все характеристики задания (Рис. 11). Отметить задачу, как выполненную, может только тот исполнитель, которому клиент назначил это задание, таким образом соответствующая кнопка становится неактивной для исполнителей, не отвечающих за выполнение конкретного задания (Рис. 12).
Рис. 11. Окно детализации задания
Рис. 12. Неактивная кнопка в окне детализации задания
3. ОБОСНОВАНИЕ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ ПРОЕКТА
3.1 Целесообразность разработки с экономической точки зрения
Для разработки программного продукта в современном мире нужно обоснование его необходимости с точки зрения экономики. Обоснование нужно для того, чтобы если программа станет ненужной или безумно дорогой, можно в любой момент остановить процесс разработки или привлечь необходимые денежные средства для приобретения специальных средств разработки для программистов, чтобы получить желаемый результат. Эффект нового программного продукта определяется на основе экономических показателей. Проведя тщательный анализ данных показателей можно дать прогноз на результат использования этой программы. Многие экономические показатели дают понять о правильности использования нового программного продукта. В условиях быстрого развития различной компьютерной техники, в настоящее время данный экономический анализ просто необходим для того, чтобы сравнить аналогичные работы, при создании любой автоматизированной системы, ведь итог анализа различных процессов производства помогает улучшить всю технологию производства или проверить качество объектов, а финансы, вложенные в разработку должны быть равны экономическому эффекту, который произведёт новый продукт.
В этой части произведён расчёт показателей и произведён глубокий анализ актуальности разработки компьютерной системы управления проектами в ФКУ "Налог-сервис". Ввод в эксплуатацию новой программы окажет помощь компании в расширении и привлечении новых клиентов. IT-технологии и интернет набирают всё большую популярность, даже небольшие организации с целью получения финансовой выгоды разрабатывают свои собственные Интернет-ресурсы. С увеличением числа партнёров, увеличивается число всевозможных сервисов и само качество выполняемой работы, и более слабые конкуренты уходят с рынка навсегда. Новая система поможет быстро и качественно вести учёт заказов клиентов, различных договоров, а также контролировать своевременную оплату услуг и соблюдать сроки выполнения заявок клиентов все эти действия позволят не только не потерять старых клиентов, но и привлечь новых. С помощью программных продуктов можно вести учёт рабочего времени, а также насчитывать заработную плату сотрудникам.
3.2 SWOT - анализ разработки автоматизированной системы управления проектами
Термин SWOT-анализ представляет собой анализ потенциальных угроз, а также слабых и сильных сторон. Его можно считать одним из самых важных и необходимых этапов в маркетинговом плане. Подобный анализ может быть проведен как для работы фирмы в целом, так и для конкретных продуктов, территорий и рыночных сегментов.
Для фирм анализ может выйти весьма общим, и порой в нем содержится недостаточное количество ценной информации, но, что касается анализа для конкретных продуктов, то это может дать менеджеру достаточно пищи для размышления.
Методы проведения SWOT-анализа весьма просты, так что менеджер может полностью сосредоточить внимание на фактах, при этом не теряя время на решение различных функциональных вопросов.
SWOT-анализ состоит из двух частей. Анализ внешний среды - это рассмотрение угроз и возможностей, иными словами, ряда факторов, которые могут оказать влияние на деятельность компании, однако не зависят от нее. Рассмотрение слабых и сильных сторон входит во внутренний анализ компании или продукта.
Профессор Филипп Котлер полагает, что грамотный менеджер при составлении SWOT-анализа указывает по меньшей мере 5 глобальных возможностей и внешних угроз, методы их решения и поиск возможностей, чтобы не навредить бизнесу. Эти возможности существуют всегда, необходимо лишь их отыскать.
Чтобы более подробно обосновать высокую эффективность автоматизированной системы, стоит провести SWOT - анализ, благодаря которому можно выявить слабые и сильные стороны объекта, подлежащего изучению, а также дать ему общую оценку. Таблица 1 демонстрирует матрицу анализа для проекта.
Таблица 1 - Матрица SWOT - анализа для разработанной автоматизированной системы
|
Сильные стороны |
Возможности |
Угрозы. |
Итого |
||
|
1.Увеличение качества оказания услуг |
2.Увеличения количества клиентов |
||||
|
1.Низкая стоимость разработки. |
0 |
0 |
0 |
||
|
2.Низкая трудоемкость. |
+ |
++ |
+3 |
||
|
3.Простота реализации |
+ |
++ |
+3 |
||
|
4.Высокая скорость работы. |
++ |
+ |
+3 |
||
|
5.Низкая вероятность ошибки. |
+ |
+ |
+2 |
||
|
Итого |
+5 |
+6 |
+11 |
||
|
Слабые стороны |
|||||
|
1.Необходимость ознакомления с Java |
- |
- - |
-3 |
||
|
2.Необходимость сопровождения системы |
|||||
|
Итого |
-1 |
-2 |
-3 |
||
|
Общий итог |
+4 |
+4 |
+9 |
Проведя анализ общего итога матрицы, можно прийти к выводу, что подсистема управления проектами, которая была разработана в ФКУ «Налог-сервис», обладает куда большим количеством сильных сторон, и с экономической точки зрения ее можно считать достаточно эффективным проектом.
3.3 Калькуляция себестоимости разработки автоматизированной системы управления проектами
Для разработки, внедрения и использования разработанной автоматизированной системы, необходимы материальные затраты, связанные с оборудованием, расходными материалами, зарплатой и так далее. Подробнее затраты рассмотрены в таблице 2.
Таблица 2 - Калькуляция затрат на разработку
|
№ |
Наименование статей затрат |
Сумма (руб.) |
|
|
1 |
Материалы и оборудование (системный блок, монитор, принтер, расходные материалы) |
25000 |
|
|
2 |
Спецоборудование для научных (экспериментальных) работ |
0 |
|
|
3 |
Затраты на оплату труда работников, непосредственно занятых созданием научно-технической продукции |
25000 |
|
|
4 |
Отчисления на социальные нужды |
0 |
|
|
5 |
Прочие прямые расходы |
0 |
|
|
6 |
Накладные расходы |
0 |
|
|
7 |
Итого: |
50000 |
|
|
8 |
Затраты по работам, выполняемым сторонними организациями и предприятиями |
0 |
|
|
9 |
Всего себестоимость |
50000 |
Из приведенной выше таблицы видно, что стоимость разработки не велика, а полезный который был определен при SWOT-анализе, от ее использования достаточно велик, это еще раз подтверждает, что разработанная автоматизированная система, является эффективной с экономической точки зрения.
ЗАКЛЮЧЕНИЕ
Чтобы управлять проектами необходимо их зарегистрировать, контролировать процесс исполнения, следить за этапами реализации, на любом предприятии оказывающим услуги по проектированию и созданию интернет сайтов, главная составляющая всего процесса. Скорость учёта и соблюдение сроков исполнения напрямую влияет на качество находящихся в работе проектов, и темпы развития и работы предприятия. Полная оптимизация управления проектами в ФКУ "Налог-сервис" на сегодняшний день одна из главных тем.
В данной дипломной работе был поставлен и поэтапно рассмотрен вопрос о разработке компьютерной системы осуществляющей функции управления проектами на примере организации, оказывающей услуги организациям по разработке и созданию сайтов, ФКУ "Налог-Сервис".
Основной задачей этой дипломной работы было проследить оперативный учёт проектов и их исполнение на каждой ступени.
Внедрённая автоматизированная система повышает эффективность работы ФКУ "Налог-Сервис" и оперативно вести учёт заказов клиентов, полностью контролировать процесс за счёт компьютерного учёта одних и тех же действий. В четвёртой главе был проведён экономический анализ, который показал, что данная разработка очень эффективна с экономической точки зрения и после внедрения её в работу компании был замечен большой рост производительности. В дальнейшем данная система будет развиваться и совершенствоваться.
СПИСОК ЛИТЕРАТУРЫ
1. Рублев В.С. под ред. В. А. Соколова Основы теории алгоритмов: учебное пособие. -М.: "Научный мир" 2008г.
2. Макгрегор, Дж. Тестирование объектно-ориентированного программного обеспечения/ Дж. Макгрегор, С. Дэвид. - К.: ООО “ТИД ДС”, 2002. - 432 с.: ил.
3. Машнин, Т.С. Web-сервисы Java. Профессиональное программирование / Т.С. Машнин. - СПб.: BHV, 2012. - 560 c.
4. Бройдо В. Л. Вычислительные системы, сети и телекоммуникации : учеб. пособие для вузов / В. Л. Бройдо, О. П. Ильина .- 4-е изд.- СПб. : Питер, 2008, 2011
5. Одинцов, И. Профессиональное программирование. Системный подход / И. Одинцов. - СПб.: BHV, 2004. - 624 c.
6. Давыдов, С. IntelliJ IDEA. Профессиональное программирование на Java / С. Давыдов. - СПб.: BHV, 2005. - 800 c.
7. Паронджанов В.Д. Учись писать, читать и понимать алгоритмы. Алгоритмы для правильного мышления. Основы алгоритмизации. "ДМК Пресс" , 2012г.
8. Кубенский А.А. Структуры и алгоритмы обработки данных. Уч.пос. "БХВ-Петербург" 2004г.
9. Липаев, В. В. Методы обеспечения качества крупномасштабных программных средств / В. В. Липаев. - М.: СИНТЕГ, 2003. - 520 с.: ил.
10. Истомин, Е. П. Высокоуровневые методы информатики и программирования / Е. П. Истомин, В. В. Новиков, М. В.Новикова. - СПб.: ООО "Адреевский издательский дом", 2006 г. - 228 с.: ил.
11. Назаров С. В. Операционные среды, системы и оболочки. Основы структурной и функциональной организации / С. В. Назаров .- М. : КУДИЦ-ПРЕСС, 2007
ПРИЛОЖЕНИЕ
Листинг класса Customer
public class Customer extends User {
public Customer(String name, String password) {
super(name, password);
}
}
public class DateFormatter {
public static final SimpleDateFormat FORMATTER = new SimpleDateFormat("dd.MM.yyyy");
}
public class Db {
private static String filePath = "C:\\jobs.s3db";
private final static String urlPart = "jdbc:sqlite:";
private final static String JDBCDriver = "org.sqlite.JDBC";
private static Db sManager;
public static final String TABLE_JOBS = "TABLE_JOBS";
public static final String COLUMN_JOB_CREATING_DATE = "COLUMN_JOB_CREATING_DATE";
public static final String COLUMN_JOB_DEADLINE_DATE = "COLUMN_JOB_DEADLINE_DATE";
public static final String COLUMN_JOB_THEME = "COLUMN_JOB_THEME";
public static final String COLUMN_JOB_CUSTOMER_NAME = "COLUMN_JOB_CUSTOMER_NAME";
public static final String COLUMN_JOB_PERFORMER_NAME = "COLUMN_JOB_PERFORMER_NAME";
public static final String TABLE_CUSTOMERS = "TABLE_CUSTOMERS";
public static final String COLUMN_CUSTOMERS_NAME = "COLUMN_CUSTOMERS_NAME";
public static final String COLUMN_CUSTOMERS_PASS = "COLUMN_CUSTOMERS_PASS";
public static final String TABLE_PERFORMERS = "TABLE_PERFORMERS";
public static final String COLUMN_PERFORMERS_NAME = "COLUMN_PERFORMERS_NAME";
public static final String COLUMN_PERFORMERS_PASS = "COLUMN_PERFORMERS_PASS";
public void removeJob(Job job) {
String query =
"DELETE FROM " + TABLE_JOBS + " WHERE " +
COLUMN_JOB_THEME + " = '" + job.getTheme() + "' AND " +
COLUMN_JOB_CREATING_DATE + " = '" + DateFormatter.FORMATTER.format(job.getCreatingDate()) + "' AND " +
COLUMN_JOB_DEADLINE_DATE + " = '" + DateFormatter.FORMATTER.format(job.getDeadlineDate()) + "' AND " +
COLUMN_JOB_PERFORMER_NAME + " = '" + job.getPerformer().getName() + "' AND " +
COLUMN_JOB_CUSTOMER_NAME + " = '" + job.getCustomer().getName() + "';";
try(Connection connect = connect()) {
connect.createStatement().executeUpdate(query);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void addJob(Job job) {
String query = "INSERT INTO " + TABLE_JOBS + " (" +
COLUMN_JOB_CREATING_DATE + ", " +
COLUMN_JOB_DEADLINE_DATE + ", " +
COLUMN_JOB_THEME + ", " +
COLUMN_JOB_CUSTOMER_NAME + ", " +
COLUMN_JOB_PERFORMER_NAME + ") VALUES ('" +
DateFormatter.FORMATTER.format(job.getCreatingDate()) + "', '" +
DateFormatter.FORMATTER.format(job.getDeadlineDate()) + "', '" +
job.getTheme() + "', '" +
job.getCustomer().getName() + "', '" +
job.getPerformer().getName() + "');";
try(Connection connect = connect()) {
Statement statement = connect.createStatement();
statement.executeUpdate(query);
} catch (SQLException e) {
System.err.println("ERROR IN QUERY: " + query);
e.printStackTrace();
}
}
public ArrayList<JobWrapper> getJobs() {
ArrayList<JobWrapper> result = new ArrayList<>();
String query = "SELECT * FROM " + TABLE_JOBS + ";";
try (Connection connection = connect()) {
ResultSet resultSet = connection.createStatement().executeQuery(query);
while (resultSet.next()) {
Job job = new Job(
DateFormatter.FORMATTER.parse(resultSet.getString(2)),