Opracowanie na Inżynierie Oprogramowania

Opracowanie na Inżynierie Oprogramowania
czyli dodaj coś od siebie

na czerwono - do opracowania
na pomarańczowo - w trakcie
szare tło - Polecenia

Proszę o podawanie źródeł.
Nie wal w Janka dopisz się.


1. Procesy wytwórcze informatyczne (fazy, przepływy prac, jak wygląda) (wiki)

Proces wytwórczy oprogramowania (ang. software process) – proces mający na celu wytworzenie oprogramowania.
a. Proszę nazwać procesy wytwórcze, które znamy    

 Metodyki nurtu zwinnego

b. Proszę scharakteryzować jeden z wybranych procesów (tych wyżej)

Proces RUP nie jest pojedynczym, ściśle określonym procesem, ale raczej szablonem procesu. Został on zaprojektowany w celu przystosowania do charakteru konkretnej organizacji (przedsiębiorstwa), konkretnego zespołu projektowego lub nawet charakteru konkretnego projektu. Z szablonu RUP można wybrać elementy w zależności od konkretnych potrzeb.

Rational Unified Process (RUP) to także nazwa oprogramowania, opracowanego przez Rational Software (obecnie dostępnego w IBM). Produkt ten zawiera hipertekstową bazę wiedzy z przykładowymi artefaktami oraz szczegółowymi opisami wielu typów czynności. Process RUP definiowany jest także w produkcie Rational Method Composer (RMC), który pozwala na tworzenie spersonalizowanych wersji RUP

Budowa

Autorzy procesu skupili się na diagnozowaniu charakterystyk projektów, które zakończyły się fiaskiem. Postępując w ten sposób próbowali poznać przyczyny owych niepowodzeń. Przyglądali się również ówcześnie istniejącym procesom inżynierii oprogramowania i sposobom, w jaki rozwiązywały one problemy.

Lista najczęstszych błędów zawierała następujące rzeczy:

Niepowodzenie projektu było spowodowane kombinacją wielu czynników, w każdym projekcie w specyficzny sposób. Rezultatem badań firmy Rational było opracowanie zbioru dobrych praktyk, które nazwane zostały właśnie Rational Unified Process.

Proces RUP został opracowany z użyciem tych samych technik, których zespół Rational używał do modelowania systemów - języka UML. Język UML powstawał równolegle z RUP (również jako połączenie doświadczenia w modelowaniu firm Objectory i Rational).

RUP bazuje na zbiorze zasad inżynierii programowania oraz najlepszych praktykach, na przykład:

  1. Iteracyjnym wytwarzaniu oprogramowania (Iterative Development)

  2. Zarządzaniu wymaganiami (Requirement Management)

  3. Używaniu architektury bazującej na komponentach (Component-based architecture)

  4. Graficznym projektowaniu oprogramowania

  5. Kontroli jakości oprogramowania (Quality Assurance)

  6. Procesu kontroli zmian w oprogramowaniu (Change Management)

Zarządzanie wymaganiami

Zarządzanie wymaganiami w RUP jest skupione na zaspokojeniu oczekiwań użytkowników końcowych systemu poprzez identyfikację i specyfikację ich potrzeb oraz wykrywanie zmiany tych wymagań. Zalety zarządzania wymaganiami:

RUP sugeruje, że zarządzanie wymaganiami składa się z następujących czynności:

Analiza problemu - uzgodnienie problemu i stworzenie miar, które dowiodą jego istotności dla klienta.

Zrozumienie potrzeb udziałowców (stakeholders) (brak odpowiedniego słowa w języku polskim, są to odbiorcy i użytkownicy oprogramowania na różnych szczeblach w organizacji, w innych metodykach zarządzania projektami nazywa się ich Interesariuszami) - konsultacja problemu i jego wartości z głównymi udziałowcami (stakeholders) i rozpoznanie w jaki sposób koncepcja rozwiązania zaspokaja ich potrzeby.

Definicja systemu - tworzenie projektu funkcjonalności na podstawie potrzeb użytkowników, identyfikacja przypadków użycia - które prezentują ogólne wymagania (high-level requirements) i użyteczność modelu systemu.

Zarządzanie zakresem systemu (Scope Management) - modyfikowanie zakresu prac nad systemem bazując na analizie wymagań, wybór kolejności realizacji (atakowania) przypadków użycia.

Zawężanie definicji systemu - uszczegóławianie scenariuszy przypadków użycia razem z użytkownikami systemu w celu stworzenia dokładnej Specyfikacji wymagań (ang. Software Requirements Specification - SRS), która może służyć (i na ogół służy) jako umowa pomiędzy wykonawcą systemu a klientem. Na podstawie dokumentu SRS tworzony jest projekt systemu oraz scenariusze testów.

Zarządzanie zmianami wymagań - zarządzanie zmianami wymagań lub nowozidentyfikowanymi wymaganiami w czasie trwania projektu.

