2009-09-14 52 views
5

我目前正在开发一个项目,在那里我必须为我们公司的新项目设计/实施计费/开票系统。我们将每月一次生成发票作为pdf文件,并向客户发送文件链接。.NET中计费/发票软件设计的最佳实践

使用的框架将是.Net 3.5/C#。由于我从零开始从事这项工作的经验并不多,因此我想知道是否有一些软件方面的最佳实践,我应该考虑这些特定于此类应用程序的实践?

我意识到这个问题可能很主观,但我正在寻找一些指导方针,记住那些通常会被忽略或者可能不明显的指导方针。

回答

2

保持安全!确保您的用户可以通过受密码保护的HTTPS连接获取信息!让用户选择他们自己的密码。并且要小心,因为帐单/发票信息被认为是非常敏感的,因此准备有人会尝试侵入此系统。会有人试图滥用这个发票系统,所以有一件事很重要:安全!

一些公司在因为黑客获得系统权限而必须支付损害赔偿金后已经彻底破产!

从编写一个多层设计开始,它应该包含多个物理服务器。一台带客户发票/账单数据的数据库服务器。一个中间层业务服务器来存储您的业务逻辑。而且只有一个Web服务器只能与业务层交谈,而不能在后台与数据库交流!如果可能,请将数据库保存在不同的网络中。优选地,没有通往外部世界的网关的网络。

0

考虑使用SSRS或其他报告包来创建PDF并将其发送给客户。

1

您是否正在实施适当的结算/发票系统,或者只是创建PDF并发送链接的部分?如果前者,你必须提供实际的要求来接受指导。如果后者,像SSRS这样的东西可以很好地工作。

+0

它是前者。给我的实际需求与我写的差不多,所以我在这方面比我喜欢的要盲目一点 - 但是我正在努力获得更好的需求 - 一旦我找到了它们,我会根据需要更新我的问题。谢谢! – Streklin 2009-09-14 14:36:39

+0

在这一点上,我会更担心获得准确的要求,而不是具体的实施问题。一旦你有要求的起始清单,你可以评估工作范围,并决定购买COTS产品是否更具成本效益。尝试发现角色(例如AccountsReceivable,Customer,SysAdmin)以及您需要支持的用途。并试图明确区分功能需求(例如,客户观看账单)和非功能需求(例如,应用程序是在.NET 3.5上编写的)。 – pfries 2009-09-14 19:34:07

0

接口与您的会计软件,让它做大部分,如果不是全部,工作。在我们完成开票的两个项目中,成功的开发人员有几年的开发工作时间;另一个工作,但它是/是维修的噩梦。

如果你仍然选择在内部完成,单元测试(特别是回归测试)是关键。您必须确定任何修补程序不会破坏其他任何内容。通过这些测试,拥有非常大的测试基础是明智的。

1

除非你有一个非常小的公司或一个非常独特的/利基业务,否则考虑购买第三方结算/发票系统然后根据需要进行定制可能不那么痛苦。

从长远来看,商业产品的拥有成本可能会更低,他们已经考虑了所有的安全问题,并进行了大量的数值测试,这可以为错误节省大量金钱。额外的奖励将是行业标准接口,将您的账单/ inviocing系统与您的会计系统,客户关系管理等相关联。如果您编写自己的账户,则必须自己处理所有这些。

2

请勿以$ 0.00发送发票。我讨厌那个。 ;)