Podcast
Questions and Answers
Jaki model SDLC wykorzystuje iteracje nazwane spiralami?
Jaki model SDLC wykorzystuje iteracje nazwane spiralami?
- Model Big Bang
- Model spiralny (correct)
- Model V
- Model klasyczny
Co charakteryzuje V-Model w procesie SDLC?
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?
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?
Która rola funkcyjna jest odpowiedzialna za analizę wymagań biznesowych?
Jaką cechę posiada model Big Bang?
Jaką cechę posiada model Big Bang?
Co najlepiej opisuje metaforę huśtawki w kontekście inżynierii oprogramowania?
Co najlepiej opisuje metaforę huśtawki w kontekście inżynierii oprogramowania?
Który z poniższych członków zespołu jest odpowiedzialny za finalizację projektu?
Który z poniższych członków zespołu jest odpowiedzialny za finalizację projektu?
Jakie są główne przewagi stosowania SDLC?
Jakie są główne przewagi stosowania SDLC?
Jakie są wymagania dotyczące zaliczenia wykładu i projektu?
Jakie są wymagania dotyczące zaliczenia wykładu i projektu?
Jakie podejście należy stosować według definicji IEEE w inżynierii oprogramowania?
Jakie podejście należy stosować według definicji IEEE w inżynierii oprogramowania?
Co jest jednym z powodów, dla których potrzebujemy inżynierii oprogramowania?
Co jest jednym z powodów, dla których potrzebujemy inżynierii oprogramowania?
Jakie fazy składają się na model spiralny?
Jakie fazy składają się na model spiralny?
Które z poniższych punktów NIE jest aspektami inżynierii oprogramowania?
Które z poniższych punktów NIE jest aspektami inżynierii oprogramowania?
Jak jest ustalona skala ocen dla wykładów?
Jak jest ustalona skala ocen dla wykładów?
Co charakteryzuje model Waterfall w procesie tworzenia oprogramowania?
Co charakteryzuje model Waterfall w procesie tworzenia oprogramowania?
Jak zdefiniować model Iterative w kontekście SDLC?
Jak zdefiniować model Iterative w kontekście SDLC?
Jakie są wyniki końcowego testu w wykładzie, a jakie w projekcie?
Jakie są wyniki końcowego testu w wykładzie, a jakie w projekcie?
Co jest celem stosowania ustandaryzowanej komunikacji w inżynierii oprogramowania?
Co jest celem stosowania ustandaryzowanej komunikacji w inżynierii oprogramowania?
Jakie podejście zakłada model spiralny do oceny ryzyka?
Jakie podejście zakłada model spiralny do oceny ryzyka?
Co oznacza podejście skalowane i adaptowalne w inżynierii oprogramowania?
Co oznacza podejście skalowane i adaptowalne w inżynierii oprogramowania?
Co jest główną cechą modelu Big Bang?
Co jest główną cechą modelu Big Bang?
Który z modeli zakłada realizację wymagań w przyrostowy sposób?
Który z modeli zakłada realizację wymagań w przyrostowy sposób?
Jakie podejście przyjmuje model V-Model?
Jakie podejście przyjmuje model V-Model?
Jakie są główne wyzwania związane z modelem Spiralnym?
Jakie są główne wyzwania związane z modelem Spiralnym?
Jakie jest główne zadanie etapu inicjacji projektu?
Jakie jest główne zadanie etapu inicjacji projektu?
Co jest głównym celem etapu planowania w cyklu życia projektu?
Co jest głównym celem etapu planowania w cyklu życia projektu?
Który z poniższych kroków nie jest częścią etapu wdrożenia projektu?
Który z poniższych kroków nie jest częścią etapu wdrożenia projektu?
Co obejmuje proces monitorowania i kontrolowania w projekcie?
Co obejmuje proces monitorowania i kontrolowania w projekcie?
Które z poniższych pojęć odnoszą się do operacyjności oprogramowania?
Które z poniższych pojęć odnoszą się do operacyjności oprogramowania?
Która cecha jest związana z przejściowością oprogramowania?
Która cecha jest związana z przejściowością oprogramowania?
W jakim celu tworzy się dokumentację specyfikacji wymagań oprogramowania?
W jakim celu tworzy się dokumentację specyfikacji wymagań oprogramowania?
Jakie działania są podejmowane podczas etapu utrzymania w projekcie?
Jakie działania są podejmowane podczas etapu utrzymania w projekcie?
Jakie z poniższych stwierdzeń najlepiej opisuje elastyczność w kontekście oprogramowania?
Jakie z poniższych stwierdzeń najlepiej opisuje elastyczność w kontekście oprogramowania?
Jakie zagadnienie nie jest związane z najlepszymi praktykami w tworzeniu oprogramowania?
Jakie zagadnienie nie jest związane z najlepszymi praktykami w tworzeniu oprogramowania?
Które z poniższych pojęć są związane z utrzymaniem oprogramowania?
Które z poniższych pojęć są związane z utrzymaniem oprogramowania?
Jakie działania są najważniejsze w procesie zbierania wymagań?
Jakie działania są najważniejsze w procesie zbierania wymagań?
Co oznacza pojęcie 'integralność' w kontekście inżynierii oprogramowania?
Co oznacza pojęcie 'integralność' w kontekście inżynierii oprogramowania?
Co można określić jako kluczową cechę 'bezpieczeństwa' w oprogramowaniu?
Co można określić jako kluczową cechę 'bezpieczeństwa' w oprogramowaniu?
Które z poniższych pojęć jest przykładem cechy, która może mieć różną wagę w różnych projektach IT?
Które z poniższych pojęć jest przykładem cechy, która może mieć różną wagę w różnych projektach IT?
Które z poniższych stwierdzeń najlepiej opisuje pojęcie 'adaptability' (zdolność adaptacji) w kontekście oprogramowania?
Które z poniższych stwierdzeń najlepiej opisuje pojęcie 'adaptability' (zdolność adaptacji) w kontekście oprogramowania?
Flashcards
Funkcjonalność
Funkcjonalność
Określa zdolność oprogramowania do spełniania określonych funkcji w sposób zgodny z wymaganiami.
Użyteczność
Użyteczność
Określa łatwość, z jaką użytkownicy mogą nauczyć się korzystać z oprogramowania.
Wydajność
Wydajność
Określa zdolność oprogramowania do spełniania określonych wymagań wydajnościowych.
Bezpieczeństwo
Bezpieczeństwo
Signup and view all the flashcards
Rozszerzalność
Rozszerzalność
Signup and view all the flashcards
Przenaszalność
Przenaszalność
Signup and view all the flashcards
Interoperacyjność
Interoperacyjność
Signup and view all the flashcards
Skalowalność
Skalowalność
Signup and view all the flashcards
Inżynieria Oprogramowania (IO)
Inżynieria Oprogramowania (IO)
Signup and view all the flashcards
Rozwój Oprogramowania (Software Development)
Rozwój Oprogramowania (Software Development)
Signup and view all the flashcards
Definicja IO wg IEEE
Definicja IO wg IEEE
Signup and view all the flashcards
Dlaczego potrzebujemy IO? (powody)
Dlaczego potrzebujemy IO? (powody)
Signup and view all the flashcards
Dlaczego potrzebujemy IO? (powody)
Dlaczego potrzebujemy IO? (powody)
Signup and view all the flashcards
Dlaczego potrzebujemy IO? (powody)
Dlaczego potrzebujemy IO? (powody)
Signup and view all the flashcards
Dlaczego potrzebujemy IO? (powody)
Dlaczego potrzebujemy IO? (powody)
Signup and view all the flashcards
Czym jest dobre oprogramowanie?
Czym jest dobre oprogramowanie?
Signup and view all the flashcards
Model kaskadowy (Waterfall)
Model kaskadowy (Waterfall)
Signup and view all the flashcards
Model iteracyjny
Model iteracyjny
Signup and view all the flashcards
Model Spiralny
Model Spiralny
Signup and view all the flashcards
Model V-Model
Model V-Model
Signup and view all the flashcards
Model Big Bang
Model Big Bang
Signup and view all the flashcards
Model Spiralny SDLC
Model Spiralny SDLC
Signup and view all the flashcards
Model V SDLC
Model V SDLC
Signup and view all the flashcards
Model Big Bang SDLC
Model Big Bang SDLC
Signup and view all the flashcards
Benefity SDLC
Benefity SDLC
Signup and view all the flashcards
Role Funkcyjne w SDLC
Role Funkcyjne w SDLC
Signup and view all the flashcards
Metafora Huśtawki w inżynierii oprogramowania
Metafora Huśtawki w inżynierii oprogramowania
Signup and view all the flashcards
Cykl Życia Projektu
Cykl Życia Projektu
Signup and view all the flashcards
Inicjowanie
Inicjowanie
Signup and view all the flashcards
Planowanie
Planowanie
Signup and view all the flashcards
Wykonywanie
Wykonywanie
Signup and view all the flashcards
Monitorowanie i Kontrola
Monitorowanie i Kontrola
Signup and view all the flashcards
Zamykanie
Zamykanie
Signup and view all the flashcards
Software Development Lifecycle (SDLC)
Software Development Lifecycle (SDLC)
Signup and view all the flashcards
Software Requirements Specification (SRS)
Software Requirements Specification (SRS)
Signup and view all the flashcards
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.