Obsah

Prumyslové aspekty IS, nefunkcionální požadavky na systémy podle ISO 9126, kapacitní plánování systémů, zajištění odezvy a škálovatelnosti systému.(A0M33PIS)

ISO 9126

Normy řady ISO 9126 stanovují obecné požadavky na jakost softwarového produktu. V současnosti jsou postupně nahrazovány novou (velmi podobnou) řadou norem ISO 25000, vyvíjených v rámci mezinárodního normalizačního projektu SQuaRE.

9126-1 Model jakosti

ISO 9126 vs. ISO25000

ISO 9126 ISO 25000 (SQuaRE)
Metrik je navrženo příliš mnoho (přes 200), není jasné, které kdy vybrat Vytváří jednotnou architekturu řady norem a zastřešující příručku
Není jasné, jak formulovat potřeby a převést je do měřitelných požadavku Vytvořit příručku pro to, jak užívat metriky
Není jasné, kterou „jakost“ zkoumat (vnitřní, vnější, produktu) Definuje primitiva pro měření, např. prvky měřené přímo (čas, počet, kategorie)
9126-1 Model jakosti Zavádí metriky pro objektivizaci požadavků na jakost
9126-2 Vnější metriky 25010 Model jakosti
9126-3 Vnitřní metriky 25020 Metriky
9126-4 Metriky pro jakost použití 25030 Požadavky na jakost
9126-5 Základní softwarové metriky 25040 Vyhodnocování jakosti

Volba architektury IS – doporučené kroky

  1. Analyzujte hlavní funkční požadavky a nefunkcionální požadavky na systém, stanovte požadavky a cíle kvality.
  2. Použijte přizpůsobený standard ISO 9126, resp. ISO 25000 jako rámec pro hodnocení (obvykle vyžaduje dodefinovat specifické metriky a ukazatele podle konkrétních systémových požadavků, např. na specifické komponenty nebo rozhraní).
  3. Připravte prvotní návrhy řešení architektury systémů.
  4. Sestavte srovnávací tabulky pro porovnání návrhů.
  5. Určete priority (váhy) jednotlivých charakteristik, případně jejich hierarchii.
  6. Analyzujte výsledky sumarizované v tabulce s ohledem na priority z kroku 5.
  7. Zvolte výchozí architekturu mezi kandidáty na základě předchozí analýzy.
  8. Je-li vyžadována podrobnější analýza, soustřeďte se na charakteristiky relevantní problémové doméně, s ohledem na priority, získané v kroku 5.

Škálovatelnost (rozšiřitelnost)

vlastnost systému, indikující jeho schopnost přizpůsobit se rostoucím požadavkům na kapacitu, výkon, odezvu, dostupnost systému a atd., popřípadě být připraven na rozšíření.

Škálovatelnost je často omezena návrhem/implementací systému

Dimenze škálovatelnosti

Kompromisy k řešení při návrhu systému:

Kategorie škálovatelnosti:

HW škálovatelnost

Často se doporučuje soustředit se na hardwarovou rozšiřitelnost před kapacitní. Je levnější přidat procesor, než ladit výkon.

Příklad: Část programu lze zrychlit o 70%, je li spouštěna paralelně na čtyřech CPU. Je-li 1-P sekvenční část výpočtu a P je část, kterou lze paralelizovat, maximální zrychlení s využitím N procesorů udává Amdahlův zákon:

Pozn.: Mám za to, že ve jmenovateli má být znaménko +, tj. (1-P)+P/N, nikoli (1-P)-P/N, viz http://en.wikipedia.org/wiki/Amdahl%27s_law

Čím více snížím paralelizovatelnou složku P/N, tím menší bude její příspěvek ve jmenovatel a tím i vyšší hodnota zlomku = zrychlení (founemi2)

Zajištění odezvy systému - Real Time systémy

Zajištění odezvy systému – řízení přístupu ke zdrojům (workload manager)

Kapacitní plánování systému

Základní otázky pro kapacitní plánování IS

Zdroje

Přednášky předmětu A0M33PIS