Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#26  2015-11-14 16:01:22

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Stanowisko administrator...

Weźmy na przykład kernela i Torvaldsa. Chyba każdy powie, że on się zna na tym co robi, prawda? xD A mimo to kiedyś na jakimś *confie gadał o błędzie, który był w kernelu i powodował zwięchę czy coś. Debugowali to kilka tygodni i w końcu ustalili, że jakiś pojedynczy bit był za te dziwne problemy odpowiedzialny. Może to trochę przypomina House M.D., ale jeśli by ci się pacjent "powiesił", to raczej nic byś już nie mógł zrobić, a tym bardziej testować na nim różnych rozwiązań, czy przeglądać wszystkie jego organy w poszukiwaniu błędu. xD To jest właśnie różnica między IT i wszystkim innym — my tutaj możemy sobie na to pozwolić i nie musimy wszystkiego znać na pamięć, bo IT, to nie technologia informacji ale umiejętność zarządzani nią. Jeśli to potrafisz, to bez problemu sobie w IT poradzisz, jak nie, to i do chirurgii się nie pchaj, no może najwyżej jako pacjent. xD

A w chirurgii też trochę można uczyć się doświadczalnie.[/quote]
Człowiek uczy się tylko przez doświadczenie. I w IT i w medycynie wszyscy się uczą przez doświadczenie ale to, że te wszystkie papierki, które od nas wymagają w medycynie by móc ludzi leczyć, to jest właśnie za sprawą taką, że człowiek ma jedno życie i nie możesz sobie przed operacją wcisnąć ESC -> save game, a w przypadku gdy wyciąłeś nie ten płat czołowy co trzeba, to ESC -> load game i jedziesz jeszcze raz (ewentualnie F5 i F6 xD). To dalatego się wszyscy pchają do IT, bo po pierwsze jest to nowa gałąź, a po drugie o wiele lżej ta branża znosi problemy. Krótko mówiąc, możesz się pomylić i nikt z tego powodu nie wyciągnie wobec ciebie większych konsekwencji.

Zdaję sobie sprawę, że tak skomplikowane rzeczy jak przeglądarki czy popularne systemy operacyjne nie mogą być wolne od błędów, bo są zbyt skomplikowane, ale już jakieś stosunkowo małe oprogramowanie w urządzeniach medycznych jednak powinno być wolne od błędów. Może się to zmieni w przyszłości...[/quote]
Nie zmieni się. Człowiek nie jest w stanie przewidzieć wszystkich okoliczności, które będą wpływać na pracę programu. Możesz sobie dać pełno warunków ale to tak jak gra w szachy. Na początku ciężko jest popełnić błąd ale im grasz dłużej daną partie, tym ryzyko pomylenia się podchodzi pod 100%. Tak samo jest w programowaniu. Ktoś kiedyś napisał, że tylko "hello world" nie ma błędów, choć ja mam co do tego wątpliwości, okażę się za 100lat kto miał rację. xD Tak czy inaczej, pamiętaj, że te urządzenia medyczne muszą pracować w pewnych warunkach i bardzo rzadko są to warunki idealne, w sensie nieproblematyczne pod żadnym względem. Spróbuj uderzyć takie urządzenie, albo niech karetka wjedzie na jakiś wybój i jak się wtedy zachowa urządzenie, do którego dotrze jakaś porcja drgań? Różnie. xD A jak będziesz to skrypcił i próbował jakoś przewidzieć warunki w jakich to urządzenie może pracować, to uczynisz je bardziej skomplikowanym, a tu już bardzo łatwo o błędy. By poprawić ten stan rzeczy, trzeba człowieka wyeliminować z procesu programowania. Jest to jednostka wielce nieefektywna i cholernie zawodna. Jakoś musimy z tym żyć, póki komputery nie staną się samoświadome i nie zaczną się same uczyć. xD

Offline

 

#27  2015-11-14 16:07:18

  uzytkownikubunt - Zbanowany

