Zarys rozwoju oprogramowania - Outline of software development
Poniższy zarys stanowi przegląd i przewodnik po tworzeniu oprogramowania:
Rozwój oprogramowania – rozwójproduktu programowego , który obejmuje programowanie komputerowe (proces pisania i utrzymywania kodu źródłowego ), ale obejmuje również zaplanowany i ustrukturyzowany proces od koncepcji pożądanego oprogramowania do jego ostatecznej manifestacji. W związku z tym rozwój oprogramowania może obejmować badania, rozwój nowych, prototypowanie, modyfikację, ponowne wykorzystanie, przeprojektowanie, konserwację lub wszelkie inne czynności, które skutkują powstaniem oprogramowania.
Jaki rodzaj rzeczy jest rozwój oprogramowania?
Rozwój oprogramowania można opisać jako wszystkie z poniższych:
- Badania i rozwój –
-
Powołanie –
- Zawód –
Branże tworzenia oprogramowania
- Inżynieria oprogramowania
- Programowanie komputerowe
- Tworzenie gier wideo
- tworzenie stron internetowych
- Tworzenie aplikacji internetowych
- Tworzenie aplikacji mobilnych
Historia tworzenia oprogramowania
Uczestnicy rozwoju oprogramowania
- Programista
- Inżynier oprogramowania
- Inżynier oprogramowania doradczego
- Programista komputerowy
- Wydawca oprogramowania
- twórca stron internetowych
Problemy z rozwojem oprogramowania
Zarządzanie projektami oprogramowania
- Zarządzanie projektami oprogramowania – sztuka i nauka planowania i prowadzenia projektów oprogramowania. Jest to poddyscyplina zarządzania projektami, w której projekty oprogramowania są planowane, monitorowane i kontrolowane.
Strategie rozwoju oprogramowania
- Badania i rozwój oprogramowania offshore – świadczenie usług rozwoju oprogramowania przez zewnętrznego dostawcę zlokalizowanego w kraju oddalonym geograficznie od przedsiębiorstwa klienta; rodzaj outsourcingu offshore .
Proces tworzenia oprogramowania
-
Proces tworzenia oprogramowania
-
Cykl życia wersji oprogramowania
- Etapy rozwoju
- Wydanie
- Dopuszczenie do produkcji (RTM)
- Ogólna wersja dostępności (GA)
- Wersja internetowa (RTW)
-
Pomoc techniczna
- End-of-life – zakończenie wsparcia dla produktu
-
Cykl życia wersji oprogramowania
Działania i kroki
- Analiza wymagań
- Specyfikacja funkcjonalna
- Architektura oprogramowania
- Projektowanie Oprogramowania
- Programowanie komputerowe
- Testowanie oprogramowania
-
Wdrażanie oprogramowania
- Wersja oprogramowania
- Instalacja produktu
- Aktywacja produktu
- Dezaktywacja
- Dostosowanie
- Aktualizacja oprogramowania
- Deinstalacja
- Wycofanie produktu
- Konserwacja oprogramowania
Metodologie tworzenia oprogramowania
Metodologia tworzenia oprogramowania
- Tworzenie oprogramowania zorientowanego aspektowo
- Inżynieria oprogramowania do pomieszczeń czystych
- Rozwój iteracyjny i przyrostowy
- Metodologia finansowania przyrostowego
- Szybki rozwój aplikacji
- IBM Rational Unified Process
- Model spiralny
- Model wodospadu
- Ekstremalne programowanie
- Rozwój oprogramowania szczupłego
- Scrum
- Model V
- Rozwój oparty na testach (TDD)
Zwinne tworzenie oprogramowania
Zwinne tworzenie oprogramowania
- Wielofunkcyjny zespół
- Ekstremalne programowanie
- Rozwój iteracyjny i przyrostowy
- Programowanie par
- Samoorganizacja
- Timeboxing
Dyscypliny wspierające
- Programowanie komputerowe –
- Dokumentacja oprogramowania –
- Inżynieria oprogramowania –
- Zapewnienie jakości oprogramowania (SQA) –
- Projektowanie doświadczeń użytkownika –
Narzędzia do tworzenia oprogramowania
Edukacja związana z tworzeniem oprogramowania
- Bachelor's Degree in Computer Science – rodzaj tytułu licencjata przyznawany za studia z informatyki, podkreślający matematyczne i teoretyczne podstawy informatyki, a nie nauczający konkretnych technologii, które mogą szybko stać się nieaktualne. Stopień Bachelor of Computer Science jest powszechnym początkowym tytułem licencjata dla osób wchodzących w dziedzinę tworzenia oprogramowania.
Organizacje tworzące oprogramowanie
Podczas gdy branża IT zmienia się szybciej niż jakakolwiek inna dziedzina, większość ekspertów technicznych zgadza się, że potrzebna jest społeczność, z którą można się konsultować, uczyć się z niej lub dzielić się swoim doświadczeniem. Oto lista znanych organizacji tworzących oprogramowanie.
- Stowarzyszenie Inżynierów i Techników Komputerów (ACE – ACET) standardy zawodowe w branży IT.
- Association for Computing Machinery (ACM) jest jedną z najstarszych i największych społeczności naukowych zajmujących się informatyką i technologią. Obejmuje szeroki zakres tematów, w tym e-commerce, bioinformatykę i networking.
- Association of Independent Information Professionals (AIIP) to stowarzyszenie zrzeszające specjalistów ds. informacji pracujących niezależnie lub w powiązanych branżach.
- Association of Information Technology Professionals (AITP) to ogólnoświatowa społeczność skupiająca się na edukacji informatycznej. Pomaga łączyć ekspertów z różnych dziedzin IT.
- ASIS International (ASIS) to wiodąca społeczność, która łączy specjalistów ds. bezpieczeństwa z całego świata.
- Association of Shareware Professionals (ASP) łączy programistów i specjalistów ds. technologii, którzy pracują z usługami i aplikacjami na zasadzie „wypróbuj, zanim kupisz”.
- Association for Women in Computing (AWC) organizuje wydarzenia edukacyjne i networkingowe dla kobiet specjalistek ds. technologii w celu zwiększenia udziału kobiet w branży.
- Black Data Processing Associates (BDPA) skupia społeczność Afroamerykanów zajmujących się technologiami informatycznymi, zarówno dla rozwoju edukacyjnego, jak i zawodowego.
- Stowarzyszenie Przemysłu Komputerowego i Komunikacyjnego (CCIA) opowiada się za otwartymi rynkami, systemami i konkurencją.
- Computing Technology Industry Association (CompTIA) zapewnia certyfikaty dla branży IT, a także edukuje osoby i grupy na temat zmian i tendencji w branży.
- Computer Professionals for Social Responsibility (CPSR) organizacja zajmująca się wpływem technologii na społeczeństwo. Grupa dokonuje oceny rozwoju technologii i jego wpływu na różne dziedziny życia.
- Data & Analysis Center for Software (DACS) zbiera i obsługuje informacje o różnych podmiotach i wytwarzanym przez nie oprogramowaniu, a także jego wiarygodność.
- EDUCAUSE to organizacja non-profit, której misją jest „postępowanie szkolnictwa wyższego poprzez technologię informacyjną”.
- European Computer Manufacturers Association (ECMA) to europejska organizacja zajmująca się wprowadzaniem standardów oraz systemów informacyjnych i komunikacyjnych.
- International Association of Engineers (IAENG) to międzynarodowe stowarzyszenie, które kiedyś było siecią prywatną. Obecnie jest gospodarzem corocznego Światowego Kongresu Inżynierii dla R&D i inżynierów.
- Instytut Inżynierów Elektryków i Elektroników (IEEE) Computer Society świadczy usługi edukacyjne dla swoich członków na całym świecie. To społeczeństwo ma jedną z największych sieci i oferuje swoim członkom liczne korzyści.
- Information Systems Security Association (ISSA) jest organizacją non-profit, która zachęca do stosowania praktyk w celu ochrony poufności i integralności zasobów informacyjnych.
- Network Professional Association (NPA) zachęca swoich członków do przestrzegania kodeksu etycznego, stosowania najnowszych najlepszych praktyk i ciągłego samokształcenia.
- Technology Services Industry Association (TSIA) to profesjonalne stowarzyszenie oferujące usługi badawcze i doradcze.
- Towarzystwo Komunikacji Technicznej (STC) oferuje wsparcie i wymianę wiedzy specjalistom zajmującym się komunikacją techniczną i dziedzinami pokrewnymi.
- User Experience Professionals Association (UXPA) to organizacja, która dzieli się wiedzą na temat UX i pomaga swoim członkom rozwijać, rozwijać i ulepszać ich produkty.
- Women in Technology (WIT) opowiada się za edukacją przedstawicieli kobiet w branży, od szkolenia podstawowego po zaawansowane programy.
Publikacje dotyczące rozwoju oprogramowania
Osoby mające wpływ na tworzenie oprogramowania
Twórcy/projektanci języka
- Kathleen Booth ( montaż )
- Bjarne Stroustrup ( C++ )
- Brendan Eich ( JavaScript )
- James Gosling ( Java )
- Guido van Rossum ( Python )
Influencerzy projektowania oprogramowania
Zobacz też
- Aktywacja produktu
- Projekt oprogramowania
- Projektowanie Oprogramowania
- Szacowanie pracochłonności tworzenia oprogramowania
- Zarys projektowania i tworzenia stron internetowych
- Zarys inżynierii oprogramowania