Начальная

Windows Commander

Far
WinNavigator
Frigate
Norton Commander
WinNC
Dos Navigator
Servant Salamander
Turbo Browser

Winamp, Skins, Plugins
Необходимые Утилиты
Текстовые редакторы
Юмор

File managers and best utilites

Виды программного обеспечения Общие требования к программным системам. Программная инженерия рефераты


Программная инженерия — реферат

Министерство образования и науки РФ

Федеральное Государственное Бюджетное Образовательное учреждение  высшего профессионального образования

Камская государственная инженерно–экономическая академия

Кафедра «Математическое моделирование и информационные технологии в экономике»

Реферат

по дисциплине «Введение в направление»

на тему: «Программная инженерия»

Выполнил:

Студент: Шарипова А. А.

Группа № 5139

№ зачетной книжки: 5012064

Проверил:

к.ф.–м.н., доцент

Смирнов Ю. Н.

Набережные Челны 2012 Оглавление 

 Введение

В конце 90-х годов прошлого века знания и опыт, которые были накоплены в индустрии программного обеспечения за предшествующие 30-35 лет, а также более чем 15-летних попыток применения различных моделей разработки, все это, наконец, оформилось в то, что принято называть дисциплиной программной инженерии – Software Engineering. В какой-то мере, такое формирование дисциплины на основе широко распространенного практического опыта напоминает те процессы, которые происходили в управлении проектами. Возникали и развивались профессиональные ассоциации, специализированные институты, комитеты по стандартизации и другие образования, которые, в конце концов, пришли к общему мнению о необходимости сведения профессиональных знаний по соответствующим областям и стандартизации соответствующих программ обучения.1 [1]

 

  1. Программная инженерия

Программная инженерия — это интегрирование принципов математики, информатики и компьютерных наук с инженерными подходами, разработанными для производства осязаемых материальных артефактов. Также программная инженерия определяется как системный подход к анализу, проектированию, оценке, реализации, тестированию, обслуживанию и модернизации программного обеспечения, то есть применение инженерии к разработке программного обеспечения.

Дисциплина программной инженерии включается в круг вопросов компьютинга (англ. computing) и может рассматриваться как инженерная область, имеющая более тесные связи со своей базовой дисциплиной — компьютерными науками, — чем другие инженерные области. Среди других инженерных дисциплин она качественно выделяется нематериальностью программного обеспечения и дискретной природой его функционирования. Основываясь на математике и компьютинге, программная инженерия занимается разработкой систематических моделей и надежных методов производства высококачественного программного обеспечения, и данный подход распространяется на все уровни — от теории и принципов до реальной практики создания программного обеспечения, которая лучше всего заметна сторонним наблюдателям.

Термин "Разработка программного обеспечения" является более общим и часто используемым, по сравнению с термином "Программная инженерия" и не обязательно включает в себя парадигмы инженерии. Однако вряд ли можно сказать, что использование этого метода оказало сколько-нибудь ощутимый вклад в развитие реальной разработки программного обеспечения на протяжении уже более чем 40 лет.

    1. Основные сведения

Термин «инженерия программного обеспечения» появился впервые в 1968 году на Конференции НАТО «Инженерия программного обеспечения» и предназначался, чтобы спровоцировать поиск решений для происходившего в то время «кризиса программного обеспечения». С тех пор, это переросло в профессию и область исследований, посвященных созданию программного обеспечения, более качественного, доступного, лучше поддерживаемого, и быстрее разрабатываемого.

Так как область все еще относительно молода по сравнению со своими сестринскими областями инженерии, есть все еще большая работа и дебаты вокруг того, что представляет собой «инженерия программного обеспечения», и удовлетворяет ли оно понятию инженерии. Этот спор развивается естественным образом, начавшись с попыток рассматривать создание программного обеспечения только как программирование. Разработка программного обеспечения — термин, иногда предпочитаемый практиками в промышленности, которые рассматривают разработку программного обеспечения как несравнимо более мощную и конструкционно-ёмкую методологию в сравнении с процессом написания кода программистом.

Все же, несмотря на юность профессии, будущее области радужно, поскольку, Money Magazine и Salary.com оценили профессию разработчика программного обеспечения как лучшую работу в Америке в 2006.

Разработка программного обеспечения связана с дисциплинами информатики, управления проектами, и инженерии систем.

    1. История

Когда первые современные цифровые компьютеры появились в начале 1940-х годов наборы исполняемых команд уже были встроены в машину. Специалисты быстро поняли, что этот подход не слишком удобен. Так появилась “архитектура хранимых программ” или архитектура фон Неймана. Таким образом, деление на "железо" и "программное обеспечение" началось с абстракции, используемой чтобы решить проблему сложности вычислений.

Первые языки программирования стали появляться в 1950-х годах, и это был еще один важный шаг в абстракции. Основные языки, такие как Fortran, Algol и Cobol были выпущены в конце 1950-х для решения научных, алгоритмических и бизнес-задач соответственно. Дейкстра написал свою известную статью, "Go To Statement Considered Harmful" в 1968 году, а Дэвид Парнас ввел ключевое понятие модульности и скрытия информации в 1972 году, чтобы помочь программистам справляться со все более и более сложными программными системами. Системное программное обеспечение для управления аппаратным, названное “операционная система” было представлено компанией Unix в 1969 году. В 1967 году язык Simula ввел понятие объектно-ориентированной парадигмы программирования.

Эти достижения в области программного обеспечения были встречены большим прорывом компьютерной технике. В середине 1970-х годов был представлен микрокомпьютер, что позволило любителям получить собственный компьютер и писать свои программы для него. Это, в свою очередь привело к появлению персональных компьютеров (ПК) и Microsoft Windows. Также в середине 1980-х появляются такие понятия как цикл разработки программного обеспечения в качестве некоторого консенсуса для централизованной разработки программного обеспечения. Конец 1970-х и начало 1980-х годов ознаменовались появлением нескольких новых Simula-подобных объектно-ориентированных языков программирования, в том числе Smalltalk, Objective-C и C++.

