Какво е софтуерно инженерство? Определение, основи, характеристики

Съдържание:

Anonim

Какво е софтуерно инженерство?

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

Нека разгледаме различните определения на софтуерното инженерство:

  • В своя стандарт 610.12-1990 IEEE определя софтуерното инженерство като прилагане на систематичен, дисциплиниран подход, който е изчислим подход за разработване, експлоатация и поддръжка на софтуер.
  • Фриц Бауер го определи като „създаването и използва стандартните инженерни принципи. Помага ви да получите икономически софтуер, който е надежден и работи ефективно на реалните машини.
  • Boehm дефинира софтуерно инженерство, което включва „практическото приложение на научните знания за креативното проектиране и изграждане на компютърни програми. Той също така включва свързана документация, необходима за тяхното разработване, експлоатация и поддръжка. “

В този урок за софтуерно инженерство ще научите:

  • Какво е софтуерно инженерство?
  • Защо софтуерно инженерство? Криза на софтуера и нейното решение
  • Защо софтуерното инженерство е популярно?
  • Връзка на софтуерното инженерство с други дисциплини
  • Предизвикателства на софтуерното инженерство
  • Атрибути за софтуерни продукти
  • Характеристики на добрия софтуер

Защо софтуерно инженерство? Криза на софтуера и нейното решение:

Каква беше софтуерната криза?

  • В края на 60-те години много софтуерни проекти се провалиха.
  • Много софтуер стана над бюджета. Изходът беше ненадежден софтуер, който е скъп за поддръжка.
  • По-големият софтуер беше труден и доста скъп за поддръжка.
  • Много софтуер не може да задоволи нарастващите изисквания на клиента.
  • Сложността на софтуерните проекти се увеличава, когато неговата хардуерна способност се увеличава.
  • Търсенето на нов софтуер се увеличава по-бързо в сравнение с възможността за генериране на нов софтуер.

Всички горепосочени проблеми водят до „Софтуерна криза“.

Решението

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

  • В края на 70-те години се наблюдава широкото използване на принципите на софтуерното инженерство.
  • През 80-те години се наблюдава автоматизация на процеса на софтуерно инженерство и растеж на (CASE) Компютърно софтуерно инженерство.
  • През 90-те години се наблюдава засилен акцент върху аспектите на управлението на стандартите за качество и процеси на проекти, точно като ISO 9001

Защо софтуерното инженерство е популярно?

Ето важни причини за популярността на софтуерното инженерство:

  • Голям софтуер - В нашия реален живот е доста по-удобно да се строи стена, отколкото къща или сграда. По същия начин, когато размерът на софтуера става голям, софтуерното инженерство ви помага да изграждате софтуер.
  • Мащабируемост - Ако процесът на разработка на софтуер се основава на научни и инженерни концепции, е по-лесно да се пресъздаде нов софтуер, за да се мащабира съществуващ.
  • Адаптивност : Винаги, когато софтуерният процес се основава на научни и инженерни дейности, е лесно да се пресъздаде нов софтуер с помощта на софтуерно инженерство.
  • Разходите - Хардуерната индустрия показа своите умения и огромното производство намалява цената на компютърния и електронния хардуер.
  • Динамична природа - Винаги растящ и адаптиращ се характер на софтуера. Зависи от средата, в която работи потребителят.
  • Управление на качеството : Предлага по-добър метод за разработване на софтуер за осигуряване на качествени софтуерни продукти.

Връзка на софтуерното инженерство с други дисциплини

Ето как софтуерното инженерство е свързано с други дисциплини:

  • Компютърни науки: Дава научна основа на софтуера, тъй като електротехниката зависи главно от физиката.
  • Наука за управлението: Софтуерното инженерство е трудоемка работа, която изисква както технически, така и управленски контрол. Поради това той се използва широко в науката за управлението.
  • Икономика: В този сектор софтуерното инженерство ви помага при оценка на ресурсите и контрол на разходите. Трябва да се разработи изчислителна система и данните да се поддържат редовно в рамките на даден бюджет.
  • Системно инженерство: Повечето софтуер е компонент на много по-голяма система. Например софтуерът в индустриална система за наблюдение или софтуерът за полет на самолет. За изследване на този тип системи трябва да се прилагат методи на софтуерно инженерство.

