49406 (Характеристика якості програмних засобів)

2016-07-29СтудИзба

Описание файла

Документ из архива "Характеристика якості програмних засобів", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "контрольные работы и аттестации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "49406"

Текст из документа "49406"

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ

Бердичівський політехнічний коледж

КОНТРОЛЬНА РОБОТА

з дисципліни “Технологія розробки програмного забезпечення”

Виконав:студент групи ПЗС-504

Горпинич О.О.

Перевірив:викладач

Тростянський Б.Г.

м. Бердичів

2007 р


Зміст

1. Поняття якості програмних засобів.

2. Основні поняття і принципи відладки та тестування програм.

3. Особливості об’єктного підходу на етапі конструювання програмних засобів.

4. Практичне завдання.

Список використаної літератури.

1. Поняття якості програмних засобів

Кожний ПЗ повинний виконувати визначені функції, тобто робити те, що задумано. Гарний ПЗ повинен мати набір властивостей, які дозволяють успішно його використовувати впродовж тривалого періоду, тобто мати визначену якість. Якість ПЗ - це сукупність його властивостей і характеристик, що впливають на його здатність задовольняти задані потреби користувачів. Але забезпечення якості ПЗ може викликати певні протиріччя. Так наприклад, підвищення якості ПЗ по одній з властивостей часто може бути досягнуто лише ціною зміни вартості, термінів завершення розробки і зниження якості цього ПЗ по інших його властивостях. В даному випадку мова не йде про розробку ідеального з точки зору показників якості ПЗ (досягнути цього скоріш всього взагалі неможливо), а про розробку ПЗ із задовільною якістю. Якість ПЗ є задовільною, коли він має визначені властивості в такий степені, яка гарантує успішне його використання

Сукупність властивостей ПЗ, що забезпечує задовільну для користувача якість ПЗ, залежить від умов і характеру експлуатації цього ПЗ. Тому при опису якості ПЗ, насамперед, повинні бути визначені критерії оцінки якості ПЗ. В даний час критеріями якості ПЗ прийнято вважати:

- функціональність,

·- надійність,

·- легкість застосування,

- ефективність,

·- супровід,

- мобільність.

Функціональність - це здатність ПЗ виконувати набір функцій, які задовольняють потреби користувачів. Набір зазначених функцій визначається в зовнішньому описі ПЗ.

Надійність – це здатність ПЗ безвідмовно виконувати визначені функції при заданих умовах протягом заданого періоду часу з досить великою імовірністю .

Легкість застосування - це характеристики ПЗ, що дозволяють мінімізувати зусилля користувача по підготовці вхідних даних, застосуванню ПЗ і оцінці отриманих результатів.

Ефективність - це відношення рівня послуг, які надає ПЗ користувачу при заданих умовах, до обсягу використовуваних ресурсів.

Супровід - це характеристики ПЗ, що дозволяють мінімізувати зусилля по внесенню змін для усунення в ньому помилок і по його модифікації відповідно до потреб користувачів.

Мобільність - це здатність ПЗ бути перенесеним з одного середовища (оточення) в іншу, зокрема, з одного комп'ютера на іншій.

Функціональність і надійність є обов'язковими критеріями якості ПЗ, причому забезпечення надійності червоною ниткою проходить по всім етапам і процесам розробки ПЗ. Інші критерії використовуються в залежності від потреб користувачів у відповідності з вимогами, що пред’являються до ПЗ.

2. Основні поняття і принципи відладки та тестування програм

