Wikipedia: Zabezpieczenia oprogramowania
Zabezpieczenia oprogramowania ? różne mechanizmy mające uniemożliwić używanie oprogramowania niezgodnie z zamierzonym przeznaczeniem.
Istnieją dwa typy takich zabezpieczeń - broniące instalacji programu przed różnego rodzaju włamaniami, oraz broniące instalacji przed jej administratorem w imieniu autorów oprogramowania.
Zabezpieczenia przed włamaniami polegają na ścisłym określeniu co jest dozwolone a co nie i określeniu interfejsu przez który nie można złamać tych reguł. Dziury mogą znajdować się albo w specyfikacji która nie broni tego co powinna, albo w interfejsie który z powodu błędów programistycznych daje crackerowi możliwość obejścia zabezpieczeń. Zabezpieczenia takie są relatywnie skuteczne, w przypadku prostych systemów mogą być w 100% pewne, w przypadku bardziej rozbudowanych dziury zdarzają się relatywnie rzadko, i działa tu reguła przeciwna do break once run anywhere - dziura raz znaleziona może być szybko załatana na dowolnej instalacji.
W przypadku zabezpieczeń zamkniętego oprogramowania sytuacja jest inna - administrator może próbować dostać się do programu z pominięciem oficjalnych interfejsów i mając pełny dostęp i możliwość modyfikacji binarnego kodu teoretycznie zawsze może osiągnąć to co zamierza. W praktyce może to być bardzo utrudnione, jednak reguła break once run anywhere zapewnia możliwość połączenia sił dowolnej ilości crackerów - wystarczy bowiem złamać program jeden raz.
Źródło: https://pl.wikipedia.org/wiki/Zabezpieczenia_oprogramowania
Różne możliwości przy tworzeniu programu
Współczesne technologia informatyczna pozawala na zastosowanie kilku różnych języków programowania do stworzenia danego projektu. Dla rozwiązań typowo webowych najpopularniejsze technologie wykonywania aplikacji to PHP, Java i JavaScript w połączeniu z Ajax. Dla zastosowanie desktop, czyli na komputery i laptopy, dobrym rozwiązaniem jest C++ lub również Java.
Generalni bardzo dużo zależy od zapotrzebowania i sposobu używania projektowanej aplikacji. Dalej najprostsze aplikacje i programy pisze się na komputery, bez lub z ograniczoną obsługa zadań sieciowych. Oprogramowanie dla różnych instytucji dopiero od niedawna wchodzi w erę pełnej informatyzacji i ta kwestia pewnie niebawem zacznie się rozwijać. Co oznacza duże zlecenia dla firm zajmujących się oprogramowaniem dedykowanym.
Aplikacja w Wikipedii
Oprogramowanie użytkowe lub oprogramowanie aplikacyjne ? każdy samodzielny program lub element pakietu oprogramowania, który nie jest zaliczany do oprogramowania systemowego lub programów usługowych (narzędziowych).
Inaczej, to oprogramowanie oferujące bezpośredni kontakt z człowiekiem, czyli realizujące interakcję z użytkownikiem komputera. Oprogramowanie użytkowe przeznaczone jest do wykonywania czynności oraz rozwiązywania problemów zadanych przez tego użytkownika i wymaga uprzedniego uruchomienia systemu operacyjnego, na którym to oprogramowanie zostanie uruchomione.
Określenia takie jak program użytkowy, aplikacja czy aplikacja użytkowa są określeniami bliskoznacznymi dla oprogramowania użytkowego. Bywa ono również mylone lub utożsamiane z oprogramowaniem usługowym (narzędziowym)1. W polskiej wersji systemu operacyjnego OS X zamiast terminu ?aplikacja? używany jest termin ?program?.
Źródło: https://pl.wikipedia.org/wiki/Oprogramowanie_użytkowe