| www.solidedgeblog.pl www.cadblog.pl | Strona korzysta z plików cookies m.in. na potrzeby statystyk. Więcej >>>
stronę najlepiej oglądać z wykorzystaniem przeglądarki Chrome w rozdzielczości min. 1024 x 768 (zalecane 1280 x 1024)
|
ostatnie e-wydanie CADblog.pl | w numerze | archiwum |

Blog o systemach CAD 2D i 3D Siemens PLM Software    
związany z czasopismem CADblog.pl
    
 
   
    
 
  © Maciej Stanisławski 2010      
          ul. Pilicka 22, 02-613 Warszawa, tel.: 0602 336 579      
maciej@cadblog.pl      
2017 rok VII
     

  


>> Strona główna | Aktualności | Solid Edge blog | Linkownia | Przegląd prasy, publikacje etc. | CADblog | Archiwum CADblog.pl | CAx Raport |


    


Wydanie aktualne

nr 1-2(19-20) 2015
dostępny w pdf
, wydanie flash tutaj


Podręczniki, publikacje tematyczne, wydawnictwa...

• e-Book


Bezpłatny podręcznik do Solid Edge & ST


• e-Book


Bezpłatny podręcznik do NX & ST


Wydania archiwalne

numer 1(18) 2014
dostępny w pdf
, wydanie flash tutaj


numer 1(17) 2013
w pdf już dostępny
, wydanie flash tutaj


numer 1(16) 2012
dostępny
w archiwum

numer 1(15) 2011
dostępny
w archiwum


numer 4(14) 2010
HD dostępny
w archiwum


numer 3(13) 2010
HD dostępny
w archiwum


numer 2(12) 2010
dostępny
w archiwum


numer 1(11) 2010 nareszcie dostępny
w archiwum


numer 9(10) 2009
już dostępny
w archiwum


numer 8(9) 2009
już dostępny
w archiwum


Wydanie specjalne
numer 7(8) 2009
już dostępny
w archiwum


Numer 6(7) 2009
już dostępny
w archiwum


 

„(...) Nie istnieje jeden, idealny system CAD, zaspokajający potrzeby wszystkich inżynierów.
Ale idealnym systemem jest ten, który usprawnia projektowanie i pozwala nam nie tylko doskonalić się, ale także... zaspokajać nasze potrzeby i realizować marzenia.”

zasłyszane...

Piątek 21.10.2016 r.

Oprogramowanie dyscypliną inżynierii

Niezależnie od tego, czy mamy do czynienia z mitem „programisty-bohatera”, działającego na własną rękę i próbującego przez całą noc opanować problem, czy nagłym sukcesem przypadkowej aplikacji na smartfony samotnego developera dążącego do sławy i fortuny, opracowywanie oprogramowania jest powszechnie postrzegane jako indywidualne działanie metodą prób i błędów. Jest to jednak dalekie od prawdy w przypadku znaczących projektów programistycznych, podczas których duży zespół programistów pracuje na złożonych, często kluczowych dla bezpieczeństwa systemach

Mirko Baecker, red. (ms)

Branża inżynierii oprogramowania jest nauką, a nie sztuką. Zasady powtarzalnego, sterowanego procesami rozwoju technologicznego dla stworzenia solidnego oprogramowania wysokiej jakości zostały ustalone w takich organizacjach, jak np. NASA, gdzie niezawodność miała kluczowe znaczenie. Jest ona również istotnym elementem w branżach takich jak obronność, lotnictwo, wbudowane i przemysłowe systemy sterowania, medycyna, wytwarzanie energii i motoryzacja; wymienione branże muszą równoważyć złożoność procesów, koszty oraz ryzyko.

