Файл: 1.(Гриша)Дайте определение понятия репозитория проекта. Опишите классы уровней репозиториев.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 22.11.2023

Просмотров: 761

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


1.(Гриша)Дайте определение понятия репозитория проекта. Опишите классы уровней репозиториев.

Репозиторий – Это часть системы Git которая позволяет программистам

совместно работать над проектом. С этим инструментом можно безопасно

вносить изменения в программный код.

Классы уровней репозитория:

Модельный – хорошо может быть описан универсальным языком UML. Данный

язык является абстрактным, не привязанным к конкретной модели. Язык даёт

возможность описать зависимости элементов, иерархию, взаимосвязи, свойства

Программного интерфейса – разумно описывать с помощью языка IDL

обеспечивающего независимость спецификации интерфейсов от их реализации.

Уровень играет только роль промежуточного слоя – его средства поддерживают

распределённое программирование.

Окружения – предназначен для хранения информации разделяемой

компонентами и подкомпонентами систем программирования в процессе их

работы.

2.(Гриша)Расскажите об инструментарии анализа качества программных продуктов в среде разработки

Один или несколько взаимосвязанных программных продуктов для

определенного типа ПК(компьютера) , технология работы в котором позволяет

достичь поставленную пользователем цель.(Инструментарий)
Инструментарии ИТ :

Электронные календари;

Информационные системы функционального назначения.
Качественный программный продукт должен отвечать функциональным и не

