Технологии программирования
Сущность и актуальность дисциплины. Качество программного обеспечения. Требования стандарта к организации системы качества. Спецификация и проектирование программного обеспечения при структурном подходе. Основные подходы в формировании тестовых наборов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лекция |
Язык | русский |
Дата добавления | 25.12.2014 |
Размер файла | 1,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Обратное проектирование (реинжиниринг), когда готовую систему (например, на C++) или базу данных (на Oracle) “закачивают” в Rose с целью получения наглядной визуальной (структурной) модели.
Возвратное проектирование (Round-trip engineering), которое сочетает возможности первых двух подходов, когда создаётся система, а по прохождении некоторого времени эволюционного периода (доработок) подвергается вновь реинжинирингу и вновь кодогенерации.
В данное время Rational Rose поставляется в следующих редакциях:
Rose DataModeler - позволяет проектировать системы и базы данных без возможности кодогенерации. Продукт направлен на архитекторов и аналитиков.
Rose RealTime - узкоспециализированная версия для систем реального времени, способная проводить 100% кодогенерацию и реинжиниринг только для языков С и C++. Имеет неполный набор диаграмм. Продукт направлен только на программистов.
Rose Enterprise - наиболее полная версия, включает в себя все вышеописанные возможности. Продукт направлен на архитекторов, аналитиков, программистов.
Структурные CASE-средства анализа и проектирования.
Сущность структурного подхода к разработке ПС заключается в её декомпозиции на автоматизируемые функции: система разбивается от функциональных подсистем до конкретных процедур.
Принципы объектно-ориентированного подхода: "разделяй и властвуй" (разбиение сложных проблем на множество лёгких для понимания задач) и иерархическое упорядочение (организация составных частей системы в древовидные структуры с добавлением новых деталей на каждом уровне) - сохраняются так же и при структурном подходе. Однако при этом подходе анализируются не объекты и их взаимодействие, а алгоритмы выполняемых системой функций и отношения между данными при выполнении этих функций.
Структурный подход чаще всего используется при анализе и проектировании баз данных.
Почти все CASE-средства структурного анализа и проектирования систем используют следующие модели:
Data Flow Diagrams (DFD) - диаграммы потоков данных совместно со словарями данных и спецификациями процессов.
Entity-Relationship Diagrams (ERD) - диаграммы “сущность-связь”.
State Transition Diagrams (STD) - диаграммы переходов состояний.
Логическая диаграмма потоков данных (DFD) показывает внешние по отношению к системе источники и приёмники данных. Структуры потоков данных и определения их компонентов хранятся в словаре данных.
Диаграмма “сущность-связь” (ERD) раскрывает модель хранилища данных и обеспечивает стандартный способ определения данных и отношений между ними. Здесь идентифицируются важные для данной предметной области сущности (объекты), свойства этих сущностей (атрибуты) и их отношения с другими сущностями (ассоциации).
Диаграмма переходов состояний (STD) является средством описания поведения системы, зависящего от реального времени. При этом учитывается начальное состояние (стартовая точка для системного перехода); переход (перемещение системы из одного состояния в другое); условие (событие или события, вызывающие переход); действие (операция, которая может иметь место при выполнении перехода).
Известным CASE-средством структурного анализа и проектирования является Silverrun - средство американской фирмы Silverrun Technologies Inc. Silverrun состоит из четырёх модулей, каждый из которых является самостоятельным продуктом и может использоваться без связи с остальными модулями:
Business Process Modeler (BPM) строит модели в виде диаграмм потоков данных.
Entity-Relationship eXpert (ERX) обеспечивает построение моделей данных “сущность-связь”.
Relational Data Modeler (RDM) позволяет создавать детализированные модели “сущность-связь”, предназначенные для реализации в реляционной базе данных.
Workgroup Repository Manager (WRM) применяется как словарь данных для хранения общей для всех моделей информации.
Для автоматической генерации схем баз данных у Silverrun существуют мосты к наиболее распространенным СУБД: Oracle, DB2, SQL Server, MS Access. Кроме того, имеются программные мосты к объектно-ориентированному CASE-средству Rational Rose, разработанные российской фирмой Аргуссофт.
В России многими разработчиками информационных систем используются CASE-средства BPWin и ERWin фирмы Platinum technology, которые предназначены для анализа, проектирования и кодогенерации. Фирма Platinum имеет программные мосты с Rational Rose для связывания модели данных с объектной моделью. В книжных магазинах есть книга: Маклаков С.В. BPWin и ERWin. CASE-средства разработки информационных систем. - М.: ДИАЛОГ-МИФИ, 1999. Книга содержит описание методов структурного анализа и проектирования моделей данных. Подробно на конкретных примерах рассмотрено применение CASE-технологий и CASE-средств для автоматизации этапов анализа, проектирования и кодогенерации информационных систем.
Case-средства компании IBM Rational Software, средство визуального моделирования Rational Rose.
Процесс создания программного обеспечения весьма и весьма сложный. Определённые неудобства разработчикам доставляют меняющиеся требования пользователей к системе, разрастающиеся не по дням (а по часам) операционные системы. Разработчикам приходится, в буквальном смысле слова “держать нос по ветру”, анализируя все веяния, переводя их в машинный код. В результате код программы разрастается, штат разработчиков тоже, а время на выпуск каждого нового релиза сокращается. Тем самым складывается очень интересная ситуация, когда выпуск ПС не поспевает не только за требованиями пользователей, но и за выходом очередных аппаратных и программных новинок. Если же продукт успел выйти вовремя, то, как правило, содержит много ошибок, поскольку не все компании держат огромный штат квалифицированных тестеров. А если ко всему вышеперечисленному ещё добавить возрастающую интернационализацию, когда команды разработчиков разбросаны по всей планете! Объектно-ориентированный подход и языки программирования, обладая многими достоинствами (conceptual integrity, contract, selfishness, hierarchy, seamlesness, encapsulation, inheritance, polymorphism), сами по себе всё равно не могут решить проблему скоростной разработки.
По статистике (исследования компании Standish Group CHAOS) только 26% проектов заканчиваются успешно (читай: “вовремя”), то есть только четверть всего задуманного воплощается в жизнь. Анализ деятельности наиболее успешных компаний и анализ их секретов успеха позволил создать общую рекомендацию для всех других. Компания IBM Rational Software постоянно занимается исследованиями в области Информационных Технологий с целью выработки оптимального пути в создании программного обеспечения. Девиз компании: “Строй быстрее, надёжней, качественней…” Основа всего, что выпускает компания - универсальный процесс (RUP - Rational Unified Process).
Системы автоматизированного проектирования и их место среди других автоматизированных систем.
На всех этапах жизненного цикла изделий имеются свои целевые установки. При этом участники жизненного цикла стремятся достичь поставленных целей с максимальной эффективностью. На этапах проектирования, ТПП и производства нужно обеспечить выполнение ТЗ при заданной степени надежности изделия и минимизации материальных и временных затрат, что необходимо дня достижения успеха в конкурентной борьбе в условиях рыночной экономики. Понятие эффективности охватывает не только снижение себестоимости продукции и сокращение сроков проектирования и производства, но и обеспечение удобства освоения и снижения затрат на будущую эксплуатацию изделий. Особую важность требования удобства эксплуатации имеют для сложной техники, например, в таких отраслях, как авиа- или автомобилестроение.
Достижение поставленных целей на современных предприятиях, выпускающих сложные промышленные изделия, оказывается невозможным без широкого использования автоматизированных систем (АС), основанных на применении компьютеров и предназначенных для создания, переработки и использования всей необходимой информации о свойствах изделий и сопровождающих процессов. Специфика задач, решаемых на различных этапах жизненного цикла изделий, обусловливает разнообразие применяемых АС.
Основные типы АС с их привязкой к тем или иным этапам жизненного цикла изделий указаны на рис. 21.1.
Автоматизация проектирования осуществляется САПР. Принято выделять в САПР машиностроительных отраслей промышленности системы функционального, конструкторского и технологического проектирования. Первые из них называют системами расчетов и инженерного анализа или системами САЕ (Computer Aided Engineering). Системы конструкторского проектирования называют системами CAD (Computer Aided Design). Проектирование технологических процессов составляет часть технологической подготовки производства и выполняется в системах САМ (Computer Aided Manufacturing). Функции координации работы систем CAE/CAD/CAM, управления проектными данными и проектированием возложены на систему управления проектными данными PDM (Product Data Management).
Уже на стадии проектирования требуются услуги системы управления цепочками поставок (SCM -- Supply Chain Management), иногда называемой системой Component Supplier Management (CSM). На этапе производства эта система управляет поставками необходимых материалов и комплектующих.
Информационная поддержка этапа производства продукции осуществляется автоматизированными системами управления предприятием (АСУП) и автоматизированными системами управления технологическими процессами (АСУТП). К АСУП относятся системы планирования и управления предприятием ERP (Enterprise Resource Planning), планирования производства и требований к материалам MRP-2 (Manufacturing Requirement Planning), производственная исполнительная система MES (Manufacturing Execution Systems), а также SCM и система управления взаимоотношениями с заказчиками CRM (Customer Requirement Management).
Наиболее развитые системы ERP выполняют различные бизнес-функции, связанные с планированием производства, закупками, сбытом продукции, анализом перспектив маркетинга, управлением финансами, персоналом, складским хозяйством, учетом основных фондов и т. п. Системы MRP-2 ориентированы, главным образом, на бизнес-функции, непосредственно связанные с производством, а системы MES - на решение оперативных задач управления проектированием, производством и маркетингом.
На этапе реализации продукции выполняются функции управления отношениями с заказчиками и покупателями, проводится анализ рыночной ситуации, определяются перспективы спроса на планируемые изделия. Эти функции осуществляет система CRM. Маркетинговые задачи иногда возлагаются на систему S&SM (Sales and Service Management), которая, кроме того, используется для решения проблем обслуживания изделий. На этапе эксплуатации применяют также специализированные компьютерные системы, занятые вопросами ремонта, контроля, диагностики эксплуатируемых систем.
Структура САПР.
Как и любая сложная система, САПР состоит из подсистем. Различают подсистемы проектирующие и обслуживающие.
Проектирующие подсистемы непосредственно выполняют проектные процедуры. Примерами проектирующих подсистем могут служить подсистемы геометрического трехмерного моделирования механических объектов, изготовления конструкторской документации, схемотехнического анализа, трассировки соединений в печатных платах.
Обслуживающие подсистемы обеспечивают функционирование проектирующих подсистем, их совокупность часто называют системной средой (или оболочкой) САПР. Типичными обслуживающими подсистемами являются подсистемы управления проектными данными, подсистемы разработки и сопровождения программного обеспечения CASE (Computer Aided Software Engineering), обучающие подсистемы для освоения пользователями технологий, реализованных в САПР.
Структурирование САПР по различным аспектам обусловливает появление видов обеспечения САПР. Принято выделять семь видов обеспечения САПР:
техническое (ТО), включающее различные аппаратные средства (ЭВМ, периферийные устройства, сетевое коммутационное оборудование, линии связи, измерительные средства);
математическое (МО), объединяющее математические методы, модели и алгоритмы для выполнения проектирования;
программное, представляемое компьютерными программами САПР;
информационное, состоящее из базы данных, СУБД, а также включающее другие данные, используемые при проектировании; отметим, что вся совокупность используемых при проектировании данных называется информационным фондом САПР, а база данных вместе с СУБД носит название банка данных;
лингвистическое, выражаемое языками общения между проектировщиками и ЭВМ, языками программирования и языками обмена данными между техническими средствами САПР;
методическое, включающее различные методики проектирования, иногда к нему относят также математическое обеспечение;
организационное, представляемое штатными расписаниями, должностными инструкциями и другими документами, регламентирующими работу проектного предприятия
Разновидности САПР.
Классификацию САПР осуществляют по ряду признаков, например по приложению, целевому назначению, масштабам (комплексности решаемых задач), характеру базовой подсистемы - ядра САПР.
По приложениям наиболее представительными и широко используемыми являются следующие группы САПР.
САПР для применения в отраслях общего машиностроения. Их часто называют машиностроительными САПР или системами MCAD (Mechanical CAD).
САПР для радиоэлектроники: системы ECAD (Electronic CAD) или EDA (Electronic Design Automation).
САПР в области архитектуры и строительства.
Кроме того, известно большое число специализированных САПР, или выделяемых в указанных группах, или представляющих самостоятельную ветвь в классификации. Примерами таких систем являются САПР больших интегральных схем (БИС); САПР летательных аппаратов; САПР электрических машин и т. п.
По целевому назначению различают САПР или подсистемы САПР, обеспечивающие разные аспекты (страты) проектирования. Так, в составе MCAD появляются рассмотренные выше CAE/CAD/CAM-системы.
По масштабам различают отдельные программно-методические комплексы (ПМК) САПР, например: комплекс анализа прочности механических изделий в соответствии с методом конечных элементов (МКЭ) или комплекс анализа электронных схем; системы ПМК; системы с уникальными архитектурами не только программного (software), но и технического (hardware) обеспечений.
По характеру базовой подсистемы различают следующие разновидности САПР.
1.САПР на базе подсистемы машинной графики и геометрического моделирования. Эти САПР ориентированы на приложения, где основной процедурой проектирования является конструирование, т. е. определение пространственных форм и взаимного расположения объектов. К этой группе систем относится большинство САПР в области машиностроения, построенных на базе графических ядер.
В настоящее время широко используют унифицированные графические ядра, применяемые более чем в одной САПР (ядра Parasolid фирмы EDS Unigraphics и ACIS фирмы Intergraph).
САПР на базе СУБД. Они ориентированы на приложения, в которых при сравнительно несложных математических расчетах перерабатывается большой объем данных. Такие САПР преимущественно встречаются в технико-экономических приложениях, например, при проектировании бизнес-планов, но они имеются также при проектировании объектов, подобных щитам управления в системах автоматики.
САПР на базе конкретного прикладного пакета. Фактически это автономно используемые ПМК, например, имитационного моделирования производственных процессов, расчета прочности по МКЭ, синтеза и анализа систем автоматического управления и т. п. Часто такие САПР относятся к системам САЕ. Примерами могут служить программы логического проектирования на базе языка VHDL, математические пакеты типа MathCAD.
Комплексные (интегрированные) САПР, состоящие из совокупности подсистем предыдущих видов. Характерными примерами комплексных САПР являются CAE/CAD/CAM-системы в машиностроении или САПР БИС. Так, САПР БИС включает в себя СУБД и подсистемы проектирования компонентов, принципиальных, логических и функциональных схем, топологии кристаллов, тестов для проверки годности изделий. Для управления столь сложными системами применяют специализированные системные среды.
Понятие о CALS-технологиях.
Технологии комплексной компьютеризации сфер промышленного производства, цель которых - унификация и стандартизация спецификаций промышленной продукции на всех этапах ее жизненного цикла, называют CALS-технологиями. Основные спецификации представлены проектной, технологической, производственной, маркетинговой, эксплуатационной документацией. В CALS-системах предусмотрены хранение, обработка и передача информации в компьютерных средах, оперативный доступ к данным в нужное время и в нужном месте. Терминология в области CALS еще окончательно не установилась. Так, первоначально аббревиатура CALS расшифровывалась как Computer Aided Logistics Systems, т. е. автоматизированная логистическая поддержка. Поскольку под логистикой обычно понимают дисциплину, посвященную вопросам снабжения и управления запасами, а функции CALS намного шире и связаны со всеми этапами жизненного цикла промышленных изделий, применяют и более соответствующую предмету расшифровку аббревиатуры CALS - Continuous Acquisition and Lifecycle Support. В русском языке понятию CALS соответствует ИЛИ (информационная поддержка изделий) или КСПИ (компьютерное сопровождение и поддержка изделий).
Применение CALS-технологий позволяет существенно сократить объемы проектных работ, так как описания многих составных частей оборудования, машин и систем, проектировавшихся ранее, хранятся в унифицированных форматах данных сетевых серверов, доступных любому пользователю технологий CALS. Существенно облегчается решение проблем ремонтопригодности, интеграции продукции в различного рода системы и среды, адаптации к меняющимся условиям эксплуатации, специализации проектных организаций и т. п. Предполагается, что успех на рынке сложной технической продукции будет немыслим вне технологий CALS.
Развитие CALS-технологий должно привести к появлению так называемых виртуальных производств, в которых процесс создания спецификаций с информацией для программно управляемого технологического оборудования, достаточной для изготовления изделия, может быть распределен во времени и пространстве между многими организационно автономными проектными студиями. Среди несомненных достижений CALS-технологий следует отметить легкость распространения передовых проектных решений, возможность многократного воспроизведения частей проекта в новых разработках и др.
Построение открытых распределенных автоматизированных систем для проектирования и управления в промышленности составляет основу современных CALS-технологий. Главная проблема их построения - обеспечение единообразного описания и интерпретации данных, независимо от места и времени их получения в общей системе, имеющей масштабы вплоть до глобальных. Структура проектной, технологической и эксплуатационной документации, языки ее представления должны быть стандартизованными. Тогда становится реальной успешная работа над общим проектом разных коллективов, разделенных во времени и пространстве и использующих разные CAE/CAD/CAM-системы.
Одна и та же конструкторская документация может быть использована многократно в разных проектах, а одна и та же технологическая документация -- адаптирована к разным производственным условиям, что позволяет существенно сократить и удешевить общий цикл проектирования и производства. Кроме того, упрощается эксплуатация систем.
Таким образом, информационная интеграция является неотъемлемым свойством CALS-систем. Поэтому в основу CALS-технологий положен ряд стандартов, обеспечивающих такую интеграцию.
Важные проблемы, требующие решения при создании комплексных САПР, - управление сложностью проектов и интеграция ПО. Эти проблемы включают вопросы декомпозиции проектов, распараллеливания проектных работ, целостности данных, межпрограммных интерфейсов и др.
Размещено на Allbest.ru
Подобные документы
Этапы разработки технического задания. Спецификация программного обеспечения при структурном подходе. Дерево диаграмм, базовые понятия сетевой модели данных. Разработка пользовательского интерфейса. Разработка сценария диалога на основе экранных форм.
курсовая работа [2,0 M], добавлен 24.06.2012Схемы взаимодействия между заказчиком и разработчиком программного обеспечения. Качество программного обеспечения и определение основных критериев его оценка на современном этапе, особенности управления на стадиях жизненного цикла, анализ достаточности.
презентация [114,7 K], добавлен 14.08.2013Разработка программного обеспечения для корпоративного портала Череповецкого Государственного Университета. Выбор технологии, среды и языка программирования. Требования к составу и параметрам технических средств. Построение функциональных диаграмм.
дипломная работа [1,7 M], добавлен 09.11.2016Цели и задачи программной инженерии. Понятие программного обеспечения. Шесть принципов эффективного использования программного обеспечения. Виды программного обеспечения: общесистемное, сетевое и прикладное. Принципы построения программного обеспечения.
курсовая работа [30,4 K], добавлен 29.06.2010Описание среды разработки Microsoft Visual Studio. Поддерживаемые технологии и языки программирования. Возможности и особенности компьютеризированного тестирования человека. Проектирование программного обеспечения с использованием объектного подхода.
курсовая работа [3,0 M], добавлен 09.02.2013Оснащенность предприятия системным программным обеспечением, используемым для организации производственного процесса. Проектирование, внедрение и эксплуатация системного и прикладного программного обеспечения. Тестирование и отладка программного продукта.
отчет по практике [272,2 K], добавлен 29.12.2014Учета жильцов студенческого общежития. Требования к программному средству. Спецификация качества программного обеспечения. Проектирование архитектуры приложения и структуры данных, пользовательского интерфейса. Спецификация классов и типы данных.
курсовая работа [664,4 K], добавлен 26.08.2012Общая характеристика и основные структуры кодирования. Качество программного обеспечения, показатели в ГОСТ 28195 и ГОСТ Р ИСО/МЭК 9126, характеристика по функциональным возможностям. Основные критерии и процесс оценки качества программного обеспечения.
курсовая работа [219,5 K], добавлен 25.02.2012Тестирование как составляющая часть процесса отладки программного обеспечения, его роль для обеспечения качества продукта. Обнаружение ошибок в программах, выявление причин их возникновения. Подходы к формулированию критериев полноты тестирования.
курсовая работа [1,6 M], добавлен 20.12.2012Понятие программного обеспечения, вопросы его разработки и использования. Общая характеристика системного программного обеспечения и работа операционной системы. Специфика процесса управления разработкой программного обеспечения и его особенности.
курсовая работа [636,2 K], добавлен 23.08.2011