|
Microsoft Office Excel |
|
|
Greška u Excelu 2007Nivo:
25. septembra 2007, na Internetu je objavljena identifikacija ozbiljne greške koja pogađa Excel 2007. Greška je karakteristična samo za tu verziju programa, a posledica je propusta načinjenog tokom izmene kompletnog sistema za proračun koji je deo jezgra programa. Kako se greška manifestuje: ako u nekoj ćeliji postoji proračun između decimalnih brojeva koji se beleže u floating point obliku, a rezultat je u infinitezimalnoj okolini brojeva 65535 i 65536, rezultati neće biti prikazani ispravno: umesto 65535, biće ispisan broj 100000, a umesto 65536 dobićete 100001! Ako imate Excel 2007, možete i sami da pokušate: napišite formulu =850*77,1. Ako dobijete pogrešan rezultat, trk po ispravku! Ovo je prva otkrivena kombinacija: kasnije je utvrđeno da ih ima još nekoliko, poput =10,2*6425. Nisu sve kombinacije umnožaka "kvarne": recimo, račun =32767,5*2 je proizvodio valjan rezultat.
Šta se može reći o ovoj grešci? Moramo da razmislimo o toj pojavi kako u tehničkom, tako i u smislu paradigme poverenja, a nijedno od tog nije prijatno. Najpre, tehnički: kako je moguće da je prošla ovakva greška nakon izuzetno dugog perioda pripreme novog sistema za proračunavanje, a koji je napisan od nule u potrebi da se odgovori novim gabaritima radnog lista u Excelu 2007? Insajderi Microsofta su sada upozorili na činjenicu da se testiranje verovatno ne sprovodi kako bi trebalo. Recimo, postoji nezvanična tvrdnja da se testiranja u Excelu sprovode posredstvom raznih VBA makroa koji smišljeno opterećuju ceo program. Pa šta, kažete vi - zar greška nije mogla da bude nađena i tad? Tu postoji kvaka: kada proračun potiče iz VBA, greška se ne iskazuje! Drugim rečima, mogli bismo se zamisliti kako se uopšte testiraju Office programi. Učestvovao sam u zatvorenom Beta 1 programu i pamtim veoma dobru atmosferu koja je vladala u raspravama između testera i članova razvojnog tima. Bilo je otkrivenih omaški, čak i prilično ozbiljnih grešaka, a one su brižljivo rekonstruisane i blagovremeno rešene; najzad, to je i poenta beta testiranja. To što ova greška nije otkrivena u periodu ko zna koliko mliona sati testiranja ne znači mnogo kao alibi: to je samo statistika rada jedne grupe u ograničenom vremenu. Neko je negde morao da napravi najopsežniji zamislivi test najvažnijeg elementa Excela: calculation engine je i srce i mozak tog programa. Objašnjenje koje je stiglo iz Microsofta glasi da se greška iskazuje "samo" u času ispisa, dok je interno zapisani broj i dalje tačan, tako da u daljim proračunima učestvuje na valjan način. Zaista, ako biste na nezakrpljenom Excelu 2007 probali =850*77,1+1, dobili biste grešku oko broja 65536; ali, =850*77,1+2 bi ipak dao ispravan rezultat 65537. Ako biste ove rezultate koristili u grafikonu ili analizama, greška se ne bi manifestovala. Prihvatio bih objašnjenje (kad bi bilo sasvim tačno), ali ne kao izgovor iza koga bi sledilo "nema veze": ako je rezultat "samo" neispravno ispisan, pa sam ga tako pročitao sa ekrana ili papira, to je i dalje greška! Što se tiče onog "sasvim tačno" - operacija =ROUND(850*77,1) je dovodila do promovisanja "pogrešno ispisanog broja" u pogrešno izračunat, sada potpuno izložen pogrešan broj! Samo ispis? Može biti! Razumem ton kojim marketing Microsofta pokušava da umanji značaj ove pojave, ali nikako ne mogu da prihvatim to da nije usledilo makar kurtoazno izvinjenje u nekom obliku javnog saopštenja. Ne samo da izvinjenje nije usledilo uoči objavljivanja ispravke, nego ga nema do dana današnjeg. Nije bilo ni reči o grešci na matičnim stranicama za Office i Excel, a kamoli na portalu za novinare! Greška se tiče i pitanja poverenja: ako proračunavam brojeve, očekujem da ih sve vidim ispravno ispisane. Nije na Microsoftu da ocenjuje koliko je važan rezultat koji vidim i kako može da utiče na poslovnu odluku koju treba da donesem, pa zato nijedan ton saopštenja osim izvinjenja nije prihvatljiv. Na jednom nezvaničnom, a često referenciranom izvoru informacija, bilo je još gore. Jedan od bivših članova Excel tima je na svom blogu napisao ovako nešto: "ne brinite za verovatnoću da vas ova greška snađe u radu; radije se zabrinite da li će vas pogoditi meteorit". Nastavlja nekakvom statistikom kardinalnog broja skupa brojeva u pokretnom zarezu (floating point) u Excelu nasuprot "samo nekoliko" slučajeva koji dovode do greške. Ovakva neozbiljnost prevazilazi pravo na toleranciju, zato što je to demagogija, i to je ono što ne mogu da istrpim. Štaviše, upravo takav ton, koji je Microsoft očigledno tolerisao, čini ovu grešku možda najvećom u istoriji Office programa. Sasvim očekivano, Microsoft je objavio ispravku greške nakon žestoke kampanje testiranja, kako greška ne bi izazvala neki kaskadni problem; to je sasvim u redu, jer nikakva brzopleta akcija nije bila prihvatljiva. U času pisanja ovog teksta, ispravka velika 32,5 MB još nije deo korpusa za automatsko ažuriranje sistema (do časa kada ovo budete čitali, verovatno hoće i možda ste je već aplicirali), ali detaljne informacije možete pronaći u dokumentu baze znanja 943075 Takođe, ovo je i prilika da vas podsetim da povremeno overavate svoje module za ažururanje sistema Microsoft Office 2007 (Office > Excel Options > Resources > Check for Updates, tj. Office > Excel opcije > Resursi > Da li postoje ažurirane verzije?). Ako koristite ažurirani modul Microsoft Update, onda će i vaša platforma i vaš Office biti redovno podvrgavani proveri ažurnog stanja. Korisnici Windows Viste već imaju to kao podrazumevanu funkcionalnost; ako koristite Windows XP, svakako unapredite modul za ažuriranje, ako to već niste učinili.
|
|
Vrh stranice Prethodna stranica Naslovna strana Mapa sajta Pretraga |
| AFORIZAM ZA DANAS | OVIH DANA SLUŠAMO... |
| Copyright © Praktikum na Webu, 2000-2010; Valinor Design; sva prava pridržana. |