Het concept van software, softwareclassificatie. Het concept van pc-software. Korte beschrijving van de software De software die dient om

Wat zijn de belangrijkste trends in de ontwikkeling van computers van de 5e generatie?

Beschrijf het werkingsprincipe van laserprinters.

Wat is een moederbord? Welke pc-componenten zitten erop?

Welke programma's zitten in het BIOS?

Wat is de functie van random access memory in een computer?

Wat zijn de belangrijkste parameters van de processor? Wat kenmerkt de klokfrequentie en in welke eenheden wordt deze gemeten?

Wat is de betekenis van het belangrijkste - modulaire principe van het bouwen van een pc-architectuur?

Welke soorten bussen zitten er in een computer en waar zijn ze voor?

Welk element was de basis voor de creatie van computers van de derde generatie?

Welke principes van computerconstructie ontwikkelde John von Neumann?

Wat is de bijdrage van C. Babbage aan de ontwikkeling van computertechnologie?


HOOFDSTUK 3

SOFTWARE VOOR PERSOONLIJKE COMPUTERS

SLEUTELWOORDEN:programma, systeemsoftware, applicatiesoftware, bestand, map, bestandsbewerkingen, bestandssysteem, Windows XP OS, hoofdmenu, standaardprogramma's, snelkoppeling, bureaublad, windows, configuratiescherm, Verkenner, Prullenbak, opmaak, zoekmachine, Microsoft Office-pakket , softwarepiraterij, licentieovereenkomst.

Het effectieve gebruik van de nieuwste informatietechnologieën hangt af van de competente en juiste keuze van niet alleen een computer met de juiste configuratie, maar ook van programma's die computerinformatie verwerken.

De keuze van de juiste software hangt af van het type informatie dat wordt verwerkt, de vormen van presentatie, de uitgevoerde bewerkingen, de vormen van informatie-output, enz. Dit impliceert kennis van de stand van zaken van moderne software (SW).

Programma is een reeks operatoren die, als geheel, wordt gebruikt om de werking van een computer te regelen. Elk programma bevindt zich in het geheugen van de computer en wordt geactiveerd wanneer het uit het geheugen wordt opgehaald in de vorm van een reeks opdrachten.

Onder software verwijst naar een reeks softwaretools voor het creëren en bedienen van gegevensverwerkingssystemen door middel van computertechnologie. Afhankelijk van de functies die door de software worden uitgevoerd, kan deze worden onderverdeeld in typen (Fig. 3.1).

Een belangrijke plaats in software wordt ingenomen door systeemsoftware (SPO). De term Systeemsoftware betekent programma's en softwarepakketten die voor alle gebruikers gelden en die zowel worden gebruikt om het maken van nieuwe programma's te automatiseren als om de implementatie van bestaande programma's te verzekeren.

De bijbehorende besturingsomgeving kan in het besturingssysteem worden georganiseerd als een afzonderlijke virtuele machine. De klasse van systeemsoftware omvat ook emulators waarmee u een ander besturingssysteem in het besturingssysteem kunt simuleren. Een aantal besturingssystemen kan programma's implementeren die voor andere besturingssystemen zijn gemaakt.



De kern van elke open source software is het besturingssysteem, dus ze zullen hieronder in meer detail worden besproken.

Programmeersystemen meestal ontworpen om nieuwe programma's te maken. Deze systemen bevatten meestal programmeertalen, die in de regel bedoeld zijn voor professionele programmeurs. Elk programmeersysteem werkt alleen in het overeenkomstige besturingssysteem waarvoor het is gemaakt, maar u kunt er wel programma's mee ontwikkelen voor andere besturingssystemen. Onlangs zijn er krachtige programmeersystemen verschenen in Java, Delphi, C++, Visual Basic.

Belangrijke klassen van systeemprogramma's zijn ook hulpprogramma's - hulpprogramma's (lat. utilitas - voordeel).

Nutsvoorzieningen speciale systeemprogramma's genoemd die kunnen worden gebruikt om zowel het besturingssysteem zelf als programma's met betrekking tot het onderhoud van een computersysteem te onderhouden. Ze breiden de overeenkomstige mogelijkheden van het besturingssysteem uit en vullen deze aan, of lossen onafhankelijke problemen op.

Er zijn de volgende soorten hulpprogramma's:

— controle programma's,testen en diagnostiek, die worden gebruikt om de goede werking van computerapparatuur te controleren en om storingen tijdens het gebruik op te sporen en de oorzaken en locatie van de storing aan te geven;

— programma's - stuurprogramma's, die de mogelijkheden van het besturingssysteem uitbreiden om invoer-/uitvoerapparaten, RAM, enz. te beheren. Met behulp van stuurprogramma's is het mogelijk om nieuwe apparaten op de computer aan te sluiten of niet-standaard gebruik van bestaande apparaten;

— programma's - verpakkers(archivers), waarmee u informatie dichter op schijven kunt schrijven en kopieën van verschillende bestanden kunt combineren in één archiefbestand;

— antivirusprogramma's ontworpen om infectie met computervirussen te voorkomen en de gevolgen van een dergelijke infectie te elimineren;

— schijfruimte-optimalisatie en kwaliteitscontroleprogramma's;

— gegevensherstel, opmaak, programma's voor gegevensbescherming;

— communicatie programma's het organiseren van de uitwisseling van informatie tussen computers wanneer deze worden gecombineerd tot computernetwerken;

— geheugenbeheersoftware, wat zorgt voor een flexibeler gebruik van RAM;

— programma's voor het branden van CD - ROM, CD - RW, DVD en vele anderen.

Sommige hulpprogramma's maken deel uit van het besturingssysteem, terwijl andere autonoom functioneren.

Bestandsbeheersystemen zijn ontworpen voor gemakkelijke toegang tot gegevens die in de vorm van bestanden in het computergeheugen zijn opgeslagen.

Bestand is een benoemde set gegevens die is georganiseerd als een verzameling records met dezelfde structuur. Om deze gegevens te beheren, worden bestandsbeheersystemen gemaakt. In de regel hebben alle moderne besturingssystemen bestandsbeheersystemen. Er zijn besturingssystemen die meerdere bestandssystemen ondersteunen. Sommige eenvoudige besturingssystemen kunnen werken zonder bestandssystemen.

Volgens de manieren om bestanden een naam te geven, zijn er "korte" en "lange" namen. Vóór de komst van Windows 95 was Convention 8.3 de gebruikelijke manier om bestanden een naam te geven. Volgens deze in MS - DOS aangenomen conventie bestond de bestandsnaam uit twee delen: de werkelijke naam en de extensie. De bestandsnaam is 8 tekens en de extensie is 3 tekens. De naam wordt door een punt gescheiden van de extensie. Zowel de naam als de extensie mogen alleen alfanumerieke tekens van het Latijnse alfabet bevatten.

Het belangrijkste nadeel van "korte" namen is hun lage inhoud. Het is lang niet altijd mogelijk om de kenmerken van een bestand met een paar tekens uit te drukken, dus met de komst van Windows 95 werd het concept van een "lange" naam geïntroduceerd. Deze naam kan maximaal 256 tekens bevatten. Dit is voldoende om zinvolle bestandsnamen te maken. Spaties en meerdere punten zijn toegestaan ​​in de naam. Hoofdletters en kleine letters worden door het besturingssysteem niet onderscheiden, maar hoofdletters worden door het besturingssysteem weergegeven. De naamextensie bestaat uit alle tekens na de laatste punt, bijvoorbeeld:


In moderne besturingssystemen kan elke bestandsnaamextensie informatie voor het besturingssysteem bevatten. Windows biedt tools voor het registreren van bestandstype-eigenschappen op basis van hun naamextensie. Daarom is de keuze voor een bestandsnaamextensie in veel gevallen geen privéaangelegenheid van de gebruiker. Toepassingen van deze systemen bieden aan om alleen het hoofdgedeelte van de naam te selecteren en het bestandstype op te geven, en de bijbehorende naamextensie wordt automatisch geschreven:

— .xls- MS Excel-spreadsheet;

— .doc– tekstbestand van MS Word-editor;

— .mdb– MS Access-databasebestand;

— .zip - ingepakt bestand;

— .bmp– grafisch bestand, enz.

Naast de naam en extensie van de bestandsnaam, slaat het besturingssysteem voor elk bestand de aanmaakdatum (wijziging), de grootte en verschillende vlagwaarden op, bestandskenmerken genoemd.

attributen zijn aanvullende parameters die bestandseigenschappen definiëren. Met het besturingssysteem kunnen ze worden beheerd en gewijzigd. Bij het uitvoeren van bestandsbewerkingen wordt rekening gehouden met kenmerkwaarden.

Er zijn vier hoofdkenmerken:

— Alleen voor lezen (alleen lezen);

- Verborgen (verborgen);

- Systeem (Systeem);

- Archief (Archief).

