Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 161; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.139.86.53 (0.008 с.) |