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

Obsah:

Anonim

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 navrhování, budování a testování softwarových aplikací, 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, ​​což je vypočítatelný přístup k vývoji, provozu a údržbě softwaru.
  • Fritz Bauer to definoval jako „provozovnu a použil standardní technické principy. Pomůže vám ekonomicky získat software, který je spolehlivý a funguje efektivně na skutečných strojích.
  • Boehm definuje softwarové inženýrství, které zahrnuje „praktickou aplikaci vědeckých poznatků na kreativní design a tvorbu počítačových programů. Zahrnuje také související dokumentaci potřebnou pro jejich vývoj, provoz a údržbu. “

V tomto kurzu softwarového inženýrství se naučíte:

  • Co je softwarové inženýrství?
  • Proč softwarové inženýrství? Softwarová krize a její řešení
  • Proč je softwarové inženýrství populární?
  • Vztah softwarového inženýrství s jinými obory
  • Výzvy softwarového inženýrství
  • Atributy pro softwarové produkty
  • Vlastnosti dobrého softwaru

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

Co byla softwarová krize?

  • Bylo to koncem šedesátých 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 obtíž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 zvýšila, kdykoli se zvýšila její 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 bylo, že problémem byla transformace neorganizovaného programovacího úsilí na obor softwarového inženýrství. Tyto inženýrské modely pomohly společnostem zefektivnit provoz a dodávat software splňující požadavky zákazníků.

  • Na konci 70. let 20. století došlo k širokému využití principů softwarového inženýrství.
  • V 80. letech došlo k automatizaci procesu softwarového inženýrství a růstu (CASE) počítačově podporovaného softwarového inženýrství.
  • V 90. letech se zvýšil důraz na „manažerské“ aspekty kvality projektů a procesů, jako je ISO 9001

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

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

  • Velký software - V našem reálném životě je mnohem pohodlnější postavit zeď než dům nebo budovu. Stejným způsobem, jak se velikost softwaru zvětšuje, vám softwarové inženýrství pomáhá vytvářet software.
  • Škálovatelnost - Pokud byl proces vývoje softwaru založen na vědeckých a technických koncepcích, je snazší znovu vytvořit nový software pro škálování stávajícího.
  • Adaptabilita : Kdykoli byl softwarový proces založen na vědeckém a technickém, je snadné znovu vytvořit nový software pomocí softwarového inženýrství.
  • Nákladově Hardware průmysl ukázal své schopnosti a obrovské výrobní má snížit náklady na počítače a elektronický hardware.
  • Dynamická povaha - neustále roste a přizpůsobuje se povaha softwaru. Záleží na prostředí, ve kterém uživatel pracuje.
  • Řízení kvality : Nabízí lepší metodu vývoje softwaru pro poskytování kvalitních softwarových produktů.

Vztah softwarového inženýrství s jinými obory

Jak softwarové inženýrství souvisí s jinými obory:

  • Počítačová věda: Poskytuje vědecký základ softwaru, protože elektrotechnika závisí hlavně na fyzice.
  • Management Science: Softwarové inženýrství je práce náročná na práci, která vyžaduje technickou i manažerskou kontrolu. Proto je široce používán ve vědě o řízení.
  • Ekonomika: V tomto sektoru vám softwarové inženýrství pomáhá při odhadování zdrojů a kontrole 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. Při studiu tohoto typu systémů by měly být použity metody softwarového inženýrství.

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 zpracování.
  • Řešení zvýšené složitosti softwarové potřeby nových aplikací.
  • Rozmanitost softwarových systémů by měla vzájemně komunikovat.

Atributy pro softwarové produkty

Mezi vlastnosti každého softwarového produktu patří funkce, které se zobrazí produktem, když je nainstalován a uveden do provozu.

Nejedná se o služby poskytované produktem. Místo toho souvisí s dynamickým chováním produktů a používáním produktu.

Příklady těchto atributů jsou:

Efficiency, reliability, robustness, maintainability, etc.

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

Vlastnosti produktu Popis
Udržitelnost Software by se měl vyvíjet tak, aby vyhovoval měnícím se požadavkům klientů.
Spolehlivost Spolehlivost zahrnuje různé vlastnosti. Spolehlivý software by v době selhání systému nikdy neměl způsobit žádné fyzické ani ekonomické škody.
Účinnost Softwarová aplikace by měla naduží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 účinnost systému.

Vlastnosti 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:

  • Provozní
  • Přechodné
  • Údržba

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

Provozní

Tato vlastnost nás informuje o tom, 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čnostní

Přechodné

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

  • Interoperabilita
  • Opakovaná použitelnost
  • Přenosnost
  • Přizpůsobivost

Údržba

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

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

souhrn

  • Softwarové inženýrství je proces analýzy požadavků uživatelů a následného navrhování, budování a testování softwarových aplikací, 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) Náklady a 5) Dynamická povaha.
  • Na konci 60. let se mnoho softwaru stalo nadměrně rozpočtovým. Proto nabízí nespolehlivý software, jehož údržba je nákladná.
  • Na konci 70. let 20. století došlo k širokému využití principů softwarového inženýrství.
  • Koncept softwarového inženýrství 1) Počítačová věda 2) Management vědy 3) Systémové inženýrství a 4) Ekonomika
  • Zvýšené požadavky trhu na rychlou dobu zpracování jsou největší výzvou v oblasti softwarového inženýrství.
  • 1) Udržovatelnost, 2) Spolehlivost, 3) Účinnost a 4) Použitelnost jsou nejdůležitější atributy softwarových produktů.
  • Tři nejdůležitější vlastnosti dobrého softwaru jsou 1) Provozní 2) Přechodné 3) Údržba.