attribuut " Alleen om te lezen» beperkt de mogelijkheid om met het bestand te werken. Als u dit instelt, betekent dit dat het bestand niet is bedoeld om te worden gewijzigd.

attribuut " Verborgen” geeft aan het besturingssysteem aan dat dit bestand niet op het scherm mag worden weergegeven tijdens bestandsbewerkingen. Dit is een beschermingsmaatregel tegen opzettelijke of onopzettelijke bestandscorruptie.

attribuut " systemisch» markeert bestanden die belangrijke functies hebben in de werking van het besturingssysteem zelf. Een onderscheidend kenmerk van dit kenmerk is dat het niet kan worden gewijzigd met behulp van OS-tools. Doorgaans hebben de meeste bestanden met de attributenset Systeem ook de attributenset Verborgen.

attribuut " archief' werd in het verleden gebruikt om back-upprogramma's uit te voeren. Elk programma dat het bestand wijzigt, moest dit kenmerk automatisch instellen. Moderne back-upprogramma's gebruiken andere middelen om te bepalen of een bestand is gewijzigd, en met dit kenmerk wordt geen rekening gehouden. Het handmatig wijzigen met behulp van OS-tools is niet van groot praktisch belang.

Map(directory) is een speciale plek op de schijf waarin alle informatie over bestanden (naam, grootte, eigenschappen, aanmaakdatum en -tijd, enz.) wordt vastgelegd.

Vóór de komst van Windows 95 werd de term "directory" gebruikt om de hiërarchische bestandsstructuur te beschrijven. Met de komst van de Windows-familie van besturingssystemen werd een nieuwe term geïntroduceerd - "map". Deze termen zijn equivalent: elke bestandsmap op de schijf komt overeen met de systeem-OS-map met dezelfde naam.

Mappen zijn belangrijke elementen van een hiërarchische structuur die nodig zijn om gemakkelijke toegang tot bestanden te bieden als er te veel bestanden op de media staan. Bestanden worden gecombineerd in mappen volgens een gemeenschappelijke functie die door hun maker is ingesteld (op type, eigendom, doel, tijdstip van aanmaak, enz.). Mappen van lagere niveaus zijn genest in mappen van hogere niveaus en worden voor hen genest. Het hoogste niveau van nesting van de hiërarchische structuur is de hoofdmap van de schijf.

De regels voor het benoemen van een map verschillen niet van de regels voor het benoemen van een bestand, hoewel het achter de schermen niet gebruikelijk is om mapnaamextensies te geven.

In hiërarchische datastructuren wordt het adres van een object gegeven door een route (toegangspad) die van de bovenkant van de structuur naar het object leidt. Bij het schrijven van een pad naar een bestand dat door een systeem van geneste mappen gaat, worden alle tussenliggende mappen door een bepaald teken van elkaar gescheiden. Veel besturingssystemen gebruiken "\" (backslash) als zo'n teken, bijvoorbeeld:


Een bestandsbeheersysteem is gemaakt om te werken in een specifiek besturingssysteem en met een specifiek bestandssysteem. Er moet een duidelijk onderscheid worden gemaakt tussen de begrippen "bestandssysteem" en "bestandsbeheersysteem". Dit betekent dat om te werken met bestanden die volgens een bepaald bestandssysteem zijn georganiseerd, voor elk besturingssysteem een ​​geschikt bestandsbeheersysteem moet worden ontwikkeld.

Door het gebruik van een bestandsbeheersysteem krijgen gebruikers de volgende opties: het maken, verwijderen, hernoemen van bestanden, mappen en het benoemen ervan; kopiëren en verplaatsen van bestanden; navigatie door de bestandsstructuur om toegang te krijgen tot een bepaald bestand, map; het beheren van bestandskenmerken; bestanden beschermen tegen ongeoorloofde toegang, enz.

Om het besturingssysteem zelf op te starten en het werk van een bepaald bestandsbeheersysteem te organiseren, werden speciale afspraken gemaakt over de structuur van de harde schijf. Het principe van het organiseren van een bestandssysteem hangt af van het besturingssysteem. De harde schijf wordt weergegeven als een set oppervlakken. Diskettes hebben er maar twee (bovenste en onderste). Harde schijven zijn eigenlijk "planken" die uit meerdere platen bestaan, dus ze hebben meer oppervlakken. Elk schijfoppervlak is verdeeld in ringsporen en elk spoor in sectoren (Fig. 3.2). Sectorgroottes zijn vast en gelijk aan 512 bytes.

Om een ​​bepaald bestand op een schijf te vinden, moet u de locatie (adres) weten. De eenvoudigste manier zou zijn om het bestandsadres te schrijven als een oppervlaktenummer, een spoornummer en een sectornummer. Elk schijfoppervlak gebruikt echter zijn eigen lees-/schrijfkop. Deze koppen bewegen niet afzonderlijk, maar gelijktijdig. Als bijvoorbeeld de vijfde kop naar het dertigste spoor wordt gebracht, dan worden alle andere hoofden naar hun dertigste spoor gebracht. Daarom wordt in plaats van het concept van een baan het concept van een cilinder gebruikt.

Cilinder- dit is een verzameling van alle sporen die dezelfde nummers hebben, dat wil zeggen op gelijke afstand van de rotatie-as. Daarom wordt de werkelijke locatie van het bestand op de harde schijf bepaald door het cilindernummer, het oppervlaktenummer en het sectornummer.

Sector- dit is de kleinste eenheid voor gegevensopslag, maar niet alle bestandssystemen gebruiken deze voor adressering vanwege de kleine omvang. Besturingssystemen zoals MS-DOS, Windows, OS/2 gebruiken een grotere opslageenheid, een cluster genaamd, voor adressering. Een cluster is een groep aangrenzende sectoren. De clustergrootte is afhankelijk van de grootte van de harde schijf. Hoe groter de schijf, hoe groter de clustergrootte wordt toegewezen. Typische waarden voor de grootte van één cluster: 8, 16, 32 of 64 sectoren.

Informatie over het schijfcluster waarin een bepaald bestand start, wordt opgeslagen in het systeemgebied van de schijf in speciale bestandstoewijzingstabellen (FAT-tabellen). Aangezien de overtreding van de FAT-tabel leidt tot het onvermogen om de gegevens op de schijf te gebruiken, worden er speciale eisen aan de betrouwbaarheid gesteld. FAT - de tabel wordt in twee exemplaren gemaakt, waarvan de identiteit regelmatig wordt gecontroleerd door OS-tools.

Tabel 3.1. geeft een overzicht van de soorten bestandssystemen en versies van Windows-besturingssystemen die ze gebruiken.

De bestandssystemen die door Windows worden gebruikt zijn:

— FAT16- het oudste bestandssysteem dat door bijna iedereen kan worden gebruikt. Vanwege bestaande beperkingen kan het geen schijven gebruiken die groter zijn dan 4096 MB. Het FAT16-systeem wordt als verouderd beschouwd, hoewel het tot op de dag van vandaag soms met succes wordt gebruikt. De maximaal mogelijke bestandsgrootte is 4 GB.

— FAT32- een nieuwer bestandssysteem waarmee alle nieuwe besturingssystemen die na 1998 zijn uitgebracht, kunnen werken.FAT32-schijven kunnen tot 127 GB groot zijn. De maximaal mogelijke bestandsgrootte is 4 GB.

— NTFS- een oud, maar zorgvuldig ontworpen bestandssysteem dat verschilt van FAT16 en FAT32 in zijn betrouwbaarheid en het vermogen om bescherming te bieden tegen ongeoorloofde toegang. Niet alle besturingssystemen "begrijpen" dit bestandssysteem.

— CDFS is het bestandssysteem dat wordt gebruikt voor cd-rom-schijven. Het is niet van toepassing op harde schijven. Gebruikt door alle moderne besturingssystemen.

Basissoftwareconcepten

COMPUTER SOFTWARE

Controlevragen

1. Wat is computerarchitectuur?

2. Wat zijn de principes van het bouwen van een computer, geformuleerd door von Neumann.

3. Welke apparaten zitten in de von Neumann-computer?

4. Welke elektronische elementen bevinden zich op het moederbord?

5. Wat zijn de belangrijkste functies van de microprocessor?

6. Wat is de klokfrequentie?

7. Wat is de capaciteit van een microprocessor?

8. Welke modellen microprocessors ken je?

9. Wat is het doel van geheugenapparaten?

10. Wat is RAM en ROM?

11. Wat wordt afgekort als RAM?

12. Wat is het minimale deel van de informatie op geheugenapparaten voor pc?

13. Wat is het doel van de systeembus?

14. Geef de hoofdgroepen toetsen op een standaardtoetsenbord een naam.

15. Op welke poort is de muis aangesloten?

16. Wat is het doel van de monitor?

17. Beschrijf hoe dot-matrix-, inkjet- en laserprinters werken?

