Citation: 4P.74/2000 07.07.2000 E. A

A.- a) Nell'agosto del 1983 la società di assicurazioni Ticino Vita (divenuta ora l'American Security Life Insurance Company (Switzerland) Ltd. , in breve : ASL) ha concluso con la Centro Elaborazione Dati S.A. (in seguito : CEDA) un contratto per il quale quest'ultima si è impegnata a mettere a disposizione dell'ASL un sistema di elaborazione dati corrispondente alle sue specifiche esigenze, a predisporre su questo impianto il software operativo necessario nonché a fornire il personale specializzato per il funzionamento e la manutenzione del sistema. Per l'insieme di queste prestazioni le parti hanno pattuito una retribuzione mensile di fr. 25'000.-- per i primi tre anni, aumentata a fr. 27'000.-- a partire dal quarto anno. La durata del contratto era fissata in 10 anni e tre mesi a decorrere dal 1° gennaio 1984, vale a dire sino al 31 marzo 1994. Una clausola prevedeva la facoltà di disdetta anticipata per ambo le parti in caso di reiterata e grave inadempienza degli obblighi contrattuali. Contemporaneamente le parti hanno concluso un contratto di locazione con il quale la società assicuratrice concedeva alla CEDA l'occupazione di determinati locali nel suo stabile di Breganzona sino al 31 luglio 1992, con possibilità di rinnovo tacito. b) Il 23 dicembre 1987 le parti hanno convenuto di sostituire l'elaboratore installato nel 1983 con un modello più aggiornato. L'originario contratto è stato di conseguenza modificato specificando che la CEDA avrebbe d'ora innanzi messo a disposizione della ASL un'operatore per la gestione del sistema e un programmatore a tempo pieno. All' occasione è stata adeguata anche la rimunerazione dovuta dalla ASL, suddividendola in differenti posizioni: quella denominata "affitto del sistema" prevedeva un'aumento graduale del pagamento mensile sino a fr. 29'868.-- nel 1993; quella relativa all'attività del programmatore e dell'operatore un versamento mensile, sempre con riferimento all' anno 1993, di circa fr. 20'000.--. Per acquistare il nuovo sistema operativo, la CEDA ha chiesto e ottenuto una linea di credito dall'allora Banco di Roma (oggi Banco di Lugano, in breve BDL), il quale, a copertura dell'esposizione, ha preteso dalla CEDA la cessione dei crediti nei confronti della ASL riguardanti il canone mensile previsto dal contratto. La ASL ha quindi di seguito versato gli importi relativi direttamente al BDL. c) In seguito alle prime difficoltà finanziarie, nel 1991 la CEDA ha sospeso i pagamenti del canone di locazione per i locali messigli a disposizione presso la sede della ASL; quest'ultima ha quindi chiesto di compensare tali mancati introiti con le mensilità dovute per il noleggio dell'installazione informatica. Questo contenzioso è stato risolto solo a metà febbraio del 1992, con compensazione dei rispettivi debiti e crediti e un versamento a pareggio da parte della ASL alla banca. Con scritto del 19 febbraio 1992, la ASL si è inoltre impegnata nei confronti del BDL, irrevocabilmente e incondizionatamente, a versare sino alla scadenza pattuita del 31 marzo 1994 gli importi mensili previsti dal contratto. La lettera precisava che la società assicuratrice rinunciava espressamente a qualsiasi trattenuta a compensazione di eventuali pretese presenti o future nei confronti della CEDA. d) Il 17 maggio 1993 è stata concessa alla CEDA una moratoria concordataria; il 19 maggio successivo la ASL ha comunicato al BDL, alla CEDA e al commissario del concordato di recedere con effetto immediato dal contratto, posto che il centro informatico, a suo dire divenuto obsoleto, non rispondeva assolutamente più alle esigenze della società. Il BDL ha immediatamente risposto a questa disdetta, comunicando che, conformemente all'impegno sottoscritto il 19 febbraio 1992, riteneva preciso obbligo della società assicuratrice corrispondere i versamenti mensili sino alla scadenza contrattuale del 31 marzo 1994, pena l'apertura di una procedura esecutiva nei suoi confronti. Malgrado questa comminatoria, l'ASL non ha più versato alla banca gli importi mensili di cui al contratto per la gestione dell'informatica a partire dal giugno 1993.