我刚应聘到一家新公司上班,项目经理就给我出了个开发难题,想了好些天都不知如何做,想请您帮忙解答,能附上代码更好,问题是这样的:
公司一直是用Dot Net平台开发三层架构的b/s应用程序,由于是小公司,没有专门的测试人员,所以每次部署时都是由开发人员直接将新的dll覆盖客户方的原先的dll,结果经常是程序运行就出错。
给公司在客户方造成很不好的影响。现在要我解决的问题是:
每次对于开发人员开发完的dll(或有需求变更改动的dll),再不允许其直接部署到客户方(或覆盖原先的dll),必需要通过我做的程序(或工具)验证后,部署该dll才能正常运行,否则即使覆盖原先的dll也不能正常运行(会报错),
这样做的目的是防止开发人员私自发布dll到客户方(也就是要保证每次由开发人员私自发布的dll是不能正常运行的,必需要通过我做的程序(或工具)验证后(或每次给该dll一个加密的序列号),该dll才能正常运行),另外由于公司没有严格的开发规划(或流程),所以dll的强命名的方法就行不通了,
因为就是有某些开发人员常是不告知就将新的dll覆盖了客户方的原先的dll。现在不知要如何开发这程序(或工具)(注:项目经理说公司是没有开发规划来参与实现这一过程,只能由我做的这个程序来控制),请您帮忙解答一下,谢谢!
这括号这个多啊,还少了半边,楼主表达能力有待提高.
建议楼主看看软件工程,工具嘛,开发什么啊,vss,vsts,看你了,关键还得从行政上来管理,光靠技术手段是不行的.
其实你这种部署方式是不对的
1、不应该有多人有权限更新客户正在使用中的程序,必须先把这个权限收回,由某一个人来进行这种更新
2、如果程序做了修改,不管任何一部分,必须先在本地测试过,没有测试人员没关系,至少得让程序跑得起来,不能出错,这个是开发人员就可以解决的问题,不需要测试人员
3、本地测试通过的程序,尽量完整部署到客户的生产环境,尤其是当修改了多个DLL时
4、与客户协商,或者规范一点你们得流程,不能为了修改一个错别字就去更新一次客户的生产环境,要有release的概念,将一些需求做完之后,定期发布,而不是谁想起来谁发布
5、就算上面的都不做,至少应该找客户系统运行最空闲的时候进行更新,更新完之后自己迅速试一下,有错误立即解决,这是最起码的要求。
慢慢来吧,要做得事情还有很多,先把权限收回吧,不能谁想更新谁更新,不然客户会疯掉的
规范性,小公司也不能把这些东西丢弃啊,不然只是自己找麻烦
我想像这种你们自己做成安装包程序,这样用户像安装其他的程序那样就给开发人员带来了 很大的方便,不过,安装包需要在本地测试通过,最后把每次修改的内容写成Readme,这样我相当比较好一些吧!
还是另个测试组吧
这个我不知道怎么从技术上解决 不过从可以考虑从管理上解决