Úvod do softwarového inženýrství
42 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Který z následujících problémů není častým problémem při vývoji softwaru?

  • Neviditelnost
  • Dokumentace (correct)
  • Syndrom 90% hotovo
  • Přizpůsobivost
  • Syndrom stárnutí softwaru vedle přidávání nových funkcí nezpůsobuje degradaci systému.

    False

    Jaká je náchylnost softwaru k chybám během jeho provozu?

    Chyby se projevují až během provozu a ne během vývoje.

    Při vývoji softwaru by se software měl měnit, když nastane __________.

    <p>změna</p> Signup and view all the answers

    Přiřaďte následující pojmy k jejich popisu:

    <p>Komunikace v týmu = Problémy při spolupráci během vývoje Syndrom 2. systému = Touha po dokonalosti vede k neefektivitě Nestálost = Neustálé přibývání nových požadavků Tvorba dokumentace = Náročnost udržení aktuálnosti informací</p> Signup and view all the answers

    Jaká fáze managementu projektu zahrnuje vyhodnocení rizik a získání všech relevantních informací?

    <p>Inicializace</p> Signup and view all the answers

    Převádění je fáze, kde se vytváří konečný výsledek projektu.

    <p>True</p> Signup and view all the answers

    Kolik úrovní zralosti obsahuje Capability Maturity Model?

    <p>5</p> Signup and view all the answers

    Fáze ________ zahrnuje kontrolu a řízení v závislosti na výkonu projektu.

    <p>řízení</p> Signup and view all the answers

    Přiřaďte klíčové oblasti k jejich popisům v modelu CMM:

    <p>Úroveň 1 = Nezralý proces Úroveň 3 = Definovaný proces Úroveň 5 = Optimalizovaný proces Úroveň 2 = Řiditelný proces</p> Signup and view all the answers

    Jaký typ licence umožňuje uživatelům studovat a modifikovat zdrojový kód?

    <p>Svobodná licence</p> Signup and view all the answers

    Proprietární software nelze modifikovat ani studovat.

    <p>True</p> Signup and view all the answers

    Co je definováno jako metodologie vývoje SW?

    <p>nauka o metodách, jejich tvorbě a použití</p> Signup and view all the answers

    Jaké jazyky spadají do čtvrté generace programovacích jazyků?

    <p>Microsoft Excel</p> Signup and view all the answers

    Etapa _____ zajišťuje provoz a údržbu softwaru.

    <p>Provoz a údržba</p> Signup and view all the answers

    Staticky typované jazyky provádějí typovou kontrolu během běhu programu.

    <p>False</p> Signup and view all the answers

    Přiřaďte typy licencí k jejich charakteristikám:

    <p>GPL = General Public License BSD = Zcela volné šíření LGPL = Lesser GPL - knihovny GFDL = Free Documentation License</p> Signup and view all the answers

    Co znamená pojem 'Code Review'?

    <p>Prohlídka kódu za účelem odhalení chyb a zlepšení jeho kvality.</p> Signup and view all the answers

    První generace programovacích jazyků zahrnuje programování přímo v __________.

    <p>binárním kódu</p> Signup and view all the answers

    Která z následujících metodik vývoje SW se NEVYKA:?

    <p>Testování uživatelského rozhraní</p> Signup and view all the answers

    Přiřaďte typy jazyků k jejich charakteristikám:

    <p>Staticky typované = Typová kontrola během kompilace Dynamicky typované = Typová kontrola během běhu Silně typované = Omezení na kombinaci typů Slabě typované = Implicitní přetypování</p> Signup and view all the answers

    Public domain je typ licence, kde autor zůstává vlastníkem autorských práv.

    <p>False</p> Signup and view all the answers

    Jaký je hlavní cíl procesu vývoje softwaru?

    <p>Transformace potřeb uživatele na požadavky na software.</p> Signup and view all the answers

    Jaké techniky jsou zahrnuty mezi přístupy statického ověřování?

    <p>Všechny uvedené</p> Signup and view all the answers

    Párové programování se zaměřuje na práci jednotlivce při programování.

    <p>False</p> Signup and view all the answers

    Jaký je hlavní účel technik testování?

    <p>Odhalit chyby a zlepšit kvalitu software.</p> Signup and view all the answers

    Který z následujících modelů popisuje fyzické uspořádání dat?

    <p>Fyzický model</p> Signup and view all the answers

    Dědičnost vyjadřuje vztah mezi třídami, kde odvozená třída nezískává žádné atributy nebo chování.

    <p>False</p> Signup and view all the answers

    Co je to single responsibility principle?

    <p>Třídy by měly mít jedinou zodpovědnost.</p> Signup and view all the answers

    Agregace je ____ více částí, kde seskupený objekt může existovat bez tvořícího objektu.

    <p>seskupení</p> Signup and view all the answers

    Jaký princip zabraňuje vytváření cyklů v závislostech?

    <p>Acyclic Dependencies Principle</p> Signup and view all the answers

    Princip Liskov Substitution říká, že odvozené třídy by neměly být zaměnitelné za bázové třídy.

    <p>False</p> Signup and view all the answers

    Objekt má roli, identitu, má metody a uchovává ____.

    <p>data</p> Signup and view all the answers

    Spárujte principy orientovaného návrhu s jejich popisy:

    <p>Single Responsibility Principle = Třídy by měly mít jedinou zodpovědnost Open Closed Principle = Třída by měla být otevřena pro rozšíření Do not Repeat Yourself = Neopakujte stejný kód na různých místech Dependency Inversion Principle = Závislost na abstraktním, nikoli na konkrétním</p> Signup and view all the answers

    Jaké jsou nevýhody Model-View-Controller architektury?

    <p>Těžší zpracování pro jednoduché modely</p> Signup and view all the answers

    Vrstvená architektura umožňuje modifikaci všech vrstev nezávisle na sobě.

    <p>False</p> Signup and view all the answers

    Co dělá Controller v Model-View-Controller architektuře?

    <p>Zajišťuje změny modelu na základě akcí uživatele a mění pohled podle změn modelu.</p> Signup and view all the answers

    Nejnižší vrstva ve vrstvené architektuře se nazývá ___________.

    <p>jádro systému</p> Signup and view all the answers

    Přiřaďte architekturu k jejím výhodám:

    <p>Model-View-Controller = Oddělení prezentace a dat Vrstvená architektura = Možnost nahradit vrstvy Klient-server = Distribuce služeb v síti Konceptuální modely = Reprezentace reálného systému</p> Signup and view all the answers

    Jaký je hlavní účel Klient-Server architektury?

    <p>Oddělení funkcionality do služeb</p> Signup and view all the answers

    Co je to doménový model v kontextu konceptuálních modelů?

    <p>Reprezentuje entity a pojmy problémové domény.</p> Signup and view all the answers

    Klient-Server architektura je náchylnější k útokům typu denial of service.

    <p>True</p> Signup and view all the answers

    Study Notes

    Úvod do softwarového inženýrství

    • Softwarové inženýrství je systematický přístup k vývoji, nasazení a údržbě softwaru.
    • Je to inženýrská disciplína zabývající se praktickými problémy při vývoji rozsáhlých softwarových systémů.
    • Softwar se vytváří pro zlepšení služeb, snížení nákladů, nemožnost řešení problémů bez počítačových systémů a pro zlepšení vlastností softwaru (spolehlivost, bezpečnost, použitelnost). Zvyšuje se potřeba produktivity vývoje softwaru.

    Softwarová krize v 60. letech

    • Projevovala se prodražováním a prodlužováním projektů.
    • Nízké kvality výsledků.
    • Problematická údržba a nízká produktivita programátorů.
    • Hledání řešení vedlo k zavedení strukturovaného programování jako prvního kroku k metodickému přístupu k programování.

    Softwarový produkt

    • Softwarový produkt je sbírka počítačových programů, procedur, pravidel a s nimi spojená dokumentace.
    • Zahrnuje požadavky, specifikace, návrhy, zdrojové kódy, testovací data, manuály a dokumentaci.
    • Aktéry se skládají ze zákazníků (sponzorů), dodavatelů (vývojářů systému) a uživatelů (testují a používají systém).

    Druhy softwaru

    • Generický software (krabicový): prodává se libovolnému zájemci.
    • Zákaznický software: šitý na míru konkrétnímu zákazníkovi.

    Kvalita softwaru

    • Kvalita softwaru je souhrn vlastností a charakteristik výrobku, procesu nebo služby, která naznačuje jeho schopnost plnit určené nebo odvozené potřeby.
    • Definuje se jako stupeň splnění požadavků a potřeb zákazníka.

    Správnost, spolehlivost a efektivnost softwaru

    • Správnost: Míra, v jaké SW vyhovuje specifikaci.
    • Spolehlivost: Pravděpodobnost, že SW bude v daném čase vykonávat zamýšlenou funkci.
    • Efektivnost: Splnění kritérií pro využití zdrojů počítačového systému v přiměřeném čase a nákladech.

    Další vlastnosti softwaru

    • Použitelnost: Úsilí vynaložené na používání softwaru.
    • Bezpečnost: Míra odolnosti vůči neoprávněným zásahům do systému.
    • Přenositelnost: Snadnost přenesení software na jinou platformu.
    • Znovupoužitelnost: Možnost znovu použít jednotlivé části SW.
    • Interoperabilita: Možnost spolupráce s jinými systémy.
    • Udržovatelnost: Možnost reakovat na měnící se potřeby zákazníka nebo legislativy.
    • Testovatelnost: Úsilí nutné k provedení testů softwaru.
    • Dokumentovanost: Úplnost dokumentace k SW.
    • Problémy s vývojem software: Složitost, přizpůsobivost, nestálost, neviditelnost (problematika komunikace, práce v týmu, změny požadavků, neschopnost odhalit chyby ve struktuře).
    • Metodiky: vodopádový model, iterativní model, prototypování, spirálový model, Racional Unified Process (RUP)

    Softwarový proces a proces vývoje software

    • Definuje, kdo co dělá, aby byly požadavky splněny, krok za krokem.
    • Analýza a specifikace, architektonický návrh, implementace a testování součástí, integrace a testování systému, provoz a údržba.

    Modely vývoje softwaru

    Rozdílné druhy modelů s různými výhodami a nevýhodami podle komplexity projektu a požadavků na rychlost vývoje a adaptaci k požadavkům zákazníků.

    Prototypování

    • Metoda vývoje, kdy se nejprve vytvoří funkční prototyp, který je pak s užitím zpětné vazby zákazníka postupně vylepšován.

    Správové modely

    • Vodopádový model, iterativní model, spirálový model, RUP, Agile a další modely pro management projektu.

    Další pojmy

    • Abstrakce: Zjednodušené znázornění bez ztráty významu.
    • Zapouzdření: Skupina dat, operací, a atributů pro skrytí detailů implementace.
    • Dědičnost: Definice typů a objektů na základě již existujících.
    • Polymorfismus: Třídy/objekty pro provádění určité operace, i když je společná pro více typů.
    • Diagram tříd, datový tok, stavový diagram, diagram případu použití, sekvenční diagram, diagram komunikace.
    • Specifikace požadavků, validizace požadavků, verifikace požadavků, metoda testování a testování černé a bílé skříňky.
    • IT support, SLA (Service Level Agreement), OLA (Operational Level Agreement), Projekty a cyklus.
    • IT Operations (Operace v IT prostředí), IT Transitions (Přechody pro zlepšení a expanzi IT služeb).

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Description

    Tento kvíz se zaměřuje na základy softwarového inženýrství, historii a vývoj softwaru. Prozkoumá také softwarovou krizi v 60. letech a definici softwarového produktu. Otestujte své znalosti o klíčových koncepcích a přístupech v softwarovém inženýrství.

    More Like This

    Use Quizgecko on...
    Browser
    Browser