ściągi świder, sciaga inż1


Czym jest oprogramowanie?

Obejmuje programy komputerowe orazodnośną dokumentację.

Produkty programistyczne mogą być opracowane na zamówienie

konkretnego klienta bądź z przeznaczeniem na otwarty rynek

(ogólnodostępne).

Jakie są cechy dobrego

oprogramowania?

Dobre oprogramowanie powinno zapewniać użytkownikowi

wymaganą funkcjonalność i skuteczność oraz spełniać wymogi:

łatwości utrzymania, niezawodności oraz praktycznej przydatności.

Czym jest inżynieria oprogramowania?

Inżynieria oprogramowania jest dziedziną inżynierii zajmującą się

wszelkimi aspektami produkcji oprogramowania.

Jakie są podstawowe działania

związanez inżynierią

oprogramowania?

Specyfikowanie, wytwarzanie, sprawdzaniepoprawności (walidacja)

oraz rozwijanie oprogramowania.

Jaka jest różnica pomiędzyinżynierią

oprogramowania a informatyką?

Informatyka jest dyscypliną naukową skupiającą się na teorii i

podstawach; inżynieria oprogramowania zajmuje się praktyczną

stroną wytwarzania i dostarczania przydatnego użytkowo

oprogramowania.

Jaka jest różnica pomiędzyinżynierią

oprogramowania a inżynierią

systemów?

Inżynieria systemów dotyczy wszystkich aspektów opracowania

systemów, wktórych zastosowanie znajdują komputery, tzn:

sprzętu, oprogramowania oraz inżynierii procesów. Inżynieria

oprogramowania jest częścią tej, bardziej ogólnej, dziedziny.

Jakie są najważniejsze wyzwania

inżynierii oprogramowania?

Sprostać coraz większejróżnorodności, wymogom skracania czasu

dostawy oraz wytwarzania niezawodnego oprogramowania.

Jakie są koszty inżynierii

oprogramowania?

Z grubsza biorąc, około 60% kosztów oprogramowania to koszty

wytwarzania, a 40% to koszty testowania. W przypadku

oprogramowania zamawianego, koszty rozwijania często

przewyższają koszty wytwarzania.

Jakie są najlepszemetody i techniki

inżynierii oprogramowania?

Ponieważ wszystkie projekty informatycznedotyczące wytwarzania

oprogramowania powinny być profesjonalnie zarządzane i

realizowane, dla różnych typów systemów właściwymi okazują się

różne techniki. Na przykład opracowanie gier zawsze wymaga

przygotowania serii prototypów, gdy tymczasem dla systemów

sterowania o szczególnych wymogach bezpieczeństwa wymaga się

opracowania pełnej i podlegającej analizie specyfikacji. Dlatego nie

można powiedzieć, że pewna metoda jest lepsza niż inna.

Jakie zmiany winżynierii

oprogramowania wywołało

pojawienie się Internetu?

Sieć Webspowodowała dostępność usług programowych oraz

możliwości wytwarzania systemów opartych na usługach o wysokim

stopniu rozproszenia. Wytwarzanie systemów dla sieci Web

spowodowało znaczący postęp w dziedzinie języków programowania

oraz odzyskiwalnościoprogramowania.

Łatwość utrzymania

(pielęgnacji)

Oprogramowanie powinno być napisanetak, aby mogło się rozwijać

wychodząc naprzeciw zmieniającym się potrzebom użytkowników. Jest to

cecha szczególnie ważna, gdyż zmiany w oprogramowaniu są

nieuniknione sytuacji zmieniających się warunków zewnętrznych.

Niezawodność i

bezpieczeństwo

Niezawodność oprogramowania obejmuje szereg cech takich jak:

pewność działania, zapewnienie poufnościi ochrona przez utratą danych.

Niezawodne oprogramowanie powinno zabezpieczać przed stratami

fizycznymi i ekonomicznymi w przypadku awarii systemu. Złośliwi

użytkownicy powinni być pozbawieni możliwości uzyskania dostępu bądź

uszkodzenia systemu.

Wydajność Oprogramowanie nie powinno w sposób nieekonomiczny używać

zasobów systemowych, takich jak pamięć oraz procesor. Dlatego

wydajność odnosi się do takich kwestii jak: czas odpowiedzi, czas

przetwarzania, wykorzystanie pamięci, itd.

Akceptowalność Oprogramowanie powinno być akceptowane przez grupę użytkowników,

dla której zostało zaprojektowane. Oznacza to, że powinno być ono łatwe

w opanowaniu, przydatneoraz zgodne z innymi systemami, których

używa ta grupa użytkowników

Aplikacje jednostanowiskowe

Są to aplikacje przeznaczone dla lokalnego komputera (np. PC). Obejmują one

wszystkie potrzebne funkcje i nie wymagają połączenia z siecią.