c. Proszę wytłumaczyć różnicę między poszczególnymi procesami wytwórczymi
d. Po co potrzebny proces wytwórczy i gdzie go możemy zobaczyć w dokumentacji

2. Zarządzanie ryzykiem (http://wazniak.mimuw.edu.pl/index.php?title=Zio-10-wyk-toc)

a. Proszę odpowiedzieć ogólny algorytm zarządzania ryzykiem (z jakich kroków, jak wypełnić tabelkę)


Etapy:
    Ocena

Identyfikacja, - wykazanie czynników mogących zagrozić przedsięwzięciu

    Kontrola

Planowanie,

Analiza ryzyka

Zarządzanie Reakcją na Ryzyko,

Monitorowanie i Kontrola

3. Szacowanie nakładów pracy, kosztów przedsięwzięcia

a. Proszę nazwać metody szacowania kosztów przedsięwzięcia (jakie rodzaje)

b. Scharakteryzować czym jest COCOMO 2 (podstawowa część)

COCOMO (COst COntruction MOdel) - algorytmiczny model szacowania kosztów bazujący na rozmiarze oprogramowania. Powstał w oparciu o informacje dotyczące wielu rzeczywistych przedsięwzięć. Stosowanie modelu wymaga oszacowania liczby instrukcji, z których będzie składał się system.

Jednostką, w której mierzy się pracochłonność w metodzie COCOMO jest osobomiesiąc . Jeden osobomiesiąc oznacza miesięczny czas pracy jednej osoby nad danym projektem, przy czym:

Podstawowy wzór określający pracochłonność (PM nominal ) wyznaczono jako:

A * Size ^ E

W COCOMO uwzględniono  estymację  w  poszczególnych  etapach realizacji  projektów  zgodnie  z  modelami  spiralnym  i iteracyjnym poprzez wprowadzenie trzech faz estymacji.(poniżej)

c. Jaka jest podstawowa różnica pomiędzy 1. 2. I 3. Poziomem COCOMO 2

http://www.student-life.pl/materialy/io/Inzynieria_Oprogramowania_WSZiB_19.pdf

CostEstimation.pdf, strona 69 (wykłady Fedorova)

Korzystamy z następujacej formuły:

PM=(NOP * (1-%reuse/100))/PROD

PM - wynik w osobomiesiącach

NOP - ilość object points

PROD - produktywność

//gdyby ktoś mógł wytłumaczyć tutaj, o co konkretnie kaman, byłoby fajnie :-)

2. Poziom wczesnego projektowania - (Early Design) ma na celu umożliwienie estymacji we wczesnych fazach  realizacji  projektu,  kiedy  wstępne  wymagania  zostały już  określone  a  realizacja  projektu  jest  na  etapie  tworzenia architektury systemu. Podstawę  oszacowania  rozmiaru  produktu  stanowi  metoda punktów funkcyjnych

 

 

 

 

 d. Proszę podać ogólną charakterystykę metody punktów funkcyjnych

 

http://wazniak.mimuw.edu.pl/index.php?title=Zio-12-wyk-Slajd49

Metoda punktów funkcyjnych pozwala na szacowanie rozmiaru projektu na podstawie wymagań i niezależnie od technologii.

Jest to technika podziału systemów na mniejsze, łatwiejsze do zrozumienia i przeanalizowania, komponenty. W metodzie tej występuje pięć głównych klas, charakteryzujących systemy:

 

 

Klasy te charakteryzują funkcjonalność systemu.

 

e. Charakterystyka z innych (po jednym zdaniu)

 

 

4. Wymagania

 

a. Jak wygląda zarządzanie wymaganiami, co to jest, jakie podstawowe kroki, przepływ pracy (dyscyplina pracy)

Kroki:

 

Przepływ pracy

komputerowe wspomaganie pracy zespołów ludzkich poprzez porządkowanie, organizowanie, automatyzowanie, przekazywanie i śledzenie prac, które one wykonują.

 

 

b. Czym jest przypadek użycia i określić podstawowe związkiPrzypadek użycia przedstawia interakcję pomiędzy aktorem (użytkownikiem systemu), który inicjuje zdarzenie oraz samym systemem jako sekwencję prostych kroków.Związki  

c. Jak realizować przypadki użycia i jak to się robi

 

5. Proces biznesowy a. Zadania i celb. Na czym polega (z wykładu Fedorova)    Proces biznesowy jest zbiorem czynnosci wykonywanych, aby uzyskać konkretny rezultat dla klienta lub rynku. Jest uruchamiany przez konkretne zdarzenie. Wyjściem procesu jest rezultat. Każdy z procesów biznesowych musi realizowac okreslony cel, który ten proces uzasadnia.    Proces biznesowy wymaga pewnej porcji informacji oraz zasobów. Informacje wykorzystuje siew trakcie procesu biznesowego. Zasób z kolei sie konsumuje. Przykład procesu biznesowego:

 

c. Podstawowe diagramy UML w procesie biznesowym (analizy)
a)Diagram przypadków użycia
Składa się z:
-przypadków uzycia dotyczących działalności - odwołuja sie do celów działania i reguł działalnosci. Oznaczamy je jak kazdy inny przypadek uzycia dodając stereotyp <<business>>
-aktorów działalności - zarówno klienci, jak i udziałowcy i pracownicy danej firmy.
-pracowników działalnosci.

