Технология программирования
Информатика и вычислительная техника
  • формат pdf
  • размер 3.61 МБ
  • добавлен 27 сентября 2008 г.
Кулямин В.В. Технологии программирования. Компонентный подход
Курс посвящен технологическим проблемам разработки крупномасштабных программных систем и методам решения этих проблем. В нем рассказывается о современных способах организации разработки таких систем на основе компонентных технологий на примере Web-приложений с использованием технологий Java и .NET, а также дается введение в эти технологии. Читатели получат хорошее представление о методах разработки сложного программного обеспечения, об использовании современных подходов к промышленной разработке программ и о способах построения качественных и гибких программ в условиях жестких ограничений на проекты разработки. Читатели также познакомятся с элементами технологий создания распределенных приложений на платформах J2EE и .NET.

Предлагаемый вниманию читателей курс лекций построен на основе специального курса, читающегося на факультете Вычислительной математики и кибернетики МГУ им. М. В. Ломоносова. Он был задуман как замена и некоторая модернизация курса по технологии программирования, долгое время читавшегося на ВМиК ныне покойным Е. А. Жоголевым и являвшегося введением в инженерию программного обеспечения (ПО).
Но, кроме введения в программную инженерию, автор посчитал необходимым в рамках этого же курса дать слушателям базовый набор знаний по современным компонентным технологиям разработки Web-приложений.

Таким образом, данные лекции преследуют две цели — введение в инженерию ПО в целом как инженерную дисциплину, рассматривающую методы построения сложных программных систем вообще, и введение в современные технологии разработки наиболее широко востребованного сейчас вида компонентных распределенных программных систем. Автор глубоко убежден в необходимости такого объединения. Компонентные технологии, хотя и продолжают активно развиваться, уже сейчас являются стержневым элементом современной программной инженерии. Они не только лежат в основе методов разработки прикладного ПО, но проникают и в системное программирование. Знание основных принципов работы широко используемых систем промежуточного уровня (middleware) и умение строить приложения на их основе в настоящий момент становится таким же необходимыми элементом образования профессионального разработчика программ, как и знания в области операционных систем, компиляторов и систем управления базами данных.

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

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

В результате кому-то может показаться, что представленный материал чересчур велик, а кому-то — что он слишком поверхностно освещает перечисленные области. И то, и другое может быть близко к истине, поскольку не все задуманное удается. Однако, по мнению автора, такая структура курса хорошо отражает современное состояние инженерии программного обеспечения — бурно развивающейся инженерной дисциплины, активно впитывающей в себя и использующей результаты множества смежных областей, от математики и системного анализа до микроэкономики, когнитивной психологии и социологии малых сообществ. Вместить материал всех ее отдельных областей в одну книгу уже невозможно — любой из них можно посвятить отдельный курс. Читателям, желающим более глубоко ознакомиться с их содержанием, автор советует обратиться к литературе, списками которой он постарался дополнить каждую лекцию.

Содержание лекционного курса:

Лекция
1. Проблемы разработки сложных программных систем.

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

Лекция
2. Жизненный цикл и процессы разработки ПО.

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

Лекция
3. Унифицированный процесс разработки и экстремальное программирование.

Рассматриваются в деталях модели разработки ПО, предлагаемые в рамках унифицированного процесса разработки Rational (RUP) и экстремального программирования (ХР).

Лекция
4. Анализ предметной области и требования к ПО.

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

Лекция
5. Качество ПО и методы его контроля.

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

Лекция
6. Архитектура программного обеспечения.

Рассматривается понятие архитектуры ПО, влияние архитектуры на свойства ПО, а также методы оценки архитектуры. Рассказывается об основных элементах унифицированного языка моделирования UML.

Лекция
7. Образцы проектирования.

Рассматривается понятие образца проектирования, классификация образцов проектирования и некоторые широко используемые примеры образцов анализа и архитектурных стилей.

Лекция
8. Образцы проектирования (продолжение).

Рассматриваются дополнительные примеры образцов: архитектурный стиль «данные— представление—обработка», ряд образцов проектирования, идиом и образцов организации работ.

Лекция
9. Принципы создания удобного пользовательского интерфейса.

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

Лекция
10. Основные конструкции языков Java и C# (продолжение).

Рассматриваются базовые элементы технологий Java и .NET и основные конструкции языков Java и C#. Рассказывается о лексике, базовых типах, выражениях и инструкциях обоих языков, а также о правилах описания пользовательских типов.

Лекция
12. Компонентные технологии и разработка распределенного ПО.

Рассматриваются основные понятия компонентных технологий разработки ПО и понятие компонента. Рассказывается об общих принципах разработки распределенного ПО и об организации взаимодействия его компонентов в рамках удаленного вызова процедур и транзакций.

Лекция
13. Компонентные технологии разработки Web-приложений.

Рассматриваются основные элементы компонентных сред Java 2 Enterprise Edition и .NET. Показывается, как в рамках этих технологий решаются основные задачи построения распределенных Web-приложений.

Лекция
14. Разработка различных уровней Web-приложений в J2EE и .NET

Рассматриваются используемые в рамках Java Enterprise Edition и .NET техники разработки компонентов Web-приложений, связывающих приложение с базой данных и представляющих собой элементы пользовательского интерфейса.

Лекция
15. Развитие компонентных технологий.

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

Лекция
16. Управление разработкой ПО.

Рассматриваются основные деятельности, входящие в компетенцию руководителей проектов. В общем рассказе о некоторых аспектах управления ресурсами, персоналом, рисками и коммуникациями проекта выделены особенности управления проектами по созданию ПО.

Объем - 315 стр.
Читать онлайн
Похожие разделы
Смотрите также

