И. Соммервилл - Инженерия программного обеспечения (1133538), страница 138
Текст из файла (страница 138)
Для малых и средних компаний-разработчиков данная модель подходит не в полной мере. Вместо того чтобы разбивать процесс совершенствования производства на уровни и строить между ними нестойкие вэаииосвязн, рациональнее, по моему мнению. применить обобщенную классификацию процессов совершенствования производства, которая подходит большинству организаций и программных проектов. Можно выделить несколько общих типов процессов совершенствования. Е Неформаллиий пу»оцеес Не имеет четко выраженной модели совершенствования производства.
Его с успехои может использовать отдельная команда разработчиков. Неформальность процесса никоим образом не исключает такие формальные действия, как управление конфигурацией; однако при этом сами действия и их взаииосвязи не предопределены заранее. 2. Уи)лаааиммй процесс Имеет подготовленную модель, которая управллет процессом совершенствования. Модель определяет действия, их»рафик и взаимосвязи между ними. 3. Айиподичесхи оа»ииовпииый прокосе. Полраэумеваегся, что введены в дейсгвие определенные методы (напр»»мер, систематически применяются методы объектноориентированного проектирования). Для процессов этого типа будут полезными САЯЕ средства поддержки проектирования и анализа процессов.
4. Л~ю»»еи штофедапвеппоео соафаап»ппаовппшл Имеет четко поставленную цель совершен. сгвования технологического процесса, для чего существует отдельная строка в бюджете организации и определены нормы и процедуры внедрения нововведений. Частью такого процесса явллется количественный анализ процесса совершенствования. Эту классификацию не назовешь четкой и исчерпывающей — некоторые процессы могут одновременно относиться к нескольким типам.
Например, неформальность процесса является выбором команды разработчиков. Эта же команда может выбрать определенную методику разработки, ил»ея при этом все возможности непосредственного совершенствования процесса. Такой процесс подпадает под классификацию ие4дорл»пльнмй, мепыдпчео»и вбосиоапиимй, иепофедетвенпоео еовфшенетвовоишл Необходимость приведенной классификзции обусловлена тем. что она предоставляет своего рода костяк для комплексного совершенствования технологии создания ПО н дает возможность организации выбирать разные типы процессов совершенствования.
На рис. 25.8 показаны соотношения между разными типами программных систем и процессами совершенствования их разработки. Знание типа раэрабатываелюго продукта сделает соответствие между програмл»ными системами и процессами совершенствования, показанное на рис. 25.8, полозил»л» прп выборе процесса совершенствования. Например, требуется создать программу поддержки перехода ПО с одной кол»пьютерной платформы на другую. Такая программа имеет достаточно ко. роткий срок эксплуатации, поэтому в ее разработке не требуются стандарты и специальное )правление процессом совершенствования, как при создании долгоживущих систем. Многие технологические процессы в наше время имеют САЗЕ.
средства поддержки, поэтому их можно назвать иоддфлеиааеммми ирокееоп»к Методически обоснованные процессы поддерживаются инструментальными средствами анализа и проектированил. Эффективность средства поддержки зависит от применяемого процесса совершенствовашш.
Например, в неформальном процессе могут использоваться типовые средства поддержки 25. Совершенствование производства ПО б29 (средства прототипирования, компиляторы, средства отладки, текстовые процессоры и т,п.). Вряд ли в неформальных процессах будут использоваться на постоянной основе бо- лее специализированные средства поддержки. Рис 25.8. Прииеиимость ироцессов еоверменсимования На рпс. 25.9 показан широкий спектр средств поддержки, применяемых при разработке ПО. Эффективность отдельных средств напрямую зависит от типа выбранного процесса совершенствования. Например, с финансовой точки зрения только инструментальные средства анализа и проектирования подойдут для сопровождения методически обоснованного процесса. Специализированные средства применяются для совершенствования определенных процессов разработки ПО.
Срллсша Срепстла Инструы витальные управления управления средства велим конфицрацизя лроекшм и лроеюироллнил Типовые средства гчес. 25.9. Средсиюа иоддержи и пуюцеесов соеермеаетавоваи ия КЛЮЧЕВЫЕ ПОНЯТИЯ,.: " ' -'': ';", „,-";,:~!,';-. „= ', ' -';,,;..ь, ':-";:,.„рз Процесс совщжюнстпоеания ратрабопа ПО вшючзет следукицие зтепы: вюию проиаюйшва Ю;-'; , СТЗВДЦПИЗВцию, ИЗМЕРВНИВ КсяиЧЕСТВЕННЫХ шкааатепей и ВНВС6ние иаманВНИй'В ТВЮЮлогию Рифа 2 бате ПО, Необходимой сосашвющей процесса соеершенспюяания является обуюние персонавь:-"., о Модели процесса совершенствования состоят из'описания действий, 'зтапоа, ролей, исключений;; слязей, контрольных алементоа. класть ЪЧ.
управлеиие 550 Упражнения 25.10. Считаете ли вы унижающими достоинство программы совершенствования производства, которые предусматривают оценивание работы персонала компании? Что, по-вашему, вызовет сопротивление введению такой программы в действие? 25.1.
25.2. 25,3. 25.4. 25.6. 25,7. 25.5. 25.9. Измерения количественных показателей проводятся для выяснения определенных вопросов отно- сительно разрабатываемого ПО и основываются на органиэашеэнных задачах по совершенствоват нию процесса разработки. Согласно модели оценки уровня' развития ЗЕ) процессы совершенствования классифицируются как начальные, повторения, становления, управления и оптимизации.. Модель оценки уровня рвзвипш ЗЕ) бьша разработана и подходит в основном для больших про- граммных систем, разрабатываемых большими командами спешлалистов, Зта модель обязательно должна адаптироваться к условиям конкретной организации-разработчика. классификация процессов' совершенствования производства пО пашраэлеляет их на неформальные, управляемые, методически обоснашнные и непосредственного совершенствшшния.
Таая классифи кация полезна для определения средств поддержки выбранного процесса совершенствования. Создайте модели следующих процессов. ° Разжигание костра. Приготовление комплексного обеда (меню по вашему выбоРу). е Написание небольшой программы (не более 50 стРок) В каких условиях качество работы команды разработчиков будет определять качество готового программного продукта? Приведите примеры программных систем, при разработке которых особое значение имеют талант и способности отдельного программиста.
Предположим, что целью совершенствования процесса разработки ПО является увеличение количества повторно используемых компонентов. Сформулируйте три вопроса в соответствии с парадипиой "цель-вопрос-показатель". Опишите три типа числовых показателей, которые могут использоваться в качестве данных для совершенствования процесса разработки ПО. Приведитв по одному примеру каждого типа показателя. Назовите два главных достоинства и два основных недостатка концепции оцвнивания и совершенствования процесса разработки ПО, которая положена в основу модели оценки уровня развития ЗЕ). Приведите две области применения ПО, для которых модель Зв неприменима.
Обоснуйте ваш выбор. Рассмотрите технологический процесс создания ПО в вашей компании и определите его тип. Сколько ключевых составляющих процесса по модели ЗЕ! находятся в применении? Какого уровня развития дсютигла ваша компания по этой модели? Приведите пример трех средств поддержки, которые могут использоваться для сопровождения процесса совершенствования производства ПО. Объясните, почему методически обоснованный процесс не обязательно должен быть управляемым. 44 Ъ ту.' Ыц " . ф Ф л ! ь- ~см ..Фо у Ьсн 61:, Наследуемые системы Цсль настоящей главы — ввссти читателя в тему па.
следуемых систсч и показать структуру таких систем. Прочитав вту главу, вы должны: имсть понятна о наследуемых системах и о ири. чинах особого значсния этих систем ллл разви- тия компаний во многих сферах бизнеса; знать общис структуры иаслслусмых систем; понимать принципы функционально.орисптиро. ванного проскгирования, на котором оасовы- вастся большинство стратегий по разработке на- следуемых систем; 0 уметь оценивать наслеяусчые системы с различных точек зрения.
гяопвб~ж . лйфдщовф,'ф~я=~фф4ц~~ф;";р"-'ффьщдф~ф.ьодержание',~~~~~~~~ъ~~у;д~ 26.1. Структуры наследуемых систсм 26.2. Проектирование наследуемых систем 26,6. Оцсннванис наслслусмых систем 534 '1асть |Ч1. Эволюция программного обеспечения Для приобретения программного обеспечения компании обычно должны выложить немалую сумму. Естественно.
чтобы оправдать затраты, программные продукты должны находиться в использовании по крайней мере несколько лет. Жизненный цикл программ может быть самым разным, но, как правило, большие системы успешно функционируют и более десяти лет. Некоторые компании не отказываются и от таких систем, которым уже по 20 лет и более. От многих из них все еще зависит деятельность крупных компаний, и малейшая оп!пбка в системе приводит к сбою их деловой активности.
Именно такие системы н получили название ллгледускых(!сбаз> зумсш). Зто, конечно жс, нс те старые системы, которые были разработаны и запущены в самом па. чапе эры вь!числительной техники. целовал активность находится в постоянном развитии, обусловленном многими факторами, в том числе эволюцией экономики на национальном и международном уровнях, изменением рынка, законов, менедлтлента и структурнымн преобразованилми.