Oszacowanie rozmiaru oprogramowania poprzez pomiar funkcjonalności: jak to zrobić

Oszacowanie rozmiaru oprogramowania poprzez pomiar funkcjonalności: jak to zrobić

W tym artykule omówimy, w jaki sposób można oszacować wielkość projektu oprogramowania, mierząc jego funkcjonalność.

Oszacowanie rozmiaru oprogramowania jest koniecznym i ważnym zadaniem w procesie tworzenia oprogramowania. Można go wykorzystać do określenia zasobów potrzebnych do opracowania produktu i prognozy jego ostatecznego kosztu.

Czy można oszacować rozmiar oprogramowania przed kodowaniem?

Tak, ale należy pamiętać, że rozmiar oprogramowania zależy od kilku czynników. Dobrym punktem wyjścia jest liczba linii kodu (LOC) w oprogramowaniu. Inne czynniki pomagające w oszacowaniu to liczba funkcji, błędów, a nawet liczba użytkowników.

Chociaż LOC jest powszechnie używany, nie uwzględnia elementów niefunkcjonalnych, zduplikowanych linii i niektórych nieużywanych funkcji. Co więcej, różne języki programowania mają różną liczbę wierszy na jednostkę kodu. Dlatego jest to niedokładna technika szacowania.

Jak zmierzyć rozmiar oprogramowania według funkcjonalności?

Przegląd

Jest to najpopularniejsza metoda pomiaru rozmiaru oprogramowania. Korzystając z tej techniki, mierzysz funkcjonalność, którą musisz dostarczyć swoim użytkownikom. Innymi słowy, policzysz liczbę zaimplementowanych funkcji.

Funkcjonalność jest dobrą miarą rozmiaru, ponieważ mierzy złożoność oprogramowania.

1. Zidentyfikuj wszystkie funkcje i cechy

  1. Utwórz listę wszystkich funkcji i cech oprogramowania. Możesz użyć narzędzia takiego jak Microsoft Excel.
  2. Następnie dołącz opis jego działania i inne atrybuty, które uważasz za ważne, ponieważ informacje te będą przydatne przy grupowaniu ich w logiczne komponenty.
  3. Określ, które funkcje/cechy zależą od innych. Komponent bez zależności można uznać za samodzielny, a jego rozmiar będzie równy liczbie LOC. Możesz policzyć LOC ręcznie lub użyć narzędzia licznika LOC.
  4. Jeśli funkcja/cecha ma zależności, zwiększ jej rozmiar, dodając wszystkie zależne od niej LOC.

2. Przypisz każdą funkcję do grupy

  1. Grupuj podobne funkcje i przypisz je do jednej lub więcej kategorii.
  2. Przydzielaj punkty poszczególnym funkcjom w ramach tych grup w oparciu o ich złożoność i trudność.

Rozmiar komponentu powinien być proporcjonalny do jego złożoności. Komponent o bardziej złożonej logice będzie miał więcej funkcji niż komponent o prostej logice. Na przykład podczas grupowania funkcji można rozróżnić funkcje podstawowe i podstawowe.

Każde oprogramowanie ma podstawowe i podstawowe funkcje i cechy. Są to kluczowe składniki, które sprawiają, że Twój produkt działa prawidłowo i są koniecznością. Pomoże Ci to stworzyć bardziej znaczące metryki podczas porównywania rozmiaru aplikacji w czasie.

3. Oblicz rozmiar każdego elementu

Po pogrupowaniu komponentów i podjęciu decyzji, które z nich należy uwzględnić w obliczeniach, musisz określić, ile linii kodu (LOC) ma każdy komponent.

Alternatywnie można to zrobić za pomocą narzędzia, które automatycznie zlicza LOC dla każdego komponentu.

Plusy i minusy stosowania metryki funkcjonalności w szacowaniu rozmiaru oprogramowania?

Tradycyjne metody pomiaru rozmiaru oprogramowania liczą jedynie liczbę linii kodu, co nie pokazuje, ile tak naprawdę funkcji zawiera oprogramowanie. Mierzenie rozmiaru oprogramowania według funkcjonalności ma większy sens, zwłaszcza gdy mówimy o oprogramowaniu na dużą skalę na poziomie przedsiębiorstwa.

Daje dokładniejszy obraz tego, co jest dostępne dla użytkownika i pozwala właścicielowi produktu na łatwą ocenę otoczenia konkurencyjnego.

I choć metoda ta ma swoje wady, jest znacznie lepsza w porównaniu z innymi technikami pomiaru wielkości. Przecież użytkownik końcowy zawsze może zmniejszyć rozmiar oprogramowania, jeśli uzna to za stosowne i pozwala na to Twój kod.

Jak zapewne zauważyłeś, nasze myśli wspierają metodę funkcjonalną. Musimy jednak przyznać, że nie jest to rozwiązanie dla każdego, dlatego jesteśmy otwarci na Twoje sugestie. Czy istnieje jakieś oszacowanie wskaźników oprogramowania, które Twoim zdaniem sprawdziłoby się lepiej? Daj nam znać poniżej.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *