Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Описать методы, средства и процедуры ТРПО.



Описать методы, средства и процедуры ТРПО.

При моделировании будущего программного средства, разработчик определил, что будущая система состоит не менее чем из 105 элементов. Для этой системы в данной модели оказалось недостаточно информации для эффективного ее управления. О какой сложности системы идет речь. Укажите признаки.

Какое количество отделов вы создали бы у себя в компании, если бы являлись руководителем компании, а управленческого персонала было 67 человек? Почему?

Ответ:

Технология разработки ПО - процесс от момента задумки создания ПО до последнего дня существования.

Различают методы, средства и процедуры ТРПО.

Методы обеспечивают решение следующих задач:

· планирование;

· анализ системных и программных требований;

· проектирование алгоритмов, структур данных и программных структур;

· кодирование;

· тестирование;

· сопровождение.

Средства (утилиты) ТРПО обеспечивают автоматизированную или автома­тическую поддержку методов.

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

Процесс разработки ПО состоит из последовательности шагов, использующих методы, утилиты и процедуры. Эти последовательности шагов называют па­радигмами ТРПО.

Данная система является сложной, так как количество элементов, из которых она состоит 105. Мы знаем, что максимальное количество взаимосвязей между элементами, которые человек в состоянии уверенно перебирать 6. Пути взаимодействия между элементами в данной системе для человека перебрать невозможно. Для ее эффективного управления оказалось недостаточно информации, что так же свидетельствует о сложности системы.

2. Дать понятие ЖЦ ПО.

Описать основные этапы ЖЦ ПО: системный анализ, проектирование, разработка, эксплуатация и сопровождение.

При разработке программного продукта, на одном из этапов, для принятия решения был применен следующий подход:

- постановка проблемы

- обоснование цели

- построение модели

- принятие решения (выбор одного решения)

- уточнение конечной цели.

Какой из основных этапов ЖЦ ПО рассматривался. Ответ обосновать.

Назовите известный программный продукт, жизненный цикл которого прекратил свое существование.

Ответ:

Жизненный цикл программного обеспечения — период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации

Системный анализ задает роль каждого элемента в компьютерной системе, взаимодействие элементов друг с другом.

Проектирование состоит в создании представлений:

· архитектуры ПО;

· модульной структуры ПО;

· алгоритмической структуры ПО;

· структуры данных;

· входного и выходного интерфейса.

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

Тестирование — выполнение программы для выявления дефектов в функциях, логике и форме реализации программного продукта.

Сопровождение — это внесение изменений в эксплуатируемое ПО. Цели изменений:

· исправление ошибок;

· адаптация к изменениям внешней для ПО среды;

· усовершенствование ПО по требованиям заказчика.

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

3. Перечислить основные виды моделей ЖЦ ПО.

Описать каскадную (водопадную) модель ЖЦ ПО. Дать графическое изображение.

Заказчик обратился к разработчику создать программный модуль «Учет успеваемости учащихся» предназначенный для оперативного учета успеваемости учащихся в сессию заведующим отделением, куратором и сотрудниками колледжа. Будущий программный продукт хорошо специфицирован, и последовательное выполнение этапов проекта велось в строгом фиксированном порядке. Определить, какой вид модели ЖЦ ПО для разработки был использован. Ответ обосновать.

Какая из моделей ЖЦ ПО, по-вашему, мнению, наиболее часто используется мелкими компаниями-разработчиками? Почему?

Ответ:

Существуют три вида моделей ЖЦ ПО: каскадная (водопадная), эволюционная, спиральная.

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

 

Достоинства каскадной (водопадной) модели: дает план и временной график по всем этапам проекта, упорядочивает ход конструирования.

Недостатки каскадной (водопадной) модели:

1) реальные проекты часто требуют отклонения;

2) задача и исходные требования должны быть точно сформулированы;

3) результаты проекта доступны заказчику только в конце работы.

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

4. Перечислить основные виды моделей ЖЦ ПО.

Предприятие ОАО «Спартак» обратилось в компанию по разработке ПО для создания сайта предприятия. На протяжении всего времени работы компания-разработчик тесно сотрудничала с заказчиком. Процессы специфицирования, разработки и аттестации ПО в данный период выполнялись параллельно. Определить, какой вид модели ЖЦ ПО был использован для разработки. Что выясняла компания разработчик у заказчика.

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

 

5. Перечислить основные виды моделей ЖЦ ПО.

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

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

Ответ:

Интерфейс пользователя — разновидность интерфейсов, в котором одна сторона представлена человеком (пользователем), другая — машиной.

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

