modelowanie i projektowanie systemów komputerowych

0.0(0)
Studied by 2 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/25

flashcard set

Earn XP

Description and Tags

Last updated 8:37 PM on 11/21/24
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

26 Terms

1
New cards

czym jest „kryzys oprogramowania”?

Termin odnosi się do problemów, które pojawiły się już w latach 60. XX wieku w rozwijaniu głównie dużych i skomplikowanych systemów.

2
New cards

Jakie są objawy „kryzysu oprogramowania”?

  • projekty trwają i kosztują więcej niż planowano

  • nienadążanie za rozwojem sprzętu i potrzeb użytkowników

  • zła jakość oprogramowania

  • trudności w utrzymywaniu oprogramowania

3
New cards

czym jest „dług technologiczny”?

Dług technologiczny to metafora, która polega na tym, że decyzje projektowe podjęte dla szybkiego wdrożenia lub oszczędności mogą prowadzić w przyszłości do trudnego w utrzymaniu, modernizacji i rozwoju oprogramowania.

“Dług” narasta, wraz z czasem zaniedbywania jego jakości, generując wysokie koszty naprawy.

4
New cards

Jakie są cechy “niepoprawialnego” oprogramowania, tzn. trudnego do utrzymania?

* konstrukcja programów “na czas”

* brak dokumentacji

* tworzenie przez wieloosobowe zespoły

* programy zaliczeniowe studentów

* archaiczne programy

5
New cards

jakie są przyczyny „kryzysu oprogramowania”?

1. Coraz większa złożoność i zaawansowanie oprogramowania
2. Problem specyfikacji wymagań i określenia celu projektu
3. Problemy zarządzania projektem
4. Problemy socjologii przedsięwzięcia (odpowiednia kadra, motywacja, komunikacja, struktury organizacyjne, zmiany w organizacji)
5. Problemy wynikające z pominięcia kluczowych elementów rozwoju oprogramowania

6
New cards

Czym jest inżynieria oprogramowania i jaki jest jej cel?

to odpowiedź na kryzys oprogramowania, ma ona dostarczyć sprawdzonych, praktycznych metod dla uniknięcia problemów w projektach informatycznych

7
New cards

Wymień główne obszary tematyczne inżynierii oprogramowania.

  • proces wytwarzania oprogramowania (różne modele rozwoju oprogramowania)

  • inżynieria wymagań względem systemów informatycznych

  • modelowanie i projektowanie systemów informatycznych (różne metodyki)

  • implementacja i testowanie systemów informatycznych

  • wdrożenie systemu informatycznego

  • utrzymanie i dalszy rozwój systemu informatycznego

  • zarządzanie projektami informatycznymi

8
New cards

Jakie są rodzaje projektów informatycznych?

  • konstrukcji

  • wdrożeniowe

9
New cards

Problemy wdrożeniowe dużych systemów (klasy ERP)

  • na ogół bardzo złożony system

  • przetwarzanie informacji opiera się na coraz trudniejszych modelach i teoriach

  • wdrożenie systemu niesie ze sobą zmianę sposobu funkcjonowania przedsiębiorstwa

  • specyfikacja projektów wdrożeniowych stawia wyzwania w aspekcie zarządzania projektem

10
New cards

Opisz kaskadowy model konstrukcji systemów informatycznych.

analiza->
projektowanie->
implementacja->
instalacja,testowanie,usuwanie błędów ->
pielęgnacja, dalszy rozwój

- każdy etap wykonujemy po kolei
- brak możliwości powrotu do poprzedniego etapu (w ostateczności tylko do poprzedniego, częściowy)
- nie nadaje się do dużych projektów
- brak możliwości modyfikacji wymagań w trakcie

11
New cards

Opisz pragmatyczny (realistyczny) model konstrukcji systemów informatycznych.

analiza->
projektowanie->
implementacja->
instalacja,testowanie,usuwanie błędów ->
pielęgnacja, dalszy rozwój

- można powracać do poszczególnych etapów, ale może to dużo kosztować przedsięwzięcie (gdy wracamy na początkowe etapy z późniejszych)

12
New cards

Opisz model konstrukcji prototypów prowizorycznych.

analiza->
projektowanie->
implementacja prototypu/
implementacja systemu->
instalacja,testowanie,usuwanie błędów ->
pielęgnacja, dalszy rozwój

- prototypy ubezpieczają proces analizy wymagań precyzując wymagania klienta i możliwości inżynierów
- pozwala ograniczyć koszty późniejszych niepotrzebnych powrotów do wcześniejszych etapów (po implementacji prototypu wracamy do analizy i tworzymy kolejny prototyp)

13
New cards

Opisz model ewolucyjny konstrukcji prototypów.

- jeśli prototyp spodoba się klientowi jest rozwijany dalej i dołączany do projektu jako pełnoprawny komponent
- "instalacja, testowanie, usuwanie błędów" występuje również po implementacji prototypu


14
New cards

Opisz realizację przyrostową.

określenie wymagań->
ogólny projekt->
[wybór podzbioru funkcji->
szczegółowy projekt, implementacja, testy->
dostarczenie zrealizowanej części systemu]