Успіх налагодження ПЗ у значній мірі визначає раціональна організація тестування. При налагодженні ПЗ відшукуються й усуваються, в основному, ті помилки, наявність яких у ПЗ установлюється при тестуванні. Як було уже відзначене, тестування не може довести правильність ПЗ, у кращому випадку воно може продемонструвати наявність у ньому помилки. Іншими словами, не можна гарантувати, що тестуванням ПЗ практично здійсненним набором тестів можна установити наявність кожної наявної в ПЗ помилки. Тому виникає дві задачі. Перша задача: підготувати такий набір тестів і застосувати до них ПЗ, щоб знайти в ньому по можливості більше число помилок. Однак чим довше продовжується процес тестування (і налагодження в цілому), тим більшої стає вартість ПЗ. Звідси друга задача: визначити момент закінчення налагодження ПЗ (чи окремого його компонента). Ознакою можливості закінчення налагодження є повнота охоплення пропущеними через ПЗ тестами (тобто тестами, до яких застосоване ПЗ) безлічі різних ситуацій, що виникають при виконанні програм ПЗ, і відносно рідкий прояв помилок у ПЗ на останньому відрізку процесу тестування. Останнє визначається відповідно до необхідного ступеня надійності ПЗ, зазначеної в специфікації його якості. Для оптимізації набору тестів, тобто для підготовки такого набору тестів, що дозволяв би при заданому їхньому числі (чи при заданому інтервалі часу, відведеному на тестування) виявляти більше число помилок у ПЗ, необхідно, по-перше, заздалегідь планувати цей набір і, по-друге, використовувати раціональну стратегію планування тестів. Проектування тестів можна починати відразу ж після завершення етапу зовнішнього опису ПЗ. Можливі різні підходи до вироблення стратегії проектування тестів, який можна умовно графічно розмістити (див. мал. 9.1) між наступними двома крайніми підходами. Лівий крайній підхід полягає в тім, що тести проектуються тільки на підставі вивчення специфікацій ПЗ (зовнішнього опису, опису архітектури і специфікації модулів). Будівля модулів при цьому ніяк не враховується, тобто вони розглядаються як чорні ящики. Фактично такий підхід вимагає повного перебору всіх наборів вхідних даних, тому що в противному випадку деякі частини програм ПЗ можуть не працювати при пропуску будь-якого тесту, а це значить, що помилки, що містяться в них, не будуть виявлятися. Однак тестування ПЗ повною безліччю наборів вхідних даних практично нездійсненно. Правий крайній підхід полягає в тім, що тести проектуються на підставі вивчення текстів програм з метою протестувати всі шляхи виконання кожної програм ПЗ. Якщо узяти до уваги наявність у програмах циклів з перемінним числом повторень, то різних шляхів виконання програм ПЗ може виявитися також надзвичайно багато, так що їхнє тестування також буде практично нездійсненно. Оптимальна стратегія проектування тестів розташована усередині інтервалу між цими крайніми підходами, але ближче до лівого краю. Вона включає проектування значної частини тестів по специфікаціях, але вона вимагає також проектування деяких тестів і по текстах програм. При цьому в першому випадку ця стратегія базується на принципах:

· на кожну використовувану функцію - хоча б один тест,

· на кожну область і на кожну границю зміни якої-небудь вхідної величини - хоча б один тест,

· на кожну особливу (виняткову) ситуацію, зазначену в специфікаціях, - хоча б один тест.

В другому випадку ця стратегія базується на принципі: кожна команда кожної програми ПЗ повинна бути перевірена хоча б на одному тесті. Оптимальну стратегію проектування тестів можна конкретизувати на підставі наступного принципу: для кожного програмного документа (включаючи тексти програм), що входить до складу ПЗ, повинні проектуватися свої тести з метою виявлення в ньому помилок. У всякому разі, цей принцип необхідно дотримувати відповідно до визначення ПЗ і змістом поняття технології програмування як технології розробки надійних ПЗ. Розрізняються два основних види налагодження (включаючи тестування): автономне і комплексне налагодження ПЗ. Автономне налагодження ПЗ означає послідовне роздільне тестування різних частин програм, що входять у ПЗ, з пошуком і виправленням у них фіксуємих при тестуванні помилок. Воно фактично включає налагодження кожного програмного модуля і налагодження сполучення модулів. Комплексне налагодження означає тестування ПЗ у цілому з пошуком і виправленням при тестуванні помилок у всіх документах (включаючи тексти програм ПЗ), що відносяться до ПЗ у цілому. До таких документів відносяться визначення вимог до ПЗ, специфікація якості ПЗ, функціональна специфікація ПЗ, опис архітектури ПЗ і тексти програм ПЗ.

3. Особливості об’єктного підходу на етапі конструювання програмних засобів

У якості модульної структури програми прийнято використовувати деревоподібну структуру, яка відображує принцип низпадаючого проектування. У вузлах такого дерева розміщаються програмні модулі, а спрямовані дуги (стрілки) показують статичну підпорядкованість модулів, тобто кожна дуга показує, що в тексті модуля, з якого вона виходить, мається посилання на модуль, у який вона входить. Іншими словами, кожен модуль може звертатися до підлеглих йому модулів, тобто виражається через ці модулі. При цьому модульна структура програми, у кінцевому рахунку, повинна включати і сукупність специфікацій модулів, що утворять цю програму. Специфікація програмного модуля містить:

·- синтаксичну специфікацію його входів, що дозволяє побудувати використовуваною мовою програмування синтаксично правильне звертання до нього (до будь-якого його входу),

·- функціональну специфікацію модуля (опис функцій, виконуваних цим модулем по кожному з його входів).

