- •Конспект лекций
- •Раздел 1. Задача проектирования программных систем Введение. Содержание и задачи курса
- •Задачи и этапы проектирования сложных программных средств
- •Тема 1.1. Технология программирования и основные этапы ее развития
- •1.1.1. Стихийное программирование.
- •1.1.2. Структурное программирование.
- •1.1.3. Объектно-ориентированное программирование.
- •1.1.4. Компоненты и case-технология.
- •1.1.5. Платформа .Net.
- •Тема 1.2. Организация процесса проектирования программного обеспечения (по)
- •1.2.1. Проблемы разработки сложных программных систем.
- •1.2.2. Блочно-иерархический подход к проектированию по.
- •1.2.3. Жизненный цикл по.
- •1.2.4. Процессы жизненного цикла.
- •1.2.5. Модели жизненного цикла по.
- •1.2.6. Оценка качества процессов разработки по.
- •1.2.7. Технология rad.
- •Тема 1.3. Технологичность программных продуктов
- •1.3.1. Понятие технологичности по.
- •1.3.2. Модульное программирование.
- •1.3.3. Нисходящая и восходящая разработка по.
- •1.3.4. Стиль оформления программы.
- •1.3.5. Эффективность и технологичность.
- •Тема 1.4. Определение требований к по
- •1.4.1. Классификация программных систем.
- •1.4.2. Эксплуатационные требования к по.
- •1.4.3. Исследование предметной области.
- •1.4.4. Разработка технического задания.
- •Тема 1.5. Начальный этап проектирования
- •1.5.1. Выбор архитектуры по.
- •1.5.2. Выбор типа пользовательского интерфейса.
- •1.5.3. Выбор подхода к разработке.
- •1.5.4. Выбор средств разработки.
- •1.5.5. Стандарты разработки.
- •Раздел 2. Использование декомпозиции и абстракции при структурном подходе к анализу и проектированию по Тема 2.1. Анализ требований к по и декомпозиция системы при структурном подходе
- •2.1.1. Спецификация процедур и данных при структурном подходе.
- •2.1.2. Диаграммы переходов состояний.
- •2.1.3. Функциональные диаграммы.
- •2.1.4. Диаграммы потоков данных.
- •2.1.5. Абстрактные структуры данных.
- •2.1.6. Математические модели задач.
- •Тема 2.2. Методы проектирования структуры по
- •2.2.1. Структурная схема по.
- •2.2.2. Функциональная схема по.
- •2.2.3. Метод пошаговой детализации.
- •2.2.4. Проектирование по, основанное на декомпозиции данных.
- •2.2.5. Case-технологии на основе структурного подхода.
- •Тема 2.3. Проектирование структур данных
- •2.3.1. Векторная структура.
- •2.3.2. Списковые структуры.
- •2.3.3. Представление данных во внешней памяти.
- •Раздел 3. Использование декомпозиции и абстракции при объектно-ориентированном подходе к анализу и проектированию по Тема 3.1. Анализ требований к по и декомпозиция системы при объектном подходе
- •3.1.1. Язык uml.
- •3.1.2. Диаграммы вариантов использования.
- •3.1.3. Диаграммы классов.
- •3.1.4. Диаграмма последовательностей.
- •3.1.5. Диаграмма деятельностей.
- •Тема 3.2. Проектирование по при объектном подходе
- •3.2.1. Типы классов объектов.
- •3.2.2. Отношения между объектами.
- •3.2.3. Интерфейсы.
- •3.2.4. Проектирование классов.
- •3.2.5. Компоновка программных компонентов.
- •Раздел 4. Разработка по Тема 4.1. Проектирование интерфейса с пользователем
- •4.1.1. Типы пользовательских интерфейсов.
Тема 1.4. Определение требований к по
1.4.1. Классификация программных систем.
Каждый программный продукт предназначен для выполнения определенных функций. По назначению все программные продукты можно разделить на три группы: системные, прикладные и гибридные (рис. 3.1).
К системным обычно относят программные продукты, обеспечивающие функционирование вычислительных систем (как отдельных компьютеров, так и сетей). Это - операционные системы, оболочки и другие служебные программы (утилиты).
Операционные системы, как правило, управляют ресурсами (процессором и памятью), процессами (задачами и потоками) и устройствами. Сложность организации операционных систем обуславливается степенью автоматизации и достигаемой эффективности процессов управления. Так мультипрограммные операционные системы существенно сложнее однопрограмм-ных, что хорошо видно на примере MS DOS и WINDOWS.
Оболочки (например, NORTON COMMANDER) в свое время появились Для организации более удобного интерфейса пользователя с файловой системой MS DOS. Современные оболочки, такие, как FAR, используют для обеспечения пользователю привычной среды при работе с файловой системой.
К утилитам принято относить программы и системы, непосредственно не входящие в состав операционной системы, но обеспечивающие выполнение определенных функций, таких как архивация файлов, проверка компьютера на заражение вирусами, осуществление удаленного доступа к информации и др.
Прикладные программы и системы ориентированы на решение конкретных «пользовательских задач.
Различают пользователей:
разработчиков программ;
непрограммистов, использующих компьютерные системы для достижения своих целей.
Разработчики программ используют специальные инструментальные средства, такие как компиляторы, компоновщики, отладчики, которые последнее время обычно интегрируют в системы; программирования и среды разработки. Современные среды программирования, например, Delphi, Visual C++, реализуют визуальную -технологию разработки программных продуктов и предоставляют программистам огромные библиотеки компонентов, которые; можно включать в свою разработку, К этой же группе относят инструментальные комплексы создания,баз данных, такие как Access, FoxPro, Oracle, средства создания интеллектуальных систем, например, экспертных, обучающих, систем контроля знаний и т. д. Последнее достижение в этом направлении - CASE-средства разработки программного обеспечения, такие как ERwin, BPwin, Paradigm Plus, Rational Rose и др.
Пользователи-непрограммисты в соответствии с современными требованиями не должны быть профессионалами в проблемах создания программных продуктов и специфике их взаимодействия с операционной системой. Для них разрабатывают специальные программные продукты, ориентированные на определенную предметную область. Такие продукты условно можно разделить на продукты общего назначения, профессиональные среды или пакеты, обучающие системы, развлекающие программы и т. д.
Продукты общего назначения используют разные группы пользователей. К ним можно отнести текстовые редакторы, например, WinWord, электронные таблицы типа Excel, графические редакторы, информационные системы общего назначения, например, карта Москвы, программы-переводчики, и т. п.
Профессиональные продукты предназначены для специалистов в различных областях, например, к ним можно отнести:
системы автоматизации проектирования, ориентированные на различные технические области;
системы-тренажеры, например, тренажер для отработки действий пилотов в аварийной ситуации;
бухгалтерские системы, например, 1C;
издательские системы, например, PageMaker, QuarkXpress;
профессиональные графические системы, например, Adobe Illustrator, PhotoShop, CorelDraw и т. п.;
экспертные системы и т. д.
Системы автоматизации производственных процессов отличаются от профессиональных тем, что они ориентированы на пользователей разных профессий, связанных единым производственным процессом.
Обучающие программы и системы в соответствии со своим названием предназначены для обучения, например, иностранным языкам, правилам дорожного движения и т. п.
К развлекающим относят игровые программы, музыкальные програм-опять же информационные системы, но с тестами развлекающего характера, например гороскопы и т. п.
Гибридные системы сочетают в себе признаки системного и прикладного программного обеспечения. Как правило, это большие, но узкоспециалированные системы, предназначенные для управления технологическими процеесами различных типов в режиме реального времени. Для обеспечения надежности и снижения времени обработки в такие системы включают программы, обеспечивающие выполнение функций операционных систем.