Faits :
A.
Depuis 2004, Y._ SA (ci-après: l'acheteuse), ayant pour but la fabrication et le commerce de machines, utilisait un outil informatique commercialisé par X._ AG (ci-après: la venderesse), société ayant notamment pour but le développement et la distribution de solutions logicielles dans le domaine de la gestion des risques.
En 2010, la venderesse a mis sur le marché une nouvelle version réseau (web) de son programme de gestion des opportunités et des risques. Le 12 juillet 2010, elle a présenté une offre à l'acheteuse pour un montant total de 62'500 fr., comprenant les postes suivants: 57'000 fr. à titre de redevance de licence (soit 30'000 fr. pour " X.N._ " et 27'000 fr. pour " X.M._ " en tenant compte d'un rabais de 10%); 2'500 fr. pour la préparation et l'installation du serveur; 9'000 fr. pour la formation à prodiguer par un employé de la venderesse (au tarif de 3'000 fr. par jour durant trois jours).
Il était prévu d'installer le logiciel pour l'exercice "A._ 2010 ", soit un projet de présentation de la gestion des opportunités et des risques de la société acheteuse, en vue de son prochain conseil d'administration. Le nouveau programme devait être installé et prêt à fonctionner d'ici octobre 2010.
Le 18 septembre 2010, la venderesse a adressé à l'acheteuse une facture d'acompte de 16'140 fr.
Le logiciel a été installé le 23 septembre 2010.
Par courriel du 24 septembre 2010, B._, représentant de la société acheteuse, a signalé à C._, représentant de la venderesse, que le programme souffrait de défauts majeurs, récapitulés dans un document annexé.
Le 6 octobre 2010, B._ a adressé un nouveau courriel à C._ pour lui faire savoir que le système installé n'était toujours pas stable à 100% et qu'il ne pouvait procéder à l'exercice A._. Il attendait que la venderesse lui communique, d'ici au lendemain, s'il pourrait utiliser les nouveaux outils ou s'il était nécessaire, en vue de l'exercice A._ qui ne souffrait aucun retard, de continuer à travailler avec les anciens outils informatiques.
Ce n'est que le 12 octobre 2010 que C._ l'a informé que la venderesse était toujours en train de travailler sur les problèmes rencontrés et qu'il a évoqué la possibilité de travailler avec l'ancien logiciel.
Par courriel du même jour, B._ a communiqué à la venderesse que la société acheteuse avait assez perdu de temps avec le nouveau logiciel et qu'il avait décidé d'utiliser l'ancien programme pour la préparation de la gestion des risques. Par la suite, un employé de la venderesse a contribué à adapter, pour l'exercice A._ 2010, l'ancien outil informatique. Il résulte également de ce courriel que l'acheteuse n'a pas résilié le contrat du 12 juillet 2010, ni réclamé une réduction du prix, mais, qu'elle a enjoint la venderesse de procéder à la " réparation " (soit d'éliminer les défauts) du logiciel. L'acheteuse a explicitement demandé à la venderesse de l'aviser " comment et quand ceci est planifié " et, lui rappelant l'accord liant les parties, lui a suggéré de n'envoyer la facture finale (moins l'acompte initial déjà facturé) que lorsqu'elle aurait à sa disposition la version fonctionnelle. Trois semaines plus tard, l'acheteuse s'est acquittée de l'acompte de 16'140 fr.
L'acceptation de l'offre par la venderesse n'étant pas discutée, on observe que les parties, en dérogation au système légal, ont conclu un accord visant la réparation (cf. aussi dans l'arrêt entrepris consid. 4.3 p. 18).
S'agissant du logiciel à l'origine du litige (gestion des risques), l'état de fait contenu dans l'arrêt cantonal ne traite pas explicitement de la période située entre le 12 octobre 2010 et janvier 2012. Il résulte toutefois des pièces figurant dans le dossier cantonal (auxquelles la venderesse renvoie précisément; cf. infra consid. 3.1) que, durant cette période, la venderesse a sollicité plusieurs fois l'acheteuse pour la mise à jour du logiciel, comme celle-ci l'avait demandé le 12 octobre 2010. L'acheteuse n'y a pas donné suite et la venderesse n'a pas pu installer, dans les locaux de la société acheteuse, la version améliorée du logiciel.
Le 9 janvier 2012, l'acheteuse a expliqué qu'elle avait passé beaucoup de temps à tenter de faire fonctionner le programme de gestion des risques, en vain, que de nombreux changements avaient eu lieu dans son organisation interne et que la question du traitement de l'exercice A._ dans le futur restait ouverte.
Le 20 janvier 2012, elle a résilié tous les contrats conclus avec la venderesse (y compris celui conclu le 12 juillet 2010).
La venderesse s'est alors opposée à la résiliation, le 2 mars 2012, considérant que l'acheteuse était en demeure et elle lui a fixé un délai de 14 jours pour formuler des propositions de dates auxquelles elle pourrait procéder à une nouvelle installation du logiciel, tout en précisant qu'elle s'attendait à ce que l'installation, y compris la formation et les essais, puisse être réalisée dans le courant du mois d'avril 2012.
L'acheteuse ayant décliné la proposition de la venderesse, celle-ci a alors déclaré, le 12 avril 2012, résilier le contrat en application de l'art. 107 CO et elle a exigé le versement du montant de 61'560 fr. à titre de dommages-intérêts dans un délai de 14 jours, expliquant que l'acompte versé couvrait plus ou moins les coûts de ses travaux précédents (en particulier les travaux sur l'ancien logiciel).
L'acheteuse n'est pas entrée en matière.
B.
Par demande du 4 octobre 2012, la venderesse a conclu au paiement immédiat de la somme de 61'560 fr. intérêts en sus.
L'acheteuse a conclu au rejet de la demande.
Par jugement du 8 septembre 2014, le Tribunal civil de l'arrondissement de la Broye et du Nord vaudois a rejeté la demande de la venderesse et mis les frais et les dépens à sa charge.
Par arrêt du 21 avril 2015, la Cour d'appel civile du Tribunal cantonal vaudois a rejeté l'appel formé par la venderesse, confirmé le jugement de première instance et mis les frais et les dépens à la charge de l'appelante.
C.
La venderesse (recourante) exerce un recours en matière civile contre l'arrêt cantonal du 21 avril 2015. Elle conclut, sous suite de frais et dépens, à son annulation et à ce que l'acheteuse soit condamnée à lui verser le montant de 61'560 fr., intérêts en sus, subsidiairement au renvoi de la cause à l'autorité précédente. Elle reproche à celle-ci d'avoir établi les faits de façon inexacte (art. 97 LTF) et elle invoque une violation de l'art. 210 aCO (alors encore applicable), de l'art. 8 CC et de l'art. 55 al. 1 CPC.
L'acheteuse (intimée) conclut au rejet du recours, sous suite de frais et dépens.
Considérant en droit :
1.
1.1. Déposé en temps utile (art. 100 al. 1 LTF) par la demanderesse qui a succombé dans ses conclusions en paiement (art. 76 al. 1 LTF) et dirigé contre un arrêt final (art. 90 LTF) pris sur recours par le tribunal supérieur du canton (art. 75 LTF) dans une contestation dont la valeur litigieuse est supérieure à 30'000 fr. (art. 74 al. 1 let. b LTF), le recours en matière civile est recevable au regard de ces dispositions.
1.2. Le recours en matière civile au Tribunal fédéral peut être exercé pour violation du droit suisse tel qu'il est délimité à l'art. 95 LTF, en particulier du droit fédéral, y compris le droit constitutionnel (let. a).
Le Tribunal fédéral applique le droit d'office (art. 106 al. 1 LTF), sans être lié ni par les motifs de l'autorité précédente, ni par les moyens des parties; il peut donc admettre le recours en se fondant sur d'autres arguments que ceux invoqués par le recourant, comme il peut le rejeter en opérant une substitution de motifs (ATF 133 III 545 consid. 2.2).
1.3. Le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (art. 105 al. 1 LTF). Il ne peut s'en écarter que si ces faits ont été établis de façon manifestement inexacte - ce qui correspond à la notion d'arbitraire au sens de l'art. 9 Cst. (ATF 137 I 58 consid. 4.1.2; 137 II 353 consid. 5.1) - ou en violation du droit au sens de l'art. 95 LTF (art. 105 al. 2 LTF), et si la correction du vice est susceptible d'influer sur le sort de la cause (art. 97 al. 1 LTF).
La partie recourante qui soutient que les faits ont été constatés d'une manière arbitraire doit satisfaire au principe d'allégation (art. 106 al. 2 LTF), c'est-à-dire soulever expressément ce grief et exposer celui-ci de façon claire et détaillée (ATF 135 III 232 consid. 1.2; 133 II 249 consid. 1.4.2). Il lui appartient de démontrer précisément, pour chaque constatation de fait incriminée, comment les preuves administrées auraient dû, selon elle, être correctement appréciées et en quoi leur appréciation par l'autorité cantonale est insoutenable (ATF 129 I 113 consid. 2.1 p. 120; 128 I 295 consid. 7a p. 312).
Dans la mesure où, comme elle le précise, la recourante (dans la première partie de son mémoire intitulée " I. Introduction au cas - de quoi s'agit-il ? ") ne fait que rappeler les faits aux fins de présenter la " toile de fond " de son argumentation (cf. acte de recours p. 4 à 7), il n'y a pas lieu d'y voir une quelconque critique de l'état de fait dressé par les magistrats cantonaux.
2.
La cour cantonale - contrairement aux premiers juges qui ont soumis " les prestations d'individualisation du logiciel " au contrat d'entreprise (art. 363 ss CO) - a retenu qu'il s'agissait d'un contrat de vente avec obligation de montage (l'installation du logiciel ne nécessitant pas d'importantes prestations d'adaptation et d'individualisation) et que le défaut affectait l'objet de la vente (le logiciel).
Elle a considéré que, l'installation du logiciel ayant été entreprise le 23 septembre 2010, l'avis des défauts avait été donné (le 24 septembre 2010) en temps utile et que l'acheteuse, au moment où elle a été actionnée en paiement, pouvait valablement se prévaloir, conformément à l'art. 210 al. 2 aCO (alors applicable), de l'exception tirée des défauts de la chose qui subsistaient.
L'autorité précédente a également relevé que l'impossibilité totale d'utiliser le produit livré constituait manifestement un défaut important sur le plan juridique, que la venderesse appelante n'avait pas établi que tel n'était pas le cas, et que, l'acheteuse intimée n'ayant pas eu la possibilité d'utiliser le système, on ne pouvait attendre d'elle qu'elle maintienne le contrat. Elle a encore ajouté: " Contrairement à ce que soutient l'appelante, le Tribunal fédéral a laissé ouverte la question de savoir si, sous l'angle de la réparation des défauts, il faut également reconnaître un droit à la réparation - emprunté au droit du contrat d'entreprise - en cas de défaut dans un programme software standard et malgré le classement de celui-ci en principe dans le droit de la vente (ATF 124 III 456). On ne saurait dès lors considérer que l'intimée a fait usage d'un droit formateur en sollicitant dans un premier temps la réparation des défauts, puis la résolution du contrat, les défauts n'ayant pas pu être réparés par l'intimée ".
3.
L'analyse juridique entreprise par la cour cantonale est difficile à suivre. Il semble résulter de l'extrait qui vient d'être évoqué (cf. supra consid. 2 dernier paragraphe), qui paraît être la clé de voûte de la solution retenue, que, la venderesse n'ayant pas réparé l'objet défectueux, la cour cantonale estime que l'acheteuse pouvait sans autre l'invoquer par voie d'exception (art. 210 al. 2 aCO).
La venderesse, qui reproche préalablement à la cour cantonale d'avoir établi les faits de manière arbitraire (art. 97 LTF), invoque une violation de l'art. 210 al. 2 aCO. Elle relève que les parties sont convenues de la réparation de la chose, que l'acheteuse était dès lors liée par son choix et qu'elle ne pouvait, comme elle l'a fait, résilier subitement le contrat (le 20 janvier 2012) sans lui avoir imparti un délai pour s'exécuter. La venderesse rappelle que, dès la résiliation, elle a communiqué à l'acheteuse qu'elle était en demeure de prendre livraison, qu'elle lui a fixé un délai adéquat et qu'elle a ensuite renoncé à l'exécution du contrat et requis des dommages-intérêts en application de l'art. 107 CO.
3.1. S'agissant de l'état de fait dressé par la cour cantonale, on peut constater, à la suite de la venderesse recourante, que l'arrêt entrepris ne donne aucune indication sur le comportement des parties entre le 12 octobre 2010 et janvier 2012. Or, il résulte des pièces désignées par la recourante que, durant cette période, la venderesse a proposé plusieurs fois à l'acheteuse intimée de mettre à jour le nouveau logiciel qui n'avait pas fonctionné en 2010 et que l'acheteuse n'y a pas donné suite (acte de recours p. 11 à 13 et les pièces citées). La Cour de céans tiendra compte de ces points de fait (cf. art. 105 al. 2 LTF) qui ont été admis par le représentant de la société acheteuse dans la procédure cantonale et qui n'ont pas été contesté devant la Cour de céans.
Quant au raisonnement juridique de l'autorité précédente, il est ambigu et l'examen de la cause doit être repris ab ovo.
3.2. Selon l'art. 197 CO, le vendeur est tenu de garantir l'acheteur tant en raison des qualités promises qu'en raison des défauts qui, matériellement ou juridiquement, enlèvent à la chose soit sa valeur, soit son utilité prévue, ou qui les diminuent dans une notable mesure (al. 1). Il répond de ces défauts, même s'il les ignorait (al. 2).
En vertu de l'art. 205 al. 1 CO, dans les cas de garantie en raison des défauts de la chose, l'acheteur a le choix ou de faire résilier la vente en exerçant l'action rédhibitoire, ou de réclamer par l'action en réduction de prix (action minutoire) une indemnité pour la moins-value.
La loi n'accorde pas au vendeur un droit à réparer la chose, de même qu'elle ne donne pas à l'acheteur le droit d'obtenir une telle réparation (ATF 95 II 119 consid. 6).
Dans le cas d'un contrat de vente portant sur un programme software standard, affecté d'un défaut, la question de savoir si l'acheteur, dans ce cas particulier, aurait, de par la loi, un droit à la réparation (application par analogie de l'art. 368 al. 2 CO) a été laissée ouverte (ATF 124 III 456 consid. 2b/bb p. 259 s.).
3.3. Les règles légales sur la garantie des défauts étant de droit dispositif, il est toutefois possible de déroger au système prévu par la loi, et donc de prévoir exclusivement (contractuellement) un droit à la réparation de la chose vendue (arrêt 4C.205/2003 du 17 novembre 2003 consid. 3.1). Même si le droit à la réparation n'a pas été convenu par les parties dans le contrat initial, elles sont libres de le prévoir ultérieurement (arrêt 4A_251/2007 du 6 décembre 2007 consid. 4.2).
3.3.1. Le vendeur (débiteur) est alors lié par son accord et il est tenu d'effectuer la réparation de la chose défectueuse.
3.3.2. L'acheteur (créancier), également lié par son accord, ne peut plus exercer l'action rédhibitoire ou l'action minutoire. Il a le devoir de prêter son concours à l'exécution de la prestation (réparation) par le vendeur. Il ne s'agit pas d'une obligation au sens technique, mais d'une incombance ( Obliegenheit; incombenza).
Le non-respect de cette incombance entraîne, de par la loi (une interpellation n'est donc pas nécessaire), la demeure de l'acheteur (créancier) (art. 91 CO), ce qui exclut que le vendeur (débiteur) puisse lui-même tomber en demeure (arrêt 4C.277/2005 du 17 janvier 2006 consid. 5 non publié in ATF 132 III 321). Dans ces circonstances (et aussi longtemps que dure la demeure de l'acheteur), celui-ci ne peut pas faire valoir ses droits à la garantie à l'encontre du vendeur.
Même si l'incombance n'est pas une obligation (au sens technique), le législateur a néanmoins fait le choix (compréhensible du point de vue de la technique législative) de sanctionner son non-respect - par le renvoi de l'art. 95 CO aux art. 107 s. CO - comme la violation d'une obligation contractuelle (les options prévues aux art. 92 à 94 CO ne sont, en rapport avec le contrat d'espèce portant sur un logiciel, pas envisageables). C'est donc en respectant les exigences prévues aux art. 107 s. CO que le vendeur peut, le cas échéant, résilier le contrat qui le lie à l'acheteur.
A défaut d'un motif pertinent prévu à l'art. 108 CO, il lui incombe de fixer un délai à l'acheteur pour que celui-ci respecte son incombance et, une fois le délai écoulé, il lui appartient de déclarer immédiatement qu'il renonce à l'exécution du contrat et demande des dommages-intérêts (positifs).
La déclaration est immédiate lorsqu'elle est faite aussi vite que possible selon la marche ordinaire des affaires et les circonstances particulières de l'espèce. C'est notamment le cas lorsqu'elle intervient dans un laps de temps tel qu'il n'en résulte pas d'inconvénient pour l'acheteur (cf. arrêt 4A_603/2009 du 9 juin 2010 consid. 2.2, où la déclaration est intervenue plus d'un mois après l'expiration du délai).
3.4. Selon l'art. 210 al. 1 aCO, alors applicable, toute action en garantie pour les défauts de la chose se prescrit par un an dès la livraison faite à l'acheteur, même si ce dernier n'a découvert les défauts que plus tard; sauf le cas dans lequel le vendeur aurait promis sa garantie pour un délai plus long.
Les exceptions dérivant des défauts de la chose subsistent, lorsque l'avis prévu par la loi a été donné au vendeur dans l'année à compter de la livraison (art. 210 al. 2 aCO).
Concrètement, cela signifie que si l'acheteur a valablement notifié l'avis des défauts au vendeur et que celui-ci lui intente une action en paiement une fois écoulé le délai de l'art. 210 al. 1 aCO, l'acheteur peut en principe quand même paralyser définitivement le droit d'action (lié à la créance) du vendeur en se prévalant de l'exception résultant des défauts constatés.
Toutefois, si les défauts n'ont pu être écartés (réparés) par le vendeur en raison du comportement de l'acheteur (action ou omission ayant pour conséquence que le vendeur ne peut procéder à la réparation), l'acheteur, qui n'a pas respecté son incombance, tombe en demeure et il ne saurait dès lors faire valoir, en soulevant l'exception résultant des défauts constatés, son droit à la garantie contre le vendeur (cf. supra consid. 3.3.2).
3.5.
Il convient maintenant de procéder à la subsomption, à la lumière des considérations qui précèdent.
3.5.1. En l'espèce, il résulte des constatations cantonales que l'installation d'un nouveau logiciel était convenue entre les parties, qu'elle était terminée le 23 septembre 2010, que des défauts ont été constatés, que l'acheteuse a valablement fait l'avis des défauts (le 24 septembre 2010) et que la venderesse n'est pas parvenue à y remédier avant la réalisation de l'exercice A._, soit le terme comminatoire convenu (au moins tacitement) entre les parties. Il est ici patent que, la date d'échéance étant passée, l'acheteuse n'avait plus à intervenir auprès de la venderesse pour qu'elle s'exécute, mais qu'elle aurait pu, selon le système prévu par l'art. 205 al. 1 CO, résilier le contrat ou (hypothèse théorique en l'espèce puisque le logiciel était totalement inutilisable) demander une diminution du prix.
Dérogeant au système légal, les parties ont toutefois choisi de faire usage de leur liberté contractuelle et elles sont convenues que la venderesse procéderait à la " réparation " (soit à l'élimination des défauts) du logiciel.
Les parties étaient dès lors liées contractuellement. La venderesse était tenue de remédier aux défauts du logiciel et l'acheteuse ne pouvait plus exercer l'action rédhibitoire ou l'action minutoire, mais elle devait prendre les mesures nécessaires pour que la venderesse puisse exécuter sa prestation (incombance).
Il résulte de l'état de fait (complété) que la venderesse a sollicité plusieurs fois la société acheteuse afin de pouvoir remédier aux défauts affectant le logiciel, mais qu'elle n'a pu opérer aucune réparation ou nouvelle installation dans les locaux de l'acheteuse. Force est de constater que l'acheteuse s'est totalement désintéressée du logiciel, qu'elle n'a pas donné l'occasion à la venderesse de le réparer (même après la mise en demeure [qualifiée] de la venderesse le 2 mars 2012), mais qu'elle a décidé unilatéralement d'abandonner le projet et de résilier le contrat qui la liait à la venderesse (le 20 janvier 2012), sans revenir par la suite sur sa décision.
3.5.2. Cela étant, en jugeant que l'acheteuse pouvait invoquer, par voie d'exception, les défauts auxquels la venderesse n'avait pas remédié, la cour cantonale a ignoré le comportement de l'acheteuse. Vu la passivité de l'acheteuse, il y a lieu d'admettre que celle-ci n'a pas respecté son incombance, qu'elle était en demeure et que c'est précisément pour cette raison que les défauts n'ont pas pu être écartés par la venderesse. Même si elle avait encore été dans le délai prévu à l'art. 210 al. 1 aCO, l'acheteuse n'aurait pas pu mettre en demeure la venderesse et faire valoir son droit à la garantie (cf. supra consid. 3.3.2); de même, dans le cas d'espèce, elle ne peut faire valoir ce droit par voie d'exception (cf. supra consid. 3.4).
3.6. En ce qui concerne les prétentions de la venderesse, il résulte encore des constatations cantonales qu'elle s'est opposée à la résiliation, le 2 mars 2012, considérant que l'acheteuse était en demeure (cf. art. 91 CO) et elle lui a fixé un délai de 14 jours pour formuler des propositions de dates auxquelles elle pourrait procéder à une nouvelle installation du logiciel, en l'informant que l'installation, y compris la formation et les essais, pourrait être réalisée dans le courant du mois d'avril 2012 (cf. art. 95 et 107 CO). L'acheteuse ayant décliné la proposition de la venderesse (le 23 mars 2012), celle-ci a alors déclaré, le 12 avril 2012, qu'elle renonçait à l'exécution du contrat et elle a exigé le versement du montant de 61'560 fr. à titre de dommages-intérêts (positifs) dans un délai de 14 jours, expliquant que l'acompte versé couvrait plus ou moins les coûts de ses travaux précédents (cf. art. 107 al. 2 CO). L'acheteuse n'est pas entrée en matière.
Il importe peu qu'il se soit écoulé presqu'un mois entre la fin du dernier délai fixé par la venderesse et la déclaration selon laquelle elle renonçait à son droit, l'acheteuse - qui avait déjà elle-même résilié le contrat et indiqué qu'elle ne s'exécuterait pas - n'ayant à l'évidence subi aucun inconvénient de ce fait (cf. supra consid. 3.3.2).
La venderesse a donc valablement renoncé à l'exécution du contrat, ce qui lui donne le droit à des dommages-intérêts. La cour cantonale n'ayant pas examiné cette question, la Cour de céans ne peut toutefois procéder au calcul du dommage. Il convient dès lors d'admettre le recours interjeté par la venderesse, d'annuler l'arrêt rendu par la cour cantonale et de lui renvoyer la cause pour qu'elle calcule le montant du dommage subi par la venderesse.
3.7. Vu l'issue de la cause, il est superflu d'examiner le deuxième moyen de la recourante relatif à l'établissement arbitraire des faits (acte de recours p. 9 à 11).
Il n'est pas non plus nécessaire de se pencher sur les critiques visant l'application de l'art. 8 CC (fardeau de la preuve) et de l'art. 55 al. 1 CPC (maxime des débats).
4.
Le recours en matière civile est admis, l'arrêt attaqué est annulé et la cause est renvoyée à l'autorité cantonale pour nouvelle décision dans le sens des considérants.
L'acheteuse intimée, qui succombe, supportera les frais et dépens (art. 66 al. 1 et 68 al. 1 et 2 CO).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis, l'arrêt attaqué est annulé et la cause est renvoyée à l'autorité cantonale pour nouvelle décision dans le sens des considérants.
2.
Les frais judiciaires, arrêtés à 3'000 fr., sont mis à la charge de l'intimée.
3.
L'intimée versera à la recourante une indemnité de 3'500 fr. à titre de dépens.
4.
Le présent arrêt est communiqué aux parties et au Tribunal cantonal du canton de Vaud, Cour d'appel civile.
Lausanne, le 3 mars 2016
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Kiss
Le Greffier : Piaget