Open Source, появившийся в начале 90-х  в форме Linux, а также других  программ, ввел понятие “базара”  или децентрализованного стиля  разработки ПО. Затем мировая паутина и стремительная популяризация интернета в середине 90-х изменили программную инженерию еще раз. Распределенные системы получили широкое распространение, как способ устройства систем, а также язык Java с его собственной виртуальной машиной, сделали еще один шаг в абстракции. Сотрудничество программистов позволило появиться на свет документу, названному Agile Manifesto, который поддерживал облегчение процессов, что способствовало написанию более дешевых и регулярно обновляемых программ.

В настоящее время определение программной инженерии все еще обсуждается специалистами. До сих пор идут споры, какой же метод производства программного обеспечения "дешевле, лучше, быстрее". Сокращение затрат вообще было одной из главных задач ИТ-индустрии с 1990 года. Совокупная стоимость владения ПО включает затраты не только на его приобретение или разработку. Это также расходы на задержки производства, на содержание и ресурсы, необходимые для поддержки инфраструктуры.

 

  1. Системные основы современных технологий программной инженерии

Основная цель современных технологий программной инженерии состоит в обеспечении эффективности всего жизненного цикла комплексов программ для ЭВМ в различных проблемно-ориентированных областях. В понятие современной технологии включается совокупность методов и инструментальных средств автоматизации, а также технологические процессы, обеспечивающие жизненный цикл сложных ПС с заданными функциональными и конструктивными характеристиками качества. Для этого рекомендуется использовать наиболее эффективные и совершенные методы проектирования и проводить комплексную автоматизацию ЖЦ ПС (см. рис. 1). Целеустремленная деятельность разработчиков-поставщиков должна быть направлена на удовлетворение требований заказчиков и пользователей программных продуктов при их применении по прямому назначению.2[2]

Эта деятельность регламентируется рядом методов и стандартов, которые являются компонентами технологического обеспечения сложных ПС в течение их жизненного цикла. Их применение предполагает высокую дисциплину коллектива специалистов, использование им методик, стандартов, типовых нормативных документов и средств автоматизации разработки, которые регламентируют порядок организации и проведения работ по выполнению технологических операций, направленных на получение, в имеющихся организационно-технических условиях, готового программного продукта с заданными функциями и качеством.

Методической основой технологии, регламентирующей деятельность специалистов, является типовой технологический процесс. Он отражается набором этапов и операций в последовательности их выполнения и взаимосвязи, обеспечивающих ведения работ на всех стадиях от инициирования проекта и подготовки технического задания до завершения испытаний или применения версии ПС. В современных технологиях объединяются методы непосредственной разработки программ и данных с методами обеспечения качества и организации управления их созданием с учетом технологических и человеческих факторов.3[3]

Индустриализация технологий программной инженерии базируется на стандартизации процессов разработки программ, их структурного построения и интерфейсов с операционной и внешней средой. Для этого с самого начала разработки должны определяться состав и этапы работ, необходимые для достижения конечной цели, а также требуемые для их выполнения ресурсы. Технические и управленческие проверки, анализ качества результатов промежуточных работ и компонентов, а также корректности их взаимосвязей должны обеспечивать руководителям и всем разработчикам уверенность достижения требуемого конечного результата проекта.4[4]

Достижение высоких значений качества комплексов программ существенно зависит от качества технологии и инструментальных средств, используемых разработчиками для обеспечения ЖЦ ПС. Уровень автоматизации, качество технологии и средств, применяемых для поддержки процессов жизненного цикла ПС, обычно сильно коррелирован с качеством создаваемых комплексов программ, а также с качеством средств автоматизации для их оценивания. Оценивание достоинств технологической базы ЖЦ позволяет прогнозировать возможное качество ПС и ориентировать заказчика и пользователей при выборе разработчика и поставщика для определенного проекта с требуемыми характеристиками. Поэтому определение уровня технологической поддержки процессов жизненного цикла, организационного и инструментального обеспечения ПС, непосредственно связано с оцениванием реальных или возможных характеристик качества конкретного комплекса программ.5[5]

3. Профессия

Правовые требования к лицензированию и сертификации профессиональных программных инженеров отличаются во всем мире. В Великобритании, Британское компьютерное общество выдает лицензии программных инженеров и члены общества могут также стать «дипломированными инженерами» (C.Eng), а в некоторых районах Канады, например, Альберта, Онтарио и Квебек, программные инженеры могут также быть «профессиональными инженерами» (P.Eng) или «мастерами информационных систем» (ISP), однако, нет никаких правовых требований для данных специализаций.

4. Работа

В 2004 году американское Бюро статистики труда, насчитало 760 840 программных инженеров, занимающих рабочие места в США. В тот же период времени было около 1,4 млн. практиков, занятых в США в других смешанных инженерных специальностях. Благодаря своей относительной новизне, как формальная область изучения, программная инженерия часто преподается как часть учебной программы компьютерных наук, и многие программные инженеры имеют неплохие познания в информатике.

Многие программные инженеры работают в качестве штатных сотрудников или подрядчиков. Они работают в предприятиях, государственных учреждениях (гражданских или военных), а также в некоммерческих организациях. Некоторые программные инженеры работают фрилансерами. Некоторые организации имеют специалистов для выполнения каждой из задач в процессе разработки программного обеспечения. Другим же требуется программный инженер, который выполняет сразу многие задачи или все из них. В больших проектах, люди могут специализироваться только в одной роли. В небольших, люди могут занять несколько или все роли одновременно. Специализации включают в себя в промышленности: аналитики, архитекторы ПО, разработчики, тестировщики, техническая поддержка, промежуточный аналитик, менеджер. В академических кругах: преподаватели, исследователи.

