3.3.6. Программные системы (комплексы)

4. Типы программного обеспечения

Тип ПО может быть следующим:

Разрабатывающееся вновь;

Имеющееся в готовом виде;

Программно-аппаратное (встроенное);

Автономное.

Знову розроблювальне. Таке ПЗ вступає в процес Розробки із самого початку і для нього повинні бути розглянуті усі вимоги цього процесу.

Наявне в готовому вигляді.

Готове ПЗ може використовуватися одним з наступних способів.

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

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

Модифікація готового ПЗ (наприклад, зміна формату звітів або доробка документації). У процес Розробки входить на етапі кодування і тестування ПЗ. Повинні бути оцінені працездатність, документація, права власності і подальшої підтримки ПЗ.

Вмонтоване ПЗ.

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

Автономне ПЗ. Оскільки таке ПЗ не є частиною системи, усі дії рівня системи з процесу Розробки можуть бути виключені. Необхідно розглянути потреби в документації, особливо для супроводу системи.

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

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

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

5. Общие требования к программным системам

5.1. Максимум удобств пользователя

общение на языке, близком к естественному

наглядное представление данных, возможность редактирования

быстрота ознакомления с работой, легкость осваивания

отсутствие жестких ограничений на структуру и объем исходных данных

доступность общения

возможность адаптации к требованиям пользователя

полнота и доступность программной документации

5.2. Адаптируемость ПО - приспособляемость к функционированию в различных условиях

5.3. Гибкость - возможность легко вводить изменения, дополнения и исправления в ПО

5.4. Мобильность - переносимость на различные вычислительные платформы и операционные среды

5.5. Масштабируемость, расширяемость и модифицируемость

5.6. Эффективность работы

6. Принципы построения программного обеспечения

6.1. Модульность ПО - проведение декомпозиции алгоритмов и программ на модули с целью выделения общих типовых функций и компонентов.

6.2. Интеллектуальность ПО - наличие знаний о предметной области и умение использовать их при решении задач.

6.3. Черный ящик - ПО должно скрывать от пользователей сложный механизм организации и взаимодействия программ.

6.4. Умолчание - умолчание однажды заданных параметров, если они имеют смысл в других аналогичных задачах.

7. Критические вопросы процесса разработки программного обеспечения

Качество

Людям свойственно ошибаться. Каждая ошибка, когда она найдена, является сюрпризом, исправление которого или дорого стоит, или выбивает из ритма разработки.

Если контроль качества в организации ослаблен, требуется запланировать в самом процессе разработки ряд инспекций проектной документации и инспекций кодов, разрабатывая планы качества, систему измерений, программу тестирования, т.е. более интенсивную работу по Подтверждению качества программного обеспечения (Software Quality Assurance).

Продуктивность технологии.

Очень часто при новых разработках не ясно, как разработать алгоритм, достичь целей разработки или ограничить функциональность. Поскольку позднее "латание дырок" может быть безуспешным или трудоемким, или приводит к срывам темпов разработки, разумно в процессе предусмотреть заранее эксперименты для получения нужных сведений. Последующая разработка будет развиваться более упорядоченным и эффективным образом.

Нестабильность (изменчивость) требований.

Для того, чтобы спроектировать, построить и оттестировать требуемую программу нужно, чтобы ее функции, интерфейсы и системный базис должны были стабильны. Поскольку возможны изменения во время разработки, эти изменения должны быть временно заморожены. В планируемые периоды могут быть рассмотрены пакеты изменений и, соответственно, подработана программа. Если таким путем не управлять изменениями, процесс разработки становится нестабильным.

Существуют три основных типа изменений требований.

Неизвестные требования. Пользователь думает, что он знает, чего хочет, но во время начального использования открывает для себя, что реальные потребности иные, нежели он думал. Это нормальное явление при автоматизации человеческой деятельности. С ним можно бороться или ранним прототипированием или планированием множества релизов, которые постепенно разрабатываются, используются, оцениваются и наращиваются до уровня следующего релиза.

Нестабильные требования. В то время как общие требования известны, частности продолжают "плавать". В бортовых системах, для которых hardware и software часто проектируется одновременно, изменения в hardware приводят к изменению требований к программному обеспечению. Изменение hardware, диктуемое программными изменениями, является нонсенсом, аналогичным требованиям поменять фундамент при постройке здания. Тем не менее, с данным явлением можно бороться путем предвидения нестабильностей и изоляции их.

Непонятные требования. Даже если требования известны и стабильны, разработчики часто не понимают их настолько детально, чтобы сделать удовлетворительный программный продукт. Типичным примером является пользовательский интерфейс. Здесь полезно тестирование пользователем прототипов интерфейса или ранних версий пользовательской документации.

Сложность.

Программы приложений часто легче разработать, чем системы, поскольку их платформа и окружение более стабильны. Это не означает, что разработка приложений требует меньшей квалификации. Это означает, что имеется меньше источников для одновременных изменений.

Например, во время разработки новой операционной системы все ее элементы находятся в состоянии постоянных изменений: управляющая программа, компиляторы, система управления данными и т.д., в том числе и архитектура компьютера.

Для того, чтобы достичь хотя бы какого-то результата, требуется обеспечить хотя бы промежуточную стабильность. Обычно стабильность достигается путем использования приемов модульного программирования, в частности, выделения модулей и определения интерфейсов. Далее управление изменениями позволяет для каждого модуля иметь осязаемые и стабильные требования на определенном интервале между изменениями.


Информация о работе «Виды программного обеспечения. Общие требования к программным системам»
Раздел: Информатика, программирование
Количество знаков с пробелами: 37149
Количество таблиц: 2
Количество изображений: 0

Похожие работы

Скачать
147348
16
12

... недостаточно). Возможно включение комплекса в план учебного процесса, для обучения студентов. 2. Специальная часть разработка программного обеспечения для организации интерфейса программно-методического комплекса   2.1 Разработка технического задания на реализацию специальной части дипломного проекта Наименование программного изделия - "Интерфейс программно - методического комплекса для ...

Скачать
104437
5
35

... первоначальное количество ошибок можно оценить как: Поставленная задача позволяет определить такие важные характеристики функционирования программного комплекса, как: расчет текущего времени наработки до отказа; расчет среднего времени наработки до отказа за все время моделирования работы системы; расчет вероятности отказа ПО в единицу расчёт коэффициента готовности Таким образом, наша ...

Скачать
9046
0
0

... такой структуры может значительно уменьшить трудоемкость создания и, что немаловажно, сопровождения системы и уберечь от дорогостоящих логических ошибок при создании программных модулей. Термин “типовой программный компонент” определяется как набор программных объектов, учитывающих особенности предметной области, неотделимых друг от друга в рамках выполнения определенного класса задач, имеющих ...

Скачать
6783
0
0

... процессорах, текстовых редакторах и т.д. Многие из программ с графическим интерфейсом работают под управлением системы Windows. Увеличение мощности программ. Важнейшей тенденцией развития программного обеспечения является неуклонное увеличение их мощности – программы могут обрабатывать большие количества данных, делать это быстрее, предоставляют пользователю больше выполняемых функций и т.д. ...

0 комментариев


Наверх