Файл: Программа, комплекс программ, программное средство, программное обеспечение, программный продукт. Концепция программного изделия непосредственная производительная сила,.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.11.2023
Просмотров: 313
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Определение метода и технологии
Метод проектирования ПО представляет собой организованную совокупность процессов создания ряда моделей, которые описывают различные аспекты разрабатываемой системы с использованием четко определенной нотации. На более формальном уровне метод определяется как совокупность составляющих:
· Концепций и теоретических основ. В качестве таких основ могут выступать структурный или объектно-ориентированный подход.
· Нотаций, используемых для построения моделей статической структуры и динамики поведения проектируемой системы. В качестве таких нотаций обычно используются графические диаграммы, поскольку они наиболее наглядны и просты в восприятии (диаграммы потоков данных, и диаграммы «сущность – связь» для структурного подхода, диаграммы вариантов использования, диаграммы классов и др. – для объектно-ориентированного подхода.
· Процедур, определяющих практическое применение метода (последовательность и правила построения моделей, критерии, используемые для оценки результатов).
Методы реализуются через конкретные технологии и поддерживающие их методики, стандарты и инструментальные средства, которые обеспечивают выполнение процессов ЖЦ ПО.
Технология проектированияопределяется как совокупность технологических операций проектирования в их последовательности и взаимосвязи, приводящая к разработке проекта ПО.
Требования к технологии
Современная технология проектирования должна обеспечивать:
1. Соответствие стандарту ISO/IEC 12207: 1995 (поддержка всех процессов ЖЦ ПО).
2. Гарантированное достижение целей разработки ЭИС в рамках установленного бюджета, с заданным качеством и в установленное время.
3. Возможность декомпозиции проекта на составные части, разрабатываемые группами исполнителей ограниченной численности (3-7 чел.), с последующей интеграцией составных частей.
4. Минимальное время получения работоспособного ПО ЭИС. Речь идет не о сроках готовности всей ЭИС, а о сроках реализации отдельных подсистем. Практика показывает, что даже при наличии полностью завершенного проекта внедрение ЭИС идет последовательно по отдельным подсистемам.
5. Независимость получаемых проектных решений от средств реализации ЭИС (СУБД, ОС, языков и систем программирования).
6. Поддержка комплексом согласованных CASE – средств, обеспечивающих автоматизацию процессов, выполняемых на всех стадиях ЖЦ ПО.
Реальное применение любой технологии проектирования ПО ЭИС в конкретной организации и конкретном проекте невозможно без выработки ряда стандартов (правил, соглашений), которые должны соблюдаться всеми участниками проекта. К таким стандартам относятся:
1. Стандарт проектирования.
2. Стандарт оформления проектной документации.
3. Стандарт интерфейса конечного пользователя с системой.
Стандарт проектирования должен устанавливать:
· Набор необходимых моделей (диаграмм) на каждой стадии проектирования и степень их детализации.
· Правила фиксации проектных решений на диаграммах, в том числе правила именования объектов (включая соглашения по терминологии), набор атрибутов для всех объектов и правила их заполнения на каждой стадии, правила оформления диаграмм (включая требования к форме и размерам объектов) и т.д.
· Требования к конфигурации рабочих мест разработчиков, включая настройки ОС, настройки CASE – средств и т.д.
· Механизм обеспечения совместной работы над проектом, в том числе правила интеграции подсистем проекта, правила поддержания проекта в одинаковом для всех разработчиков состоянии (регламент обмена проектной информацией, механизм фиксации общих объектов и т.д.), правила анализа проектных решений на непротиворечивость и т.д.
Стандарт оформления проектной документации. Он должен устанавливать:
· комплектность, состав и структуру документации на каждой стадии проектирования (в соответствии со стандартом ГОСТ Р ИСО 9127 – 94 «Системы обработки информации. Документация пользователя и информация на упаковке потребительских программных пакетов»);
· требования к оформлению документации (включая требования к содержанию разделов, подразделов, пунктов, таблиц и т.д.);
· правила подготовки, рассмотрения, согласования и утверждения документации с указанием предельных сроков на каждой стадии;
· требования к настройке издательской системы, используемой в качестве встроенного средства подготовки документации;
· требования к настройке CASE – средств для обеспечения подготовки документации в соответствии с установленными правилами.
Стандарт интерфейса конечного пользователя с системой. Он должен регламентировать:
· Правила оформления экранов (шрифты и цветовая палитра), состав и расположение окон и элементов управления.
· Правила использования клавиатуры и мыши.
· Правила оформления текстов помощи.
· Перечень стандартных сообщений.
· Правила обработки реакций пользователя.
Стандарт пользовательского интерфейса для диалоговых информационных технологий фирмы IBM с некоторыми пояснениями приведен в приложении 1 данной работы.
-
Эффективность технологии проектирования программного обеспечения: критерии оценки технологии проектирования – функциональные, конструктивные, основные затраты в жизненном цикле, распределение затрат на разработку, длительность разработки программного обеспечения.
Традиционно эффективными считают программы, требующие минимального времени
выполнения и/или минимального объема оперативной памяти. Особые требования к эффективности ПО предъявляют при наличии ограничений (на время реакции системы, на объем оперативной памяти и т. п.). В случаях, когда обеспечение эффективности не требует серьезных временных и трудовых затрат, а также не приводит к существенному ухудшению технологических свойств, необходимо это требование иметь в виду.
Разумный подход к обеспечению эффективности разрабатываемого ПО состоит в том, чтобы в первую очередь оптимизировать те фрагменты программы, которые существенно влияют на характеристики эффективности. Для уменьшения времени выполнения некоторой программы в первую очередь следует проанализировать циклические фрагменты с большим количеством повторений: экономия времени выполнения одной итерации цикла будет умножена на количество итераций.
Не следует забывать и о том, что многие способы снижения временных затрат приводят к
увеличению емкостных и, наоборот, уменьшение объема памяти может потребовать
дополнительного времени на обработку. И тем более не следует «платить» за увеличение эффективности снижением технологичности разрабатываемого программного обеспечения. Исключения возможны лишь при очень жестких требованиях и наличии соответствующего контроля за качеством. Частично проблему эффективности программ решают за программиста компиляторы.
Средства оптимизации, используемые компиляторами, делят на две группы:
• машинно-зависимые, т. е. ориентированные на конкретный машинный язык, выполняют
оптимизацию кодов на уровне машинных команд, например, исключение лишних пересылок,
использование более эффективных команд и т. п.;
• машинно-независимые выполняют оптимизацию на уровне входного языка, например,
вынесение вычислений константных (независящих от индекса цикла) выражений из циклов и т. п.
Естественно, нельзя вмешаться в работу компилятора, но существует много возможностей
оптимизации программы на уровне команд.
Способы экономии памяти. Принятие мер по экономии памяти предполагает, что в каких-то случаях эта память неэкономно использовалась. Учитывая, что анализировать имеет смысл только операции размещения данных, существенно влияющие на характеристику эффективности, следует обращать особое внимание на выделение памяти под данные структурных типов (массивов, записей, объектов и т. п.). Прежде всего при наличии ограничений на использование памяти следует выбирать алгоритмы обработки, не требующие дублирования исходных данных структурных типов в процессе обработки. Примером могут служить алгоритмы сортировки массивов, выполняющие операцию в заданном массиве, например, хорошо известная сортировка методом «пузырька». Если в программе необходимы большие массивы, используемые ограниченное время, то их можно размещать в динамической памяти и удалять при завершении обработки. Также следует помнить, что при передаче структурных данных в подпрограмму «по значению» копии этих данных размещаются в стеке. Избежать копирования иногда удается, если
передавать данные «по ссылке», но как неизменяемые (описанные const). В последнем случае в
стеке размещается только адрес данных.
Способы уменьшения времени выполнения. Для уменьшения времени выполнения в первую очередь необходимо анализировать циклические участки программы с большим количеством повторений. При их написании необходимо по возможности:
• выносить вычисление константных, т. е. не зависящих от параметров цикла, выражений из
циклов;
• избегать «длинных» операций умножения и деления, заменяя их сложением, вычитанием и
сдвигами;
• минимизировать преобразования типов в выражениях;
• оптимизировать запись условных выражений - исключать лишние проверки;
• исключать многократные обращения к элементам массивов по индексам (особенно многомерных, так как при вычислении адреса элемента используются операции умножения на
значение индексов) - первый раз прочитав из памяти элемент массива, следует запомнить его в
скалярной переменной и использовать в нужных местах;
• избегать использования различных типов в выражении и т. п.
-
Оценка качества процессов создания программного обеспечения: международные стандарты серии ISO 9000, CMM, SPICE.
На настоящий момент существует несколько стандартов, связанных с оценкой качества процессов создания ПО, которое обеспечивает организация-разработчик. К наиболее известным относят:
• международные стандарты серии ISO 9000 (ISO 9000 - ISO 9004);
• СММ - Capability Maturity Model - модель зрелости (совершенствования) процессов создания
программного обеспечения, предложенная SEI (Software Engineering Institute - институт
программирования при университете Карнеги-Меллон);
• рабочая версия международного стандарта ISO/IEC 15504: эта версия более известна под названием SPICE - (определение возможностей и улучшение процесса создания программного обеспечения).
Серия стандартов ISO 9000. В серии ISO 9000 сформулированы необходимые условия для
достижения некоторого минимального уровня организации процесса, но не дает ни каких
рекомендаций по дальнейшему совершенствованию процессов.
СММ. Представляет собой совокупность критериев оценки зрелости организации-разработчика и рецептов улучшения существующих процессов. Изначально СММ разрабатывалась и развивалась как методика, позволяющая крупным правительственным организациям США выбирать наилучших поставщиков программного обеспечения.
СММ определяет пять уровней зрелости организаций-разработчиков, причем каждый
следующий уровень включает в себя все ключевые характеристики предыдущих.
1. Начальный уровень- описан в стандарте в качестве основы для сравнения со
следующими уровнями. На предприятии такого уровня организации не существует стабильных
условий для создания качественного ПО. Результат любого проекта целиком и полностью зависит от личных качеств менеджера и опыта программистов, причем успех в одном проекте может быть повторен только в случае назначения тех же менеджеров и программистов на следующий проект. Более того, если эти менеджеры или программисты уходят с предприятия, то резко снижается качество производимых программных продуктов. В стрессовых ситуациях процесс разработки сводится к написанию кода и его минимальному тестированию.