3-software_engineering_construction (1133543)
Текст из файла
Основы программной инженерии (по SWEBOK)Программная инженерия. Конструирование программного обеспечения.Программная инженерияКонструирование программного обеспечения(Software Construction)®Глава базируется на IEEE Guide to the Software Engineering Body of Knowledge - SWEBOK , 2004.Содержит перевод описания области знаний SWEBOK® “Software Construction”, с комментариями изамечаниями."Основы программной инженерии" разработаны на базе IEEE Guide to SWEBOK® 2004 в соответствии с IEEESWEBOK 2004 Сopyright and Reprint Permissions: "This document may be copied, in whole or in part, in any form orby any means, as is, or with alterations provided that (1) alterations are clearly marked as alterations and (2) thiscopyright notice is included unmodified in any copy."Русский перевод SWEBOK 2004 с замечаниями и комментариями подготовлены Сергеем Орликомпри участии Юрия Булуя. Дополнительные главы написаны Сергеем Орликом.
Текст расширений SWEBOKотмечен ццветом, отличным от перевода оригинального текста."Основы программной инженерии" Сopyright © 2004-2010 Сергей Орлик. Все права защищены.SWEBOK Сopyright © 2004 by The Institute of Electrical and Electronics Engineers, Inc. All rights reserved.Официальный сайт “Основ программной инженерии” (по SWEBOK) - http://swebok.sorlik.ruCopyright © Сергей Орлик, 2004-2010.http://swebok.sorlik.ru1Основы программной инженерии (по SWEBOK)Программная инженерия.
Конструирование программного обеспечения.Программная инженерияКонструирование программного обеспечения (Software Construction)Программная инженерия .......................................................................................................................... 2Конструирование программного обеспечения (Software Construction) ................................................ 21. Основы конструирования (Software Construction Fundamentals) .................................................. 31.1 Минимизация сложности (Minimizing Complexity) ....................................................................
31.2 Ожидание изменений (Anticipating Changes) ........................................................................... 41.3 Конструирование с возможностью проверки (Constructing for Verification) ............................. 41.4 Стандарты в конструировании (Standards in Constructing) ...................................................... 42. Управление конструированием (Managing Construction) .............................................................. 52.1 Модели конструирования (Construction Models) ...................................................................... 52.2 Планирование конструирования (Construction Planning)......................................................... 62.3 Измерения в конструировании (Construction Measurement) ....................................................
63. Практические соображения (Practical Considerations) .................................................................. 73.1 Проектирование в конструировании (Construction Design)...................................................... 73.2 Языки конструирования (Construction Languages)................................................................... 73.3 Кодирование (Coding)............................................................................................................... 93.4 Тестирование в конструировании (Construction Testing) .........................................................
93.5 Повторное использование (Reuse) .......................................................................................... 93.6 Качество конструирования (Construction Quality) .................................................................. 103.7 Интеграция (Integration) .......................................................................................................... 10Термин конструирование программного обеспечения (software construction) описывает детальноесоздание рабочей программной системы посредством комбинации кодирования, верификации(проверки), модульного тестирования (unit testing), интеграционного тестирования и отладки.Данная область знаний связана с другими областями.
Наиболее сильная связь существует спроектированием (Software Design) и тестированием (Software Testing). Причиной этого является то,что сам по себе процесс конструирования программного обеспечения затрагивает важные аспектыдеятельности по проектированию и тестированию. Кроме того, конструирование отталкивается отрезультатов проектирования, а тестирование (в любой своей форме) предполагает работу срезультатами конструирования. Достаточно сложно определить границы между проектированием,конструированием и тестированием, так как все они связаны в единый комплекс процессовжизненного цикла и, в зависимости от выбранной модели жизненного цикла и применяемых методов(методологии), такое разделение может выглядеть по разному.Хотя ряд операций по проектированию детального дизайна может происходить до стадииконструирования, большой объем такого рода проектных работ происходит параллельно сконструированием или как его часть.
Это есть суть связи с областью знаний “Проектированиепрограммного обеспечения”.В свою очередь, на протяжении всей деятельности по конструированию, инженеры используютмодульное и интеграционное тестирование. Таким образом связана данная область знаний с“Тестированием программного обеспечения”.В процессе конструирования обычно создается большая часть активов программного проекта конфигурационных элементов (configuration items). Поэтому в реальных проектах просто невозможнорассматривать деятельность по конструированию в отрыве от области знаний “Конфигурационногоуправления” (Software Configuration Management).Так как конструирование невозможно без использования соответствующего инструментария и,вероятно, данная деятельность является наиболее инструментально-насыщенной, важную роль вконструировании играет область знаний “Инструменты и методы программной инженерии” (SoftwareEngineering Tools and Methods).Copyright © Сергей Орлик, 2004-2010.http://swebok.sorlik.ru2Основы программной инженерии (по SWEBOK)Программная инженерия.
Конструирование программного обеспечения.Безусловно, вопросы обеспечения качества значимы для всех областей знаний и этапов жизненногоцикла. В то же время, код является основным результирующим элементом программного проекта.Таким образом, явно напрашивается и присутствует связь обсуждаемых вопросов с областью знаний“Качество программного обеспечения” (Software Quality).Из связанных дисциплин программной инженерии (Related Disciplines of Software Engineering)наиболее тесная и естественная связь данной области знаний существует с компьютерныминауками (computer scince). Именно в них, обычно, рассматриваются вопросы построения ииспользования алгоритмов и практик кодирования. Наконец, конструирование касается и управленияпроектами (project management), причем, в той степени, насколько деятельность по управлениюконструированием важна для достижения результатов конструирования.Рисунок 4.
Область знаний “Конструирование программного обеспечения” [SWEBOK, 2004, с.4-2, рис.1]1. Основы конструирования (Software Construction Fundamentals)Фундаментальные основы конструирования программного обеспечения включают: Минимизация сложности Ожидание изменений Конструирование с возможностью проверки Стандарты в конструированииПервые три концепции применяются не только к конструированию, но и проектированию, и лежат воснове современных методологий управления жизненным циклом программных систем.1.1 Минимизация сложности (Minimizing Complexity)Основной причиной того, почему люди используют компьютеры в бизнес-целях, являютсяограниченные возможности людей в обработке и хранении сложных структур и больших объемовинформации, в частности, на протяжении длительного периода времени. Это соображение являетсяодной из основных движущих сил в конструировании программного обеспечения: минимизацияCopyright © Сергей Орлик, 2004-2010.http://swebok.sorlik.ru3Основы программной инженерии (по SWEBOK)Программная инженерия.
Конструирование программного обеспечения.сложности. Потребность в уменьшении сложности влияет на все аспекты конструирования иособенно критична для процессов верификации (проверки) и тестирования результатовконструирования, т.е. самих программных систем.Уменьшение сложности в конструировании программного обеспечения достигается при уделенииособого внимания созданию простого и легко читаемого кода, пусть и в ущерб стремлению сделатьего идеальным (например, с точки зрения гибкости или следования тем или иным представлениям окрасоте, утончѐнности кода, ловкости тех или иных приемов, позволяющих его сократить в ущербразмерам и т.п.). Это не значит, что должно ущемляться применение тех или иных развитыхязыковых возможностей используемых средств программирования.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.