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.