Шта је софтверско инжењерство? Дефиниција, основе, карактеристике

Преглед садржаја:

Anonim

Шта је софтверско инжењерство?

Софтверски инжењеринг је дефинисан као процес анализе захтева корисника, а затим дизајнирања, изградње и тестирања софтверске апликације која ће удовољити тим захтевима.

Погледајмо разне дефиниције софтверског инжењерства:

  • ИЕЕЕ, у свом стандарду 610.12-1990, дефинише софтверски инжењеринг као примену систематског, дисциплинованог, што је израчунљив приступ за развој, рад и одржавање софтвера.
  • Фритз Бауер га је дефинисао као „успостављање и коришћење стандардних инжењерских принципа. Помаже вам да економично набавите софтвер који је поуздан и ефикасно ради на стварним машинама.
  • Боехм дефинише софтверско инжењерство, које укључује „практичну примену научног знања на креативни дизајн и изградњу рачунарских програма. Такође укључује повезану документацију потребну за њихов развој, рад и одржавање. '

У овом упутству за софтверски инжењеринг научићете:

  • Шта је софтверско инжењерство?
  • Зашто софтверски инжењеринг? Криза софтвера и њено решење
  • Зашто је софтверско инжењерство популарно?
  • Однос софтверског инжењерства и других дисциплина
  • Изазови софтверског инжењерства
  • Атрибути за софтверске производе
  • Карактеристике доброг софтвера

Зашто софтверски инжењеринг? Криза софтвера и њено решење:

Шта је била криза софтвера?

  • Било је то крајем 1960-их када су многи софтверски пројекти пропали.
  • Многи софтвери су постали прекорачени. Излаз је био непоуздан софтвер који је скуп за одржавање.
  • Већи софтвер било је тешко и прилично скупо за одржавање.
  • Много софтвера није у стању да задовољи растуће захтеве купаца.
  • Сложеност софтверских пројеката повећавала се кад год се повећала његова хардверска способност.
  • Потражња за новим софтвером повећавала се брже у поређењу са способношћу генерисања новог софтвера.

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

Раствор

Решење је било у томе што је трансформисао неорганизоване напоре кодирања у дисциплину софтверског инжењерства. Ови инжењерски модели помогли су компанијама да поједноставе пословање и испоруче софтвер који испуњава захтеве купаца.

  • Крајем 1970-их приметила се широка употреба принципа софтверског инжењерства.
  • Осамдесетих година прошлог века дошло је до аутоматизације процеса софтверског инжењерства и раста (ЦАСЕ) рачунарски подржаног софтверског инжењерства.
  • Деведесетих година прошлог века забележено је повећано наглашавање аспеката управљања и управљања стандардима квалитета и процеса, као што је ИСО 9001

Зашто је софтверско инжењерство популарно?

Ево важних разлога који стоје иза популарности софтверског инжењерства:

  • Велики софтвер - У нашем стварном животу је сасвим угодније градити зид него кућу или зграду. На исти начин, како величина софтвера постаје велика, софтверски инжењеринг вам помаже да направите софтвер.
  • Скалабилност - Ако се процес развоја софтвера заснивао на научним и инжењерским концептима, лакше је поново створити нови софтвер за скалирање постојећег.
  • Прилагодљивост : Кад год се софтверски процес заснивао на науци и инжењерству, лако је поново створити нови софтвер уз помоћ софтверског инжењерства.
  • Трошковно- хардверска индустрија показала је своје вештине, а велика производња смањује трошкове рачунара и електронског хардвера.
  • Динамична природа - Увек расте и прилагођава природу софтвера. Зависи од окружења у којем корисник ради.
  • Управљање квалитетом : Нуди бољи начин развоја софтвера за пружање квалитетних софтверских производа.

