Существует убеждение, что грамотные предприниматели должны ориентироваться на навыки и умения хорошо обученных одиночек. Профессионалы знают, что надо делать, и сделают это. В своем деле они не нуждаются в политическом и организационном руководстве.
Это мнение во многих случаях является заблуждением, а в случае разработки программ оно является опасным заблуждением. Разумеется, разработчики программ хорошо обучены, но это слишком молодая профессия. В результате разработчикам требуется организационное руководство, которое в этой книге носит название "Процесс разработки программного обеспечения". Кроме того, поскольку процесс, который мы излагаем в этой книге, представляет собой сочетание различных до недавнего времени методологий, мы считаем, что правильно будет называть его "Унифицированным процессом". Он объединяет не только работу трех авторов, в него входят многочисленные труды отдельных людей и компаний, создававших UML, а также значительного числа основных сотрудников Rational Software Corporation. В нем успешно использован опыт сотен организаций, применявших ранние версии процесса на площадках заказчиков.
Дирижер симфонического оркестра, например, всего-то и делает во время концерта, что подает музыкантам знак к началу и задает им единый темп. Ему не нужно больше ничего делать, потому что он руководил оркестром на репетициях и подготовил исполняемую партитуру. Кроме того, каждый музыкант прекрасно знает свой инструмент и играет на самом деле независимо от других членов оркестра. Что более важно для нашей цели, каждый музыкант следует "процессу", давно предписанному ему композитором. Это музыкальный темп, который является основой "политики и процедур", управляющих исполнением музыки. В противоположность музыкантам, разработчики программного обеспечения не могут играть, не глядя на окружающих. Они взаимодействуют друг с другом и с пользователями. У них нет темпа, которому они следуют, - зато у них есть процесс.
|
Необходимость такого процесса ощущается все сильнее, особенно в тех отраслях или организациях, где задачи, выполняемые программными системами, очень важны, - в финансах, управлении воздушным движением, обороне и системах связи. Поэтому мы считаем, что успешное ведение бизнеса или выполнение общественных миссий зависят от того, как работает поддерживающее их программное обеспечение. Программные системы становятся все сложнее и сложнее, время выхода на рынок требуется сокращать, и, соответственно, разработка все более затрудняется. По этим причинам индустрия программного обеспечения нуждается в процессе, который управлял бы разработкой, так же как оркестр нуждается в заданном композитором темпе, которому подчинено исполнение.
Процесс определяет, кто, когда и что делает и как достичь определенной цели. В разработке программного обеспечения цель - разработать или улучшить существующий программный продукт. Хороший процесс предоставляет указания по эффективной разработке качественного программного продукта. Он определяет и представляет наилучшие для текущего развития отрасли способы разработки. В результате этот процесс уменьшает риск и повышает предсказуемость. Общий эффект - содействие взаимопониманию и культуре.
|
Нам нужен такой процесс, который управлял бы действиями всех его участников - заказчиков, пользователей, разработчиков и руководства. Старые процессы не подходят для этой цели, в данный момент нам необходим лучший в промышленности процесс. Наконец, этот процесс должен быть широко распространенным, чтобы все заинтересованные лица могли понять свои роли в обсуждаемой разработке.
Процесс разработки программного обеспечения также должен подразумевать возможность многолетнего развития. В ходе этого развития он будет постоянно адаптироваться к действительному положению дел, которое определяется доступными технологиями, утилитами, персоналом и организационными шаблонами.
- Технологии. Процесс должен строиться на основе технологий - языков программирования, операционных систем, компьютеров, пропускной способности сетей, сред разработки и т. п., - существующих во время использования процесса. Например, двадцать лет назад визуальное моделирование не было широко распространено. Оно было слишком дорогим. В настоящее время создатель процесса может только догадываться, как следовало использовать эти нарисованные от руки диаграммы. Согласно этим догадкам, качество моделирования, которое мог обеспечить инициатор процесса, было не слишком высоким.
- Утилиты. Процесс и утилиты могут разрабатываться параллельно. Утилиты и процесс неразделимы. Для того чтобы переход на новый путь был оправдан, правильно разработанный процесс должен поддерживать вложения на создание обеспечивающих его утилит.
- Персонал. Тот, кто создает процесс, должен быть в состоянии ограничить набор навыков, необходимых для работы с ним. Для работы с процессом должно хватать навыков разработчиков, имеющихся под рукой в настоящее время, или навыков, использованию которых этих разработчиков можно быстро обучить. Во многих областях сейчас можно использовать встроенные техники, например проверку модели на целостность можно производить посредством компьютерных утилит.
- Организационные шаблоны. Пока разработчики программ не являются независимыми экспертами, как музыканты симфонического оркестра, они далеки от тех работников-автоматов, на которых Фредерик В. Тейлор (Frederick W. Taylor) строил "научное управление" сто лет назад. Создатели процесса должны адаптировать процесс к реалиям сегодняшнего дня - фактам виртуальной организации, удаленной работе по высокоскоростным линиям, присутствию как частичных владельцев (в небольших фирмах, начинающих разработки), постоянных работников, так и контрактников и удаленных субконтракторов, и постоянному недостатку разработчиков.
Конструкторы процесса должны уравновесить эти четыре набора условий. Кроме того, баланс должен присутствовать не только в настоящий момент, но и в будущем. Создатель процесса должен проектировать процесс так, чтобы он был в состоянии развиваться, точно так же как разработчик программного обеспечения старается не создавать системы, которые устареют, отработав едва год, он хочет, чтобы его системы, развиваясь и совершенствуясь, существовали много лет. Для того чтобы достичь необходимого уровня стабильности и зрелости, процесс должен разрабатываться несколько лет, только после этого он достигает строгости, необходимой для коммерческой разработки, и рискованность его использования снижается до разумного уровня. Разработка нового продукта - само по себе довольно рискованное дело, даже если не добавлять к ней риск недостаточно проверенного на реальных примерах процесса. Исходя из этих соображений, процесс должен быть стабилен. Без этого баланса между технологиями, утилитами, персоналом и организацией использовать процесс будет чересчур опасно.
|
Задача.
Рациональная организация разработки программного обеспечения компьютерных систем.
Компания «МИЗОРД» по разработке и продажи компьютеров и ноутбуков выбирает организацию по разработке программного обеспечения компьютерной системы. Существует много организаций по разработке программного обеспечения:
1. Организация «Сеть»
2. «Program.com»
3. «Pidsar»
4. «Системный администратор»
5. «Komid»
6. «Fad@rd»
Эти 6 альтернатив обозначим А1, А2, А3, А4, А5, А6.
Допустим что окружающая среда П1, П2, П3, П4, П5, П6 –Каждые 2 месяца обслуживания и проверка сети, это отображается в процентах данной матрицы.
Ai | П1 | П2 | П3 | П4 | П5 | П6 |
A1 | ||||||
A2 | ||||||
A3 | ||||||
A4 | ||||||
A5 | ||||||
A6 |
Критерий максимакса.
Критерий максимакса ориентирует статистику на самые благоприятные состояния природы, т.е. этот критерий выражает оптимистическую оценку ситуации.
Ai | П1 | П2 | П3 | П4 | П5 | П6 | max(aij) |
A1 | |||||||
A2 | |||||||
A3 | |||||||
A4 | |||||||
A5 | |||||||
A6 |
Выбираем из (99; 99; 98; 99; 99; 89) максимальный элемент max=99, отсюда следует организации A1, A2, A4, A5 подходят для нашей организации.
Критерий Лапласа.
Если вероятности состояний природы правдоподобны, для их оценки используют принцип недостаточного основания Лапласа, согласно которого все состояния природы полагаются равновероятными, т.е.:
q1 = q2 =... = qn = 1/n.
qi = 1/6
Ai | П1 | П2 | П3 | П4 | П5 | П6 | ∑(aij) |
A1 | 16.5 | 15.83 | 14.83 | 15.5 | 15.83 | 15.67 | 94.17 |
A2 | 14.83 | 16.33 | 16.5 | 15.83 | 15.33 | 94.83 | |
A3 | 15.17 | 16.33 | 13.67 | 14.5 | 13.83 | 14.33 | 87.83 |
A4 | 14.67 | 14.17 | 13.17 | 16.5 | 16.33 | 14.67 | 89.5 |
A5 | 15.5 | 15.83 | 15.17 | 16.5 | 16.33 | 95.33 | |
A6 | 14.33 | 14.17 | 13.83 | 13.67 | 14.33 | 14.83 | 85.17 |
pj | 0.167 | 0.167 | 0.167 | 0.167 | 0.167 | 0.167 |
Выбираем из (94.17; 94.83; 87.83; 89.5; 95.33; 85.17) максимальный элемент max=95.33, отсюда следует выбираем организацию А5.
Критерий Вальда.
По критерию Вальда за оптимальную принимается чистая стратегия, которая в наихудших условиях гарантирует максимальный выигрыш, т.е.
a = max(min aij)
Критерий Вальда ориентирует статистику на самые неблагоприятные состояния природы, т.е. этот критерий выражает пессимистическую оценку ситуации.
Ai | П1 | П2 | П3 | П4 | П5 | П6 | min(aij) |
A1 | |||||||
A2 | |||||||
A3 | |||||||
A4 | |||||||
A5 | |||||||
A6 |
Выбираем из (89; 89; 82; 79; 91; 82) максимальный элемент max=91 отсюда следует выбираем организацию А5.
Критерий Севиджа.
Критерий минимального риска Севиджа рекомендует выбирать в качестве оптимальной стратегии ту, при которой величина максимального риска минимизируется в наихудших условиях, т.е. обеспечивается:
a = min(max rij)
Критерий Сэвиджа ориентирует статистику на самые неблагоприятные состояния природы, т.е. этот критерий выражает пессимистическую оценку ситуации.
Находим матрицу рисков.
Риск – мера несоответствия между разными возможными результатами принятия определенных стратегий. Максимальный выигрыш в j-м столбце bj = max(aij) характеризует благоприятность состояния природы.
1. Расчитываем 1-й столбец матрицы рисков.
r11 = 99 - 99 = 0; r21 = 99 - 89 = 10; r31 = 99 - 91 = 8; r41 = 99 - 88 = 11; r51 = 99 - 93 = 6; r61 = 99 - 86 = 13;
2. Расчитываем 2-й столбец матрицы рисков.
r12 = 98 - 95 = 3; r22 = 98 - 98 = 0; r32 = 98 - 98 = 0; r42 = 98 - 85 = 13; r52 = 98 - 95 = 3; r62 = 98 - 85 = 13;
3. Расчитываем 3-й столбец матрицы рисков.
r13 = 99 - 89 = 10; r23 = 99 - 99 = 0; r33 = 99 - 82 = 17; r43 = 99 - 79 = 20; r53 = 99 - 96 = 3; r63 = 99 - 83 = 16;
4. Расчитываем 4-й столбец матрицы рисков.
r14 = 99 - 93 = 6; r24 = 99 - 95 = 4; r34 = 99 - 87 = 12; r44 = 99 - 99 = 0; r54 = 99 - 91 = 8; r64 = 99 - 82 = 17;
5. Расчитываем 5-й столбец матрицы рисков.
r15 = 99 - 95 = 4; r25 = 99 - 96 = 3; r35 = 99 - 83 = 16; r45 = 99 - 98 = 1; r55 = 99 - 99 = 0; r65 = 99 - 86 = 13;
6. Расчитываем 6-й столбец матрицы рисков.
r16 = 98 - 94 = 4; r26 = 98 - 92 = 6; r36 = 98 - 86 = 12; r46 = 98 - 88 = 10; r56 = 98 - 98 = 0; r66 = 98 - 89 = 9;
Ai | П1 | П2 | П3 | П4 | П5 | П6 |
A1 | ||||||
A2 | ||||||
A3 | ||||||
A4 | ||||||
A5 | ||||||
A6 |
Результаты вычислений оформим в виде таблицы.
Ai | П1 | П2 | П3 | П4 | П5 | П6 | max(aij) |
A1 | |||||||
A2 | |||||||
A3 | |||||||
A4 | |||||||
A5 | |||||||
A6 |
Выбираем из (10; 10; 17; 20; 8; 17) минимальный элемент min=8
отсюда следует выбираем организацию А5.
Критерий Гурвица.
Критерий Гурвица является критерием пессимизма - оптимизма. За (оптимальную принимается та стратегия, для которой выполняется соотношение:max(si)
где si = y min(aij) + (1-y)max(aij)
При y = 1 получим критерий Вальде, при y = 0 получим – оптимистический критерий (максимакс).
Критерий Гурвица учитывает возможность как наихудшего, так и наилучшего для человека поведения природы. Как выбирается y? Чем хуже последствия ошибочных решений, тем больше желание застраховаться от ошибок, тем y ближе к 1.
Расчитываем si.
s1 = 0.5•89+(1-0.5)•99 = 94
s2 = 0.5•89+(1-0.5)•99 = 94
s3 = 0.5•82+(1-0.5)•98 = 90
s4 = 0.5•79+(1-0.5)•99 = 89
s5 = 0.5•91+(1-0.5)•99 = 95
s6 = 0.5•82+(1-0.5)•89 = 85.5
Ai | П1 | П2 | П3 | П4 | П5 | П6 | min(aij) | max(aij) | y min(aij) + (1-y)max(aij) |
A1 | |||||||||
A2 | |||||||||
A3 | |||||||||
A4 | |||||||||
A5 | |||||||||
A6 | 85.5 |
Выбираем из (94; 94; 90; 89; 95; 85.5) максимальный элемент max=95
Таким образом, в результате решения статистической игры рекомендовалась стратегия A5.
Заключение:
При заключениях от критерий видим, что организация под названием «Komid» по процентам самая надежная для предприятия.
В связи с тем, что оптимальное функционирование предприятия по разработке программного обеспечения возможно лишь при условии существования локальной сети, то в результате анализа необходимо было спроектировать такую структуру локальной сети, при которой бы обеспечивалась совместная обработка информации, совместное использование файлов, централизованное управление компьютерами, контроль за доступом к информации, централизованное копирование всех данных, совместный доступ в Интернет.
Так как работники предприятия по разработке программного обеспечения могут воспользоваться либо всеми ресурсами сети, либо только их частью, мною было произведено деление доступа на категории. Для каждой категории пользователей был выделен определенный перечень функций и прав доступа.
Далее была разработана конфигурация сети, которая удовлетворяет критериям по быстродействию, надежности, информационной безопасности.
Технология Fast Ethernet отвечает всем требованиям и подходит для данной сети. Используется топология звезда, в которой каждый компьютер через специальный сетевой адаптер (с пропусной способностью 100 Mbit/s) подключается отдельным кабелем к объеденяещему устройству. За счет этого обеспечивается защита от разрыва кабеля, т.е. если кабель рабочей станции будет поврежден, это не приведет к выходу из строя всего сегмента сети, что обеспечивает надежность всей сети. В данном случае используется недорогой кабель типа витая пара.
Вывод:
В свете «теории игр» можно рассмотреть экономику, общественные науки, бизнес и повседневную жизнь. К примеру, в экономике с точки зрения «теории игр» можно объяснить торговые и ценовые войны. Кроме того, некоторые обозреватели полагают, что, используя эту теорию, можно показать причины такого феномена, как «малоподвижные» цены. В соответствии с этой теорией, фирмы заключают нечто вроде тайного соглашения о преобладающем значении цены (скажем, если речь идет об автомобильной или сталелитейной промышленности). После того, как они пришли к соглашению, фирмы отказываются понижать
или повышать цены, так как в противном случае участники рынка будут рассматривать такие изменения как сигнал объявления экономической войны.
С помощью теории игр можно также объяснить, почему иностранная конкуренция может привести к более ожесточенной ценовой войне. Что случится, если японская фирма войдет на американский рынок, на котором уже существующие компании тайно договорились назначить высокую цену? Зарубежные фирмы могут «отказаться играть в эту игру». Они просто будут снижать цены в целях овладения большей долей рынка. Сговор может разрушиться.
Положение усложняется, когда люди пытаются «изменить игру», действуя нечестно или меняя величину выигрыша. Фирма может изменить объем выигрышей, получаемых потенциальным конкурентом.на ее рынке, построив большие производственные мощности, чем ей требуются. Такие действия предпринимаются для того, чтобы «обязать» себя назначить такие низкие цены, что потенциальный конкурент, установив их, не сможет заработать прибыль. Наиболее «страшным» примером такого типа игры является «угроза судного дня» ядерных сверхдержав, при которой одна из держав грозится развязать войну, приводящую к взаимному уничтожению, если другая держава будет осуществлять менее агрессивные меры.
Эти несколько примеров иллюстрируют только часть огромного разнообразия результатов, которые можно получить, используя теорию игр. Данный раздел экономической теории является чрезвычайно полезным (для экономистов и других представителей общественных наук) инструментом анализа ситуаций, при которых небольшое число людей хорошо информировано и пытается перехитрить друг друга на рынках, в сфере политики или в военных действиях.
Таким образом в решенной задаче было принято решение что стратегия №5 является самой выгодной для предприятия.
Литература
1. Теория игр. Оуэн Г. Издательство: Москва, 2010 г.
2. Шикин Е.В., Чхартишвили А.Г. Математические методы и модели в управлении: Учеб.пособие. - 2-е изд., испр. - М.: Дело, 2002.
3. Трояновский В.М. Математическое моделирование в менеджменте.Учебное пособие. 2-е изд., испр. и доп. - М.: Издательство РДЛ. 2003.