tehnologia (1018792), страница 2
Текст из файла (страница 2)
…………………..30211.3.Руководство пользователя ...................................................... …………………..30311.4.Руководство системного программиста ................................. …………………..30411.5.Основные правила оформления программной документации ………………...30511.6.Правила оформления расчетно-пояснительных записок при курсовомпроектировании ......................................................................... …………………..308Приложение. Система условных обозначений унифицированногоязыка моделирования UML...........................................…………………...311Список литературы .......................................................................
……………………315Предметный указатель .................................................................. ……………………3188К175-летию МГТУ имени Н.Э. БауманаПРЕДИСЛОВИЕДо последнего времени элементы технологии разработки программного обеспечениястуденты изучали в таких курсах, как «Алгоритмические языки и программирование» и«Системное программирование», параллельно с основным материалом, что не позволялосконцентрироваться на указанных вопросах. Однако сравнительно недавно в учебныхпланах специальностей, связанных с информатикой, появился курс «Технологияпрограммирования», полностью посвященный этой теме.
В предлагаемом учебнике сделанапопытка обобщения и методического осмысления опыта, накопленного специалистами вобласти разработки программного обеспечения на протяжении всей истории существования.Приведенные сведения могут быть полезны при выполнении учебных проектов инебольших программных продуктов.В создании данного учебника в той или иной степени участвовало многозаинтересованных лиц.
Хочется от души поблагодарить: редактора издательства ОвчеренкоН.Е., поддержавшую идею написания данной книги; заведующих кафедрами«Компьютерные системы и сети» Сюзева В.В. и «Программирования и информационныетехнологии» Трусова Б.Г. – за всестороннее содействие; моего мужа – профессора кафедры«Компьютерные системы и сети» Овчинникова В.А. – за помощь и поддержку;преподавателей университета: Борисова С.В., Курова А.В.
– за предоставленную литературуизданий прошлых лет; Романову Т.Н., Пугачева Е.К., Ничушкину Т.Н., Волосатову Т.М. иБалдина А.В – за материалы и советы по содержанию учебника. Автор также глубокопризнательна рецензентам: коллективу кафедры «Компьютерные системы и технологии»МИФИ во главе с д-ром техн. наук, профессором Забродиным Л.Д. и коллективу кафедры«ЭВМ, комплексы и сети» МАИ во главе с д-ром техн.
наук, профессором Бреховым О.М.,чьи ценные замечания позволили улучшить качество книги.9ВВЕДЕНИЕСоздание программной системы – весьма трудоемкая задача, особенно в наше время,когда обычный объем программного обеспечения превышает сотни тысяч операторов.Будущий специалист в области разработки программного обеспечения должен иметьпредставление о методах анализа, проектирования, реализации и тестирования программныхсистем, а также ориентироваться в существующих подходах и технологиях.Изложение материала учебника строится в соответствии с основными этапамиразработки программного обеспечения. Исключением являются первые главы, в которыхрассмотрены общие вопросы технологии программирования.В первой главе проанализирована история развития технологии программирования,показано, что в основе разработки программного обеспечения лежит блочно-иерархическийподход, рассмотрены особенности применения этого подхода к разработке программныхпродуктов.Вторая глава содержит описание приемов обеспечения качества программногообеспечения:основныхположенийструктурного,модульногоизащитногопрограммирования.
В ней также приведены некоторые рекомендации, например, по стилюоформления программ.В третьей главе рассматриваются проблемы, связанные с постановкой задачи: отклассификации программных продуктов до разработки технического задания и принятияосновных решений начального этапа проектирования, например, выбора подхода, среды иязыка программирования.Четвертая и пятая главы посвящены особенностям разработки программногообеспечения при структурном подходе; четвертая – анализу различных моделейразрабатываемого программного обеспечения, используемых на этапе уточненияспецификаций, а пятая - методикам проектирования.Шестая и седьмая главы содержат аналогичный материал для объектного подхода.
Вкачестве основного языка описания моделей анализа и проектирования при объектномподходе используется UML, как мощное и практически стандартное средство описанияобъектных разработок.10В восьмой главе подробно рассмотрены проблемы проектирования пользовательскогоинтерфейса и предлагаются соответствующие модели.Девятая глава посвящена тестированию программных продуктов как по частям, так и вцелом, десятая – методам, средствам и методикам отладки разрабатываемого программногообеспечения.В одиннадцатой главе приведены сведения и рекомендации по разработке программнойдокументации.Материал сопровождается большим количеством сравнительно простых примеров,причем по возможности использованы три примера разработки, для которых рассмотреныразличные аспекты проектирования.Курс обучения целесообразно завершать курсовым проектом или курсовой работой,целью которых должно быть создание небольшого, но завершенного программного продукта(в отличие от небольших и, как правило, недокументированных программ, которые студентыпишут на лабораторных работах при изучении основ программирования и/или конкретныхязыков).
Проект должен начинаться с составления и утверждения технического задания исопровождаться подготовкой необходимой программной документации.111. ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ.ОСНОВНЫЕ ПОНЯТИЯ И ПОДХОДЫПрограммирование – сравнительно молодая и быстро развивающаяся отрасль науки и техники. Опытведения реальных разработок и совершенствования имеющихся программных и технических средствпостоянно переосмысливается, в результате чего появляются новые методы, методологии и технологии,которые, в свою очередь, служат основой более современных средств разработки программногообеспечения. Исследовать процессы создания новых технологий и определять их основные тенденциицелесообразно, сопоставляя эти технологии с уровнем развития программирования и особенностямиимеющихся в распоряжении программистов программных и аппаратных средств.1.1.
Технология программирования и основные этапы ее развитияТехнологией программирования называют совокупность методов и средств,используемых в процессе разработки программного обеспечения. Как любая другаятехнология, технология программирования представляет собой набор технологическихинструкций, включающих:• указание последовательности выполнения технологических операций;• перечисление условий, при которых выполняется та или иная операция;• описания самих операций, где для каждой операции определены исходные данные,результаты, а также инструкции, нормативы, стандарты, критерии и методы оценки и т.п.(рис.
1.1).Кроме набора операций и их последовательности, технология также определяет способописания проектируемой системы, точнее модели, используемой на конкретном этаперазработки.Различают технологии, используемые на конкретных этапах разработки или для решенияотдельных задач этих этапов, и технологии, охватывающие несколько этапов или весьпроцесс разработки. В основе первых, как правило, лежит ограниченно применимый метод,позволяющий решить конкретную задачу. В основе вторых обычно лежит базовый методили подход, опре-12деляющий совокупность методов, используемых на разных этапах разработки, илиметодологию.Чтобы разобраться в существующих технологиях программирования и определитьосновные тенденции их развития, целесообразно рассматривать эти технологии висторическом контексте, выделяя основные этапы развития программирования, как науки.Первый этап - «стихийное» программирование.
Этот этап охватывает период отмомента появления первых вычислительных машин до середины 60-х годов XX в. В этотпериод практически отсутствовали сформулированные технологии, и программированиефактически было искусством. Первые программы имели простейшую структуру. Онисостояли из собственно программы на машинном языке и обрабатываемых ею данных (рис.1.2).
Сложность программ в машинных кодах ограничивалась способностью программистаодновременно мысленно отслеживать последовательность выполняемых операций иместонахождение данных при программировании.Появление ассемблеров позволило вместо двоичных или 16-ричных кодов использоватьсимволические имена данных и мнемоники кодов операций. Врезультате программы стали более «читаемыми».Создание языков программирования высокого уровня, таких, какFORTRAN и ALGOL, существенно упростило программированиевычислений, снизив уровень детализации операций.