- projekt nie jest oddawany cały od razu
- dostarczamy elementy systemu sukcesywnie
- częsty kontakt z klientem i jego feedback

15
New cards

Opisz spiralny model konstrukcji systemów informatycznych.

Customer Communication->
Planning->
Risk Analysis->
Engineering->
Construction & Release->
Customer Evaluation->
Customer Communication...

- cyklicznie rozwijamy system
- zaczynamy od środka spirali


16
New cards

Opisz model RAD (Rapid Application Development).

- ustandaryzowane zasady projektowania do typowych zastosowań biznesowych
- ważne jest modelowanie dziedziny modelu (jak działa organizacja, wszystko w dokumentacji)
- korzystamy z gotowych komponentów zapewnionych przez organizację
- klient cały czas dostępny
- podział projektu na kilka zespołów

17
New cards

Co to metodyka UP (Unified Process)?

Miała na celu stworzenie zunifikowanego standardu w zakresie procesu wytwarzania oprogramowania obiektowego.

Jej “komercyjna wersja” to RUP.

18
New cards

Wymień i opisz fazy RUP/UP.

-> faza podjęcia: formułowany jest problem, kontekst, zwrot z inwestycji, prognoza finansowa, plan projektowy, analiza ryzyka, opis projektu

-> faza opracowania: projekt nabiera kształtów, analiza dziedziny zagadnienia, budowana jest podstawowa architektura systemu; w tej fazie mamy jeszcze możliwość zaniechania lub ponownego opracowania projektu

-> faza konstrukcji: większość prac programistycznych, pierwsza wersja oprogramowania do wglądu użytkowników zewnętrznych

-> faza przekazania systemu: przekazanie od programistów do użytkowników końcowych (start produkcyjny); trening użytkowników końcowych i administratorów, testy akceptacyjne, sprawdzana jest zgodność produktu z określeniami fazy pierwszej

19
New cards

Jakie są problemy RUP/UP?

  • ciężki i kosztowny proces, należy go dostosować do siebie (nie musi być ciężki)

  • nieograniczona dostosowalność stwarza problemy -> dowolne wybieranie elementów, brak metodyki prac


20
New cards

Na czym polega model zwinny Agile?

W modelu zwinnym odchodzi się od formalizacji, dokumentowania i ścisłego trzymania się planu, na rzecz elastycznej i ścisłej współpracy z klientem, reagowania na zmiany i szybkiej generacji działającego oprogramowania.

Niezależnie od wybranej metodyki, model zwinny ma zawsze w swoim założeniu pozwolić na zmniejszenie kosztów przedsięwzięcia oraz zapewnienie satysfakcji użytkowników.

21
New cards

Jakie są główne metodyki Agile?

  • programowanie ekstremalne (ang. extreme programming, XP)

  • Kanban

  • Scrum - najpopularniejsza metodyka

22
New cards

Jakie są problemy podejścia zwinnego Agile?

- wymaga dużego zaufania i zaangażowania zarówno klienta i wykonawcy
- ustalenie ścisłego budżetu prac i terminu ich zakończenia jest praktycznie niemożliwe
- brak precyzyjnego zdefiniowania wymagań użytkownika
- nie wiemy do końca co będzie finalnym efektem naszej pracy

23
New cards

Opisz elementy SCRUM.

Sprint - praca zespołu przez max miesiąc na wykonanie pewnej części oprogramowania

Backlog - Rejestr wymogów, które mamy zrealizować w trakcie tego miesiąca

Nikt nic nie narzuca - zespół deleguje się w pasujące sobie funkcje i zadania

Product Owner - osoba odpowiedzialna za rozwój produktu, wchodzi w interakcje z klientem

24
New cards

Jak dostarczać gotowe oprogramowanie?

  • jak najszybsze dostarczanie funkcji na środowisko produkcyjne (skracamy cykl rozwoju oprogramowania)

  • dostarczanie w małych “paczkach” (od razu, gdy funkcje są gotowe)

  • jak najszybszy feedback w procesie i zapewnienie jakości

  • procesy automatyczne (minimalizujemy zadania manualne)

25
New cards

jakie są dwie najbareziej uznane i powszechne modele/metodyki w projektach informatycznych?

PRINCE2 (głównie aspekt biznesowy, strategiczne zarządzanie projektem)

PMBOK (znacznie szersza metodyka, obejmuje temat zagadnień międzyludzkich i komunikacyjnych)

obie metody nie są ze sobą sprzeczne i mogą być łączone podczas zarządzania projektem

26
New cards

jakie są narzędzia i środowiska rozwoju oprogramowania?

  • systemy zarządzania wymaganiami względem systemu informatycznego → rejestr wymagań, kojarzenie ich z elementami projektu, testami i innymi wymaganiami

  • Computer Aided Software Engineering (CASE) → model analityczny wymagań, projekt systemu

  • środowisko implementacji i testów → kompilacja, testowanie, debugowanie

  • systemy do zarządzania wersjami i konfiguracjami oprogramowania

  • systemy do zarządzania projektami → definiowanie zadań projektowych, harmonogramu i budżetu