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

Содержание

ISBN

Зубкова Т.М.

ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

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

Оренбург 2004


ББК 32.973-0181Я7

З 91

УДК 681.3(07)

Рецензент

кандидат технических наук, доцент Влацкая И.В.

З 91

Технология разработки программного обеспечения: Учебное

пособие. - Оренбург: ГОУ ОГУ, 2004. – 101 с.

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

Учебное пособие предназначено для студентов, обучающихся по программам высшего профессионального образования по специальности 220400, при изучении дисциплины «Технология разработки программного обеспечения»

З ББК 32.973 – 0181я7

© Зубкова Т.М.,2004.

© ГОУ ОГУ, 2004.

ISBN

Введение………………………………………………………………………  
1 Краткие теоретические аспекты курса «Технология разработки программного обеспечения» …………………………………………………….  
1.1 Сущность и актуальность предмета ……………………………………..  
1.2 Модели жизненного цикла программных средств (ПС) ……………….  
1.3 Качество программного обеспечения (ПО) ……………………………..  
1.4 Стиль программирования ………………………………………………...  
1.5 Модульное программирование …………………………………………..  
1.6 Методы проектирования ПС ……………………………………………..  
1.7 Отладка и тестирование ПС ……………………………………………...  
1.8 Надежность ПС ……………………………………………………………  
1.9 Документация ПС …………………………………………………………  
1.10 Перечень вопросов, изучаемых в курсе «Технология разработки программного обеспечения» …………………………………………………  
2 Курсовое проектирование ………………………………………………….  
2.1 Общие требования ………………………………………………………..  
2.2 Общие требования к разработке ПС ……………………………………..  
2.3 Организация графического интерфейса …………………………………  
2.4 Требования к программной документации ……………………………..  
2.5 Содержание курсового проекта ………………………………………….  
2.6 Задания для курсового проектирования …………………………………  
2.6.1 Задачи вычислительного типа …………………………………………  
2.6.2 Задачи по обработке и анализу информации …………………………  
3 Лабораторные задания ……………………………………………………..  
3.1 Лабораторная работа №1 Тема «Качественное ПО»……………………  
3.2 Лабораторная работа №2. Тема «Стиль программирования» ………..  
3.3 Лабораторная работа №3. Тема «Модульное проектирование ПС»…..  
3.4 Лабораторная работа №4. Тема «Отладка и тестирование ПС».……...  
3.5 Лабораторная работа №5. Тема «Оптимальное построение структуры данных» ………………………………………………………………………..  
Список использованных источников …………………………………….….  
Приложение А Пример оформления титульного листа курсового проекта  
Приложение Б Пример оформления бланка технического задания на курсовой проект …………………………………………………………………..  
Приложение В Правила присвоения классификационного кода…………..  
Приложение Г Пример оформления содержания …………………………..  
Приложение Д Пример оформления аннотации ……………………………  
Приложение Е Стадии разработки ПО ГОСТ 19.102-77 …………………...  
Приложение Ж Схемы, используемые при проектирование ПС …………..  
Приложение З Список использованных источников ……………………..  

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

Известно, что основной задачей первых трех десятилетий компьютерной эры яв­лялось развитие аппаратных компьютерных средств. Это было обусловлено высо­кой стоимостью обработки и хранения данных. В 80-е годы успехи микроэлек­троники привели к резкому увеличению производительности компьютера при значительном снижении стоимости.

Основной задачей 90-х годов и начала XXI века стало совершенствование каче­ства компьютерных приложений, возможности которых целиком определяются программным обеспечением (ПО).

Сняты практически все аппаратные ограничения на реше­ние задач. Оставшиеся ограничения приходятся на долю ПО.

Чрезвычайно актуальными стали следующие проблемы:

- аппаратная сложность опережает наше умение строить ПО, использующее по­тенциальные возможности аппаратуры;

- наше умение строить новые программы отстает от требований к новым про­граммам;

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