Функціональна специфікація модуля будується так само, як і функціональна специфікація ПЗ.

У процесі розробки програми її модульна структура може по-різному формуватися і використовуватися для визначення порядку програмування і налагодження модулів, зазначених у цій структурі. Найчастіше використовуються два методи: метод висхідної розробки і низпадаючої розробки.

Метод висхідної розробки (знизу – вгору) полягає в наступному. Спочатку будується модульна структура програми у виді дерева. Потім по черзі програмуються модулі програми, починаючи з модулів самого нижнього рівня (листи дерева модульної структури програми), у такому порядку, щоб для кожного програмного модуля були вже запрограмовані всі модулі, до яких він може звертатися. Після того, як усі модулі програми запрограмовані, виконується їхнє почергове тестування і налагодження у такому ж (висхідному) порядку, у якому велося їхнє програмування. Такий порядок розробки програми на перший погляд здається цілком природним: кожен модуль при програмуванні виражається через уже запрограмовані безпосередньо підлеглі модулі, а при тестуванні використовує вже налагоджені модулі. Однак, сучасна технологія не рекомендує такий порядок розробки програми. По-перше, для програмування якого-небудь модуля зовсім не потрібно наявності текстів використовуваних їм модулів ( для цього досить, щоб кожен використовуваний модуль був лише описаний в мірі, яка дозволяє побудувати правильне звертання до нього), а для тестування його можливо використовувані модулі заміняти їх імітаторами (заглушками). По-друге, кожна програма в якомусь ступені підкоряється деяким внутрішнім для неї, але глобальним для її модулів принципам реалізації, припущенням, структурам даних і т.п., що визначає її концептуальну цілісність і формується в процесі її розробки. При висхідній розробці ця глобальна інформація для модулів нижніх рівнів ще не ясна в повному обсязі, тому дуже часто приходиться їх перепрограмувати, коли при програмуванні інших модулів виробляється істотне уточнення цієї глобальної інформації (наприклад, змінюється глобальна структура даних). По-третє, при висхідному тестуванні для кожного модуля (крім головного) приходиться створювати ведучу програму, яка повинна підготувати для модуля, який проходить тестування, необхідний стан інформаційного середовища і зробити необхідне звертання до нього. Це приводить до великого обсягу «відладочного» програмування й у той же час не дає ніякої гарантії, що тестування модулів виконується саме в тих умовах, у яких воно буде виконуватися в робочій програмі.

Метод низпадаючої розробки (згори – вниз) полягає в наступному. Як і в попередньому методі спочатку будується модульна структура програми у виді дерева. Потім по черзі програмуються модулі програми, починаючи з модуля самого верхнього рівня (головного), переходячи до програмування якого-небудь іншого модуля тільки в тому випадку, якщо вже запрограмований модуль, який до нього звертається. Після того, як усі модулі програми запрограмовані, виконується їхнє почергове тестування і налагодження в такому ж низпадаючому) порядку. При цьому першим тестуєтьсяя головний модуль програми. При цьому ті модулі, до яких може звертатися головний, заміняються їхніми імітаторами. Після завершення тестування і налагодження головного і будь-якого наступного модуля виробляється перехід до тестування одного з модулів, що у даний момент представлені імітаторами, якщо такі маються. Для цього імітатор обраного для тестування модуля заміняється самим цим модулем і, крім того, додаються імітатори тих модулів, до яких може звертатися обраний для тестування модуль. При такому порядку розробки програми вся необхідна глобальна інформація формується вчасно, тобто ліквідується дуже неприємне джерело прорахунків при програмуванні модулів. Деяким недоліком низпадаючої розробки, що приводить до певних ускладнень при її застосуванні, є необхідність абстрагуватися від базових можливостей використовуваної мови програмування, видумуючи абстрактні операції, що пізніше потрібно буде реалізувати за допомогою виділених у програмі модулів. Однак здатність до таких абстракцій представляється необхідною умовою розробки великих програмних засобів, тому її потрібно розвивати. Особливістю розглянутих методів висхідної і низпадаючої розробок (які називаються класичними) є вимога, щоб модульна структура програми була розроблена до початку програмування (кодування) модулів. Ця вимога знаходиться в повній відповідності з водоспадним підходом до розробки ПЗ, тому що розробка модульної структури програми і її кодування виконуються на різних етапах розробки ПЗ: перша завершує етап конструювання ПЗ, а друга - відкриває етап кодування.

4. Практичне завдання

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
438
Средний доход
с одного платного файла
Обучение Подробнее