Применение методов системного анализа для выбора программного обеспечения для веб-программирования
Решение задачи выбора наилучшей альтернативы программного обеспечения из исходного множества по заданным критериям. Определение характеристик приоритета критериев. Формирование множества альтернатив программных средств для разработки веб-приложений.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 08.06.2016 |
Размер файла | 36,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Федеральное государственное образовательное
учреждения высшего образования
Национальный исследовательский технологический университет
«МИСиС»
Институт ИТАСУ
Кафедра Автоматизированных Систем Управления
Курсовая работа
по дисциплине «Теория систем и системный анализ»
На тему: «Применение методов системного анализа для выбора ПО для веб-программирования»
Выполнил Раевский М.Н
группа МИ-12-1
Проверил Громов С.В.
Москва 2016
Постановка задачи
В настоящее время многим организациям как государственным, так и частным нужны сайты, веб-приложения. В связи с этим по стране открывается много студий и компаний по разработке и поддержанию сайтов, веб-приложений.
Одну из таких веб-студий решил открыть веб-программист Адвайта Лебедянский. Перед ним стоит задача выбрать среду для разработки сайтов.
Актуальность обусловлена следующими факторами.
· Удачный выбор программного обеспечения для разработки сократит время разработки проектов. Что позволит существенно снизить себестоимость разработки. Ведь время хороших программистов стоит дорого.
К примеру, поддержка средой разработки такого плагина как Emmet или ему подобных позволит увеличить скорость программирования в разы.
И вот почему. Написание всего 5 символов HTML!+TAB преобразует строку в следующую конструкцию:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
</body>
</html>
И в итоге, написав всего 5 символов, мы получили 9 строк кода.
Цель выбора определенной программы для разработки. Сокращение издержек. Как за счет сокращения времени необходимого на разработку одного проекта. Так и за счет оптимально подобранного сочетания цена\качество. А также подборка ПО с оптимальным набором функций.
Таким образом, задачей, решаемой в рамках данной курсовой работы, является задача выбора наилучшей альтернативы (ПО для веб-разработки) из исходного множества по заданным критериям.
Основная проблема при решении данной задачи связана с многокритериальностью и отсутствием одного признака, по которому можно упорядочить множество исходных альтернатив и выбрать лучшее. При этом качество процесса принятия решений о выборе лучшего варианта программного обеспечения находится в прямой зависимости от полноты учета всех факторов, существенных для последствий от принятых решений. Поэтому анализ таких систем на основе методов системного анализа обеспечил бы возможность объективного подхода к выбору среды разработки с учетом требований.
В процессе принятия решений участвуют:
· Основатель студий (Адвайта Лебедянский)
· Программисты работающие в этой студии
· Друзья директора студии приглашенные в качестве экспертов (друзья также как и директор имеют большой опыт в веб - программировании)
Формирование множества критериев
Учитывая интересы программистов, работающих в студии, и директора, было сформировано множество критериев:
· Цена приобретения;
· Удобство интерфейса
· Разнообразие поддерживаемых языков (css, js, html, предпроцессоры ит.д)
· Скорость обработки данных
· Функционал
· Поддержка плагинов
· Наличие русской версии
В таблице 1 указан тип шкалы измерений для каждого критерия, а также определены возможные оценки на шкале измерений для каждого критерия. Все представленные критерии независимы между собой.
Таблица 1
Описание критериев
Критерий |
Тип шкалы |
Шкала |
Баллы |
|
Цена приобретения |
Порядковая |
Высокая |
5 |
|
Приемлемая |
10 |
|||
Низкая |
15 |
|||
Удобство интерфейса |
Порядковая |
Удобен |
15 |
|
Не удобен - но есть возможность изменить настройки интерфейса |
10 |
|||
Не удобен |
5 |
|||
Разнообразие поддерживаемых языков |
Порядковая |
Поддерживает только HTML и СSS |
5 |
|
Поддерживает основные языки(HTML, CSS, JS, PHP) |
10 |
|||
Поддерживет все актуальные языки(HTML, CSS, JS, PHP, предпроцессоры, JSON) |
15 |
|||
Скорость обработки данных |
Порядковая |
Высокая |
15 |
|
Средняя |
10 |
|||
Низкая(часто тормозит) |
5 |
|||
Функционал |
Порядковая |
Функционал избыточен |
15 |
|
Функционал оптимален |
10 |
|||
Недостаточно функционала |
5 |
|||
Поддержка плагинов |
Номинальная |
Поддерживает |
15 |
|
Не поддерживает |
5 |
|||
Наличие русской версии |
Номинальная |
Да |
15 |
|
Нет |
5 |
Для определения характеристик приоритета критериев было принято решение вычислить весовой вектор. Для этого экспертам было предложено провести ранжировку восьми критериев по важности, приписывая наибольшие значения наиболее важным критериям. Экспертами в данном случае выступали: программисты, работающие в веб студии, так как именно эти люди в дальнейшем будут использовать выбранное ПО. Приглашенные эксперты, ведь у них есть большой опыт разработки. Результаты ранжирования представлены в таблице 2.
Таблица 2
Ранжирование критериев
Критерий |
Эксперт |
Итого: |
|||||
Эксперт1 |
Эксперт 2 |
Эксперт 3 |
Эксперт 4 |
Эксперт 5 |
|||
y1 |
8 |
9 |
7 |
8 |
8 |
40 |
|
y2 |
6 |
7 |
5 |
6 |
6 |
30 |
|
y3 |
9 |
8 |
9 |
9 |
8 |
43 |
|
y4 |
8 |
7 |
7 |
6 |
7 |
35 |
|
y5 |
5 |
4 |
5 |
5 |
6 |
25 |
|
y6 |
6 |
7 |
5 |
7 |
6 |
31 |
|
y7 |
5 |
4 |
3 |
3 |
4 |
19 |
Был рассчитан весовой вектор по формуле:
Таблица 3
Весовой вектор
Критерий |
y1 |
y2 |
y3 |
y4 |
y5 |
y6 |
y7 |
|
Вес |
0,179372 |
0,134529 |
0,192825 |
0,156951 |
0,112108 |
0,139013 |
0,085202 |
Была проведена оценка согласованности экспертов с помощью коэффициента конкордации Кендалла. Была составлена сумма рангов по каждой строке. В результате получен вектор с компонентами:
, . (1)
Была найдена - оценка математического ожидания, равная:
(2)
= 21,147
Для случая отсутствия связанных рангов (все альтернативы разные) дисперсионный коэффициент конкордации определяется по формуле Кендалла:
, (3)
(4)
S = 987,412, W = 0,87515
Значение коэффициента конкордации близко к 1, следовательно мнения экспертов согласованы, что может свидетельствовать о высокой значимости полученных результатов.
Формирование множества альтернатив
программный веб приложение критерий
Собранно первичное множество программных средств для разработки веб-приложений представленных на рынке.
1. Web_Shtorm
2. Adobe Dreamweaver
3. Notepad++
4. Блокнот
5. Web Builder
6. Komodo IDE
7. Sublime text_3
8. Expression studio
9. Microsoft Visual Studio Proffessional
10. UltraEdit
11. Bluefish Editor
12. TextWrangler
13. Smultron
14. Atom
15. Caditor
16. GNU Emacs
17. Crimson Editor
18. ConTEXT
19. SciTE
20. Bracket
Было принято решение сформировать исходное множество альтернатив с помощью метода экспертного перечисления. Экспертами в данном случае выступали программисты, работающие в веб студии, так как именно эти люди в дальнейшем будут использовать выбранное ПО. Приглашенные программисты. Экспертам было предложено выбрать 6 программ из предложенных альтернатив. Результат выбора представлен в таблице 4.
Таблица 4
Формирование исходного множества альтернатив
Эксперт |
Альтернатива |
||||||||||||||||||||
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
x11 |
x12 |
x13 |
x14 |
x15 |
x16 |
x17 |
x18 |
x19 |
x20 |
||
Эксперт_1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
Эксперт_2 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
|
Эксперт_3 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
|
Эксперт_4 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
|
Эксперт_5 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
|
Общий балл: |
5 |
5 |
5 |
1 |
4 |
2 |
5 |
4 |
5 |
4 |
2 |
4 |
3 |
5 |
4 |
2 |
1 |
4 |
3 |
5 |
Таким образом, в исходное множество альтернатив были выбраны программы набравшие 5 баллов.
Исходное множество альтернатив:
1. Web_Shtorm
2. Atom
3. Bracket
4. Notepad++
5. Sublime text_3
6. Microsoft Visual Studio Proffessional
7. Adobe Dreamweaver
Альтернативы в данной задаче являются независимыми - так как при удалении из рассмотрения или выделения лучшей альтернативы не будет влиять на качество остальных альтернатив.
Решение
Для выбора наилучшей альтернативы, было принято решение использовать принцип абсолютной уступки.
Принцип абсолютной уступки выражен в виде математической формы:
Было принято решение провести экспертную оценку по критериям: «Цена приобретения», «Удобство интерфейса», «Разнообразие поддерживаемых языков», «Скорость обработки данных», «функционал», по остальным критериям проверялось наличие/отсутствие какой-либо функции, поэтому оценку по таким критериям возможно провести самостоятельно. Ниже представлены таблицы с оценками экспертов.
Таблица 5
Оценки по критерию «Цена приобретения»
Альтернатива |
Эксперт |
Итого: |
|||||
Э1 |
Э2 |
Э3 |
Э4 |
Э5 |
|||
x1 |
5 |
10 |
10 |
10 |
15 |
50 |
|
x2 |
15 |
15 |
15 |
15 |
15 |
75 |
|
x3 |
15 |
15 |
15 |
15 |
15 |
75 |
|
x4 |
15 |
15 |
15 |
15 |
15 |
75 |
|
x5 |
15 |
15 |
15 |
15 |
15 |
75 |
|
x6 |
15 |
10 |
15 |
5 |
10 |
55 |
|
x7 |
5 |
10 |
10 |
5 |
5 |
35 |
Таблица 6
Оценки по критерию «Удобство интерфейса»
Альтернатива |
Эксперт |
Итого: |
|||||
Э1 |
Э2 |
Э3 |
Э4 |
Э5 |
|||
x1 |
10 |
5 |
10 |
5 |
10 |
40 |
|
x2 |
15 |
15 |
15 |
15 |
15 |
75 |
|
x3 |
10 |
15 |
10 |
10 |
15 |
60 |
|
x4 |
5 |
5 |
5 |
5 |
5 |
25 |
|
x5 |
10 |
10 |
10 |
10 |
10 |
50 |
|
x6 |
10 |
5 |
10 |
15 |
10 |
50 |
|
x7 |
5 |
10 |
10 |
5 |
10 |
40 |
Таблица 7
Оценки по критерию «Разнообразие поддерживаемых языков»
Альтернатива |
Эксперт |
Итого: |
|||||
Э1 |
Э2 |
Э3 |
Э4 |
Э5 |
|||
x1 |
10 |
10 |
10 |
10 |
10 |
50 |
|
x2 |
15 |
15 |
15 |
15 |
15 |
75 |
|
x3 |
15 |
15 |
15 |
15 |
15 |
75 |
|
x4 |
5 |
5 |
5 |
5 |
5 |
25 |
|
x5 |
15 |
15 |
15 |
15 |
15 |
75 |
|
x6 |
10 |
10 |
10 |
10 |
10 |
50 |
|
x7 |
5 |
5 |
5 |
5 |
5 |
25 |
Таблица 8
Оценки по критерию «Скорость обработки данных»
Альтернатива |
Эксперт |
Итого: |
|||||
Э1 |
Э2 |
Э3 |
Э4 |
Э5 |
|||
x1 |
10 |
10 |
10 |
10 |
15 |
55 |
|
x2 |
15 |
5 |
10 |
10 |
15 |
55 |
|
x3 |
10 |
5 |
10 |
5 |
5 |
35 |
|
x4 |
5 |
10 |
5 |
5 |
5 |
30 |
|
x5 |
15 |
15 |
15 |
15 |
15 |
75 |
|
x6 |
10 |
15 |
10 |
15 |
10 |
60 |
|
x7 |
10 |
5 |
10 |
5 |
5 |
35 |
Таблица 9
Оценки по критерию «Функционал»
Альтернатива |
Эксперт |
Итого: |
|||||
Э1 |
Э2 |
Э3 |
Э4 |
Э5 |
|||
x1 |
10 |
15 |
10 |
10 |
15 |
60 |
|
x2 |
10 |
5 |
10 |
5 |
10 |
40 |
|
x3 |
10 |
5 |
5 |
10 |
15 |
45 |
|
x4 |
5 |
5 |
5 |
5 |
5 |
25 |
|
x5 |
15 |
15 |
15 |
15 |
15 |
75 |
|
x6 |
10 |
15 |
5 |
10 |
10 |
50 |
|
x7 |
5 |
10 |
5 |
10 |
5 |
35 |
Была сформирована итоговая таблица 10, в которой каждой альтернативе проставлены баллы по каждому критерию. Для критериев, по которым проводилась экспертная оценка ставился средний балл по критерию.
Таблица 10
Оценки альтернатив по критериям
Критерий |
Альтернатива |
|||||||
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
||
y1 |
10 |
15 |
15 |
15 |
15 |
11 |
7 |
|
y2 |
||||||||
y3 |
||||||||
y4 |
||||||||
y5 |
||||||||
y6 |
15 |
15 |
15 |
5 |
15 |
5 |
5 |
|
y7 |
15 |
15 |
15 |
15 |
15 |
15 |
15 |
Для каждой альтернативы рассчитывается показатель с учетом весового вектора. Полученный вектор показателей представлен в таблице 10.
Таблица 10
применение метода абсолютной уступки
Альтернатива |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
|
Абс. Уступ. |
4,98 |
7,58 |
5,05 |
6,66 |
8,84 |
9,25 |
7,63 |
Исходя из полученных результатов анализа экспертных оценок альтернатив, можно сделать вывод, что альтернатива под номером 6 является лучшей.
Размещено на Allbest.ru
...Подобные документы
Информатизация России. Рынок программных средств. Основные задачи стандартизации, сертификации и лицензирования в сфере информатизации. Совокупность инженерных методов и средств создания программного обеспечения. Жизненный цикл программного обеспечения.
лекция [352,8 K], добавлен 09.03.2009Обзор программных средств разработки приложений и обоснование выбора языка программирования. Классификация приложений для работы с базами данных. Функциональная структура базы данных с указанием назначения программных модулей, руководство пользователя.
дипломная работа [645,3 K], добавлен 21.11.2010Возможности среды программирования delphi при разработке приложения с визуальным интерфейсом. Отладка программных модулей с использованием специализированных программных средств. Тестирование программного обеспечения. Оптимизация программного кода.
курсовая работа [974,0 K], добавлен 21.12.2016Формирование множества возможных решений и психологические факторы их поиска в процессе проектирования. Структура математического обеспечения вычислительных машин. Этапы разработки комплексов программ АСУ и планирование их технического обслуживания.
реферат [20,9 K], добавлен 12.11.2010Изучение основных видов угроз программного обеспечения. Выявление наиболее эффективных средств и методов защиты программного обеспечения. Анализ их достоинств и недостатков. Описания особенностей лицензирования и патентования программного обеспечения.
курсовая работа [67,9 K], добавлен 29.05.2013Понятие программного обеспечения, вопросы его разработки и использования. Общая характеристика системного программного обеспечения и работа операционной системы. Специфика процесса управления разработкой программного обеспечения и его особенности.
курсовая работа [636,2 K], добавлен 23.08.2011Схемы взаимодействия между заказчиком и разработчиком программного обеспечения. Качество программного обеспечения и определение основных критериев его оценка на современном этапе, особенности управления на стадиях жизненного цикла, анализ достаточности.
презентация [114,7 K], добавлен 14.08.2013Понятие и ключевое отличие распределенной разработки программного обеспечения, его достоинства и недостатки. Концептуальное решение и выбор типа разработки. Особенности программного обеспечения с открытым исходным кодом. Идея и развитие Open Source.
курсовая работа [97,7 K], добавлен 14.12.2012Оснащенность предприятия системным программным обеспечением, используемым для организации производственного процесса. Проектирование, внедрение и эксплуатация системного и прикладного программного обеспечения. Тестирование и отладка программного продукта.
отчет по практике [272,2 K], добавлен 29.12.2014Цели и задачи программной инженерии. Понятие программного обеспечения. Шесть принципов эффективного использования программного обеспечения. Виды программного обеспечения: общесистемное, сетевое и прикладное. Принципы построения программного обеспечения.
курсовая работа [30,4 K], добавлен 29.06.2010Современные инструменты разработки программного обеспечения для СУТП. Универсальные языки программирования и сравнение их со SCADA-системами. Разработка программного обеспечения с использованием многоканальных измерительных преобразователей Ш9327.
дипломная работа [2,3 M], добавлен 13.07.2011Исследование объектно-ориентированного подхода к проектированию программного обеспечения будильника. Модель программного обеспечения. Взаимодействие между пользователями и системой. Диаграммы и генерация программного кода при помощи средств Rational Rose.
курсовая работа [355,8 K], добавлен 26.09.2014Анализ затрат и прибыли. Создание программного проекта для решения задачи о прибыли и убытках на языке программирования C#. Использование функций и переменных, компиляция программы. Алгоритмы и структуры данных. Тестирование программного обеспечения.
курсовая работа [1,2 M], добавлен 03.01.2015Использование моделирования в программной инженерии в процессе разработки программного обеспечения. Основные этапы процесса разработки программного обеспечения, их характеристика. Моделирование процессов, их определение фазами и видами деятельности.
реферат [2,2 M], добавлен 25.12.2017Классификация служебных программных средств. Файловая структура операционных систем. Основы графического интерфейса пользователя Windows XX. Анализ алгоритмов решения задач. Описание процесса разработки программного обеспечения и результатов работы.
курсовая работа [2,4 M], добавлен 14.11.2016Технологии разработки программного обеспечения. Процедура постановки задачи, определения требований. Последовательность действий логической, разветвленной и циклической структуры. Терминология программирования. Этапы создания программного продукта.
презентация [793,8 K], добавлен 15.11.2010Процесс выбора технологий и инструментальных средств. Анализ требований и построения спецификаций создаваемого программного обеспечения. Контекстная и детализированная диаграмма "AS-IS". Разработка алгоритмов и структур данных для хранения информации.
курсовая работа [3,3 M], добавлен 04.06.2014Разработка программного обеспечения для реализации криптографической защиты информации. Обоснование выбора аппаратно-программных средств. Проектирование модели информационных потоков данных, алгоритмического обеспечения, структурной схемы программы.
дипломная работа [2,0 M], добавлен 10.11.2014Основные этапы разработки программного обеспечения (пакета программ), анализ требований к системе. Метод пошаговой детализации. Языки программирования низкого уровня и высокого уровня (императивные, объектно-ориентированные, функциональные, логические).
презентация [41,4 K], добавлен 13.10.2013Обзор существующего программного обеспечения для информационной поддержки деятельности системного администратора машиностроительного техникума. Анализ выбора средств разработки. Требования к разработке. Экономическая эффективность разработанной системы.
дипломная работа [108,5 K], добавлен 27.03.2013