Большинство программных инженеров и программистов работает 40 часов в неделю, а около 15 процентов программных инженеров и 11 процентов программистов работали более 50 часов в неделю в 2008 году. Травмы в этих профессиях встречаются редко. Однако, как и в других профессиях, где надо проводить много времени перед компьютером, люди этих специальностей более подвержены к усталости глаз, болям в спине, а также болезням рук и запястий, таких как синдром запястного канала.

5. Сертификация

Институт Программной Инженерии предлагает сертификацию по конкретным специальностям, таким как: безопасность, оптимизация процессов, а также архитектура программного обеспечения. Apple, IBM, Microsoft и другие компании финансируют собственные экзамены для сертификации. Многие IT-программы сертификации ориентированы на конкретные технологии, и управляется поставщиками этих технологий. Эти программы сертификации разработаны с учетом места, на которое будут наниматься люди, использующие эти технологии.

referat911.ru

Программная инженерия

ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ — ВЫСШАЯ ШКОЛА экономики

в.в. ЛИПАЕВ

ПРОГРАММНАЯ

ИНЖЕНЕРИЯ

МЕТОДОЛОГИЧЕСКИЕ ОСНОВЫ

Допущено УМО по образованию в области менеджмента в качестве учебника для студентов высших учебных заведений,

обучающихся по направлению «Бизнес-информатика»(080700)

УДК 004.41(075.8) ББК 32.973.26-018я73

Л42

Издание осуществлено в рамках

Инновационной образовательной программы ГУ ВШЭ

«Формирование системы аналитических компетенций для инноваций в бизнесе и государственном управлении»

Р е ц е н з е н т ы :

заместитель директора МСП РАН, доктор технических наук, профессор В.З. Шнитман;

проректор по информатизации ГОУ МГТУ «Станкин», доктор технических наук, профессор Б.М.Позднеев

ISBN 5-7598-0424-3

© В.В. Липаев, 2006

 

© Оформление. Издательство «ТЕИС», 2006

СОДЕРЖАНИЕ

Предисловие

9

Лекция 1. Программная инженерия в жизненном цикле

 

программных средств (3 часа)

16

1.1. Основы жизненного цикла программных средств

16

1.2. Роль системотехники в программной инженерии

24

1.3. Системные основы современных технологий

 

программной инженерии

27

Лекция 2. Профили стандартов жизненного цикла систем

ипрограммных средств в программной инженерии (4 часа) . . . . 37

2.1.Назначение профилей стандартов жизненного цикла

в программной инженерии

37

2.2. Жизненный цикл профилей стандартов систем

 

и программных средств

42

2.3. Модель профиля стандартов жизненного цикла

 

сложных программных средств

54

Лекция 3. Модели и процессы управления проектами

 

программных средств (4 часа)

60

3.1. Управление проектами программных средств в системе — CMMI

. . . 60

3.2. Стандарты менеджмента (административного управления)

 

качеством систем

75

3.3. Стандарты открытых систем, регламентирующие структуру

 

и интерфейсы программных средств

91

Содержание

 

Лекция 4. Системное проектирование программных средств (3 часа) . . . .

100

4.1. Цели и принципы системного проектирования

 

сложных программных средств

100

4.2. Процессы системного проектирования программных средств

108

4.3. Структурное проектирование сложных программных средств

116

4.4. Проектирование программных модулей и компонентов

122

Лекция 5. Технико-экономическоеобоснование проектов

 

программных средств (4 часа)

128

5.1. Цели и процессы технико-экономическогообоснования проектов

 

программных средств

128

5.2. Методика 1 —экспертноетехнико-экономическоеобоснование

 

проектов программных средств

143

5.3.Методика 2 — оценка технико-экономическихпоказателей проектов программных продуктов с учетом совокупности

факторов предварительной модели СОСОМО II

149

5.4.Методика 3 — уточненная оценка технико-экономическихпоказателей проектов программных продуктов с учетом полной совокупности факторов детальной модели

СОСОМО 11.2000

155

Лекция 6. Разработка требований к программным средствам (3 часа)

. . . . 161

6.1. Организация разработки требований к сложным программным

 

средствам

161

6.2. Процессы разработки требований к характеристикам

 

сложных программных средств

168

6.3. Структура основных документов, отражающих требования

 

к программным средствам

178

Лекция 7. Планирование жизненного цикла программных средств

 

(Зчаса)

182

7.1. Организация планирования жизненного цикла сложных

 

программных средств

182

7.2. Задачи планов для обеспечения жизненного цикла

 

сложных программных средств

188

Содержание

 

7.3. Планирование процессов управления качеством

 

сложных программных средств

192

Лекция 8. Объектно-ориентированноепроектирование

 

программных средств (3 часа)

198

8.1. Задачи и особенности объектно-ориентированного

 

проектирования программных средств

198

8.2. Основные понятия и модели объектно-ориентированного

 

проектирования программных средств

204

8.3.Варианты представления моделей и средства объектно-ориентированногопроектирования программных

средств

214

Лекция 9. Управление ресурсами в жизненном цикле

 

программных средств (4 часа)

221

9.1. Основные ресурсы для обеспечения жизненного цикла

 

сложных программных средств

221

9.2. Ресурсы специалистов для обеспечения жизненного цикла

 

сложных программных средств

227

9.3. Ресурсы для обеспечения функциональной пригодности

 

при разработке сложных программных средств

240

9.4. Ресурсы на реализацию конструктивных характеристик

 

качества программных средств

247

9.5. Ресурсы на имитацию внешней среды для обеспечения

 

тестирования и испытаний программных средств

251

Лекция 10. Дефекты, ошибки и риски в жизненном цикле

 

программных средств (4 часа)

256

10.1. Общие особенности дефектов, ошибок и рисков

 

в сложных программных средствах

256

10.2. Причины и свойства дефектов, ошибок и модификаций

 

в сложных программных средствах

263

10.3. Риски в жизненном цикле сложных программных средств

275

