Nástin softwarového inženýrství - Outline of software engineering
Následující obrys je poskytován jako přehled a aktuální průvodce softwarovým inženýrstvím:
Softwarové inženýrství - uplatňování systematického, disciplinovaného a měřitelného přístupu k vývoji, provozu a údržbě software; to je aplikace inženýrství na software.[1]
Technologie a postupy
Kvalifikovaný software inženýři používají technologie a postupy z různých oborů ke zvýšení produktivity při vytváření softwaru a ke zlepšení kvality dodávaného produktu.
Softwarové aplikace
Software inženýři staví software (aplikace, operační systémy, systémový software ), které lidé používají.
Aplikace ovlivňují softwarové inženýrství tlakem na vývojáře, aby řešili problémy novými způsoby. Například spotřebitelský software klade důraz na nízké náklady, lékařský software klade důraz na vysokou kvalitu a software pro internetový obchod klade důraz na rychlý vývoj.
- Obchodní software
- Analytics
- Dolování dat úzce souvisí s databáze
- Systémy podpory rozhodování
- Letecká linka výhrady
- Bankovní
- Bankomaty
- Šek zpracovává se
- Kreditní karty
- komerce
- Obchod
- Aukce (např. eBay)
- Reverzní aukce (Pořizování)
- Snímače čárových kódů
- Překladače
- Sdělení
- E-mailem
- Okamžití poslové
- VOIP
- Kalendáře - plánování a koordinace
- Kontaktujte manažery
- Počítačová grafika
- Animace
- Zvláštní efekty pro video a film
- Úpravy
- Následné zpracování
- Kryptografie
- Databáze, podporují téměř všechna pole
- Vestavěné systémy Softwaroví inženýři i tradiční inženýři píší softwarové řídicí systémy pro vestavěné produkty.
- Automobilový software
- Software pro avioniku
- Topení ventilační a klimatizace (HVAC ) software
- Software zdravotnických prostředků
- Telefonie
- Telemetrie
- Inženýrství Všechny tradiční technické obory používají software ve velké míře. Inženýři používají tabulky, více než kdy jindy kalkulačky. Inženýři používají vlastní software nástroje navrhovat, analyzovat a simulovat své vlastní projekty, jako jsou mosty a elektrické vedení. Tyto projekty se v mnoha ohledech podobají softwaru, protože práce existuje jako elektronické dokumenty a prochází analýzou, design, implementace a fáze testování. Softwarové nástroje pro inženýry využívají principy počítačové vědy; stejně jako principy počtu, fyziky a chemie.
- Soubor
- Finance
- Hry
- Informační systémy, podporují téměř všechna pole
- Logistika
- Výrobní
- Hudba
- Správa sítě
- Sítě a Internet
- Kancelářské balíčky
- Operační systémy
- Robotika
- Zpracování signálu, kódování a interpretace signálů
- Zpracování obrazu, kódování a interpretace vizuálních informací
- Zpracování řeči
- Rozpoznávání textu
- Rozpoznávání rukopisu
- Simulace, podporuje téměř každé pole.
- Inženýrství Software simulace může být levnější stavět a flexibilnější vůči změnám než fyzické technický model.
- Vědy
- Vědy
- Kontrola dopravy
- Výcvik
- Vizualizace, podporuje téměř každé pole
- Hlasování
- Celosvětová Síť
Témata softwarového inženýrství
Mnoho technologií a postupů je (většinou) omezeno na softwarové inženýrství, i když mnoho z nich je sdíleno počítačová věda.
Programovací paradigma založené na technologii programovacího jazyka
- Objektově orientované programování
- Aspektově orientované programování
- Funkční rozklad
- Strukturované programování
- Programování na základě pravidel
Databáze
Grafická uživatelská rozhraní
- GTK + Sada nástrojů GIMP
- wxWidgets
- Ultimate ++
- Sada nástrojů Qt
- FLTK
Programovací nástroje
- Správa konfigurace a správa zdrojového kódu
- CVS
- Podvracení
- Git
- Mercurial
- RCS
- GNU Arch
- LibreSource Synchronizer
- Team Foundation Server
- Visual Studio Team Services
- Sestavte nástroje
- Redaktoři
- Analyzátor nástroje pro tvorbu
- Nástroje pro analýzu statického kódu
Knihovny
Designové jazyky
Vzory, dokumentují mnoho běžných technik programování a řízení projektů
Procesy a metodiky
- Agilní
- Těžká váha
- Čistý pokoj
- ISO / IEC 12207 - procesy životního cyklu softwaru
- ISO 9000 a ISO 9001
- Procesní modely
- Metamodely
Platformy
Platforma kombinuje počítačový hardware a operační systém. Jak platformy rostou výkonnější a méně nákladné, aplikace a nástroje se stávají stále dostupnějšími.
- VAŘIT
- Cray superpočítače
- DEC minipočítače
- IBM sálové počítače
- Linux PC
- Klasický Mac OS a Operační Systém Mac PC
- Microsoft .NET
- Dlaň PDA
- Sun Microsystems Solaris
- Okna PC (Wintel )
- Symbian OS
Další postupy
- Sdělení
- Metodické inženýrství
- Párové programování
- Výkonové inženýrství
- Programování produktivity
- Refaktorování
- Softwarové kontroly /Recenze kódu
- Opětovné použití softwaru
- Systémová integrace
- Týmová práce
Další nástroje
Témata počítačových věd
Zkušení softwaroví inženýři toho znají hodně počítačová věda včetně toho, co je možné a nemožné a co je pro software snadné a těžké.
- Algoritmy, dobře definované metody řešení konkrétních problémů.
- Teorie překladačů
- Datové struktury, dobře definované metody pro ukládání a načítání dat.
- Vyčíslitelnost, některé problémy nelze vůbec vyřešit
- Složitost, některé problémy jsou v zásadě řešitelné, přesto v praxi neřešitelné
- Formální metody
- Adaptivní systémy
Matematická témata
Diskrétní matematika je klíčovým základem software inženýrství.
jiný
Fáze životního cyklu
- Rozvoj fáze životního cyklu
- Shromažďování požadavků / analýza
- Softwarová architektura
- Programování
- Testování, detekuje hmyz
- Zajištění kvality zajišťuje soulad s procesem.
- Produkt Fáze životního cyklu a Životní cyklus projektu
- Uvolnění vývojová fáze, blízko konce cyklu uvolnění
- Životní cyklus vývoje softwaru
Výsledky
Pro mnoho projektů SE musí být vytvořeny výstupy. Softwaroví inženýři zřídka dělají všechny tyto výstupy sami. Obvykle spolupracují se spisovateli, školiteli, instalátory, obchodníky, pracovníky technické podpory a dalšími, kteří vytvářejí mnoho z těchto výstupů.
- Aplikační software - software
- Databáze - schémata a data.
- Dokumentace online a / nebo tisknout, FAQ, Soubor Readme, Poznámky k vydání, Pomoc, pro každou roli
- Správa a Údržba politika, co by mělo být zálohováno, zkontrolováno, nakonfigurováno, ...
- Instalatéři
- Migrace
- Upgrade z předchozích instalací
- Upgradujte z instalací konkurence
- Výcvik materiály pro každou roli
- Podpěra, podpora informace pro skupiny podpory počítače.
- Marketing a odbyt materiály
- bílé papíry, vysvětlete technologie používané v aplikacích
Obchodní role
- Operace
- Rozvoj
- Obchodní
- Poradenství - přizpůsobení a instalace aplikací
- Odbyt
- Marketing
- Právní - smlouvy, práva duševního vlastnictví
- Soukromí a Ochrana osobních údajů
- Podpěra, podpora - pomáhat zákazníkům používat aplikace
- Personál - najímání a školení kvalifikovaného personálu
- Finance - financování nového rozvoje
- Academe
Témata řízení
Obchodní témata
- Programy kvality
Profese softwarového inženýrství
- Demografie softwarového inženýrství
- Ekonomika softwarového inženýrství
- CCSE
- Historie softwarového inženýrství
- Profesionalita softwarového inženýrství
- Právní
Historie softwarového inženýrství
Historie softwarového inženýrství
Průkopníci
Mnoho lidí významně přispělo k technologiím, postupům nebo aplikacím SE.
- John Backus: Fortran, první optimalizace kompilátoru, BNF
- Victor Basili: Zažijte továrnu.
- F.L. Bauer: Zásobník princip, popularizoval termín Softwarové inženýrství
- Kent Beck: Refaktorování, extrémní programování, programování párů, testovaný vývoj.
- Tim Berners-Lee: Celosvětová Síť
- Barry Boehm: SE ekonomie, COCOMO, Spirálový model.
- Grady Booch: Objektově orientovaný design, UML.
- Fred Brooks: Podařilo se Systém 360 a OS 360. Napsal Mýtický muž-měsíc a Žádná stříbrná kulka.
- Larry Constantine: Strukturovaný design, spojka, soudržnost
- Edsger Dijkstra: Napsal Poznámky ke strukturovanému programování, Disciplína programování a Přejít na prohlášení považováno za škodlivé, algoritmy, formální metody, pedagogika.
- Michael Fagan: Kontrola softwaru.
- Tom Gilb: Softwarové metriky, Kontrola softwaru, Evoluční doručení („Evo“).
- Adele Goldstine: Napsal uživatelský manuál pro ENIAC, první elektronický digitální počítač, a proškolil některé z prvních lidské počítače
- Lois Haibt: FORTRAN, napsal první analyzátor
- Margaret Hamilton: Vytvořil termín „softwarové inženýrství“, vyvinutý Univerzální systémový jazyk
- Mary Jean Harrold: Regresní testování, lokalizace poruchy
- Grace Hopper: První překladač (Mark 1), COBOL, Nanosekundy.
- Watts Humphrey: Model zralosti schopností, Proces osobního softwaru, kolega z Institut softwarového inženýrství.
- Jean Ichbiah: Ada
- Michael A. Jackson: Jackson strukturované programování, Vývoj systému Jackson
- Bill Joy: Berkeley Unix, vi, Jáva.
- Alan Kay: Pokec
- Brian Kernighan: C a Unix.
- Donald Knuth: Napsal Umění počítačového programování, TeX, algoritmy, gramotné programování
- Nancy Leveson: Bezpečnost systému
- Bertrand Meyer: Návrh podle smlouvy, Eiffelovský programovací jazyk.
- Peter G. Neumann: RIZIKA Digest, ACM Sigsoft.
- David Parnas: Návrh modulu, sociální odpovědnost, profesionalita.
- David Pearson, počítačový vědec: Vyvinul ICL CADES systém softwarového inženýrství.
- Jef Raskin: Vyvinul originál Macintosh GUI, autor Humánní rozhraní
- Dennis Ritchie: C a Unix.
- Winston W. Royce: Model vodopádu.
- Mary Shaw: Software architektura.
- Richard Stallman: Zakladatel společnosti Free Software Foundation
- Linus Torvalds: Linux jádro, svobodný software / otevřený zdroj rozvoj.
- Will Tracz: Opětovné použití, poznámky k softwarovému inženýrství ACM.
- Gerald Weinberg: Napsal Psychologie počítačového programování.
- Elaine Weyuker: Testování softwaru
- Jeannette Wing: Formální specifikace.
- Ed Yourdon: Strukturované programování, napsal Úpadek a pád amerického programátora.
Viz také
Pozoruhodné publikace
- About Face: The Essentials of User Interface Design podle Alan Cooper, o designu uživatelského rozhraní. ISBN 0-7645-2641-3
- Model zralosti schopností podle Watts Humphrey. Napsáno pro Institut softwarového inženýrství, s důrazem na řízení a proces. (Vidět Správa softwarového procesu ISBN 0-201-18095-2)
- Katedrála a bazar podle Eric Raymond o vývoji open source.
- Úpadek a pád amerického programátora podle Ed Yourdon předpovídá konec vývoje softwaru v USA ISBN 0-13-191958-X
- Designové vzory podle Erich Gamma, Richard Helm, Ralph Johnson, a John Vlissides. ISBN 0-201-63361-2
- Vysvětlení extrémního programování podle Kent Beck ISBN 0-321-27865-8
- "Přejít na prohlášení považováno za škodlivé "od Edsger Dijkstra.
- Internet, inovace a otevřený zdroj: aktéři v síti - První pondělí článek od Ilkka Tuomi (2000) zdroj
- Mýtický muž-měsíc podle Fred Brooks, o řízení projektů. ISBN 0-201-83595-9
- Objektově orientovaná analýza a návrh podle Grady Booch. ISBN 0-8053-5340-2
- Peopleware podle Tom DeMarco a Tim Lister. ISBN 0-932633-43-9
- Pragmatický inženýr versus vědecký designér podle E. W. Dijkstra [1]
- Principy řízení softwarového inženýrství podle Tom Gilb o evolučních procesech. ISBN 0-201-19246-2
- Psychologie počítačového programování podle Gerald Weinberg. Byl napsán jako nezávislý konzultant, částečně o jeho letech v IBM. ISBN 0-932633-42-0
- Refaktoring: Vylepšení designu stávajícího kódu podle Martin Fowler, Kent Beck John Brant, William Opdyke a Don Roberts. ISBN 0-201-48567-2
- Pragmatický programátor: od tovaryše po mistra podle Andrew Hunt, a David Thomas. ISBN 0-201-61622-X
Viz také:
Související pole
- Počítačová věda
- Informační inženýrství
- Informační technologie
- Tradiční strojírenství
- Softwarové inženýrství
- Umění a Vědy
- Aplikační software
- Programování
- Systémové inženýrství
Viz také
- Rejstřík článků o softwarovém inženýrství
- Softwarové inženýrství založené na vyhledávání
- SWEBOK Soubor znalostí o softwarovém inženýrství
- CCSE Výpočetní osnovy pro softwarové inženýrství
- Počítačové termíny etymologie, počátky počítačových výrazů
- Složitost nebo škálování
- Syndrom druhého systému
- optimalizace
- Uložení zdrojového kódu
- Problém s interakcí funkcí
- Certifikace (softwarové inženýrství)
- Inženýrské katastrofy # Selhání v důsledku softwaru
- Nástin vývoje softwaru
Reference
- ^ Pierre Bourque; Robert Dupuis, vyd. (2004). Průvodce tělem znalostí softwarového inženýrství - verze z roku 2004. IEEE Computer Society. str. 1. ISBN 0-7695-2330-7.
externí odkazy
- Profesní organizace
- Profesionalita
- Vzdělávání
- Standardy
- Vládní organizace
- Agilní
- Jiné organizace
- Demografie
- Průzkumy
- jiný