Co je softwarové inženýrství? Definice, základy, charakteristika

Co je softwarové inženýrství?

Softwarové inženýrství je definováno jako proces analýzy požadavků uživatelů a následného návrhu, sestavení a testování softwarové aplikace, která tyto požadavky splní.

Podívejme se na různé definice softwarového inženýrství:

  • IEEE ve své normě 610.12-1990 definuje softwarové inženýrství jako aplikaci systematického, disciplinovaného, ​​vypočitatelného přístupu pro vývoj, provoz a údržbu softwaru.
  • Fritz Bauer to definoval jako „založení a použil standardní inženýrské principy. Pomůže vám ekonomicky získat software, který je spolehlivý a efektivně funguje na skutečných strojích.
  • Boehm definuje softwarové inženýrství, které zahrnuje „praktickou aplikaci vědeckých poznatků při kreativním navrhování a vytváření počítačových programů. Zahrnuje také související dokumentaci potřebnou pro jejich vývoj, provoz a údržbu.“

Proč softwarové inženýrství? Softwarová krize a její řešení

Co to byla softwarová krize?

  • Bylo to koncem 1960. let, kdy mnoho softwarových projektů selhalo.
  • Mnoho softwaru překročilo rozpočet. Výstupem byl nespolehlivý software, jehož údržba je nákladná.
  • Větší software byl náročný a poměrně nákladný na údržbu.
  • Spousta softwaru není schopna uspokojit rostoucí požadavky zákazníka.
  • Složitost softwarových projektů se zvyšovala, kdykoli se zvýšila jeho hardwarová kapacita.
  • Poptávka po novém softwaru rostla rychleji ve srovnání se schopností generovat nový software.

Všechny výše uvedené problémy vedou k „Softwarové krizi“.

Řešení

Řešením problému byla transformace neorganizovaného kódování na disciplínu softwarového inženýrství. Tyto inženýrské modely pomohly společnostem zefektivnit provoz a dodat software splňující požadavky zákazníků.

  • Koncem sedmdesátých let došlo k širokému využití principů softwarového inženýrství.
  • V 1980. letech došlo k automatizaci procesu softwarového inženýrství a růstu (CASE) Computer-Aided Software Engineering.
  • V 1990. letech 9001. století byl zaznamenán zvýšený důraz na aspekty „řízení“ standardů kvality projektů a procesů, stejně jako ISO XNUMX

Proč je softwarové inženýrství populární?

Zde jsou důležité důvody popularity softwarového inženýrství:

Proč je softwarové inženýrství populární

  • Velký software – V našem reálném životě je mnohem pohodlnější postavit zeď než dům nebo budovu. Stejně tak, jak se velikost softwaru zvětšuje, softwarové inženýrství vám pomáhá vytvářet software.
  • Škálovatelnost- Pokud by proces vývoje softwaru byl založen na vědeckých a inženýrských konceptech, je snazší znovu vytvořit nový software a škálovat stávající.
  • Přizpůsobivost: Kdykoli byl softwarový proces založen na vědeckých a inženýrských základech, je snadné znovu vytvořit nový software pomocí softwarového inženýrství.
  • Náklady- Hardwarový průmysl ukázal své dovednosti a obrovská výroba snížila náklady na počítač a elektronický hardware.
  • Dynamická příroda– Neustále rostoucí a přizpůsobující se povaha softwaru. Záleží na prostředí, ve kterém uživatel pracuje.
  • Řízení jakosti: Nabízí lepší způsob vývoje softwaru pro poskytování kvalitních softwarových produktů.

Vztah softwarového inženýrství k jiným oborům

Zde, jak softwarové inženýrství souvisí s jinými disciplínami:

  • Počítačová věda: Poskytuje vědecký základ pro software, protože elektrotechnika závisí hlavně na fyzice.
  • Management věda: Softwarové inženýrství je pracná práce, která vyžaduje technickou i manažerskou kontrolu. Proto je široce používán v managementu.
  • Ekonomika: V tomto sektoru vám softwarové inženýrství pomáhá při odhadu zdrojů a řízení nákladů. Musí být vyvinut výpočetní systém a data by měla být pravidelně udržována v rámci daného rozpočtu.
  • Systémové inženýrství: Většina softwaru je součástí mnohem většího systému. Například software v průmyslovém monitorovacím systému nebo letový software v letadle. Metody softwarového inženýrství by měly být aplikovány na studium tohoto typu systémů.