uzytkownikubunt
Zbanowany
Zarejestrowany: 2012-04-25

Re: Stanowisko administrator...

2375

Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:27:16)

Offline

 

#28  2015-11-14 16:18:21

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Stanowisko administrator...

formalna zgodność z założeniami nie oznacza bezbłędności założeń.

btw. formalnie bezbłędnym systemem był o ile pamiętam venus... ktoś oprócz historyków o tym wie?


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#29  2015-11-14 16:20:36

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Stanowisko administrator...

Czy taki formalnie zweryfikowany debian nie miałby na pewno żadnych błędów?

A i jeszcze takie coś mi się przypomniało odnośnie tego co jest lepsze, teoria czy praktyka: https://www.youtube.com/watch?v=1N8MsbdMzLI&t=18m23s

Ostatnio edytowany przez morfik (2015-11-14 16:31:12)

Offline

 

#30  2015-11-14 16:55:38

  uzytkownikubunt - Zbanowany

uzytkownikubunt
Zbanowany
Zarejestrowany: 2012-04-25

Re: Stanowisko administrator...

2376

Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:27:17)

Offline

 

#31  2015-11-14 17:08:00

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Stanowisko administrator...

wracając do meritum: przeczytać wątek novi-cjusza i na tej podstawie określić co spaprał. wspaniałe ćwiczenie dla admina :):):)


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#32  2015-11-14 17:09:01

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Stanowisko administrator...

Druga sprawa, że to zależy co znaczy błąd.[/quote]
Ja rozumiem błąd jako nieprzewidziane, często niepożądane, działanie jakiejś aplikacji.

Offline

 

#33  2015-11-14 17:17:52

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Stanowisko administrator...

niekoniecznie
przykład błędu w programie:
instrukcja fortran

Kod:

 do 10 i=1,3

została zapisana jako

Kod:

do 10 i=1.3

oba zapisy są prawidłowe, tyle że wenusjański orbiter przeleciał po drugiej stronie słońca.

o najsłynniejszych błędach  w założeniach to opowiem jutro albo sobie poczytajcie (np. Apollo 11) ;)


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#34  2015-11-14 17:27:47

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Stanowisko administrator...

No skoro poleciał nie tam gdzie trza, to jest to nieprzewidziane działanie. czyli błąd. xD Niekoniecznie musi to się odnosić do faktycznego błędu w kodzie (chodzi o składnie, itp), po prostu nie działa tak jak powinien i trza to fixnąć. xD

Offline

 

#35  2015-11-14 17:35:38

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Stanowisko administrator...

to dla historyków:

uruchomienie systemu optycznego rozpoznawania przeciwrakietowego w usa skończyło się natychmiastowym alarmem - system zinterpretował księżyc jako poruszający się obiekt.
działanie zgodne z założeniami (bo amerykańcy zapomnieli o wprowadzeniu księżyca do programu).
i w sumie program zadziałał prawidłowo...


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#36  2015-11-14 19:21:15

  Huk - Smoleńsk BULWA!

Huk
Smoleńsk BULWA!
Zarejestrowany: 2006-11-08

Re: Stanowisko administrator...

@uzytkownikubunt:

Co do sytuacji, w których krytyczne oprogramowanie (np w urządzeniach medycznych wycenianych na duże kwoty) ma jakieś błędy, czasem proste i oczywiste, a nikt z programistów za to nie idzie do więzienia... cóż, nie podoba mi się to. Zdaję sobie sprawę, że tak skomplikowane rzeczy jak przeglądarki czy popularne systemy operacyjne nie mogą być wolne od błędów, bo są zbyt skomplikowane, ale już jakieś[b] stosunkowo małe oprogramowanie w urządzeniach medycznych jednak powinno być wolne od błędów[/b]. Może się to zmieni w przyszłości po takich akcjach, jak wydanie certyfikatów przez Symanteca pozwalających podszywać się pod Google'a (zdaje się wyrzucono chociaż kogoś z pracy) albo oszustwa Volkswagena.[/quote]
Zdefiniuj "stosunkowo małe oprogramowanie", takie ECU w aucie wydaje się prostym systemem, prawda? W zasadzie odczyt zawartości tlenu przed i po spalaniu mieszanki, kilka sond, kilka linii kodu implementujących sprzężenie zwrotne i tyle... tak może jest w moim Saxo, albo innym starociu, ale w nowych autach jest tak:

