Документ из архива «Экзамен — Вопросы и ответы», который расположен в категории » «. Всё это находится в предмете «проектирование программных систем» из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе «к экзамену/зачёту», в предмете «проектирование программных систем» в общих файлах.
Онлайн просмотр документа «Экзамен — Вопросы и ответы»
Текст 4 страницы из документа «Экзамен — Вопросы и ответы»
- модули выполняют слишком много связанных, но различных функций;
- при проектирования остались невыявленными общие функции, вследствие чего они рассредоточены и по-разному реализованы в разных модулях;
- модули взаимодействуют посредством совместно используемых или общих данных самым неожиданным образом.
2. Структурное проектирование модуля
Компиляция и интерпретация за 10 минут
Необходимо всегда делать так, чтобы была одна точка входа в модуль и одна точка выхода из него. Варианты:
- линейная структура;
- ветвление из входной точки ветвями в итоге в одну выходную;
- цикл — по кругу внутри можно ходить сколько угодно, но выход из цикла только в одну выходную точку модуля.
3. Характеристики модуля
Чем характеризуется модуль при попытках его изменения, отладке и поиске ошибок:
- функциональная прочность. После проведения декомпозиции и разбиения модуля на несколько, его функциональность должна сохраняться;
- информационная прочность — когда данные, используемые модулем, находятся внутри самого же модуля, внешние переменные не используются;
- сцепление по данным — передача данных из модуля в модуль должна быть управляемой. А лучше вообще не передавать данные от модуля к модулю;
- сцепление по общей области — избегать его всеми силами;
- сцепление по по управлению;
- сцепление по формату;
- сцепление по содержимому — по общим константам;
- размер модуля — исключительно для удобства человека, чтобы модуль был обозримым.
4. Хороший программный модуль
- Сложность взаимодействия модуля с другими модулями должна быть меньше сложности его внутренней структуры
- Хороший модуль снаружи проще, чем внутри
- Хороший модуль проще использовать, чем построить
8. Роль абстракции в процессе проектирования. Барьер абстракции. Абстракции сущности и абстракции поведения.
- выделяет существенные характеристики некоторого объекта, отличающие его от всех других видов объектов и, таким образом, чётко определяет его концептуальные границы с точки зрения наблюдателя;
- разделяет смысл и реализацию объекта;
- выделение существенных особенностей объекта и отделения их от несущественных — барьер абстракции.
- абстракция сущности – объект представляет собой полезную модель некой сущности в предметной области.
- абстракция поведения – объект состоит из обобщенного множества операций.
- абстракция виртуальной машины – объект группирует операции, которые либо вместе используются более высоким уровнем управления, либо сами используют некоторый набор операций более низкого уровня
- произвольная абстракция – объект включает в себя набор операций, не имеющих друг с другом ничего общего
Центральной идеей абстракции является понятие инварианта – некоторого логического условия, значение которого (истина или ложь) должно сохраняться. Для каждой операции объекта можно задать предусловия (инварианты предполагаемые операцией) и постусловия (инварианты, которым удовлетворяет операция). Изменение инварианта нарушает контракт, связанный с абстракцией. Все абстракции обладают как статическими, так и динамическими свойствами.
9. Уровень реализации. Критерии выбора языка программирования и стандартов программирования.
Уровень реализации включает:
- Выбор языка программирования
- Выбор стандартов программирования
- Выбор инструментария программирования
- Проектирование диалогового взаимодействия
- Уровни квалификации. Главный программист
- Компоновка программ
- Контроль версий системы
Выбор языка должен производиться на основе требований к разрабатываемому продукту с учетом следующих факторов:
• парадигма языка программирования;
• компилируемость или интерпретируемость кода;
• количество потребляемой памяти.
Сложность языка не всегда напрямую связана с его мощностью.
Концепция языка программирования неотрывно связана с его реализацией. Для того чтобы компиляция одной и той же программы различными компиляторами всегда давала одинаковый результат, разрабатываются стандарты языков программирования. Существует ряд организаций, целенаправленно занимающихся вопросами стандартизации. Это Американский национальный институт стандартов ANSI (American National Standards Institute), Институт инженеров по электротехнике и электронике IEEE (Institute of Electrical and Electronic Engineers), Организация международных стандартов ISO (International Organization for Standardization). Как правило, при создании языка выпускается частный стандарт, определяемый разработчиками языка.
10. Проектирование программных систем. Главный программист, его задачи и функции
- в большей степени связано с искусством;
- программа наследует все проблемы реальной системы;
- при проектировании даётся обоснование как ПО, так и ТС;
- проектирование — это итерационный процесс;
- проектированием может заниматься не каждый.
- разбиение на уровни абстракций: от самых крупных, важных вещей в проекте к самым мелким;
- на каждом уровне абстракции 7 или менее элементов, потому что человек за раз может держать в голове только 7 вещей;
- ограниченный контекст — только важные элементы: не надо в один документ писать обо всём на свете, для каждого аспекта должен быть свой, отдельный документ;
- должны определяться как данные, так и операции над ними.
- Верхний уровень
- разделение на подсистемы, модули;
- определение взаимодействия;
- реализации замкнутости подсистем.
- Средний уровень
- реализация технических решений;
- выделение макрослоёв;
- проектирование модулей;
- определение потоков данных.
- Нижний уровень
- кодирование программ;
- технологии кодирования;
- структурное программирование.
- обеспечивает создание и эффективное функционирование отдела;
- на основе анализа задач и возможностей подразделения составляет календарный план работы и определяет направления, формы, методы и сроки его реализации;
- несет ответственность за эксплуатацию и развитие АИС в части системного и прикладного ПО;
- обеспечение поддержки программных средств, используемых на предприятии;
- изучение рынка программных средств.
11. Тестирование программ. Тестирование модулей. Тестирование скомпонованной программы.
Тестирование и верификация:
- верификация с начала разработки;
- проведение инспекций кодов программ;
- тестирование отдельных модулей;
- тестирование скомпонованной программы;
- планирование тестирования проводится одновременно с началом работ.
Процесс тестирования может быть представлен в виде разворачивающейся спирали.
- Тестирование элементов – индивидуальная проверка каждого модуля. Для обнаружения ошибок в рамках модуля тестируются его важнейшие управляющие пути. Тестирование элементов обычно рассматривается как дополнение к этапу кодирования. Оно начинается после разработки текста модуля.
- Тестирование интеграции – тестирование сборки модулей в программную систему.
- Тестирование правильности – проверить реализацию в программной системе всех функциональных и поведенческих требований, а также требования эффективности.
- Системное тестирование – проверка правильности объединения и взаимодействия всех элементов компьютерной системы, реализации всех системных функций. В конечном счете системные тесты должны проверять, что все системные элементы правильно объединены и выполняют назначенные функции.
- Тестирование восстановления
- Тестирование безопасности
- Стрессовое тестирование
- Тестирование производительности
12. Управление разработкой программ. Управление сроками. Управление кадрами. Управление организационной структурой.
- спецификация требований — составление ТЗ;
- организационная структура;
- сроки реализации;
- расстановка кадров;
- бюджет;
- документирование рабочих стандартов.
Каждый проект, сложный или простой, большой или маленький, проходит несколько этапов развития.
- Идея(замысел)
- Разработка
- Набор исполнителей
- Выполнение проекта
- Завершение проекта
Когда начало и завершение проекта длится не более трех лет это краткосрочный проект, проекты от трех до пяти лет – считаются средними, а уже от пяти лет – долгосрочным. Для того, что бы понять в какие сроки проект укладывается, необходимо создать график исполнения. Если график удовлетворяет всех участников проекта – можно приступать к выполнению, иначе необходимо оптимизировать сроки.
Коллектив – главный ресурс достижения успеха. Поэтому к подбору персонала необходимо подойти со всей ответственностью, не жалея сил и времени.
Работа с кадрами состоит из следующих элементов:
- оценки потребностей и определения критериев подбора кадров;
- подбора кадров и приема на работу;
- обучения кадров;
- руководства кадрами (организационной структурой);
- оценки качества работы персонала.
13. Управление разработкой программ. Значение внутренних стандартов. Документирование разработки.
Это особый вид управления проектами, в рамках которого происходит планирование, отслеживание и контроль за проектами по разработке программного обеспечения. Ключевым моментом в управлении проектом по разработке программного обеспечения является правильный выбор метода разработки.
Управление разработкой программ:
1. Спецификация требований
2. Организационная структура
3. Сроки реализации
4. Расстановка кадров
6. Документирование рабочих стандартов
Внутрифирменные (внутрикорпоративные) стандарты занимают особое место в классификации стандартов. Это связано с тем, что они регламентируют технологические процессы, происходящие внутри фирмы (например процессы анализа, кодирования, тестирования), они максимально конкретны и детализируют уровень мероприятий, если пользоваться управленческой терминологией.
Внутрифирменные стандарты, как правило, базируются на применении методик и технологий, которые:
- зарекомендовали себя лучшим образом в аналогичных проектах;
- получили наибольшее распространение в области разработки программного обеспечения и непосредственно в области, для которой программное обеспечение создается;
- являются передовыми и многообещающими.
- Требования формулируются совместно заказчиком и проектировщиком с максимально возможной строгостью
- Язык формулировок требований должен быть понятен пользователю и проектировщику
- Нужно документировать требования
- Если требования не записаны и не сделаны доступными разработчикам, они вроде бы и не существуют
Постоянное документирование должно составлять неотъемлемую часть каждого шага программирования. Постановка задачи, проектные документы, алгоритмы и программы – все это документы. Внутренняя документация, включенная непосредственно в программу, облегчает чтение кода.
При разработке программы создается большой объем разнообразной документации. Она необходима как средство передачи информации между разработчиками программы, как средство управления разработкой программы и как средство передачи пользователям информации, необходимой для применения и сопровождения программы.
14. Методы интеграции информационных систем. Интеграция однородных и разнородных систем.
Интеграция данных и знаний в большинстве случаев основана на трех методах:
Источник: studizba.com
ТПТС. Технология программирования тест с ответы Синергия. Ответы на тест Технология программирования Плавающие регистры содержат
Единственный в мире Музей Смайликов
Самая яркая достопримечательность Крыма
Скачать 20.34 Kb.
Ответы на тест «Технология программирования»
1. Плавающие регистры содержат …
-вещественные числа
2. Языки, формирующие в процессе трансляции окончательный выполнимый код называются . языками
-компилируемыми
3. Регистрами процессора называют.
-внутреннюю память процессора
4. Языки программирования можно разделить на языки . уровня
-высокого и низкого
5. Синтаксис языка определяет.
-правила построения элементов языка
6. Выражение — это.
-набор лексем и символов, задающий правило вычисления некоторого значения
7. Чтобы компиляция одной и той же программы различными компиляторами всегда давала одинаковый результат, разрабатываются .
-стандарты языков программирования
8. Операторы бывают .
-исполняемыми и неисполняемыми
9. Команды процессора состоят из.
-кода операции и операндов
10. Группа операторов, которые решают логически самостоятельную часть задачи, называется .
-подпрограммой
11. — это программа, переводящая текст инструкций для компьютера с какого-либо языка программирования на машинный язык
-Компилятор
12. Элементарной единицей памяти современных компьютеров является .
-один байт
13. Неисполняемые операторы — это операторы, .
-служащие для описания данных
14. Оператор — это .
-законченное описание некоторого действия
15. Исполняемые операторы — это операторы.
-задающие действия над данными
16. В процессе трансляции, на этапе лексического анализа выполняется .
-выделение основных составляющих программы – лексем
17. Аппаратный стек реализуется.
-на базе оперативной памяти
18. Языки, представляющие собой последовательность выполняемых операторов, называют .
-процедурными
19. Машинно-ориентированный язык программирования -.
-Assembler
20. Первым разработанным языком программирования высокого уровня является
-Fortran
21. Общие регистры содержат.
-целые числа или адреса
22. Величина, принимающая в процессе выполнения приложения различные значения, называется .
-переменной
23. Система программирования — это .
-средство автоматизации программирования, включающее язык программирования, транслятор этого языка, документацию а также средства подготовки и выполнения программ
24. Система правил для конструирования программ, состоящих из групп чисел, букв, знаков препинания и других символов, с помощью которых можно сообщать компьютеру набор команд -.
-язык программирования
25. Языки, основанные на построении объектов, объединяющих данные и операции над ними, называют .
-Объектно-ориентированными
26. Язык машинных команд состоит из .
-единиц и нулей
27. Единица текста программы, которая при компиляции воспринимается, как единое целое и по смыслу не может быть разделена на более мелкие элементы, называется.
28. Графическое изображение логической структуры алгоритма, в котором каждый этап процесса переработки данных представляется в виде геометрических фигур(блоков), имеющих определенную конфигурацию в зависимости от характера выполняемых операций, – это … форма записи алгоритмов
-графическая (блок-схемная)
29. Оператор присваивания в языке С/С++ обозначается …
= =
30. Циклический алгоритм – это алгоритм, в котором …
-отдельные операции или группы операций выполняются несколько раз
31. Упорядоченная совокупность однотипных переменных, обладающих одинаковыми свойствами, называется …
-массивом
32. Неформальный алгоритмический язык, максимально приближенный к естественному, называется …
-псевдокодом
33. К нейтральным или выполнимым формулам логики относятся выражения, принимающие значение …
-как «истинно», так и «ложно»
34. Наглядное графическое изображение алгоритма называется …
-схемой
35. Описание последовательности действий, которые необходимо выполнить для решения задачи, называется …
-алгоритмом
36. Структура представляющая собой последовательное размещение блоков и групп блоков, называется
-следованием
37. Последовательность действий, которая выполняется многократно, называется…
-телом цикла
38. Запись алгоритма на формальном языке называется …
-программой
39. Массив – это …
-имеющая единое имя совокупность однотипных элементов, расположенных в определенном порядке и различающихся индексами, и над этой совокупностью возможны любые операции, допускаемые типом элементов массива
40. К тождественно ложным формулам логики относятся выражения, принимающие значение …
-«ложно» независимо от логических значений входящих в них переменных
41. Структура – это …
-составной объект, в который входят компоненты любых типов, за исключением функций, сгруппированных под одним именем для удобства обработки, и в каждый момент времени может использоваться только один из его компонентов
42. Такое свойство алгоритма, как организация, предполагает …
определение точной последовательности выполнения шагов алгоритма
43. К тождественно истинным формулам логики относятся выражения, принимающие значение …
-«истинно» независимо от логических значений входящих в них переменных
44. Такое свойство алгоритма, как определенность, предполагает _____________…
-точность указаний, исключающую их произвольное толкование, т.е. при выполнении алгоритма в одних и тех же условиях получаются одинаковые результаты
45. Такое свойство алгоритма, как дискретность, предполагает …
-расчленение процесса на отдельные элементарные операции, возможность выполнения которых не вызывает сомнений
46. Такое свойство алгоритма, как массовость, предполагает …
-решение алгоритмом целой группы родственных задач, отличающихся исходными данными прекращение процесса через определенное число шагов с выдачей искомых результатов или сообщения о невозможности продолжения заложенного в алгоритме процесса
47. Разветвляющийся алгоритм – это алгоритм, в котором …
-предусматриваются варианты действий в зависимости от изменения определенных условий
48. Такое свойство алгоритма, как результативность, предполагает …
прекращение процесса через определенное число шагов с выдачей искомых результатов или сообщения о невозможности продолжения заложенного в алгоритме процесса
49. Если некоторая часть программы (группа блоков) выполняется многократно и после проверки некоторого условия в какой-то момент осуществляется выход из нее, то такую часть называют …
-циклом
50. Чему равно значение величин А, В и С после выполнения приведенных операций присваивания, если до начала этих действий А=100, В=200, С=300. А = 1000; С = 50; В = А/С; С = В; В = А/С; С =А;
-А=1000, В=50, С=1000
51. Если «А» имеет значение «истина», а «В» – «ложь»: С = А || В, то величине «С» будет присвоено значение …
-«истина»
52. Значение величин А и В после выполнения операций присваивания (А = А – В; В =7; А = А + В) если до начала этих действий А=15, В=1, равно …
А=21, В=7
53. Линейный алгоритм – это алгоритм, в котором …
-действия выполняются последовательно один раз и без проверки каких-либо условий
54. Значение величин А и В после выполнения операций присваивания (А = А – В; В = A/8; А = В; В = A*B; А = В + 4), если до начала этих действий А=80, В=32, равно …
А=40, В=36
55. Дизъюнкцией называется выражение, составленное из …
-двух простых высказываний и связки «или»
56. Если «А» и «В» имеют значение «истина»: С = А В, то величине «С» будет присвоено значение …
-«истина»
57. Операцией отрицания называется выражение, составленное из …
-одного высказывания и связки «не»
58. Переменные целочисленного типа используется для хранения … значений
-числовых
59. Конъюнкцией называется выражение, составленное из …
-двух высказываний и связки «и»
60. Текстовые строки в компьютере представляются …
-массивами символов
61. Конструкция «Цикл пока» выполняется, пока …
-условие истинно
62. Стек — … это запоминающее устройство, из которого элементы извлекаются в порядке, обратном их помещению в запоминающее устройство.
63. Для чего используется переменные целочисленного типа:
-Для хранения числовых значений.
64. Какой из перечисленных языков программирования является машинно-ориентированным?
65. Группа операторов, которые решают логически самостоятельную часть задачи называется:
-подпрограмма
66. Единица текста программы, которая при компиляции воспринимается, как единое целое и по смыслу не может быть разделена на более мелкие элементы, называется:
-Лексема
67. ________- это запоминающее устройство, из которого элементы извлекаются в порядке,
обратном их помещению в запоминающее устройство. Тип ответа: Одиночный выбор
-Стек
68. Определите значение, которое будет присвоено величине С в, если «А» имеет значение «истина», а «В» — «ложь»: С = А||В. Тип ответа: Одиночный выбор
С= «ложь»
69.Чему равно значение величин А и В после выполнения приведенных операций присваивания, если до начала этих действий А=80. В=32. А = А — В; В = А/8; А = В; В = А-В; А = В + 4; Тип ответа: Одиночный выбор
A=6, В=36
70.Определите значение, которое будет присвоено величине С в, если А и В имеют значение истина: С = А ||B. Тип ответа; Одиночный выбор
Источник: topuch.com
Развитие языков программирования
В лекции последовательно рассматривается развитие языков программирования от самых первых алгоритмических языков до современных объектно-ориентированных языков программирования. Анализируются характеристики языка программирования в зависимости от области применения языка. Освещаются вопросы стандартизации языков программирования.
Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Наладить дисциплину на своих уроках.
Получить возможность работать творчески.
Просмотр содержимого документа
«Развитие языков программирования»
- научные вычисления (языки C++, FORTRAN, Java);
- системное программирование (языки C++, Java);
- обработка информации (языки C++, COBOL, Java);
- искусственный интеллект (LISP, Prolog);
- издательская деятельность (Postscript, TeX);
- удаленная обработка информации (Perl, PHP, Java, C++);
- описание документов (HTML, XML).
- наличие среды программирования, поддерживающей разработку приложений на конкретном языке программирования;
- удобство сопровождения и тестирования программ;
- стоимость разработки с применением конкретного языка программирования;
- четкость и ортогональность конструкций языка;
- применение объектно-ориентированного подхода.
Просмотр содержимого презентации
«Развитие языков программирования»
Развитие языков программирования
Первые языки программирования В пятидесятые годы двадцатого века с появлением компьютеров на электронных лампах началось бурное развитие языков программирования. В середине 50-х годов под руководством Джона Бэкуса для фирмы IBM был разработан алгоритмический язык программирования FORTRAN.
Как альтернатива языку FORTRAN под руководством Питера Наура в конце 50-х годов был разработан язык ALGOL (ALGOrithmic Language). Основной целью, преследуемой разработчиками этого языка, была независимость от конкретной архитектуры вычислительной системы. Языки FORTRAN и ALGOL были первыми языками, ориентированными на программирование вычислений.
Язык PL 1, первые версии которого появились в начале 60-х годов, был первоначально ориентирован на IBM 360 и расширял возможности языка FORTRAN некоторыми средствами языка COBOL, разработанного в эти же годы. В конце 60-х годов под руководством Найарда и Дала был разработан язык Simula-67, использующий концепцию пользовательских типов данных. Фактически это первый язык, применяющий понятие классов.
В середине 70-х годов Вирт предложил язык Pascal, который сразу стал широко использоваться. В это же время по инициативе Министерства обороны США началась работа по созданию языка высокого уровня, получившего название Ada – в честь Ады Лавлейс, программистки и дочери лорда Байрона. Универсальный язык программирования С был разработан в середине 70-х годов Денисом Ритчи и Кеном Томпсоном. Этот язык стал популярным языком системного программирования и в свое время использовался для написания ядра операционной системы UNIX.
В 90-х годах с распространением сети Интернет расширяется возможность распределенной обработки данных, что отражается и на развитии языков программирования. Появляются языки, ориентированные на создание серверных приложений, такие как Java, Perl и PHP, языки описания документов – HTML и XML
Области применения языков программирования
- научные вычисления (языки C++, FORTRAN, Java);
- системное программирование (языки C++, Java);
- обработка информации (языки C++, COBOL, Java);
- искусственный интеллект (LISP, Prolog);
- издательская деятельность (Postscript, TeX);
- удаленная обработка информации (Perl, PHP, Java, C++);
- описание документов (HTML, XML).
Источник: kopilkaurokov.ru