d. Wytłumaczyć jak zorganizować w projekcie przejścia z modelu biznesowego na model wymagań funkcjonalnych (na UML)

  e. Jakie są korzystne diagramyf. Diagramy dynamiczne UML, cele i korzyści płynące z wykorzystaniag. Wyjaśnić diagramy klas co to jest, podstawowe oznaczenia UML na diagramach klas i wytłumaczyć jak przekształcić diagramy klas w kod (znaleźć odpowiednik) 

 

6. Architektura systemu

 

a. Co oznacza architektura systemu i czym są wzorce architektoniczne, nazwać rodzaje wzorców architektonicznychczyli opisuje, jak funkcjonalność programu użytkowego rozproszono na kilku logicznych komponentach oraz jak te komponenty rozproszono na procesorach.Rodzaje

 

b. Jak sprawdza się poprawność wybranej architektury przy projektowaniu systemów informatycznych

 

7. Wzorce projektowe  a. Czym są wzorce, dlaczego są potrzebne, wymienić rodzaje Wzorzec projektowy wywodzi się z architektury. Jest gotowym schematem postępowania, który można zastosować w wielu sytuacjach, łącząc go także z innymi wzorcami. Rodzaje http://wazniak.mimuw.edu.pl/index.php?title=Io-8-wyk-Slajd8  

LUB (które lepsze??) Rodzaje http://wazniak.mimuw.edu.pl/index.php?title=Io-8-wyk-Slajd9  

 b. Wymienić wzorce projektowe kreacyjne (modelujące działanie systemu), behawioralne, strukturalne (wybrać nie więcej niż 2 wzorce z każdej grupy)

 

c. Wybrać nie więcej niż 2 wzorce z każdej grupy, napisać strukturę np. w pseudokodzie jak to wygląda          

 

        class Singleton {        private:            static Singleton *instance;        public:             static Singleton *getInstance() {                if(!Singleton::instance)                       Singleton::createInstance();                return Singleton::instance;            }                         static void createInstance() {                Singleton::instance = new Singleton();            }     }

 

            Metoda wytwórcza   

 

class Pizza {

public:

virtual void get_price() const = 0;

virtual ~Pizza() {};

};

class HamAndMushroomPizza: public Pizza {

public:

virtual void get_price() const {

std::cout << "Ham and Mushroom: $8.5" << std::endl;

}

};

class DeluxePizza : public Pizza {

public:

virtual void get_price() const {

std::cout << "Deluxe: $10.5" << std::endl;

}

};

class HawaiianPizza : public Pizza {

public:

virtual void get_price() const {

std::cout << "Hawaiian: $11.5" << std::endl;

}

};

class PizzaFactory {

public:

static Pizza* create_pizza(const std::string& type) {

if (type == "Ham and Mushroom") return new HamAndMushroomPizza();

else if (type == "Hawaiian")

return new HawaiianPizza();

else

return new DeluxePizza();

}

};

//usage

int main() {

PizzaFactory factory;

  std::auto_ptr<const Pizza> pizza(factory.create_pizza("Default"));

pizza->get_price();

  pizza.reset(factory.create_pizza("Ham and Mushroom"));

pizza->get_price();

  pizza.reset(factory.create_pizza("Hawaiian")); pizza->get_price();

 

 


Wyszukiwarka

Podobne podstrony:
Opracowania na inżynierkę - parzyste, Notatki Rolnictwo, 4 rok, IV rok
inzynieria oprogramowania pytania na egzamin dypolmowy, studia, IO
opracowanie na egzamin inżynierski z przedmiotu inżynieria leśna
Inżynieria oprogramowania Przykładowe pytania na egzamin 4 semestr, edukacja i nauka, Informatyka
opracowanie na egzamin inżynierski z przedmiotu inżynieria leśna
pytania na egz Inż opr1, inżynieria oprogramowania
pytania na egz Inż opr, IIS PWSZ, inżynieria oprogramowania, io
pytania na egz Inż opr, inżynieria oprogramowania
Inzynieria oprogramowania podstawy na podstawie Ian Sommerville Inzynieria oprogramowania WNT 2003
Inzynieria oprogramowania w ujeciu obiektowym UML wzorce projektowe i Java iowuje
ZadanieNaZaliczenie, WAT, semestr IV, Inżynieria oprogramowania
Rafał Polak 12k2 lab8, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
Prawoznawstwo - opracowanie na egzamin, Prawoznawstwo
Opracowania na egzamin z RPE RPE
Przykład opracowania na zaliczen ie
opracowanie na szmajde
PSYCHOLOGIA STOSOWANA opracowanie na koło

więcej podobnych podstron