Tworzenie oprogramowania 

 

 

Nie tylko tworzymy oprogramowanie od podstaw ale również modyfikujemy jego istniejące systemy/struktury w celu szybszego rozwiązywania konkretnych problemów.

Wdrażamy prosty, 4-stopniowy proces rozwoju:

  1. Specyfikacja oprogramowania lub inżynieria wymagań: Jest to etap, w którym definiuje się główne funkcjonalności systemu oraz związane z nimi ograniczenia. Bez tego etapu trudno byłoby znaleźć odpowiednio dobre rozwiązanie czy metodę działania.
  2. Projektowanie i wdrażanie oprogramowania: Jest to etap, na którym projektuje się i programuje algorytm oprogramowania przy użyciu odpowiednich języków programowania.
  3. Weryfikacja i walidacja: Jest to etap, w którym podejmuje się działania w celu zapewnienia, że system oprogramowania jest zgodny ze swoją specyfikacją i spełnia potrzeby klienta.
  4. Dalszy rozwój i utrzymanie oprogramowania: Jest to etap, w którym system oprogramowania podlega odpowiednim modyfikacjom i działaniom utrzymaniowym w przypadku gdy wystąpią zmiany po stronie klienta i/lub rynku.

Inżynierowie/twórcy oprogramowania w praktyce realizują również inne działania podrzędne, takie jak: walidacja wymagań, projektowanie architektury czy testy jednostkowe itp. Mogą dodatkowo wykonywać inne czynności pomocnicze np. w ramach zarządzania konfiguracją i zmianami, zapewnienia jakości, zarządzania projektami czy zapewnienia pozytywnych doświadczeń przy użytkowaniu.

Inżynierowie oprogramowania mogą zwiększyć wydajność pracy poprzez wprowadzenie nowych technik i narzędzi, zastosowanie najlepszych praktyk kodowania czy też zapewnienie standaryzacji procesów, itp.

Kroki, które podejmujemy podczas tworzenia oprogramowania:

1

 Analiza wymagań

Na tym etapie zbieramy wymagania dotyczące oprogramowania planowanego do wdrożenia. Choć klienci mogą być zdania, że w pełni wiedzą, jakie zadania ma realizować dana aplikacja, często jednak trzeba posiadać odpowiednie umiejętności i doświadczenie w zakresie inżynierii oprogramowania, aby rozpoznać wymagania niekompletne, niejednoznaczne czy też wzajemnie się wykluczające.

2

Specyfikacja

Na tym etapie przygotowuje się dokładny opis oprogramowania dokonany ściśle w oparciu o matematyczne algorytmy. W praktyce specyfikacje opracowuje się w celu zrozumienia działania już stworzonych aplikacji i dopracowania ich funkcjonalności; niemniej jednak, w przypadku krytycznych dla bezpieczeństwa systemów oprogramowania opracowuje się je dokładnie jeszcze przed utworzeniem samej aplikacji. Specyfikacje mają największe znaczenie dla interfejsów zewnętrznych w celu zachowania ich stabilności.

3

Architektura oprogramowania

Architektura systemu oprogramowania odnosi się do abstrakcyjnej wizualizacji tego systemu. Architektura ma za zadanie zapewnić, by system oprogramowania spełniał wymagania produktowe i by jego zapotrzebowania mogły być zaspokojone w przyszłości.

4

Wdrożenie

Reducing a design code may be the most visible part of the software engineering job, but it is not necessarily the most significant portion.

5

Testy

Inżynierowie oprogramowania testują różne elementy oprogramowania pod kątem błędów lub usterek, przede wszystkim tam, gdzie kody utworzone przez dwóch różnych inżynierów muszą ze sobą współdziałać.

6

Dokumentacja

Dokumentujemy wewnętrzne fragmenty kodu oprogramowania, co może być pomocne w przyszłym utrzymaniu i udoskonalaniu oprogramowania przez programistów, którzy go napisali lub innych programistów.

7

Szkolenia i wsparcie

Wiele projektów w zakresie rozwoju oprogramowania kończy się fiaskiem, ponieważ programiści nie zdają sobie sprawy, że nie ma znaczenia, ile czasu i wysiłku planistycznego zespół programistów wkłada przy tworzeniu oprogramowania, jeżeli nikt w organizacji finalnie z niego nie korzysta. Ludzie bywają niechętni wszelkim zmianom i unikają zapuszczania się w nieznane obszary, więc w ramach fazy wdrożeniowej niezbędne jest prowadzenie szkoleń dla najbardziej entuzjastycznych użytkowników oprogramowania. Użytkownicy będą mieli wiele pytań i problemów z oprogramowaniem, co prowadzi do następnej fazy oprogramowania.

8

Utrzymanie

Utrzymanie i udoskonalanie oprogramowania w celu sprostania nowo odkrytym wyzwaniom, problemom czy wymaganiom może zająć znacznie więcej czasu niż początkowe jego stworzenie. Nie tylko trzeba będzie dodać kod, który nie pasuje do pierwotnego projektu, ale już samo określenie, jak oprogramowanie będzie działać w określonym momencie po ukończeniu prac, może wymagać znacznego wysiłku po stronie inżyniera oprogramowania. Około 60% wszystkich prac związanych z inżynierią oprogramowania zajmuje jego utrzymanie, ale ta statystyka może być myląca. Tylko niewielka część to naprawa błędów. Większość prac utrzymaniowych polega na rozbudowie systemu o nowe funkcjonalności, co pod wieloma względami można uznać za nowe prace.

Zróbmy razem coś wspaniałego

Po prostu daj nam znać o swoim wyzwaniu

Your task