IO lab 2 id 219711 Nieznany

background image

Kierunek: Informatyka
Przedmiot: Inżynieria Oprogramowania II

Opole 2013

POLITECHNIKA OPOLSKA

Wykonali:

Adam Czech

Marek Cywiński

background image

Kierunek: Informatyka
Przedmiot: Inżynieria Oprogramowania II

Opole 2013

1. Opis sprawozdania

Opis funkcji analityka i projektanta w systemach informatycznych.
Analiza systemu odziedziczonego, wypisanie błędów systemu.

2. Analityk systemowy

Nie ulega wątpliwości, że dobrze napisane wymagania przyczyniają się do sukcesu projektu.
Naszym zdaniem w ogromnym stopniu wpływają na jakość jaką dostarczamy klientowi.
Najprościej ujmując, wymaganie funkcjonalne określa co ma robić system. Definiuje jak ma się on
zachowywać w danych sytuacjach przy określonych danych wejściowych. Mimo że sama definicja
jest dość prosta, to sformułowanie dobrych wymagań funkcjonalnych jest już czynnością trudną i
złożoną. Autor dokumentacji zawierającej wymagania funkcjonalne musi bowiem przewidzieć
wszystko czym zajmować ma się system. Dodatkowo musi opisać to na tyle dokładnie by
programista mógł zaimplementować wymagania, a jednocześnie na tyle ogólnie by dać
programiście możliwość technicznej swobody przy projektowaniu.
Analityk w swojej pracy formułuje wymagania w postaci tekstu. Stara się używać zdań prostych i
zwięzłych, które mają być interpretowane tylko w jeden sposób. Jest zwolennikiem podejścia, że
dokumentacja musi być maksymalnie prosta i zrozumiała. Jest bowiem czytana nie tylko przez
autora, ale później także przez developerów, testerów oraz klienta. Każdy musi tak samo
zrozumieć zapisany tekst.

3. Projektant systemowy

Praca projektanta wiąże się z zadaniami związanymi wprost z Inżynierią Oprogramowania.
Wymienia się tu obszary, takie jak: projektowanie architektury systemów, projektowanie
interfejsów użytkownika, projektowanie modułów i procedur. Natomiast na efektywność tej
pracy, mogą mieć wpływ różne zjawiska występujące w pracy zespołowej. Dlatego też,
projektant systemów informatycznych, ze względu na pełnioną rolę i obowiązki powinien być
świadomy takich zagrożeń, jak: syndrom grupowego myślenia, ogłupienie grupowe,
polaryzacja grupowa, próżniactwo społeczne, konformizm grupowy.

Przegląd podstawowych pojęć Inżynierii Oprogramowania stosowanych przez
projektanta.

Abstrakcja

Abstrakcja jest metodą, której zastosowanie pozwala rozważać problemy na wybranym poziomie
szczegółowości, bez wnikania w nieistotne szczegóły. Wyróżnia się następujące kategorie abstrakcji:
proceduralne, danych, przepływu sterowania.

Uściślanie

Uściślanie jest metodą polegającą na stopniowym zmniejszaniu poziomu abstrakcji opisu
projektowanego rozwiązania.

background image

Kierunek: Informatyka
Przedmiot: Inżynieria Oprogramowania II

Opole 2013

A więc, metoda ta pozwala na praktyczne wykorzystanie metody abstrakcji. Kolejne kroki uściślania,
pozwalają projektantowi rozbudowywać wcześniejszy opis o coraz więcej szczegółów.

Modularność

Modularność zapewnia możliwość wyodrębniane składników systemu. Takie podejście do
projektowania, pozwala na niezależne zarządzanie modułami systemu. Co też ułatwia opanowanie
zwykle dużej złożoności projektowanego rozwiązania. Wyróżnia się kryteria oceny, które umożliwiają
na zastosowanie poprawnej metody modularności: dekompozycję modularną, kompozycję
modularną, zrozumiałość modułów, ciągłość modularną, ochronę modularną.