Ключом к решению этих проблем является грамотная организация процесса соз­дания ПО, реализация технологических принципов промышленного конструиро­вания программных систем (ПС).

Компьютерные науки вообще и программная инженерия в частности - очень популярные и стремительно развивающиеся области знаний. Обоснование простое: человеческое общество XXI века - информационное общество. Об этом говорят цифры: в ведущих странах занятость населения в информационной сфере состав­ляет 60 %, а в сфере материального производства - 40 %. Именно поэтому специ­альности направления «Компьютерные науки и информационные технологии» гарантируют приобретение наиболее престижных, дефицитных и высокооплачи­ваемых профессий. Так считают во всех развитых странах мира. Ведь не зря утвер­ждают: «Кто владеет информацией - тот владеет миром!»

Поэтому понятно то пристальное внимание, которое уделяет компьютерному образованию мировое сообщество, понятно стремление унифицировать и упо­рядочить знания, необходимые специалисту этого направления. Одним из ре­зультатов такой работы являются международный стандарт по компьютерному образованию Computing Curricula 2001 — Computer Science и международный стандарт по программной инженерии IEEE/ACM Software Engineering Body of Knowledge SWEBOK 2001.

Технология разработки программного обеспечения (ТРПО) — система ин­женерных принципов для создания экономичного ПО, которое надежно и эффек­тивно работает в реальных компьютерах.

Различают методы, средства и процедуры ТРПО. Методы обеспечивают решение следующих задач:

- планирование и оценка проекта;

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

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

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

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

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

Инструментальные средства ТРПО обеспечивают автоматизированную или автоматиче­скую поддержку методов. Инструментальные средства могут объ­единяться в системы автоматизированного конструирования ПО. Такие системы принято называть CASE-системами. Аббревиатура CASE расшифровывается как Computer Aided Software Engineering (программная инженерия с компьютерной поддержкой).

Требования к подготовке инженеров программистов непрерывно растут.

Выпускник по специальности «Программное обеспечение вычислительной техники и автоматизированных систем» (220400) должен знать:

- модели жизненного цикла программных средств (ПС), модели процесса разработки ПС;

- технологии и инструментальные средства, применяемые на всех этапах разработки ПС;

- основные методы построения и анализа алгоритмов, основные результаты теории сложности алгоритмов;

- задачи, методы и приемы аналитической верификации программ;

- состав, структуру, функции, принципы функционирования и способы применения всех видов системного, инструментального и прикладного программного обеспечения (ПО);

- формальные модели, применяемые при анализе, разработке и испытаниях ПС;

- формальные модели, применяемые при анализе, разработке и испытаниях ПС;

- методы обеспечения надежности и информационной безопасности ПС;

- основные модели, методы и алгоритмы теории языков программирования и методов трансляции;

- основные модели и методы теории вычислительных процессов;

- архитектуру многомашинных и многопроцессорных вычислительных систем (ВС), вычисленных сетей.

Выпускник должен владеть:

- методами, языками и технологиями разработки корректных ПС;

- методами разработки и анализа алгоритмов, моделей и структур данных, объектов и интерфейсов;

- методами и средствами программирования распределенных ВС и сетей;

- методами и средствами анализа, описания и проектирования человеко-машинного взаимодействия, инструментальными средствами разработки пользовательского интерфейса;

- методами анализа и проектирования баз данных и знаний;

- методами и средствами тестирования, отладки и испытаний ПС;

- математическими моделями вычислительных процессов и структур ВС;

- методами и средствами анализа и разработки программных компонентов сетевых и телекоммуникационных систем;

- методами и средствами защиты информации в ВС;

- методами и средствами разработки ПС систем мультимедиа и компьютерной графики.

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

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

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

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

- анализ возможных подходов и методов решения с обоснованием выбранного подхода;

- выбор или разработка модели (математической, структурной, информационной), необходимой для достижения цели;

- выбор эффективных алгоритмов с учетом их точности, устойчивости, сходимости;

- анализ полученных результатов работы программного обеспечения.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: