Файл: Проектирование программ, этапы создания программного обеспечения.pdf
Добавлен: 25.06.2023
Просмотров: 72
Скачиваний: 2
СОДЕРЖАНИЕ
Глава 1. Основные технологии создания программного обеспечения
1.1 Стадии и этапы разработки программ
1.2 Технология конструирования программного обеспечения
Глава 2. Стратегии тестирования программного обеспечения
2.1 Исследование стратегий тестирования программного обеспечения
Их накопление, откладывание исправлений — не допустимо. Трудоемкость исправлений и затрачиваемое на это время — сложно прогнозируемые величины. При накоплении ошибок, мы накапливаем неопределённость, связанную с временем завершения проекта или завершения отдельного его этапа. Кроме того, некоторые исправления могут повлечь за собой серьезные архитектурные изменения, которые также могут повлиять на время разработки.
Основные причины ошибок:
1) Нарушение технологии: принципов ООП, принципов написания чистого кода. Примеры: большие классы (антипаттерн «God object»), большие методы, отсутствие единого подхода к именованию переменных и др. Все это естественным образом приводит к созданию хрупкого, запутанного, сложного кода, который, во-первых, способствует появлению ошибок, а во-вторых, затрудняет их поиск. Если речь идет об опытном, квалифицированном специалисте, то чаще всего нарушение технологии связано со спешкой.
2) Низкая квалификация работника, низкая культура кодирования. Здесь возможны два пути: либо развивать программиста, либо изначально набирать в команду высококвалифицированных специалистов.
3) Неудачно выбранный инструментарий, технологическая платформа. Можно привести пример с сильно и слабо типизированными языками, динамическая типизация — потенциальный источник ошибок, особенно для малоопытного программиста. Если есть выбор, то предпочтительнее язык с сильной типизацией.
Также проверка ошибок на этапе компиляции предпочтительнее, чем их проверка в процессе исполнения. Если язык не компилируемый (типа PHP) желательно использовать IDE с поверкой кода во время его редактирования, например, PhpStorm. Заключение. Вышеперечисленные потери — это далеко не все, что можно и нужно рассмотреть в рамках данной темы. Есть масса вопросов, связанных с организацией процесса, коммуникацией внутри и вне команды, выбором архитектурных решений, тестированием и др. Все это — потенциальные источники оптимизации трудозатрат и они также нуждаются в детальном рассмотрении.
Заключение
Проектирование — высокоинтеллектуальный процесс. Для понятия теории проектирования необходимо оперировать множеством терминов и определений, такими как проектная ситуация, технология, оптимизация программных разработок. Все это говорит о необходимости тщательно подходить к изучению словарного аппарата теории проектирования.
Программы в основном представляют собой сложные системы из миллионов машинных инструкций. Сложность определяется четырьмя основными причинами: сложностью задачи; сложностью управления процессом разработки; сложностью описания поведения отдельных подсистем; сложностью обеспечения гибкости конечного программного продукта.
При разработке программного обеспечения следует использовать следующие общие принципы: частотный; модульности; функциональной избирательности; генерируемости; функциональной избыточности; «по умолчанию».
Одной из важнейших составляющих успешного проектирования является системный подход, предусматривающий всестороннее исследование сложного объекта.
При создании и развитии ПО рекомендуется применять следующие общесистемные принципы: включения; системного единства; развития; комплексности; информационного единства; совместимости; инвариантности.
В программировании существуют различные парадигмы, приводящие к разным подходам при написании программ: процедурно-ориентированный; объектно-ориентированный; логически-ориентированный; ориентированный на правила; ориентированный на ограничения; параллельное программирование, а также многие другие.
Необходимо помнить, что проектирование неотъемлемо от различных стандартов (ГОСТ, ANSI, проекта) и их следует соблюдать как при оформлении документации, так и для унификации вашего проекта.
Программы создаются, эксплуатируются и развиваются во времени, проходя свой жизненный цикл. Характерная особенность жизненного цикла ПО — отсутствие этапа утилизации.
В процессе выполнения проекта предусматриваются отдельные моменты времени, которые характеризуются законченным оформлением результатов всех работ, выполненных разработчиками до данного момента. Согласно ГОСТ возможны следующие стадии разработки: ТЗ; ЭП; ТП; РП; внедрение. Возможны также и нестандартные этапы и стадии. Набор этапов и стадий отражает результаты проектирования самого процесса проектирования.
Модели играют важнейшую роль в проектировании программ. При построении моделей используется абстрагирование и декомпозиция.
Каждая стадия проекта завершается утверждением программных документов. Документы включают описания (спецификации). Спецификации являются моделями. Спецификации делятся на внешние и внутренние.
Рациональный выбор стандартных элементов («кубиков») имеет два аспекта: удобство при повторном использовании и возможность осуществления синтеза из малых элементов более общих элементов.
Имена, используемые в программах, должны соответствовать назначению, обладать узнаваемостью, обеспечивать запоминаемость, быть краткими, обладать уникальностью.
Список использованных источников
- Артемьев. А. работаем на ноутбуке в Windows7. Самоучитель [Текст] / Артемьев. А. – СПб., 2014.
- Граничин,о.Н. Информационные технологии в управлении / [Текст]. – М.: Бином, 2014.
- Додд, А.З. Мир телекоммуникаций.обзор технологий иотрасли [Текст] / А.З. Додд. – М.:Олимп-Бизнес, 2015. – 400 с.
- Ковтанюк Ю.С. Библия пользователя ПК. — М.: «Диалектика», 2016.
- Кузнецов Е. Ю.,осман В. М. Персональные компьютеры и программируемые микрокалькуляторы: Учеб. пособие для ВТУЗов - М.: Высш. шк. -2014.
- Ляхович В. Ф., Крамаров С.о.основы информатики: учебник. – М., 2015.
- Мелехин, В.Ф. Вычислительные машины, системы и сети [Текст] / В.Ф. Мелехин, Е.Г. Павловский. – М.: Академия, 2016. – 557 с.
- Семененко В.А. Айдидын В.М., Липова А.Д. Электронные вычислительные машины. – М.: Высшая школа, 2014.
- Сапков, В.В. Информационные технологии и компьютеризация делопроизводства / [Текст]. – М.: Академия, 2013. – 288 с.
- Скотт М. Модернизация и ремонт ПК. — 17-е изд. — М.: «Вильямс», 2015.
- Степаненкоо.С. Персональный компьютер, учебный курс, 2-е издание. – СПб.: Компьютерное изд-во «Диалектика», 2014. – с. 195.
- Современный компьютер: Сб. науч.-попул. статей; Пер. с англ./Под ред. В. М. Курочкина; Предисл. Л. Н. Королева. — М.: Мир, 2015. – с. 10.
- Трофимов, В. Информационные системы и технологии в экономике и управлении / [Текст]. – М.: Юрайт, 2012. – 528 с.
- Уинн Л. Рош. Библия по модернизации персонального компьютера. - Мн.: ИПП «Тивали-Стиль», 2014.
- Фигурнов В. Э. «IBM PC для пользователя», 4-е издание, переработанное и дополненое, M., 2013.
- Фролов А., Фролов Г. Аппаратноеобеспечение IBM PC. М.:Диалог-МИФИ, 2012. – с. 102.
- Хомоненко А.Д.основы современных компьютерных технологий: Учебник / Под ред. проф., – СПб.: КОРОНА принт, 2015. – 223 с.
- Шафрин Ю.А. IBM PC.Учебник. – М., 2012.
- Яковенко Е.А. Компьютерные курсы. Учебник пользователя. – М.: АСП Сталкер, 2015.
-
Сапков, В.В. Информационные технологии и компьютеризация делопроизводства / [Текст]. – М.: Академия, 2013. – 288 с. ↑
-
Хомоненко А.Д.основы современных компьютерных технологий: Учебник / Под ред. проф., – СПб.: КОРОНА принт, 2015. – 223 с. ↑
-
Сапков, В.В. Информационные технологии и компьютеризация делопроизводства / [Текст]. – М.: Академия, 2013. – 288 с. ↑
-
Трофимов, В. Информационные системы и технологии в экономике и управлении / [Текст]. – М.: Юрайт, 2012. – 528 с ↑
-
Трофимов, В. Информационные системы и технологии в экономике и управлении / [Текст]. – М.: Юрайт, 2012. – 528 с ↑
-
Поппендик, М., Бережливое производство программного обеспечения: от идеи до прибыли [Текст]: пер. с англ. / М. Поппендик, Т. Поппендик — М.: Вильямс, 2010. ↑
-
Бережливое производство [Электронный ресурс]. — Режим доступа: https://ru.wikipedia.org/
wiki/ Бережливое_производство ↑
-
Поппендик, М., Бережливое производство программного обеспечения: от идеи до прибыли [Текст]: пер. с англ. / М. Поппендик, Т. Поппендик — М.: Вильямс, 2010. ↑
-
Каскадная модель [Электронный ресурс]. — Режим доступа: https://ru.wikipedia.org/ wiki/ Каскадная_модель ↑
-
Яковенко Е.А. Компьютерные курсы. Учебник пользователя. – М.: АСП Сталкер, 2015. ↑
-
Agile-манифест [Электронный ресурс]. — Режим доступа: http://agilemanifesto.org ↑
-
Кериевски, Д., Рефакторинг с использованием шаблонов [Текст]: пер. с англ. / Д. Кериевски — М.: Вильямс, 2014. ↑