Тема 2. Жизненный цикл программы.pptx
- Количество слайдов: 21
Московский государственный университет печати имени Ивана Федорова Кафедра «Информатика и вычислительная техника» Информатика Москва – 2011
Жизненный цикл программного обеспечения постановка задачи, анализ и уточнение требований, предъявляемых к системе; определение спецификаций и разработка системной архитектуры; разработка проекта, детальное проектирование модулей; программирование (кодирование); тестирование и отладка; эксплуатация и сопровождение
Основные этапы разработки и проектирования. ГОСТ 19. 102 -77 Техническое задание Эскизный проект Разработка технического проекта Утверждение технического проекта Рабочий проект Разработка эскизного проекта Утверждение эскизного проекта Технический проект Обоснование необходимости разработки программы Научно-исследовательские работы Разработка и утверждение технического задания Разработка программы Разработка программной документации Испытания программы Внедрение Подготовка и передача программы
Техническое задание Состав ТЗ регламентируется ГОСТ 19. 201 -78. Содержит следующие пункты: введение; основание для разработки; назначение разработки; требования к программе или программному изделию; требования к программной документации; технико-экономические показатели; стадии и этапы разработки; порядок контроля и приема.
Требования к программе или программному изделию требования к функциональным характеристикам; требования к надежности; условия эксплуатации; требования к составу и параметрам технических средств; требования к информационной и программной совместимости; требования к маркировке и упаковке; требования к транспортированию и хранению.
Развернутый план проекта Введение Вычислительная среда Функции системы Сфера применения Сбор и корректировка данных Отчеты Технические средства Программные средства Режимы работы Связь с внешней средой Вход системы Выход системы Управляющие параметры Рабочие инструкции
Развернутый план проекта Качество системы Универсальность системы Надежность функционирования Соблюдение стандартов и общепринятых обозначений Защита информации Документация по системе Пособия и руководства Спецификации программ Организация данных
Разработка проекта программной системы Разрабатывается общая структура вычислительной системы; Уточняется или разрабатывается общая модульная структура программной системы, интерфейс, алгоритмы и функции отдельных подсистем; Планируется процесс параллельной работы группы программистов и им передаются на разработку отдельные модули.
Программирование алгоритмов Кодирование – переход от алгоритма к программе на языке программирования. Процесс кодирования алгоритма заключается в записи основных алгоритмических конструкций на языке программирования. Транслятор проверяет программу и выдаёт пользователю сообщение об ошибках. Алгоритмический язык – это специальный искусственный язык, с помощью которого можно достаточно просто и удобно записать любой алгоритм. Машинно-ориентированный язык – это язык машинных команд, записанных в символическом виде.
Тестирование и отладка Тестирование – процесс поиска ошибок работы программы, посредством проверки правильности результатов ее функционирования на наборах данных, характерных для рабочего состояния программы. Отладка – точное определение местоположения ошибок в программе, причин и условий их возникновения, с целью последующего их устранения. Трассировка – это процесс пошагового выполнения алгоритма с записью в таблицу значений переменных, значений условий, номеров последующего шага (блока) для выполнения и комментариев по выполнению.
Трассировка алгоритма
Тестирование и отладка Верификация – доказательство правильности программы. Аксиома: любая сложная программа содержит хотя бы одну ошибку. Виды тестирования: автономное (тестирование модулей программистами); комплексное (тестирование общих функций системы программистами); системное (оценочное) – тестирование, как правило, с участием заказчика.
Эксплуатация и сопровождение Ситуации, требующие модификации системы: обнаруживаться ошибки; обнаруживаться неэффективные алгоритмы; потребоваться уточнение отдельных функций и данных; потребоваться введение дополнительных функций.
Критерии качества программного обеспечения Функциональные возможности; Надежность; Практичность; Эффективность; Сопровождаемость; Мобильность.
Функциональные возможности Способность ПО обеспечивать функции, удовлетворяющие установленным и подразумеваемым потребностям при использовании ПО в заданных условиях. Пригодность (Suitability); Правильность (Accuracy); Способность к взаимодействию (Interoperability); Защищенность (Security); Согласованность (Compliance).
Надежность (Reliability) Способность ПО сохранять свой уровень качества функционирования при использовании в указанных условиях. Завершенность (Maturity); Устойчивость к ошибке (Fault tolerance); Восстанавливаемость (Recoverability); Доступность (Availability); Согласованность (Compliance).
Практичность (Usability) Способность ПО, обусловливающая легкость его понимания, изучения и использования, а также привлекательность для пользователя при использовании в указанных условиях. Понятность (Understandability); Изучаемость (Learnability); Легкость использования (Operability); Привлекательность (Attractiveness); Согласованность (Compliance).
Эффективность (Efficiency) Способность ПО обеспечивать требуемую производительность относительно количества используемых ресурсов в установленных условиях. Временная эффективность (Time behaviour); Использование ресурсов (Resource utilization); Согласованность (Compliance).
Сопровождаемость (Maintainability) Способность ПО к модификации. Анализируемость (Analyzability); Изменяемость (Changeability); Стабильность (Stability); Тестируемость (Testability); Согласованность (Compliance).
Мобильность (Portability) Способность ПО к переносу из одной среды в другую. Среда может включать организационную, аппаратную или программную среду. Адаптируемость (Adaptability); Легкость установки (Installability); Сосуществование (Co-existence); Заменяемость (Replaceability); Согласованность (Compliance).
Качество в использовании (Quality in use) Степень, в которой продукт, используемый указанными пользователями, удовлетворяет их потребности в достижении определенных целей с результативностью, продуктивностью и удовлетворением в заданном контексте использования. Определяется следующими параметрами: результативность (Effectiveness); продуктивность (Productivity); удовлетворение (Satisfaction).


