Informační tok Funkční structura Datová struktura ER model Modulová struktura Typová struktura Relační model Dokumentace


[Celkový datový model] [Funkce] [Externí rohraní] [Stavové diagramy] [Datové elementy] [Entity] [Relace]
[Databáze] [Události] [Materiály] [Generovací funkce] [Vyhodnocovací funkce] [Konfigurace] [Uživatelé] [Projekt] [Home]



Vyhodnocovací funkce
Check_Refinements
(Module Structure)


Vytvořeno: 12-11-1995 11:47:15
Poslední změna: 12-05-2002 11:09:58

Outputs a list of all structure elements whose refinements are formally incorrect.

Modul

Module: Module Structure

Zdrojový kód:

PROCEDURE Check_Refinements FOR MODULE
BEGIN
/*
  check refinements; print name of elements without refinement
*/

  PRINT {"ARIAL",12,BOLD} "Test větvení modulové struktury ";
  PRINT {"ARIAL",12,BOLD,ITALIC} CONV$(Module.Boxname),NL(2);

  first%=0;
  found%=0;
  FOREACH Component AS E WHERE E.Module=Module.Name
                         AND E.Parentpage<>0
                         AND E.Boxname<>Module.Boxname DO
    children%=0;
    FOREACH Component AS C WHERE C.Module=Module.Name
                             AND C.Parentpage=E.Page
                             AND C.Parentno=E.Compno DO
      children%=children%+count();
      IF Type="np" THEN
        children%=children%+1;
      END
      BREAK;
    END
    FOREACH Funcdef AS C WHERE C.Module=Module.Name
                             AND C.Parentpage=E.Page
                             AND C.Parentno=E.Compno DO
      children%=children%+count();
    END
    FOREACH Usage AS C WHERE C.Module=Module.Name
                             AND C.Parentpage=E.Page
                             AND C.Parentno=E.Compno DO
      children%=children%+count();
      BREAK;
    END
    FOREACH Typeref AS C WHERE C.Module=Module.Name
                             AND C.Parentpage=E.Page
                             AND C.Parentno=E.Compno DO
      children%=children%+count();
      BREAK;
    END
    FOREACH Relationref AS C WHERE C.Module=Module.Name
                             AND C.Parentpage=E.Page
                             AND C.Parentno=E.Compno DO
      children%=children%+count();
      BREAK;
    END
    FOREACH Cursor AS C WHERE C.Module=Module.Name
                          AND C.Parentpage=E.Page
                          AND C.Parentno=E.Compno DO
      children%=children%+count();
      BREAK;
    END
    FOREACH Templateelement AS C WHERE C.Module=Module.Name
                             AND C.Parentpage=E.Page
                             AND C.Parentno=E.Compno DO
      children%=children%+count();
      BREAK;
    END

    IF children% < 2 THEN
      found%=1;
      IF first%=0 THEN
        PRINT {BOLD,"ARIAL",10} "Nekompletní větvení:",NL;
        first%=1;
      END
      PRINT {"ARIAL",10} TAB(4),CONV$(E.Boxname),NL;
    END

  END
  
  IF found%=0 THEN
    PRINT {"ARIAL",10} TAB(4),"Bez formálních chyb větvení.",NL;
  END
  PRINT NL;

END


Generováno: 16.10.2003 7:41 Systém: C:\Documents and Settings\hajsman\Dokumenty\Vyuka\Irs2\Projekt case40\Projekt03.csf Generováno systémem case/4/0
Vygeneroval: Administrator Soubor: C:\Documents and Settings\hajsman\Dokumenty\Vyuka\Irs2\Projekt case40\html\28648.htm (C) microTOOL GmbH 2002