Предизвикателства на софтуерното инженерство

Ето някои критични предизвикателства, пред които са изправени софтуерните инженери:

  • В критични за безопасността области като космоса, авиацията, атомните електроцентрали и др. Цената на неизправността на софтуера може да бъде огромна, тъй като животът е изложен на риск.
  • Повишени изисквания на пазара за бързо време за изпълнение.
  • Справяне с повишената сложност на софтуерната нужда от нови приложения.
  • Разнообразието от софтуерни системи трябва да общува помежду си.

Атрибути за софтуерни продукти

Характеристиките на всеки софтуерен продукт включват функции, които се показват от продукта, когато е инсталиран и пуснат в употреба.

Те не са услугите, които се предоставят от продукта. Вместо това те са свързани с динамичното поведение на продуктите и употребата на продукта.

Примери за тези атрибути са:

Efficiency, reliability, robustness, maintainability, etc.

Относителната важност на тези характеристики обаче варира в зависимост от една софтуерна система.

Характеристики на продукта Описание
Поддържане Софтуерът трябва да се развива, за да отговори на променящите се изисквания на клиентите.
Надеждност Надеждността включва различни характеристики. Надеждният софтуер никога не трябва да причинява физически или икономически щети по време на повреда на системата.
Ефективност Софтуерното приложение трябва да използва прекомерно системни ресурси като памет и цикъл на процесора.
Използваемост Софтуерното приложение трябва да има специфичен потребителски интерфейс и документация.

Оптимизирането на горния атрибут е много предизвикателно. Например предлагането на по-добър потребителски интерфейс може да намали ефективността на системата.

Характеристики на добрия софтуер

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

Всеки софтуер трябва да отговаря на следните атрибути:

  • Оперативен
  • Преходни
  • Поддръжка

Ето някои важни характеристики на добрия софтуер, разработен от софтуерни професионалисти

Оперативен

Тази характеристика ни информира за това колко добре работи софтуерът в операциите, които могат да се измерват на:

  • Бюджет
  • Ефективност
  • Използваемост
  • Надеждност
  • Коректност
  • Функционалност
  • Безопасност
  • Сигурност

Преходни

Това е съществен аспект, когато софтуерът се премества от една платформа на друга:

  • Оперативна съвместимост
  • Многократна употреба
  • Преносимост
  • Адаптивност

Поддръжка

Този аспект говори за това колко добре софтуерът има способността да се адаптира в бързо променящата се среда:

  • Гъвкавост
  • Поддържане
  • Модулност
  • Мащабируемост

Обобщение

  • Софтуерното инженерство е процес на анализ на потребителските изисквания и след това проектиране, изграждане и тестване на софтуерно приложение, което ще задоволи тези изисквания
  • Важни причини за използване на софтуерно инженерство са: 1) Голям софтуер, 2) Мащабируемост 3) Адаптивност 4) Разходи и 5) Динамична природа.
  • В края на 60-те години много софтуер става над бюджета. Затова той предлага ненадежден софтуер, който е скъп за поддръжка.
  • В края на 70-те години се наблюдава широкото използване на принципите на софтуерното инженерство.
  • Концепция за софтуерно инженерство 1) Компютърни науки 2) Наука за управление 3) Системно инженерство и 4) Икономика
  • Повишените пазарни изисквания за бърз срок на изпълнение са най-големите предизвикателства в областта на софтуерното инженерство.
  • 1) поддръжка, 2) надеждност, 3) ефективност и, 4) използваемост са най-важните атрибути на софтуерните продукти.
  • Три най-важни характеристики на добрия софтуер са 1) Оперативна 2) Преходна 3) Поддръжка.