# Interaktywne aplikacje z przetwarzaniem transakcji

# Chodzi o aplikacje wykonywane na zdalnym komputerze, do których

użytkownicy mają dostęp za pośrednictwem swoich PC lub terminali. Mogą to

być aplikacje sieciowe do obsługi sprzedaży elektronicznej (e:commerce).

# Wbudowane systemy sterowania

# Jest to oprogramowanie do sterowania i zarządzania rozmaitymi urządzeniami.

Mogą to być np. telefony komórkowe, kuchenki mikrofalowe, systemy ABS w

samochodach itp.

Systemy przetwarzania wsadowego

# Są to systemy do zastosowań komercyjnych, zaprojektowane do

przetwarzania danych w dużych wsadach. Przetwarzają one dużą liczbę

pojedynczych zestawów danych wejściowych, efektem czego jest uzyskanie

odpowiednich zestawów danych wynikowych.

# Systemy do gier i zabaw

# Służą głównie do użytku osobistego i mają służyć użytkownikom do celów

rozrywkowych.

# Systemy modelowania i symulacji

# Jest to klasa systemów opracowanych przez naukowców i inżynierów z

przeznaczeniem do modelowania procesów i zjawisk fizycznych obejmujących

wiele odrębnych oddziałujących na siebie obiektów

# Systemy zbierania danych

# Są to systemy, które zbierają dane z otoczenia za pośrednictwem zestawu

czujników oraz przesyłają te dane do innych systemów w celu dalszego

przetwarzania.

# Systemy systemów

# Chodzi o systemy składające się z pewnej liczby innych systemów

oprogramowania.

Istnieje wiele typów procesów, ale wszystkie one obejmują:

# Specyfikację-definiowanie, co system powinien robić;

# Projektowanie i implementację-definiowanie organizacji systemu oraz

sposobu jego implementacji (realizacji);

# Walidację-sprawdzanie, że system robi to, czego chce użytkownik;

# Rozwijanie-wnoszenie zmian do systemu w odpowiedzi na zmieniające się

potrzeby użytkownika.

Plan-driven(ścisłe planowanie) -to procesy w których wszystkie działania procesowe są uprzednio planowane a postęp jest mierzony w odniesieniu do tego planu

(agile) planowanie odbywa się w sposób przyrostowy i łatwiej jest zmienić proces uwzględniając zmieniające się wymagania użytkownika.

Modele procesó wytwórczych:

Model wodospadu (kaskadowy)

Jest to model wykorzystujący planowanie. Występują wydzielone i odróżnialne

fazy specyfikacji i wytwarzania.

Opracowanie przyrostowe

Specyfikacja, wytwarzanie oraz walidacja przeplatają się ze sobą. Model może

opierać się na planowaniu lub podejściu `agile'.

Inżynieria oprogramowania zorientowana na odzyskiwalność

System jest budowany z istniejących komponentów. Model może opierać się

na planowaniu lub podejściu `agile'.

Wymaganie-Może to być zarówno sporządzony na wysokim poziomie abstrakcji

opis usługi lub ograniczenia jak też szczegółowa specyfikacja

matematyczna.

Rodzaje wymagań:

Wymagania użytkownika

Opis w języku naturalnym uzupełniony o diagramy prezentujące usługi

systemu oraz ograniczenia jego działania. Adresatami są klienci.

Wymagania systemowe

Dokument ustrukturyzowany zawierający szczegółowy opis funkcji systemu,

usług oraz nakładanych ograniczeń. Definiuje co ma być zrealizowane, a więc

może stanowić część zawartej umowy.

Wymagania funkcjonalne

Określenie usług, jakie ma zapewniać system, jak ma on reagować na dane

wejściowe oraz jak zachować się w konkretnych sytuacjach.

Mogą ustalać, czego system robić nie powinien.

Wymagania niefunkcjonalne

Ograniczenia nakładane na usługi lub funkcje systemu takie jak ograniczenia

czasowe, ograniczenia na proces konstrukcyjny, standardy, itd.

Często mają zastosowanie dla całego systemu a nie odrębnych cech czy

usług.

Wymagania dziedzinowe

Ograniczenia nakładane przez środowisko, w którym działa system.

Wymagania produktu

Są to wymagania ustalające, że dostarczony produkt ma się zachowywać w

określony sposób, w odniesieniu np. do prędkości wykonywania,

niezawodności itd.

Wymagania organizacyjne

Wynikają z polityki organizacyjnej oraz obowiązujących procedur, np.

stosowanych standardów procesowych, wymagań konstrukcyjnych itd.

Wymagania zewnętrzne

Są konsekwencją czynników zewnętrznych w stosunku do systemu oraz jego

procesu wytwórczego, np. wymagania dotyczące współpracy, wymagania

legislacyjne, itd.



Wyszukiwarka