Принцип Описание
Учет знаний пользователя В интерфейсе необходимо использовать термины и понятия, взятые из опыта будущих пользователей системы
Согласованность Интерфейс должен быть согласованным в том смысле, что однотипные (но различные) операции должны выполняться одним и тем же способом
Минимум неожиданностей Поведение системы должно быть прогнозируемым
Способность к восстановлению Интерфейс должен иметь средства, позволяющие пользователям восстановить данные после ошибочных действий
Руководство пользователя Интерфейс должен предоставлять необходимую информацию в случае ошибок пользователя и поддерживать средства контекстно-зависимой справки
Учет разнородности пользователей В интерфейсе должны быть средства для удобного взаимодействия с пользователями, имеющими разный уровень квалификации и различные возможности

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

9. Дать понятие функциональной декомпозиции.

При разработке программного продукта выполнение разработки производилось строго по уровням. Исключения допускались при наличии зависимости по данным, т.е. если обнаруживалось, что некоторый модуль использует результаты другого. Основной проблемой данного метода является большое количество достаточно сложных заглушек. Какой подход разработки ПО был использован? Указать признаки.

«Постройка должна была начинаться с крыши и кончаться фундаментом» Возможно ли это. Как это применимо в разработке ПО.

Ответ:

Функциональная декомпозиция - разбиение сложного процесса на составляющие его функции.

Нисходящий подход. Предполагает, что проектирование и последующая реализация компонентов выполняется сверху-вниз, т.е. вначале проектируют компоненты верхних уровней иерархии, затем следующих и так далее до самых нижних уровней. В той же последовательности выполняют и реализацию компонентов. При этом в процессе программирования компоненты нижних, еще не реализованных уровней заменяют специально разработанными отладочными модулями-«заглушками», что позволяет тестировать и отлаживать уже реализованную часть.

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

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

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

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

Утверждение «структура программы — искусственно выделенные программистом взаимодействующие части программы» верно? Использование рациональной структуры устраняет проблему сложности разработки; делает программу понятной людям; повышает надежность работы программы при сокращении срока ее тестирования и сроков разработки вообще.

 

 

11. Дать понятие структурной схемы.

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

На стадии проектирования ПО, для описания структуры проектируемой системы использовалась модель диаграмм, где все функции организации были представлены в виде блоков. Взаимодействие блоков друг с другом описаны посредством интерфейсных дуг, выражающих «ограничения», которые, в свою очередь, определяют, когда и каким образом функции выполняются и управляются. О каком методе идет речь? Ответ обосновать.

Можно изобразить диаграмму.

О методе SADT,

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

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

Как вы считаете, существует ли необходимость дополнительного обучения и тренировки различных категорий специалистов, которые имеют какое-либо отношение к процессу разработки ПО при использовании СASE-технологии. Почему?

 

CASE- технология используется для создания и эксплуатации систем ПО. Цель CASE-технологий – добиться резкого роста производительности труда и облегчить работу программистов, проектировщиков, аналитиков и руководителей проектов.

Ключевые характеристики:

Анализ и проектирование.

Проектирование баз данных и файлов.

Программирование.

Сопровождение и реинжиниринг.

 

Снижается продуктивность процессов разработки и сопровождения ПО, качество результатов разработки. Отсутствие таких данных затрудняет количественную оценку воздействия, оказываемого внедрением CASE-средств.

Так как цель CASE-технологий – добиться резкого роста производительности труда и облегчить работу программистов и других специалистов существует постоянная необходимость дополнительного обучения и тренировки различных категорий специалистов.

 

20. Дать понятие концептуальной модели UML.

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

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

Можно ли утверждать: «Хотя диаграмма вариантов использования иногда оказывается полезной, без нее можно обойтись». Ответ обоснуйте.

Модель UML ‒ это описание объекта или явления.

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

Актеры

2. Прецедент — описание последовательности действий, выполняемых системой в интересах отдельного актера и производящих видимый для актера результат.

3. Взаимодействие — поведение, заключающее в себе набор сообщений, которыми обменивается набор объектов в конкретном контексте для достижения определенной цели.

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

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

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

25. Дать понятие методологии RAD.

Заказчик обратился к разработчику с задачей разработать программный продукт, который в дальнейшем требовал построения сложной расчетной программы, содержащей большой объем (сотни тысяч строк). Можно ли в данном случае применить методологию RAD. Ответ обосновать.

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

Описать типы ошибок.

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

Можно ли провести тестирование ПО и выявить 100% ошибки. Если возможно, то в каких случаях?

Тестирование — процесс выполнения программы с целью обнаружения ошибок.

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

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

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

 

Описать классы ошибок.

Этапы тестирования ПО.

Описать методы, средства и процедуры ТРПО.

При моделировании будущего программного средства, разработчик определил, что будущая система состоит не менее чем из 105 элементов. Для этой системы в данной модели оказалось недостаточно информации для эффективного ее управления. О какой сложности системы идет речь. Укажите признаки.


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-03-17; Просмотров: 3604; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.036 с.)
Главная | Случайная страница | Обратная связь