We wszystkich tych sektorach ryzyko pozostaje nadal wysokie, występuje presja na redukcję kosztów, a złożoność stale wzrasta. Przemysł samochodowy jest jednym z obszarów, gdzie wiele różnych części inżynierii oprogramowania musi współpracować i łączyć się z inżynierią systemów oraz inżynierią mechaniczną, ponieważ mnogość systemów mechanicznych ulepszonych przez wbudowane oprogramowanie sprawiła, że w dzisiejszych czasach samochody nie są już produkowane „tylko do jazdy”. Przedsiębiorstwa samochodowe przeobrażają się w firmy „mobilnej elektroniki użytkowej”, opierające się na nowych i przełomowych technologiach w celu tworzenia nowych produktów – bez rezygnacji z obowiązków w zakresie bezpieczeństwa i wydajności.

Oznacza to, że narzędzia wspierające zarządzanie cyklem rozwoju produktu muszą być zintegrowanymi systemami, które przekraczają wiele domen i branż, aby umożliwić płynny przepływ informacji oraz zapewnienie wydajności i odpowiedzialności na wszystkich etapach tego procesu rozwojowego.

Samochód – środek transportu, czy złożony, połączony system?
Autonomiczne samochody to najbardziej skrajne przypadki; ale już pojazdy elektryczne i hybrydowe prezentują całkowicie nową odsłonę problemów projektowych. Dla przykładu, w pojeździe zasilanym tylko energią elektryczną, precyzja działania systemów kontroli w czasie rzeczywistym ma kluczowe znaczenie; nie można przegapić sygnału lub niepoprawnie odpowiedzieć na dane wejściowe. Jeśli pobieramy energię z hamowania do ładowania baterii w hybrydowym układzie napędowym, wymaga to większej liczby czujników, optymalizacji zużycia energii oraz drenażu baterii w całym pojeździe, ponieważ wpływa to na całkowity zasięg pojazdu. Wymaga to również zintegrowania z pokładowymi systemami informacyjno-rozrywkowymi, które łączą w sobie informacje, sterowanie oraz nawigację dla kierowcy. Jest to punkt, w którym nowe połączone cechy samochodów łączą się z tradycyjnymi opcjami osobistej rozrywki i interakcji człowieka z samochodem; niezwykle ważne jest zaprojektowanie całości układu, interfejsu etc. w taki sposób, aby nie przytłoczyć kierowcy nadmierną złożonością aplikacji, która może powodować wypadki.

Integracja tych wszystkich wymiarów bez narażania kluczowych funkcji każdego systemu lub kwestii związanych z bezpieczeństwem, jest poważnym wyzwaniem dla inżynierii oprogramowania.

Samochody istotnie kiedyś zaczynały jako urządzenia mechaniczne, ale teraz stały się... bardzo złożonymi kompilacjami oprogramowania z milionami linii kodu, które niejako „dodatkowo” wyposażono w koła. Niewiele innych systemów wymaga tyle samo oprogramowania, co samochód osobowy lub współczesna ciężarówka; w samochodzie znajdziemy więcej kodów, niż w myśliwcu odrzutowym. Obecnie, do 90% z 500 000 różnych wymogów dla nowych samochodów nie dotyczy w ogóle mechaniki, tylko kwestii związanych z elektroniką i oprogramowaniem. Kody nie są pisane w celu zbudowania pojedynczego pojazdu; pomimo, że przemysł samochodowy przełączył się do wspólnych platform współdzielonych pomiędzy różnymi modelami, to nadal istnieją dziesiątki lub nawet setki wariantów dla poszczególnych platform samochodowych. Oznacza to, że nie można ich już traktować jako zbiór systemów mechanicznych, dla których wykonuje się oddzielnie prototyp i projekt, a następnie łączy ze sobą w ostatnim etapie integracji; należy wymodelować, stworzyć, przetestować i zatwierdzić systemy fizyczne w programie za pomocą symulacji, w tandemie z oprogramowaniem, które łączy je ze sobą i kontroluje.

Rozwój oprogramowania to tylko jeden etap w procesie, który zaczyna się od planowania ogólnej architektury, projektowania systemu i definiowania elementów w tym systemie. Oprogramowanie i sprzęt nie mogą być zróżnicowane i fragmentaryczne; muszą być rozwijane równolegle, w silnej integracji pomiędzy komponentami mechanicznymi i elektrycznymi oraz modelami oprogramowania, które składają się na ogólny system w całym procesie rozwoju w taki sposób, aby umożliwić zatwierdzenie ich razem. Rozwój na bazie modelu oznacza, że systemy inżynieryjne oraz to, co dzieje się w oddzielnych domenach (takich jak układ napędowy, systemy bezpieczeństwa i wspominane już systemy informacyjno-rozrywkowe) musi być teraz zastosowane we wszystkich tych dziedzinach. Równolegle.