функциональным требованиям, в соответствии с которыми он создался (иметь

ценность для бизнеса , отвечать ожиданиям пользователей.
3.(Гриша)Дайте определение понятия структура проекта. Назовите основные задачи

структуризации.

Структура проекта – это части (Элементы), необходим и достаточные для

эффективного осуществления процесса управления проектом.

Задачи:

Разбивка проекта на поддающиеся управлению блоки .

Распределение ответственности за различные элементы проекта и увязка

работ со структурой организации

Точная оценка необходимых необходимых затрат – средств, времени, и

материальных.

4(Гриша).Дайте определение свойств качественного программного обеспечения: мобильность, полезность, машино-независимость. Поясните их назначение.

Мобильность ПО – (переносимость ПО ) мера лёгкости , с которой ПО может

быть модифицирована для дальнейшего использования в окружении, отличной от


того в котором оно было первоначально реализовано

Назначение: нужна для дальнейшего использования ПО на различных

платформах

Полезность – способность ПО удолетворять установленным или

предполагаемым потребностям, при заданных условиях.

Назначение: зачем нужен, кто будет пользоваться, актуальность.

Машино-независимость – это когда программа должна выполняться на ПК любой

конфигурации.

Назначение: Независимо от того на сколько мощный ПК, или на сколько старое

ПО , приложение должно запускаться.

5.(Гриша)Дайте определение понятия структура проекта. Опишите виды и классификацию проектов.

Структура проекта – это части (Элементы), необходим и достаточные для

эффективного осуществления процесса управления проектом.

Виды проектов:

1. Технические проекты - это проекты, которые связаны с разработкой или внедрением новых

технологий, продуктов или производственных процессов.

2. Заготовительные проекты - это проекты, которые связаны с изучением и подготовкой

ресурсов для будущих действий, например, исследование рынка или поиск подходящего

местоположения для строительства завода.

3. Организационные проекты - это проекты, направленные на внедрение новых методов в

управлении бизнесом, изменение организационной структуры или изменение корпоративной

культуры.

Классификация проектов:

1. По длительности - короткие или длительные.

2. По степени стандартизации - стандартный или нетипичный проект.

3. По характеру взаимодействия с заказчиком - внутренний или для внешнего заказчика.

4. По степени новизны - инновационные или нет.

5. По степени риска - высокорисковые или низкорисковые.

6. По типу деятельности - технические, строительные, организационные и др.

6.(Ася)Дайте определение свойств качественного программного обеспечения: точность, доступность, модифицируемость. Поясните их назначение.

Точность - способность программного обеспечения выполнять задачи без ошибок и в соответствии с требованиями, установленными заказчиком.

Это означает, что программа должна работать корректно и не допускать неправильных результатов или поведения, которые могут привести к ошибкам или проблемам для пользователей. Важно, чтобы программное обеспечение было тщательно протестировано и проверено на точность перед его выпуском

, чтобы гарантировать его правильную работу и соответствие требованиям заказчика.

Доступность - способность программного обеспечения быть доступным для пользователей в любое время и в любом месте, где они нуждаются в его использовании.

Это означает, что программа должна быть легко доступна для установки и использования на различных устройствах и операционных системах, а также должна иметь достаточно высокую скорость работы и отзывчивость. Кроме того, доступность также означает, что программа должна быть доступна для пользователей с ограниченными возможностями, такими как люди с инвалидностью или пожилые люди, и должна быть способна адаптироваться к различным языкам и культурам. Важно, чтобы программное обеспечение было доступно для всех пользователей и обеспечивало удобство и комфорт при использовании.

Модифицируемость - способность программного обеспечения быть легко изменяемым и дополняемым, чтобы соответствовать изменяющимся требованиям и потребностям пользователей.

Это означает, что программа должна быть разработана таким образом, чтобы ее компоненты можно было легко заменять, добавлять или удалять без значительных изменений в ее архитектуре. Еще это также означает, что программа должна быть легко поддерживаемой и обновляемой, чтобы ее функциональность могла быть расширена или изменена в будущем.

7.(Аня)Сформулируйте определение интеграции программных модулей. Опишите виды и цели интеграции программных модулей.

Интеграция – процесс разработки и внедрения программного обеспечения, с помощью которого отдельные компоненты могут быть связаны в единую систему. Такое объединение позволяет поддерживать бизнес-процессы и оперативно обмениваться информацией.

Цель интеграции — обеспечение безопасного и бесперебойного обмена информацией между программными продуктами, которые изначально не предназначены для совместной работы.

В зависимости от цели внедрения интеграцию, в первую очередь, подразделяют на внутреннюю и внешнюю. Внутренняя подразумевает добавление конкретных программных модулей без привлечения внешних ресурсов. Внешняя интеграция позволяет внутренние процессы синхронизировать с более глобальными.

Доступны 3 вида интеграции:

  • облачная;

  • локальная;

  • гибридная.

Каждый из видов, в свою очередь, различается по следующим методам:


  • На уровне брокеров. Данный вид интеграции считается универсальным. При необходимости задействуется дополнительный модуль – брокер. Он подключается к другим необходимым модулям. Такой вид интеграции считается сложным в реализации, требует определенных знаний.

  • На уровне интерфейсов. Целью данного вида интеграции изначально было объединение разноплановых приложений. Сложность такого типа в последовательном подключении элементов. Это вызывает ряд ошибок в процессе взаимодействия. К тому же часто встречаются Legacy софт.

  • На уровне сервисов. Здесь при помощи программного обеспечения осуществляется фиксация данных и интерфейсов с двух сторон. Это один из немногих видов неавтоматизированной интеграции, то есть участие человека здесь остро необходимо.

  • Функционально-прикладная и организационная интеграция. Ключевым моментом здесь является объединение нескольких схожих или однотипных приложений. Этот вид наиболее удобен для крупных предприятий, корпораций. Именно за счет интеграции этого вида удается снизить затраты на обслуживающий персонал, так как практически все процессы максимально доступны.

  • Корпоративные программные приложения. Здесь используются не только приложения внутри системы, но и сам исполняемый код. Специализированное ПО и API позволяют использовать отдельные компоненты приложений в единое ядро. Такую систему легче администрировать и масштабировать при необходимости. Доступ к ядру осуществляется при помощи стандартных протоколов доступа, например, SOAP.

8.(Лера)Перечислите и охарактеризуйте виды тестирования производительности.

Существует шесть основных видов тестирования производительности:

-нагрузочное - Тестирование производительности, при котором имитируется реальная нагрузка на систему (приложение) и проверяется ее поведение (производительность). Цель состоит в поиске проблем и узких мест — чаще всего это идентификация максимального количества пользователей (транзакций), которое система может принять и обработать.

-объемное - Тип тестирования уровня производительности, проводимого для оценки способности элемента тестирования обработать определенные объемы данных (обычно равных или близких к максимальным указанным потенциальным возможностям) с точки зрения потенциальных возможностей пропускной способности, емкости памяти или того и другого.

-стресс-тестирование -это форма преднамеренно интенсивного или тщательного тестирования, используемого для определения стабильности данной системы, критической инфраструктуры или объекта. Она включает в себя тестирование сверх нормальной рабочей мощности, часто до предела, чтобы наблюдать за результатами.


- проверки стабильности (или надежности)- это проверка стабильности приложения/сайта, работающего длительное время в условиях большой нагрузки. Оно помогает разработчикам и архитекторам совершенствовать систему, делая ее более гибкой, устойчивой к стабильно большой нагрузке, и измерить пределы выносливости. Будет ли система гарантированно стабильной? Что можно сделать превентивно? Какое количество одновременных пользователей/запросов на протяжении месяца система готова отработать без выведения в режим обслуживания? Когда проявятся утечки памяти?

- масштабируемости -Итак, масштабируемость приложения (сайта) означает его способность беспроблемно обработать изменение условий, в которых работает система: увеличение трафика и объемов принимаемых данных, рост количества транзакций в базах данных, и так далее. Масштабируемость приложения — его умение «расти и расширяться».

- тестирование клиентской части - Цель такого тестирования - обнаружить ошибки и проблемы, связанные с взаимодействием пользователя с приложением, а также убедиться в соответствии программы требованиям и ожиданиям пользователей.

9.(Влад)Дайте определение понятия интеграции. Опишите современные технологии и

инструменты интеграции.

Интеграция - это обмен данными между системами с возможной последующей обработкой.

Интеграция – процесс разработки и внедрения программного обеспечения, с помощью которого отдельные компоненты могут быть связаны в единую систему.

Современные технологии:

• Технология СОМ от Microsoft. Это технологический стандарт от компании Microsoft, предназначенный для создания программного обеспечения на основе взаимодействующих компонентов, каждый из которых может использоваться во многих программах одновременно;

• Общая архитектура брокеров объектных запросов Common Object Request Broker Architecture (CORBA). CORBA обеспечивает взаимодействие между системами, работающих под разными операционными системами, написанными на разных языках программирования и запущенных на разном вычислительном оборудовании;

• Веб-сервисы. По сути, веб-сервисы — это реализация абсолютно четких интерфейсов обмена данными между различными приложениями, которые написаны не только на разных языках, но и распределены на разных узлах сети.

Все вышеуказанные технологии включают следующее:

• Компонентно-ориентированная парадигма программирования;