Projekty dla systemu Windows, w których nie widać jeszcze sposobu realizacji, prowadzimy od badania przez projekt do implementacji.
Złożona integracja z istniejącymi systemami, zachowania specyficzne dla systemu Windows, nietypowe warunki eksploatacji. Problemy, których nie rozwiąże samo wykonanie zgodnie ze specyfikacją, omawiamy bezpośrednio z inżynierem, a prace rozwojowe prowadzimy równolegle z weryfikacją.
Nie muszą Państwo mieć ustalonych wymagań ani wybranej technologii. Prosimy o konsultację, zaczynając od tego, co chcą Państwo osiągnąć i z czym obecnie się zmagają.
Problemy z systemem Windows, z którymi można zwrócić się do nas o konsultację
- Inna firma uznała projekt za trudny i chcą Państwo rozważyć inny sposób realizacji.
- Chcą Państwo zrealizować w systemie Windows pewną funkcję, ale nie wiedzą, jakiego mechanizmu użyć.
- Chcą Państwo zaktualizować starą aplikację dla systemu Windows, zachowując istniejącą specyfikację.
- Chcą Państwo zaimplementować wymagania dotyczące procesów, usług, sesji i uprawnień.
- Chcą Państwo zintegrować aplikację z urządzeniami zewnętrznymi, takimi jak USB / HID czy kamery przemysłowe.
- Chcą Państwo rozważyć przekazywanie danych uwierzytelniających i stanu aplikacji w granicach uzasadnionych uprawnień i warunków użytkowania produktu.
- Chcą Państwo zbadać przyczynę trudnych do odtworzenia awarii, przerw w komunikacji i wycieków zasobów.
Najpierw sprawdzamy elementy niepewne, aby określić perspektywy rozwoju
Zaawansowane tworzenie oprogramowania dla systemu Windows, którym zajmuje się KomuraSoft, to nie tylko projekty z dużą liczbą funkcji. Obejmuje także projekty, w których nie wiadomo jeszcze, „czy da się to zrealizować”, „która metoda jest właściwa” ani „dlaczego system nie działa zgodnie z oczekiwaniami”.
Najpierw wykonujemy niezbędną analizę i weryfikację, a następnie oddzielamy to, co udało się potwierdzić, od pozostałych problemów. Na tej podstawie porządkujemy informacje potrzebne do oceny sposobu realizacji, zakresu prac, kosztów i terminów.
Nie stwierdzamy wykonalności ani jej braku bez podstaw: przekazujemy także ograniczenia i rozwiązania alternatywne, które wynikły z analizy. Zależy nam na tym, aby nie przechodzić do właściwego wytworzenia oprogramowania, pozostawiając trudne elementy w niejasnym stanie.
Obszary prac programistycznych i diagnostycznych
Tworzenie nowych aplikacji dla systemu Windows
Aplikacje biznesowe i narzędzia specjalistyczne w C++, C#, .NET i innych technologiach. Projektujemy nie tylko ekrany, ale też komunikację, raporty, przetwarzanie w tle i eksploatację po wdrożeniu.
Wykorzystanie funkcji specyficznych dla Windows
Wymagania dotyczące Windows API, procesów, usług, użytkowników, uprawnień i sesji. Sprawdzamy warunki użycia i ograniczenia systemu operacyjnego oraz rozważamy odpowiedni mechanizm.
Modyfikacje i odnowienie istniejącego oprogramowania
Analiza specyfikacji starych aplikacji, dodawanie funkcji, przegląd architektury i migracja etapowa. Oddzielamy zakres, w którym zachowujemy istniejące zasoby, od zakresu, który tworzymy od nowa.
Integracja z urządzeniami i sprzętem peryferyjnym
Współpraca m.in. z USB, HID, komunikacją szeregową, kamerami przemysłowymi i specjalistycznymi urządzeniami wejściowymi. Sprawdzamy specyfikacje producentów i SDK, a następnie weryfikujemy rozwiązanie na rzeczywistych urządzeniach.
Diagnostyka błędów i problemów z wydajnością
Awarie, przerwy w komunikacji, wycieki pamięci i uchwytów, spadek wydajności. Na podstawie logów i wyników pomiarów zawężamy możliwe przyczyny i przechodzimy do modyfikacji lub dalszej diagnostyki.
Projekt dopasowany do warunków eksploatacji
Praca offline, sieci zamknięte, kontrola uprawnień, użytkowanie przez wielu użytkowników i na wielu urządzeniach itp. Zakładając ograniczenia środowiska pracy, opracowujemy dystrybucję, zarządzanie stanem i mechanizmy logowania.
Zajmujemy się także tworzeniem nowych zwykłych aplikacji biznesowych oraz modyfikacjami i utrzymaniem istniejącego oprogramowania. Nie muszą Państwo z góry oceniać trudności zadania ani wybierać technologii.
Wstępna ocena wykonalności
Wstępna analiza, która zakłada zlecenie właściwego wytworzenia oprogramowania, jest co do zasady bezpłatna.
Przy założeniu, że w razie stwierdzenia wykonalności zlecą nam Państwo właściwe wytworzenie oprogramowania, wstępną analizę w zakresie potrzebnym do przygotowania wyceny i decyzji o przyjęciu zlecenia prowadzimy co do zasady bezpłatnie.
Jeśli potrzebna jest długotrwała weryfikacja, budowa dedykowanego środowiska, opracowanie prototypu lub PoC, dostarczenie szczegółowego raportu z analizy lub inne podobne prace, może to być usługa płatna. W takim przypadku przed rozpoczęciem prac informujemy o zakresie analizy i kosztach.
Niezależnie od właściwego wytworzenia oprogramowania, zlecenie samej diagnozy, takiej jak analiza przyczyn lub weryfikacja metody, jest płatne. W zależności od celu proponujemy odpowiedni sposób postępowania.
Przykłady techniczne i studia przypadków
Diagnostyka awarii po długiej pracy na podstawie przebiegu zużycia zasobów
W przypadku usterki, której nie daje się odtworzyć w krótkim czasie, obserwowaliśmy zmiany liczby uchwytów. Zawęziliśmy diagnozę do wycieku uchwytów, wprowadziliśmy monitorowanie trendu wzrostowego oraz logi pozwalające sprawdzić granice przetwarzania.
Analiza przerw w komunikacji z kamerą przemysłową na podstawie pakietów i zachowania systemu
W sprawie sporadycznych przerw w komunikacji zestawiliśmy pakiety z zachowaniem po stronie systemu operacyjnego. Wyizolowaliśmy oczekiwanie na retransmisję TCP oraz uporządkowaliśmy dostosowanie powiązanej konfiguracji i procedurę obserwacji i weryfikacji.
Rozważenie struktury systemu zastępczego na podstawie istniejącej aplikacji bez specyfikacji
Zbadaliśmy rzeczywiste działanie i zależności, uporządkowaliśmy specyfikację i zaprojektowaliśmy rozwiązanie zastępcze, które można wdrażać etapami. Ze względu na poufność przedstawiamy wyłącznie zanonimizowane problemy techniczne.
Problemy techniczne i sposób prowadzenia analizy przedstawiamy także na stronie Studia przypadków.
Inżynier bezpośrednio wysłucha Państwa problemów
Inżynier wyspecjalizowany w systemie Windows zajmuje się całością: od potwierdzenia wymagań, przez analizę i projekt, po implementację. Problemy zgłaszane z miejsca pracy przekładamy na kwestie techniczne i na bieżąco informujemy, co udało się potwierdzić, jakie ograniczenia pozostają i co trzeba rozstrzygnąć w następnej kolejności.
Obsługujemy zlecenia nie tylko z Japonii, ale także z zagranicy. Sprawdzamy środowisko docelowe oraz potrzebne urządzenia i dokumentację, a następnie wspólnie ustalamy warunki umożliwiające weryfikację.
Od konsultacji do dostarczenia
- Potwierdzenie problemu — pytamy, co chcą Państwo osiągnąć, jaka jest sytuacja obecna i jakich warunków nie można zmienić.
- Niezbędna analiza i weryfikacja — porządkujemy elementy niepewne i ustalamy zakres analizy zgodnie z powyższymi warunkami.
- Propozycja rozwiązania, zakresu i wyceny — na podstawie wyników weryfikacji i ograniczeń proponujemy sposób prowadzenia prac.
- Formalne zamówienie i tworzenie — projektujemy i implementujemy w uzgodnionym zakresie, na bieżąco informując o postępach.
- Weryfikacja i dostarczenie — sprawdzamy działanie w uzgodnionych warunkach i porządkujemy zakres wdrożenia oraz utrzymania.
Prosimy o konsultację także wtedy, gdy nie wiadomo, „czy da się to zrealizować”
Nie są potrzebne szczegółowa specyfikacja ani terminologia techniczna. Prosimy o informację, w zakresie, w jakim jest znana: „co chcą Państwo osiągnąć”, „w którym miejscu obecnie pojawia się problem” oraz „jakich aplikacji i urządzeń używają”.
Ustalimy, od czego zacząć: od badania sposobu realizacji, nowego tworzenia oprogramowania, modyfikacji istniejącego oprogramowania czy analizy przyczyn.