10.4. Риски при формировании требований к характеристикам

 

сложных программных средств

284

Содержание

 

Лекция И. Характеристики качества программных средств (4 часа)

292

11.1. Основные факторы, определяющие качество

 

сложных программных средств

292

11.2. Свойства и атрибуты качества функциональных возможностей

 

сложных программных средств

297

11.3. Конструктивные характеристики качества

 

сложных программных средств

307

11.4. Характеристики качества баз данных

321

11.5. Характеристики защиты и безопасности функционирования

 

программных средств

330

Лекция 12. Выбор характеристик качества в проектах

 

программных средств (2 часа)

342

12.1. Принципы выбора характеристик качества в проектах

 

программных средств

342

12.2. Пример выбора и формирования требований

 

к характеристикам качества программного средства

348

Лекция 13. Верификация, тестирование и оценивание корректности

 

программных компонентов (5 часов)

358

13.1. Принципы верификации и тестирования программ

358

13.2.Процессы и средства тестирования программных компонентов . . . . 371

13.3.Технологические этапы и стратегии систематического

тестирования программ

381

13.4. Процессы тестирования структуры программных компонентов

. . . . 391

13.5. Примеры оценок сложности тестирования программ

401

13.6. Тестирование обработки потоков данных программными

 

компонентами

408

Лекция 14. Интеграция, квалификационное тестирование

 

и испытания комплексов программ (5 часов)

415

14.1. Процессы оценивания характеристик и испытания

 

программных средств

415

14.2. Организация и методы оценивания характеристик

 

сложных комплексов программ

422

Содержание

 

14.3. Средства для испытаний и определения характеристик

 

сложных комплексов программ

433

14.4. Оценивание надежности и безопасности функционирования

 

сложных программных средств

449

14.5. Оценивание эффективности использования ресурсов ЭВМ

 

программным продуктом

454

Лекция 15. Сопровождение и мониторинг программных средств

 

(4 часа)

461

15.1. Организация и методы сопровождения программных средств

461

15.2.Этапы и процедуры при сопровождении программных средств . . . . 473

15.3.Задачи и процессы переноса программ и данных

на иные платформы

486

15.4. Ресурсы для обеспечения сопровождения и мониторинга

 

программных средств

497

Лекция 16. Управление конфигурацией в жизненном цикле

 

программных средств (4 часа)

506

16.1. Процессы управления конфигурацией программных средств

506

16.2. Этапы и процедуры при управлении конфигурацией

 

программных средств

526

16.3. Технологическое обеспечение при сопровождении

 

и управлении конфигурацией программных средств

540

Лекция 17. Документирование программных средств (3 часа)

551

17.1. Организация документирования программных средств

551

17.2. Формирование требований к документации сложных

 

программных средств

558

17.3. Планирование документирования проектов сложных

 

программных средств

565

Лекция 18. Удостоверение качества и сертификация программных

 

продуктов (2 часа) . . .,

580

18.1. Процессы сертификации в жизненном цикле

 

программных средств

580

П Р Е Д И С Л О В И Е

Основная цель курса лекций — представить студентам, аспирантам и менеджерам проектов современный комплекс задач, методов и стандартовпрограммной инженерии — создания и развития сложных, многоверсионных, тиражируемых программных средств (ПС) и баз данных (БД) тре­ буемого высокого качества. Изложение ориентировано на коллективную, групповую работу специалистов над крупными программными проекта­ ми. Внимание акцентированона комплексе методов и процессов, кото­ рые способны непосредственно обеспечитьэффективный :н€изненный

цикл сложных высококачественных программных продуктов и баз дан­ ных. При этом предполагается, что процессы и технология создания комп­ лексов программ и документов опираются на совокупность современных, автоматизированных методов и инструментальных средств поддержки дли­ тельного жизненного цикла программных продуктов. Однако не всегда это может быть рентабельно вследствие высокой стоимости таких средств. В результате может снижаться качество программных продуктов и повы­ шаться их стоимость.

Быстрый рост областей применения, сложности функций и масшта­ бов комплексов программ привел к принципиальному изменению методов в этой сфере и к переходу от технологии индивидуального программиро­ вания отдельных небольших программок к коллективному созданию круп­ ных комплексов программ инженерными методами проектирования и разра­ ботки. Накопление в мире знаний, опыта разработки и применения огром­ ного количества различных сложных программ для ЭВМ способствовало систематизации и обобщению методов и технологий их разработки, сокра­ щению дефектов и неопределенностей в характеристиках и качестве по­ ставляемых и применяемых программных продуктов. В результате сфор­ мировалась современная методология и инженерная дисциплина обеспе-

studfiles.net

Программная инженерия

Количество просмотров публикации Программная инженерия - 405

Введение в программную инженерию

Проектирование экономических информационных систем – логически сложная, трудоемкая и длительная работа͵ требующая высокой квалификации участвующих в ней специалистов. При этом до настоящего времени проектирование ЭИС нередко выполняется на интуитивном уровне неформализованными методами, включающими в себя элементы искусства, практический опыт, экспертные оценки и дорогостоящие экспериментальные проверки качества функционирования ЭИС. Вместе с тем, в процессе создания и функционирования ЭИС информационные потребности пользователœей постоянно изменяются и уточняются, что еще более усложняет разработку и сопровождение таких систем.

Основная доля трудозатрат при создании ЭИС приходится на прикладное программирование и базы данных. Производство ПО - ϶ᴛᴏ крупнейшая отрасль мировой экономики, в которой занято около трех млн. специалистов.

Потребность контролировать процесс разработки ПО, прогнозировать и гарантировать стоимость разработки, сроки и качество результатов привела в конце 70-х годов к крайне важно сти перехода от кустарных к индустриальным способам создания ПО и появлению совокупности инженерных методов и средств создания ПО, объединœенных общим названием ʼʼпрограммная инженерияʼʼ. Впервые данный термин был использован как тема конференции, проводившейся под эгидой НАТО в 1968 ᴦ. Спустя 7 лет, в 1975ᴦ. в Вашингтоне была проведена первая международная конференция, посвященная программной инженерии.

