Министерство образования и науки Российской Федерации Федеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
«Хабаровская государственная академия экономики и права»
ТЕХНОЛОГИЯ ВЫСОКОУРОВНЕВОГО ПРОГРАММИРОВАНИЯ Учебное пособие
Хабаровск 2009
2
ББК 3
Р 98
Рябухин С. И. Технология высокоуровневого программирования : учеб. пособие. – Хабаровск : РИЦ ХГАЭП, 2009. – 96 с.
В настоящем учебном пособии изложены некоторые способы реализации объектно-ориентированных концепций анализа, моделирования и проектирования программных систем.
Настоящее учебное пособие является дополнительным материалом для студентов вузов специальности 080801 «Прикладная информатика в экономике», изучающих дисциплину «Высокоуровневые методы информатики и программирования» и разработано в соответствии требованиям государственного образовательного стандарта высшего профессионального образования. Пособие предназначено для ознакомления с объектно-ориентированными технологиями в рамках постановки задачи на разработку программных систем, их последующего проектирования и реализацию в виде программного кода. Для освоения материала настоящего пособия требуются знания в области системного анализа, знание процедурного языка программирования Си, а также объектно-ориентированного языка С++.
Завкафедрой «КПСМ» ТОГУ, д-р тех. наук, проф. С. И. Клепиков
Завлабораторией математических методов моделирования в механике
ВЦ ДВО РАН, д-р физ.-мат. наук, проф. И. И. Потапов
С. И. Рябухин, 2009
Хабаровская государственная академия экономики и права, 2009
3 |
|
|
ОГЛАВЛЕНИЕ |
|
|
Введение ........................................................................................................................ |
5 |
|
1. Высокоуровневые методы в информатике и программировании........................ |
9 |
|
1.1. Жизненный цикл программных систем............................................................... |
9 |
|
1.2. Каскадная модель жизненного цикла ИС.......................................................... |
12 |
|
1.3. Спиральная модель жизненного цикла ИС ....................................................... |
13 |
|
1.4. Итерационная модель жизненного цикла ИС ................................................... |
14 |
|
1.5. Парадигмы программирования .......................................................................... |
19 |
|
1.5.1. Структурное проектирование .......................................................................... |
19 |
|
1.5.2. Структурное программирование ..................................................................... |
20 |
|
1.5.3. Модульное проектирование и программирование ........................................ |
23 |
|
1.5.4. Объектно-ориентированная парадигма .......................................................... |
25 |
|
Контрольные вопросы и задания............................................................................... |
27 |
|
2. Объектно-ориентированные технологии.............................................................. |
28 |
|
2.1.Объектно-ориентированный анализ ................................................................... |
28 |
|
2.1.1. Технологии объектно-ориентированного анализа ........................................ |
31 |
|
Контрольные вопросы и задания............................................................................... |
34 |
|
2.2. Программная реализация объектно-ориентированной .................................... |
34 |
|
технологии ................................................................................................................... |
34 |
|
2.2.1. Объектно-ориентированные дополнения к процедурным языкам |
|
|
программирования и абстрактные типы данных..................................................... |
34 |
|
2.2.2. Инкапсуляция классов...................................................................................... |
39 |
|
2.2.3. Интерфейс класса и правила доступа к элементам класса ........................... |
40 |
|
2.2.4. Инициализация данных и создание объектов ................................................ |
46 |
|
2.2.5. Конструкторы .................................................................................................... |
47 |
|
2.2.6. Разновидности полиморфизма ........................................................................ |
50 |
|
Контрольные вопросы и задания............................................................................... |
53 |
|
2.3. Объектно-ориентированное проектирование ................................................... |
54 |
|
2.3.1. Язык UML как средство объектно-ориентированного анализа и |
|
|
проектирования ........................................................................................................... |
55 |
|
2.3.2. Основные группы элементов языка UML ...................................................... |
57 |
|
2.3.3. Диаграммы вариантов использования ............................................................ |
60 |
|
2.3.4. Диаграммы классов........................................................................................... |
65 |
|
2.3.5. Диаграмма последовательностей .................................................................... |
73 |
|
2.3.6. Диаграммы объектов ........................................................................................ |
75 |
|
2.3.7. Диаграммы состояний ...................................................................................... |
77 |
|
|
|
|
|
4 |
2.3.8. Диаграммы деятельностей |
............................................................................... 79 |
Контрольные вопросы и задания............................................................................... |
84 |
ПРИЛОЖЕНИЕ А ..…………………………………………………………………83 |
|
ПРИЛОЖЕНИЕ Б …………………………………………………………………...86 |
|
Словарь терминов …………………………………………………………………...91 |
|
Библиографический список ………………………………………………………...95 |
|
5
Введение
Одними из основных задач курса «Высокоуровневые методы информатики и программирования» являются приобретение учащимися навыков использования современных технологий для решения профессиональных задач, овладение методами объектно-ориентированного анализа и проектирования, способность правильно сформулировать требования к проектируемой (или внедряемой) прикладной информационной системе и поставить задачу на её разработку.
Современные коммерческие программные продукты представляют собой весьма сложную систему, состоящую из совокупности компонентов-модулей объединённых одной целью. Наиболее ценными и востребованными на рынке являются те программные продукты, которые позволяют решать комплекс производственных задач, т.е. предоставляют законченное решение в масштабе предприятия. Такие программные продукты именуются корпоративными информационными системами. Противоположность таким продуктам составляет принцип локального решения отдельных задач (бухгалтерского учёта, делопроизводства, экономического планирования, автоматизации производства, управления ресурсами, учёта взаимоотношений с клиентами и т.д.). В результате такого локального подхода мы получим лишь разрозненные решения разрозненных задач. Проблемы, связанные с таким подходом, очевидны: полученные локальные результаты (в виде данных) необходимо интегрировать для дальнейшей обработки, несмотря на их структурные и логические несоответствия. Целью интеграции является необходимость построения единого информационного пространства для всего процесса производства. Наличие единого информационного пространства позволит обеспечить эффективную поддержку принятия управленческих решений, реализовать процессный подход к организации производства, построить адекватную систему управления качеством на предприятии и получить возможность постоянного роста эффективности производства. Исходя из этого наиболее разумным представляется решение о приложении максимальных усилий разработчиков программных средств к созданию именно корпоративных систем, в состав которых входят все перечисленные выше модули (бухгалтерский учёт, делопроизводство, экономическое планирование, автоматизация производства, управление ресурсами, учёт взаимоотношений с клиентами и т.д.).
Однако в этом случае вступают в силу противоречия между поставленными глобальными (корпоративными) целями и средствами программной реализации таких целей. Противоречия вызываются невозможностью достижения поставленных целей посредством находящихся в распоряжении разработчика методов