Fatti:
A.
Nel corso del 2002 il Consiglio di Stato ticinese ha affidato alla ditta A._ SA due mandati di consulenza nell'ambito della sicurezza: uno per l'elaborazione del bando di concorso di progettazione del nuovo comando della Polizia cantonale a X._; l'altro per l'integrazione in questa struttura della nuova centrale comune di allarme. I rapporti contrattuali sono stati contraddistinti da innumerevoli chiarimenti e riunioni. Il contratto è stato firmato il 15 dicembre 2004. La controversia trae origine dalla fattura intitolata "onorario per piattaforma informatica" di fr. 402'421.30 (fr. 373'997.50 di onorario più fr. 28'423.80 di IVA) emessa il 2 marzo 2005 dalla A._ SA. La fattura non è stata pagata poiché i rappresentanti dello Stato obiettavano che i mandati di consulenza non includessero prestazioni concernenti la piattaforma informatica.
B.
Il 20 agosto 2008 A._, cessionario del credito della società omonima, ha avviato la causa civile davanti al Pretore del distretto di Bellinzona chiedendo che lo Stato del Cantone Ticino fosse condannato a pagargli fr. 402'421.30 e che fosse rigettata definitivamente per quell'importo l'opposizione al precetto esecutivo n. 555415 dell'Ufficio di esecuzione e fallimenti di Bellinzona. Lo Stato si è opposto totalmente all'azione. Il Pretore l'ha respinta con sentenza del 20 agosto 2012.
Il successivo appello di A._ è stato a sua volta respinto, nella misura in cui era ricevibile, il 15 luglio 2014 dalla II Camera civile del Tribunale di appello ticinese.
C.
A._ insorge davanti al Tribunale federale con ricorso in materia civile del 12 settembre 2014. Chiede che la sentenza d'appello sia annullata e che la causa sia rinviata alla Corte cantonale per nuovo giudizio nel senso dei considerandi. Lo Stato propone che il ricorso, per quanto ammissibile, sia respinto. L'autorità inferiore non ha preso posizione.
Diritto:
1.
Il ricorso è ammissibile: è presentato dalla parte soccombente nella procedura cantonale (art. 76 cpv. 1 lett. a LTF), è tempestivo (art. 46 cpv. 1 lett. b combinato con l'art. 100 cpv. 1 LTF) ed è volto contro una sentenza finale (art. 90 LTF) emanata su ricorso dall'autorità ticinese di ultima istanza (art. 75 LTF) in una causa civile (art. 72 cpv. 1 LTF) con un valore litigioso superiore a fr. 30'000.-- (art. 74 cpv. 1 lett. b LTF).
2.
Il Pretore ha stabilito inizialmente che il contratto sottoscritto dalle parti il 15 dicembre 2004 escludeva espressamente qualsiasi prestazione inerente alla progettazione della piattaforma informatica e che pattuizioni tacite o per atti concludenti a tale riguardo sarebbero state nulle in applicazione della legislazione cantonale e intercantonale sulle commesse pubbliche, che esige imperativamente la forma scritta. A prescindere da ciò egli ha in seguito accertato d'un lato che la mandataria sapeva con certezza perlomeno dal mese di marzo 2004 in poi che la piattaforma informatica era stata esclusa dal suo incarico; dall'altro che le prestazioni anteriori a quella data non giustificavano per diversi motivi le pretese poste in causa. Passando all'esame della fattura del 2 marzo 2005 (doc. N) il Pretore ha osservato che per il calcolo dell'onorario la parte attrice non poteva prevalersi né della norma SIA 108, della quale non ha provato di avere pattuito l'applicazione, né dei parametri fissati nel verbale del 26 gennaio 2004 (doc. H), dato che tale atto non contiene nessun riferimento alla progettazione della piattaforma informatica. La sentenza di primo grado si conclude con queste considerazioni (consid. 26) :
"Avendo altresì rinunciato alla prova peritale sull'ammontare delle prestazioni fornite (scritto della parte attrice del 20 aprile 2012), e non essendo stata trovata alcuna traccia nell'incarto di un qualsivoglia elemento atto a stabilire il valore delle prestazioni evocate dall'attore, ne discende che quest'ultimo non ha saputo far fronte all'onere - che gli incombeva in applicazione dell'art. 8 CC - di provare la congruità dell'onorario di cui postula il pagamento. La petizione sarebbe quindi, anche per quest'ultimo motivo, destinata all'insuccesso."
La Corte d'appello ha rimproverato all'attore di non essersi " assolutamente confrontato " con quest'ultima argomentazione del Pretore, violando in tale modo l'obbligo di motivazione impostogli dall'art. 311 cpv. 1 CPC, in relazione con il principio giurisprudenziale secondo cui l'appellante deve contestare con successo, sotto pena di inammissibilità, tutte le motivazioni alternative e indipendenti sulle quali si fonda il giudizio impugnato. In via subordinata il Tribunale d'appello ha nondimeno esaminato nel merito la suddetta argomentazione del Pretore, giudicandola corretta. I giudici cantonali hanno in sostanza confermato che la verifica del calcolo dell'onorario, in particolare la determinazione del valore da prendere in considerazione per il mandato di consulenza e della percentuale di opere fatturabili eseguite, era una questione "eminentemente tecnica" che non poteva prescindere dall'allestimento di una perizia giudiziaria.
3.
Il ricorrente dice di essere consapevole della necessità di contestare tutte le motivazioni indipendenti di una sentenza, ma precisa che tale regola vale solo in presenza di motivazioni "effettivamente alternative ". Questa condizione non sarebbe realizzata nel caso concreto, ove " la questione dell'onorario (...) dipende da quella di sapere se fra le parti è sorto un contratto e se l'accordo concerne anche l'ammontare dell'onorario ". A mente del ricorrente il verbale della riunione del 16 gennaio 2004 (doc. H) " dà atto del perfezionamento dell'accordo sui parametri di calcolo dell'onorario "; la sentenza cantonale, ignorandolo, violerebbe il diritto di essere sentiti e l'art. 8 CC e sarebbe arbitraria.
La censura è infondata. È certo che v'è una relazione di dipendenza tra la conclusione del contratto concernente la consulenza per la piattaforma informatica e il pagamento dell'onorario da parte dello Stato per quella prestazione; l'obbligo del mandatario di pagare l'onorario presuppone evidentemente l'esistenza del contratto di mandato, il quale può stabilire (ma non necessariamente) le modalità di calcolo e di pagamento. Questa dipendenza materiale dei due temi di causa controversi - l'esistenza del contratto e l'ammontare dell'onorario - non implica tuttavia la dipendenza delle motivazioni con le quali il Pretore li ha decisi. In effetti, con la motivazione principale il primo giudice ha stabilito che l'attore non ha provato la stipulazione, neppure per atti concludenti, di un contratto di consulenza avente per oggetto la piattaforma informatica; con quella subordinata egli ha accertato che, fosse anche sorto un contratto del genere, l'attore non avrebbe comunque provato " il valore delle prestazioni " effettuate, per le quali vuole essere remunerato.
Giuste o sbagliate che siano, considerino o no il documento H, le due motivazioni sono indubbiamente indipendenti e alternative, poiché ognuna di esse è sufficiente per respingere la petizione. Il ricorrente doveva pertanto contestarle entrambe. Come obietta lo Stato, davanti al Tribunale federale egli non nega di non averlo fatto.
4.
S'è detto che anche la sentenza d'appello è fondata su due motivazioni alternative e indipendenti (consid. 2); una di carattere formale riguardante l'art. 311 cpv. 1 CPC, l'altra sostanziale. Dal momento che le critiche volte contro la prima sono infondate, è superfluo esaminare le censure che il ricorrente propone contro la seconda.
5.
Da quanto precede discende che il ricorso si rivela infondato e va respinto. Le spese seguono la soccombenza (art. 66 cpv. 1 LTF). Lo Stato del Cantone Ticino è convenuto in causa quale mandante nell'ambito della realizzazione di un'opera pubblica; si tratta dell'esercizio di una funzione ufficiale nel senso dell'art. 68 cpv. 3 LTF, per cui non gli sono assegnate ripetibili.
Per questi motivi, il Tribunale federale pronuncia:
1.
Il ricorso è respinto.
2.
Le spese giudiziarie di fr. 7'000.-- sono poste a carico del ricorrente.
3.
Comunicazione ai patrocinatori delle parti e alla II Camera civile del Tribunale d'appello del Cantone Ticino.