МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ Національний авіаційний університет
М. О. Сидоров
ВСТУП ДО ІНЖЕНЕРІЇ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
Курс лекцій Київ
Видавництво Національного авіаційного університету «НАУ-друк» 2010
УДК 004.4(042.4) ББК з 973.20-018.2я7 С 347
Рецензент: S. А. Резніченко- канд.фіз.-мат.наук (Інститут програмних систем HAH України); В, А. Дерецький - канд.фіз.-мат.наук (Інститут програмних систем HAH України); В. А. Хоменко - канд.техн. наук, доц. (Національний авіаційний університет)
Затверджено методично-редакційною радою Національного авіаційного університету (протокол № 14 від 03.07.2008p.).
Сидоров М. О.
С 347 Вступ до інженерії програмного забезпечення : курс лекцій / М.О.Сидоров. - К.: Вид-во Нац. авіац. ун-ту «НАУ-друк», 2010. -112 с.
ISBN 978-966-598-626-3
У курсі лекцій викладено основні положення інженерії програмного забезпечення.
Для студентів напряму 6.050103 "Програмна інженерія".
УДК 004.4(042.4) ББК з 973.20-018.2я7
ISBN 978-966-598-266-3 © Сидоров М.О.. 2010
Сейчас во многих школах, институтах и других учебных заведениях можно встретить компьютеры старого парка, уже отслужившие свое как морально, так и физически. На таких компьютерах можно изучать разве что Dos, что далеко от реалий сегодняшнего дня. К тому же у большинства, как правило, жесткий диск уже в нерабочем состоянии. Но и выбросить жалко, а новых никто не дает. Различные спонсоры, меценаты, бывает, подарят компьютер (один) и радуются, как дети. Спасибо, конечно, большое, но проблемы, как вы понимаете, этот компьютер в общем не решает, даже наоборот, усугубляет, работать на старых уже как-то не хочется, теперь просто есть с чем сравнивать. Но выход из такой ситуации есть. И мне кажется, что даже почти идеальный.
В процессе чтения вы познакомитесь с основами программирования и, в частности, языка JavaScript, а также выполните несколько небольших проектов. Один из самых интересных проектов — создание своего языка программирования.
Что такое ГЕЙМДИЗАЙН? Это не код, графика или звук. Это не создание персонажей или раскрашивание игрового поля. Геймдизайн – это симулятор мечты, набор правил, благодаря которым игра оживает. Как создать игру, которую полюбят, от которой не смогут оторваться? Знаменитый геймдизайнер Тайнан Сильвестр на примере кейсов из самых популярных игр рассказывает как объединить эмоции и впечатления, игровую механику и мотивацию игроков. Познакомитесь с принципами дизайна, которыми пользуются ведущие студии мира! Создайте игровую механику, вызывающую эмоции и обеспечивающую разнообразие. Узнайте как объединить сюжет и интерактивность. Используйте взаимодействия, которые заставят игроков проникать друг другу "в голову". Вовлекайте в действие с помощью наград. Планируйте, тестируйте и анализируйте геймдизайн последовательно, а не пытайтесь все решить заранее. Узнайте, как позиционирование игры на рынке влияет на геймдизайн.
Тайнан Сильвестр занимается геймдизайном больше 15 лет. За это время он успел поработать как над инди-проектами, так и над студийным блокбастером BigShock Infinite, но больше всего он известен благодаря RimWorld.
Если вы интересуетесь гибкими методологиями по управлению проектами и разработке продуктов, значит, это практическое руководство идеально вам подходит. Борис Вольфсон уже много лет работает в этой сфере, а в данной книге делится своим опытом, который может изменить вашу работу, подход к работе в вашей IT-команде, а со временем и во всей вашей компании.
От других подобных книг эта отличается двумя факторами: сочетанием теории и практики и описанием самых различных аспектов создания продуктов – от управления до разработки и аналитики. В рамках теоретической части по управлению проектами и продуктом описывается современное состояние методологии Scrum и основы Kanban. Практическая часть посвящена бизнес-моделированию, управлению требованиями, аналитикой требований, управлению командами, оценкой сроков, управлению рисками, инженерным практикам разработки (по большей части из экстремального программирования), контролю и обеспечению качества, внедрению и масштабированию Scrum.
Начните применять на практике гибкие методологии, чтобы успешно управлять проектами и создавать продукты!
Льюис Кэрролл как-то сказал: «Здесь приходится бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее».
ЭТО МИР IT. МИР, ГДЕ ТЕХНОЛОГИИ РАЗВИВАЮТСЯ БЫСТРЕЕ, ЧЕМ ВЫРАСТАЮТ НОВЫЕ ПОКОЛЕНИЯ.
Елена Правдина – профессиональный разработчик с опытом работы более 10 лет, включая порталы Videomore.ru, СТС, Wifire TV Lite, video.khl.ru, создатель HTML5-плеера для КХЛ, ОТР, СТС, а также Smart TV-приложений, фронтенд-разработчик Яндекс. В своей книге она с юмором и мудростью, приобретенной за годы руководства в компании «Инвентос», рассказывает:
– Когда и с чего начинают свой путь разработчики.
– Какие типажи успешны в отрасли и какие черты стоит в себе воспитать.
– Как находить и восполнять пробелы в технических знаниях.
– Что лучше: фриланс или жизнь на зарплату, офис или удаленная работа.
– Как выстраивать отношения в личной жизни и в рамках проекта.
– Как стать тимлидом, эффективно руководить, «побеждать» на собеседованиях, бороться с выгораниями и развиваться в мире, где, как говорят, много платят.
Алгоритмы - это всего лишь пошаговые алгоритмы решения задач, и большинство таких задач уже были кем-то решены, протестированы и проверены. Можно, конечно, погрузится в глубокую философию гениального Кнута, изучить многостраничные фолианты с доказательствами и обоснованиями, но хотите ли вы тратить на это свое время? Откройте великолепно иллюстрированную книгу и вы сразу поймете, что алгоритмы - это просто. А грокать алгоритмы - это веселое и увлекательное занятие.
Эта серия, написанная в период с 1988 по 1995 года и состоящая из шестнадцати частей, является нетехническим введением в конструирование компиляторов. Серия является руководством по теории и практике разработки синтаксических анализаторов и компиляторов языков программирования. До того как вы закончите чтение этой книги, вы раскроете каждый аспект конструирования компиляторов, разработаете новый язык программирования и создадите работающий компилятор.
Эта серия, написанная в период с 1988 по 1995 года и состоящая из шестнадцати частей, является нетехническим введением в конструирование компиляторов. Серия является руководством по теории и практике разработки синтаксических анализаторов и компиляторов языков программирования. До того как вы закончите чтение этой книги, вы раскроете каждый аспект конструирования компиляторов, разработаете новый язык программирования и создадите работающий компилятор.
Эта книга для тех, кто давно связан с разработкой программного обеспечения. Или для тех, кто еще думает выбрать программирование своей профессией. Или для тех, кто просто привык думать и размышлять о происходящем в мире информационных технологий.
Не секрет, что основная масса софтостроения сосредоточена в секторе так называемой корпоративной разработки: от комплексных информационных систем предприятия до отдельных приложений. Поэтому немалая часть сюжетов касается именно Enterprise Programming.
Из текста вы вряд ли узнаете, как правильно склеивать многоэтажные постройки из готовых компонентов в гетерогенной среде, проектировать интерфейсы, синхронизировать процессы или писать эффективные запросы к базам данных. Подобные темы будут лишь фоном для рассказа о софтостроительной «кухне». При определенной доле любопытства вы сможете убедиться, что новое – это хорошо забытое старое, узнать, как устроены некоторые сложные системы, когда следует применять разные технологии, почему специалистам в информатике надо особенно тщательно фильтровать поступающую из множества источников информацию, и многое другое, что вы, возможно, еще не знали или уже знаете, но с другой стороны.
В книге мне хотелось показать наш софтостроительный мир разработки корпоративных информационных систем не с парадного фасада описаний программных сред, подходов и технологий, а изнутри. Насколько это получилось – судить читателю.
Книга посвящена проблеме общения человека с компьютером на естественном языке, одной из важнейших в современной кибернетике. От ее решения зависят успехи во многих областях науки и техники, в первую очередь в тех, которые связаны с управлением механизмами, в том числе и компьютерами.
Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.
Unified system for program documentation. Indexing of programs and program documents
United system for program documentation. Technical specification for development. Requirements to contents and form of presentation
Настоящий стандарт устанавливает порядок построения и оформления технического задания на разработку программы или программного изделия для вычислительных машин, комплексов и систем независимо от их назначения и области применения.
Стандарт полностью соответствует СТ СЭВ 1627-79.
Переиздание (Ноябрь 1987 г.) с Изменением № 1, утвержденным в июле 1981 г (ИУС 7-81)
Unified system for program documentation. Requirements for printed documents
Настоящий стандарт устанавливает правила выполнения программных документов для вычислительных машин, комплексов и систем независимо от их назначения и области применения и предусмотренных стандартами Единой системы программной документации (ЕСПД) для печатного способа выполнения.
Стандарт не распространяется на программный документ «Текст программы».
Стандарт соответствует СТ СЭВ 2088-80 в части установления структуры и требований к изложению программных документов (см. справочное приложение 1).
Задачи для школьника, должны быть веселы!
На наших занятиях, запрещена фраза "мы это не проходили" - если это надо для решения задачи - "пройди", источников море, учитель подскажет.
Не получается? Возможно, ты выбрал задачу не по силам, ничего - это тоже опыт, отложи, попробуй следующую. Мало решить задачу, придумай свою...
Ученик должен уметь: (поставить задачу + решить задачу + учиться) * n ...