Экономические особенности разработки программных средств.
Высокая стоимость и большие ресурсы, используемые при создании сложных ПС и БД, привели к необходимости детального технико-экономического анализа и обоснования проектов ИС до начала их осуществления. Поэтому в данной дисциплине большое внимание уделено анализу ПС и методикам оценки трудоёмкости их разработки и сопровождения. Создание ПС и БД не завершается после первичных испытаний и сертификации 1-й версии, и длительное время они развиваются и модифицируются в серию версий в ходе сопровождения разработки и эксплуатации ПС. Программы и данные в ИС являются наиболее гибкими компонентами, подверженными изменению в течение всего их жизненного цикла. Поэтому они должны контролироваться и упорядочиваться участниками проекта. Для координации их действий применяют специальные методы, методики и средства автоматизации конфигурационного управления. Они позволяют на основе отслеживания динамики изменения ПС и БД представить специалистам и руководителям состояние проекта и его компонентов в любой момент времени и не допускать хаоса при модификации программ и данных. Процессы документирования и конфигурационного управления играют стабилизирующую роль во всём ЖЦ ПС. Поэтому они располагаются на первых позициях в стандартах и обеспечивают отражение состояния и динамики проектов. Их строгое выполнение определяет технико-экономические показатели (ТЭП) проекта, его качество, длительность применения и конкурентоспособность ПС и ИС в целом. Освоение основ экономики создания и применения ИС и их компонентов позволяет рационализировать капиталовложения в средства автоматизации, прогнозировать затраты и длительность разработки систем, научно планировать создание крупных ПС и БД. Так как их разработка требует больших затрат и происходит в условиях ограниченных ресурсов, надо осуществлять баланс между достигаемым их качеством и ресурсами для их реализации, поддерживая его на всём ЖЦ. При этом особенно остро стоит задача борьбы с ростом ошибок в сложных ПС и БД, угрожающим безопасности и надёжности ИС. Для их сокращения применяют типизацию проектов ИС в определённых проблемно ориентированных областях, сборочное программирование, процессы, средства и стандарты управления конфигурацией и качеством ПС и БД.
Вопросы оценки трудоёмкости разработки программных средств в свете требований стандартизации Современный подход к оценке трудоёмкости разработки ПС состоит в учёте особенностей ЖЦ ПС на различных этапах и влияния технологических факторов не только на трудозатраты, но и на уровень качества, надёжность и экономические показатели ПС. Разработка ПС является важнейшим элементом основных процессов ЖЦ и состоит из следующих работ и задач, сгруппированных в 5 групп (этапов): 1. Анализ разработки: а) подготовка процесса: определение или выбор модели жизненного цикла ПС; документальное оформление выходных результатов в соответствии с процессом документирования; выполнение вспомогательных процессов в соответствии с условиями договора; выбор стандартов, методов, инструментария, языков программмирования (если они не установлены в договоре); разработка плана проведения процесса разработки. б) анализ требований: технические требования к системе должны включать: требования к функциям и возможностям системы; коммерческие и организационные требования; требования пользователя; требования безопасности и защиты; эргономические требования; требования к интерфейсам; эксплуатационные требования; требования к сопровождению и квалификационные требования. Технические требования к системе должны быть оформлены документально; оценка и документальное оформление оценки требований к системе с учетом потребностей заказчика, соответствия потребностям заказчика, тестируемости, выполнимости проектирования системной архитектуры, возможности эксплуатации и сопровождения. 2. Проектирование: а) проектирование программной архитектуры (применительно к каждому программному объекту): трансформирование требований к программному объекту в архитектуру, которая описывает общую структуру объекта и определяет компоненты программного объекта; распределение требований к программному объекту между его компонентами; документальное оформление архитектуры программного объекта; разработка и документальное оформление общего (эскизного) проекта внешних интерфейсов и интерфейсов между компонентами объектов; разработка и документальное оформление общего (эскизного) проекта базы данных; разработка и документальное оформление предварительной версии документации пользователя; разработка и документальное оформление предварительных требований к тестированию программного объекта, разработка графика сборки программного продукта; оценка и документальное оформление архитектуры программного объекта и эскизных проектов. б) техническое проектирование ПС: разработка и документальное оформление технического проекта для каждого программного объекта. Компоненты программного объекта должны быть уточнены на уровне программных модулей, которые можно программировать, компилировать и тестировать независимо. Распределение технических требований к компонентам между программными модулями; разработка технического проекта внешних интерфейсов, интерфейсов между программными компонентами и программными модулями; разработка технического проекта базы данных; уточнение документации пользователя; определение и документальное оформление требований к испытаниям и программе испытаний программных модулей; оценка технического проекта и требований к тестированию, документальное оформление оценки. 3. Программирование: а) программирование и тестирование компонентов ПС: разработка и документальное оформление каждого программного модуля и базы данных; разработка и документальное оформление процедур испытаний и данных для тестирования каждого программного модуля и базы данных; тестирование каждого программного модуля и базы данных; уточнение документации пользователя; уточнение программы сборки ПС; оценка запрограммированных элементов программного объекта и документальное оформление оценки; б) сборка ПС: разработка плана сборки и тестирования, документальное оформление плана; сборка и тестирование программных модулей и компонентов, документальное оформление результатов; подготовка к квалификационным испытаниям: разработка и документальное оформление наборов тестов, контрольных примеров, процедур испытаний; оценка и документальное оформление оценки плана сборки, проекта, запрограммированного программного объекта, проведенных испытаний, результатов тестирования, документации пользователя. 4. Квалификационные испытания (тестирование) ПС: проведение квалификационных испытаний на соответствие квалификационным требованиям к программному объекту; уточнение документации пользователя (при необходимости); проведение аудиторской проверки и документальное оформление результатов; доработка программного продукта по результатам аудиторской проверки (при необходимости); подготовка ПС к вводу в действие. 5. Внедрение ПС: а) ввод в действие ПС: разработка и документальное оформление плана ввода в действие программного продукта в среде эксплуатации, определенной в договоре; ввод в действие программного продукта в соответствии с планом и условиями договора; документальное оформление работ;
б) обеспечение приемки ПС: обеспечение проведения заказчиком оценки готовности к приемке и приемочным испытаниям; документальное оформление результатов оценки готовности; поставка программного продукта заказчику; первоначальное и непрерывное обучение и поддержка персонала заказчика в соответствии с условиями договора. Вспомогательные процессы 1) Документирование – процесс формализованного описания информации, созданной в процессе или работе жизненного цикла. Данный процесс состоит из набора работ, при помощи которых планируют, проектируют, разрабатывают, выпускают, редактируют, распространяют и сопровождают те документы, в которых нуждаются все заинтересованные лица. Данный процесс состоит из работ: подготовка процесса; проектирование и разработка; выпуск. 2) Обеспечение качества – процесс обеспечения соответствующих гарантий того, что программные продукты и процессы в жизненном цикле проекта соответствуют установленным требованиям и утвержденным планам. Обеспечение качества должно быть организационно и полномочно независимым от субъектов, непосредственно связанных с разработкой программного продукта. Данный процесс состоит из подготовки процесса; обеспечения продукта; обеспечения процесса; обеспечения систем качества. Организационные процессы 1) Управление – процесс, состоящий из общих работ и задач, которые могут быть использованы любой стороной, управляющей соответствующим процессом. Администратор отвечает за управление продуктом, проектом, работами и задачами соответствующего процесса, который состоит из подготовки и определения области управления; планирования; выполнения и контроля; проверки и оценки; завершения. 2) Создание инфраструктуры – процесс установления и обеспечения инфраструктуры, необходимой для любого другого процесса. Инфраструктура может содержать технические и программные средства, инструментальные средства, методики, стандарты и условия для разработки. Этот процесс состоит из подготовки процесса; создания инфраструктуры; сопровождения инфраструктуры. 3) Усовершенствование – процесс установления, оценки, измерения, контроля и улучшения любого процесса жизненного цикла ПС. Процесс состоит из создания процесса; оценки процесса; усовершенствования процесса. 4) Обучение – процесс обеспечения первоначального и продолженного обучения персонала. Должно быть запланировано и заранее выполнено обучение персонала с целью готовности его к работам по разработке программного проекта. Данный процесс состоит из подготовки процесса; разработки учебных материалов; реализация плана обучения. Методика оценки трудоёмкости должна охватывать все указанные выше работы процесса разработки ПС, а также вспомогательные и организационные процессы.
Лекция 5
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|