Ответы на экзамен (987689)
Текст из файла
Вопросы по курсу «Системное и прикладное программное обеспечение».
Весна 2010 .
+ 1. Подходы к разработке программных средств. Их краткая характеристика.
+ 2. Жизненный цикл программного обеспечения. Основные понятия.
+ 3. Модели жизненных циклов программного обеспечения, их характеристики и области применения.
+ 4. Особенности модели жизненного цикла «спираль»
5. Содержание этапов анализа и проектирования при разработке программного обеспечения по методу функциональной декомпозиции.
6. Планирование разработки программного обеспечения. LOC и FP-метрики.
7. Планирование разработки программного обеспечения на основе FP-метрики.
+ 8. СОСОМО модель. Важнейшие количественные характеристики процесса разработки программного обеспечения.
9. Метрики объектно-ориентированных программ.
+ 10. Краткая характеристика объектно-ориентированного подхода к разработке программного обеспечения. Понятия «Класс» и «объект».
про дельфи я ваще ни малейшего понятия не имею
+ 11. Свойства объектно-ориентированного программирования. Объекты и отношение наследования на Delphi
+ 12. Статические и виртуальные методы на Delphi. Полиморфизм.
+ 13. Конструкторы и деструкторы на Delphi. Конструкторы и наследование
+ 14. Динамическое создание объектов на Delphi.
+ 15. Абстрактные методы и классы.
+ 16. Классы и отношение наследования в С++.
+ 17. Атрибуты доступа к элементам классов на С++.
+ 18. Дружественные функции на С++.
+ 19. Конструкторы и деструкторы на С++, взаимодействие конструкторов и деструкторов при иерархии классов.
+ 20. Конструктор копирования на С++.
+ 21. Статические члены классов на С++.
+ 22. Перегрузка операции на С++.
+ 23. Виртуальные и чисто виртуальные функции на С++, абстрактные классы.
+ 24. Динамическое создание и уничтожение объектов на С++.
w 25. Шаблоны функций и классов на С++.
26. Контейнерные классы на С++, их назначение, структура.
27. Последовательные контейнеры, итераторы.
28. Ассоциативные контейнеры.
29. Виды контроля программ; тестирование и отладка.
30. Методы функционального тестирования.
31. Методы структурного тестирования. Тестирование путей.
32. Совместное тестирование модулей.
33. Тестирование программ и жизненный цикл программного продукта.
UML
+ 34. Общая характеристика и назначение языка UML.
+ 35. Диаграммы вариантов использования, назначение, компоненты, отношения между компонентами.
+ 36. Диаграмма последовательности и кооперативная диаграмма, их назначение, компоненты.
+ 37. Диаграмма классов, характеристики класса
+ 38. Диаграмма классов, типы и характеристики отношений.
+ 39. Диаграммы состояний, их назначение, компоненты.
+ 40. Диаграммы деятельности, их назначение, компоненты.
+ 41. Диаграммы компонентов и размещения, их назначение, составные части.
ЗДЕСЬ КОНЧИЛСЯ
42. Показатели качества программных продуктов,
43. Надежность программных продуктов, пути повышения надежности. Использование исключительных ситуаций.
44. Унифицированный процесс разработки программных средств. Общая характеристика и этапы.
45. Основополагающие принципы разработки программных средств по унифицированному процессу.
46. Процесс определения требований к программным средствам. Документирование требований с помощью диаграмм.
47. Процесс анализа и структурирования требований при разработке программных средств.
+ 48. Процесс проектирования при разработке программных средств. Основные отличия моделей анализа и проектирования.
+ 49. Процесс реализации при создании программных средств.
+ 50. Особенности тестирования программных средств, построенных по объектно-ориентированной методике. Тестирование классов.
+ 51. Тестирование взаимодействия классов. Тестирование иерархии классов.
52. Тестирование целостности и системное тестирование.
53. Сравнение объектно-ориентированного и процедурного программирования.
54. Особенности языка программирования C# и среды Microsoft Visual Studio 2008.
отличный вопрос по нему целая книга написана
55. Особенности работы с массивами на C#, невыровненные массивы.
google: c# array, multi-dimensional array
56. Разработка консольных приложений на C#, организация ввода/вывода и преобразования данных. Структура программы.
даже не знаю что тут сказать
это же очевидно, создаем проект, выбираем Console Application :D
57. Объявление классов на C#.
google: c# class declaration
58. Особенности использования формальных и фактических параметров на C# (out, ref). Составление процедурных программ.
google: c# parameter/argument pass by reference out ref
59. Наследование на C#, работа с конструкторами при наследовании.
google: c# inheritance
в отличие от С++ тут нет мультинаследования
причины: см проблему "Ромба" (схема наследования в виде ромба)
60. Индексаторы на C#.
google: c# indexer
61. Свойства на C#.
google: c# properties
property P {
get { return smt; }
set { _v = value; }
}
62. Делегаты на C#.
google: c# delegate invokation
63. Интерфейсы на C#.
интерфейс это класс только с виртуальными пустыми методами
google: c# interface
64. Виртуальные методы и абстрактные классы на C#.
google: c# abstract class
65. Класс List, создание и работа с классом List с нестандартными элементами
google: msdn List<> c#
List<MyClass> _list = new List<MyClass>();
_list.Add( (MyClass)c );
_list.Remove( c );
66. Принципы построения языка LINQ
+67. Ламбда-выражения и их использование на LINQ
+68. Две разновидности синтаксиса на LINQ
+69. Отложенное выполнение операторов на LINQ
+70. Операторы Select, Where, Take, Skip, TakeWhile, SkipWhile
+71. Агрегирующие функции на LINQ
+72. Группировка данных на LINQ
+73. Оператор соединения на LINQ
74. Обработка данных из стандартного класса List средствами LINQ
75. Принципы стыковки Visual Studio с базами данных
76. Использование языка LINQ для обработки баз данных
МАМОЧКА!!!
Распределение вопросов
34-41 (UML) -- Настя
1-9 (общее) -- Настя
66-76 (LINQ) -- Рома
10-15 (дельфи) -- Рома
54-65 (сишарп) -- Леша
16-28 (c++/stl) -- Леша
1. Подходы к разработке программных средств. Их краткая характеристика.
Классические подходы:
1) Метод функциональной декомпозиции. Хорошо применим для алгоритмически сложных задач, не связанных с большим объемом данных, сюда относятся научные, инженерно-технические задачи.
Иерархическая диаграмма (HIPO - Hierarchical Input Process Output):
рекомендуют выделить на одном этапе от 2 до 8 задач (оптимально 3-5), каждая подзадача должна быть логически целой с фиксированным набором исходных данных и результатом, любая задача более высокого уровня должна быть свестись к решению выделенных подзадач. Далее подзадачи делятся в свою очередь на подзадачи по тем же критериям. Существует 2 критерия останова:
- счастливый случай (на каком-то этапе выделена задача, которая уже решена, т.е., например, классическая задача);
- когда подзадача самого нижнего уровня соответствует программно разумным размерам (ПРР).
ПРР означает, что программист может держать в голове хотя бы структуру задачи (по размеру обычно не более 3 экранов).
Диаграммы IPO являются основными в технологии. В диаграммах выделены 3 колонки. В левой записывается входная информация (та, что подается на вход алгоритма), в средней описан процесс (алгоритм), в правой - выходная информация.
Сигнальная переменная - если задача не будет решена - свидетельствует о том, выполнена ли задача, которая вызывалась, или нет.
2) Метод анализа потоков данных (для автоматизации офисной деятельности).
Диаграмма потоков данных - DFD (Data Flow Diagram). Так называется методология графического структурного анализа, описывающая внешние по отношению к системе источники и адресаты данных, логические функции, потоки данных и хранилища данных, к которым осуществляется доступ.
3) Проектирование программ на основе абстрактных структур и типов данных.
4) Объектно-ориентированных подход.
Объект - это реально существующий предмет со всеми его индивидуальным особенностями.
Класс - множество объектов с одинаковыми свойствами и одинаковым поведением.
Если данным присвоить значение, то класс превращается в объект.
Основные свойства класса:
- инкапсуляция - объединение в структуре данных, классе, данных и методов обработки этих данных.
Классы B И C являются частным случаем класса А. Все, что мы утверждали для класса А, должно остаться в силе безо всяких ограничений для классов В и С. Если класс имеет одного предка, то говорим о единственном наследовании, если более, то о множественном наследовании. Множественное наследование в программе нежелательно.
- полиморфизм. Класс-предок и класс-наследник могут иметь одно и то же имя, но разную реализацию. Когда делаем вызов, автоматически определяется, куда обращаться.
2. Жизненный цикл программного обеспечения. Основные понятия.
Основные процессы жизненного цикла:
1. заказ,
2. поставка,
3. разработка,
4. эксплуатация,
5. сопровождение.
Вспомогательные процессы жизненного цикла:
1. документирование,
2. управление конфигурацией,
3. обеспечение качества,
4. верификация,
5. аттестация,
6. совместный анализ,
7. аудит, решение проблем.
Организационные процессы жизненного цикла:
1. управление,
2. создание инфраструктуры,
3. усовершенствование,
4. обучение.
Процесс разработки состоит из следующих работ:
1. подготовка процесса,
2. анализ требований к системе,
3. проектирование системной архитектуры,
4. анализ требований к программным средствам,
5. проектирование программной архитектуры,
6. техническое проектирование программных средств,
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.