Inżynieria Oprogramowania - Wykład 04.10.2024
40 Questions
1 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

Jaki model SDLC wykorzystuje iteracje nazwane spiralami?

  • Model Big Bang
  • Model spiralny (correct)
  • Model V
  • Model klasyczny
  • Co charakteryzuje V-Model w procesie SDLC?

  • Bezpośrednie powiązanie faz rozwoju z fazami testowania (correct)
  • Brak faz testowania
  • Wielka elastyczność w planowaniu
  • Iteracje zwane spiralami
  • Która z poniższych opcji nie jest celem inżynierii oprogramowania?

  • Ograniczenie ilości kodu (correct)
  • Zwiększenie widoczności procesu rozwoju
  • Efektywne zarządzanie ryzykiem
  • Lepsze szacowanie kosztów
  • Która rola funkcyjna jest odpowiedzialna za analizę wymagań biznesowych?

    <p>Analityk Biznesowy (D)</p> Signup and view all the answers

    Jaką cechę posiada model Big Bang?

    <p>Brak konkretnego procesu (C)</p> Signup and view all the answers

    Co najlepiej opisuje metaforę huśtawki w kontekście inżynierii oprogramowania?

    <p>Utrzymywanie równowagi między różnymi fazami cyklu (C)</p> Signup and view all the answers

    Który z poniższych członków zespołu jest odpowiedzialny za finalizację projektu?

    <p>Completer/Finisher (C)</p> Signup and view all the answers

    Jakie są główne przewagi stosowania SDLC?

    <p>Systematyczne dostarczanie oprogramowania (B)</p> Signup and view all the answers

    Jakie są wymagania dotyczące zaliczenia wykładu i projektu?

    <p>Min 50% z wykładu i projektu (D)</p> Signup and view all the answers

    Jakie podejście należy stosować według definicji IEEE w inżynierii oprogramowania?

    <p>Systematyczne, zdyscyplinowane i wymierne podejście (D)</p> Signup and view all the answers

    Co jest jednym z powodów, dla których potrzebujemy inżynierii oprogramowania?

    <p>Konieczność znoszenia chaotycznych placów deweloperskich (B)</p> Signup and view all the answers

    Jakie fazy składają się na model spiralny?

    <p>Identyfikacja, projekt, budowanie, ewaluacja i ocena ryzyka (B)</p> Signup and view all the answers

    Które z poniższych punktów NIE jest aspektami inżynierii oprogramowania?

    <p>Rozwój kodu bez dokumentacji (C)</p> Signup and view all the answers

    Jak jest ustalona skala ocen dla wykładów?

    <p>Od 90 i więcej - 5, 80-89 - 4.5... (D)</p> Signup and view all the answers

    Co charakteryzuje model Waterfall w procesie tworzenia oprogramowania?

    <p>Sekwencyjny podział na etapy (D)</p> Signup and view all the answers

    Jak zdefiniować model Iterative w kontekście SDLC?

    <p>Tworzenie oprogramowania w cyklach powtarzalnych (C)</p> Signup and view all the answers

    Jakie są wyniki końcowego testu w wykładzie, a jakie w projekcie?

    <p>Wykład 40 pkt, projekt 60 pkt (D)</p> Signup and view all the answers

    Co jest celem stosowania ustandaryzowanej komunikacji w inżynierii oprogramowania?

    <p>Ułatwienie pracy w dużych zespołach (D)</p> Signup and view all the answers

    Jakie podejście zakłada model spiralny do oceny ryzyka?

    <p>Ocena ryzyka w każdej fazie cyklu (C)</p> Signup and view all the answers

    Co oznacza podejście skalowane i adaptowalne w inżynierii oprogramowania?

    <p>Możliwość dostosowania procedur do różnych projektów (A)</p> Signup and view all the answers

    Co jest główną cechą modelu Big Bang?

    <p>Brak struktury i planowania w procesie (B)</p> Signup and view all the answers

    Który z modeli zakłada realizację wymagań w przyrostowy sposób?

    <p>Model Iterative (B)</p> Signup and view all the answers

    Jakie podejście przyjmuje model V-Model?

    <p>Każdy etap ma swój odpowiedni test (B)</p> Signup and view all the answers

    Jakie są główne wyzwania związane z modelem Spiralnym?

    <p>Złożoność planowania i oceny ryzyka (B)</p> Signup and view all the answers

    Jakie jest główne zadanie etapu inicjacji projektu?

    <p>Sformułowanie początkowego zakresu projektu (D)</p> Signup and view all the answers

    Co jest głównym celem etapu planowania w cyklu życia projektu?

    <p>Opracowanie planu zarządzania projektem (D)</p> Signup and view all the answers

    Który z poniższych kroków nie jest częścią etapu wdrożenia projektu?

    <p>Zbieranie wymagań (C)</p> Signup and view all the answers

    Co obejmuje proces monitorowania i kontrolowania w projekcie?

    <p>Zapewnienie, że dostarczane elementy są zgodne z harmonogramem (A)</p> Signup and view all the answers

    Które z poniższych pojęć odnoszą się do operacyjności oprogramowania?

    <p>Interoperacyjność (B), Integralność (C)</p> Signup and view all the answers

    Która cecha jest związana z przejściowością oprogramowania?

    <p>Reuseability (D)</p> Signup and view all the answers

    W jakim celu tworzy się dokumentację specyfikacji wymagań oprogramowania?

    <p>Aby zdefiniować wymagania dotyczące oprogramowania (B)</p> Signup and view all the answers

    Jakie działania są podejmowane podczas etapu utrzymania w projekcie?

    <p>Zgłaszanie i śledzenie defektów (C)</p> Signup and view all the answers

    Jakie z poniższych stwierdzeń najlepiej opisuje elastyczność w kontekście oprogramowania?

    <p>Możliwość łatwego wprowadzania zmian w systemie. (B)</p> Signup and view all the answers

    Jakie zagadnienie nie jest związane z najlepszymi praktykami w tworzeniu oprogramowania?

    <p>Definiowanie niejasnych wymagań klientów (C)</p> Signup and view all the answers

    Które z poniższych pojęć są związane z utrzymaniem oprogramowania?

    <p>Skalowalność (A), Testowalność (B)</p> Signup and view all the answers

    Jakie działania są najważniejsze w procesie zbierania wymagań?

    <p>Organizacja spotkań z interesariuszami (A)</p> Signup and view all the answers

    Co oznacza pojęcie 'integralność' w kontekście inżynierii oprogramowania?

    <p>Zgodność danych z rzeczywistością. (C)</p> Signup and view all the answers

    Co można określić jako kluczową cechę 'bezpieczeństwa' w oprogramowaniu?

    <p>Ochrona danych przed utratą. (C)</p> Signup and view all the answers

    Które z poniższych pojęć jest przykładem cechy, która może mieć różną wagę w różnych projektach IT?

    <p>Usability (D)</p> Signup and view all the answers

    Które z poniższych stwierdzeń najlepiej opisuje pojęcie 'adaptability' (zdolność adaptacji) w kontekście oprogramowania?

    <p>Zdolność do rozwoju i zmiany w odpowiedzi na nowe wymagania. (B)</p> Signup and view all the answers

    Study Notes

    Inżynieria Oprogramowania - Notatki ze Wykładu

    • Data wykładu: 04.10.2024
    • Wykładowca: Dr inż. Katarzyna Wasielewska-Michniewska
    • Kontakt: [email protected]
    • MS Teams: utworzony zespół, slajdy z wykładów będą udostępniane
    • Konsultacje: na MINT - piątki 10:00-18:00

    Zasady Zaliczenia

    • Wykład: 40 punktów - końcowy test wielokrotnego wyboru
    • Projekt: 60 punktów - zasady zaliczenia zostaną przedstawione na zajęciach projektowych
    • Minimalny wymagany wynik: 50% z wykładu i projektu
    • Skala ocen:
      • 91 i więcej - 5
      • 81-90 - 4,5
      • 71-80 - 4
      • 61-70 - 3,5
      • 51-60- 3
      • 50 i mniej - 2

    Czym jest Inżynieria Oprogramowania?

    • Proces projektowania, rozwijania, testowania i utrzymywania oprogramowania z użyciem zdefiniowanych zasad, metod i procedur

    • Definicja IEEE:

      • Systematyczne, zdyscyplinowane i wymierne podejście do tworzenia, obsługi i utrzymania oprogramowania
      • Zastosowanie inżynierii w kontekście oprogramowania / podejścia inżynierskiego do oprogramowania
      • Badanie podejść w tym kontekście
    • Różnica między inżynierią oprogramowania a rozwojem oprogramowania:

    • inżynieria oprogramowania to szersze podejście, obejmujące cały proces, w tym definicje i metody, a rozwój to skupienie na konkretnych etapach tworzenia. Inżynieria oprogramowania stosuje zasady i metody inżynierskie do rozwoju oprogramowania.

    Model Paradigmatów Oprogramowania

    • Najbardziej podstawowym standardem jest "programming", które obejmuje tworzenie instrukcji dla komputera, aby wykonał zadanie.
    • Kolejnym standardem jest "software design", który opiera się na definiowaniu, sposobie komunikacji oraz architekturze interfejsu, które pozwalają na zbudowanie pełnego i funkcjonalnego software produktu.
    • Najbardziej kompleksowym standardem jest "software development", który włącza w siebie wszystkie wcześniej wymienione aspekty, a ponadto skupia się na zarządzaniu cyklem życia produktu oraz komunikacji i współpracy z "interesariuszami".

    Dlaczego potrzebujemy Inżynierii Oprogramowania?

    • Skomplikowane systemy: integracje, interakcje, modularność, procesy
    • Większe zespoły: skomplikowana struktura
    • Unikanie chaosu: w placu deweloperskim
    • Trudne śledzenie postępu: zakresu prac, oceny ryzyka
    • Rotacja deweloperów: praca nad „cudzym” kodem
    • Długie cykle życia projektów: zespoły żyją krócej niż projekty
    • Potrzeby: standaryzacja komunikacji, procedury, praktyki, skalowane i elastyczne podejście

    Czym jest dobre oprogramowanie?

    • Operacyjność:
      • Niezawodność, integralność, poprawność, użyteczność, wydajność, funkcjonalność, bezpieczeństwo, bezpieczeństwo
    • Utrzymanie:
      • Skalowalność, elastyczność, możliwość testowania, rozszerzalność, modularność
    • Przejściowość:
      • Interoperacyjność, możliwość ponownego użycia, przenośność, adaptacyjność

    Kto może zyskać na stosowaniu inżynierii oprogramowania?

    • różni zainteresowani, w tym osoby zarządzające, projektanci i deweloperzy oprogramowania

    Plan wykładów

    • Wprowadzenie, zasady
    • Cykl życia projektu IT, powiązane procesy i role funkcyjne
    • Zbieranie i analiza wymagań
    • Narzędzia i techniki do wsparcia analizy systemu: UML, User stories, FURPS, BPMN
    • Software Development Frameworks
    • Narzędzia i techniki do zarządzania kodem
    • Zasady tworzenia dobrego oprogramowania
    • Architektury oprogramowania
    • Wzorce projektowe
    • Zarządzanie jakością oprogramowania
    • Testowanie
    • Narzędzia – git, gitflow, CI, bugtracking, profiling
    • Utrzymanie oprogramowania

    Literatura Dodatkowa

    • Dostarcza listy materiałów odniesienia dla studentów

    Cele

    • Poznanie metod i narzędzi
    • Rozumienie procesu tworzenia oprogramowania
    • Nauki najlepszych praktyk
    • Wiedza w razie przyszłych problemów

    Cykl Życia Projektu

    • Initiating: definiowanie projektu, analiza wykonalności, analiza finansowa, definiowanie zakresu pracy
    • Planning: tworzenie planu zarządzania projektem obejmującego wszystkie aspekty realizacji
    • Executing: realizacja zadań zgodnie z założeniami i planem
    • Monitoring and Controlling: śledzenie postępu, analiza ryzyka, zarządzanie kosztami i czasem
    • Closing: ukończenie projektu, ewaluacja, analiza efektywności

    Modele SDLC (Software Development Life Cycle)

    • Waterfall: kolejne sekwencyjne etapy, wyjścia jednego etapu wejściem na kolejny etapie
    • Iterative: realizacja oprogramowania w powtarzalnych cyklach, uwzględnianie kolejnych aktualizacji
    • Spiral: iteracyjne etapy z analizą ryzyka i ewaluacją na każdym kolejnym etapie
    • V-Model: fazy rozwoju i testowania, dla każdej fazy rozwoju występuje powiązana faza testowania
    • Big Bang: minimalne planowanie, wszystkie zasoby skupione na rozwoju oprogramowania

    Korzyści SDLC

    • Większa widoczność: procesu rozwoju dla wszystkich
    • Efektywne szacowanie, planowanie i harmonogramowanie
    • Zarządzanie ryzykiem i kosztami
    • Systematyczne dostarczanie oprogramowania
    • Satysfakcja klientów

    Role Funkcyjne

    • Analityk biznesowy, Architekt, Deweloper, Tester, Zespół wdrożeniowy, Administrator, Sponsor projektu, Menadżer projektu, Właściciel Produktu, Zespół sprzedaży i marketingu

    Gdzie zastosować inżynierię oprogramowania

    • w różnych dziedzinach

    Metafora huśtawki

    • przedstawiająca proces rozwoju oprogramowania z różnych perspektyw

    9 ról w zespole Belbina

    • opis ról w zespole, pogrupowanych ze względu na ich nastawienie:
      • kierunkowane na myślenie, kierunkowane na działanie, kierunkowane na ludzi

    Jak używać teorii Belbina

    • Zespół składający się z członków o podobnych stylach zachowań i tendencjach może utracić równowagę.
    • Warto wykorzystać różnorodne umiejętności i osobowości w zespole.
    • Maksymalizacja wydajności zespołów poprzez rozważenie mocnych i słabych stron każdej osoby.
    • Rozwijanie i ulepszanie zespołów.

    Studying That Suits You

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

    Quiz Team

    Related Documents

    Description

    Sprawdź swoją wiedzę o inżynierii oprogramowania na podstawie notatek z wykładu. Zawiera kluczowe informacje dotyczące zasad zaliczenia oraz definicje. Przygotuj się do końcowego testu wielokrotnego wyboru i projektu.

    More Like This

    Use Quizgecko on...
    Browser
    Browser