http://www.edn.com/design/automotive/4423428/Toyota-s-killer-firmware--Bad-design-and-its-consequences

Cytat z powyższej strony:

Embedded software used to be low-level code we'd bang together using C or assembler. These days, even a relatively straightforward, albeit critical, task like throttle control is likely to use a sophisticated RTOS and [b]tens of thousands of lines of code.[/b][/quote]
Dodajmy że w maszynach medycznych zwykle jest tego sporo więcej niż w ECU auta...

Dlatego czym jest to "małe" oprogramowanie pytam się? Czym to mierzyć? Ilością kodu? Złożonością? Ja tutaj nie widzę dobrego miernika... (czy BASIC w C64 to było małe czy duże oprogramowanie :) ? )

Faktem jest że programiści bardzo rzadko ponoszą odpowiedzialność karną ale to wynika z kilku czynników:

1. Zwykle w zespole jest wiele osób i rzadko kiedy tylko jedna z nich pracuje nad danym kodem - czy mamy zamknąć programistę, testera, project managera, a może wszystkich? Co jeśli ktoś przez moment pracował nad kodem a potem odszedł np. do innej firmy - czy powinien odpowiadać za to że jego następca nie wyłapał problemów?
2. Kod X musi zwykle polegać na kodzie Y - w takiej sytuacji nie zawsze jest łatwo określić kto dokładnie dał tyłka (czy twórca X czy Y), zwłaszcza jak dokumentacja jest "rozmyta" (standard) albo mamy subtelny błąd (np. to co przytoczył @morfik odnośnie kernela)
3. Spora ilość testów jest w ogóle porzucana ze względu na decyzje odgórne, bo "czas (nierealistyczny, który góra ustaliła) się skończył"... i kogo wtedy pociągnąć do odpowiedzialności?
4. Ciężko określić co jest a co nie jest rażącym błędem w programowaniu... czy brak średnika to rażący błąd? Czy nie zwolnienie pamięci? Czy wyjście indeksem poza zakres tablicy?
5. Jak samemu zauważyłeś - choćbyś nie wiem jak testował, babol i tak może się zdarzyć, ludzie to (niestety jeszcze) nie cyborgi

Rozmyte podejście do odpowiedzialności nie jest tylko domeną IT bo doświadczenie pokazało że najłatwiej jest zwalić wszystko na jednostkę, tylko to nie rozwiązuje problemów, dlatego - o ile nie popełniono [b]rażących błędów[/b] - zwykle ani lekarz nie odpowiada karnie za śmierć pacjenta, ani kontroler lotów za rozbity samolot, ani pilot, ani twórcy maszyny...

Żeby nie było - nie bronię tego co jest, ale szczerze - nie potrafię sobie wyobrazić jak miało by to wyglądać...

Pozdrawiam.

Ostatnio edytowany przez Huk (2015-11-14 19:22:17)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.017 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00007 SET CHARSET latin2
0.00005 SET NAMES latin2
0.00052 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.135.184.195' WHERE u.id=1
0.00123 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.135.184.195', 1732497195)
0.00024 SELECT * FROM punbb_online WHERE logged<1732496895
0.00081 SELECT topic_id FROM punbb_posts WHERE id=293040
0.00006 SELECT id FROM punbb_posts WHERE topic_id=27892 ORDER BY posted
0.00073 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=27892 AND t.moved_to IS NULL
0.00005 SELECT search_for, replace_with FROM punbb_censoring
0.00960 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=27892 ORDER BY p.id LIMIT 25,25
0.00102 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=27892
Total query time: 0.01438 s