В процессе становления и развития программной инженерии можно выделить два этапа: 70-е и 80-е годы - систематизация и стандартизация процессов создания ПО (на базе структурного подхода) и 90-е годы - начало перехода к сборочному, индустриальному способу создания ПО (на базе объектно-ориентированного подхода).

В корне программной инженерии лежит одна фундаментальная идея: проектирование ПО является формальным процессом, который можно изучать и совершенствовать. Освоение и правильное применение методов и средств создания ПО позволяет повысить качество ЭИС, обеспечить управляемость процесса проектирования ЭИС и увеличить срок ее жизни.

Тенденции развития современных информационных технологий определяют постоянное возрастание сложности ПО ЭИС. Современные крупные проекты ЭИС характеризуют, как правило, следующие особенности:

– Сложность описания (достаточно большое количество функций, процессов, элементов данных и сложные взаимосвязи между ними), требующая тщательного моделирования и анализа данных и процессов.

– Наличие совокупности тесно связанных подсистем, имеющих локальные задачи и цели функционирования.

– Отсутствие полных аналогов, ограничивающее возможность использования каких-либо типовых проектных решений и прикладных систем.

– Необходимость интеграции существующих и вновь разрабатываемых приложений.

– Функционирование в неоднородной среде на нескольких аппаратных платформах.

– Разобщенность и разнородность отдельных групп разработчиков по уровню квалификации и сложившимся традициям использования тех или иных инструментальных средств.

– Значительная временная протяженность проекта͵ обусловленная с одной стороны, ограниченными возможностями коллектива разработчиков и различной степенью готовности отдельных ее подразделœений к внедрению ЭИС.

Для успешной реализации проекта объект проектирования (ПО ЭИС) должен быть прежде всœего адекватно описан, ᴛ.ᴇ. должны быть построены полные и непротиворечивые модели архитектуры ПО, включающие совокупность структурных элементов системы и связей между ними, поведение элементов системы в процессе их взаимодействия, а также иерархию подсистем, объединяющих структурные элементы.

Под моделью принято понимать полное описание системы ПО с определœенной точки зрения. Модели представляют из себясредства для визуализации, описания, проектирования и документирования архитектуры системы.

Моделирование является центральным звеном всœей деятельности по созданию качественного ПО. Модели строятся для того, чтобы понять и осмыслить структуру и поведение будущей системы, облегчить управление процессом ее создания и уменьшить возможный риск, а также документировать принимаемые проектные решения.

Разработка модели архитектуры системы ПО промышленного характера на стадии, предшествующей ее реализации или обновлению, также необходима, как и наличие проекта для строительства большого здания.

Программное средство (изделие) – программа или логически связанная совокупность программ:

- записанная на носителях данных;

- являющаяся продуктом промышленного производства;

- снабженная программной документацией;

- предназначенная для широкого распространения посредством продажи или методами freeware, shareware или OEM.

Информационная технология – совокупность методов, производственных и программно-технологических средств, объединœенных в технологическую цепочку, обеспечивающую сбор, хранение, обработку, вывод и распространение информации. Информационные технологии предназначены для снижения трудоемкости процессов использования информационных ресурсов.

referatwork.ru

Самарский государственный экономический университет

Кафедра прикладной информатики в экономике

Курсовая работа

по «Программной инженерии» на тему:

“ Разработка состава и содержания документов системного проекта сложного комплекса программ ”

Выполнил:

студент заочного факультета 3курса

Балакирев А.В.

Проверил: Абросимов А.Г.

Самара 2015

Содержание

3.2. Документы процессов проектирования и выбора характеристик качества программного средства 42

3.2.1. Стандарты, и ограничения на процессы проектирования программного средства: 42

3.2.2. Спецификация требований к системе и к комплексу программ: 43

3.2.3. Предварительное описание и контроль согласованности требований компонентов проекта программного средства: 44

3.2.4. Описание функционирования программного средства, взаимодействия с объектами внешней среды и человеко-машинного диалога: 45

3.2.5. Описание алгоритмов компонентов (модулей) программного средства: 46

3.2.6. Описание информационного обеспечения программного средства и системы управления базами данных: 47

3.2.7. Требования к характеристикам качества проекта программного средства: 49

3.2.8. Пояснительная записка к предварительному или детальному проекту программного средства: 51

3.2.9. Описание концепции технологии автоматизированного проектирования программного средства: 53

3.2.10. План и поддерживающее его Руководство по документированию проекта жизненного цикла программного средства: 55

3.2.11. Ведомость предварительного или детального проекта программного средства (п. 3.2.7; п. 3.2.8; п. 3.2.9; п. 3.2.10): 56

3.3. Документы процессов разработки и программирования компонентов программных средств 56

3.3.1. План разработки компонентов программного средства: 56

3.3.2. План обеспечения качества компонентов программного средства: 57

3.3.3. Стандарты кодирования компонентов программного средства: 58

3.3.4. Руководство по программированию компонентов проекта комплекса программ: 59

3.3.5. Документация на разработанный функциональный программный компонент или модуль программного средства (п. 3.3.2; п. 3.3.3; п. 3.3.4): 59

3.4. Документы верификации и тестирования компонентов программных средств 61

3.4.1. Состав базовых документов, регламентирующих верификацию и тестирование программных компонентов: 61

3.4.2. Исходные данные для верификации программных компонентов: 61

3.4.3. Результаты верификации корректности взаимодействия компонентов в составе программного средства: 62

3.4.4. Исходные данные для тестирования компонентов: 63

3.4.5. Организация, подготовка тестирования а обеспечение качества компонентов: 65

3.4.6. Сценарии тестирования и спецификации тестов для каждого компонента: 65

3.4.7. План тестирования программного компонента: 67

