- •ВВЕДЕНИЕ
- •1. ОБЩИЕ СВЕДЕНИЯ ОБ ИНФОРМАТИКЕ
- •1.1. Информатика как наука
- •1.2 Определения информации
- •1.3. Виды информации
- •1.4. Структура информации
- •1.5. Требования, предъявляемые к социальной информации
- •Контрольные вопросы и задания:
- •2. ИСТОРИЯ РАЗВИТИЯ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
- •2.1. Ручной период вычислений или период абака
- •2.2. Механический период
- •2.3. Электромеханический период
- •2.4. Электронный период
- •Контрольные вопросы и задания
- •3. ПОКОЛЕНИЯ ЭВМ
- •Контрольные вопросы и задания:
- •4. СФЕРЫ ИСПОЛЬЗОВАНИЯ ЭВМ
- •Контрольные вопросы и задания
- •5. ПРИНЦИПЫ ПОСТРОЕНИЯ ЭВМ. СТРУКТУРА ЭВМ, НАЗНАЧЕНИЕ ОСНОВНЫХ БЛОКОВ
- •Контрольные вопросы и задания:
- •6. ПЕРСОНАЛЬНЫЕ КОМПЬЮТЕРЫ
- •Контрольные вопросы и задания:
- •7. ДВОИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ
- •Контрольные вопросы и задания:
- •8. ПАМЯТЬ, ЕЕ ХАРАКТЕРИСТИКИ
- •8.1. Определения. Единицы емкости памяти
- •8.2. Принципы устройства памяти
- •Рис. 8.1. Взаимодействие процессора с памятью
- •8.3. Виды памяти.
- •Рис. 8.2 Структурная схема памяти персонального компьютера
- •8.4. Внешние запоминающие устройства
- •Контрольные вопросы и задания:
- •9. ЯЗЫКИ ПРОГРАММИРОВАНИЯ СОВРЕМЕННЫХ ЭВМ. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММ
- •9.1. Понятие программы
- •9.2. Машинный язык и языки программирования высокого уровня
- •9.3. Компиляторы и интерпретаторы языков программирования
- •9.4. Лингвистическое обеспечение современных ЭВМ.
- •9.5. Этапы разработки программ для ЭВМ
- •Контрольные вопросы и задания:
- •10. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СОВРЕМЕННЫХ ЭВМ
- •10.1. Роль программного обеспечения
- •10.2. Понятие об операционной системе
- •10.3. Основные задачи, решаемые ОС ПЭВМ
- •10.4. Современные операционные системы
- •10.5. Понятие интерфейса ОС
- •10.6. Классификация операционных систем. Современные операционные системы
- •10.7. Оболочки операционных систем
- •10.8. Прикладное программное обеспечение
- •10.8.1.Текстовые редакторы
- •10.8.2. Табличные процессоры
- •10.8.3. Базы данных и СУБД
- •Контрольные вопросы и задания:
- •11. АЛГОРИТМЫ
- •11.1. Понятие алгоритма
- •11.2. Свойства и состав алгоритмов
- •11.3. Способы записи алгоритмов. Блок-схемы
- •11.4. Базовые структуры алгоритмов: следование, ветвление, цикл
- •Контрольные вопросы и задания:
- •12. ИНФОРМАЦИОННЫЕ СИСТЕМЫ. ОСНОВНЫЕ ПОНЯТИЯ И КЛАССИФИКАЦИЯ
- •12.1. Классификация информационных систем
- •12.1.1. Классификация по масштабу
- •12.1.2. .Классификация по целям.
- •12.1.3. Классификация по способу организации
- •12.2. Архитектуры информационных систем
- •Контрольные вопросы и задания:
- •13. ПОНЯТИЕ ПРОГРАММНОГО ПРОДУКТА. КАЧЕСТВО И ЖИЗНЕННЫЙ ЦИКЛ ПРОГРАММНОГО ПРОДУКТА
- •13.1. Программный продукт. Особенности разработки программного обеспечения
- •13.2. Качество программных продуктов
- •13.3. Показатели эффективности разработки программного обеспечения
- •13.4.1.Основные этапы жизненного цикла ПО
- •13.4.2. Структура жизненного цикла ПО
- •13.4.3. Модели жизненного цикла ПО
- •Рис. 13.1. Каскадная схема разработки ПО
- •Рис. 13.2. Реальный процесс разработки ПО по каскадной схеме
- •Рис 13.3. Спиральная модель ЖЦ
- •Контрольные вопросы и задания:
- •14. МЕТОДОЛОГИЯ И ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
- •Рис14.1. Представление технологической операции проектирования
- •14.1. Методологии и инструменты проектирования
- •14.2. Методы и средства структурного анализа и проектирования
- •14.3. Диаграммы потоков данных
- •14.3.1. Основные символы
- •14.3.2. Контекстная диаграмма и детализация процессов
- •14.3.3.Спецификация процесса (описание операций)
- •14.3.4. Диаграммы сущность связь
- •14.4. Методология RAD
- •Контрольные вопросы и задания:
- •15. ТЕСТИРОВАНИЕ И ОТЛАДКА ПРОГРАММ
- •15.1.Понятие тестирования и отладки программ
- •15.2. Классификация ошибок, способы их выявления и устранения
- •Контрольные вопросы и задания:
- •16. ПЕРЕДАЧА ИНФОРМАЦИИ. КОМПЬЮТЕРНЫЕ СЕТИ ОСНОВНЫЕ ПОНЯТИЯ
- •16.1. Формы передачи информации на большие расстояния
- •16.2. Передача информации между компьютерами
- •16.3. Компьютерные сети
- •16.4. Классификация сетей
- •16.5. Локальные сети. Общие понятия
- •16.6. Глобальная сеть Internet. Общие понятия
- •Рис 16.2. Иерархическая структура Internet
- •Контрольные вопросы и задания:
- •17. ОСНОВЫ ЗАЩИТЫ ИНФОРМАЦИИ
- •17.1. Способы несанкционированного доступа к компьютерной информации
- •17.2. Компьютерные вирусы и защита от них
- •17.2.1. Способы проявления компьютерных вирусов
- •17.2.2. Защита от поражения компьютерными вирусами
- •17.3. Нормативно правовая база защиты информации
- •Контрольные вопросы и задания:
- •18. СОВРЕМЕННАЯ ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА (АНАЛОГОВАЯ И ДИСКРЕТНАЯ)
- •18.1. Аналоговая вычислительная техника
- •18.2. Основные характеристики АВМ
- •18.3. Гибридная вычислительная техника
- •18.4. Сравнительные характеристики аналоговой и дискретной техники
- •Контрольные вопросы и задания:
- •БИБЛИОГРАФИЯ
- •ОГЛАВЛЕНИЕ
82
13. ПОНЯТИЕ ПРОГРАММНОГО ПРОДУКТА. КАЧЕСТВО И ЖИЗНЕННЫЙ ЦИКЛ ПРОГРАММНОГО ПРОДУКТА
13.1. Программный продукт. Особенности разработки программного обеспечения
В настоящее время программирование или использование готовых программ перестало быть уделом избранных. Миллиарды людей земного шара используют в своей деятельности электронную технику, снабженную программными средствами, разработанными неизвестными им программистами, и большинство из этих людей ничего не знают о программировании и его тонкостях, они просто знают, что если подать устройству такую-то команду, то последует ожидаемый ими результат, то есть, мы привыкли доверять разработчикам программ. Мы также, не обращаемся всякий раз непосредственно к разработчику, если нам нужна какая-либо консультация по использованию программы, а обращаемся к сопроводительным документам. Сами программы мы покупаем в магазинах на магнитных носителях, а предприятия, нуждающиеся в каком-либо особом программном обеспечении, заказывает его у компьютерных фирмразработчиков. Таким образом, в конце ХХ века сформировалось новое экономическое понятие − программный продукт. Этот продукт является результатом нового вида современного промышленного производства.
Программный продукт включает в себя программу, ее текст, представленный на магнитном носителе (дисках или лентах) и сопровождающую ее документацию. Программный продукт регистрируется в фондах алгоритмов и программ, в функции которых входит размножение копий программ и документации к ним для пользователей и охрана интеллектуальной собственности.
Разработка программного обеспечения для информационных систем в настоящее время все больше приближается к промышленному производству со своими технологиями, стандартами, системами управления и другими признаками индустриальной отрасли. На этом пути приходится преодолевать разнообразные трудности, присущие как всем отраслям, так и специфические, связанные только с разработкой ПО. Это обусловлено тем, что процесс разработки сложного программного обеспечения
∙является относительно новой областью знаний,
∙носит эволюционный и экспериментальный характер,
∙ сильно подвержен влиянию |
квалификации и индивидуальных |
особенностей исполнителей, |
|
∙не имеет полных моделей,
∙обладает кажущейся легкостью внесения изменений,
∙требует основательного изучения особенностей предметной области и, как правило, результат является уникальным.
Эти свойства являются причинами
83
∙незавершенности многих программных проектов,
∙значительного превышения бюджета и задержки сроков,
∙плохой управляемости проектов,
∙отсутствия гарантированного качества ПО.
Мировая практика показывает, что залогом успешного преодоления этих трудностей является использование при разработке ПО мировых технологий и стандартов. Ведь любой стандарт, в первую очередь, это результат обобщения многолетнего опыта десятков преуспевающих в своей области компаний..
Таблица 13.1
Характеристики качества программного обеспечения
Качество |
|
Удовлетворение |
|
реализации |
|
потребностей |
|
программного |
|
пользователя |
|
обеспечения |
Потребительские |
Легкость использования |
|
|
характеристики ПО |
Реализация |
|
|
|
потенциальных |
|
|
|
способностей |
|
|
|
пользователя |
|
|
|
|
Структурность |
|
|
Адаптируемость |
Понятность |
|
|
|
Независимость |
|
Программотехника |
Правильность |
|
|
ПО |
|
Полнота |
|
|
Специфицируемость |
Непротиворичивость |
|
|
Осуществимость |
|
|
|
|
|
|
|
|
Проверяемость |
Эффективность |
|
Планируемость |
|
процесса |
|
Организованность |
|
разработки |
Организация работ |
Укомплектованность |
|
программного |
|
Контролируемость |
|
обеспечения |
|
Автоматизируемость |
|
|
|
Осуществимость |
|
|
|
Полнота и |
|
|
|
непротиворичивость |
|
|
|
Проектируемость |
|
|
|
Программируемость |
|
|
Программотехника |
Комплексируемость |
|
|
процесса разработки |
Внедряемость |
|
|
|
|
|
|
|
Управляемость |
|
|
|
конфигурацией |
|
|
|
Сопровождаемость |
|
|
|
Снимаемость |
|
|
|
|
|
|
|
Анализируемость затрат |
|
|
Управление ресурсами |
Планируемость и |
|
|
разработки |
оцениваемость |
|
|
|
Контролируемость |
|
|
|
рессурсов |
|
84
Область стандартизации разработки ПО постоянно развивается: наряду со стандартами ISO 9000, ISO 12207, появляются новые, учитывающие современный опыт
Цели процесса разработки ПО представлены в таблице 13.1. и подразделяются на обеспечение качества собственно программного обеспечения и обеспечение качества и эффективности процесса разработки, причем, первое невозможно без второго.
13.2. Качество программных продуктов
Разработка качественного программного обеспечения это многоэтапный процесс проектирования и программирования.
На первом этапе создания программного продукта специфицируются (или определяются) основные системные требования к проекту исходя из его целей, назначения и предметной области на которую они ориентируются – это
спецификация системных требований.
На втором этапе детализируют требования к программной части проекта – это спецификация требований к программному продукту.
Третий этап – программная реализация проекта или программирование.
Четвертый этап – это отладка и тестирование программ.
Пятый этап – это апробация или опытная эксплуатация
программного обеспечения. На этом этапе, разработанное программного обеспечение проверяется в условиях близких к реальным для того, чтобы по возможности оптимизировать основные характеристики созданной системы, повысить логический уровень интерфейса с пользователем, уточнить сопровождающую документацию и т. п.
Последний – шестой этап – это промышленная эксплуатация
программного обеспечения.
В настоящее время, в отличие от недавнего прошлого, повысилось требование к качеству сопровождающей программное обеспечение документации. Из-за ее плохого качества, многие отечественные разработки были вытеснены с рынка программных средств зарубежными, зачастую не лучшими аналогами.
Кроме того, массовое использование персональных компьютеров предполагает привлечение большого числа непрофессионалов, которые должны иметь точную и исчерпывающую информацию о приобретенном ими пакете прикладных программ или о компьютере. Такая документация должна содержать системные, по применению, обучающие и справочные руководства.
Системные руководства – разъясняют взаимодействие данного программного средства с операционной средой, включая его инсталляцию в конкретных условиях эксплуатации и его системные характеристики. Смысл остальных типов документации понятен из их названия.
Надежность программного продукта определяется устойчивостью его функционирования в реальных условиях эксплуатации (т.е. при возможности
85
возникновения особых или аварийных ситуаций в системе, ошибках оператора, ошибках в данных).
Основными требованиями, предъявляемыми к качеству программного продукта являются,
∙Легкость использования – разработка документации, средств управления, структур и форматов входных и выходных данных, в результате чего ПИ становится удобным, естественным, гибким и простым для пользователя.
∙Удовлетворение потребностей пользователя – учет требований
пользователя, относящихся к функциональности создаваемого ПО.
∙ Реализация потенциальных способностей пользователя –
обеспечение творческого характера труда и возможность получения дополнительных результатов пользователями, эксплуатирующими ПО.
∙Ресурсная эффективность – ПО должно выполнять свои функции без лишних затрат ресурсов (машинное время, оперативная память, пропускная способность канала передачи данных и т.п.).
∙Измеряемость – означает, что ПО можно оснастить контрольно-
измерительными средствами и замерить его характеристики для определения узких мест и неэффективности.
∙ Программотехника – до начала совместной работы должны быть специфицированы функциональные, технические и интерфейсные требования к ПО.
∙ Специфицированность. |
Основными |
характеристиками |
специфицированности являются: |
|
|
1.Полнота спецификаций. Любая часть спецификации должна быть тщательно проработана;
2.Непротиворечивость спецификаций. Спецификация непротиворечива,
если ее положения не противоречат друг другу и другим главным спецификациям или целям.
3.Осуществимость спецификаций. Спецификация осуществима, если в течении всего жизненного цикла специфицированной системы прибыль превосходит затраты на ее разработку.
4.Проверяемость спецификаций. Спецификация проверяема, если
разработанное ПО может быть подвергнуто проверке на соответствие положениям данной спецификации.
∙Правильность. ПО должно строго соответствовать всем функциям и интерфейсным спецификациям, а также удовлетворять в пределах допусков всем спецификациям технических характеристик.
∙Адаптируемость. ПО или его компонента могут быть легко
использованы или приспособлены для выполнения новых функций. Включает в себя следующие элементы:
1. Структурность. Подразумевает соблюдение принципов абстракции, модульности и минимального числа компонентов;