18. Wat zijn sporen en sectoren op een magnetische schijf?

19. Waarom schijven formatteren?

20. Wat is een laserschijf?

21. Wat is een chauffeur?

22. Wat zijn de soorten poorten?

Een computer is een programmagestuurd automatisch apparaat om met informatie te werken. Zonder programma's is elke computer "dead iron" De mogelijkheden van een computer als technische basis van een gegevensverwerkingssysteem hangen samen met de gebruikte software (programma's).

Programma (programma, routine) is een geordende reeks computeropdrachten (instructies) voor het oplossen van een probleem.

Software- een reeks gegevensverwerkingsprogramma's.

taak (probleem, taak)- een op te lossen probleem.

sollicitatie- software-implementatie op een computer om het probleem op te lossen.

Software De software is in te delen in drie groepen:

– systeemprogramma's;

– aanvraagprogramma's;

- programmeersystemen.

systemisch programma's genoemd die het rekenproces organiseren en computerbronnen beheren.

Ze zijn ontworpen om de werking van apparaten die deel uitmaken van een computer te regelen, de communicatie met de gebruiker (gebruikersinterface) te organiseren en met het bestandssysteem te werken.

Systeemprogramma's bestaan ​​uit:

– besturingssystemen (OS),

- operationele schelpen,

– speciale programma's.

Besturingssysteem (OS)- een set programma's die ondersteuning bieden voor de werking van computerhardware, netwerken en alle programma's.

Wanneer u de computer inschakelt, wordt eerst het besturingssysteem in het RAM geladen, onder controle waarvan de gezondheidscontrole en alle daaropvolgende bediening van de computer plaatsvinden. Het werk wordt ook voltooid onder OS-controle.



besturingssysteem

Besturingssystemen worden ingedeeld op:

- aantal gelijktijdige gebruikers een speler en multiplayer besturingssysteem;

– het aantal taken dat gelijktijdig wordt uitgevoerd onder OS-besturing, per single-tasking en multitasking;

- het aantal processors dat in gebruik is uniprocessor en multiprocessor;

- bitdiepte processor naar 8-bit, 16-bit, 32-bit, 64-bit;

- type gebruikersinterface opdracht(tekst) en objectgericht(grafisch);

– de manier waarop gedeelde hardware- en softwarebronnen worden gebruikt op netwerk en lokaal.

Het grootste verschil systemen voor meerdere gebruikers van één gebruiker is de beschikbaarheid van middelen om de informatie van elke gebruiker te beschermen tegen ongeautoriseerde toegang door andere gebruikers.

V multitasking aan elke taak (programma, applicatie) wordt op zijn beurt een deel van de processortijd toegewezen. Omdat het schakelproces erg snel is en de processortijd die aan taken wordt toegewezen vrij klein is, krijgt de gebruiker de indruk dat verschillende taken tegelijkertijd worden uitgevoerd.

Besturingssysteem MS-DOS is een commando (tekst) besturingssysteem voor 16-bit computers gebaseerd op 8086...80486 microprocessors. Alle MS-DOS-programma's worden opgeslagen op magnetische schijven, daarom heet het schijf besturingssysteem(Schijfbesturingssysteem). De letters MS zijn een afkorting voor Microsoft. Er zijn verschillende wijzigingen van dit besturingssysteem uitgebracht, dus we kunnen over het geheel praten familie van besturingssystemen MS-DOS.

Besturingssystemen van de Windows-familie

Bij het maken van het besturingssysteem van de Windows-familie gebruikte Microsoft objectgeoriënteerde benadering.

Op gebruikersniveau komt een objectgeoriënteerde benadering tot uiting in het feit dat de interface een schijn van de echte wereld is, en het werken met een computer wordt gereduceerd tot handelingen met gewone objecten. Mappen kunnen dus worden geopend, gesloten, verplaatst en in een koffertje worden opgeborgen. Documenten kunnen worden bekeken, gecorrigeerd, van de ene plaats naar de andere worden verplaatst, vernietigd of in de prullenbak worden gegooid.

De principes van Windows OS zijn:

– WYSIWYG(Wat je ziet Is What You Get - what you see is what you get), waardoor op de printer hetzelfde beeld wordt gevormd als op het beeldscherm. Bij het werken in DOS kan de weergave van tekst op het beeldscherm en afgedrukt op de printer er anders uitzien. Dit hangt af van het lettertype dat op de printer is geselecteerd.

– Plug en Play(plug and play, meer precies, plug and play) stelt u in staat om nieuwe apparaten op uw computer aan te sluiten, zoals een printer of een laserspeler, zonder handmatige configuratie. De Engelse term Plug and Play in het Russisch wordt uitgesproken als plug and play. Een besturingssysteem dat dit principe ondersteunt, selecteert automatisch het stuurprogramma dat nodig is voor de werking van een nieuw apparaat dat op de computer is aangesloten.

- technologie Slepen en neerzetten(slepen en neerzetten). Dankzij Drag and Drop-technologie is het gemakkelijk om de positie van elk venster en de grootte ervan te wijzigen.

In Windows kun je documenten samenstellen uit onderdelen die in verschillende applicaties zijn voorbereid. Er wordt technologie gebruikt om documenten te koppelen en in te sluiten OLE(Object Linking and Embedding), wat 'objecten koppelen en insluiten' betekent.

Bij het werken in het Windows-besturingssysteem worden programma's meestal toepassingen.

Het voordeel van besturingssystemen van de Windows-familie is: uniforme gebruikersinterface(shell), waardoor dezelfde principes voor het beheer van hun werk in verschillende programma's worden bewaard. Dit biedt de mogelijkheid om meerdere taken tegelijkertijd uit te voeren.

In dit geval wordt de gebruikersinterface van elk programma in een apart rechthoekig gebied geplaatst, genaamd venster.

operationele shells–– grafische add-ons ontworpen om het werken met het besturingssysteem te vergemakkelijken. De meest populaire in Rusland zijn Norton Commander, DOS Navigator, Windows Commander, enz.

Speciale programma's –– enkele aanvullende systemische diensten uit te voeren. Deze programma's zijn onderverdeeld in hulpprogramma's en stuurprogramma's.

Nutsvoorzieningen- ontworpen om vaak herhaalde bewerkingen uit te voeren, zoals het formatteren van magnetische schijven, het defragmenteren van schijven, het archiveren van bestanden, het herstellen van per ongeluk verwijderde bestanden, het zoeken naar en het verwijderen van virussen, enz.

chauffeurs- systeemprogramma's die zorgen voor de werking van printers, diskdrives, beeldschermen, toetsenborden, enz. Het woord "driver" komt van het Engelse woord driver - driver, driver.

