Отличия от пятого издания
Стр 1 из 202Следующая ⇒ Software Engineering Sixth Edition
Ian Sommerville
Инженерия программного обеспечения
6-е издание
Иан Соммервилл
ББК 32.973.26-018.2.75 С61 УДК 681.3.07 Издательский дом "Вильямс"
Зав. редакцией А. В. Слепцов
Перевод с английского канд.физ.-мат.наук А.А. Минько, А. А. Момотюк, Г. И. Сингаевской, В.Д. Яновской
Под редакцией канд.физ.-мат.наук А.А. Минько
По общим вопросам обращайтесь в Издательский дом "Вильямс" по адресу: info@williamspublishing.com, http://www.williamspublishing.com Соммервилл, Иан.
С61 Инженерия программного обеспечения, 6-е издание.: Пер. с англ. – М.: Издательский дом "Вильямс", 2002. – 624 с.: ил. – Парал. тит. англ.
ISBN 5-8459-0330-0 (рус.)
Данная книга является прекрасным введением в инженерию программного обеспечения. Здесь дана широкая панорама тем инженерии ПО, охватывающих все этапы и технологии разработки программных систем. В семи частях книги представлен весь спектр процессов, ведущих к созданию программного обеспечения: от начальной разработки системных требований и далее через проектирование, непосредственное программирование и аттестацию до модернизации программных систем. Эта книга окажет неоценимую поддержку студентам и аспирантам, изучающим дисциплину "Инженерия программного обеспечения", а также будет полезна тем специалистам по программному обеспечению, которые хотят познакомиться с новыми технологиями разработки ПО, такими, как спецификация требований, архитектура распределенных структур или надежность программных систем. ББК 32.973.26-018.2.75
Все названия программных продуктов являются зарегистрированными торговыми марками соответствующих фирм.
Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами, будь то электронные или механические, включая фотокопирование и запись на магнитный носитель, если на это нет письменного разрешения издательства Pearson Education Europe.
Authorized translation from the English language edition published by Pearson Education Limited, Copyright ©2001 All rights reserved. No part of this book may be reproduced, stored in retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise without either the prior written permission о the Publisher. Russian language edition published by Williams Publishing House according to the Agreement with R&l Enterprises International, Copyright © 2001
ISBN 5-8459-0330-0 (рус.) © Издательский дом "Вильямс". 2002 ISBN 0-201-39815-X (англ.) © Pearson Education Limited, 2001 Предисловие
Программные системы ныне присутствуют повсеместно: практически любые электронные устройства содержат программное обеспечение (ПО) того или иного вида. Без соответствующего программного обеспечения в современном мире невозможно представить индустриальное производство, школы и университеты, систему здравоохранения, финансовые и правительственные учреждения. Многие используют ПО для самообразования или различного рода развлечений. Создание спецификации требований, разработка, модификация и сопровождение таких систем ПО составляет суть технической дисциплины инженерия программного обеспечения (software engineering). Даже простые системы ПО обладают высокой степенью сложности, поэтому при их разработке приходится использовать весь арсенал технических и инженерных методов. Таким образом, инженерия программного обеспечения – это инженерная дисциплина, где разработчики ПО используют теорию и методы компьютерных наук для успешного решения различных нетривиальных задач (но, конечно, не каждый проект ПО в силу различных причин успешно завершается). Большинство современных программ предлагают пользователям большие сервисные возможности для работы с ними – нельзя не заметить реального прогресса в развитии технологии создания ПО за последние 30 лет.
Инженерия программного обеспечения развивается в основном в соответствии с постановкой новых задач построения больших пользовательских систем ПО для промышленности, правительства и оборонного ведомства. С другой стороны, в настоящее время сфера программного обеспечения чрезвычайно широка: от игр на специализированных игровых консолях, а также программных продуктов для персональных компьютеров и Web-ориентированных программных систем до очень больших масштабируемых распределенных систем. Хотя некоторые технологии, применяемые для построения пользовательских программных систем, универсальны (например, объектно-ориентированные методы), новые технологии создания программного обеспечения развиваются с учетом различных типов ПО. Невозможно охватить в одной книге все технологии создания ПО, поэтому я сконцентрировал основное внимание не на методах разработки отдельных программных продуктов, а на универсальных технологиях и методах проектирования и построения больших масштабируемых программных систем. Хотя данная книга запланирована как общее введение в инженерию программного обеспечения, в ней отражены мои собственные интересы к критическим системам и процессу разработки требований для программных систем. Я думаю, что эти вопросы имеют практическую важность в преддверии 21-го столетия, так как благодаря их решению современное ПО сможет удовлетворить реальные нужды пользователей следующего века. В этой книге я старался дать широкую панораму инженерии программного обеспечения без концентрации внимания на каких-либо специальных методах или средствах. Я испытываю стойкую неприязнь к фанатикам любого рода, будь то академический проповедник, рекламирующий формальные методы и подходы, или продавец ПО, пытающийся убедить меня, что именно его программное средство или метод решит все проблемы создания программного обеспечения. Не существует простых решений задач создания ПО; для этого необходим широкий спектр средств, методов и технологий. Книги неизбежно отражают мнения и предпочтения авторов. Некоторые читатели конечно же не согласятся с моим мнением или выбором материала для книги. Такое несогласие, т.е. здоровая реакция, вызванная множественностью подходов к инженерии программного обеспечения, и является залогом ее дальнейшего развития. Вместе с тем я надеюсь, что все разработчики программного обеспечения, а также студенты, изучающие дисциплину "Инженерия программного обеспечения", найдут в этой книге что-то интересное для себя.
Отличия от пятого издания
Подобно многим системам программного обеспечения, эта книга растет и изменяется начиная с первого издания, опубликованного в 1982 году. Одной из целей при подготовке настоящего издания было сокращение объема книги. Это привело к определенной реорганизации ее содержания и к глубоким раздумьям о том, какой материал можно удалить для того, чтобы включить новый. В результате объем книги уменьшился на 10% по сравнению с пятым изданием.
• Теперь книга содержит семь частей, а не восемь, как было в предыдущем издании. В них представлено введение в инженерию программного обеспечения, темы разработки требований для ПО, собственно создания программного продукта, разработки критических систем, проверки и аттестации ПО, управления ПО, а также эволюции программных систем. • Добавлены новые главы, описывающие процесс создания и эксплуатации программного обеспечения, архитектуру распределенных систем, проблемы надежности и наследования ПО. Теме формальной спецификации ПО теперь посвящена только одна глава. Материал по CASE-технологиям сокращен и распределен по нескольким главам. Материал по функциональному проектированию ПО теперь содержит новую главу по наследуемым системам (legacy systems). Главы, описывающие верификацию и аттестацию ПО, объединены в отдельную часть. • Во все главы внесены изменения, а некоторые существенно переработаны. Повторное использование программных компонентов в настоящем издании рассматривается как тема разработки ПО с повторным использованием программных продуктов совместно с материалом о паттернах и темой разработки ПО, основанной на покомпонентном подходе. Главы по разработке требований выделены в отдельную часть книги.
• Вводная часть книги содержит четыре главы. В них собран вводный материал, который в пятом издании был разбросан по всей книге. Глава 1 полностью переписана и построена в форме вопросов и ответов, касающихся инженерии программного обеспечения. • Материал по критическим системам реструктуризирован и объединен таким образом, чтобы темы надежности, безопасности и работоспособности ПО теперь не выделялись как отдельные. Добавлен также небольшой материал о защищенности ПО как атрибуте критических систем. • В данном издании примеры программ написаны на языке Java, а модели объектов – на UML. Примеры программ на языках Ada и C++ удалены из книги, но доступны на моем Web-узле.
Читайте также: S: Отличия между клиническими проявлениями энтеропатогенного эшерихиоза и шигеллеза, протекающего типично Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|