Общая часть (часть 2) (2015) (by Кибитова) (1161598), страница 8
Текст из файла (страница 8)
9. Тестирование.назначениясоздаваемойпрограммнойсистемы.Современныетехнологииразработкипрограммногообеспеченияспецифицируютразличные модели организации жизненного цикла программной системы. Традиционная18 программнойЭтапвводапрограммнойсистемыв эксплуатациюразличныемоделиорганизациижизненногоТрадиционнаяДругимкомпонентомданногоэтапациклаявляетсяотладка. системы.Отладка(внедрение)—это поиск,и19 цикла программы в вычислительнойсопровождения.Немаловажнымэтапомжизненноголокализация и исправление зафиксированных при тестировании или в процессе19системеявляетсяэтап, Длясвязанныйс представлениемразрабатываемойпрограммнойэксплуатацииошибок.обеспеченияпроцесса отладкииспользуются специальныесистемывкачествепрограммногопродукта.Однимизосновныхпрограммные средства — отладчики.
Средства отладки существенно зависяттребований,от типа ипредъявляемыхк программномуназначения создаваемойпрограммнойпродукту,системы. является возможность эксплуатациисоответствующейпрограммнойсистемыбез постоянногоучастия(внедрение)разработчикаЭтап вводапрограммнойсистемыв эксплуатациюипрограммы.Этодостигается,соднойстороны,соответствующейнадежностьюсопровождения. Немаловажным этапом жизненного цикла программы в вычислительнойпрограммы(для этогобыть максимальнополно протестированасистеме являетсяэтап,программасвязанныйдолжнас представлениемразрабатываемойпрограммнойиустойчиваквсевозможнымкомбинациямвходныхданных),асдругойстороны— этосистемы в качестве программного продукта. Одним из основных требований,наличиеподробнойадекватной программенеобходимойдля всехпредъявляемыхк ипрограммномупродукту, документации,является возможностьэксплуатациикатегорийпользователейданнойпрограммнойсистемы(пользователь,системныйсоответствующей программной системы без постоянного участия разработчикапрограммист,оператори т.п.).стороны, соответствующей надежностьюпрограммы.
администратор,Это достигается,с однойИтак, (длямы этогорассмотрелиосновныеэтапымаксимальножизненногополноциклапрограммы ивпрограммыпрограммадолжна бытьпротестированавычислительнойсистеме.Присозданииразличныхпрограммныхсистем,— этоприустойчива к всевозможным комбинациям входных данных), а с другой стороныиспользованииразличныхтехнологийпрограммеразработкидокументации,данные этапы необходимоймогут выполнятьсякакналичие подробнойи адекватнойдля всехлинейно,так пользователейи итерационно, даннойс возвратамиот одного системыэтапа к другому,последовательнымикатегорийпрограммной(пользователь,системныймодель — каскадная модель (Рис.
10) — представляет разработку в виде строгомодель — последовательностикаскадная модель этапов,(Рис. 10)— представляетразработкув видестроголинейнойкаждыйиз которыхразработкузаканчиваетсяфиксациеймодель—каскаднаямодель(Рис.10)—представляетввидестроголинейнойэтапов,из которыхзаканчиваетсямодель— последовательностикаскаднаямодель(Рис.10) каждый— последующий.представляетразработкув виде фиксациейстрогорезультата,ипоследовательноститолько послеэтого начинаетсялинейнойэтапов,каждыйизкоторыхзаканчиваетсяфиксациейрезультата,итолькопослеэтогоначинаетсяпоследующий.линейной последовательности этапов, каждый из которых заканчивается фиксациейрезультата,и итолькотолькопослепослеэтогоэтогоначинаетсяначинаетсяпоследующий.последующий.результата,ПроектированиеПроектированиеПроектированиеПроектированиеКодированиеКодированиеКодированиеКодированиеТестированиеТестированиеТестированиеТестированиеОтладкаОтладкаОтладкаОтладкаРис.
10. Каскадная модель.Рис.10. Каскаднаямодель.Рис.Каскаднаямодель.Рис.10.10.Каскаднаямодель.В определенном смысле эта модель является вырожденной, т.к. соблюсти эти В определенномсмыслеэтамодельявляетсявырожденной, т.к.т.к. соблюстисоблюстиэтиэтиопределенномсмыслеэтаэтамодельмодельявляетсяявляетсявырожденной,правилаВ Внапрактике достаточносложно.Примеромможет служитьсвязка этиэтапаопределенномсмыслевырожденной,т.к. соблюстиправиланапрактикедостаточносложно.Примеромможетслужитьсвязкаэтапаправила нана практикесложно.
ПримеромПримеромможетслужитьсвязкаэтапаправиласложно.можетсвязкаэтапатестированияипрактикеотладки достаточносдостаточнопредшествующимиэтапами,котораяпослужитьсвоей сутиитерационнатестированияииотладкисспредшествующимиэтапами,которая попосвоейсвоейсутисутиитерационнаитерационнатестированияотладкипредшествующимиэтапами,котораятестированияи отладкии слокализациипредшествующимиэтапами,котораяпо своей сутиитерационна(послеобнаруженияошибкизачастуюнеобходимовернутьсяк этапу(послеобнаруженияиилокализациилокализацииошибкизачастуюнеобходимонеобходимовернутьсявернутьсяк этапуэтапу(послеобнаружениялокализацииошибкизачастуюнеобходимовернутьсяк(послеобнаруженияиошибкизачастуюкэтапукодирования, а возможно и проектирования).
Прагматическим развитием каскаднойкодирования,авозможноипроектирования).Прагматическимразвитиемкаскаднойкодирования,а авозможновозможно ипроектирования).проектирования).ПрагматическимПрагматическимразвитиемразвитиемкаскаднойкаскаднойкодирования,моделиявляется каскаднаяи итерационнаямодель (Рис. 11), котораяв общем случае,моделиявляетсякаскаднаяитерационнаямодель(Рис.11),котораявобщемслучае,моделиявляетсякаскаднаяитерационная(Рис.11),котораявобщемслучае,модели являетсякаскадная осуществленияитерационная модель11), котораяв общемслучае,предоставляетвозможностьанализа(Рис.полученныхна этаперезультатовипредоставляетвозможностьосуществленияанализаполученныхнаэтаперезультатовпредоставляетвозможностьосуществленияполученныхнаэтаперезультатовиипредоставляетвозможностьосуществлениявозвратк любомупредшествующемуэтапу.анализа полученных на этапе результатов ивозвраткк клюбомулюбомупредшествующемупредшествующемуэтапу.этапу.возвратлюбомупредшествующемуэтапу.возвратПроектированиеПроектированиеПроектированиеПроектированиеКодированиеКодированиеКодированиеКодированиеТестированиеТестированиеТестированиеТестированиеОтладкаОтладкаОтладкаОтладкаРис.11.11.КаскаднаяКаскаднаяитерационнаяитерационная модель.модель.Рис.Рис.11.11.
КаскаднаяКаскаднаяитерационнаяитерационнаямодель.модель.Современные технологиитехнологии разработкиразработки программногообеспеченияпомимоСовременныеСовременныепрограммногообеспеченияпомимопомимоСовременные технологиитехнологии разработкиразработки программногопрограммного обеспеченияобеспеченияпомимокаскадноймоделииспользуютидругиемоделиорганизациижизненногоциклакаскаднойкаскадноймоделииспользуютдругиемоделиорганизациижизненногоциклациклакаскадной моделимодели используютиспользуют иии другиедругие моделимодели организацииорганизациижизненногожизненногоциклапрограммныхсистем.Вчастности,популярнойявляетсяспиральнаямодельорганизациипрограммныхсистем.Вчастности,популярнойявляетсяспиральнаямодельорганизациипрограммныхсистем.Вчастности,популярнойявляетсяспиральнаямодельорганизациипрограммных систем.
В частности, популярной является спиральная модель организациижизненногоциклацикла(Рис.(Рис.12).12).жизненногожизненногоцикла(Рис.12).жизненногоцикла(Рис.12).Даннаямодельмодельоснованаоснована нана том,том,чточто процесспроцессразработкиразработкипрограммнойсистемыДаннаяпрограммнойсистемыДаннаяоснованачторазработкипрограммнойсистемыДанная модельмодельоснованананатом,том,чтопроцесспроцессразработкипрограммнойсистемыскладываетсяизпоследовательности"спиралей",каждаяизкоторыхвключаетэтапыскладывается изпоследовательности"спиралей",каждаяизизкоторыхвключаетэтапыскладываетсяизпоследовательности"спиралей",каждаякоторыхвключаетэтапыскладываетсяиз последовательности"спиралей",каждая результата.из которыхПодвключаетэтапыпроектирования,кодирования,тестированияиполучениярезультатомпроектирования,кодирования,тестированияиполучениярезультата.Подрезультатомпроектирования,результата.
ПодПод результатомрезультатомпроектирования, кодирования,кодирования, тестированиятестирования ии полученияполучения результата.20202020 интерактивные и пакетные средства отладки программ, системы контроля версий,средства поддержки проектов.90-е годы ХХ века — настоящее время.
Появление промышленных средствавтоматизации проектирования программного обеспечения, CASE-средств (ComputerAided Software/System Engineering), унифицированного языка моделирования UML.понимаетсяочередная детализацияпроекта и получениепрограмм —Системыпрограммирования:интегрированныесистемы,последовательностипредоставляющие комплексныепрототипов.Прототип—программа,реализующаячастичнуюфункциональностьрешения в автоматизации проектирования, кодирования, тестирования, отладки иивнешние интерфейсыразрабатываемойсопровожденияпрограммногообеспечения.системы. Последовательность прототипов, вконечномк реализациитерминапрограммнойсистемы.А детализации претерпелапроекта, вМы счете,видим,сходитсячто интерпретациясистемапрограммированиеитоге,превращаютсявполныйпроектсистемы.изменение от самого примитивного: «система программирования — это трансляторязыка программирования и средства редактирования связей», — до современного:«система программирования — этокодированиекомплекс программ, обеспечивающий технологиюавтоматизации проектирования, кодирования, тестирования, отладки и сопровожденияпрограммного обеспечения».
Функции конкретной системы программированияопределяются составом программных компонентов, которые могут использоваться дляданных и аналитическойобработкиданныхс целью ивыявленияиподдержанияэтапов жизненногоциклапрограммы,степеньюзакономерностейинтеграции этихданныхианалитическойобработкиданныхсцельювыявлениязакономерностейипрогнозированиярешений,идр.компонентов. Таким образом, системой программирования будет являться как система,прогнозированиярешений,идр.редакторысвязей, загрузчики,библиотекпрограмм,включающаявнешнихтолько трансляторязыка Си, средстваассемблер,поддержанияредактор связейи интерактивныйтестированиепроектированиеинтерактивныеипакетныесредстваотладкипрограмм,системыконтроляверсий,отладчик, так и, например, система Rationalобъектно-ориентированныхBaaNRose — наборотладкасредстваподдержкипроектов.
для автоматизацииCASE-средств,предназначенныхBaaN процессов анализа, моделирования и90-е годыс ХХвека — настоящеевремя.дляПоявлениепромышленныхпроектированияиспользованиемUML, а такжеавтоматическойгенерациисредствкодовавтоматизациипроектированияпрограммногоCASE-средств(Computerпрограмм на различныхязыках (C++,Java и пр.),обеспечения,разработкипроектнойдокументациииИнструментарийПриложениядетализацияAidedSoftware/SystemEngineering),унифицированногоязыкамоделированияUML.реверсногоинжинирингапрограмм.НасегодняшнийденьвыборконкретнойсистемыИнструментарийПриложенияСистемыпрограммирования:системы, предоставляющиекомплексныепрограммированияво многом интегрированныезависит как от масштабностии сложности решаемойзадачиСбытСервисНастройкаБазовыеавтоматизации,такиотквалификациипрограммистов.решениявавтоматизациипроектирования,кодирования,тестирования,отладкиипрограммная НастройкаСбытСервиспрототипыБазовыена доступе к виртуальнымсредстваУровень программногосистемы программированияисопровожденияобеспечения.