|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
System
  • Grundläggande datorkunskaper
  • Linux
  • Mac OS
  • Ubuntu
  • Unix
  • Windows
  • Windows Vista
  • Windows XP
  • Windows 7
  • Windows 10
  • Windows 11
  • Windows 2012
  • Windows 2016
  • Windows 2019
  • Windows 2022
  • Apple
  • Android
  • iOS
  • CentOS
  • * Dator Kunskap >> System >> Unix >> Content

    Vad är skillnaden mellan och som definieras i MIL-STD-2167A?

    I MIL-STD-2167A har termerna "modul" och "enhet" specifika betydelser, även om de ofta används omväxlande i allmän programmering. Här är uppdelningen:

    * Modul: En modul är en logiskt distinkt del av ett program, utformat för att utföra en specifik funktion eller uppsättning relaterade funktioner. Det består vanligtvis av en uppsättning rutiner (funktioner, underprogram). Moduler är utformade för att främja modularitet, vilket gör koden lättare att förstå, underhålla och återanvända. Tänk på det som en relativt hög nivå byggsten i mjukvarusystemet. Den viktigaste aspekten av en modul är dess funktionella sammanhållning . Alla delar inuti arbetar tillsammans för att utföra en definierad uppgift.

    * Enhet: En enhet är en enda, testbar komponent i ett program. Det är vanligtvis en rutin (funktion, underprogram) eller en liten uppsättning tätt kopplade rutiner. Fokus ligger på Individuell testbarhet . Enhetstest verifierar att varje enhet fungerar korrekt isolerat. Om en modul är som ett rum, är en enhet en enskild apparat eller möbler i det rummet.

    Nyckelskillnader sammanfattade:

    | Funktion | Modul | Enhet |

    | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

    | Syfte | Uppnå modularitet, kapsla in relaterad funktionalitet, förbättra kodorganisationen och underhållbarhet. Fokusera på större funktion eller uppsättning relaterade funktioner. | Underlätta enhetstestning, verifiera att enskilda komponenter fungerar korrekt isolerat. Fokusera på en enda funktion eller ett litet antal tätt kopplade funktioner. |

    | räckvidd | Bredare, omfattar flera enheter. | Smalare, vanligtvis en enda rutin eller mycket liten uppsättning relaterade rutiner. |

    | Testabilitet | Kan testas som en helhet, men testning är ofta inriktad på integrationstest för att säkerställa att moduler fungerar korrekt. | Designad för oberoende enhetstestning. Varje enhet ska vara testbar utan att bero på andra delar av systemet (med hjälp av stubbar eller håna vid behov). |

    | storlek | Större, bestående av flera rutiner och datastrukturer. | Mindre, vanligtvis en enda rutin eller några nära besläktade rutiner. |

    | fokus | Funktionell nedbrytning, sammanhållning och design på hög nivå. | Implementeringsdetaljer på låg nivå, individuell rutinmässig korrekthet och isolering. |

    | relation | En modul innehåller en eller flera enheter. Enheter är byggstenarna för moduler. | En enhet är en komponent * av * en modul. |

    Exempel:

    Föreställ dig ett mjukvarusystem för att kontrollera en robotarm:

    * Modul: En "rörelsekontrollmodul" kan vara ansvarig för att kontrollera robotarmens rörelser. Denna modul kan innehålla rutiner för att beräkna ledvinklar, styra motorhastigheter och hantera armens bana.

    * Enhet: En "calculate_inverse_kinematics ()" rutin inom "rörelsekontrollmodulen" skulle vara en enhet. Det skulle ta den önskade sluteffektorpositionen som inmatning och beräkna de nödvändiga fogvinklarna. Denna rutin skulle testas enhet för att säkerställa att den korrekt beräknar vinklarna för olika positioner. En annan enhet kan vara en funktion som kallas `set_motor_speed ()`.

    Vikt i MIL-STD-2167A:

    Skillnaden mellan moduler och enheter är viktig i MIL-STD-2167A eftersom standarden betonar en strukturerad utvecklingsprocess, inklusive:

    * Modulär design: Standarden främjar designprogramvara på ett modulärt sätt, där funktionalitet är uppdelad i väl definierade moduler med tydliga gränssnitt. Detta underlättar utveckling, testning och underhåll.

    * Enhetstestning: Standarden kräver rigorös enhetstest för att verifiera att enskilda komponenter i programvaran fungerar korrekt.

    * Integrationstestning: Efter enhetstestning integreras och testas moduler för att säkerställa att de fungerar korrekt.

    Genom att förstå skillnaden mellan moduler och enheter kan utvecklare bättre följa principerna för MIL-STD-2167A och producera högkvalitativ, tillförlitlig programvara. Medan MIL-STD-2167A är en äldre standard, förblir dess principer för modularitet och enhetstest relevant i moderna mjukvaruutvecklingspraxis.

    Tidigare:

    nästa:
    relaterade artiklar
    ·Vilken filorganisationsmetod används av Linux?
    ·Varför är UNIX användbar vid skalkrogrammering?
    ·Hur återställa raderade filer i Unix
    ·Hur ta bort raderna med Grep i ​​Unix
    ·Vad är kommandot för att bara lista en fil?
    ·Unix var ett av de första operativsystemen som impleme…
    ·Vad Är Hierarkisk File Structure i UNIX
    ·Lista över det UNIX -baserade operativsystemet?
    ·Vad är skillnaden mellan katt och fler kommandon i Uni…
    ·Varför är det svårt att portera programvara designad…
    Utvalda artiklarna
    ·Hur Anpassa Macintosh skrivbordsikoner
    ·Hur kan vi minska Standby Power
    ·Windows inte kan ta bort lösenordet och /eller politik…
    ·Ställa in e-post på F9
    ·Lägga till en texturerad bakgrund till ett Microsoft W…
    ·Hur man skapar en ramdisk i Ubuntu
    ·Hur man kan stoppa den Undantag utan hantering Fångad …
    ·Hur nätverk jag min trådlösa bärbara dator till min…
    ·Vad är proceduren för installation i datorn?
    ·Fungerar Starshine Legacy med Windows 7?
    Copyright © Dator Kunskap https://www.dator.xyz