Скачать 456.81 Kb.
|
Министерство образования Российской Федерации Государственное образовательное учреждение высшего профессионального образования СЕВЕРО-ЗАПАДНЫЙ ГОСУДАРСТВЕННЫЙ ЗАОЧНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Кафедра процессов управления и информационных систем ![]() ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ Методические указания к курсовому проектированию по дисциплине «Прикладное программирование» Факультет информатики и систем управления Направление и специальность подготовки дипломированного специалиста: 651900 – автоматизация и управление 210100 - управление и информатика в технических системах Направление подготовки бакалавра 550200 - автоматизация и управление ^ 2004 Утверждено редакционно-издательским советом университета УДК 62.52/07Прикладное программирование: Методические указания к курсовому проектированию по дисциплине «Прикладное программирование»/ Сост.: В.Л.Литвинов. - СПб.: СЗТУ, 2004. - 36с. Рассмотрены особенности современных методов и средств проектирования информационных систем, основанных на использовании CASE-технологий. Даны общие рекомендации по технологиям разработки программных систем. Приведены варианты заданий к курсовому проектированию, ориентированные на среду разработки Borland C++ Builder. Предназначены для студентов специальности 210100. Рассмотрено на заседании кафедры процессов управления и информационных систем 17 марта 2004 года, одобрено методической комиссией факультета информатики и систем управления 19 июня 2004 года. Рецензенты: Ю.А.Кораблев, канд.техн.наук., доц.каф. АПУ Санкт-Петербургского государственного электротехнического университета; Р.Р.Хамидуллин, канд.техн.наук, доц. каф. КТ и ПО Северо-Западного государственного заочного технического университета. Составитель: В.Л.Литвинов, канд. техн. наук, доц. © Северо-западный государственный заочный технический университет, 2004 ^ составлены в соответствии с рабочей программой дисциплины «Прикладное программирование» учебного плана специальности 210100 – «Управление и информатика в технических системах». ^ является формирование у студентов практических навыков по разработке программных систем с использованием современных информационных технологий. В качестве среды разработки предложено использовать среду визуального программирования Borland C++ Builder. ^ Несмотря на высокие потенциальные возможности CASE-технологий (увеличение производительности труда, улучшение качества программных продуктов, поддержка унифицированного и согласованного стиля работы), далеко не все разработчики информационных систем (ИС), использующие CASE-средства, достигают ожидаемых результатов. Причины возможных неудач различны, но, видимо, основной причиной является неадекватное понимание сути программирования информационных систем и применения CASE-средств. Всегда следует быть готовым к трудностям, связанным с освоением новой технологии, последовательно преодолевать их и добиваться нужных результатов. ^ Одним из базовых понятий методологии проектирования ИС является понятие жизненного цикла ее программного обеспечения (ЖЦ ПО). ЖЦ ПО – это непрерывный процесс, который начинается с момента принятия решения о необходимости его создания и заканчивается в момент его полного изъятия из эксплуатации. Основным нормативным документом, регламентирующим ЖЦ ПО, является международный стандарт ISO/IEC 12207 (ISO – International Organization of Standardization – Международная организация по стандартизации, IEC – International Electrotechnical Commission – Международная комиссия по электротехнике). Он определяет структуру ЖЦ, содержащую процессы, действия и задачи, которые должны быть выполнены во время создания ПО. Структура ЖЦ ПО по стандарту ISO/IEC 12207 базируется на трех группах процессов:
Разработка включает в себя все работы по созданию ПО и его компонентов в соответствии с заданными требованиями, в том числе оформление проектной и эксплуатационной документации, подготовку материалов, необходимых для проверки работоспособности и соответствующего качества программных продуктов, материалов, необходимых для организации обучения персонала, и т. д. Разработка ПО предусматривает, как правило, анализ, проектирование и реализацию (программирование). Эксплуатация требует проведения работ по внедрению компонентов ПО, в том числе конфигурирование базы данных и рабочих мест пользователей, обеспечение эксплуатационной документацией, обучение персонала и т. д., а также по локализации проблем и устранению причин их возникновения, модификации ПО в рамках установленного регламента, подготовки предложений по совершенствованию, развитию и модернизации системы. Управление проектом связано с вопросами планирования и организации работ, создания коллективов разработчиков и контроля за сроками и качеством выполняемых работ. Техническое и организационное обеспечение проекта включает выбор методов и инструментальных средств для реализации проекта, определение методов описания промежуточных состояний разработки, разработку методов и средств испытаний ПО, обучение персонала и т. п. Обеспечение качества проекта связано с проблемами верификации, проверки и тестирования ПО. Верификация определяет, насколько текущее состояние разработки, достигнутое на данном этапе, отвечает требованиям этого этапа. Проверка позволяет оценить соответствие параметров разработки исходным требованиям и частично совпадает с тестированием, которое связано с идентификацией различий между действительными и ожидаемыми результатами и оценкой соответствия характеристик ПО исходным требованиям. В процессе реализации проекта важное место занимают вопросы идентификации, описания и контроля конфигурации отдельных компонентов и всей системы в целом. Управление конфигурацией является одним из вспомогательных процессов, поддерживающих основные процессы жизненного цикла ПО, прежде всего процессы разработки и сопровождения ПО. При создании проектов сложных ИС, состоящих из многих компонентов, каждый из которых может иметь разновидности или версии, возникает проблема учета их связей и функций, создания унифицированной структуры и обеспечения развития всей системы. Управление конфигурацией позволяет организовать, систематически учитывать и контролировать внесение изменений в ПО на всех стадиях ЖЦ. Общие принципы и рекомендации конфигурационного учета, планирования и управления конфигурациями ПО отражены в проекте стандарта ISO 12207-2. Каждый процесс характеризуется определенными задачами и методами их решения, исходными данными, полученными на предыдущем этапе, и результатами. Результатами анализа, в частности, являются функциональные модели, информационные модели и соответствующие им диаграммы. ЖЦ ПО носит итерационный характер: результаты очередного этапа часто вызывают изменения в проектных решениях, выработанных на более ранних этапах. ^ Одним из возможных подходов к разработке ПО в рамках модели ЖЦ является получившая в последнее время широкое распространение методология быстрой разработки приложений RAD (Rapid Application Development). Под этим термином обычно понимается процесс разработки ПО, содержащий три элемента:
Команда разработчиков должна представлять собой группу профессионалов, имеющих опыт в анализе, проектировании, генерации кода и тестировании ПО с использованием CASE-средств. Члены коллектива должны также уметь трансформировать в рабочие прототипы предложения конечных пользователей. Жизненный цикл ПО по методологии RAD состоит из четырех фаз:
На фазе анализа и планирования требований пользователи системы определяют функции, которые она должна выполнять, выделяют наиболее приоритетные из них, требующие проработки в первую очередь, описывают информационные потребности. Эта работа выполняется в основном силами пользователей под руководством специалистов-разработчиков. Ограничивается масштаб проекта, задаются временные рамки для каждой из последующих фаз. Кроме того, анализируется сама возможность реализации данного проекта в установленных рамках финансирования, на данных аппаратных средствах и т. п. Результатом данной фазы должны быть список и приоритетность функций будущей ИС, предварительные функциональные и информационные модели ИС. На фазе проектирования часть пользователей принимает участие в техническом проектировании системы под руководством специалистов-разработчиков. CASE-средства используются для быстрого получения работающих прототипов приложений. Пользователи, непосредственно взаимодействуя с ними, уточняют и дополняют требования к системе, которые не были выявлены на предыдущей фазе. Более подробно рассматриваются процессы системы. Анализируется, а если надо, и корректируется функциональная модель. Каждый процесс рассматривается детально. При необходимости для каждого элементарного процесса создается частичный прототип: экран, диалог, отчет, устраняющий неясности или неоднозначности. Задаются требования по разграничению доступа к данным. На этой же фазе происходит определение набора необходимой документации. После детального описания состава процессов оценивается количество функциональных элементов разрабатываемой системы и принимается решение о разделении ИС на подсистемы, поддающиеся реализации одной командой разработчиков за приемлемое для RAD-проектов время – порядка 60 – 90 дней. С использованием CASE-средств проект распределяется между различными командами (делится функциональная модель). Результатом данной фазы должны быть:
Все модели и прототипы должны быть получены с применением тех CASE-средств, которые будут использоваться в дальнейшем при построении системы. Данное требование вызвано тем, что в традиционном подходе при передаче информации о проекте с этапа на этап может произойти фактически неконтролируемое искажение данных. Применение единой среды хранения информации о проекте позволяет избежать этой опасности. В отличие от традиционного подхода, при котором использовались специфические средства прототипирования, не предназначенные для построения реальных приложений, а прототипы выбрасывались после того, как выполняли задачу устранения неясностей в проекте, в подходе RAD каждый прототип развивается в часть будущей системы. Таким образом, на следующую фазу передается более полная и полезная информация. На фазе построения выполняется непосредственно сама быстрая разработка приложения. На данной фазе разработчики производят итеративное построение реальной системы на основе полученных в предыдущей фазе моделей, а также требований нефункционального характера. Программный код частично формируется при помощи автоматических генераторов, получающих информацию непосредственно из репозитория CASE-средств. Конечные пользователи на этой фазе оценивают получаемые результаты и вносят коррективы, если в процессе разработки система перестает удовлетворять определенным ранее требованиям. Тестирование системы осуществляется непосредственно в процессе разработки. После окончания работ каждой отдельной команды разработчиков производится постепенная интеграция данной части системы с остальными, формируется полный программный код, выполняется тестирование совместной работы данной части приложения с остальными, а затем тестирование системы в целом. Завершается физическое проектирование системы:
Результатом фазы является готовая система, удовлетворяющая всем согласованным требованиям. На фазе внедрения производится обучение пользователей, организационные изменения и параллельно с внедрением новой системы осуществляется работа с существующей системой (до полного внедрения новой). Так как фаза построения достаточно непродолжительна, планирование и подготовка к внедрению должны начинаться заранее, как правило на этапе проектирования системы. Приведенная схема разработки ИС не является абсолютной. Возможны различные варианты, зависящие, например, от начальных условий, в которых ведется разработка: разрабатывается совершенно новая система; уже было проведено обследование предприятия и существует модель его деятельности; на предприятии уже существует некоторая ИС, которая может быть использована в качестве начального прототипа или должна быть интегрирована с разрабатываемой. Следует, однако, отметить, что методология RAD, как и любая другая, не может претендовать на универсальность, она хороша в первую очередь для относительно небольших проектов, разрабатываемых для конкретного заказчика. Если же разрабатывается типовая система, которая не является законченным продуктом, а представляет собой комплекс типовых компонентов, централизованно сопровождаемых, адаптируемых к программно-техническим платформам, СУБД, средствам телекоммуникации, организационно-экономическим особенностям объектов внедрения и интегрируемых с существующими разработками, на первый план выступают такие показатели проекта, как управляемость и качество, которые могут войти в противоречие с простотой и скоростью разработки. Для таких проектов необходимы высокий уровень планирования и жесткая дисциплина проектирования, строгое следование заранее разработанным протоколам и интерфейсам, что снижает скорость разработки. Методология RAD неприменима для построения сложных расчетных программ, операционных систем или программ управления космическими кораблями, т. е. программ большого объема (сотни тысяч строк) . Не подходят для разработки по методологии RAD приложения, в которых отсутствует ярко выраженная интерфейсная часть, наглядно определяющая логику работы системы (например, приложения реального времени) и приложения, от которых зависит безопасность людей (например, управление самолетом или атомной электростанцией), так как итеративный подход предполагает, что первые несколько версий наверняка не будут полностью работоспособны, что в данном случае исключается. ^ Современные CASE-средства охватывают обширную область поддержки многочисленных технологий проектирования ИС: от простых средств анализа и документирования до полномасштабных средств автоматизации, покрывающих весь жизненный цикл ПО. Наиболее трудоемкими этапами разработки ИС являются этапы анализа и проектирования, в процессе которых CASE-средства обеспечивают качество принимаемых технических решений и подготовку проектной документации. При этом большую роль играют методы визуального представления информации. Это предполагает построение структурных или иных диаграмм в реальном масштабе времени, использование многообразной цветовой палитры, сквозную проверку синтаксических правил. Графические средства моделирования предметной области позволяют разработчикам в наглядном виде изучать существующую ИС, перестраивать ее в соответствии с поставленными целями и имеющимися ограничениями. В разряд CASE-средств попадают как относительно дешевые системы для персональных компьютеров с весьма ограниченными возможностями, так и дорогостоящие системы для неоднородных вычислительных платформ и операционных сред. Так, современный рынок программных средств насчитывает около 300 различных CASE-средств, наиболее мощные из которых так или иначе используются практически всеми ведущими западными фирмами. Обычно к CASE-средствам относят любое программное средство, автоматизирующее ту или иную совокупность процессов жизненного цикла ПО и обладающее следующими основными характерными особенностями:
Интегрированное CASE-средство (или комплекс средств, поддерживающих полный ЖЦ ПО) содержит следующие компоненты:
Все современные CASE-средства могут быть классифицированы в основном по типам и категориям. Классификация по типам отражает функциональную ориентацию CASE-средств на те или иные процессы ЖЦ. Классификация по категориям определяет степень интегрированности по выполняемым функциям и включает отдельные локальные средства, решающие небольшие автономные задачи (tools), набор частично интегрированных средств, охватывающих большинство этапов жизненного цикла ИС (toolkit) и полностью интегрированные средства, поддерживающие весь ЖЦ ИС и связанные общим репозиторием. Помимо этого CASE-средства можно классифицировать по следующим признакам:
Классификация по типам в основном совпадает с компонентным составом CASE-средств и включает следующие основные типы:
Вспомогательные типы включают:
|
![]() | Методические указания к курсовому проектированию по дисциплине «Экономика организации» Методические указания к курсовому проектированию по дисциплине «Экономика организации». Тема «Технико-экономическое обоснование строительства... | ![]() | Методические указания к курсовому проектированию по дисциплине «Экономика организации» Методические указания к курсовому проектированию по дисциплине «Экономика организации». Тема «Технико-экономическое обоснование строительства... |
![]() | Методические указания к курсовому проектированию по дисциплине «Экономика и социология труда» Методические указания к курсовому проектированию по дисциплине «Экономика и социология труда» / Cост. А. Я. Кибанов, Г. В. Слуцкий,... | ![]() | Методические указания по курсу «Теоретическая грамматика современного... Логическим завершением избранного подхода к разработке учебно-методических материалов по теорграмматике являются методические указания... |
![]() | Методические указания к курсовому проектированию по дисциплине «Информационное... Целью курсового проекта является изучение методов и закрепление знаний в проектировании локальных реляционных баз данных в среде... | ![]() | Методические указания по дипломному проектированию Кондратьев А. В. Методические указания по дипломному проектированию. – М.: Московский университет потребительской кооперации, 2003... |
![]() | Ерофеев Е. В. Системы автоведения поездов. Методические указания к курсовому проекту Ерофеев Е. В. Системы автоведения поездов. Методические указания к курсовому проекту. М.: Миит, 2007. 16 с | ![]() | Методические указания к самостоятельной работе по дисциплине «Рынок ценных бумаг» Методические указания содержат основные требования к самостоятельной работе студентов дневного и заочного отделения по дисциплине... |
![]() | Методические указания по подготовке к зачету для студентов заочной формы обучения см21 Предмет и цели линейной оптимизации. Математическое программирование. Линейное программирование (ЛП) | ![]() | Методические указания по их выполнению по дисциплине «Культура делового общения» Тематика контрольных работ и методические указания по их выполнению по дисциплине |