Гвоздева В.А. Введение в специальность программиста

  • формат djvu
  • размер 2.41 МБ
  • добавлен 17 декабря 2009 г.
Цель данной книги — сформировать представление о профессии программиста и дать основы для приобретения навыков в этой области деятельности. В учебнике рассматриваются содержание основных понятий программирования, история его развития, основные элементы и языки программирования, принципы структурного программирования и начала программирования в среде Turbo Pascal и системе Delphi. Дается материал о программном обеспечении для вычислительной техник...

Жоголев Е.А. Введение в технологию программирования

  • формат htm, pdf
  • размер 509.76 КБ
  • добавлен 01 июня 2009 г.
Е. А. Жоголев. Введение в технологию программирования (конспект лекций). - М.: "ДИАЛОГ-МГУ". Надежное программное средство как продукт технологии программирования. Исторический и социальный контекст программирования. Источники ошибок в программном средстве. Общие принципы разработки программных средств. Внешнее описание программного средства. Методы спецификации семантики функций. Архитектура программного средства. Разработка структуры программы...

Жоголев Е.А. Технология программирования

  • формат pdf
  • размер 1.72 МБ
  • добавлен 31 октября 2009 г.
Жоголев Е. А. Технология программирования. - М. научный мир, 2004, с.216 В основу книги положен курс лекций по технологии проектирования, читавшихся автором в течение ряда лет студентам фак-та Вычислительной матемитики и кибернетики МГУ. В ней обсуждается совокупность процессов, приводящая к созданию требуемого программного продукта (ПС). Рассматриваются наиболее распространненые приемы и методы, исользуемые в таких процессах, а также возникающи...

Камаев В.А. Технологии программирования: Учебник

  • формат djvu
  • размер 3.69 МБ
  • добавлен 28 сентября 2010 г.
В. А. Камаев, В. В. Костерин. — 2-е изд., перераб. и доп. — М.: Высш. шк. , 2006. - 454 с: ил. © ФГУП «Издательство «Высшая школа», 2006 В книге изложены технологии структурного программирования, объектно-ориентированного проектирования, визуального программирования, технология, основанная на абстракции данных Дейкстеры. Рассмотрено использование средств автоматизации проведения программных разработок. Второе издание (1-е — 2005 г. ) дополнено...

Мукасеева В.Н., Стоянов В.В. Методичка по лабораторным работам

  • формат doc
  • размер 30.38 КБ
  • добавлен 17 июля 2008 г.
Объектно-ориентированное программирование: Лабораторный практикум по дисциплине Технология программирования. /Уфимск. гос. авиац. техн. ун-т; Сост.: В. Н. Мукасеева, В. В. Стоянов. - Уфа, 2007 - 29 с. Содержатся сведения, касающиеся разработке классов на языке С++. Цикл лабораторных работ посвящен технологии объектно-ориентированного программирования на языке C++ в интегрированной среде разработки фирмы Microsoft Visual Studio v.6 – v .8. Изло...

Новиков Ф.А. Учебно-методическое пособие по дисциплине Технологические подходы к разработке программного обеспечения

  • формат pdf
  • размер 1.64 МБ
  • добавлен 25 июля 2011 г.
СПб.: СПбГУ ИТМО, 2007. - 137 с. В первой теме рассматривается сам предмет дисциплины – технология программирования – с самых общих позиций. Здесь же вводится разделение технологии программирования на три составляющих, в соответствии с которой строится изложение курса. Во второй теме вводится понятие жизненного цикла программы – ключевой абстракции, вокруг которой строятся все известные в настоящее время технологические подходы к программировани...

Одинцов И. Профессиональное программирование. Системный подход

  • формат pdf
  • размер 6.45 МБ
  • добавлен 22 ноября 2010 г.
Издательство: СПб.: БХВ-Петербург Год: 2002 Страниц: 512 Книга посвящена основным направлениям профессионального программирования. Подробно рассматриваются методологии, технологии, языки и системы программирования, аппаратная и операционная платформы, как давно известные, так и новейшие. Представлены различные их классификации. Книгу характеризуют две особенности: взаимосвязанный, системный подход к программированию и изложение программирования...

Сборник уроков 1-го курса Компьютерной Академии ШАГ

  • формат zip
  • размер 79.75 МБ
  • добавлен 31 октября 2009 г.
Язык программирования C# Язык программирования C/C++ Язык программирования Visual C++ Язык программирования Visual Basic Язык вэб-программирования Java Script Язык разметки XML Язык разметки XHTML, CSS Основы вэб-дизайна Векторный графический редактор Corel Draw Растровый графический редактор Photoshop Adobe Flash 3D Studio Max IP Локальные сети SQL Server Hardware Linux Windows XP Professionalrn

Технология программирования. Лекции

  • формат doc
  • размер 1.22 МБ
  • добавлен 16 марта 2010 г.
Надежное программное средство как продукт технологии программирования. Исторический и социальный контекст программирования. Источники ошибок в программных средствах. Общие принципы разработки программных средств. Внешнее описание программного средства. Методы спецификации семантики функций. Архитектура программного средства. Разработка структуры программы и модульное программирование. Разработка программного модуля. Доказательство свойств програм...

Чернев Д.А. Лекции по дисциплине Технология программирования

  • формат chm
  • размер 4.39 МБ
  • добавлен 05 ноября 2011 г.
Конспект лекций по дисциплине "Технология программирования". В дисциплине «Технология программирования»: - рассматриваются и подробно анализируются этапы раз­работки программного обеспечения, начиная от этапа его предварительного проектирования и оканчивая сдачей готового испытанного программного продукта заказчику с последующим его сопровождением; - с позиции современной системотехники рассматриваются проблемы проектирования сложных программн...