Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Сущность и логика становления программной инженерииСодержание книги
Поиск на нашем сайте Само собой разумеется, что программная инженерия связана с программированием. Датой начала программирования считают 1944 год. Но можно ли считать эту дату началом зарождения программной инженерии? Конечно, нет. Как нельзя назвать первых ремесленников программными инженерами. Однако, два отличия есть: 1. Развитие информатики (как аппаратной части, так и языков программирования) с самого начала поддерживалось государствами и щедро финансировалось имbи, и 2. Отрезок пути от «ремесленного» уровня до «инженерного» и массового программирование прошло не за 150-200 лет, а всего лишь за 30-35. Причиной этому был достигнутый к этому времени несопоставимо более высокий уровень развития индустрии и научного знания, а также коммуникативные запросы общества. В остальном история становления программной инженерии в методологическом плане повторяет, описанную выше историю инженерии вообще. Задачи инженерии и требования к ней полностью совпадают с таковыми для программной инженерии. На первых порах программисты в индивидуальном порядке решали небольшие научно-технические задачи на конкретной ЭВМ в числовом коде, а затем в автокоде или Ассемблере[5]. На решение одной задачи на компьютерах с быстродействием 10-20 тысяч операций в секунду требовались минуты, иногда часы. Наверное, этот период можно назвать ремесленным. Программист делал всё: в общении с заказчиком уточнял задачу, разрабатывал алгоритм, программировал его, решал задачу и доказывал правильность результата. Понемногу задачи становились всё более сложными. Это началось с задач автоматизированного управления военно-техническими комплексами, а затем автоматизированным управлением предприятием. Появились библиотеки алгоритмов, сложные языки программирования и методики тестирования. Эти задачи могли быть решены только коллективами программистов с чёткой организацией работы и разделением функций. Даже понимание заказчика и согласование с ним его требований требовало специальных знаний. То есть понадобились специальные системные подходы. Ну а затем информатика «пошла в народ». Производство программ, обеспечивающих работу всех подразделений предприятий, разнообразных коммуникаций (включая интернет), игр и медиа стало бизнесом, который обязан быть прибыльным. Поэтому командам-производителям программ понадобился грамотный финансовый менеджмент и маркетинг. Создание программ стало требовать системного подхода, и как ответ на это требование сформировалась отрасль знаний под названием «программная инженерия». С самого начала у неё была одна особенность: международный характер информационных обменов обеспечил международный же характер разработок при создании стандартов, областей знаний и методик, составляющих ядро программной инженерии. В заключение этого раздела приведём современные представления о масштабах и характеристиках программного обеспечения, а также классификациях программных проектов по его созданию[6] (Проект ПО – совокупность спецификаций ПО (включающих модели и проектную документацию), обеспечивающих создание ПО в конкретной программно-технической среде). ПО можно разбить на два класса: «малое» и «большое». «Малое» (простое) программное обеспечение имеет следующие характеристики: ● решает одну несложную, четко поставленную задачу; ● размер исходного кода не превышает нескольких сотен строк; ● скорость работы программного обеспечения и необходимые ему ресурсы не играют большой роли; ● ущерб от неправильной работы не имеет большого значения; ● модернизация программного обеспечения, дополнение его возможностей требуется редко; ● как правило, разрабатывается одним программистом или небольшой группой (5 или менее человек); ● подробная документация не требуется, ее может заменить исходный код, который доступен.
«Большое» (сложное ) программное обеспечение имеет 2-3 или более характеристик из следующего перечня: ● решает совокупность взаимосвязанных задач; ● использование приносит значимую выгоду; ● удобство его использования играет важную роль; ● обязательно наличие полной и понятной документации; ● низкая скорость работы приводит к потерям; ● сбои, неправильная работа, наносит ощутимый ущерб; ● программы в составе ПО во время работы взаимодействует с другими программами и программно-аппаратными комплексами; ● работает на разных платформах; ● требуется развитие, исправление ошибок, добавление новых возможностей; ● группа разработчиков состоит из более 5 человек. Классификация программных проектов по созданию сложного ПО может быть проведена по размеру группы разработчиков и длительности проекта: ● небольшие проекты – проектная команда менее 10 человек, срок от 3 до 6 месяцев; ● средние проекты – проектная команда от 20 до 30 человек, протяженность проекта 1-2 года; ● крупномасштабные проекты – проектная команда от 100 до 300 человек, протяженность проекта 3-5 лет; ● гигантские проекты – армия разработчиков от 1000 до 2000 человек и более (включая консультантов и соисполнителей), протяженность проекта от 7 до 10 лет. Эти характеристики проектов подтверждают приведённое выше заключение о социальной значимости соответствующих проектов и необходимости системного подходов в проектировании ПО, который должен быть основой проектирования программного обеспечения. Напомним, что системный подход – это методология исследования объекта любой природы как системы, а система – это совокупность взаимосвязанных частей, работающих совместно для достижения некоторого результата. Определяющий признак системы – поведение системы в целом не сводимо к совокупности поведения частей системы, что является характерным свойством крупных проектов по разработке ПО.
|
||
|
Последнее изменение этой страницы: 2020-12-17; просмотров: 221; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.006 с.) |