3.4.8. Отчет о результатах верификации и тестирования компонентов (п. 3.4.3; п. 3.4.5; п. 3.4.6; п. 3.4.7): 68

3.4.9. Методика комплексирования функциональных компонентов: 69

3.4.10. Оценка реализации комплексирования функциональных компонентов комплексов программ (п. 3.4.9): 72

3.5. Документы квалификационного тестирования, испытаний и оценивания качества программных средств 73

3.5.1. Методика генерации тестов имитирующих внешнюю среду и обработку результатов квалификационного тестирования: 73

3.5.2. Методика применения проблемно-ориентированной системы квалификационного тестирования и испытаний комплексов программ: 76

3.5.3. Методика, содержание и сценарии квалификационного тестирования и испытаний программных средств: 77

3.5.4. Программа испытаний комплекса программ: 80

3.5.5. Методики проведения испытаний комплекса программ по отдельным характеристикам качества: 82

3.5.6. Протоколы по результатам испытаний функциональных компонентов и/или комплекса программ: 84

3.5.7. Итоговый отчет результатов разработки программного средства (п. 3.5.1; п. 3.5.2; п. 3.5.3; п. 3.5.4; п. 3.5.5; п. 3.5.6): 85

3.5.8. Акт завершения работ по проекту программного средства (п. 3.5.7): 86

3.5.9. Акт приемки программного средства в промышленную эксплуатацию: 86

3.6. Документы сопровождения и конфигурационного управления версиями программного средства 89

3.7. Документы процессов эксплуатации программных средств 97

Введение

Документация является органической, составной частью программного продукта для ЭВМ и требуются значительные ресурсы для ее создания и применения. Тексты и объектный код программ для ЭВМ могут стать программным продуктом только в совокупности с комплексом документов, полностью соответствующих их содержанию и достаточных для его освоения, применения и изменения. Для этого документы должны быть корректными, строго адекватными текстам программ и содержанию баз данных – систематически, структурировано и понятно изложены, для возможности их успешного освоения и использования достаточно квалифицированными специалистами различных рангов и назначения. Качество и полнота отображения в документах процессов и продуктов в жизненном цикле (ЖЦ) программных средств (ПС) должны полностью определять достоверность информации для взаимодействия заказчиков, пользователей и разработчиков, а тем самым, корректность функций и достигаемое качество программных продуктов и соответствующих систем. Посредством документов (электронных или бумажных) специалисты взаимодействуют с программными средствами и данными в реализующих их вычислительных машинах, а также между собой.

studfiles.net

Программная инженерия — реферат

Расширение сертификации «Общие навыки разработки программного обеспечения» доступны через различные профессиональные сообщества. В 2006 году IEEE сертифицировала более 575 специалистов в области программного обеспечения, как «Certified Software Development Professional»(CSDP). В 2008 году они добавили сертификат начального уровня известный как «Certified Software Development Associate» (CSDA). У ACM была профессиональная программа сертификации в начале 1980-х, которая была прекращена из-за отсутствия интереса. В ACM также рассматривали возможность сертификации профессиональных программных инженеров в конце 1990-х годов, но в итоге решили, что такая сертификация не подходит для профессиональной производственной практики разработки программного обеспечения.

В Великобритании, Британское компьютерное общество разработало юридически признанную профессиональную сертификацию, называемую «Chartered IT Professional» (CITP), и доступную только для полных членов (MBCS). Программные инженеры имеют право на членство в Институте Инженерии и Технологии и могут соответственно получить статус дипломированного инженера. В Канаде, Организация en:Canadian Information Processing Society также разработала юридически признанную профессиональную сертификацию, названную «Information Systems Professional» (ISP). [23] В Онтарио, Канада, Программные инженеры, которые заканчивают канадский Engineering Accreditation Board (CEAB), успешно сдавшие Professional Practice Examination (PPE) и, имеющие по крайней мере 48 месяцев опыта работы программным инженером, имеют право получить лицензию через PEO("Профессиональные инженеры Онтарио") и могут стать Профессиональными инженерами (P.Eng).

6. Поддисциплины

Программная инженерия может быть разделена на десять поддисциплин. К ним относятся:

  1. Анализ системных требований: выявление, анализ, спецификация и проверка требований к программному обеспечению.
  2. Проектирование программного обеспечения: процесс определения архитектуры, компонентов, интерфейсов и других характеристик системы или компонента.
  3. Конструирование программного обеспечения: поэтапное создание работающего программного обеспечения
  4. Тестирование программного обеспечения: динамический контроль поведения программы на конечном множестве тестов, надлежащим образом выбранных из бесконечной области.
  5. Обслуживание программное обеспечение: совокупность мероприятий, необходимых для обеспечения экономически эффективной поддержки программного обеспечения.
  6. Управление конфигурацией: определение конфигурации системы на различные моменты времени для систематического контроля изменений конфигурации, а также сохранение целостности и прослеживаемости конфигурации на протяжении всего жизненного цикла системы.
  7. Управление разработкой программного обеспечения: применение мер управления, планирования, координации, измерения, мониторинга, контроля и отчетности, для того, чтобы разработка и сопровождение программного обеспечения являлась систематической и дисциплинированной.
  8. Процесс разработки программного обеспечения: определение, реализация, оценка, измерение, управление, изменение и улучшение процесса жизненного цикла программы как такового.
  9. Средства и методы разработки программного обеспечения: компьютерные средства, которые предназначены для оказания помощи процессам жизненного цикла программы (см. Computer Aided Software Engineering), а также методы, которые применяют к структуре деятельности разработки программного обеспечения с целью сделать разработку более систематической и в конечном счете иметь более шансов на успех.
  10. Качество программного обеспечения: проверка удовлетворения набором собственных характеристик программы требованиям к программному обеспечению.6[6]

 

 

