maran program engineering (Маран Программная инженерия), страница 2
Описание файла
PDF-файл из архива "Маран Программная инженерия", который расположен в категории "". Всё это находится в предмете "программная инженерия" из 4 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 2 страницы из PDF
1686.2.3. Метод функциональных диаграмм ....................................................... 1716.2.4. Предположение об ошибке .................................................................... 1746.3. Тестирование программных комплексов, построенных методомфункциональной декомпозиции .........................................................................
1746.4. Тестирование программных комплексов, построенных по объектноориентированной методике................................................................................. 1776.5. Отладка программ ......................................................................................... 1806.6. Средства тестирования Microsoft Visual Studio .......................................... 1816.7. Современный подход к проверке ................................................................
190Заключение............................................................................................................... 193Библиографический список.................................................................................... 1945ВведениеПрограммная инженерия — это комплексный подход построения программного обеспечения для самых разнообразных задач.
Она охватывает весьпроцесс от возникновения необходимости в новой программе до завершения ееэксплуатации. Применение методов программной инженерии способствует составлению программ высокого качества и c приемлемыми затратами.Целью данного учебного пособия является дать студентам первое представление об этой науке. В нем коротко рассмотрены все этапы жизненногоцикла программного обеспечения, приведены практические рекомендации поих выполнению, а также описание инструментальных средств для этого.
Авторнадеется, что после данного пособия читатель может самостоятельно освоитьболее подробные книги по этой тематике.В первой главе даны определения основных понятий, описание жизненного цикла программного продукта и его основных этапов, рассмотрены модели жизненного цикла и области их применения.Вторая глава содержит краткое описание методик создания программногообеспечения и условий их применения.Третья глава посвящена языкам UML и OCL, приведены описания диаграмм, их назначение и рекомендации по составлению.
Язык OCL рассмотренкак средство дополнения некоторых моделей на UML.В четвертой главе описана методика выполнения этапов жизненного цикла анализа и проектирования средствами UML и OCL. В качестве CASEсредства составления диаграмм используется Microsoft Visual Studio. Подробнопроанализированы отличия моделей анализа и проектирования и их реализациив упомянутой среде.Пятая глава содержит рекомендации по практической работе в среде Microsoft Visual Studio на языке C#. Автор попытался дать минимальные сведениядля разработки законченных приложений, состоящие как из интерфейса пользователя, так и логики решения задач, не вдаваясь при этом в алгоритмическиесложности и в тонкости применения визуальных компонентов. В этой же главерассмотрены вопросы рефакторинга и средства рефакторинга в применяемойсреде.
В основном рассмотрена технология WindowsForms, коротко изложены ипринципы WPF.Шестая глава посвящена рассмотрению тестирования программ и средствам тестирования в среде. Отмечено, что проверка результатов должна сопровождать весь жизненный цикл программного продукта, начиная с анализа, ведь известно, что стоимость устранения допущенных на начальных стадиях жизненного цикла ошибок обходится значительно дороже устранения ошибок реализации.Для чтения пособия необходима базовая подготовка по основам алгоритмизации и программирования, а также по базам данных. Примеры приведены наязыке C# в среде Microsoft Visual Studio, поэтому легче всего будет читателю, знакомому именно с этим языком.
В некоторых примерах используется язык LINQ.61. Жизненный цикл программного обеспечения1.1. Основные понятияСтандарт [1] устанавливает строгую связь между системой и применяемыми в ней программными средствами. Такая связь основывается на общихпринципах системной инженерии. Программное средство трактуется как единаячасть общей системы, выполняющая определенные функции в данной системе,что осуществляется посредством выделения требований к программным средствам из требований к системе, проектирования, производства программныхсредств и объединения их в систему. Этот принцип является фундаментальнойпредпосылкой для упомянутого стандарта, в котором программные средствавсегда существуют в контексте системы, даже если система состоит из единственного процессора, выполняющего программы.
В таком случае программныйпродукт или услуга всегда рассматриваются как одна из составных частей системы. Существует различие между анализом системных требований и анализомтребований к программным средствам, так как в общем случае построение системной архитектуры определяет системные требования для различных составных частей системы, а анализ требований к программным средствам предопределяет требования к ним, исходя из системных требований, назначенных каждой программной составной части. Конечно, в некоторых случаях непрограммных элементов в системе может быть настолько мало, что можно не делать различия между анализом системы и анализом программных средств. Дальнейшееизложение в настоящем пособии касается только программных средств.Программная инженéрия определяется как системный подход к анализу, проектированию, оценке, реализации, тестированию, обслуживанию и модернизации программного обеспечения.
Программная инженерия занимаетсяразработкой систематических моделей и надежных методов производства высококачественного программного обеспечения, и данный подход распространяется на все уровни — от теории и принципов до реальной практики созданияпрограммного обеспечения.Технология программирования — изучение процессов программнойинженерии, методов и инструментальных средств.В литературе и нормативно-технических документах встречаются следующие определения Программного обеспечения (ПО):• Все или часть программ, процедур, правил и соответствующей документации системы обработки информации.• Компьютерные программы, процедуры и, возможно, соответствующаядокументация и данные, относящиеся к функционированию компьютерной системы.• Совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ.7Используется и понятие программный продукт: совокупность компьютерных программ, процедур и, возможно, связанных с ними документации иданных.Согласно [1], жизненный цикл — это развитие системы, продукта, услуги, проекта или других изготовленных человеком объектов, начиная со стадииразработки концепции и заканчивая прекращением применения.
Другими словами можно сказать, что жизненный цикл программного обеспечения охватывает промежуток времени от возникновения необходимости в нем до завершения его эксплуатации. При возникновении такой необходимости возникает ивечный вопрос: приобрести уже готовый продукт или разработать собственный.Конечно, изобретать велосипед ни к чему, но на практике встречается многослучаев, когда по многим причинам выгоднее разработать самому.
Данноеучебное пособие предназначено будущим разработчикам, поэтому в дальнейшем рассмотрим только эту проблематику, оставляя вопросы выбора, приобретения, внедрения и эксплуатации готовых продуктов за кадром. Другими словами, мы ставим перед собой цель реализации программного продукта.В ходе процесса разработки происходит преобразование заданных поведенческих, интерфейсных и производственных ограничений в действия, которые создают системный элемент, выполненный в виде программного продукта.Результатом процесса является создание продукта, удовлетворяющего всемтребованиям. В ходе процесса реализации программных средств:• определяется стратегия реализации;• определяются ограничения по технологии реализации проекта;• изготавливается программная составная часть.В дополнение к этим действиям процесс реализации программныхсредств имеет следующие процессы более низкого уровня:• процесс анализа требований к программным средствам;• процесс проектирования архитектуры программных средств;• процесс детального проектирования программных средств;• процесс конструирования программных средств;• процесс комплексирования программных средств;• процесс квалификационного тестирования программных средств.В ходе реализации разработчик должен определить модель жизненногоцикла, соответствующую области применения, размерам и сложности проекта.Модель жизненного цикла должна содержать стадии, цели и выходы каждойстадии.
Виды деятельности и задачи процесса реализации программныхсредств должны быть выбраны и отражены в модели жизненного цикла. Этивиды деятельности и задачи могут пересекаться или взаимодействовать друг сдругом, могут выполняться итеративно или рекурсивно.После завершения разработки предстоят этапы жизненного цикла — внедрение и сопровождение.81.2. Процесс анализа требованийк программным средствам•••••••••••••••••В ходе процесса анализа требований к программным средствам:определяются требования к программным элементам системы и их интерфейсам;требования к программным средствам анализируются на корректность итестируемость;осознается воздействие требований к программным средствам на средуфункционирования;определяются приоритеты реализации требований к программным средствам;требования к программным средствам принимаются и обновляются помере необходимости;оцениваются изменения в требованиях к программным средствам постоимости, графикам работ и техническим воздействиям.В результате выполненной работы будут получены:спецификации функциональных характеристик и возможностей, включаяэксплуатационные, физические характеристики и условия окружающейсреды, при которых будет применяться программная составная часть;внешние интерфейсы к программной составной части;квалификационные требования;спецификации по безопасности, включая те спецификации, которые относятся к методам функционирования и сопровождения, влияния окружающей среды и ущерба для персонала;спецификации по защите, включая спецификации, связанные с угрозамидля чувствительной информации;спецификации эргономических факторов, включая спецификации, связанные с ручными операциями, взаимодействием человека с оборудованием, ограничениями по персоналу и областям, требующим концентрации внимания и чувствительным к ошибкам человека и уровню его обученности;описание данных и требования к базам данных;инсталляция и требования к приемке поставляемого программного продукта в местах функционирования и сопровождения;требования к документации пользователя;операции пользователя и требования к их выполнению;пользовательские требования к сопровождению.91.3.