Io-13-lab-wiki
From Studia Informatyczne
Spis treści[schowaj] |
Ćwiczenie 13. Ewolucja oprogramowania
Informacje wstępne
Ćwiczenie jest realizowane w języku Java w środowisku Eclipse 3.2. Celem ćwiczenia jest przeanalizowanie rozwoju niewielkiego programu i jego wpływu zmian na jego jakość.
Instalacja
Przygotowanie do ćwiczenia polega na zainstalowaniu JDK 5.0 oraz środowiska Eclipse w wersji 3.2 Po uruchomieniu środowiska i wyborze przestrzeni roboczej należy zaimportować projekt z rozwiązaniami początkowymi.
Zadanie
W kolejnych krokach będzie rozwijany program-kalkulator realizujący proste obliczenia matematyczne. Przed przeczytaniem poleceń do kolejnego kroku należy zakończyć implementację poprzedniego. Warto także zapisywać kolejne kroki w postaci osobnych projektów Eclipse, aby umożliwić późniejsze porównania jakości.
Wersja początkowa
W wersji początkowej program wykonuje 4 podstawowe dwuargumentowe operacje matematyczne: +, -, *, / na liczbach całkowitych typu int. Kalkulator wczytuje polecenia ze strumienia wejściowego, po jednym w każdej linii. Polecenie ma postać:
liczba operator liczba
przy czym między liczbami a operatorem znajduje się zawsze przynajmniej jedna spacja. Program w odpowiedzi wyświetla wyniki wykonania operacji.
Przykładowe programy, posiadające opisaną w tym punkcie funkcjonalność, znajdują się tutaj. Są to dwa niezależne rozwiązania:
- KalkulatorA, stosujące podejście strukturalne, zbudowane wewnątrz main() w jednej klasie
- KalkulatorB, wykorzystujące mechanizmy obiektowe w celu oddzielenia implementacji kalkulatora od operacji matematycznych
Zastanów się, której z wersji wolisz użyć do dalszych prac. Jakie są kryteria wyboru?
Krok 1
Treść zadania [pokaż]
Krok 2
Treść zadania [pokaż]
Krok 3
Treść zadania [pokaż]
Pytania do dyskusji
- Na podstawie rozwoju programu oceń jakość kodu na kolejnych etapach. Co - Twoim zdaniem - jest najważniejszym elementem przyczyniającym się do utrzymania lub nawet poprawy jakości kodu programu w kolejnych iteracjach?
- Czy wybór początkowego wersji początkowej programu (A lub B) miał wpływ na jakość końcowej wersji?