Architektura oprogramowania

Architektura oprogramowania stanowi strukturę oprogramowania i sposób powiązania składników w
integralny system. Wyróżnia się cechy oprogramowania, które powinny występować w projekcie
architektury: cechy strukturalne, cechy poza funkcjonalne, rodziny podobnych systemów. W
projektowaniu architektury, można stosować różne modele: strukturalne, wzorców, dynamiczne,
procesów oraz funkcji.

Hierarchia sterowania

Hierarchia sterowania stanowi taki opis zorganizowania modułów oprogramowania, z której wynika
hierarchiczna struktura przepływu sterowania. Istnieją różne metody pozwalające na zobrazowanie
takiej hierarchii, przy czym diagramy z rodziny drzewiastych przewarzają w powszechnym użyciu.

Dzielenie programów na części

Postać hierarchiczna projektowanego rozwiązania, pozwala w dalszej części na podział poziomy lub
pionowy. Uogólniając, podział poziomy pozwala na rozróżnienie fragmentów oprogramowania
odpowiedzialnych za wykonywanie róznych funkcji. Natomiast podział pionowy, polega na
oddzieleniu tych fragmentów oprogramowania, które wykonują zadania techniczne od tych które
sterują działaniem systemu.

Struktury danych

Struktura danych stanowi opis związków logicznych między pewnymi elementami danych. Taka
struktura zapewnia sposób zorganizowania, metody dostępu, powiązania oraz sposoby przetwarzania
elementów danych. Wśród różnych metod pracy, można wyróżnić kroki związane z opracowaniem
kolejno struktur: koncepcyjnych, logicznych, fizycznych.

Procedury

Projektowanie procedur skupione jest na sposobie przetworzenia informacji, tj. kolejności
wykonywania zadań, miejsca podejmowania decyzji, wielokrotnego powtarzania tych samych
czynności oraz używanych struktur danych. Struktura procedur jest ściśle związana z architekturą
programu.

Ukrywanie informacji

background image

Kierunek: Informatyka
Przedmiot: Inżynieria Oprogramowania II

Opole 2013

Dobre praktyki związane z ukrywaniem informacji, wskazują na takie projektowanie modułów, by
procedury i dane w nim zawarte były widoczne dla innych modułów tylko wtedy, kiedy jest to
naprawdę potrzebne. Zasada ta, przekłada się na łatwiejsze zarządzanie i wprowadzanie zmian w
oprogramowaniu. W praktycznym użyciu, mają zastosowanie różne mechanizmy ukrywania
informacji.

4. Analiza systemu odziedziczonego „Firma Kurierska”

Odziedziczony system posiada błędy i braki, po przeanalizowaniu systemu znaleźliśmy
następujące usterki:

Brak spisu treści – jest on potrzebny do płynnego znalezienia potrzebnych informacji

Zły diagram przypadków użycia

Bardzo ubogi diagram klas

Zły diagram sekwencji

Brak diagramu stanu


Wyszukiwarka

Podobne podstrony:
IO lab 1 id 219710 Nieznany
PO lab 5 id 364195 Nieznany
lab [5] id 258102 Nieznany
lab [1] id 258099 Nieznany
chemia fizyczna lab id 112228 Nieznany
Lab 4 id 257946 Nieznany
Lab 1 id 257555 Nieznany
fcs lab 5 id 169065 Nieznany
Bsi 08 lab id 93519 Nieznany
lab(2) id 258733 Nieznany
lab 3 2 id 259509 Nieznany
lab [3] id 258100 Nieznany
LAB 9 id 258268 Nieznany
Arduino Lab 1 id 68202 Nieznany
Pr 1st 1 1 m01 lab id 382178 Nieznany
ModSym lab id 305590 Nieznany
Lab 8 id 258226 Nieznany
Lab 3 3 id 259511 Nieznany
P 2013 lab P id 797792 Nieznany

więcej podobnych podstron