Nowe pojazdy łączą w sobie systemy mechaniczne i elektryczne, do których już przywykliśmy, z narzędziami Zarządzania Cyklem Życia Produktu oraz oprogramowaniem i systemami elektrycznymi wspieranymi przez narzędzia Aplikacji Zarządzania Cyklem Życia Produktu. Skuteczna realizacja nowych pojazdów według harmonogramów wymaganych przez klienta, bez kompromisów w zakresie bezpieczeństwa i innowacji, wymaga narzędzi, które integrują i łączą te światy ze sobą oraz wspierają najlepsze praktyki.

Posiadając liczne zespoły programistów pracujących nad logiką i kodowaniem wielu systemów, konieczny jest jasny podział odpowiedzialności za te wszystkie systemy (np. rozwój skali i testów regresyjnych, które są wymagane, aby upewnić się, że żadna z wprowadzonych zmian nie niesie za sobą niebezpiecznych skutków ubocznych). Jeśli chodzi o wydajność, wymagana może być automatyzacja z ciągłą integracją w celu potwierdzenia ogólnego bezpieczeństwa kodu we wszystkich wariantach budowanej platformy pojazdu. Wydajność nie uległa jednak pogorszeniu w związku ze zmianami. Musi istnieć możliwość powrotu i ustalenia w dowolnym momencie, kto zatwierdził projekt, która kombinacja składników była testowana razem lub w jaki sposób ustalono priorytety odnośnie do wszelkich wykrytych usterek, tak więc potrzebne są narzędzia, które dają pogląd we wszystkich systemach mechanicznych, elektrycznych i kontroli oprogramowania w pojeździe.

Aby nadążyć za tempem przemysłu (Industry 4.0 – przyp. redakcji), rozwój motoryzacji musi zawierać duże ilości symulacji, przechwytywania i odtwarzania danych z badań układów fizycznych, aby zatwierdzić każdą zmianę oprogramowania w sposób, który umożliwia kompatybilność i pozwala na ponowne wykorzystanie w szerszej gamie samochodów, platform pojazdów i wariantów. Dla autonomicznych pojazdów i systemów wspomagających, gromadzenie danych i badania będą musiały obejmować wszystkie obszary, w których pojazdy będą działać, co może obejmować różne kultury jazdy, a także różne przepisy ruchu drogowego i bezpieczeństwa.

Co ciekawe, większość wadliwych produktów w przemyśle samochodowym ma związek z oprogramowaniem, a nie sprzętem w samochodzie, więc zwiększenie jakości dzięki lepszej inżynierii oprogramowania jest konieczne, aby uniknąć kosztów finansowych oraz utraty reputacji przez producenta samochodów w związku z wycofaniem danego modelu z produkcji.

 

 

Testowanie, weryfikacja i zatwierdzanie tych modeli musi odbywać się w sposób zintegrowany, z pomocą narzędzi programistycznych, które integrują się z systemami PLM i same są zintegrowane w celu ułatwienia wizualizacji wymagań, specyfikacji i przepływu informacji pomiędzy różnymi modelami w ramach spójnego procesu, a nie szeregu oddzielnych etapów. Taki stan rzeczy musi mieć miejsce w całym procesie, począwszy od wykazania wykonalności koncepcji, aż po realizację i optymalizację całego systemu, a coraz częściej również aż do momentu wypuszczenia produktu na rynek.
I wszystko to trzeba wykonywać... w coraz szybszym tempie.