Výzvy softwarového inženýrství

Zde jsou některé kritické výzvy, kterým čelí softwaroví inženýři:

  • V oblastech kritických z hlediska bezpečnosti, jako je vesmír, letectví, jaderné elektrárny atd., mohou být náklady na selhání softwaru obrovské, protože jsou ohroženy životy.
  • Zvýšené požadavky trhu na rychlou dobu obratu.
  • Řešení zvýšené složitosti potřeby softwaru pro nové aplikace.
  • Různorodost softwarových systémů by měla mezi sebou komunikovat.

Atributy pro softwarové produkty

Charakteristiky jakéhokoli softwarového produktu zahrnují funkce, které jsou zobrazeny produktem, když je nainstalován a uveden do provozu.

Nejsou to služby, které produkt poskytuje. Místo toho se týkají dynamického chování produktů a použití produktu.

Příklady těchto atributů jsou:

Efficiency, reliability, robustness, maintainability, etc. 

Relativní význam těchto charakteristik se však u jednotlivých softwarových systémů liší.

Charakteristika produktu Description
Udržitelnost Software by se měl vyvíjet, aby vyhovoval měnícím se požadavkům klientů.
Spolehlivost Spolehlivost zahrnuje různé vlastnosti. Spolehlivý software by nikdy neměl způsobit žádné fyzické nebo ekonomické škody v době selhání systému.
Účinnost Softwarová aplikace by měla nadměrně využívat systémové prostředky, jako je paměť a cyklus procesoru.
Použitelnost Softwarová aplikace by měla mít specifické uživatelské rozhraní a dokumentaci.

Optimalizace výše uvedeného atributu je velmi náročná. Například nabídka lepšího uživatelského rozhraní může snížit efektivitu systému.

Charakteristika dobrého softwaru

Jakýkoli software by měl být posuzován podle toho, co nabízí a jaké jsou metody, které vám pomohou jej používat.

Každý software musí splňovat následující atributy:

  • OperaTional
  • Přechodný
  • Údržba

Zde jsou některé důležité vlastnosti dobrého softwaru vyvinutého softwarovými profesionály

OperaTional

Tato charakteristika nám dává vědět, jak dobře software funguje v operacích, které lze měřit na:

  • Rozpočet
  • Účinnost
  • Použitelnost
  • Spolehlivost
  • Správnost
  • Funkčnost
  • Bezpečnost
  • Bezpečnost

Přechodný

Toto je základní aspekt při přesunu softwaru z jedné platformy na druhou:

  • Interoperabilita
  • Opakovatelnost
  • Přenositelnost
  • Přizpůsobivost

Údržba

Tento aspekt hovoří o tom, jak dobře má software schopnosti přizpůsobit se rychle se měnícímu prostředí:

  • Flexibilita
  • Udržitelnost
  • Modularita
  • Škálovatelnost

Shrnutí

  • Softwarové inženýrství je proces analýzy požadavků uživatelů a následného návrhu, sestavení a testování softwarové aplikace, která tyto požadavky splní
  • Důležité důvody pro použití softwarového inženýrství jsou: 1) Velký software, 2) Škálovatelnost 3) Adaptabilita 4) Cena a 5) Dynamická povaha.
  • Na konci 1960. let mnoho softwaru překročilo rozpočet. Nabízí tedy nespolehlivý software, jehož údržba je nákladná.
  • Koncem sedmdesátých let došlo k širokému využití principů softwarového inženýrství.
  • Koncepce softwarového inženýrství 1) Informatika 2) Management Science 3) Systémové inženýrství a 4) Ekonomika
  • Zvýšené požadavky trhu na rychlou dobu obratu jsou největší výzvou v oblasti softwarového inženýrství.
  • 1) Udržitelnost, 2) Spolehlivost, 3) Efektivita a 4) Použitelnost jsou nejdůležitějšími atributy softwarových produktů.
  • Tři nejdůležitější vlastnosti dobrého softwaru jsou 1) Operapřechodné 2)Přechodné 3)Údržba.