Applicatiesoftwarepakketten (APP's)

Een toepassingsprogrammapakket is een complex van onderling verbonden programma's voor het oplossen van problemen van een bepaalde klasse van een specifiek vakgebied.

Toepassingsprogramma's, stellen de gebruiker in staat om hun informatietaken direct op te lossen.

De applicatiesoftware is op zijn beurt verdeeld in twee delen:

– toepassingen voor algemene doeleinden ,

- beroepsgerichte programma's.

NAAR toepassingen voor algemene doeleinden programma's bevatten die de meeste gebruikers nodig hebben, ongeacht hun professionele interesses. Ze bevatten:

– tekstverwerkingssystemen (tekstverwerkers);

– grafische computersystemen (grafische editors);

– rekensystemen in tabellen - spreadsheets (spreadsheetprocessors);

– gebruikersgerichte databasebeheersystemen;

- hulpmiddelen voor het ontwikkelen van presentaties;

- programma's die werken met e-mail en werken met internet.

Carrièregerichte programma's gespecialiseerde programma's samenstellen voor specialisten met een beperkt takenpakket.

Programmeersystemen - tool voor professionele programmeurs.

Elk dergelijk systeem is gericht op een specifieke programmeertaal: Pascal, BASIC, Fortran, C, Assembler, enz. Met programmeersystemen kunt u programmateksten maken, programma's debuggen en uitvoeren. Alle soorten software die hierboven worden vermeld, zijn gemaakt door programmeurs met behulp van speciaal gemaakte programmeersystemen.

1.6.1. Basisconcepten van informatieprocessoftware

Basisconcepten

De mogelijkheden van een computer als technische basis voor informatieprocessen en gegevensverwerkingstechnologieën hangen samen met de gebruikte software (programma's).

Programma - een geordende reeks computercommando's (instructies) voor het oplossen van een probleem.

Software (software) - een reeks gegevensverwerkingsprogramma's en documenten die nodig zijn voor hun werking.

Bij het implementeren van informatieprocessen met behulp van computers worden de termen "taak" en « Bijlage".

Taak (probleem, taak) - een probleem dat moet worden opgelost.

Applicatie (applicatie) - een oplossing voor een probleem geïmplementeerd door middel van informatietechnologie.

Een taak betekent dus een probleem dat moet worden geïmplementeerd met behulp van informatietechnologietools, en een toepassing betekent een geïmplementeerde oplossing voor een taak, hoewel deze termen in sommige gevallen als synoniem kunnen worden beschouwd.

Vanuit het oogpunt van de specifieke kenmerken van ontwikkeling en het type software, zullen we onderscheid maken tussen: twee klassen van problemen- technologisch en functioneel.

Technologische uitdagingen worden gezet en opgelost tijdens het technologische proces van informatieverwerking op een computer. Technologische uitdagingen vormen de basis voor de ontwikkeling servicesoftwaretools als hulpprogramma's, serviceprogramma's, procedurebibliotheken en etc. , gebruikt om de gezondheid van de computer, de ontwikkeling van andere programma's of de verwerking van gegevensfunctionele taken te waarborgen.

Functionele taken verschijnen en vragen om een ​​oplossing bij de implementatie van managementfuncties binnen de informatiesystemen van vakgebieden. Bijvoorbeeld het beheren van de activiteiten van een commerciële onderneming, het plannen van de vrijgave van producten, het beheren van het transport van goederen, het ophalen van informatie in een database, enz. Functionele taken vormen samen een vakgebied en bepalen volledig de specificiteit ervan.

Onderwerp (toegepast) gebied (toepassingsdomein) - een set van onderling verbonden functies, managementtaken, met behulp waarvan de vervulling van de gestelde doelen wordt bereikt.

Om problemen op te lossen, kunnen algoritmen, typische modellen en methoden voor het oplossen van problemen die in kant-en-klare softwareproducten worden gepresenteerd, worden gebruikt. In dit geval wordt het softwareproduct aangepast aan de voorwaarden van een bepaalde toepassing. In alle andere gevallen worden originele algoritmen en programma's ontwikkeld voor het implementeren van een reeks taken.

Programmeren (programmeren)- theoretische en praktische activiteiten met betrekking tot het maken van programma's.

Programmeren is een collectief begrip en kan zowel als een “wetenschap” als als een “kunst” worden beschouwd, hierop is een wetenschappelijke en praktische benadering van het ontwikkelen van programma's gebaseerd.

Het programma is het resultaat van intellectueel werk, dat wordt gekenmerkt door creativiteit. In elk programma is er de individualiteit van de ontwikkelaar, het programma weerspiegelt een zekere mate van vaardigheid van de programmeur. Tegelijkertijd brengt programmeren ook routinewerk met zich mee, dat strikte uitvoeringsregels kan en moet hebben en aan normen moet voldoen.

Programmeren is gebaseerd op een complex van wetenschappelijke disciplines gericht op onderzoek, ontwikkeling en toepassing van gespecialiseerde tools voor het maken van programma's. Bij het ontwikkelen van programma's, resource-intensieve en wetenschapsintensieve technologieën, wordt hoogopgeleide intellectuele arbeid gebruikt, die ook de specifieke kenmerken van dit werkterrein bepaalt.

Programmering is een ontwikkelde tak van economische activiteit die gepaard gaat met aanzienlijke kosten van materiaal, arbeid en financiële middelen. De totale omzet op het gebied van softwareontwikkeling loopt op tot enkele honderden miljarden dollars per jaar.

In verband met de groeiende behoefte aan een verscheidenheid aan gegevensverwerkingsprogramma's, is de kwestie van het toepassen van effectieve programmeertechnologieën en hun overdracht naar een industriële basis zeer relevant. Het betekent:

  • standaardisatie, reproduceerbaarheid en reproductie door verschillende ontwikkelaars van programmeermethoden,
  • introductie van progressieve softwareontwikkelingstools,
  • gebruik van speciale methoden en technieken voor het organiseren en uitvoeren van werk aan het ontwikkelen van programma's (projectmanagementmethodologie).

Het concept van een softwareproduct

Alle programma's kunnen volgens het type van hun gebruikers worden onderverdeeld in twee klassen (Fig. 1) - hulpprogramma's en softwareproducten (producten).

Dit kenmerk van de classificatie is bepalend. Hiermee kunt u de status van het programma wijzigen, in plaats van "hulp" hulpmiddelen voor gegevensverwerking, verandert het in een "hoofdhulpmiddel". Dus, afhankelijk van het type "consument", programma's van "interne" applicatie en softwareproducten (producten) voor "buiten" distributie.

Hulpprogramma's("programma's voor jezelf") ontworpen om aan de behoeften van hun ontwikkelaars te voldoen. Meestal spelen hulpprogramma's de rol van een dienst in de gegevensverwerkingstechnologie, of zijn ze een programma voor het oplossen van een functioneel probleem dat niet bedoeld is voor brede verspreiding.

Softwareproducten (producten) ontworpen om te voldoen aan de behoeften van gebruikers, op grote schaal gedistribueerd en verkocht, evenals andere producten die het onderwerp zijn van een verkoop of uitwisseling .

Het softwareproduct moet goed zijn voorbereid voor gebruik, over de nodige technische documentatie beschikken, een service verlenen en de betrouwbare werking van het programma garanderen, een handelsmerk van de fabrikant hebben en het is ook wenselijk om een ​​statusclassificatiecode te hebben. Alleen onder dergelijke omstandigheden kan het gecreëerde softwarecomplex een softwareproduct worden genoemd.

Het pad van "programma's voor jezelf" naar softwareproducten is vrij lang, het wordt geassocieerd met veranderingen in de technische en softwareomgeving voor de ontwikkeling en werking van programma's, met de opkomst en ontwikkeling van een onafhankelijke industrie van folk - informatie bedrijf, die wordt gekenmerkt door de arbeidsverdeling van softwareontwikkelaars, hun verdere specialisatie, de vorming markt voor software en informatiediensten. Dit is een globaal proces.

Softwareproducten kunnen worden gemaakt als:

  • individuele ontwikkeling in het kader van de bestelling;
  • ontwikkeling voor massadistributie onder gebruikers.

Bij individuele ontwikkeling het ontwikkelbedrijf maakt een origineel softwareproduct dat rekening houdt met de bijzonderheden van gegevensverwerking voor een bepaalde klant.

Bij ontwikkeling voor massadistributie Het ontwikkelaarsbedrijf moet enerzijds zorgen voor de universaliteit van de uitgevoerde gegevensverwerkingsfuncties, en anderzijds de flexibiliteit en aanpassing van het softwareproduct aan de voorwaarden van een bepaalde toepassing. Een onderscheidend kenmerk van softwareproducten moet hun "systematische" zijn - de functionele volledigheid en volledigheid van de geïmplementeerde verwerkingsfuncties, die in combinatie worden gebruikt. Ontwikkeling en onderhoud van programma's voor massale toepassing gaan in de regel gepaard met hoge arbeidskosten. - correctie van gedetecteerde fouten, creatie van nieuwe versies van programma's, enz.

De ontwikkeling van een softwareproduct vindt plaats op basis van: industriële technologie uitvoering van ontwerpwerk met behulp van moderne programmeertools. De specificiteit ligt in uniciteit het proces van het ontwikkelen van algoritmen en programma's, afhankelijk van de aard van de informatieverwerking en de gebruikte tools. Aanzienlijke middelen worden besteed aan het maken van softwareproducten - arbeid, materiaal, financieel; zeer bekwame ontwikkelaars zijn vereist.

Softwareproducten vereisen: escorte, die in de regel wordt uitgevoerd door gespecialiseerde bedrijven die programma's distribueren (distributeurs, dealers), minder vaak door softwareontwikkelaars.

Onderhoud van een softwareproduct - ondersteuning voor de bruikbaarheid van een softwareproduct, overgang naar de nieuwe versies, wijzigingen aanbrengen, gedetecteerde fouten corrigeren, enz.

Softwareproducten hebben, in tegenstelling tot traditionele producten, geen strikt gereguleerde set kwaliteitskenmerken die worden ingesteld bij het maken van programma's, of deze kenmerken kunnen vooraf niet nauwkeurig worden gespecificeerd of geëvalueerd, omdat dezelfde verwerkingsfuncties die door een softwaretool worden geleverd een verschillende diepte hebben van studie. Zelfs de tijd en kosten van het ontwikkelen van softwareproducten kunnen niet vooraf met een grote mate van nauwkeurigheid worden bepaald.

De belangrijkste kenmerken van de programma's zijn:

  • algoritmische complexiteit (logica van informatieverwerkingsalgoritmen),
  • samenstelling en diepgang van de uitwerking van de geïmplementeerde verwerkingsfuncties,
  • volledigheid en consistentie van verwerkingsfuncties,
  • technische specificaties:
  • grootte van programmabestanden,
  • vereisten voor het besturingssysteem en de verwerkingshardware van de zijkant van de software: de hoeveelheid schijfgeheugen, de grootte van het RAM-geheugen voor het uitvoeren van programma's, het type processor, de versie van het besturingssysteem, de beschikbaarheid van een computernetwerk, enz .

1.6.2. Softwareclassificatie

Indeling per toepassingsgebied

Softwareproducten kunnen worden ingedeeld op basis van verschillende criteria. Overweeg een classificatie waarin het fundamentele kenmerk het toepassingsgebied (het gebruiksgebied) is softwareproducten:

  • hardware van computers en computernetwerken;
  • functionele taken van informatiesystemen en technologieën van vakgebieden;
  • technologie voor softwareontwikkeling.

Om informatietechnologie op deze gebieden te ondersteunen, onderscheiden we respectievelijk drie klassen van softwareproducten die worden weergegeven in Fig. 2:

  • applicatiesoftware;
  • toolkit voor programmeertechnologie.

Systeem software

Softwareproducten van deze klasse zijn van algemene aard, ongeacht de specifieke kenmerken van het onderwerp. Ze stellen hoge eisen aan betrouwbaarheid en maakbaarheid van het werk, gemak en efficiëntie van gebruik.

Rijst. 2. Softwareclassificatie

Systeem software verzonden naar:

  • om een ​​besturingsomgeving te creëren voor het functioneren van andere programma's,
  • om de betrouwbare en efficiënte werking van de computer zelf en het computernetwerk te verzekeren,
  • voor diagnostiek en preventie van computerapparatuur en computernetwerken,
  • om ondersteunende technologische processen uit te voeren (kopiëren, archiveren, herstellen van programma's en databases, enz.).

Deze klasse van softwareproducten is nauw verwant aan het type computer en maakt er integraal deel van uit. Softwareproducten zijn voornamelijk gericht op gekwalificeerde gebruikers - professionals op computergebied: systeemprogrammeur, netwerkbeheerder, applicatieprogrammeur, operator. Kennis van de basistechnologie van het werken met deze klasse softwareproducten is echter ook vereist door de eindgebruikers van een personal computer, die niet alleen zelfstandig met hun programma's werken, maar ook het noodzakelijke onderhoud van de computer, programma's en gegevens uitvoeren.

De systeemsoftware omvat: besturingssysteem, die gewoonlijk bij de computer wordt geleverd, en servicesoftware die apart kan worden gekocht.

Besturingssysteem is bedoeld voor het plannen en beheren van computerbronnen, voor het beheren van de uitvoering van applicatiesoftware. In deze klasse van softwareproducten zijn de meest gebruikte besturingssystemen Windows (Microsoft), OS/2 (IBM), Unix (gratis).

Dienstsoftware make-up programma's en softwaresystemen die zorgen voor:

  • organisatie van het computerproces om de mogelijkheden uit te breiden en de efficiëntie van het besturingssysteem te verbeteren;
  • betrouwbare werking van de computer;
  • handiger gebruikersomgeving.

Hulpprogramma's voor het uitbreiden van de mogelijkheden van het besturingssysteem worden vaak hulpprogramma's genoemd. Hulpprogramma's - programma's die worden gebruikt voor het uitvoeren van aanvullende bewerkingen van gegevensverwerking of onderhoud van computers (diagnose, testen van hardware en software, optimalisatie van het gebruik of kwaliteitscontrole van schijfruimte, herstel van informatie die op een magnetische schijf is vernietigd, enz.).

Toolkit voor programmeertechnologie

Softwareproducten van deze klasse bieden het softwareontwikkelingsproces en omvatten gespecialiseerde softwaretools voor ontwikkelaars. Ze ondersteunen alle technologische stadia van het proces van ontwerpen, programmeren (coderen), debuggen en testen van de programma's die worden gemaakt. De gebruikers van programmeertechnologietools zijn systeem- en applicatieprogrammeurs. In hun werk laten ze zich leiden door de software van computertechnologie, in de omgeving waarvan de werking van de programma's die ze maken wordt verwacht.

Dit softwaregebied bevindt zich momenteel in een fase van snelle ontwikkeling, wat te wijten is aan de overgang naar: industriële technologie productie van programma's, de wens om de tijd-, arbeids- en materiaalkosten voor de productie en werking van programma's te verminderen, om een ​​gegarandeerd kwaliteitsniveau te garanderen.

De toolkit voor programmeertechnologie kan worden onderverdeeld in twee subklassen die gericht zijn op:

  • creatie van individuele applicaties of hun complexen;
  • automatisering van de ontwikkeling en implementatie van informatiesystemen.

Binnen deze gebieden zijn de volgende groepen softwareproducten gevormd:

  • tools voor het maken van applicaties, waaronder:
  • lokale middelen voor het uitvoeren van individueel werk aan het maken van programma's;
  • geïntegreerde toolomgevingen voor programmaontwikkelaars om een ​​reeks onderling gerelateerde werkzaamheden uit te voeren bij het maken van programma's;
  • CASE - technologie ( Computerondersteunde systeemtechniek), die de methoden voor analyse, ontwerp en creatie van softwaresystemen met behulp van computertechnologie vertegenwoordigt.

On-premises tools en geïntegreerde werkomgevingen Programmaontwikkelaars zijn het meest representatief en gebaseerd op verschillende programmeertalen. Dit komt door de geschiedenis van hun creatie en ontwikkeling, relatieve betaalbaarheid voor een breed scala aan ontwikkelaars, aanvaardbare vereisten voor het technische complex van het ontwikkelingsproces.

Programmeertalen, als we de syntaxis van de vorming van zijn constructies als een teken van classificatie nemen, kan deze voorwaardelijk in klassen worden verdeeld:

  • machinetalen (computertaal) - programmeertalen waargenomen door de hardware van een computer (machinecodes);
  • machinegeoriënteerde talen (computergeoriënteerde taal) - programmeertalen die de structuur van een bepaald type computer weerspiegelen (assembler);
  • algoritmische talen (algoritmische taal) - programmeertalen die onafhankelijk zijn van de computerarchitectuur om de structuur van het algoritme weer te geven (PASCAL, FORTRAN, BASIC, enz.);
  • probleemgeoriënteerde talen (universele programmeertaal) - programmeertalen die zijn ontworpen om problemen van een bepaalde klasse op te lossen (LISP, RPG, SIMULA, enz.);
  • geïntegreerde programmeersystemen.

Een andere classificatie van programmeertalen is hun indeling in talen gericht op de implementatie van de basis. gestructureerd programmeren, en objectgeoriënteerde talen, zoals Visual Basic, Visual C ++, die het concept van objecten, hun eigenschappen en verwerkingsmethoden ondersteunen.

Verdere ontwikkeling van programmeersystemen, die een reeks hulpmiddelen combineren voor complexe toepassingen in alle technologische stadia van het maken van programma's, zijn: geïntegreerde software-omgevingen ontwikkelaars . Het belangrijkste doel van dit type toolkit is het verhogen van de productiviteit van programmeurs, het automatiseren van het maken van programmacodes die een grafische gebruikersinterface bieden en het ontwikkelen van applicaties voor de client-server-architectuur.

CASE-technologie is een softwarepakket dat het gehele technologische proces van analyse, ontwerp, ontwikkeling en onderhoud van complexe softwaresystemen automatiseert. Het belangrijkste voordeel van CASE-technologie is de ondersteuning van collectief werk aan het project vanwege de mogelijkheid om in het lokale netwerk van ontwikkelaars te werken, export / import van eventuele fragmenten van het project, organisatorisch projectbeheer.

CASE-technologieën zijn onderverdeeld in twee groepen:

  • implementaties ingebouwd in het systeem - alle ontwerp- en implementatiebeslissingen zijn gekoppeld aan het geselecteerde databasebeheersysteem (DBMS);
  • onafhankelijk van het implementatiesysteem - alle ontwerpoplossingen zijn gericht op de eenwording van de beginfasen van de levenscyclus en de middelen om deze te documenteren, bieden meer flexibiliteit bij de keuze van de implementatiemiddelen.

Sommige CASE-technologieën zijn alleen bedoeld voor systeemontwerpers en bieden speciale grafische hulpmiddelen voor het weergeven van verschillende soorten modellen, bijvoorbeeld gegevensstroomdiagrammen (DFD), entiteit-relatiediagrammen (ERD), enz.

Een andere klasse van CASE-technologieën ondersteunt alleen de levenscyclusfasen van softwareontwikkeling, waaronder:

  • automatisch genereren van programmacodes op basis van hun specificaties;
  • verificatie van de juistheid van de beschrijving van datamodellen en datastroomschema's;
  • het documenteren van programma's in overeenstemming met geaccepteerde normen en de huidige staat van het project;
  • test- en foutopsporingsprogramma's.

In het kader van CASE-technologieën wordt het project integraal ondersteund. Projectmaterialen die in CASE-technologie zijn voorbereid, dienen als een taak voor programmeurs, en programmeren zelf wordt nogal beperkt tot codering - vertaling van gegevensstructuren en methoden voor hun verwerking in een bepaalde taal, als automatische codegeneratie niet is voorzien.

De meeste CASE-technologieën gebruiken ook de "prototyping"-methode om snel programma's te maken in de vroege stadia van ontwikkeling. Het genereren van codes van programma's wordt automatisch uitgevoerd.

Applicatiesoftware

Softwareproducten van deze klasse dienen als softwaretools voor het oplossen van functionele problemen en zijn de meest talrijke klasse van softwareproducten. Deze klasse omvat softwareproducten die informatie over functionele taken van verschillende vakgebieden verwerken.

De installatie van softwareproducten op een computer wordt uitgevoerd door gekwalificeerde gebruikers of specialisten, en hun directe bediening wordt in de regel uitgevoerd door eindgebruikers - consumenten van informatie, in veel gevallen, wier activiteiten ver van het computerveld verwijderd zijn. Deze klasse van softwareproducten kan zeer specifiek zijn voor individuele computers.

Deze klasse software is de meest representatieve, wat te wijten is aan het wijdverbreide gebruik van computertechnologie op alle gebieden van menselijke activiteit, het creëren van geautomatiseerde informatiesystemen in verschillende vakgebieden.

Een geschatte classificatie van applicatiesoftware wordt getoond in figuur 3.

Rijst. 3. Classificatie van applicatiesoftware

Domeinspecifieke software vormt de meest representatieve klasse van softwareproducten, waarbinnen classificatie wordt uitgevoerd volgens verschillende criteria:

  • soorten vakgebieden,
  • informatie Systemen
  • functies en taakcomplexen, enz.

Voor sommige vakgebieden is het mogelijk om de gegevensstructuur en algoritmen voor hun verwerking te typen. Dit heeft geleid tot het ontstaan ​​van een markt voor softwareproducten die zijn ontworpen voor:

  • geautomatiseerde boekhouding;
  • financiële activiteiten;
  • personeelsbeheer (personeelsadministratie);
  • voorraadbeheer;
  • productiemanagement;
  • bankinformatiesystemen, enz.

Het belangrijkste voor deze klasse van softwareproducten is de creatie vriendelijke interface voor eindgebruikers.

De belangrijkste trends in de ontwikkeling van probleemgerichte softwaretools:

  • creatie van softwarecomplexen in de vorm werkstations(AWP) van leidinggevend personeel;
  • creatie van geïntegreerde domeinbeheersystemen op basis van computernetwerken die werkstations combineren in een enkel softwarepakket met een "client-server"-architectuur;
  • organisatie van informatiesysteemgegevens in de vorm van een gedistribueerde database in een computernetwerk;
  • het opzetten van verwerkingsfuncties door eindgebruikers (zonder tussenkomst van programmeurs);
  • bescherming van programma's en gegevens tegen onbevoegde toegang.

Voor deze klasse van programma's is hoog vereisten voor de efficiëntie van gegevensverwerking(de doorvoer voor banksystemen moet bijvoorbeeld enkele honderden transacties per seconde zijn). De hoeveelheden opgeslagen informatie zijn ook groot, wat leidt tot hogere eisen aan gegevensbeheertools (bijwerken, kopiëren, zorgen voor prestaties van gegevensverwerking).

Computerondersteunde ontwerpsoftware ontworpen om het werk van ontwerpers en technologen te ondersteunen die verband houden met de ontwikkeling van tekeningen, diagrammen, diagrammen, grafische modellering en ontwerp, het creëren van een bibliotheek met standaardelementen (sjablonen) van tekeningen en hun meervoudig gebruik, het creëren van demonstratie-illustraties en cartoons .

Een onderscheidend kenmerk van deze klasse van softwareproducten zijn de hoge eisen aan het technische deel van het gegevensverwerkingssysteem, de aanwezigheid van bibliotheken met ingebouwde functies, objecten, interfaces met grafische systemen en databases.

Werkbank voor eindgebruikers bevat een breed scala aan softwareproducten die voornamelijk informatietechnologieën voor eindgebruikers ondersteunen. Naast eindgebruikers kunnen programmeurs deze softwareproducten ook gebruiken om geavanceerde gegevensverwerkingsprogramma's te maken dankzij de ingebouwde softwaretools.

methodegerichtsoftware omvat softwareproducten die wiskundige, statistische en andere methoden bieden voor het oplossen van problemen voor elk vakgebied.

De meest gebruikte software voor methoden van wiskundig programmeren, het oplossen van differentiaalvergelijkingen, simulatiemodellering, operationeel onderzoek. Softwareproducten van deze klasse kunnen stand-alone of embedded zijn. Een Excel-spreadsheet heeft bijvoorbeeld een ingebouwd gegevensanalysepakket dat een breed scala aan statistische methoden biedt, evenals een "zoek naar een oplossing" -pakket dat een lineaire programmeermethode implementeert. Een voorbeeld van een op zichzelf staand softwareproduct is Microsoft Project, dat een methode van netwerkplanning en -beheer implementeert. Dit gaf projectmanagers een vrij krachtig hulpmiddel voor het plannen en analyseren van professionele activiteiten.

Kantoorsoftware programma's opstellen die zorgen voor het organisatorische beheer van het kantoor, waaronder:

  • organisatoren (planners) - software voor het plannen van werktijd, het maken van notulen van vergaderingen, planningen, het bijhouden van een notebook en telefoonboek;
  • vertaalprogramma's;
  • tekstherkenning en spellingcontrole;
  • geïntegreerde pakketten - een set van verschillende softwareproducten die elkaar functioneel aanvullen en hetzelfde type informatietechnologie op hetzelfde besturingsplatform ondersteunen.

Geïntegreerde pakketten bevatten de volgende typische componenten:

  • DBMS;
  • tekstverwerker;
  • grafische editor;
  • rekenblad;
  • organisator;
  • e-mailondersteuningstools;
  • presentatie programma.

De componenten van geïntegreerde pakketten kunnen afzonderlijk van elkaar werken, maar de belangrijkste voordelen van geïntegreerde pakketten komen wanneer ze oordeelkundig met elkaar worden gecombineerd. Gebruikers van geïntegreerde pakketten hebben een uniforme interface voor verschillende componenten, waardoor het relatieve gemak van het proces om ze te beheersen wordt gegarandeerd.

Geïntegreerde pakketten zijn effectief voor groepswerk op een netwerk van veel gebruikers. Vanuit het applicatieprogramma waarin de gebruiker zich bevindt, kunt u bijvoorbeeld documenten en gegevensbestanden naar een andere gebruiker sturen, terwijl u ondersteuning biedt voor standaarden voor het overbrengen van gegevens in de vorm van objecten via een netwerk of via e-mail.

Desktop publishing-systemen omvat programma's die informatietechnologie bieden voor computerpublicatie:

  • opmaak en redactie van teksten;
  • automatische paginering van tekst;
  • kopteksten maken;
  • computerlay-out van de afgedrukte pagina;
  • montage graphics;
  • voorbereiding van illustraties, enz.

Mediasoftware bedoeld om audio- en video-informatie te creëren en te gebruiken. Multimediasoftwareproducten hebben een leidende positie in de markt ingenomen op het gebied van bibliotheekinformatiediensten, het leerproces en vrijetijdsbesteding. Databases met computerbeelden van kunstwerken, bibliotheken van geluidsopnamen vormen de basis voor toegepaste onderwijssystemen, computerspellen, bibliotheekcatalogi en fondsen, etc.

Intelligente systemen implementeert individuele functies van het menselijk intellect. De belangrijkste componenten van kunstmatige-intelligentiesystemen zijn een kennisbank, een intelligente gebruikersinterface en een programma voor het genereren van inferenties. Hun ontwikkeling gaat in de volgende richtingen:

  • wrapper-programma's voor het maken van expertsystemen door kennisbanken en inferentieregels te vullen;
  • kant-en-klare expertsystemen voor besluitvorming binnen bepaalde vakgebieden;
  • kennisbankbeheersystemen voor het onderhouden van semantische modellen (procedureel, semantisch netwerk, frame, productie, enz.);
  • spraakanalyse- en herkenningssystemen, enz.

conclusies

In dit onderwerp worden de basisconcepten en classificatie van software-informatieprocessen besproken. Definities en uitleg van termen als: programma, software, taak, toepassing, onderwerp (toegepast) gebied, probleemstelling, algoritme en zijn eigenschappen, programmering, softwareproduct, onderhoud van softwareproducten. Er wordt een beschrijving gegeven van de classificatie van software volgens het toepassingsgebied: systeem, applicatie, programmeertechnologietools. In elke klasse worden subklassen onderscheiden, waarvoor het doel en hun kenmerken worden bepaald.

Vragen voor zelfonderzoek

  1. Wat is een programma?
  2. Wat is software?
  3. Definieer de taak en toepassing.
  4. Wat is een vakgebied?
  5. Wat weet u over de belangrijkste fasen van het proces van het maken van programma's?
  6. Wat is de taakomschrijving?
  7. Wat is een probleemoplossend algoritme?
  8. Noem de belangrijkste eigenschappen van algoritmen.
  9. Wat is een softwareproduct en wat zijn de kenmerken ervan?
  10. Wat is onderhoud van softwareproducten?
  11. Hoe kan software worden geclassificeerd?
  12. Wat zit er in de systeemsoftware?
  13. Wat is een subklasse van servicesoftware?
  14. Definieer een hulpprogramma. Geef voorbeelden.
  15. Wat is een toolkit voor programmeertechnologie?
  16. Definieer CASE-technologie en wanneer deze wordt gebruikt.
  17. Welke soorten programmeertalen ken je?
  18. Materiaal van de site http://mega.km.ru/pc/srch.asp
Bedrijfsdatabases Materiaal van de site http://mega.km.ru/pc/Encyclop.asp?Topic=pc_918

Software (software, software) is een reeks speciale programma's waarmee u de verwerking van informatie met behulp van een pc kunt organiseren.

Omdat zonder software de pc niet kan functioneren inin principe is het een integraal onderdeel vanelke pc en wordt geleverd met de bijbehorende hardware(hardware).

Programma- een volledige en nauwkeurige beschrijving van de volgorde van handelingen (instructies) van een computer voor het verwerken van informatie, geschreven in een voor de computer begrijpelijke taal.

Software (software) - een reeks speciale programma's die het proces vergemakkelijken van het voorbereiden van taken voor uitvoering op een computer en het organiseren van hun doorgang door de machine, evenals procedures, beschrijvingen, instructies en regels, samen met alle documentatie die bij deze componenten hoort, gebruikt in de werking van een computersysteem.

Informatie verwerken, de computer beheren programma's, geen apparaten.

Software-innovaties hebben lange tijd de nieuwe hardware-ontwikkelingen gedomineerd. Het softwarepakket is duurder (soms meerdere keren) dan de kosten van een computer van voldoende klasse.

Voor een effectief gebruik van een computer moet er overeenstemming zijn tussen het ontwikkelingsniveau van computertechnologie en software. Enerzijds bepaalt software de functionaliteit van een computer. Aan de andere kant kan de installatie van specifieke software worden beperkt door de ontwerpkenmerken van de computer.

Doel van software:

  • het waarborgen van de gezondheid van de computer;
  • het vergemakkelijken van gebruikersinteractie met de computer;
  • verkorting van de cyclus van het stellen van de taak naar het behalen van het resultaat;
  • het verhogen van de efficiëntie van het gebruik van computerbronnen.

De software maakt het mogelijk:

  • de organisatie van het computersysteem verbeteren om het gebruik van zijn mogelijkheden te maximaliseren;
  • de productiviteit en kwaliteit van het werk van de gebruiker verhogen;
  • gebruikersprogramma's aanpassen aan de bronnen van een bepaald computersysteem;
  • de software van het computersysteem uitbreiden.

Het maximale gebruik van de mogelijkheden van het computersysteem wordt bereikt, ten eerste, door aan elke gebruiker of taak de minimaal noodzakelijke middelen toe te wijzen voor de tijdige en hoogwaardige oplossing van zijn taken, ten tweede, door een groot aantal gebruikers (inclusief externe) aan te sluiten op de bronnen van het computersysteem, derde, door middelen te herverdelen tussen verschillende gebruikers en taken, afhankelijk van de status van het systeem en het verwerken van verzoeken.

Verbetering van de productiviteit en kwaliteit van het werk van gebruikers vindt plaats dankzij de automatisering van berekenings- en ontwerpprocedures, geïmplementeerd met behulp van een verscheidenheid aan programmeertools (algoritmische taal, applicatiesoftwarepakketten) en handige invoer-uitvoerapparaten.

De aanpasbaarheid van gebruikersprogramma's aan de bronnen van een bepaald computersysteem wordt verzekerd door het feit dat het besturingssysteem een ​​middel bevat om een ​​breed scala aan machineconfiguraties te onderhouden. Daarnaast kunt u met het besturingssysteem bestaande programma's voor verschillende I/O-apparaten maken en eenvoudig aanpassen.

Uitbreiding van bestaande software impliceert de volgende kenmerken:

  • creatie door de gebruiker van zijn eigen programma's en pakketten die zowel specifieke rekentaken als besturingsprocessen voor individuele apparaten en het hele computersysteem als geheel implementeren;
  • bestaande software aanvullen met programma's waarmee u de mogelijkheden van het besturingssysteem kunt uitbreiden, kunt werken met nieuwe soorten externe apparaten, nieuwe computersystemen (computers), in nieuwe toepassingsgebieden.

Software is gericht op het gebruik van computersystemen op verschillende werkterreinen en moet een tijdige en adequate oplossing bieden voor de taken. Dit vereist een aantal vereisten bij het ontwikkelen van softwarecomponenten , waarvan de belangrijkste zijn:

  • modulariteit;
  • schaalbaarheid en ontwikkeling;
  • betrouwbaarheid;
  • voorspelbaarheid;
  • gemak en ergonomie;
  • flexibiliteit;
  • efficiëntie;
  • compatibiliteit.

Basisprincipes van moderne softwareontwikkeling:

  • parametrische veelzijdigheid;
  • functionele redundantie;
  • functionele selectiviteit.

Programma's kunnen op twee manieren op een computer worden geïnstalleerd:

  • Installeren vanuit een distributie
  • Door eenvoudig te kopiëren

Eerste (laagste) niveau hiërarchie wordt ingenomen door de interne software van de pc, opgeslagen in het permanente geheugen. Met zijn hulp voert de pc de basisfuncties uit die worden bepaald door de hardwarestructuur. Firmwareprogramma's werken rechtstreeks samen met de hardwaremodules van de computer. Als gevolg hiervan zijn ze functioneel gerelateerd aan hen, en wanneer een bepaalde hardwaremodule wordt vervangen, is het ook noodzakelijk om het interne softwareprogramma te vervangen dat is ontworpen om ermee te werken.

Programma's die hardwaremodules onderhouden, worden stuurprogrammaprogramma's genoemd of chauffeurs. Ze maken het mogelijk om bij het vervangen of aansluiten van een nieuwe hardwaremodule geen wijzigingen aan te brengen in andere pc-programma's, maar alleen om de driver van de overeenkomstige hardwaremodule te wijzigen.

Interne software is een software-interface die zorgt voor de onderlinge verbinding van de computer met alle andere programma's. Toegang tot de firmwareprogramma's wordt alleen gemaakt via het software-onderbrekingssysteem.

De interne software vervult de volgende hoofdfuncties:

  • beheert een breed scala aan randapparatuur;
  • voert een snelle controle uit van de werking van de pc wanneer deze is ingeschakeld;
  • reset individuele hardwaremodules;
  • laadt OS-programma's.

De belangrijkste elementen van de interne software zijn: I/O-stuurprogramma's, zelftestprogramma en opstartprogramma. De interne software werkt enerzijds samen met de functionele modules van de pc en implementeert anderzijds de programma-interface van het besturingssysteem.

Zelftestprogramma ontworpen om de functionele modules van de pc te testen, d.w.z. computercircuits in de begintoestand zetten door programmaregisters met de nodige informatie te laden. Bij het controleren van afzonderlijke functionele modules van de pc kunnen hierin storingen worden gedetecteerd. Het zelftestprogramma informeert de gebruiker over gedetecteerde fouten door middel van berichten op het scherm en/of een geluidssignaal.

Als er een fout wordt gevonden, kan de computerscan worden voortgezet met behulp van diagnoseprogramma's die vanaf een diskette worden geladen. Als de fout de werking van de pc niet verstoort, kan deze op verzoek van de gebruiker worden verwaarloosd. Als er een nieuwe functionele module in de pc wordt opgenomen, wordt het zelftestprogramma van deze module toegevoegd aan het algemene zelftestprogramma.

Na succesvolle afronding van de zelftest is de pc klaar voor gebruik. De besturing via software-interrupt wordt overgedragen aan het bootstrap-programma. Dit programma is ontworpen om andere componenten van het besturingssysteem in het RAM-geheugen te lezen. Als deze handeling succesvol is, wordt de besturing overgedragen aan het zojuist uitgelezen programma.

I/O-stuurprogramma's worden gebruikt om pc-randapparatuur te onderhouden. Deze programma's werken rechtstreeks met de bijbehorende controllers, waardoor de gebruiker de fysieke organisatie van een bepaald apparaat niet kent en alleen werkt met stuurprogrammaopdrachten die het onderhoud ervan implementeren.

Drivers hebben de volgende kenmerken:

  • een open structuur waarmee u nieuwe stuurprogramma's aan het systeem kunt toevoegen;
  • de flexibiliteit van het organiseren van toegang tot stuurprogramma's via software-onderbrekingen, waardoor u ze niet in strikt gedefinieerde geheugengebieden kunt repareren, maar ze snel en gemakkelijk kunt vervangen;
  • een aangepaste structuur die driverprogramma's naar een bepaalde klasse randapparatuur leidt, waarvan de parameters in speciale tabellen zijn geplaatst. Drivers worden geconfigureerd voor specifieke randapparatuur door de waarden in deze tabellen te wijzigen;
  • residente locatie in RAM, zodat u de driver op elk moment vanuit elk programma kunt gebruiken.

De belangrijkste stuurprogramma's zijn: stuurprogramma voor harde schijf, stuurprogramma voor videoadapter, toetsenbordstuurprogramma, printerstuurprogramma, systeemstuurprogramma's (een timer instellen, computerconfiguratie controleren, RAM-capaciteit bepalen), extra stuurprogramma's (communicatiestuurprogramma, enz.).

Het besturingssysteem duurt tweede (middelste) niveau softwarehiërarchie. Het beheert de bronnen van een computersysteem, waaronder RAM en extern geheugen, I/O-apparaten en gebruikersprogramma's. Het besturingssysteem communiceert met de computer via de interne software-interface. Hierdoor kunnen pc's met hardwareverschillen met hetzelfde besturingssysteem werken.

OS is een set pc-besturingsprogramma's.

De samenstelling van de software wordt bepaald door de reeks taken die de gebruiker met een computer wil oplossen.

Op afspraak, d.w.z. Afhankelijk van de klasse van op te lossen taken, wordt software meestal verdeeld in twee hoofdgroepen: Algemeen (basis) en toegepast.

Classificatie van software naar functioneel doel

Software algemeen classificatieschema

- een reeks programma's die de werking van een computer waarborgen; een reeks programma's die het computerproces organiseren en computerbronnen beheren.

- een set softwaretools waarmee u programma's kunt ontwikkelen.

- een reeks programma's die zijn ontworpen om problemen op verschillende gebieden van menselijke activiteit op te lossen.

Software (Software) betekent een reeks programma's,

uitgevoerd door het computersysteem.

Software (SW) omvat tevens het gehele werkterrein bij het ontwerpen en ontwikkelen van software:

Programma-ontwerptechnologie (bijvoorbeeld top-down ontwerp, structureel en objectgericht ontwerp, enz.);

Methoden om de juistheid van programma's te bewijzen;

Analyse van de kwaliteit van programma's;

Programma documentatie;

Ontwikkeling en gebruik van softwaretools die het softwareontwerpproces vergemakkelijken, en nog veel meer.

Software is een integraal onderdeel van een computersysteem. Het is een logisch vervolg op technische middelen. De omvang van een specifieke computer wordt bepaald door de software die ervoor is gemaakt.

De computer zelf heeft op geen enkel toepassingsgebied kennis.

Al deze kennis is geconcentreerd in programma's die op computers draaien.

De software van moderne computers omvat miljoenen programma's - van games tot wetenschap.

Als eerste benadering kunnen alle programma's die op een computer draaien, worden onderverdeeld in drie categorieën (Fig. 1):

Applicatieprogramma's die direct zorgen voor de uitvoering van het door gebruikers gevraagde werk;

Systeemprogramma's die verschillende hulpfuncties uitvoeren, bijvoorbeeld:

Beheer van computerbronnen;

Maken van kopieën van gebruikte informatie;

De gezondheid van computerapparatuur controleren;

Uitgifte van referentie-informatie over de computer, enz.;

Toolsoftwaresystemen die het proces van het maken van nieuwe programma's voor de computer vergemakkelijken.

Bij het opstellen van een softwareclassificatie moet rekening worden gehouden met het feit dat de snelle ontwikkeling van computertechnologie en de uitbreiding van de reikwijdte van computertoepassingen het proces van software-evolutie sterk hebben versneld.

Als het eerder mogelijk was om op de vingers de belangrijkste categorieën van software op te sommen - besturingssystemen, vertalers, applicatiesoftwarepakketten, nu is de situatie radicaal veranderd.

De ontwikkeling van software is zowel in de diepte (nieuwe benaderingen voor de constructie van besturingssystemen, programmeertalen, enz.) als in de breedte (toepassingsprogramma's worden niet meer toegepast en hebben zelfstandige waarde gekregen).

De balans tussen de benodigde softwareproducten en de op de markt beschikbare producten verandert snel. Zelfs klassieke softwareproducten, zoals besturingssystemen, evolueren voortdurend en beschikken over intellectuele functies, waarvan vele voorheen alleen toebehoorden aan menselijke intellectuele vermogens.

Bovendien zijn er niet-traditionele programma's verschenen die zeer moeilijk, zo niet onmogelijk, te classificeren zijn volgens vastgestelde criteria, zoals bijvoorbeeld een programma - een elektronische gesprekspartner.

Tot op heden kunnen we zeggen dat de volgende groepen software zich min of meer definitief hebben ontwikkeld:

Besturingssystemen en shells;

Programmeersystemen (vertalers, bibliotheken van subroutines, debuggers, enz.);

Gereedschapssystemen;

Geïntegreerde softwarepakketten;

Dynamische spreadsheets;

Computer grafische systemen;

Databasebeheersystemen (DBMS);

Applicatiesoftware.

De softwarestructuur wordt getoond in Fig. 6.2. Deze classificatie kan natuurlijk niet als volledig worden beschouwd, maar geeft min of meer duidelijk de richting van verbetering en ontwikkeling van software weer.

Een applicatieprogramma is elk specifiek programma dat bijdraagt ​​aan een oplossing

elke taak binnen het gegeven probleemgebied.

Professioneel georiënteerde software - applicatiesoftware die is ontworpen om problemen binnen een branche op te lossen.

Wanneer bijvoorbeeld een computer is belast met de taak om de financiële activiteiten van een bedrijf te controleren, zal het salarisprogramma de toepassing zijn.

Applicatieprogramma's kunnen ook van algemene aard zijn, bijvoorbeeld zorgen voor het samenstellen en afdrukken van documenten, enz.

Daarentegen draagt ​​het besturingssysteem of de toolsoftware niet direct bij aan het bevredigen van de eindbehoeften van de gebruiker.

Applicatieprogramma's kunnen ofwel autonoom worden gebruikt, dat wil zeggen om de taak op te lossen zonder de hulp van andere programma's, ofwel als onderdeel van softwaresystemen of -pakketten.

Systeemprogramma's worden samen met applicatieprogramma's uitgevoerd en dienen om computerbronnen te beheren - de centrale processor, geheugen, input-output.

Dit zijn programma's voor algemeen gebruik die bedoeld zijn voor alle computergebruikers. Systeemsoftware is ontworpen om de computer in staat te stellen applicatieprogramma's efficiënt uit te voeren.

Onder tienduizenden systeemprogramma's wordt een speciale plaats ingenomen door besturingssystemen die computerbronnen beheren om ze effectief te kunnen gebruiken.

Belangrijke klassen van systeemprogramma's zijn ook hulpprogramma's - hulpprogramma's (lat. utilitas - voordeel). Ze breiden de overeenkomstige mogelijkheden van het besturingssysteem uit en vullen deze aan, of lossen onafhankelijke belangrijke taken op. Laten we kort enkele soorten hulpprogramma's beschrijven:

Monitoring-, test- en diagnoseprogramma's die worden gebruikt om de juiste werking van computerapparatuur te controleren en om storingen tijdens bedrijf op te sporen; geef de oorzaak en locatie van de storing aan;

Stuurprogramma's die de mogelijkheden van het besturingssysteem uitbreiden om I/O-apparaten, RAM, enz. te beheren; met behulp van stuurprogramma's is het mogelijk om nieuwe apparaten op de computer aan te sluiten of niet-standaard gebruik van bestaande;

Packers (archivers) waarmee u informatie dichter op schijven kunt schrijven en kopieën van verschillende bestanden kunt combineren in één archiefbestand;

Antivirusprogramma's die zijn ontworpen om infectie door computervirussen te voorkomen en de gevolgen van virusinfecties te elimineren.

Rijst. 2. Computersoftwarestructuur

Een computervirus is een speciaal geschreven klein programma dat zichzelf kan "toeschrijven" aan andere programma's om schadelijke acties uit te voeren - het corrumpeert bestanden, "besmet" RAM, enz.

Schijfruimte-optimalisatie en kwaliteitscontroleprogramma's;

Programma's voor informatieherstel, opmaak, gegevensbescherming;

Communicatieprogramma's die de uitwisseling van informatie tussen computers organiseren;

Programma's voor geheugenbeheer die een flexibeler gebruik van RAM bieden;

Programma's voor het branden van CD-ROM, CD-R en vele andere.

Sommige hulpprogramma's maken deel uit van het besturingssysteem, terwijl het andere deel onafhankelijk daarvan functioneert, d.w.z. offline. ent Omgevingen).