Prędkość i stabilność
Cykle rozwoju produktów dla przemysłu samochodowego w ostatnim czasie zanotowały spadek; firmy muszą wprowadzić nowe linie pojazdu lub, co równie ważne, nowe funkcje w jeszcze szybszym tempie, pomimo konieczności działania z ciągle to nowymi komponentami, które mogą mieć różne właściwości i zachowania. Czasami tempo rozwoju technologii jest tak szybkie, że firmy motoryzacyjne nie są w stanie za nim nadążyć, co jest nie tylko kwestią przyjęcia nowych komponentów i technologii; chodzi również o czas i koszty związane z ich integracją i zatwierdzeniem.

Kierowcy korzystają ze swoich samochodów przez długi okres, ale przywykli już do prędkości z jaką ulepszane są urządzenia konsumenckie, corocznych aktualizacji i częstych wydań nowych aplikacji. Istnieje zapotrzebowanie na takie samo tempo rozwoju ulepszeń dla samochodów, które owi kierowcy kupują – czy to w postaci nowych funkcji w pojeździe, czy wsparcia dla nowych akcesoriów. Zmiany regulacyjne mogą również oznaczać, że pojazd będzie musiał być ulepszany jeszcze na długo po wypuszczeniu na rynek. W takiej rzeczywistości, traktowanie rozwoju jako nauki i dyscypliny inżynierskiej jest jedynym sposobem na radzenie sobie z połączeniem rosnącej złożoności, zwiększonego nacisku na efektywność kosztów i stale rosnącego tempa. Wymaga to opracowania praktyk inżynierii oprogramowania, które są zgodne z rygorystycznymi procesami strukturalnymi. Jeśli można zamknąć cykl produkcji, płynnie przechodząc poprzez wymogi zbierania informacji (zadania, które powoli zaczynają zajmować większość czasu w procesie rozwoju), budowy, testowania i sprawdzania poprawności kodu pod kątem wspomnianych wymagań, możemy ogólnie poprawić powtarzalność rozwoju, zwiększyć wydajność, efektywność i odpowiedzialność.

Przemysł motoryzacyjny zmierza w kierunku normalizacji poprzez rosnącą liczbę specyfikacji ISO, które obejmują bezpieczeństwo, ergonomię, wydajność, kwestie środowiskowe i metody badań, oraz poprzez partnerstwa takie jak AUTOSAR (Motoryzacyjna Otwarta Architektura Systemowa AUTOSAR). Aby mieć pewność zgodności ze wspomnianymi standardami, należy opracować certyfikowane procesy tworzenia oprogramowania.

 

fot. Siemens

 

Odpowiednie narzędzia i techniki mogą obniżyć koszty, które w przeciwnym razie by wzrosły, ponieważ oprogramowanie staje się coraz istotniejszą częścią procesu rozwoju, poprzez zwiększenie wydajności i dokładności. Mogą one pomóc przedstawić wymagania, specyfikacje i nawet kody w taki sposób, że są one łatwiejsze do odczytania i zrozumienia dla programistów, którzy nad nimi pracują. Są także kluczem do zharmonizowania niektórych obciążeń rozwoju oprogramowania, umożliwiając ponowne wykorzystanie komponentów oprogramowania.

Teoretycznie, ponowne wykorzystanie komponentów oprogramowania między pojazdami i platformami samochodowymi (a nawet w różnych domenach konstrukcyjnych w pojeździe) powinno przyczynić się do obniżenia kosztów i czasu wdrożenia oraz wzrostu jakości. W praktyce jest to bardziej skomplikowane, ponieważ przygotowanie tych składników do ponownego wykorzystania we wszystkich możliwych scenariuszach oznacza więcej pracy, więcej wymogów do spełnienia oraz więcej badań i procesów zatwierdzających. Ale ponowne wykorzystanie oprogramowania jest kolejnym kluczowym elementem, któremu przemysł samochodowy musi sprostać.

