Принципы системного проектирования
Системное проектирование должно базироваться на системном подходе. На сегодняшний день нельзя утверждать, что известен его полный состав и содержание применительно к проектной деятельности, однако можно сформулировать наиболее важные из них:
- Практическая полезность:
o деятельность должна быть целенаправленной, устремленной на удовлетворение действительных потребностей реального потребителя или определенной социальной, возрастной или иной групп людей;
o деятельность должна быть целесообразной. Важно вскрыть причины, препятствующие использованию существующих объектов для удовлетворения новых потребностей, выявить вызывающие их ключевые противоречия и сконцентрировать усилия на решении главных задач;
o деятельность должна быть обоснованной и эффективной. Разумным будет использование не любого решения задачи, а поиск оптимального варианта;
- Единство составных частей:
o целесообразно любой объект, сложный ли он или простой, рассматривать как систему, внутри которой можно выделить логически связанные более простые части — подсистемы, единство частных свойств которых и образует качественно новые свойства объекта-системы;
o разрабатываемые объекты предназначены для людей, ими создаются и эксплуатируются. Поэтому человек также обязан рассматриваться в качестве одной из взаимодействующих систем. При этом должно приниматься во внимание не только физическое взаимодействие, но и духовно-эстетическое воздействие;
o внешняя, или как её ещё называют — жизненная среда, также должна рассматриваться в качестве системы, взаимосвязанной с проектируемым объектом;
- Изменяемость во времени:
o учёт этапов жизненного цикла объекта;
o учёт истории и перспектив развития и применения разрабатываемого объекта, а также областей науки и техники, на достижениях которых базируются соответствующие разработки.
Проект — это уникальный процесс, состоящий из совокупности скоординированных и управляемых видов деятельности с начальной и конечной датами, предпринятый для достижения цели, соответствующей конкретным требованиям, включающий ограничения по срокам, стоимости и ресурсам.
Проект — это работы, планы, мероприятия и другие задачи, направленные на создание нового продукта. Выполнение проекта составляет проектную деятельность, которая включает:
· проведение управленческих мероприятий (проектное управление). Достигается на основе использования, в том числе, принципов и методов управления проектом, являющегося частью системы менеджмента предприятия, универсальной для решения разных производственных задач;
· решение специализированной задачи:
- разработка продукции для заказчика. Продуктами проекта могут быть:
§ результаты маркетинговых исследований,
§ проектно-конструкторская документация. Комплект такой документации называется проектом. Он предназначен для создания разработанного устройства, его эксплуатации, ремонта и ликвидации, а также для проверки или воспроизведения промежуточных и конечных решений, на основе которых он был разработан.
§ технологическая документация (управление производством),
§ программное обеспечение (управление проектами), и т. д.;
- решение внутренних производственных задач:
- повышение качества продукции (управление качеством),
- повышение эффективности организации труда (управление персоналом),
- оптимизация финансовых потоков (финансовый менеджмент), и др.
Проекты могут быть объединены в программу проектов для достижения единого результата, или в портфель проектов для более эффективного управления. Портфель проектов может состоять из программ.
Методы проектирования алгоритмов и программ очень разнообразны, их можно классифицировать по различным признакам, важнейшими из которых являются:
- степень автоматизации проектных работ;
- принятая методология процесса разработки.
По степени автоматизации проектирования алгоритмов и программ можно выделить:
- методы традиционного (неавтоматизированного) проектирования;
- методы автоматизированного проектирования (CASE-технология и ее элементы).
Неавтоматизированное проектирование алгоритмов и программ преимущественно используется при разработке небольших по трудоемкости и структурной сложности программных продуктов, не требующих участия большого числа разработчиков. Трудоемкость разрабатываемых программных продуктов, как правило, небольшая, а сами программные продукты имеют преимущественно прикладной характер.
При нарушении этих ограничений заметно снижается производительность труда разработчиков, падает качество разработки, и, как ни парадоксально, увеличиваются трудозатраты и стоимость программного продукта в целом.
Автоматизированное проектирование алгоритмов и программ возникло с необходимостью уменьшить затраты на проектные работы, сократить сроки их выполнения, создать типовые "заготовки" алгоритмов и программ, многократно тиражируемых для различных разработок, координации работ большого коллектива разработчиков, стандартизации алгоритмов и программ.
Автоматизация проектирования может охватывать все или отдельные лапы жизненного цикла программного продукта, при этом работы этапов могут быть изолированы друг от друга либо составлять единый комплекс, выполняемый последовательно во времени. Как правило, автоматизированный подход требует технического и программного "перевооружения" труда самих разработчиков (мощных компьютеров, дорогостоящего программного инструментария, а также повышения квалификации разработчиков и т.п.).
Автоматизированное проектирование алгоритмов и программ под силу лишь крупным фирмам, специализирующимся на разработке определенного класса программных продуктов, занимающих устойчивое положение на рынке программных средств.
Проектирование алгоритмов и программ может основываться на различных подходах, среди которых наиболее распространены:
- структурное проектирование программных продуктов;
- информационное моделирование предметной области и связанных с ней приложений;
- объектно-ориентированное проектирование программных продуктов.
В основе структурного проектирования лежит последовательная декомпозиция, целенаправленное структурирование на отдельные составляющие. Начало развития структурного проектирования алгоритмов и программ падает на 60-е гг. Методы структурного проектирования представляют собой комплекс технических и организационных принципов системного проектирования.
Типичными методами структурного проектирования являются:
- нисходящее проектирование, кодирование и тестирование программ;
- модульное программирование;
- структурное проектирование (программирование) и др.
В зависимости от объекта структурирования различают:
- функционально-ориентированные методы - последовательное разложение задачи или целостной проблемы на отдельные, достаточно простые составляющие, обладающие функциональной определенностью;
- методы структурирования данных.
Для функционально-ориентированных методов в первую очередь учитываются заданные функции обработки данных, в соответствии с которыми определяется состав и логика работы (алгоритмы) отдельных компонентов программного продукта. С изменением содержания функций обработки, их состава, соответствующего им информационного входа и выхода требуется перепроектирование программного продукта. Основной упор в структурном подходе делается на моделирование процессов обработки данных.
Для методов структурирования данных осуществляется анализ, структурирование и создание моделей данных, применительно к которым устанавливается необходимый состав функций и процедур обработки. Программные продукты тесно связаны со структурой обрабатываемых данных, изменение которой отражается на логике обработки (алгоритмах) и обязательно требует перепроектирования программного продукта.
Структурный подход использует:
· диаграммы потоков данных (информационно-технологические схемы) - показывают процессы и информационные потоки между ними с учетом "событий", инициирующих процессы обработки;
· интегрированную структуру данных предметной области (инфологическая модель, ER- диаграммы);
· диаграммы декомпозиции - структура и декомпозиция целей, функций управления, приложений;
· структурные схемы - архитектура программного продукта в виде иерархии взаимосвязанных программных модулей с идентификацией связей между ними, детальная логика обработки данных программных модулей (блок-схемы).
Для полного представления о программном продукте необходима также текстовая информация описательного характера.
Еще большую значимость информационные модели и структуры данных имеют для информационного моделирования предметной области, в основе которого положение об определяющей роли данных при проектировании алгоритмов и программ. Подход появился в условиях развития программных средств организации хранения и обработки данных – СУБД.
- Один из основоположников информационной инженерии- Дж. Мартин - выделяет следующие составляющие данного подхода:
- информационный анализ предметных областей (бизнес - областей);
· информационное моделирование - построение комплекса взаимосвязанных моделей данных;
- системное проектирование функций обработки данных;
- детальное конструирование процедур обработки данных.
Первоначально строятся информационные модели различных уровней представления:
- информационно-логическая модель, не зависящая от средств программной реализации хранения и обработки данных, отражающая интегрированные структуры данных предметной области;
- даталогические модели, ориентированные на среду хранения и обработки данных.
Даталогические модели имеют логический и физический уровни представления. Физический уровень соответствует организации хранения данных в памяти компьютера. Логический уровень данных применительно к СУБД реализован в виде:
- концептуальной модели базы данных - интегрированные структуры данных под управлением СУБД;
- внешних моделей данных - подмножество структур данных для реализации приложений.
Средствами структур данных моделируются функции предметной области, прослеживается взаимосвязь функций обработки, уточняется состав входной и выходной информации, логика преобразования входных структур данных в выходные. Алгоритм обработки данных можно представить как совокупность процедур преобразований структур данных в соответствии с внешними моделями данных.
Выбор средств реализации базы данных определяет вид даталогические моделей и, следовательно, алгоритмы преобразования данных. В большинстве случаев используется реляционное представление данных базы данных и соответствующие реляционные языки для программирования (манипулирования) обработки данных СУБД и реализации алгоритмов обработки. Данный подход использован во многих CASE-технологиях.
18. Автоматизация и системы автоматизации проектирования. Процессы разработки проектных решений и проектных процедур.
Автоматизация и системы автоматизации проектирования. Процессы разработки проектных решений и проектных процедур.
Автоматизация — одно из направлений научно-технического процесса, использующее саморегулирующие технические средства и математические методы с целью освобождения человека от участия в процессах получения, преобразования, передачи и использования энергии и материалов, а также информации либо существенного уменьшения степени этого участия или трудоёмкости выполняемых операций.
Автоматизируются:
• производственные процессы;
• проектирование;
• организация, планирование и управление;
• научные исследования;
• бизнес-процессы;
• и другие сферы человеческой деятельности.
Автоматизация позволяет повысить производительность труда, улучшить качество продукции, оптимизировать процессы управления отстранить человека от производств, опасных для здоровья. Автоматизация, за исключением простейших случаев, требует комплексного, системного подхода к решению задачи. В состав систем автоматизации входят датчики (сенсоры), устройства ввода, управляющие устройства (контроллеры), исполнительные устройства, устройства вывода.компьютеры. Применяемые методы вычислений иногда копируют нервные и мыслительные функции человека. Весь этот комплекс средств обычно называют системами.
Основные виды систем автоматизации:
• Автоматизированная система планирования АСП – здесь выполняется планирование выпуска изделий
• автоматизированная система научных исследований (АСНИ) автоматизированная система научных исследований (реже используются термины САНИ - система автоматизации научных исследований и САЭ - система автоматизации эксперимента) — это программно-аппаратный комплекс на базе средств вычислительной техники, предназначенный для проведения научных исследований или комплексных испытаний образцов новой техники на основе получения и использования моделей исследуемых объектов, явлений и процессов. Области науки и техники, в которых применение АСНИ наиболее эффективно: ядерная физика, радиофизика, астрономия, геология, биология и др. Примерами данной системы являются EPICS, TANGO.
• система автоматизированного проектирования (САПР) - это совокупность средств и методов для осуществления автоматизированного проектирования. Она состоит из нескольких составных частей, называемых техническим, математическим, программным, лингвистическим, информационным, методическим и организационным обеспечением.
• автоматизированный экспериментальный комплекс (АЭК) - это организационно-техническая система, предназначенная для получения, обработки и отображения информации — результатов экспериментального исследования объект,
• гибкое автоматизированное производство (ГАП) - современная форма производства, обеспечивающая максимальную степень гибкости переналадки в отличие от остальных существующих типов. Гибкость ГАП обусловлена применением специальных станков — обрабатывающих центров (ОЦ), объединённых в гибкие производственные участки (ГПС) системами обеспечения работоспособности. Системы условно можно разделить на технические и информационные.
• автоматизированная система управления технологическим процессом (АСУ ТП) - совокупность аппаратно - программных средств, осуществляющих контроль и управление производственными и технологическими процессами; поддерживающих обратную связь и активно воздействующих на ход процесса при отклонении его от заданных параметров; обеспечивающих регулирование и оптимизацию управляемого процесса.
• автоматизированная система управления эксплуатацией (АСУ) - комплекс аппаратных и программных средств, предназначенный для управления различными процессами в рамках технологического процесса, производства, предприятия. АСУ применяются в различных отраслях промышленности, энергетике, транспорте и т. п. Термин "автоматизированная", в отличие от термина "автоматическая" подчёркивает сохранение за человеком-оператором некоторых функций, либо наиболее общего, целеполагающего характера, либо не поддающихся автоматизации.
• система автоматического управления (САУ) - систематизированный (строго определенный) набор средств сбора сведений о подконтрольном объекте и средств воздействия на его поведение с целью достижения определённых целей. Объектом системы управления могут быть как технические объекты, так и люди. Объект системы управления может состоять из других объектов, которые могут иметь постоянную структуру взаимосвязей. Системы управления с участием людей как объектов управления зачастую называют системами менеджмента.
Основная тенденция развития систем автоматизации идет в направлении создания автоматических систем, которые способны выполнять заданные функции или процедуры без участия человека. Роль человека заключается в подготовке исходных данных, выборе алгоритма (метода решения) и анализе полученных результатов. Однако присутствие в решаемых задачах сложно программируемых процедур объясняет широкое распространение автоматизированных систем. Здесь человек участвует в процессе решения, например, управляя им, вводя промежуточные данные. На степень автоматизации влияют, продолжительность времени, отведенного на решение задачи, и её вид — типовая или нет. Так, при срочном поиске решения нестандартной задачи следует полагаться только на самого себя.
Проектирование – это комплекс работ по исследованию, расчетам и конструированию нового изделия или нового процесса. В основе проектирования лежит первичное описание – техническое задание. Согласно стандарту выделяют следующие стадии проектирования:
Предпроектное исследование (выполняет заказчик). Здесь выполняется анализ потребностей внешней среды (ВС) в новом изделии, также ведется поиск возможного аналога, т.е. может быть сделан вывод о необходимости модернизации существующего изделия. Результатом является документ ИТ (исходные требования), в котором отражается информация о наличии и характеристиках изделия.
Разработка технического задания (ТЗ). ТЗ содержит основные характеристики изделия: габариты, вес, энергопотребление. В составе ТЗ производится уточнение структур, функций, режимов работы будущего изделия, описываются требования к дизайну, экономическим показателям. Иногда ТЗ требует уточнения исполнителем.
Разработка предложения технического (ПТ) (уточненного ТЗ). Уточненное ТЗ или ПТ разрабатывает исполнитель проекта, где отражает свое видение проблемы. Результатом является документ УТЗ, который подписывается исполнителем и заказчиком. Пункты 2 и 3 могут находиться в итерации. Бывает, что на этом процесс заканчивается, если исполнитель заказывает невозможное.
Эскизное проектирование (ЭП). Выполняется на основе УТЗ. Здесь моделируются отдельные принципиальные узлы будущего изделия, отрабатываются математические модели поведения. Анализируется и доказывается реальная возможность создания будущего изделия. Проводятся многовариантные испытания, часто строятся физические модели. Результатом стадии ЭП являются уточненные технико-экономические характеристики будущего изделия, принципиальный состав узлов, детализованные проработки важнейших составных частей (схемы, чертежи), ПЗ, возможно макеты. В отдельных случаях процесс проектирования может быть закончен, прерван за бесперспективностью (отрицательный результат), либо продолжен.
Техническое проектирование (ТП). Здесь прорабатываются полностью все компоненты изделия: дизайн корпуса, разрабатываются все части проекта. ТП содержит результаты полной параметрической оптимизации, все чертежи, схемы узлов, полное описание функционирования изделия, описание режимов работы. Результат, как правило, опытный образец изделия. Принимается решение заказчиком о возможности передачи в серийное производство. При положительном решении заказчика начинается разработка рабочего проекта (РП).
Результат – полная конструкторская документация и, как правило, опытный образец.
Проектная организация может завершить работу на стадии ТП, передав документацию заказчику, который передает в производственные предприятия (размещает заказ), где тех. проект доводят до рабочего проекта (РП).
Рабочее проектирование (РП). Рабочий проект – полный комплекс документов для промышленного выпуска (массовый выпуск изделия).
Этапом проектирования называют часть стадии, включающая разработку одного или нескольких аспектов будущего изделия.
Подходы к конструированию на основе компьютерных технологий.
Можно выделить два подхода к конструированию на основе компьютерных технологий. Первый подход базируется на двухмерной геометрической модели – ГМ и использовании компьютера как электронного кульмана, позволяющего значительно ускорить процесс конструирования и улучшить качество оформления конструкторской документации. Центральное место в этом подходе к конструированию занимает чертеж, который служит средством графического представления изделия, содержащего информацию для решения графических задач, а также для изготовления изделия. Так, с помощью вычислительной техники облегчаются:
1) оформление конструкторских документов, насыщенных изображениями стандартных, типовых, унифицированных составных частей, (например электрических и других принципиальных, функциональных схем, печатных плат, модулей, приборов, электронных блоков, стоек, шкафов, пультов и т.д.);
2) разработка текстовых документов (спецификаций, перечней элементов и др.).
В основе второго подхода лежит компьютерная пространственная геометрическая модель (ПГМ) изделия, которая является более наглядным способом представления оригинала и более мощным и удобным инструментом для решения геометрических задач. Чертеж в этих условиях начинает играть вспомогательную роль, а методы его создания основаны на методах компьютерной графики, методах отображения пространственной модели
19. Классические методы проектирования и модели представления проектных решений.
Системный подход к построению информационных систем
Одно из первых направлений проектирования получило название «каскадной» схемы проектирования. Она включала следующие стадии проекта: запуск, обследование, концепция технического задания, эскизный проект, технический проект, рабочий проект, ввод в действие (внедрение).
В процессе совершенствования появилась схема непрерывной разработки ИС, использовавшаяся при реализации больших проектов фирмы IBM в 1970 – 1980 гг. Следствием недостатков классических методов проектирования явился переход к системному проектированию.
Дескриптивный подход реализуется путем изучения функции либо структуры системы. В соответствии с этим в теории систем получили применение функциональный и структурный подходы.
Структура системы описывается на концептуальном, логическом и физическом уровнях. При использовании информационных технологий в системном аспекте необходимо соблюдать следующие принципы:
1. Наличие сформулированной единой цели у информационных технологий в рамках разрабатываемой системы.
2. Согласование информационных технологий по входам и выходам с окружающей средой.
3. Типизация структур информационных технологий.
4. Стандартизация и взаимная увязка средств информационной технологии.
5. Открытость информационных технологий как системы.
Стадии разработки информационных систем
Отличительная черта проектирования информационных систем (ИС) – коллективное проектирование. В связи с этим важное значение приобретает методология, основной целью которой является уменьшение цикличности и увеличение линейности проектирования.
Проектирование можно представить как цикл, каждая итерация которого отличается большей детализацией и меньшей общностью. Основными свойствами процесса проектирования являются дивергенция, трансформация, конвергенция.
Дивергенция – расширение границ проектной ситуации с целью обеспечения более обширного пространства поиска решения.
Трансформация – стадия создания принципов и концепций (исследование структуры проблемы).
Конвергенция охватывает традиционное проектирование (программирование, отладка, проработка деталей). Учитывая сложность проектирования ИС, следует заострить внимание на трудностях этого процесса:
• предположение о конечном результате проектирования приходится делать еще до того, как исследованы средства его достижения;
• часто случается, что в ходе исследования событий в обратном порядке (от конечного результата) обнаруживаются непредвиденные трудности или открываются новые, более благоприятные возможности;
• самая интересная и самая сложная часть разработки – это как раз поиск решения путем изменения формулировки задачи.
Основными особенностями исходных данных для проектирования ИС
являются следующие:
• большое число действий, подлежащих реализации (многофункциональность);
• значительный объем и сложность ограничений на взаимосвязи проектируемой системы с окружением и трудности их формального описания;
• распределенный и асинхронный режим обработки данных;
• многообразие используемых информационных объектов и их свойств;
• нечеткость требований, их субъективный характер;
• неполнота требований, их расширение в процессе проектирования, необходимость учета развития системы.
Проектирование информационных систем будем рассматривать в следующих трех аспектах:
Модель представления – это синтаксически и семантически определенная средствами ядра совокупность конфигураций, позволяющая описывать, анализировать и документировать заданные аспекты проектируемой системы на заданных стадиях разработки с различными уровнями детализации ее элементов.
Пять моделей представления для проектирования информационных систем:
• функциональная модель;
• модель данных;
• модель пользовательского интерфейса;
• структура программных модулей;
• логика.
Метаобъекты – это базовые компоненты для конструирования модели
предметной области.
Виды элементов – это экземпляры конкретногометаобъекта.
Модель представления конкретной предметной области есть описание совокупности видов элементов и их взаимосвязей.
Элемент – это экземпляр вида элемента.
Важным элементом проектирования ИС является ядро моделей представления функциональных спецификаций, опирающееся на следующие компоненты: конфигурацию и структуру.
Конфигурация определяется как граф, представляющий интересующий разработчика аспект проектируемой системы. Вершинам этого графа ставятся в соответствие элементы различных видов системы.
Дугам графа ставятся в соответствие интересующие отношения между элементами.
С дугами и вершинами могут быть связаны разнообразные количественные меры, задаваемые соответствующими функциями принадлежности.
Структура – это совокупность конфигураций. Таким образом, структура системы определяется через множество выбранных видов элементов, множество элементов, множество рассматриваемых видов отношений и множество функций принадлежности, характеризующих количественно связи элементов.
20. Методы структурного проектирования. Этапы проектирования программных систем.
В основе структурного проектирования лежит последовательная декомпозиция, целенаправленное структурирование на отдельные составляющие. Начало развития структурного проектирования алгоритмов и программ падает на 60-е годы. Методы структурного проектирования представляют собой комплекс технических и организационных принципов системного проектирования.
Структурное проектирование, обычно, используется после проведения структурного анализа с применением диаграмм потоков данных и связанным описанием процессов.
Типичными методами структурного проектирования являются:
- Нисходящее проектирование, кодирование и тестирование программ. Данный метод предполагает последовательное разложение общей функции обработки данных на простые функциональные элементы. В результате строится иерархическая схема, отражающая состав и взаимоподчиненность отдельных функций. Последовательность действий:
1. Определяются цели автоматизации предметной области и их иерархия;
2. Устанавливается состав приложений (задач обработки), обеспечивающих реализацию поставленных целей.
3. Уточняется характер взаимосвязи приложений и их основные характеристики.
4. Определяются необходимые для решения задач функции обработки данных.
5. Выполняется декомпозиция функций обработки до необходимой структурной сложности, реализуемой предполагаемым инструментарием.
Модульное программирование. Основано на понятии модуля — логически взаимосвязанной совокупности функциональных элементов, оформленных в виде отдельных программных модулей. Каждый модуль состоит из спецификации и тела. Спецификации определяют правила использования модуля, а тело — способ реализации процесса обработки. Модуль характеризует:
1. один вход и один выход — на входе программный модуль получает определенный набор исходных данных, выполняет содержательную обработку и возвращает один набор результатных данных, то есть реализуется принцип вход-процесс-выход.
2. функциональная завершенность — модуль выполняет перечень регламентированных операций для реализации каждой отдельной функции в полном составе, достаточных для завершения начатой обработки.
3. логическая независимость — результат работы программного модуля зависит только от исходных данных, но не зависит от работы других модулей.
4. слабые информационные связи с другими программными модулями - обмен информацией между модулями должен быть по возможности минимизирован.
5. обозримый по размеру и сложности программный элемент.
- Структурное программирование. Основано на модульной структуре программного продукта и типовых управляющих структурах алгоритмов обработки данных различных программных модулей.
21. Жизненный цикл и этапы проектирования программного обеспечения.
Жизненный цикл программного продукта — это период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации.
Жизненный цикл создания и использования компьютерных программ отражает различные их состояния, начиная с момента возникновения необходимости в данном программном изделии и заканчивая моментом его полного выхода из употребления у всех пользователей. Традиционно выделяют следующие основные этапы жизненного цикла программного обеспечения:
- анализ требований;
- проектирование;
- кодирование (программирование);
- тестирование и отладка;
- эксплуатация и сопровождение.
Обычно, под термином «программный продукт» для компьютерных информационных технологий принято понимать необходимое им программное обеспечение (ПО).
Основной нормативный документ, регламентирующий ЖЦ ПО – международный стандарт ISO/IEC 12207. Он определяет структуру ЖЦ, содержащую процессы, действия и задачи, выполняемые во время создания ПО.
Согласно этому стандарту, структура ЖЦ ПО базируется на трёх группах процессов:
1. основные процессы ЖЦ ПО (приобретение, поставка, разработка, эксплуатация, сопровождение);
2. вспомогательные процессы (документирование, управление конфигурацией, обеспечение качества, верификация, аттестация, оценка, аудит, решение проблем);
3. организационные процессы (управление проектами, создание инфраструктуры проекта, определение, оценка и улучшение самого ЖЦ, обучение).
Разработка ПО – анализ, проектирование и реализация (программирование). Она включает все работы по созданию ПО и его компонент в соответствии с заданными требованиями, в том числе оформление проектной и эксплуатационной документации, подготовку материалов, необходимых для проверки работоспособности и соответствующего качества программных продуктов, материалов, для организации обучения персонала и т.д.
Эксплуатациявключает работы по внедрению компонентов ПОв эксплуатацию - обеспечение эксплуатационной документацией, проведение обучения персонала и т.д., и непосредственно эксплуатацию, подготовку предложений по совершенствованию, развитию и модернизации системы.
Управление проектом связано с вопросами планирования и организации работ, создания коллективов разработчиков; контроля за сроками и качеством выполняемых работ.
Техническое и организационное обеспечение проекта включает выбор методов и инструментальных средств для реализации проекта, определение методов описания промежуточных состояний разработки, разработку методов и средств испытаний ПО, обучение персонала и т.п.
Обеспечение качества проекта связано с проблемами верификации, проверки и тестирования ПО.
Верификация– это процесс определения насколько текущее состояние разработки, достигнутое на данном этапе, отвечает требованиям этого этапа.
Оценка качества (ГОСТ 28195-89) осуществляется на всех этапах жизненного цикла программных средств (ПС).
Проверка позволяет оценить соответствие параметров разработки с исходными требованиями.
Под тестированием понимается процесс исполнения программы с целью обнаружения ошибок.
Управление конфигурацией – один из вспомогательных процессов, поддерживающих основные процессы жизненного цикла ПО, прежде всего процессы разработки и сопровождения ПО ИС.
22. Классические технологии разработки программного обеспечения.
Модульное проектирование программ
Модульное проектирование программ является одной из первых технологий разработки ПС и уже несколько десятилетий сохраняет свои позиции как в качестве классической технологии, так и в качестве основы для современных технологий разработки ПС.
Под модуляцией (модупяризацией) понимается разделение программы па части по некоторым установленным правилам. Для различных языков программирования это могут быть внутренние подпрограммы, внешние модули и т.п.
Классическое определение идеальной модульной программы выглядит следующим образом. Модульная программа - это программа, в которой любую часть логической структуры можно изменить, не вызывая изменений в других частях программы.
Признаки модульности программы:
1) Программа состоит из модулей.
2) Независимость модулей. Это значит, что модуль можно изменять или модифицировать без последствий в других модулях.
3) Условие «один вход - один выход». Модульная программа должна состоять из модулей, имеющих одну точку входа и одну точку выхода. В общем случае может быть и более чем один вход, но важно, чтобы точки входов были строго определены и другие модули не могли входить в данный модуль в произвольной точке.
Достоинства (а следовательно, и назначение) модульного проектирования:
1) Упрощение разработки и реализации программ.
2) Облегчение чтения программ.
3) Упрощения настройки и модификации программ.
4) Облегчение работы с данными, имеющими сложную структуру.
5) Исключение чрезмерной детализации алгоритмов.
Недостатки модульности:
1) Модульность требует большей дополнительной работы программиста и определенных навыков проектирования программ.
2) Модульный подход в среднем требует большего времени работы центрального процессора (в среднем на 5 - 10%) за счет времени обращения к модулям.
3) Модульность программы приводит к увеличению объема программ (в среднем на 5 - 10%).
Методы проектирования модульных программ делятся на 3 группы:
1) Методы нисходящего проектирования
2) Методы расширения ядра.
3) Методы восходящего проектирования.
23. Нисходящее и восходящее проектирование программ.
Иерархическое многоуровневое функциональное и программное построение программного обеспечения значительно облегчает организацию их проектирования и эксплуатации, сокращает длительность и стоимость их разработки.
По количеству функциональных и программных компонент на разных уровнях с учетом сложности связей между ними можно оценивать объем выполненной работы, прогнозировать ее