A szoftver fejlesztés áttekintése
A következő vázlat arra szolgál, hogy adjon egy betekintést a szoftver mérnöki szakmába:
Szoftver fejlesztés- egy szisztematikus, fegyelmezett s felmérhető alkalmazása a szoftver fejletségére, működtetésére és fenntartására szolgáló technikáknak. Más szóval, az alkalmazása mérnöki technikáknak szoftverre.
Technológia és alkalmazások[szerkesztés]
Tapasztalt szoftver fejlesztők különféle technológiákat felhasználásával, az informatika különböző területeiről, hogy magasabb produktivitás érjenek el, és hogy tovább fejlesszék a szoftver minőségét.
Szoftver applikációk[szerkesztés]
Szoftver fejlesztők olyan szoftvereket építenek(applikációk, operációs rendszerek…) amik hasznosak az embereknek.
Applikációk befolyásolják a szoftver fejlesztést, mivel nyomást gyakorolnak fejlesztőkre, hogy problémákat új féle képen oldjanak meg. Például: fogyasztói szoftver nagyobb hangsúlyt fektet a kis árra, míg egészség ügyi szoftverek a jó minőséget helyezik előnybe, és az interneten lévő kereskedelmi szoftverek a gyors fejlesztést támogatják.
- Business software
- Analitika
- Adat bányászat (összefüggésbe van az adatbázisokkal)
- Döntést segítő rendszerek
- Repülői rendszerek
- Bankolás
- Kereskedelem
- Fordító program (Complier)
- Kommunikáció
- Komputer grafika
- Animáció
- Speciális effectek
- Szerkesztés
- Utó munkák
- Titkosítás(cryptography)
- Adatbázisok
- Beépített rendszerek: mint szoftver fejlesztők, mint tradicionális mérnökök irnak olyan rendszereket, melyek beépített termékeket működtetnek
- Mérnöki rendszerek: Az összes tradicionális ágazata a mérnök szakmának használ szoftvereket. Mérnökök többet használnak táblázatokat, mint számológépet a napi munkájuk folyamán. A mérnökök ugyan csak használtnak speciális szoftver eszközöket, hogy modellezzék, analizálják, és szimulálják projektjeiket, mint hidakat, vezetékeket. Ezek a projektek hasonlóak szoftverekhez több féle képen, mert a hozzájuk tartozó dokumentumok elektronikus formában vannak eltárólva és alapos megfigyelésen és analízisen mennek keresztül ami magába fodlalja a design-t implementációt és a testelést. Mérnököknek szánt szoftver eszközök kombinálja a komputer tudományokat kalkulussal, fizikával és kémiával.
- File
- Pénzügy
- Játékok
- Informatikai rendszerek
- Logisztika
- Gyártás
- Zene
- Hálózat menedzselés(Rendszer gazda)
- Irodai alkalmazások
- Operációs rendszerek
- Robotika
- Jel feldolgozás, kódolás és forítás
- Szimuláció
- Mérnöki: szoftver szimuláció olcsóbb és rugalmasabb mint fizikai modell.
- Tudományok
- Forgalom irányítás
- Képzés
- Gyakorlat
- Szimuláció
- Tesztelés
- Vizsualizáció
- Szavazás
- World wide web
Szoftver fejlesztő témák[szerkesztés]
Programming paradigma, programozói nyelvek alapján[szerkesztés]
- Objekt orientált programozás
- Aspektus-orientált programozás
- Funkcionális programozás
- Struktúrált programozás
- Szabályokon alapuló programozás(Rule based)
Adatbázisok[szerkesztés]
Grafikus felhasználó felületek[szerkesztés]
- GTK+ GIMP Toolkit
- wxWidgets
- Ultimate++
- Qt toolkit
- FLTK
Programozói eszközök[szerkesztés]
- Configurációs menedzsment
- CVS
- Subversion
- Git
- Mercurial
- RCS
- GNU Arch
- LibreSource Synchronizer
- Team Foundation Server
- Visual Studio Team Services
- Építő eszközök
- Make
- Rake
- Cabal
- Ant
- CADES
- Nant
- Maven
- Final Builder
- Gradle
- Team Foundation Server
- Visual Studio Team Services
- Visual Build Pro
- Szerkesztők
- Elemzők(parsers)
- Statikus kód analízis eszközök
Könyvtárak[szerkesztés]
Design nyelvek[szerkesztés]
Minták, dukomentált gyakran előforuló projekt menedzsment és és programozói technikák[szerkesztés]
Folyamatok és metódusok[szerkesztés]
- Agilis
- Nehézsúly
- Tisztaszoba
- ISO/IEC 12207 — software life cycle processes
- ISO 9000 and ISO 9001
- Folyamat modellek
- Meta modellek
Platformok[szerkesztés]
A platformok kombinálják a komputer hardwarejét az operációs rendszerrel. Ahogy a platformok nőnek, egyre erősebb és kevésbé drága applikációk és eszközök és szélesebb körben elérhetőek lesznek.
- BREW
- Cray supercomputers
- DEC minicomputers
- IBM mainframes
- Linux PCs
- Classic Mac OS and macOS PCs
- Microsoft .NET
- Palm PDAs
- Sun Microsystems Solaris
- Windows PCs (Wintel)
- Symbian OS
Egyéb felhasználások[szerkesztés]
- Kommunikáció
- Metódus fejlesztés
- Páros programozás
- Teljesítmény fejlesztés
- Programozási produktivitás
- Átdolgozás
- Szoftver megfigyelők/Kód értékelés
- Újrafelhasználás
- Rendszer integráció
- Csapatmunka
Egyéb eszközök[szerkesztés]
Computer science témák[szerkesztés]
Tapasztalt programozók több nyelvben és technológiában is jártasak egyaránt, illetve meg tudják mondani ha valami lehetséges vagy sem.
- Algoritmusok, Jól leírt metódusok specifikus problémák megoldására.
- Fordítási teória
- Adat szerkezet, Jól leírt metódusok adattárolásra.
- Számítás
- Komplexitás
- Formális metódusok
- Adaptív rendszer
Matematikai témák[szerkesztés]
Diszkrét matematika (Kulcsfontosságú ismeret a szoftver fejlesztésben)
- Szám reprezentáció
- Halmaz
- Multi halmaz
- Gráfok
- Logika
- Indukció
- Kombinatorika
Egyéb
- Domain tudomány
- Statisztika
- Döntés teória
- Típus teória
Élet ciklus[szerkesztés]
- Fejlesztése az életciklusoknak
- Termék élet ciklus
- Megjelenés előtti fejlesztési szakasz
- Szoftver fejlesztés életciklusa
Átadás[szerkesztés]
A fejlesztők ritkán dolgoznak ezen egyedül, általában közreműködnek írókkal, trainerekkel, technikai supportal.
- Applikáció — Maga a szoftver
- Adatbázis — Adattárolás
- Dokumentáció
- Adminisztráció és karbantartási előírás
- Installáció
- Migráció
- Frissíteni előző verziórol
- Frissíteni versenytársak verziójáról
- Képzési anyagok
- Felhasználó
- Adminisztrátor
- Manager
- Vevő
- Support
- Marketing anyagok
- Fehér lapok, megmagyarázzák a projectben jelenlévő technológiákat.
Business szerepkörök[szerkesztés]
- Operáció
- Felhasználó
- Adminisztrátor
- Managers
- Vevő
- Fejlesztés
- Business
- Konzultáció
- Eladás
- Marketing
- Legális eljárás
- Privát eljárás
- Support — Felhasználók segítése
- HR
- Finanszírozás
- Akadémia
Management témák[szerkesztés]
Business témák[szerkesztés]
- Minőségi programozás
Szoftver fejlesztői végzettség[szerkesztés]
- Szoftver fejlesztői demográfia
- Szoftver fejlesztői ekonómia
- CCSE
- Történelme
- Professzionalizmus a szoftver fejlesztésben
- Legális eljárás
A szoftver fejlesztés történelme[szerkesztés]
Úttörők[szerkesztés]
Rengeteg nagy elme járult hozzá a mai SE technológiák kialakulásához.
- John Backus: Fortran, first optimizing compiler, BNF
- Victor Basili: Experience factory.
- F.L. Bauer: Stack principle, popularized the term Software Engineering
- Kent Beck: Refactoring, Extrém programozás, pair programming, test-driven development.
- Tim Berners-Lee: World wide web
- Barry Boehm: SE economics, COCOMO, Spiral model.
- Grady Booch: Object-oriented design, UML.
- Fred Brooks: Managed System 360 and OS 360. Wrote The Mythical Man-Month and No Silver Bullet.
- Larry Constantine: Structured design, coupling, cohesion
- Edsger Dijkstra: Wrote Notes on Structured Programming, A Discipline of Programming and Go To Statement Considered Harmful, algorithms, formal methods, pedagogy.
- Michael Fagan: Software inspection.
- Tom Gilb: Software metrics, Software inspection, Evolutionary Delivery ("Evo").
- Adele Goldstine: Wrote the Operators Manual for the ENIAC, the first electronic digital computer, and trained some of the first human computers
- Lois Haibt: FORTRAN, wrote the first parser
- Margaret Hamilton: Coined the term "software engineering", developed Universal Systems Language
- Mary Jean Harrold: Regression testing, fault localization
- Grace Hopper: The first compiler (Mark 1), COBOL, Nanoseconds.
- Watts Humphrey: Capability Maturity Model, Personal Software Process, fellow of the Software Engineering Institute.
- Jean Ichbiah: Ada
- Michael A. Jackson: Jackson Structured Programming, Jackson System Development
- Bill Joy: Berkeley Unix, vi, Java.
- Alan Kay: Smalltalk
- Brian Kernighan: C and Unix.
- Donald Knuth: Wrote The Art of Computer Programming, TeX, algorithms, literate programming
- Nancy Leveson: System safety
- Bertrand Meyer: Design by Contract, Eiffel programming language.
- Peter G. Neumann: RISKS Digest, ACM Sigsoft.
- David Parnas: Module design, social responsibility, professionalism.
- David Pearson, Computer Scientist: Developed the ICL CADES software engineering system.
- Jef Raskin: Developed the original Macintosh GUI, authored The Humane Interface
- Dennis Ritchie: C and Unix.
- Winston W. Royce: Waterfall model.
- Mary Shaw: Software architecture.
- Richard Stallman: Founder of the Free Software Foundation
- Linus Torvalds: Linux kernel, free software / open source development.
- Will Tracz: Reuse, ACM Software Engineering Notes.
- Gerald Weinberg: Wrote The Psychology of Computer Programming.
- Elaine Weyuker: Software testing
- Jeannette Wing: Formal specifications.
- Ed Yourdon: Structured programming, wrote The Decline and Fall of the American Programmer.
Lásd szintén:
Figyelemre méltó publikációk[szerkesztés]
- About Face: The Essentials of User Interface Design by Alan Cooper, about user interface design. Parancsfájl-hiba: nincs „CheckISBN” modul.
- The Capability Maturity Model by Watts Humphrey. Written for the Software Engineering Institute, emphasizing management and process. (See Managing the Software Process Parancsfájl-hiba: nincs „CheckISBN” modul.)
- The Cathedral and the Bazaar by Eric Raymond about open source development.
- The Decline and Fall of the American Programmer by Ed Yourdon predicts the end of software development in the U.S. Parancsfájl-hiba: nincs „CheckISBN” modul.
- Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Parancsfájl-hiba: nincs „CheckISBN” modul.
- Extreme Programming Explained by Kent Beck Parancsfájl-hiba: nincs „CheckISBN” modul.
- "Go To Statement Considered Harmful" by Edsger Dijkstra.
- Internet, Innovation and Open Source:Actors in the Network — First Monday article by Ilkka Tuomi (2000) source
- The Mythical Man-Month by Fred Brooks, about project management. Parancsfájl-hiba: nincs „CheckISBN” modul.
- Object-oriented Analysis and Design by Grady Booch. Parancsfájl-hiba: nincs „CheckISBN” modul.
- Peopleware by Tom DeMarco and Tim Lister. Parancsfájl-hiba: nincs „CheckISBN” modul.
- The pragmatic engineer versus the scientific designer by E. W. Dijkstra [1]
- Principles of Software Engineering Management by Tom Gilb about evolutionary processes. Parancsfájl-hiba: nincs „CheckISBN” modul.
- The Psychology of Computer Programming by Gerald Weinberg. Written as an independent consultant, partly about his years at IBM. Parancsfájl-hiba: nincs „CheckISBN” modul.
- Refactoring: Improving the Design of Existing Code by Martin Fowler, Kent Beck, John Brant, William Opdyke, and Don Roberts. Parancsfájl-hiba: nincs „CheckISBN” modul.
- The Pragmatic Programmer: from journeyman to master by Andrew Hunt, and David Thomas. Parancsfájl-hiba: nincs „CheckISBN” modul.
Lásd szintén:
Releváns területek[szerkesztés]
- Computer Science
- Információs mérnök
- Információs technológia
- Tradicionális fejelsztés
- Szoftver fejlesztés
- Művészet és Tudomány
- Applikáció
- Programozás
- Rendszer fejlesztés
Lásd szintén[szerkesztés]
- Kereső alapú technológia
- SWEBOK
- CCSE
- Számítógépes fogalmak, Számítógépes fogalmak eredete
- Komplexitás
- másodlagos redszer szindróma
- optimalizálás
- Forrás kód
- Feature interakció probléma
- Tanúsítvány
- Engineering_disasters#Failure_due_to_software
- A szoftver fejlesztés
Referenciák[szerkesztés]
külsős linkek[szerkesztés]
Szótári meghatározások a Wikiszótárban
Kézikönyvek a Wikikönyvekben
Idézetek a Wikidézetben
Forrásmunkák a Wikiforrásban
Képek a Commonsban
Hírek a Wikihírekben
- Organizációk
- Professzionalizmus
- Oktatás
- Alapok
- Kormány szervek
- Agile
- Egyéb organizációk
- Demográfia
- Felmérések
- Egyéb
- Full text in PDF from the NATO conference in Garmisch
- Computer Risks Peter G. Neumann's risks column.
This article "A szoftver fejlesztés áttekintése" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:A szoftver fejlesztés áttekintése. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.