Однос софтверског инжењерства и других дисциплина

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

  • Рачунарске науке: Даје научну основу софтверу јер електротехника углавном зависи од физике.
  • Наука о управљању: Софтверски инжењеринг је радно интензиван посао који захтева и техничку и менаџерску контролу. Због тога се широко користи у науци о управљању.
  • Економија: У овом сектору софтверски инжењеринг вам помаже у процени ресурса и контроли трошкова. Рачунски систем мора бити развијен, а подаци се треба редовно одржавати у оквиру датог буџета.
  • Системско инжењерство: Већина софтвера је компонента много већег система. На пример, софтвер у индустријском систему за надзор или софтвер за лет у авиону. За проучавање ове врсте система треба применити методе софтверског инжењерства.

Изазови софтверског инжењерства

Ево неколико критичних изазова са којима се суочавају софтверски инжењери:

  • У подручјима која су критична за безбедност, попут свемира, ваздухопловства, нуклеарних електрана итд., Трошкови квара софтвера могу бити огромни јер су животи угрожени.
  • Повећани захтеви тржишта за брзим временом обрта.
  • Суочавање са повећаном сложеношћу софтверске потребе за новим апликацијама.
  • Разноликост софтверских система треба да комуницира једни са другима.

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

Карактеристике било ког софтверског производа укључују функције које производ приказује када се инсталира и стави у употребу.

Они нису услуге које пружа производ. Уместо тога, они су повезани са динамичким понашањем производа и употребом производа.

Примери ових атрибута су:

Efficiency, reliability, robustness, maintainability, etc.

Међутим, релативна важност ових карактеристика варира од једног софтверског система до другог.

Карактеристике производа Опис
Одржавање Софтвер би требало да се развија у складу са променљивим захтевима клијената.
Поузданост Поузданост укључује разне карактеристике. Поуздани софтвер никада не би требао проузроковати физичку или економску штету у тренутку квара система.
Ефикасност Софтверска апликација треба прекомерно користити системске ресурсе попут меморије и циклуса процесора.
Употребљивост Софтверска апликација треба да има специфични кориснички интерфејс и документацију.

Оптимизација горњег атрибута је веома изазовна. На пример, нуђење бољег корисничког интерфејса може смањити ефикасност система.

Карактеристике доброг софтвера

Било који софтвер треба оцењивати према ономе што нуди и које су методе које вам помажу да га користите.

Сваки софтвер мора задовољити следеће атрибуте:

  • Оперативни
  • Прелазни
  • Одржавање

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

Оперативни

Ова карактеристика нам је дала до знања о томе како добро софтвер функционише у операцијама које се могу мерити на:

  • Буџет
  • Ефикасност
  • Употребљивост
  • Поузданост
  • Исправност
  • Функционалност
  • Сигурност
  • Сигурност

Прелазни

Ово је важан аспект када се софтвер премешта са једне платформе на другу:

  • Компатибилност
  • Могућност поновне употребе
  • Преносивост
  • Прилагодљивост

Одржавање

Овај аспект говори о томе колико добро софтвер има могућности да се прилагоди у окружењу које се брзо мења:

  • Флексибилност
  • Одржавање
  • Модуларност
  • Прилагодљивост

Резиме

  • Софтверски инжењеринг је процес анализе захтева корисника, а затим дизајнирање, израда и тестирање софтверске апликације која ће удовољити тим захтевима
  • Важни разлози за коришћење софтверског инжењерства су: 1) велики софтвер, 2) скалабилност 3) прилагодљивост 4) цена и 5) динамичка природа.
  • Крајем 1960-их многи софтвери прелазе буџет. Стога нуди непоуздан софтвер који је скуп за одржавање.
  • Крајем 1970-их приметила се широка употреба принципа софтверског инжењерства.
  • Концепт софтверског инжењерства 1) Рачунарство 2) Наука о управљању 3) Системско инжењерство и 4) Економија
  • Повећани захтеви тржишта за брзим преокретом највећи су изазови на пољу софтверског инжењерства.
  • 1) одрживост, 2) поузданост, 3) ефикасност и, 4) употребљивост су најважнији атрибути софтверских производа.
  • Три најважније карактеристике доброг софтвера су 1) оперативно 2) прелазно 3) одржавање.