W dzisiejszych czasach programy komputerowe są wdrażane wszędzie, od naszych samochodów po smartfony i niemal w każdej pracy. Ponieważ świat staje się coraz bardziej cyfrowy, zapotrzebowanie na nowe programy będzie stale rosło. Jeśli masz kolejny wielki pomysł, dlaczego nie zrobić go samemu? Zobacz krok 1 poniżej, aby dowiedzieć się, jak rozpocząć naukę języka, rozwinąć swój pomysł w testowalny produkt, a następnie iterować go, aż będzie gotowy do wydania.
Kroki
Część 1 z 6: Wymyślanie pomysłu
Krok 1. Pomysły na burzę mózgów. Dobry program wykona zadanie, które ułatwi życie użytkownikowi. Spójrz na oprogramowanie, które jest obecnie dostępne dla zadania, które chcesz wykonać, i sprawdź, czy istnieją sposoby, aby ten proces mógł być łatwiejszy lub płynniejszy. Udany program to taki, w którym użytkownicy znajdą wiele użyteczności.
- Sprawdź swoje codzienne zadania na swoim komputerze. Czy jest jakiś sposób, aby zautomatyzować część tych zadań za pomocą programu?
- Zapisz każdy pomysł. Nawet jeśli w tamtym czasie wydaje się to głupie lub dziwaczne, może zmienić się w coś pożytecznego, a nawet genialnego.
Krok 2. Sprawdź inne programy
Co oni robią? Jak mogliby zrobić to lepiej? Czego im brakuje? Odpowiadając na te pytania, możesz wymyślić własne pomysły.
Krok 3. Napisz dokument projektowy
Ten dokument nakreśli cechy i to, co zamierzasz osiągnąć dzięki projektowi. Odwoływanie się do dokumentu projektowego podczas procesu rozwoju pomoże utrzymać projekt na torze i skoncentrować się. Zobacz ten przewodnik, aby uzyskać szczegółowe informacje na temat pisania dokumentu. Napisanie dokumentu projektowego pomoże Ci również zdecydować, który język programowania będzie najlepiej pasował do Twojego projektu.
Krok 4. Zacznij prosto
Kiedy dopiero zaczynasz programować komputery, będziesz musiał zacząć od małych rzeczy i rozwijać się z czasem. Dowiesz się o wiele więcej, jeśli ustalisz namacalne cele, które możesz osiągnąć za pomocą podstawowego programu. Na przykład,
Część 2 z 6: Nauka języka
Krok 1. Pobierz dobry edytor tekstu
Prawie wszystkie programy są pisane w edytorach tekstu, a następnie kompilowane do uruchamiania na komputerach. Chociaż możesz używać programów takich jak Notatnik lub TextEdit, zdecydowanie zaleca się pobranie edytora podświetlania składni, takiego jak Notepad ++ JEdit lub Sublime Text. Dzięki temu Twój kod będzie znacznie łatwiejszy do wizualnej analizy.
Niektóre języki, takie jak Visual Basic, zawierają edytor i kompilator w jednym pakiecie
Krok 2. Naucz się języka programowania
Wszystkie programy są tworzone poprzez kodowanie. Jeśli chcesz tworzyć własne programy, musisz znać przynajmniej jeden język programowania. Języki, których będziesz musiał się nauczyć, będą się różnić w zależności od rodzaju programu, który chcesz stworzyć. Niektóre z bardziej przydatnych i ważnych to:
- C - C to język niskiego poziomu, który bardzo ściśle współpracuje ze sprzętem komputera. Jest to jeden ze starszych języków programowania, który wciąż znajduje szerokie zastosowanie.
- C++ - Największą wadą C jest to, że nie jest zorientowany obiektowo. Tutaj wkracza C++. C++ jest obecnie najpopularniejszym językiem programowania na świecie. Programy takie jak Chrome, Firefox, Photoshop i wiele innych są zbudowane w C++. Jest to również bardzo popularny język tworzenia gier wideo.
- Java - Java jest ewolucją języka C++ i jest niezwykle przenośna. Większość komputerów, niezależnie od systemu operacyjnego, może uruchomić wirtualną maszynę Java, dzięki czemu program może być używany niemal powszechnie. Jest szeroko stosowany w grach wideo i oprogramowaniu biznesowym i jest często zalecany jako podstawowy język.
- C# - C# to język oparty na systemie Windows i jest jednym z głównych języków używanych podczas tworzenia programów systemu Windows. Jest blisko spokrewniony z Javą i C++ i powinien być łatwy do nauczenia, jeśli znasz już Javę. Jeśli chcesz stworzyć program dla systemu Windows lub Windows Phone, przyjrzyj się temu językowi.
- Objective-C - to kolejny kuzyn języka C, który został zaprojektowany specjalnie dla systemów Apple. Jeśli chcesz tworzyć aplikacje na iPhone'a lub iPada, to jest język dla Ciebie.
Krok 3. Pobierz kompilator lub interpreter
W przypadku dowolnego języka wysokiego poziomu, takiego jak C++, Java i wielu innych, będziesz potrzebować kompilatora, aby przekonwertować kod na format, którego może używać komputer. Istnieje wiele kompilatorów do wyboru w zależności od używanego języka.
Niektóre języki są językami interpretowanymi, co oznacza, że nie potrzebują kompilatora. Zamiast tego potrzebują tylko tłumacza języka zainstalowanego na komputerze, a programy mogą działać natychmiast. Niektóre przykłady języków interpretowanych to Perl i Python
Krok 4. Naucz się podstawowych pojęć programowania
Bez względu na wybrany język prawdopodobnie będziesz musiał zrozumieć kilka podstawowych wspólnych pojęć. Umiejętność obsługi składni języka pozwoli Ci tworzyć znacznie potężniejsze programy. Wspólne koncepcje obejmują:
- Deklarowanie zmiennych - zmienne to sposób, w jaki dane są tymczasowo przechowywane w programie. Dane te mogą być następnie przechowywane, modyfikowane, manipulowane i przywoływane później w programie.
- Korzystanie z instrukcji warunkowych (if, else, when itp.) - Są to jedna z podstawowych funkcji programów i dyktują działanie logiki. Instrukcje warunkowe obracają się wokół instrukcji „prawdziwych” i „fałszywych”.
- Korzystanie z pętli (for, goto, do itp.) - pętle umożliwiają powtarzanie procesów w kółko, aż do wydania polecenia zatrzymania.
- Korzystanie z sekwencji ucieczki - te polecenia wykonują funkcje, takie jak tworzenie nowych wierszy, wcięć, cudzysłowów i nie tylko.
- Komentowanie kodu - komentarze są niezbędne do zapamiętywania tego, co robi Twój kod, pomagania innym programistom w jego zrozumieniu oraz do tymczasowego wyłączania części kodu.
- Zrozumienie wyrażeń regularnych.
Krok 5. Znajdź książki w wybranym przez siebie języku
Istnieją książki dla każdego języka i na każdym poziomie zaawansowania. Książki o programowaniu można znaleźć w lokalnej księgarni lub u dowolnego sprzedawcy internetowego. Książka może być nieocenionym narzędziem, ponieważ możesz mieć ją pod ręką podczas pracy.
Poza książkami Internet to niekończąca się skarbnica przewodników i samouczków. Szukaj przewodników w wybranym języku w witrynach takich jak Codecademy, Code.org, Bento, Udacity, Udemy, Khan Academy, W3Schools i wielu innych
Krok 6. Weź udział w zajęciach
Każdy może nauczyć się tworzyć program, jeśli się na to zdecyduje, ale czasami posiadanie nauczyciela i środowiska w klasie może być naprawdę korzystne. Indywidualna rozmowa z ekspertem może znacznie skrócić czas potrzebny na zrozumienie podstaw i koncepcji programowania. Zajęcia są również dobrym miejscem do nauki zaawansowanej matematyki i logiki, które będą wymagane w przypadku bardziej złożonych programów.
Zajęcia kosztują, więc upewnij się, że zapisujesz się na zajęcia, które pomogą Ci nauczyć się tego, co chcesz wiedzieć
Krok 7. Zadawaj pytania
Internet to fantastyczny sposób na kontakt z innymi programistami. Jeśli masz problemy z jednym ze swoich projektów, poproś o pomoc na stronach takich jak StackOverflow. Upewnij się, że pytasz w inteligentny sposób i możesz udowodnić, że wypróbowałeś już kilka możliwych rozwiązań.
Część 3 z 6: Budowanie swojego prototypu
Krok 1. Zacznij pisać podstawowy program z podstawową funkcjonalnością
Będzie to prototyp prezentujący funkcjonalność, do której dążysz. Prototyp to szybki program i należy go powtarzać, dopóki nie znajdziesz projektu, który działa. Na przykład, jeśli tworzysz program kalendarza, twoim prototypem będzie podstawowy kalendarz (z poprawnymi datami!) i sposób na dodawanie do niego wydarzeń.
- Podczas tworzenia prototypu stosuj podejście odgórne. Na początku pomiń jak najwięcej szczegółów. Następnie powoli dodawaj coraz drobniejsze szczegóły. Przyspieszy to proces tworzenia prototypów, a także zapobiegnie zbyt dużej złożoności i niemożliwości zarządzania kodem. Jeśli Twój kod stanie się zbyt trudny do naśladowania, możesz skończyć z koniecznością zaczynania wszystkiego od początku.
- Twój prototyp będzie się często zmieniał podczas cyklu rozwoju, gdy wymyślisz nowe sposoby rozwiązywania problemów lub wymyślisz później pomysł, który chcesz uwzględnić.
- Jeśli tworzysz grę, Twój prototyp powinien być fajny! Jeśli prototyp nie jest fajny, to jest szansa, że pełna gra też nie będzie fajna.
- Jeśli pożądana mechanika po prostu nie działa w prototypie, być może nadszedł czas, aby wrócić do deski kreślarskiej.
Krok 2. Zbierz zespół
Jeśli samodzielnie tworzysz swój program, możesz użyć prototypu, aby pomóc w budowaniu zespołu. Zespół pomoże Ci szybciej śledzić błędy, iterować funkcje i projektować wizualne aspekty programu.
- Zespół zdecydowanie nie jest potrzebny w przypadku małych projektów, ale znacznie skróci czas tworzenia.
- Prowadzenie zespołu to złożony i trudny proces, wymagający dobrych umiejętności zarządzania oraz dobrej struktury zespołu. Więcej informacji na temat kierowania grupą znajdziesz w tym przewodniku.
Krok 3. W razie potrzeby zacznij od nowa
Po zapoznaniu się ze swoim językiem możesz być w stanie przygotować i uruchomić prototypy w ciągu zaledwie kilku dni. Ze względu na ich szybki charakter, nie bój się porzucić swojego pomysłu i zacząć od nowa, jeśli nie jesteś zadowolony z tego, jak się rozwija. Na tym etapie znacznie łatwiej jest wprowadzić większe zmiany niż później, gdy funkcje zaczną działać.
Krok 4. Skomentuj wszystko
Użyj składni komentarza w swoim języku programowania, aby pozostawić notatki do wszystkich, z wyjątkiem najbardziej podstawowych wierszy kodu. Pomoże Ci to zapamiętać, co robiłeś, jeśli musisz odłożyć projekt na jakiś czas, i pomoże innym programistom zrozumieć Twój kod. Jest to szczególnie ważne, jeśli pracujesz w zespole programistycznym.
Możesz użyć komentarzy, aby tymczasowo wyłączyć części kodu podczas testowania. Po prostu umieść kod, który chcesz wyłączyć w składni komentarza, a nie zostanie on skompilowany. Następnie możesz usunąć składnię komentarza, a kod zostanie przywrócony
Część 4 z 6: Testy alfa
Krok 1. Zbierz zespół testerów
W fazie alfa zespół testujący może i powinien być mały. Mała grupa pomoże Ci uzyskać skoncentrowaną informację zwrotną i umożliwi kontakt z testerami jeden na jednego. Za każdym razem, gdy dokonujesz aktualizacji prototypu, nowe kompilacje są wysyłane do alfa testerów. Testerzy następnie wypróbowują wszystkie dołączone funkcje, a także próbują złamać program, dokumentując swoje wyniki.
- Jeśli tworzysz produkt komercyjny, upewnij się, że wszyscy testerzy podpisują umowę o zachowaniu poufności (NDA). Uniemożliwi im to poinformowanie innych o twoim programie i zapobiegnie wyciekom do prasy i innych użytkowników.
- Poświęć trochę czasu na opracowanie solidnego planu testów. Upewnij się, że Twoi testerzy mają możliwość łatwego zgłaszania błędów w programie, a także łatwego dostępu do nowych wersji alfa. GitHub i inne repozytoria kodu to świetny sposób na łatwe zarządzanie tym aspektem.
Krok 2. Przetestuj swój prototyp w kółko
Błędy to zmora każdego dewelopera. Błędy w kodzie i nieoczekiwane użycie mogą powodować różnego rodzaju problemy w gotowym produkcie. Kontynuując pracę nad prototypem, przetestuj go tak często, jak to możliwe. Zrób wszystko, co możesz, aby go złamać, a następnie spróbuj go powstrzymać w przyszłości.
- Spróbuj wprowadzić daty nieparzyste, jeśli Twój program dotyczy dat. Naprawdę stare lub odległe daty mogą powodować dziwne reakcje z programem.
- Wprowadź niewłaściwy rodzaj zmiennych. Na przykład, jeśli masz formularz, który pyta o wiek użytkownika, wpisz zamiast tego słowo i zobacz, co stanie się z programem.
- Jeśli twój program ma interfejs graficzny, kliknij wszystko. Co się stanie, gdy wrócisz do poprzedniego ekranu lub klikniesz przyciski w złej kolejności?
Krok 3. Adresuj błędy w kolejności priorytetów
Podczas poprawiania programu w wersji alfa będziesz spędzać dużo czasu na naprawie funkcji, które nie działają poprawnie. Organizując raporty o błędach od testerów alfa, należy je posortować na podstawie dwóch wskaźników: Powaga oraz Priorytet.
- Waga błędu jest miarą tego, ile szkód powoduje błąd. Błędy, które powodują awarię programu, uszkadzają dane, uniemożliwiają uruchomienie programu, nazywane są blokerami. Funkcje, które nie działają lub zwracają nieprawidłowe wyniki, są oznaczone jako krytyczne, podczas gdy funkcje trudne w użyciu lub źle wyglądające są oznaczone jako główne. Istnieją również błędy Normal, Minor i Trivial, które wpływają na mniejsze sekcje lub mniej istotne funkcje.
- Priorytet błędu określa kolejność ich rozwiązywania, gdy próbujesz naprawić błędy. Naprawianie błędów w oprogramowaniu jest procesem czasochłonnym i zabiera czas potrzebny na dodawanie funkcji i dopracowywanie. W związku z tym musisz wziąć pod uwagę priorytet błędu, aby upewnić się, że dotrzymasz terminów. Wszystkie błędy blokujące i krytyczne mają najwyższy priorytet, czasami określany jako P1. Błędy P2 są zwykle poważnymi błędami, które mają zostać naprawione, ale nie powstrzymają wysłania produktu. Błędy P3 i P4 zwykle nie są planowanymi poprawkami i należą do kategorii „miło mieć”.
Krok 4. Dodaj więcej funkcji
W fazie alfa będziesz dodawać więcej funkcji do swojego programu, aby zbliżyć go do programu opisanego w dokumencie projektowym. Etap alfa to etap, w którym prototyp ewoluuje w podstawę pełnego programu. Pod koniec etapu alfa Twój program powinien mieć zaimplementowane wszystkie jego funkcje.
Nie odchodź zbyt daleko od oryginalnego dokumentu projektowego. Częstym problemem w tworzeniu oprogramowania jest „pełzanie funkcji”, gdzie nowe pomysły są dodawane, powodując utratę pierwotnego skupienia i rozłożenie czasu opracowywania na zbyt wiele różnych funkcji. Chcesz, aby Twój program był najlepszy w tym, co robi, a nie był jednym ze wszystkich transakcji
Krok 5. Przetestuj każdą funkcję podczas jej dodawania
Gdy dodajesz funkcje do swojego programu w fazie alfa, wyślij nową kompilację do swoich testerów. Regularność nowych kompilacji będzie całkowicie zależna od wielkości twojego zespołu i postępów, jakie robisz w zakresie funkcji.
Krok 6. Zablokuj swoje funkcje po zakończeniu alfa
Po zaimplementowaniu wszystkich funkcji i funkcjonalności w programie możesz wyjść z fazy alfa. W tym momencie nie należy dodawać żadnych dalszych funkcji, a dołączone funkcje powinny zasadniczo działać. Teraz możesz przejść do szerszego testowania i dopracowywania, znanego jako faza beta.
Część 5 z 6: Testy beta
Krok 1. Zwiększ liczebność grupy testowej
W fazie beta program jest udostępniany znacznie większej grupie testerów. Niektórzy programiści upubliczniają fazę beta, która jest określana jako otwarta beta. Dzięki temu każdy może się zarejestrować i uczestniczyć w testowaniu produktu.
W zależności od potrzeb Twojego produktu możesz chcieć lub nie chcieć zrobić otwartej wersji beta
Krok 2. Przetestuj łączność
Ponieważ programy stają się coraz bardziej połączone, istnieje duża szansa, że Twój program będzie polegał na połączeniach z innymi produktami lub połączeniach z serwerami. Testy beta pozwalają upewnić się, że te połączenia działają przy większym obciążeniu, co zapewni, że Twój program będzie dostępny publicznie po wydaniu.
Krok 3. Wypoleruj swoje oprogramowanie
W fazie beta nie są dodawane żadne nowe funkcje, więc można skupić się na poprawie estetyki i użyteczności programu. W tej fazie projekt interfejsu użytkownika staje się priorytetem, zapewniając użytkownikom bezproblemowe poruszanie się po programie i korzystanie z funkcji.
- Projekt i funkcjonalność interfejsu użytkownika mogą być bardzo trudne i złożone. Ludzie robią całe kariery z projektowania interfejsów użytkownika. Tylko upewnij się, że Twój osobisty projekt jest łatwy w użyciu i przyjemny dla oka. Profesjonalny interfejs użytkownika może nie być możliwy bez budżetu i zespołu.
- Jeśli masz budżet, jest wielu niezależnych grafików, którzy mogą potencjalnie zaprojektować dla Ciebie interfejs użytkownika. Jeśli masz solidny projekt, który, jak masz nadzieję, stanie się kolejną wielką rzeczą, znajdź dobrego projektanta interfejsu użytkownika i uczyń go częścią swojego zespołu.
Krok 4. Kontynuuj polowanie na błędy
W fazie beta powinieneś nadal katalogować i ustalać priorytety raportów o błędach ze swojej bazy użytkowników. Ponieważ więcej testerów będzie miało dostęp do produktu, istnieje duże prawdopodobieństwo, że zostaną odkryte nowe błędy. Wyeliminuj błędy na podstawie ich priorytetu, pamiętając o ostatecznych terminach.
Część 6 z 6: Wydanie programu
Krok 1. Sprzedaj swój program
Jeśli chcesz pozyskać użytkowników, upewnij się, że wiedzą, że Twój program istnieje. Podobnie jak w przypadku każdego produktu, musisz zrobić trochę reklamy, aby uświadomić ludziom. Zakres i głębokość kampanii marketingowej będzie podyktowana funkcją programu, a także dostępnym budżetem. Oto kilka prostych sposobów na podniesienie świadomości swojego programu:
- Publikowanie informacji o programie na powiązanych forach dyskusyjnych. Upewnij się, że przestrzegasz zasad publikowania na dowolnym forum, aby Twoje posty nie były oznaczane jako spam.
- Wysyłaj komunikaty prasowe do witryn technicznych. Znajdź blogi i witryny techniczne, które pasują do gatunku Twojego programu. Wyślij redaktorom informację prasową opisującą Twój program i jego działanie. Dołącz kilka zrzutów ekranu.
- Zrób kilka filmów na YouTube. Jeśli Twój program jest przeznaczony do wykonania określonego zadania, zrób kilka filmów na YouTube pokazujących Twój program w akcji. Ułóż je jako filmy instruktażowe.
- Twórz strony mediów społecznościowych. Możesz tworzyć bezpłatne strony na Facebooku i Google+ dla swojego programu, a także używać Twittera do przesyłania wiadomości dotyczących firmy i programu.
Krok 2. Hostuj swój program na swojej stronie internetowej
W przypadku małych programów najprawdopodobniej możesz umieścić plik we własnej witrynie internetowej. Możesz chcieć dołączyć system płatności, jeśli zamierzasz pobierać opłaty za oprogramowanie. Jeśli twój program stanie się bardzo popularny, może być konieczne umieszczenie pliku na serwerze, który może obsłużyć więcej pobrań.
Krok 3. Skonfiguruj usługę wsparcia
Gdy Twój program zostanie wydany na wolności, niezmiennie będziesz mieć użytkowników z problemami technicznymi lub którzy nie rozumieją, jak działa program. Twoja strona internetowa powinna mieć dostępną dokładną dokumentację, a także jakąś usługę wsparcia. Może to obejmować forum pomocy technicznej, e-mail pomocy technicznej, pomoc na żywo lub dowolną ich kombinację. To, co możesz zapewnić, będzie zależeć od dostępnego budżetu.
Krok 4. Dbaj o aktualność produktu
Obecnie prawie wszystkie programy są łatane i aktualizowane długo po ich pierwszym wydaniu. Te łatki mogą naprawiać krytyczne lub niekrytyczne błędy, aktualizować protokoły bezpieczeństwa, poprawiać stabilność, a nawet dodawać funkcje lub zmieniać estetykę. Aktualizowanie programu pomoże utrzymać konkurencyjność.
Przykładowe programy
Przykładowy program C++
Wsparcie wikiHow i odblokuj wszystkie próbki.
Przykładowe programy MATLAB
Wsparcie wikiHow i odblokuj wszystkie próbki.