Заключение

  1. Важно понимать, что программная инженерия является развивающейся дисциплиной. Более того, данная дисциплина не касается вопросов конкретизации применения тех или иных языков программирования, архитектурных решений или, тем более, рекомендаций, касающихся более или менее распространенных или развивающихся с той или иной степенью активности технологий
  2. Ну и наконец, программная инженерия – молодая дисциплина, опыт которой насчитывает всего несколько десятков лет. По сравнению с опытом строительной инженерии (тысячелетия) это конечно очень мало. Программную инженерию иногда сравнивают с ранней строительной, когда законы строительной механики еще не были известны и строительные инженеры действовали методом проб и ошибок, накапливая бесценный опыт. Несмотря на молодой возраст, программная инженерия также накопила определенный опыт, который позволяет (при разумном его применении) делать удачные проекты. Этот опыт выражен в основных принципах программной инженерии, которые мы с вами сейчас рассмотрим.

 

Список использованной литературы

  1. Иан Соммервилл. Инженерия программного обеспечения, 2002.
  2. Орлов С. А. Технологии разработки программного обеспечения: Разработка сложных программных систем. Издание 3-е, 2004.
  3. Эрик Дж. Брауде. Технология разработки программного обеспечения, 2004
  4. Липаев, В.В. Программная инженерия. Методологические основы , 2006.
  5. Практическая программная инженерия на основе учебного примера. Автор: Л. А. Мацяшек, Б. Л. Лионг, 2009 г.
  6. Введение в программную инженерию и управление жизненным циклом. Сергей Орлик, Юрий Булуй, 2005.

1 Иван Соммервилл. Инженерия программного обеспечения, 2002.

2 Орлов С. А. Технологии разработки программного обеспечения. Разработка сложных программных систем. Издание 3, 2004.

3 Эрик Дж. Брауде. Технология разработки программного обеспечения, 2004.

4 Липаев В. В. Программная инженерия. Методологические основы, 2006.

5 Л.А. Мацяшек, Б. Л. Лионг. Практическая программная инженерия на основе учебного примера, 2009.

6 С. Орлик, Ю. Булуй. Введение в программную инженерию и управление жизненным циклом, 2005.

 

 

 

 

 

referat911.ru

Программная инженерия(реферат)

«Утверждаю» Ст.преподаватель кафедры КТ

Мытников А.М

«25» февраля 2017г.

Техническое задание

На разработку программного модуля «Лаборатория»

Чебоксары,2017

Введение

Тема «Разработка программного модуля «Лаборатория»» актуальна в связи с тем, что каждая организация, в том числе и лаборатория должны быть обеспечены программным обеспечением предназначенным для учета кадров (работников) лаборатории в отделе кадров, а также для работы с этими данными в других подразделениях организации. Данный программный продукт позволит не только учитывать кадры, но и формировать различного вида отчёты, необходимые для работников отдела кадров и профкома.

В связи с актуальностью данной темы, целью работы будет являться разработка программного модуля «Лаборатория»

Раздел 1. Основание для разработки

    1. Программа разрабатывается на основе образовательных стандартов Чувашского государственного университета им.Ульянова.

    2. Наименование работы: «Программа учета кадров лаборатории».

    3. Исполнитель: компания MbandSoft.

    4. Соискатели: нет.

    5. Назначение: задачи заключается в разработке программного модуля "Лаборатория". Программа должна содержать ФИО работников лаборатории, их пол, возраст, семейное положение, наличие детей, должность, ученую степень. Из дополнительных требований следует выделить направленность на выполнение конкретных функций, таких как составление отчетов и хранение данных.

Раздел 2. Требования к программе или программному изделию

2.1 Программа должна обеспечивать возможность выполнения следующих функций :

  • Ввод и хранение информации о сотрудниках лаборатории;

  • Формирование различных отчетов (для профкома и отдела кадров).

2.2 Исходные данные:

  • Заявление работника о приёме на работу;

  • Паспорт;

  • документы об образовании;

  • трудовая книжка.

    1. Организация входных и выходных данных

  • Данные поступают в архив личных дел сотрудников лаборатории. И вся введённая информация хранится на ЭВМ определенный срок. Используя информацию из архива и другие источники, формируются и печатаются отчеты и ведомость.

    1. Требования к надежности

    1. Требования к составу и параметрам технических средств.

Система должна работать на IBM-совместимых персональных компьютерах.

Минимальная конфигурация:

32 Мб и более;

40 Мб;

Рекомендуемая конфигурация:

128 Мб;

60 Мб.

    1. Требования к программной совместимости.

Программа должна работать под управлением семейства операционных систем Win 32 (Windows 95/98/2000/ME/XP и т.п.).

Раздел 3. Требования к программной документации

3.1 Разрабатываемая программа должна включать справочную информацию о работе программы.

3.3 В состав сопровождающей документации должны входить:

studfiles.net

Виды программного обеспечения Общие требования к программным системам

Курсовая работа

Виды программного обеспечения. Общие требования к программным системам

Киев 2009

Содержание

1. Цели и задачи программной инженерии. Понятие программного обеспечения

2. Шесть принципов эффективного использования программного обеспечения

3. Виды программного обеспечения: общесистемное, сетевое и прикладное

4. Типы программного обеспечения

5. Общие требования к программным системам

6. Принципы построения программного обеспечения

1. Цели и задачи программной инженерии. Понятие программного обеспечения

Последнее десятилетие в области программирования характеризуется становлением новой дисциплины - программной инженерии (Software Engineering), что вызвано возросшими потребностями:

в создании различного вида компьютерных систем;

необходимостью сокращения сроков разработки;

обеспечения качества ПО;

оптимизации используемых ресурсов (финансовых и трудовых).

В результате разработку ПО стали рассматривать как определенный вид человеческой деятельности, к которому применимы инженерные методы выполнения и организации работ, методы менеджмента и управления, экономические методы оценки эффективности и стоимости работ. В последние годы наблюдается повышенный интерес к вопросам формализации методов анализа и спецификации требований к программному обеспечению. Необходимость этого обусловлена ростом требований к качеству программного обеспечения, изменениями в методологии его проектирования и разработки, в современной организации проектных работ.

