• непрограммистов, использующих компьютерные системы для достижения своих целей.
Гибридные системы сочетают в себе признаки системного и прикладного программного обеспечения. Как правило, это большие, но узкоспециализированные системы, предназначенные для управления технологическими процессами различных типов в режиме реального времени. Для повышения надежности и снижения времени обработки в такие системы обычно включают программы, обеспечивающие выполнение функций операционных систем.
Эксплуатационные требования к программным продуктам.
Эксплуатационные требования определяют некоторые характеристики разрабатываемого программного обеспечения, проявляемые в процессе его функционирования. К таким характеристикам относят:
• правильность — функционирование в соответствии с техническим заданием;
• универсальность — обеспечение правильной работы при любых допустимых данных и защиты от неправильных данных;
• надежность (помехозащищенность) — обеспечение полной повторяемости результатов, т. е.
Лекция. Диалоговые системы.
обеспечение их правильности при наличии различного рода сбоев;
• проверяем ость — возможность проверки получаемых результатов;
• точность результатов — обеспечение погрешности результатов не выше заданной;
• защищенность — обеспечение конфиденциальности информации;
• программная совместимость — возможность совместного функционирования с другим программным обеспечением;
• аппаратная совместимость — возможность совместного функционирования с некоторым оборудованием;
• эффективность — использование минимально возможного количества ресурсов технических средств, например, времени микропроцессора или объема оперативной памяти;
• адаптируемость — возможность быстрой модификации с целью приспособления к изменяющимся условиям функционирования;
• повторная входимость — возможность повторного выполнения без перезагрузки с диска;
• реентерабельность — возможность «параллельного» использования несколькими процессами.
Архитектура программного обеспечения.
Архитектура программного обеспечения определяется сложностью решаемых задач, степенью универсальности разрабатываемого программного обеспечения и числом пользователей, одновременно работающих с одной его копией. Различают:
• однопользовательскую архитектуру, при которой программное обеспечение рассчитано на одного пользователя, работающего за персональным компьютером;
• многопользовательскую архитектуру, которая рассчитана на работу в локальной или глобальной сети.
Кроме того, в рамках однопользовательской архитектуры различают:
Тип пользовательского интерфейса.
Пользовательский интерфейс представляет собой совокупность программных и аппаратных средств, обеспечивающих взаимодействие пользователя с компьютером. Основу такого взаимодействия составляют диалоги. Под диалогом в данном случае понимают регламентированный обмен информацией между человеком и компьютером, осуществляемый в реальном масштабе времени и направленный на совместное решение конкретной задачи: обмен информацией и координация действий [35]. Каждый диалог состоит из отдельных процессов ввода-вывода, которые физически обеспечивают связь пользователя и компьютера.
КазУТБ-Семестр2-ИТ-Пакеты прикладных программ (Matlab, MathCad, Statistica)-лекция5-рус
Обмен информацией осуществляется передачей сообщений и управляющих сигналов.
Сообщение — порция информации, участвующая в диалоговом обмене. Различают:
• входные сообщения, которые генерируются человеком с помощью средств ввода:
клавиатуры, манипуляторов, например мыши и т. п.;
• выходные сообщения, которые генерируются компьютером в виде текстов, звуковых сигналов и/или изображений и выводятся пользователю на экран монитора или другие устройства вывода информации.
Тестирование программного обеспечения.
Тестирование — очень важный и трудоемкий этап процесса разработки программного обеспечения, так как правильное тестирование позволяет выявить подавляющее большинство ошибок, допущенных при составлении программ.
Процесс разработки программного обеспечения предполагает три стадии тестирования: автономное, комплексное и системное, каждая из которых соответствует завершению соответствующей части Системы.
Различают два подхода к формированию тестов: структурный и функциональный. Каждый из указанных подходов имеет свои особенности и области применения.
Процесс разработки программного обеспечения, в том виде, как он определяется в современной модели жизненного цикла программного обеспечения, предполагает три стадии тестирования:
• автономное тестирование компонентов программного обеспечения;
• комплексное тестирование разрабатываемого программного обеспечения;
• системное или оценочное тестирование на соответствие основным критериям качества.
Для повышения качества тестирования рекомендуется соблюдать следующие основные принципы:
• предполагаемые результаты должны быть известны до тестирования;
• следует избегать тестирования программы автором;
• необходимо досконально изучать результаты каждого теста;
• необходимо проверять действия программы на неверных данных;
• необходимо проверять программу на неожиданные побочные эффекты на неверных данных.
Дата добавления: 2018-05-13 ; просмотров: 460 ; Мы поможем в написании вашей работы!
Источник: studopedia.net
Лекция № 7. Определение требований к программному обеспечению и исходных данных для его проектирования
Содержание лекции: классификация программных продуктов по функциональному признаку; основные эксплуатационные требования к ним; разработка технического задания.
Цель лекции: получить представление о классификации программных продуктов и эксплуатационных требованиях к ним; ознакомиться с процессом разработки технического задания.
Каждый программный продукт предназначен для выполнения определенных функций. По назначению все программные продукты можно разделить на три группы [4]: системные, прикладные и гибридные (рисунок Г.1).
К системным относят программные продукты, обеспечивающие функционирование вычислительных систем (операционные системы, оболочки, утилиты).
Прикладные программы и системы ориентированы на решение конкретных пользовательских задач. Среди их пользователей различают разработчиков программ и непрограммистов, использующих компьютерные системы для достижения своих целей.
Разработчики программ используют специальные инструментальные средства (компиляторы, компоновщики, отладчики), которые интегрируют в системы программирования и среды разработки. Современные среды программирования (Delphi, Visual C++) реализуют визуальную технологию разработки программных продуктов и предоставляют программистам огромные библиотеки компонентов. К этой же группе относят инструментальные комплексы создания баз данных (Access, FoxPro, Oracle), средства создания интеллектуальных систем (экспертных, обучающих, систем контроля знаний). Последнее достижение в этом направлении — CASE-средства разработки программного обеспечения (ERwin, BPwin, Paradigm Plus, Rational Rose и другие).
В соответствии с современными требованиями непрограммисты не должны быть профессионалами в проблемах создания программных продуктов и специфике их взаимодействия с операционной системой. Для них разрабатывают специальные программные продукты, ориентированные на определенную предметную область. Такие продукты условно разделяют на:
а) продукты общего назначения:
1) текстовые редакторы;
2) электронные таблицы;
3) графические редакторы;
4) информационные системы общего назначения;
б) профессиональные среды:
1) системы автоматизации проектирования;
3) бухгалтерские системы;
4) издательские системы;
5) профессиональные графические системы;
6) экспертные системы;
в) обучающие системы;
г) развлекающие программы:
1) информационные системы с тестами развлекающего характера;
2) музыкальные программы;
3) игровые программы.
Гибридные системы – это большие, узкоспециализированные системы для управления технологическими процессами различных типов в режиме реального времени, сочетающие признаки системного и прикладного ПО. Для повышения надежности и снижения времени обработки в них включают программы, обеспечивающие выполнение функций операционных систем.
К каждому из перечисленных типов программного обеспечения при разработке обычно предъявляют еще и эксплуатационные требования, определяющие некоторые характеристики разрабатываемого программного продукта, которые проявятся в процессе его функционирования. К таким характеристикам относят:
а) правильность — функционирование в соответствии с техническим заданием;
б) универсальность — обеспечение правильной работы при любых допустимых данных и защиты от неправильных данных;
в) надежность (помехозащищенность) — обеспечение полной повторяемости результатов (правильности при наличии различного рода сбоев);
г) проверяемость — возможность проверки получаемых результатов;
д) точность — обеспечение погрешности результатов не выше заданной;
е) защищенность — обеспечение конфиденциальности информации;
ж) программная совместимость — возможность совместного функционирования с другим программным обеспечением;
з) аппаратная совместимость — возможность совместного функциони-рования с некоторым оборудованием (указывается минимально возможная конфигурация оборудования, на котором будет работать ПО);
и) эффективность — использование минимально возможного количества ресурсов технических средств (время ответа системы, объем оперативной и внешней памяти, количество обслуживаемых внешних устройств);
к) адаптируемость — возможность быстрой модификации с целью приспособления к изменяющимся условиям функционирования;
л) повторная входимость — возможность повторного выполнения без перезагрузки с диска;
м) реентерабельность — возможность «параллельного» использования несколькими процессами (все данные, изменяемые программой в процессе выполнения, должны быть выделены в специальный блок, копия которого создается для каждого процесса при вызове программы).
Сложность многих программных систем не позволяет сразу сформулировать четкие требования к ним. Обычно для перехода от идеи создания программного обеспечения к четкой формулировке требований, которые могут быть занесены в техническое задание, необходимо выполнить предпроектные исследования в области разработки. Их целью является преобразование общих нечетких знаний о предназначении будущего программного обеспечения в сравнительно точные требования к нему. Существуют два варианта неопределенности:
а) неизвестны методы решения формулируемой задачи — такого типа неопределенности обычно возникают при решении научно-технических задач, поэтому во время предпроектных исследований определяют возможность решения поставленной задачи и методы, позволяющие получить требуемый результат, что может потребовать соответствующих научных исследований как фундаментального, так и прикладного характера, разработки и исследования новых моделей объектов реального мира;
б) неизвестна структура автоматизируемых информационных процессов — обычно встречается при построении автоматизированных систем управления предприятиями, поэтому в этом случае определяют:
1) структуру и взаимосвязи информационных процессов;
2) распределение функций между человеком и системой, аппаратурой и программным обеспечением;
3) функции программного обеспечения, условия его функционирования, особенности аппаратных и пользовательских интерфейсов;
4) требования к программным и информационным компонентам, необходимые аппаратные ресурсы, требования к базам данных и физические характеристики программных компонент.
Результаты предпроектных исследований предметной области используются в процессе разработки технического задания. Техническое задание представляет собой документ, в котором сформулированы основные цели разработки, требования к программному продукту, определены сроки и этапы разработки и регламентирован процесс приемно-сдаточных испытаний. В разработке технического задания участвуют как представители заказчика, так и представители исполнителя. В основе этого документа лежат исходные требования заказчика, анализ передовых достижений техники, результаты выполнения научно-исследовательских работ, предпроектных исследований, научного прогнозирования и т. п. Основными факторами, определяющими характеристики разрабатываемого ПО являются:
а) исходные данные и требуемые результаты, определяющие функции программы или системы;
б) среда функционирования (программная и аппаратная) — задается или выбирается для обеспечения параметров, указанных в техническом задании;
в) возможное взаимодействие с другим программным обеспечением и/или специальными техническими средствами — задается или выбирается исходя из набора выполняемых функций.
Разработка технического задания — процесс трудоемкий, требующий определенных навыков, выполняется в следующей последовательности. Прежде всего, устанавливают набор выполняемых функций, а также перечень и характеристики исходных данных. Затем определяют перечень результатов, их характеристики и способы представления. Далее уточняют среду функционирования ПО: конкретную комплектацию и параметры технических средств, версию используемой операционной системы, версии и параметры другого установленного ПО, с которым предстоит взаимодействовать будущему программному продукту. В случаях, когда разрабатываемое ПО собирает и хранит некоторую информацию или включается в управление каким-либо техническим процессом, необходимо также четко регламентировать действия программы в случае сбоев оборудования и энергоснабжения.
На техническое задание существует стандарт ГОСТ 19.201-78 «Техническое задание. Требования к содержанию и оформлению». В соответствии с этим стандартом техническое задание должно содержать следующие разделы:
б) основания для разработки;
в) назначение разработки;
г) требования к программе или программному изделию;
д) требования к программной документации;
е) технико-экономические показатели;
ж) стадии и этапы разработки;
з) порядок контроля и приемки.
Дополнительную информацию по теме можно получить в [1, 4, 9, 18].
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru
18,Классификация программных продуктов по функциональному признаку
Каждый программный продукт предназначен для выполнения определенных функций. По назначению все программные продукты можно разделить на три группы: системные, прикладные и гибридные (рис. 3.1).
К системным обычно относят программные продукты, обеспечивающие функционирование вычислительных систем (как отдельных компьютеров, так и сетей). Это — операционные системы, оболочки и другие служебные программы (утилиты).
Операционные системы, как правило, управляют ресурсами (процессором и памятью), процессами (задачами и потоками) и устройствами. Сложность организации операционных систем обуславливается степенью автоматизации и достигаемой эффективности процессов управления. Так мультипрограммные операционные системы существенно сложнее однопрограммных, что хорошо видно на примере MS DOS и WINDOWS.
Оболочки (например, NORTON COMMANDER) в свое время появились для организации более удобного интерфейса пользователя с файловой системой MS DOS. Современные оболочки, такие, как FAR, используют для обеспечения пользователю привычной среды при работе с файловой системой.
К утилитам принято относить программы и системы, непосредственно не входящие в состав операционной системы, но обеспечивающие выполнение определенных функций, таких как архивация файлов, проверка компьютера на заражение вирусами, осуществление удаленного доступа к информации и др.
Прикладные программы и системы ориентированы на решение конкретных пользовательских задач.
• разработчиков программ;
• непрограммистов, использующих компьютерные системы для достижения своих целей.
Разработчики программ используют специальные инструментальные средства, такие как компиляторы, компоновщики, отладчики, которые последнее время обычно интегрируют в системы программирования и среды разработки. Современные среды программирования, например, Delphi, Visual C++, реализуют визуальную технологию разработки программных продуктов и предоставляют программистам огромные библиотеки компонентов, которые можно включать в свою разработку. К этой же группе относят инструментальные комплексы создания баз данных, такие как Access, FoxPro, Oracle, средства создания интеллектуальных систем, например, экспертных, обучающих, систем контроля знаний и т. д. Последнее достижение в этом направлении — CASE-средства разработки программного обеспечения, такие как ERwin, BPwin, Paradigm Plus, Rational Rose и др.
Пользователи-непрограммисты в соответствии с современными требованиями не должны быть профессионалами в проблемах создания программных продуктов и специфике их взаимодействия с операционной системой. Для них разрабатывают специальные программные продукты, ориентированные на определенную предметную область. Такие продукты условно можно разделить на продукты общего назначения, профессиональные среды или пакеты, обучающие системы, развлекающие программы и т. д.
Продукты общего назначения используют разные группы пользователей. К ним можно отнести текстовые редакторы, например, WinWord, электронные таблицы типа Excel, графические редакторы, информационные системы общего назначения, например, карта Москвы, программы-переводчики, и т. п.
Профессиональные продукты предназначены для специалистов в различных областях, например, к ним можно отнести:
• системы автоматизации проектирования, ориентированные на различные технические области;
• системы-тренажеры, например, тренажер для отработки действий пилотов в аварийной ситуации;
• бухгалтерские системы, например, 1С;
• издательские системы, например, PageMaker, QuarkXpress;
• профессиональные графические системы, например, Adobe Illustrator, PhotoShop, CorelDraw и т. п.;
• экспертные системы и т. д.
Системы автоматизации производственных процессов отличаются от профессиональных тем, что они ориентированы на пользователей разных профессий, связанных единым производственным процессом.
Обучающие программы и системы в соответствии со своим названием предназначены для обучения, например, иностранным языкам, правилам дорожного движения и т. п.
К развлекающим относят игровые программы, музыкальные программы, опять же информационные системы, но с тестами развлекающего характера, например гороскопы и т. п.
Гибридные системы сочетают в себе признаки системного и прикладного программного обеспечения. Как правило, это большие, но узкоспециализированные системы, предназначенные для управления технологическими процессами различных типов в режиме реального времени. Для повышения надежности и снижения времени обработки в такие системы обычно включают программы, обеспечивающие выполнение функций операционных систем.
К каждому из перечисленных выше типов программного обеспечения при разработке, помимо функциональных, обычно предъявляют еще и определенные эксплуатационные требования.
Источник: studfile.net