Digitalizacja, design, delokalizacja – albo wypadnięcie z rynku
W większości dzisiejszych pojazdów na naszych drogach, świat z zewnątrz przenosi się do wnętrz pojazdów; oznacza to, że sposób projektowania pojazdu musi się zmienić, aby dopasować ten nowy świat, który staje się coraz bardziej wymagający. Nie ma tutaj miejsca na tymczasowe, jednorazowe kodowanie. Zamiast tego potrzebne jest zintegrowane podejście do projektowania systemu od punktu wyjścia do punktu docelowego, gdzie rozwój oprogramowania jest kolejną dyscypliną inżynierii, do której opanowania niezbędne są narzędzia obsługujące złożoność osadzania oprogramowania w produktach sprzętowych.

Gdy firmy motoryzacyjne postrzegają siebie jako elastyczne spółki dbające o doświadczenia konsumenta, to tak naprawdę oznacza tyle, że muszą być one również profesjonalnymi producentami oprogramowania. Wymaga to zintegrowanego projektowania produktu i rozwoju systemów, które obejmują cały cykl życia produktu, zarówno pod względem mechanicznym, jak i cyfrowym, począwszy od pomysłu i projektu, poprzez produkcję, konserwację i naprawy, aż po aktualizacje i ulepszenia oraz przepływ informacji typu forward dla efektywności i produktywności oraz backwards dla odpowiedzialności i ewidencji.

 

„...w czasach, gdy całe rynki mogą zniknąć w wyniku wprowadzenia jednej innowacji, poprawa biznesowa oraz techniczna sprawność okazują się być jedynym sposobem na przetrwanie...”

 

Rosnące tempo zmian – zarówno w technologii, jak i modelach biznesowych – wymaga narzędzi, które wspierają nowe, usprawnione metody pracy, ponieważ dostarczanie nowej wartości biznesowej staje się jedynym sposobem na utrzymanie przewagi konkurencyjnej. Rzeczywiście, w czasach, gdy całe rynki mogą zniknąć w wyniku wprowadzenia jednej innowacji, poprawa biznesowa oraz techniczna sprawność okazują się być jedynym sposobem na przetrwanie. Coraz więcej produktów nie jest tylko sprzętem lub tylko oprogramowaniem, ale ich hybrydą, a ze względu na to, że są one coraz mniejsze, inteligentniejsze oraz bardziej zależne od wbudowanego oprogramowania i mikroprocesorów, a także bardziej ze sobą powiązane, złożoność produktu wzrasta drastycznie. Jednocześnie klienci oczekują produktów spersonalizowanych, które można zamówić nie ruszając się z kanapy (przez Internet) i dostarczonych w mgnieniu oka. Jeśli więc nie jesteś w stanie spełnić wymagań klienta, zrobi to konkurencja...

mirko.baecker@siemens.com

red. Maciej Stanisławski, CADblog.pl


Firma Siemens PLM Software, jednostka organizacyjna Siemens Digital Factory Division, jest wiodącym światowym dostawcą oprogramowania, systemów i usług do zarządzania cyklem życia produktów (PLM) oraz działalnością produkcyjną (MOM), szczycącym się ponad 15 milionami licencji stanowiskowych oraz ponad 140 000 klientów na całym świecie. Posiadający swoją siedzibę w Plano w Teksasie, dział Siemens PLM Software aktywnie współpracuje ze swoimi klientami oferując im rozwiązania zapewniające firmom z całego świata przewagę konkurencyjną wynikającą z zastosowania pionierskich, prawdziwie innowacyjnych rozwiązań. Więcej informacji na temat produktów i usług Siemens PLM Software można znaleźć pod adresem www.siemens.com/plm.

Share


Blog monitorowany przez:

 
 

 

 


© Copyright by Maciej Stanisławski. Publikowane materiały są objęte prawem autorskim.
Przedruk materiałów w jakiejkolwiek formie tylko za wcześniejszą zgodą autora.  
webmaster@skladczasopism.home.pl. Opracowanie graficzne: skladczasopism@home.pl
SWblog.pl jest częścią serwisu CADblog.pl – tytułu prasowego  zarejestrowanego  w krajowym rejestrze dzienników i czasopism
na podstawie postanowienia Sądu Okręgowego Warszawa VII Wydział Cywilny rejestrowy Ns Rej. Pr. 244/09
z dnia 31.03.2009 poz. Pr 15934