Программная инженерия - это научная дисциплина, которая изучает методы, способы и технологии разработки ПО, в результате которого реализуются возможности ЭВМ по выполнению различных действий, связанных с переработкой информации.

Программная инженерия - строгое использование инженерных, научных и математических принципов, методов и инструментария для экономичного создания качественного программного обеспечения.

Программное обеспечение (ПО) - это совокупность машинных программ, соответствующей качественной документации, баз данных, а также технологических процедур по эксплуатации ПО.

Основа программной инженерии - стандарты, методы, методологии проектирования и управления процессом разработки ПО, а также инструментально-технологические средства поддержки этого процесса (CASE - технологии), к которым относятся системы программирования и автоматизации разных этапов проектирования и разработки ПО.

Верификация - это установление соответствия ПО его спецификации.

Подтверждение - установление пригодности или соответствия ПО его назначению.

Структура целей программной инженерии

Качество ПО

Эффективность процесса разработки ПО

Человеческие факторы

Легкость использования

Планируемость

Удовлетворение потребностей пользователя

Организованность команды разработчиков

Следование модифицированному правилу

Контролируемость хода работ

Управление ресурсами

Эффективность

Оценка затрат (стоимости проекта)

Тестируемость

Анализ эффективности

Контроль сроков и бюджета

Программотехника

Специфицированность

Анализ требований к ПО

Правильность

Проектирование

Адаптируемость

Программирование

модифицируемость

Тестирование и контроль

переносимость

Верификация и подтверждение

работоспособность в других системах

Внедряемость и сопровождаемость

Управляемость конфигурацией

2. Шесть принципов эффективного использования программного обеспечения

90-е годы - время интенсивного развития программной инженерии и новых информационных технологий. В то же время при внедрении и эксплуатации программных систем большинство компаний столкнулись с еще более серьезными проблемами, чем раньше. Многие организации обременены внедренными ранее дорогостоящими и неоправданно сложными системами. У других бизнес-подразделения и отдел информационных технологий не могут (или не хотят) найти общий язык. Третьи не могут понять, во что нужно вложить деньги, чтобы получить жизненно необходимые функциональные возможности.

Однако существует ряд компаний, которые смогли по-настоящему овладеть информационными технологиями и получают от них реальную пользу, т.к управляют своими программными системами примерно так же, как и другими важными функциями и процессами в компании:

обеспечивая административную поддержку на самом высоком уровне,

прививая специалистам по информационным технологиям знание бизнес-терминологии

ориентируя усилия сотрудников технического отдела на достижение конкретных бизнес-целей.

В основе успеха внедрения ПО лежат шесть перечисленных ниже принципов:

Развитие в области внедрения программных систем и информационных технологий обуславливается потребностями основной деятельности компании, а не технологическими новшествами.

Решения о финансировании в области программных систем и информационных технологий принимаются так же, как и во всех остальных сферах - исходя из соображений финансовой выгоды.

Программная система имеет простую и гибкую структуру.

Любые разработки начинают приносить пользу бизнесу практически с момента внедрения.

Проводятся планомерные и постоянные улучшения производительности программной системы.

Отдел информационных технологий хорошо разбирается в бизнесе, а бизнес-подразделения - в программных системах и информационных технологиях.

Очень важно применять все эти принципы одновременно: ни один из них не принесет успеха без пяти остальных.

Таблица 1. Контрольный список для реализации шести принципов

Развитие в области программного обеспечения обуславливается потребностями основной деятельности компании, а не технологическими новшествами

Решения о финансировании в области программного обеспечения принимаются так же, как и во всех остальных сферах - исходя из соображений финансовой выгоды

Программная система имеет простую и гибкую структуру

Управляйте программным обеспечением так же, как остальными бизнес-функциями компании.

Непосредственно свяжите ПО с важными для бизнеса стратегиями, основными стоимостными факторами и повседневными деловыми процессами.

Назначьте линейных руководителей ответственными за новые приложения:

Определение основных возможностей

Выбор проектов для внедрения

Руководство внедрением

Ответственность за результаты

Использование поддержки отдела информационных технологий

Поручите отделу информационных технологий создание и поддержку эффективной инфраструктуры для приложений.

Не относитесь к программной системе как к "черному ящику" - обязуйте технических специалистов применять деловую лексику.

Подходите к решениям о новых крупных инвестициях в ПО, как к остальным финансовым решениям:

Свяжите инвестиции с реальными задачами совершенствования бизнеса и производительности

Используйте при принятии решений анализ затрат и преимуществ, который обеспечит упорядоченность и систематичность.

Не используйте в качестве единственного критерия при разработке ПО снижение стоимости:

Распространите принятые в бизнесе подходы к менее определенным, менее поддающимся количественному учету и более стратегически важным решениям

Выходите за рамки отдельных проектов, учитывая при разработке приложений и инфраструктуры долговременные перспективы.

Оценивайте текущие расходы на программное обеспечение исходя из поставленных целей в области стоимости и обслуживания.

Избегайте крупных единовременных затрат на аппаратно-программное обеспечение; стремитесь к постоянному обновлению.

Устанавливайте стандарты архитектуры ПО и глубоко анализируйте плюсы и минусы использования иных стандартов.

www.coolreferat.com


Смотрите также

 

..:::Новинки:::..

Windows Commander 5.11 Свежая версия.

Новая версия
IrfanView 3.75 (рус)

Обновление текстового редактора TextEd, уже 1.75a

System mechanic 3.7f
Новая версия

Обновление плагинов для WC, смотрим :-)

Весь Winamp
Посетите новый сайт.

WinRaR 3.00
Релиз уже здесь

PowerDesk 4.0 free
Просто - напросто сильный upgrade проводника.

..:::Счетчики:::..

 

     

 

 

.