Diagramma classi UML per progetto MVC che esegue il progetto R

0

Sto lavorando al progetto MVC di ASP.NET in cui il controller chiama la classe statica che esegue gli script R dal progetto R esterno

Controller

public ActionResult Index()
        {
            Rscript.Run("WordCloud");// name of script file for example WordCloud
            return View();
        }

rscript

 public static class Rscript
    {
        public static bool Run(string filename)
        {
            var rCodeFilePath = $"\RProject\{filename}.R";
            var rScriptExecutablePath = @"C:\Rscript.exe";

            var result = string.Empty;

            try
            {
                var info = new ProcessStartInfo
                {
                    FileName = rScriptExecutablePath,
                    WorkingDirectory = Path.GetDirectoryName(rScriptExecutablePath),
                    Arguments = rCodeFilePath,
                    RedirectStandardInput = false,
                    RedirectStandardOutput = true,
                    UseShellExecute = false,
                    CreateNoWindow = true
                };


                using (var proc = new Process())
                {
                    proc.StartInfo = info;
                    proc.Start();
                    proc.Close();
                }

                return true;
            }
            catch (Exception ex)
            {
                //return false;
                throw new Exception("R Script failed: " + result, ex);

            }
        }
    }
  1. Come posso rappresentare la relazione nel diagramma di classe UML tra controller e classe statica Rscript?

  2. Esiste una relazione tra i file di script R e MVC dovrebbe essere rappresentato in UML?

posta programmer 25.04.2018 - 20:29
fonte

1 risposta

1

How can I represent the relationship in UML class diagram between controller and static class Rscript?

Avrei bisogno di vedere la classe controller completa per essere assolutamente certa, ma sulla base del codice che hai dimostrato, il Controller e la classe Rscript sarebbero rappresentati da una classe. Ci sarebbe una dipendenza tra la classe Controller e la classe Rscript . Poiché Rscript è una classe statica e il controller non mantiene un'istanza di uno a livello di classe, non sembra possibile utilizzare una relazione più strong, ad esempio un'associazione. Puoi fare in modo di indicare che la dipendenza è solo un modo, anche se il controller dipende da Rscript , ma Rscript non dipende dal controller.

Per rendere il modello più chiaro, puoi utilizzare gli stereotipi sulla classe Rscript per indicare che è statico e per annotare la dipendenza.

Is there a relationship between R scripts files and MVC should represented in UML?

Poiché gli script vivono al di fuori dell'applicazione e sono entità separate, non mi aspetto che vengano visualizzati in un diagramma di classi.

Invece, potresti voler mostrare le interazioni tra sistemi su diagrammi come diagrammi di componenti o diagrammi di attività. Puoi anche utilizzare un diagramma di sequenza per definire il comportamento del metodo Rscript della classe Run . Se gli eseguibili dello script sono sufficientemente complessi, potresti avere vari diagrammi di sequenza o flusso di dati anche per quelli.

    
risposta data 28.04.2018 - 01:38
fonte

Leggi altre domande sui tag